From a368a2ccd8a8002e666d9ccc827e85c8fce1a3f1 Mon Sep 17 00:00:00 2001 From: yanglbme Date: Sat, 6 Apr 2024 18:54:03 +0800 Subject: [PATCH] feat: add new lc problems and solutions --- package-lock.json | 1251 +++++++++-------- .../README.md | 36 +- .../README_EN.md | 10 +- .../README.md | 2 +- .../README_EN.md | 2 +- .../README.md | 2 +- .../README_EN.md | 2 +- .../README.md | 2 +- .../README_EN.md | 2 +- .../2600-2699/2681.Power of Heroes/README.md | 2 +- .../2681.Power of Heroes/README_EN.md | 2 +- .../2826.Sorting Three Groups/README_EN.md | 72 +- .../README_EN.md | 143 +- .../README_EN.md | 44 +- .../3103.Find Trending Hashtags II/README.md | 16 +- .../README_EN.md | 16 +- .../README.md | 246 ++++ .../README_EN.md | 244 ++++ .../Solution.cpp | 35 + .../Solution.go | 34 + .../Solution.java | 35 + .../Solution.py | 18 + .../Solution.ts | 32 + solution/CONTEST_README.md | 3 - solution/CONTEST_README_EN.md | 3 - solution/DATABASE_README.md | 1 - solution/DATABASE_README_EN.md | 1 - solution/README.md | 14 +- solution/README_EN.md | 14 +- solution/database-summary.md | 1 - solution/database-summary_en.md | 1 - 31 files changed, 1521 insertions(+), 765 deletions(-) create mode 100644 solution/3100-3199/3104.Find Longest Self-Contained Substring/README.md create mode 100644 solution/3100-3199/3104.Find Longest Self-Contained Substring/README_EN.md create mode 100644 solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.cpp create mode 100644 solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.go create mode 100644 solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.java create mode 100644 solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.py create mode 100644 solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.ts diff --git a/package-lock.json b/package-lock.json index f16d574fd2686..d727ad8c8522f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,89 +17,37 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.23.5", + "version": "7.24.2", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/helper-validator-identifier": { "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@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/highlight": { - "version": "7.23.4", + "version": "7.24.2", + "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" @@ -107,8 +55,9 @@ }, "node_modules/@babel/highlight/node_modules/ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -118,8 +67,9 @@ }, "node_modules/@babel/highlight/node_modules/chalk": { "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -131,29 +81,33 @@ }, "node_modules/@babel/highlight/node_modules/color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/highlight/node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -163,8 +117,9 @@ }, "node_modules/@commitlint/cli": { "version": "17.8.1", + "resolved": "https://registry.npmmirror.com/@commitlint/cli/-/cli-17.8.1.tgz", + "integrity": "sha512-ay+WbzQesE0Rv4EQKfNbSMiJJ12KdKTDzIt0tcK4k11FdsWmtwP0Kp1NWMOUswfIWo6Eb7p7Ln721Nx9FLNBjg==", "dev": true, - "license": "MIT", "dependencies": { "@commitlint/format": "^17.8.1", "@commitlint/lint": "^17.8.1", @@ -186,8 +141,9 @@ }, "node_modules/@commitlint/config-conventional": { "version": "17.8.1", + "resolved": "https://registry.npmmirror.com/@commitlint/config-conventional/-/config-conventional-17.8.1.tgz", + "integrity": "sha512-NxCOHx1kgneig3VLauWJcDWS40DVjg7nKOpBEEK9E5fjJpQqLCilcnKkIIjdBH98kEO1q3NpE5NSrZ2kl/QGJg==", "dev": true, - "license": "MIT", "dependencies": { "conventional-changelog-conventionalcommits": "^6.1.0" }, @@ -197,8 +153,9 @@ }, "node_modules/@commitlint/config-validator": { "version": "17.8.1", + "resolved": "https://registry.npmmirror.com/@commitlint/config-validator/-/config-validator-17.8.1.tgz", + "integrity": "sha512-UUgUC+sNiiMwkyiuIFR7JG2cfd9t/7MV8VB4TZ+q02ZFkHoduUS4tJGsCBWvBOGD9Btev6IecPMvlWUfJorkEA==", "dev": true, - "license": "MIT", "dependencies": { "@commitlint/types": "^17.8.1", "ajv": "^8.11.0" @@ -209,8 +166,9 @@ }, "node_modules/@commitlint/ensure": { "version": "17.8.1", + "resolved": "https://registry.npmmirror.com/@commitlint/ensure/-/ensure-17.8.1.tgz", + "integrity": "sha512-xjafwKxid8s1K23NFpL8JNo6JnY/ysetKo8kegVM7c8vs+kWLP8VrQq+NbhgVlmCojhEDbzQKp4eRXSjVOGsow==", "dev": true, - "license": "MIT", "dependencies": { "@commitlint/types": "^17.8.1", "lodash.camelcase": "^4.3.0", @@ -225,16 +183,18 @@ }, "node_modules/@commitlint/execute-rule": { "version": "17.8.1", + "resolved": "https://registry.npmmirror.com/@commitlint/execute-rule/-/execute-rule-17.8.1.tgz", + "integrity": "sha512-JHVupQeSdNI6xzA9SqMF+p/JjrHTcrJdI02PwesQIDCIGUrv04hicJgCcws5nzaoZbROapPs0s6zeVHoxpMwFQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=v14" } }, "node_modules/@commitlint/format": { "version": "17.8.1", + "resolved": "https://registry.npmmirror.com/@commitlint/format/-/format-17.8.1.tgz", + "integrity": "sha512-f3oMTyZ84M9ht7fb93wbCKmWxO5/kKSbwuYvS867duVomoOsgrgljkGGIztmT/srZnaiGbaK8+Wf8Ik2tSr5eg==", "dev": true, - "license": "MIT", "dependencies": { "@commitlint/types": "^17.8.1", "chalk": "^4.1.0" @@ -245,8 +205,9 @@ }, "node_modules/@commitlint/is-ignored": { "version": "17.8.1", + "resolved": "https://registry.npmmirror.com/@commitlint/is-ignored/-/is-ignored-17.8.1.tgz", + "integrity": "sha512-UshMi4Ltb4ZlNn4F7WtSEugFDZmctzFpmbqvpyxD3la510J+PLcnyhf9chs7EryaRFJMdAKwsEKfNK0jL/QM4g==", "dev": true, - "license": "MIT", "dependencies": { "@commitlint/types": "^17.8.1", "semver": "7.5.4" @@ -257,8 +218,9 @@ }, "node_modules/@commitlint/lint": { "version": "17.8.1", + "resolved": "https://registry.npmmirror.com/@commitlint/lint/-/lint-17.8.1.tgz", + "integrity": "sha512-aQUlwIR1/VMv2D4GXSk7PfL5hIaFSfy6hSHV94O8Y27T5q+DlDEgd/cZ4KmVI+MWKzFfCTiTuWqjfRSfdRllCA==", "dev": true, - "license": "MIT", "dependencies": { "@commitlint/is-ignored": "^17.8.1", "@commitlint/parse": "^17.8.1", @@ -271,8 +233,9 @@ }, "node_modules/@commitlint/load": { "version": "17.8.1", + "resolved": "https://registry.npmmirror.com/@commitlint/load/-/load-17.8.1.tgz", + "integrity": "sha512-iF4CL7KDFstP1kpVUkT8K2Wl17h2yx9VaR1ztTc8vzByWWcbO/WaKwxsnCOqow9tVAlzPfo1ywk9m2oJ9ucMqA==", "dev": true, - "license": "MIT", "dependencies": { "@commitlint/config-validator": "^17.8.1", "@commitlint/execute-rule": "^17.8.1", @@ -295,16 +258,18 @@ }, "node_modules/@commitlint/message": { "version": "17.8.1", + "resolved": "https://registry.npmmirror.com/@commitlint/message/-/message-17.8.1.tgz", + "integrity": "sha512-6bYL1GUQsD6bLhTH3QQty8pVFoETfFQlMn2Nzmz3AOLqRVfNNtXBaSY0dhZ0dM6A2MEq4+2d7L/2LP8TjqGRkA==", "dev": true, - "license": "MIT", "engines": { "node": ">=v14" } }, "node_modules/@commitlint/parse": { "version": "17.8.1", + "resolved": "https://registry.npmmirror.com/@commitlint/parse/-/parse-17.8.1.tgz", + "integrity": "sha512-/wLUickTo0rNpQgWwLPavTm7WbwkZoBy3X8PpkUmlSmQJyWQTj0m6bDjiykMaDt41qcUbfeFfaCvXfiR4EGnfw==", "dev": true, - "license": "MIT", "dependencies": { "@commitlint/types": "^17.8.1", "conventional-changelog-angular": "^6.0.0", @@ -316,8 +281,9 @@ }, "node_modules/@commitlint/read": { "version": "17.8.1", + "resolved": "https://registry.npmmirror.com/@commitlint/read/-/read-17.8.1.tgz", + "integrity": "sha512-Fd55Oaz9irzBESPCdMd8vWWgxsW3OWR99wOntBDHgf9h7Y6OOHjWEdS9Xzen1GFndqgyoaFplQS5y7KZe0kO2w==", "dev": true, - "license": "MIT", "dependencies": { "@commitlint/top-level": "^17.8.1", "@commitlint/types": "^17.8.1", @@ -331,8 +297,9 @@ }, "node_modules/@commitlint/resolve-extends": { "version": "17.8.1", + "resolved": "https://registry.npmmirror.com/@commitlint/resolve-extends/-/resolve-extends-17.8.1.tgz", + "integrity": "sha512-W/ryRoQ0TSVXqJrx5SGkaYuAaE/BUontL1j1HsKckvM6e5ZaG0M9126zcwL6peKSuIetJi7E87PRQF8O86EW0Q==", "dev": true, - "license": "MIT", "dependencies": { "@commitlint/config-validator": "^17.8.1", "@commitlint/types": "^17.8.1", @@ -347,8 +314,9 @@ }, "node_modules/@commitlint/rules": { "version": "17.8.1", + "resolved": "https://registry.npmmirror.com/@commitlint/rules/-/rules-17.8.1.tgz", + "integrity": "sha512-2b7OdVbN7MTAt9U0vKOYKCDsOvESVXxQmrvuVUZ0rGFMCrCPJWWP1GJ7f0lAypbDAhaGb8zqtdOr47192LBrIA==", "dev": true, - "license": "MIT", "dependencies": { "@commitlint/ensure": "^17.8.1", "@commitlint/message": "^17.8.1", @@ -362,16 +330,18 @@ }, "node_modules/@commitlint/to-lines": { "version": "17.8.1", + "resolved": "https://registry.npmmirror.com/@commitlint/to-lines/-/to-lines-17.8.1.tgz", + "integrity": "sha512-LE0jb8CuR/mj6xJyrIk8VLz03OEzXFgLdivBytoooKO5xLt5yalc8Ma5guTWobw998sbR3ogDd+2jed03CFmJA==", "dev": true, - "license": "MIT", "engines": { "node": ">=v14" } }, "node_modules/@commitlint/top-level": { "version": "17.8.1", + "resolved": "https://registry.npmmirror.com/@commitlint/top-level/-/top-level-17.8.1.tgz", + "integrity": "sha512-l6+Z6rrNf5p333SHfEte6r+WkOxGlWK4bLuZKbtf/2TXRN+qhrvn1XE63VhD8Oe9oIHQ7F7W1nG2k/TJFhx2yA==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^5.0.0" }, @@ -381,8 +351,9 @@ }, "node_modules/@commitlint/types": { "version": "17.8.1", + "resolved": "https://registry.npmmirror.com/@commitlint/types/-/types-17.8.1.tgz", + "integrity": "sha512-PXDQXkAmiMEG162Bqdh9ChML/GJZo6vU+7F03ALKDK8zYc6SuAr47LjG7hGYRqUOz+WK0dU7bQ0xzuqFMdxzeQ==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.1.0" }, @@ -392,8 +363,9 @@ }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "0.3.9" }, @@ -402,22 +374,25 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.9", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -425,8 +400,9 @@ }, "node_modules/@prettier/plugin-php": { "version": "0.19.7", + "resolved": "https://registry.npmmirror.com/@prettier/plugin-php/-/plugin-php-0.19.7.tgz", + "integrity": "sha512-QOzBs05nwuR92uak7xBHf7RCZCFXml+6Sk3cjTp2ahQlilBtupqlNjitlTXsOfPIAYwlFgLP1oSfyapS6DN00w==", "dev": true, - "license": "MIT", "dependencies": { "linguist-languages": "^7.21.0", "mem": "^8.0.0", @@ -437,44 +413,52 @@ } }, "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "dev": true, - "license": "MIT" + "version": "1.0.11", + "resolved": "https://registry.npmmirror.com/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "dev": true }, "node_modules/@tsconfig/node12": { "version": "1.0.11", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true }, "node_modules/@tsconfig/node14": { "version": "1.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true }, "node_modules/@tsconfig/node16": { "version": "1.0.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true }, "node_modules/@types/minimist": { "version": "1.2.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "dev": true }, "node_modules/@types/node": { "version": "20.5.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.5.1.tgz", + "integrity": "sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==", + "dev": true }, "node_modules/@types/normalize-package-data": { "version": "2.4.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true }, "node_modules/acorn": { "version": "8.11.3", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -483,17 +467,19 @@ } }, "node_modules/acorn-walk": { - "version": "8.3.1", + "version": "8.3.2", + "resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/ajv": { "version": "8.12.0", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -505,20 +491,11 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-escapes": { "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-5.0.0.tgz", + "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^1.0.2" }, @@ -530,17 +507,22 @@ } }, "node_modules/ansi-regex": { - "version": "5.0.1", + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -553,41 +535,48 @@ }, "node_modules/arg": { "version": "4.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true }, "node_modules/argparse": { "version": "2.0.1", - "dev": true, - "license": "Python-2.0" + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true }, "node_modules/array-ify": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true }, "node_modules/arrify": { "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/async": { "version": "3.2.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true }, "node_modules/balanced-match": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, "node_modules/brace-expansion": { "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/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" @@ -595,8 +584,9 @@ }, "node_modules/braces": { "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "license": "MIT", "dependencies": { "fill-range": "^7.0.1" }, @@ -606,24 +596,27 @@ }, "node_modules/callsites": { "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/camelcase": { "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/camelcase-keys": { "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "dev": true, - "license": "MIT", "dependencies": { "camelcase": "^5.3.1", "map-obj": "^4.0.0", @@ -638,8 +631,9 @@ }, "node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/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" @@ -653,8 +647,9 @@ }, "node_modules/clang-format": { "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/clang-format/-/clang-format-1.8.0.tgz", + "integrity": "sha512-pK8gzfu55/lHzIpQ1givIbWfn3eXnU7SfxqIwVgnn5jEM6j4ZJYjpFqFs4iSBPNedzRMmfjYjuQhu657WAXHXw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "async": "^3.2.3", "glob": "^7.0.0", @@ -668,8 +663,9 @@ }, "node_modules/cli-cursor": { "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", "dev": true, - "license": "MIT", "dependencies": { "restore-cursor": "^4.0.0" }, @@ -682,8 +678,9 @@ }, "node_modules/cli-truncate": { "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/cli-truncate/-/cli-truncate-3.1.0.tgz", + "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", "dev": true, - "license": "MIT", "dependencies": { "slice-ansi": "^5.0.0", "string-width": "^5.0.0" @@ -697,8 +694,9 @@ }, "node_modules/cliui": { "version": "8.0.1", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -708,23 +706,35 @@ "node": ">=12" } }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/cliui/node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/cliui/node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/cliui/node_modules/string-width": { "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -734,10 +744,23 @@ "node": ">=8" } }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/cliui/node_modules/wrap-ansi": { "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -752,8 +775,9 @@ }, "node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/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" }, @@ -763,26 +787,30 @@ }, "node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/colorette": { "version": "2.0.20", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true }, "node_modules/commander": { "version": "11.0.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-11.0.0.tgz", + "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=16" } }, "node_modules/compare-func": { "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", "dev": true, - "license": "MIT", "dependencies": { "array-ify": "^1.0.0", "dot-prop": "^5.1.0" @@ -790,13 +818,15 @@ }, "node_modules/concat-map": { "version": "0.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true }, "node_modules/conventional-changelog-angular": { "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/conventional-changelog-angular/-/conventional-changelog-angular-6.0.0.tgz", + "integrity": "sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==", "dev": true, - "license": "ISC", "dependencies": { "compare-func": "^2.0.0" }, @@ -806,8 +836,9 @@ }, "node_modules/conventional-changelog-conventionalcommits": { "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-6.1.0.tgz", + "integrity": "sha512-3cS3GEtR78zTfMzk0AizXKKIdN4OvSh7ibNz6/DPbhWWQu7LqE/8+/GqSodV+sywUR2gpJAdP/1JFf4XtN7Zpw==", "dev": true, - "license": "ISC", "dependencies": { "compare-func": "^2.0.0" }, @@ -817,8 +848,9 @@ }, "node_modules/conventional-commits-parser": { "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz", + "integrity": "sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==", "dev": true, - "license": "MIT", "dependencies": { "is-text-path": "^1.0.1", "JSONStream": "^1.3.5", @@ -834,8 +866,9 @@ }, "node_modules/cosmiconfig": { "version": "8.3.6", + "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dev": true, - "license": "MIT", "dependencies": { "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", @@ -859,8 +892,9 @@ }, "node_modules/cosmiconfig-typescript-loader": { "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.4.0.tgz", + "integrity": "sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==", "dev": true, - "license": "MIT", "engines": { "node": ">=v14.21.3" }, @@ -873,13 +907,15 @@ }, "node_modules/create-require": { "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true }, "node_modules/cross-spawn": { "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/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", @@ -891,24 +927,44 @@ }, "node_modules/dargs": { "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/decamelize": { "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/decamelize-keys": { "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, - "license": "MIT", "dependencies": { "decamelize": "^1.1.0", "map-obj": "^1.0.0" @@ -922,24 +978,27 @@ }, "node_modules/decamelize-keys/node_modules/map-obj": { "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/diff": { "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, "node_modules/dot-prop": { "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dev": true, - "license": "MIT", "dependencies": { "is-obj": "^2.0.0" }, @@ -949,61 +1008,54 @@ }, "node_modules/eastasianwidth": { "version": "0.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true }, "node_modules/emoji-regex": { "version": "9.2.2", - "dev": true, - "license": "MIT" - }, - "node_modules/enquirer": { - "version": "2.4.1", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "ansi-colors": "^4.1.1", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8.6" - } + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true }, "node_modules/error-ex": { "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, - "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/escalade": { - "version": "3.1.1", + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/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/eventemitter3": { "version": "5.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true }, "node_modules/execa": { "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, - "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -1024,13 +1076,15 @@ }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "node_modules/fill-range": { "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/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" }, @@ -1040,8 +1094,9 @@ }, "node_modules/find-up": { "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/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" @@ -1055,8 +1110,9 @@ }, "node_modules/fs-extra": { "version": "11.2.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -1068,29 +1124,33 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true }, "node_modules/function-bind": { "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/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/get-caller-file": { "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-stream": { "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -1100,8 +1160,9 @@ }, "node_modules/git-raw-commits": { "version": "2.0.11", + "resolved": "https://registry.npmmirror.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", "dev": true, - "license": "MIT", "dependencies": { "dargs": "^7.0.0", "lodash": "^4.17.15", @@ -1118,8 +1179,9 @@ }, "node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1137,8 +1199,9 @@ }, "node_modules/global-dirs": { "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", "dev": true, - "license": "MIT", "dependencies": { "ini": "^1.3.4" }, @@ -1148,29 +1211,33 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true }, "node_modules/hard-rejection": { "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/hasown": { - "version": "2.0.0", + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -1180,8 +1247,9 @@ }, "node_modules/hosted-git-info": { "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -1189,34 +1257,20 @@ "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/human-signals": { "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, "node_modules/husky": { "version": "8.0.3", + "resolved": "https://registry.npmmirror.com/husky/-/husky-8.0.3.tgz", + "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", "dev": true, - "license": "MIT", "bin": { "husky": "lib/bin.js" }, @@ -1229,8 +1283,9 @@ }, "node_modules/import-fresh": { "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/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" @@ -1244,24 +1299,27 @@ }, "node_modules/import-fresh/node_modules/resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/indent-string": { "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/inflight": { "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, - "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -1269,23 +1327,27 @@ }, "node_modules/inherits": { "version": "2.0.4", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/ini": { "version": "1.3.8", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true }, "node_modules/is-arrayish": { "version": "0.2.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true }, "node_modules/is-core-module": { "version": "2.13.1", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, - "license": "MIT", "dependencies": { "hasown": "^2.0.0" }, @@ -1295,8 +1357,9 @@ }, "node_modules/is-fullwidth-code-point": { "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -1306,32 +1369,36 @@ }, "node_modules/is-number": { "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.12.0" } }, "node_modules/is-obj": { "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-plain-obj": { "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-stream": { "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -1341,8 +1408,9 @@ }, "node_modules/is-text-path": { "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", "dev": true, - "license": "MIT", "dependencies": { "text-extensions": "^1.0.0" }, @@ -1352,23 +1420,27 @@ }, "node_modules/isexe": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true }, "node_modules/jinx-rust": { "version": "0.1.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/jinx-rust/-/jinx-rust-0.1.6.tgz", + "integrity": "sha512-qP+wtQL1PrDDFwtPKhNGtjWOmijCrKdfUHWTV2G/ikxfjrh+cjdvkQTmny9RAsVF0jiui9m+F0INWu4cuRcZeQ==", + "dev": true }, "node_modules/js-tokens": { "version": "4.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "node_modules/js-yaml": { "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -1378,18 +1450,21 @@ }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true }, "node_modules/json-schema-traverse": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true }, "node_modules/jsonfile": { "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, - "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -1399,16 +1474,18 @@ }, "node_modules/jsonparse": { "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true, "engines": [ "node >= 0.2.0" - ], - "license": "MIT" + ] }, "node_modules/JSONStream": { "version": "1.3.5", + "resolved": "https://registry.npmmirror.com/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, - "license": "(MIT OR Apache-2.0)", "dependencies": { "jsonparse": "^1.2.0", "through": ">=2.2.7 <3" @@ -1422,34 +1499,39 @@ }, "node_modules/kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/lilconfig": { "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/lines-and-columns": { "version": "1.2.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true }, "node_modules/linguist-languages": { "version": "7.27.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/linguist-languages/-/linguist-languages-7.27.0.tgz", + "integrity": "sha512-Wzx/22c5Jsv2ag+uKy+ITanGA5hzvBZngrNGDXLTC7ZjGM6FLCYGgomauTkxNJeP9of353OM0pWqngYA180xgw==", + "dev": true }, "node_modules/lint-staged": { "version": "13.3.0", + "resolved": "https://registry.npmmirror.com/lint-staged/-/lint-staged-13.3.0.tgz", + "integrity": "sha512-mPRtrYnipYYv1FEE134ufbWpeggNTo+O/UPzngoaKzbzHAthvR55am+8GfHTnqNRQVRRrYQLGW9ZyUoD7DsBHQ==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "5.3.0", "commander": "11.0.0", @@ -1474,8 +1556,9 @@ }, "node_modules/lint-staged/node_modules/chalk": { "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, - "license": "MIT", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -1483,26 +1566,11 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/lint-staged/node_modules/debug": { - "version": "4.3.4", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/lint-staged/node_modules/execa": { "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", "dev": true, - "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.1", @@ -1523,16 +1591,18 @@ }, "node_modules/lint-staged/node_modules/human-signals": { "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=14.18.0" } }, "node_modules/lint-staged/node_modules/is-stream": { "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/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" }, @@ -1542,8 +1612,9 @@ }, "node_modules/lint-staged/node_modules/mimic-fn": { "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -1551,15 +1622,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lint-staged/node_modules/ms": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, "node_modules/lint-staged/node_modules/npm-run-path": { - "version": "5.2.0", + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/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" }, @@ -1572,8 +1639,9 @@ }, "node_modules/lint-staged/node_modules/onetime": { "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, - "license": "MIT", "dependencies": { "mimic-fn": "^4.0.0" }, @@ -1586,8 +1654,9 @@ }, "node_modules/lint-staged/node_modules/path-key": { "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -1597,8 +1666,9 @@ }, "node_modules/lint-staged/node_modules/strip-final-newline": { "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -1608,8 +1678,9 @@ }, "node_modules/listr2": { "version": "6.6.1", + "resolved": "https://registry.npmmirror.com/listr2/-/listr2-6.6.1.tgz", + "integrity": "sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==", "dev": true, - "license": "MIT", "dependencies": { "cli-truncate": "^3.1.0", "colorette": "^2.0.20", @@ -1632,8 +1703,9 @@ }, "node_modules/locate-path": { "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -1646,63 +1718,75 @@ }, "node_modules/lodash": { "version": "4.17.21", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, "node_modules/lodash.camelcase": { "version": "4.3.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true }, "node_modules/lodash.isfunction": { "version": "3.0.9", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", + "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", + "dev": true }, "node_modules/lodash.isplainobject": { "version": "4.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true }, "node_modules/lodash.kebabcase": { "version": "4.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true }, "node_modules/lodash.merge": { "version": "4.6.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true }, "node_modules/lodash.mergewith": { "version": "4.6.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "dev": true }, "node_modules/lodash.snakecase": { "version": "4.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "dev": true }, "node_modules/lodash.startcase": { "version": "4.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true }, "node_modules/lodash.uniq": { "version": "4.5.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true }, "node_modules/lodash.upperfirst": { "version": "4.3.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "dev": true }, "node_modules/log-update": { "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/log-update/-/log-update-5.0.1.tgz", + "integrity": "sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==", "dev": true, - "license": "MIT", "dependencies": { "ansi-escapes": "^5.0.0", "cli-cursor": "^4.0.0", @@ -1717,40 +1801,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/ansi-regex": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/log-update/node_modules/strip-ansi": { - "version": "7.1.0", + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "yallist": "^4.0.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=10" } }, "node_modules/make-error": { "version": "1.3.6", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmmirror.com/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true }, "node_modules/map-age-cleaner": { "version": "0.1.3", + "resolved": "https://registry.npmmirror.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", "dev": true, - "license": "MIT", "dependencies": { "p-defer": "^1.0.0" }, @@ -1760,8 +1833,9 @@ }, "node_modules/map-obj": { "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -1771,8 +1845,9 @@ }, "node_modules/mem": { "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/mem/-/mem-8.1.1.tgz", + "integrity": "sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==", "dev": true, - "license": "MIT", "dependencies": { "map-age-cleaner": "^0.1.3", "mimic-fn": "^3.1.0" @@ -1786,8 +1861,9 @@ }, "node_modules/meow": { "version": "8.1.2", + "resolved": "https://registry.npmmirror.com/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", "dev": true, - "license": "MIT", "dependencies": { "@types/minimist": "^1.2.0", "camelcase-keys": "^6.2.2", @@ -1810,8 +1886,9 @@ }, "node_modules/meow/node_modules/type-fest": { "version": "0.18.1", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -1821,13 +1898,15 @@ }, "node_modules/merge-stream": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, "node_modules/micromatch": { "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/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" @@ -1838,24 +1917,27 @@ }, "node_modules/mimic-fn": { "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-3.1.0.tgz", + "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/min-indent": { "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -1865,16 +1947,18 @@ }, "node_modules/minimist": { "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/minimist-options": { "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dev": true, - "license": "MIT", "dependencies": { "arrify": "^1.0.1", "is-plain-obj": "^1.1.0", @@ -1884,10 +1968,17 @@ "node": ">= 6" } }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, "node_modules/normalize-package-data": { "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^4.0.1", "is-core-module": "^2.5.0", @@ -1900,8 +1991,9 @@ }, "node_modules/npm-run-path": { "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -1911,16 +2003,18 @@ }, "node_modules/once": { "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, - "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, - "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -1933,24 +2027,27 @@ }, "node_modules/onetime/node_modules/mimic-fn": { "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/p-defer": { "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/p-limit": { "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -1963,8 +2060,9 @@ }, "node_modules/p-locate": { "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/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" }, @@ -1977,16 +2075,18 @@ }, "node_modules/p-try": { "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/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" }, @@ -1996,8 +2096,9 @@ }, "node_modules/parse-json": { "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -2013,50 +2114,63 @@ }, "node_modules/path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/php-parser": { "version": "3.1.5", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmmirror.com/php-parser/-/php-parser-3.1.5.tgz", + "integrity": "sha512-jEY2DcbgCm5aclzBdfW86GM6VEIWcSlhTBSHN1qhJguVePlYe28GhwS0yoeLYXpM2K8y6wzLwrbq814n2PHSoQ==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true }, "node_modules/picomatch": { "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.6" }, @@ -2066,8 +2180,9 @@ }, "node_modules/pidtree": { "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", "dev": true, - "license": "MIT", "bin": { "pidtree": "bin/pidtree.js" }, @@ -2077,8 +2192,9 @@ }, "node_modules/prettier": { "version": "2.8.8", + "resolved": "https://registry.npmmirror.com/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, - "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -2091,26 +2207,29 @@ }, "node_modules/prettier-plugin-rust": { "version": "0.1.9", + "resolved": "https://registry.npmmirror.com/prettier-plugin-rust/-/prettier-plugin-rust-0.1.9.tgz", + "integrity": "sha512-n1DTTJQaHMdnoG/+nKUvBm3EKsMVWsYES2UPCiOPiZdBrmuAO/pX++m7L3+Hz3uuhtddpH0HRKHB2F3jbtJBOQ==", "dev": true, - "license": "MIT", "dependencies": { "jinx-rust": "0.1.6", "prettier": "^2.7.1" } }, "node_modules/prettier-plugin-sql-cst": { - "version": "0.10.0", + "version": "0.10.2", + "resolved": "https://registry.npmmirror.com/prettier-plugin-sql-cst/-/prettier-plugin-sql-cst-0.10.2.tgz", + "integrity": "sha512-TGN8yOHxbBcMQEHU6CBaWNJIBYTvXeVAmOJfui3Ow36o5JT/t3ZVeoJDKx+cXRtNONg+dCvYES+UaJB8J3lJBg==", "dev": true, - "license": "GPL-3.0-or-later", "dependencies": { "prettier": "^3.0.3", - "sql-parser-cst": "^0.20.0" + "sql-parser-cst": "^0.22.1" } }, "node_modules/prettier-plugin-sql-cst/node_modules/prettier": { - "version": "3.1.1", + "version": "3.2.5", + "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true, - "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, @@ -2123,24 +2242,27 @@ }, "node_modules/punycode": { "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/quick-lru": { "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/read-pkg": { "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, - "license": "MIT", "dependencies": { "@types/normalize-package-data": "^2.4.0", "normalize-package-data": "^2.5.0", @@ -2153,8 +2275,9 @@ }, "node_modules/read-pkg-up": { "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^4.1.0", "read-pkg": "^5.2.0", @@ -2169,8 +2292,9 @@ }, "node_modules/read-pkg-up/node_modules/find-up": { "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -2181,8 +2305,9 @@ }, "node_modules/read-pkg-up/node_modules/locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -2192,8 +2317,9 @@ }, "node_modules/read-pkg-up/node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -2206,8 +2332,9 @@ }, "node_modules/read-pkg-up/node_modules/p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -2217,21 +2344,24 @@ }, "node_modules/read-pkg-up/node_modules/type-fest": { "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/read-pkg/node_modules/hosted-git-info": { "version": "2.8.9", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true }, "node_modules/read-pkg/node_modules/normalize-package-data": { "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -2241,24 +2371,27 @@ }, "node_modules/read-pkg/node_modules/semver": { "version": "5.7.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/read-pkg/node_modules/type-fest": { "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/readable-stream": { "version": "3.6.2", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -2270,8 +2403,9 @@ }, "node_modules/redent": { "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, - "license": "MIT", "dependencies": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" @@ -2282,24 +2416,27 @@ }, "node_modules/require-directory": { "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/require-from-string": { "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/resolve": { "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/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", @@ -2314,16 +2451,18 @@ }, "node_modules/resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/resolve-global": { "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", "dev": true, - "license": "MIT", "dependencies": { "global-dirs": "^0.1.1" }, @@ -2333,8 +2472,9 @@ }, "node_modules/restore-cursor": { "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", "dev": true, - "license": "MIT", "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -2347,12 +2487,15 @@ } }, "node_modules/rfdc": { - "version": "1.3.0", - "dev": true, - "license": "MIT" + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", + "dev": true }, "node_modules/safe-buffer": { "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { @@ -2367,13 +2510,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/semver": { "version": "7.5.4", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -2384,26 +2527,11 @@ "node": ">=10" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -2413,21 +2541,24 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/signal-exit": { "version": "3.0.7", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, "node_modules/slice-ansi": { "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^6.0.0", "is-fullwidth-code-point": "^4.0.0" @@ -2441,8 +2572,9 @@ }, "node_modules/slice-ansi/node_modules/ansi-styles": { "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -2452,65 +2584,74 @@ }, "node_modules/spdx-correct": { "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "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" + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true }, "node_modules/spdx-expression-parse": { "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, - "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-license-ids": { - "version": "3.0.16", - "dev": true, - "license": "CC0-1.0" + "version": "3.0.17", + "resolved": "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", + "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", + "dev": true }, "node_modules/split2": { "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", "dev": true, - "license": "ISC", "dependencies": { "readable-stream": "^3.0.0" } }, "node_modules/sql-parser-cst": { - "version": "0.20.0", - "dev": true, - "license": "GPL-2.0-or-later" + "version": "0.22.1", + "resolved": "https://registry.npmmirror.com/sql-parser-cst/-/sql-parser-cst-0.22.1.tgz", + "integrity": "sha512-k3wN1tC9haPqpe699ld0xvEFHSWh5oE3MuHnzcdKj426Hc6dHS3YiZrAF9MbwyKbIbz7xw+2J8WL9MS8qhP3Tg==", + "dev": true }, "node_modules/string_decoder": { "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } }, "node_modules/string-argv": { "version": "0.3.2", + "resolved": "https://registry.npmmirror.com/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": "5.1.2", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, - "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -2523,21 +2664,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { + "node_modules/strip-ansi": { "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -2548,29 +2679,20 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-final-newline": { "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/strip-indent": { "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, - "license": "MIT", "dependencies": { "min-indent": "^1.0.0" }, @@ -2580,8 +2702,9 @@ }, "node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -2591,8 +2714,9 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -2602,29 +2726,33 @@ }, "node_modules/text-extensions": { "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10" } }, "node_modules/through": { "version": "2.3.8", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true }, "node_modules/through2": { "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, - "license": "MIT", "dependencies": { "readable-stream": "3" } }, "node_modules/to-regex-range": { "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -2634,16 +2762,18 @@ }, "node_modules/trim-newlines": { "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ts-node": { "version": "10.9.2", + "resolved": "https://registry.npmmirror.com/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, - "license": "MIT", "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -2684,8 +2814,9 @@ }, "node_modules/type-fest": { "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -2694,9 +2825,10 @@ } }, "node_modules/typescript": { - "version": "5.3.3", + "version": "5.4.4", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.4.4.tgz", + "integrity": "sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==", "dev": true, - "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -2707,34 +2839,39 @@ }, "node_modules/universalify": { "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10.0.0" } }, "node_modules/uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/util-deprecate": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true }, "node_modules/validate-npm-package-license": { "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -2742,8 +2879,9 @@ }, "node_modules/which": { "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -2756,8 +2894,9 @@ }, "node_modules/wrap-ansi": { "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -2770,21 +2909,11 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -2792,45 +2921,41 @@ "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", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true }, "node_modules/y18n": { "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "license": "ISC", "engines": { "node": ">=10" } }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/yaml": { "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", "dev": true, - "license": "ISC", "engines": { "node": ">= 14" } }, "node_modules/yargs": { "version": "17.7.2", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -2846,29 +2971,42 @@ }, "node_modules/yargs-parser": { "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, - "license": "ISC", "engines": { "node": ">=10" } }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/yargs/node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/yargs/node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/yargs/node_modules/string-width": { "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -2878,26 +3016,41 @@ "node": ">=8" } }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/yargs/node_modules/yargs-parser": { "version": "21.1.1", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/yn": { "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/yocto-queue": { "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, diff --git a/solution/1300-1399/1364.Number of Trusted Contacts of a Customer/README.md b/solution/1300-1399/1364.Number of Trusted Contacts of a Customer/README.md index 7894b8eacae47..a42f38dafbbd7 100644 --- a/solution/1300-1399/1364.Number of Trusted Contacts of a Customer/README.md +++ b/solution/1300-1399/1364.Number of Trusted Contacts of a Customer/README.md @@ -10,15 +10,14 @@

顾客表:Customers

-
-+---------------+---------+
+
+---------------+---------+
 | Column Name   | Type    |
 +---------------+---------+
 | customer_id   | int     |
 | customer_name | varchar |
 | email         | varchar |
 +---------------+---------+
-customer_id 是这张表具有唯一值的列。
+customer_id 是这张表的主键。
 此表的每一行包含了某在线商店顾客的姓名和电子邮件。
 
@@ -26,15 +25,14 @@ customer_id 是这张表具有唯一值的列。

联系方式表:Contacts

-
-+---------------+---------+
+
+---------------+---------+
 | Column Name   | Type    |
 +---------------+---------+
 | user_id       | id      |
 | contact_name  | varchar |
 | contact_email | varchar |
 +---------------+---------+
-(user_id, contact_email) 是这张表的主键(具有唯一值的列的组合)。
+(user_id, contact_email) 是这张表的主键。
 此表的每一行表示编号为 user_id 的顾客的某位联系人的姓名和电子邮件。
 此表包含每位顾客的联系人信息,但顾客的联系人不一定存在于顾客表中。
 
@@ -43,40 +41,33 @@ customer_id 是这张表具有唯一值的列。

发票表:Invoices

-
-+--------------+---------+
+
+--------------+---------+
 | Column Name  | Type    |
 +--------------+---------+
 | invoice_id   | int     |
 | price        | int     |
 | user_id      | int     |
 +--------------+---------+
-invoice_id 是这张表具有唯一值的列。
+invoice_id 是这张表的主键。
 此表的每一行分别表示编号为 user_id 的顾客拥有有一张编号为 invoice_id、价格为 price 的发票。
 

 

-

为每张发票 invoice_id 编写一个查询方案以查找以下内容:

+

为每张发票 invoice_id 编写一个SQL查询以查找以下内容:

  • customer_name:与发票相关的顾客名称。
  • price:发票的价格。
  • -
  • contacts_cnt:该顾客的联系人数量
  • -
  • trusted_contacts_cnt:可信联系人的数量:既是该顾客的联系人又是商店顾客的联系人数量(即:可信联系人的电子邮件存在于  Customers 表中)。
  • +
  • contacts_cnt:该顾客的联系人数量。
  • +
  • trusted_contacts_cnt:可信联系人的数量:既是该顾客的联系人又是商店顾客的联系人数量(即:可信联系人的电子邮件存在于客户表中)。
-

返回结果按照 invoice_id 排序

- -

结果的格式如下例所示。

- -

 

+

将查询的结果按照 invoice_id 排序。

-

示例 1:

+

查询结果的格式如下例所示:

-
-输入:
-Customers table:
+
Customers table:
 +-------------+---------------+--------------------+
 | customer_id | customer_name | email              |
 +-------------+---------------+--------------------+
@@ -107,7 +98,7 @@ Invoices table:
 | 55         | 500   | 13      |
 | 44         | 60    | 6       |
 +------------+-------+---------+
-输出:
+Result table:
 +------------+---------------+-------+--------------+----------------------+
 | invoice_id | customer_name | price | contacts_cnt | trusted_contacts_cnt |
 +------------+---------------+-------+--------------+----------------------+
@@ -118,7 +109,6 @@ Invoices table:
 | 88         | Alice         | 200   | 3            | 2                    |
 | 99         | Bob           | 300   | 2            | 0                    |
 +------------+---------------+-------+--------------+----------------------+
-解释:
 Alice 有三位联系人,其中两位(Bob 和 John)是可信联系人。
 Bob 有两位联系人, 他们中的任何一位都不是可信联系人。
 Alex 只有一位联系人(Alice),并是一位可信联系人。
diff --git a/solution/1300-1399/1364.Number of Trusted Contacts of a Customer/README_EN.md b/solution/1300-1399/1364.Number of Trusted Contacts of a Customer/README_EN.md
index 0d1b06193219c..c4387495a289a 100644
--- a/solution/1300-1399/1364.Number of Trusted Contacts of a Customer/README_EN.md	
+++ b/solution/1300-1399/1364.Number of Trusted Contacts of a Customer/README_EN.md	
@@ -16,7 +16,7 @@
 | customer_name | varchar |
 | email         | varchar |
 +---------------+---------+
-customer_id is the column of unique values for this table.
+customer_id is the primary key for this table.
 Each row of this table contains the name and the email of a customer of an online shop.
 
@@ -32,7 +32,7 @@ Each row of this table contains the name and the email of a customer of an onlin | contact_name | varchar | | contact_email | varchar | +---------------+---------+ -(user_id, contact_email) is the primary key (combination of columns with unique values) for this table. +(user_id, contact_email) is the primary key for this table. Each row of this table contains the name and email of one contact of customer with user_id. This table contains information about people each customer trust. The contact may or may not exist in the Customers table.
@@ -49,13 +49,13 @@ This table contains information about people each customer trust. The contact ma | price | int | | user_id | int | +--------------+---------+ -invoice_id is the column of unique values for this table. +invoice_id is the primary key for this table. Each row of this table indicates that user_id has an invoice with invoice_id and a price.

 

-

Write a solution to find the following for each invoice_id:

+

Write an SQL query to find the following for each invoice_id:

  • customer_name: The name of the customer the invoice is related to.
  • @@ -66,7 +66,7 @@ Each row of this table indicates that user_id has an invoice with invoice_id and

    Return the result table ordered by invoice_id.

    -

    The result format is in the following example.

    +

    The query result format is in the following example.

     

    Example 1:

    diff --git a/solution/1600-1699/1668.Maximum Repeating Substring/README.md b/solution/1600-1699/1668.Maximum Repeating Substring/README.md index 883e545b1f99b..95dc196516b77 100644 --- a/solution/1600-1699/1668.Maximum Repeating Substring/README.md +++ b/solution/1600-1699/1668.Maximum Repeating Substring/README.md @@ -2,7 +2,7 @@ [English Version](/solution/1600-1699/1668.Maximum%20Repeating%20Substring/README_EN.md) - + ## 题目描述 diff --git a/solution/1600-1699/1668.Maximum Repeating Substring/README_EN.md b/solution/1600-1699/1668.Maximum Repeating Substring/README_EN.md index 2f7f7c85e0d13..d42d6b8a0e76c 100644 --- a/solution/1600-1699/1668.Maximum Repeating Substring/README_EN.md +++ b/solution/1600-1699/1668.Maximum Repeating Substring/README_EN.md @@ -2,7 +2,7 @@ [中文文档](/solution/1600-1699/1668.Maximum%20Repeating%20Substring/README.md) - + ## Description diff --git a/solution/1700-1799/1738.Find Kth Largest XOR Coordinate Value/README.md b/solution/1700-1799/1738.Find Kth Largest XOR Coordinate Value/README.md index c9079b1cf9626..707d9ba130c66 100644 --- a/solution/1700-1799/1738.Find Kth Largest XOR Coordinate Value/README.md +++ b/solution/1700-1799/1738.Find Kth Largest XOR Coordinate Value/README.md @@ -2,7 +2,7 @@ [English Version](/solution/1700-1799/1738.Find%20Kth%20Largest%20XOR%20Coordinate%20Value/README_EN.md) - + ## 题目描述 diff --git a/solution/1700-1799/1738.Find Kth Largest XOR Coordinate Value/README_EN.md b/solution/1700-1799/1738.Find Kth Largest XOR Coordinate Value/README_EN.md index 4fab19ad0d5e7..d121f65637d2b 100644 --- a/solution/1700-1799/1738.Find Kth Largest XOR Coordinate Value/README_EN.md +++ b/solution/1700-1799/1738.Find Kth Largest XOR Coordinate Value/README_EN.md @@ -2,7 +2,7 @@ [中文文档](/solution/1700-1799/1738.Find%20Kth%20Largest%20XOR%20Coordinate%20Value/README.md) - + ## Description diff --git a/solution/2000-2099/2009.Minimum Number of Operations to Make Array Continuous/README.md b/solution/2000-2099/2009.Minimum Number of Operations to Make Array Continuous/README.md index ecce709e1a5df..c7db7453e298a 100644 --- a/solution/2000-2099/2009.Minimum Number of Operations to Make Array Continuous/README.md +++ b/solution/2000-2099/2009.Minimum Number of Operations to Make Array Continuous/README.md @@ -2,7 +2,7 @@ [English Version](/solution/2000-2099/2009.Minimum%20Number%20of%20Operations%20to%20Make%20Array%20Continuous/README_EN.md) - + ## 题目描述 diff --git a/solution/2000-2099/2009.Minimum Number of Operations to Make Array Continuous/README_EN.md b/solution/2000-2099/2009.Minimum Number of Operations to Make Array Continuous/README_EN.md index a733d767f60a4..bf98d6c54a596 100644 --- a/solution/2000-2099/2009.Minimum Number of Operations to Make Array Continuous/README_EN.md +++ b/solution/2000-2099/2009.Minimum Number of Operations to Make Array Continuous/README_EN.md @@ -2,7 +2,7 @@ [中文文档](/solution/2000-2099/2009.Minimum%20Number%20of%20Operations%20to%20Make%20Array%20Continuous/README.md) - + ## Description diff --git a/solution/2600-2699/2681.Power of Heroes/README.md b/solution/2600-2699/2681.Power of Heroes/README.md index 722f7978ceaf8..7035bb0f96888 100644 --- a/solution/2600-2699/2681.Power of Heroes/README.md +++ b/solution/2600-2699/2681.Power of Heroes/README.md @@ -2,7 +2,7 @@ [English Version](/solution/2600-2699/2681.Power%20of%20Heroes/README_EN.md) - + ## 题目描述 diff --git a/solution/2600-2699/2681.Power of Heroes/README_EN.md b/solution/2600-2699/2681.Power of Heroes/README_EN.md index 973daad45df13..0464e852d6e83 100644 --- a/solution/2600-2699/2681.Power of Heroes/README_EN.md +++ b/solution/2600-2699/2681.Power of Heroes/README_EN.md @@ -2,7 +2,7 @@ [中文文档](/solution/2600-2699/2681.Power%20of%20Heroes/README.md) - + ## Description diff --git a/solution/2800-2899/2826.Sorting Three Groups/README_EN.md b/solution/2800-2899/2826.Sorting Three Groups/README_EN.md index 3f119a144cf7a..30d8f018c6af9 100644 --- a/solution/2800-2899/2826.Sorting Three Groups/README_EN.md +++ b/solution/2800-2899/2826.Sorting Three Groups/README_EN.md @@ -6,61 +6,44 @@ ## Description -

    You are given a 0-indexed integer array nums of length n.
    -
    -The numbers from 0 to n - 1 are divided into three groups numbered from 1 to 3, where number i belongs to group nums[i]. Notice that some groups may be empty.
    -
    -You are allowed to perform this operation any number of times:

    +

    You are given an integer array nums. Each element in nums is 1, 2 or 3. In each operation, you can remove an element from nums. Return the minimum number of operations to make nums non-decreasing.

    -
      -
    • Pick number x and change its group. More formally, change nums[x] to any number from 1 to 3.
    • -
    +

     

    +

    Example 1:

    -

    A new array res is constructed using the following procedure:

    +
    +

    Input: nums = [2,1,3,2,1]

    -
      -
    1. Sort the numbers in each group independently.
    2. -
    3. Append the elements of groups 1, 2, and 3 to res in this order.
    4. -
    +

    Output: 3

    -

    Array nums is called a beautiful array if the constructed array res is sorted in non-decreasing order.

    +

    Explanation:

    -

    Return the minimum number of operations to make nums a beautiful array.

    +

    One of the optimal solutions is to remove nums[0], nums[2] and nums[3].

    +
    -

     

    -

    Example 1:

    +

    Example 2:

    -
    -Input: nums = [2,1,3,2,1]
    -Output: 3
    -Explanation: It's optimal to perform three operations:
    -1. change nums[0] to 1.
    -2. change nums[2] to 1.
    -3. change nums[3] to 1.
    -After performing the operations and sorting the numbers in each group, group 1 becomes equal to [0,1,2,3,4] and group 2 and group 3 become empty. Hence, res is equal to [0,1,2,3,4] which is sorted in non-decreasing order.
    -It can be proven that there is no valid sequence of less than three operations.
    -
    +
    +

    Input: nums = [1,3,2,1,3,3]

    -

    Example 2:

    +

    Output: 2

    + +

    Explanation:

    -
    -Input: nums = [1,3,2,1,3,3]
    -Output: 2
    -Explanation: It's optimal to perform two operations:
    -1. change nums[1] to 1.
    -2. change nums[2] to 1.
    -After performing the operations and sorting the numbers in each group, group 1 becomes equal to [0,1,2,3], group 2 becomes empty, and group 3 becomes equal to [4,5]. Hence, res is equal to [0,1,2,3,4,5] which is sorted in non-decreasing order.
    -It can be proven that there is no valid sequence of less than two operations.
    -
    +

    One of the optimal solutions is to remove nums[1] and nums[2].

    +

    Example 3:

    -
    -Input: nums = [2,2,2,2,3,3]
    -Output: 0
    -Explanation: It's optimal to not perform operations.
    -After sorting the numbers in each group, group 1 becomes empty, group 2 becomes equal to [0,1,2,3] and group 3 becomes equal to [4,5]. Hence, res is equal to [0,1,2,3,4,5] which is sorted in non-decreasing order.
    -
    +
    +

    Input: nums = [2,2,2,2,3,3]

    + +

    Output: 0

    + +

    Explanation:

    + +

    nums is already non-decreasing.

    +

     

    Constraints:

    @@ -70,6 +53,9 @@ After sorting the numbers in each group, group 1 becomes empty, group 2 becomes
  • 1 <= nums[i] <= 3
+

 

+Follow-up: Can you come up with an algorithm that runs in O(n) time complexity? + ## Solutions ### Solution 1: Dynamic Programming diff --git a/solution/2800-2899/2836.Maximize Value of Function in a Ball Passing Game/README_EN.md b/solution/2800-2899/2836.Maximize Value of Function in a Ball Passing Game/README_EN.md index 914bd0ccb6fd9..8f8398a75a9ca 100644 --- a/solution/2800-2899/2836.Maximize Value of Function in a Ball Passing Game/README_EN.md +++ b/solution/2800-2899/2836.Maximize Value of Function in a Ball Passing Game/README_EN.md @@ -6,118 +6,107 @@ ## Description -

You are given a 0-indexed integer array receiver of length n and an integer k.

+

You are given an integer array receiver of length n and an integer k. n players are playing a ball-passing game.

-

There are n players having a unique id in the range [0, n - 1] who will play a ball passing game, and receiver[i] is the id of the player who receives passes from the player with id i. Players can pass to themselves, i.e. receiver[i] may be equal to i.

+

You choose the starting player, i. The game proceeds as follows: player i passes the ball to player receiver[i], who then passes it to receiver[receiver[i]], and so on, for k passes in total. The game's score is the sum of the indices of the players who touched the ball, including repetitions, i.e. i + receiver[i] + receiver[receiver[i]] + ... + receiver(k)[i].

-

You must choose one of the n players as the starting player for the game, and the ball will be passed exactly k times starting from the chosen player.

+

Return the maximum possible score.

-

For a chosen starting player having id x, we define a function f(x) that denotes the sum of x and the ids of all players who receive the ball during the k passes, including repetitions. In other words, f(x) = x + receiver[x] + receiver[receiver[x]] + ... + receiver(k)[x].

+

Notes:

-

Your task is to choose a starting player having id x that maximizes the value of f(x).

- -

Return an integer denoting the maximum value of the function.

- -

Note: receiver may contain duplicates.

+
    +
  • receiver may contain duplicates.
  • +
  • receiver[i] may be equal to i.
  • +

 

Example 1:

- +
+

Input: receiver = [2,0,1], k = 4

+ +

Output: 6

+ +

Explanation:

+ +

Starting with player i = 2 the initial score is 2:

+ +
- - - - - - - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
Pass NumberSender IDReceiver IDx + Receiver IDs
   2PassSender IndexReceiver IndexScore
12131213
21032103
30253025
42164216
- -
-Input: receiver = [2,0,1], k = 4
-Output: 6
-Explanation: The table above shows a simulation of the game starting with the player having id x = 2. 
-From the table, f(2) is equal to 6. 
-It can be shown that 6 is the maximum achievable value of the function. 
-Hence, the output is 6. 
-
+

Example 2:

- +
+

Input: receiver = [1,1,1,2,3], k = 3

+ +

Output: 10

+ +

Explanation:

+ +

Starting with player i = 4 the initial score is 4:

+ +
- - - - - - - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
Pass NumberSender IDReceiver IDx + Receiver IDs
   4PassSender IndexReceiver IndexScore
14371437
23292329
3211032110
- -
-Input: receiver = [1,1,1,2,3], k = 3
-Output: 10
-Explanation: The table above shows a simulation of the game starting with the player having id x = 4. 
-From the table, f(4) is equal to 10. 
-It can be shown that 10 is the maximum achievable value of the function. 
-Hence, the output is 10. 
-
+

 

Constraints:

diff --git a/solution/3100-3199/3102.Minimize Manhattan Distances/README_EN.md b/solution/3100-3199/3102.Minimize Manhattan Distances/README_EN.md index fc66e11e05f79..c5648e2caff01 100644 --- a/solution/3100-3199/3102.Minimize Manhattan Distances/README_EN.md +++ b/solution/3100-3199/3102.Minimize Manhattan Distances/README_EN.md @@ -6,7 +6,7 @@ ## Description -

You are given a 0-indexed array points representing integer coordinates of some points on a 2D plane, where points[i] = [xi, yi].

+

You are given a array points representing integer coordinates of some points on a 2D plane, where points[i] = [xi, yi].

The distance between two points is defined as their Manhattan distance.

@@ -15,24 +15,36 @@

 

Example 1:

-
-Input: points = [[3,10],[5,15],[10,2],[4,4]]
-Output: 12
-Explanation: The maximum distance after removing each point is the following:
-- After removing the 0th point the maximum distance is between points (5, 15) and (10, 2), which is |5 - 10| + |15 - 2| = 18.
-- After removing the 1st point the maximum distance is between points (3, 10) and (10, 2), which is |3 - 10| + |10 - 2| = 15.
-- After removing the 2nd point the maximum distance is between points (5, 15) and (4, 4), which is |5 - 4| + |15 - 4| = 12.
-- After removing the 3rd point the maximum distance is between points (5, 15) and (10, 2), which is |5 - 10| + |15 - 2| = 18.
-It can be seen that 12 is the minimum possible maximum distance between any two points after removing exactly one point.
-
+
+

Input: points = [[3,10],[5,15],[10,2],[4,4]]

+ +

Output: 12

+ +

Explanation:

+ +

The maximum distance after removing each point is the following:

+ +
    +
  • After removing the 0th point the maximum distance is between points (5, 15) and (10, 2), which is |5 - 10| + |15 - 2| = 18.
  • +
  • After removing the 1st point the maximum distance is between points (3, 10) and (10, 2), which is |3 - 10| + |10 - 2| = 15.
  • +
  • After removing the 2nd point the maximum distance is between points (5, 15) and (4, 4), which is |5 - 4| + |15 - 4| = 12.
  • +
  • After removing the 3rd point the maximum distance is between points (5, 15) and (10, 2), which is |5 - 10| + |15 - 2| = 18.
  • +
+ +

12 is the minimum possible maximum distance between any two points after removing exactly one point.

+

Example 2:

-
-Input: points = [[1,1],[1,1],[1,1]]
-Output: 0
-Explanation: It can be seen that removing any of the points results in the maximum distance between any two points of 0.
-
+
+

Input: points = [[1,1],[1,1],[1,1]]

+ +

Output: 0

+ +

Explanation:

+ +

Removing any of the points results in the maximum distance between any two points of 0.

+

 

Constraints:

diff --git a/solution/3100-3199/3103.Find Trending Hashtags II/README.md b/solution/3100-3199/3103.Find Trending Hashtags II/README.md index 9e5c4c2771210..ebdd2e6658e6d 100644 --- a/solution/3100-3199/3103.Find Trending Hashtags II/README.md +++ b/solution/3100-3199/3103.Find Trending Hashtags II/README.md @@ -54,13 +54,13 @@ Each row of this table contains user_id, tweet_id, tweet_date and tweet.

Output:

-+-----------+---------------+
-| hashtag   | hashtag_count |
-+-----------+---------------+
-| #HappyDay | 3             |
-| #TechLife | 2             |
-| #WorkLife | 1             |
-+-----------+---------------+
++-----------+-------+
+| hashtag   | count |
++-----------+-------+
+| #HappyDay | 3     |
+| #TechLife | 2     |
+| #WorkLife | 1     |
++-----------+-------+
 
 
@@ -72,7 +72,7 @@ Each row of this table contains user_id, tweet_id, tweet_date and tweet.
  • #WorkLife: Appeared in tweet ID 15, with a total count of 1 mention.
  • -

    Note: Output table is sorted in descending order by hashtag_count and hashtag respectively.

    +

    Note: Output table is sorted in descending order by count and hashtag respectively.

    ## 解法 diff --git a/solution/3100-3199/3103.Find Trending Hashtags II/README_EN.md b/solution/3100-3199/3103.Find Trending Hashtags II/README_EN.md index ea19b57ca580f..851a88a457a0a 100644 --- a/solution/3100-3199/3103.Find Trending Hashtags II/README_EN.md +++ b/solution/3100-3199/3103.Find Trending Hashtags II/README_EN.md @@ -52,13 +52,13 @@ Each row of this table contains user_id, tweet_id, tweet_date and tweet.

    Output:

    -+-----------+---------------+
    -| hashtag   | hashtag_count |
    -+-----------+---------------+
    -| #HappyDay | 3             |
    -| #TechLife | 2             |
    -| #WorkLife | 1             |
    -+-----------+---------------+
    ++-----------+-------+
    +| hashtag   | count |
    ++-----------+-------+
    +| #HappyDay | 3     |
    +| #TechLife | 2     |
    +| #WorkLife | 1     |
    ++-----------+-------+
     
     
    @@ -70,7 +70,7 @@ Each row of this table contains user_id, tweet_id, tweet_date and tweet.
  • #WorkLife: Appeared in tweet ID 15, with a total count of 1 mention.
  • -

    Note: Output table is sorted in descending order by hashtag_count and hashtag respectively.

    +

    Note: Output table is sorted in descending order by count and hashtag respectively.

    ## Solutions diff --git a/solution/3100-3199/3104.Find Longest Self-Contained Substring/README.md b/solution/3100-3199/3104.Find Longest Self-Contained Substring/README.md new file mode 100644 index 0000000000000..7ae161769eb82 --- /dev/null +++ b/solution/3100-3199/3104.Find Longest Self-Contained Substring/README.md @@ -0,0 +1,246 @@ +# [3104. Find Longest Self-Contained Substring](https://leetcode.cn/problems/find-longest-self-contained-substring) + +[English Version](/solution/3100-3199/3104.Find%20Longest%20Self-Contained%20Substring/README_EN.md) + + + +## 题目描述 + + + +

    Given a string s, your task is to find the length of the longest self-contained substring of s.

    + +

    A substring t of a string s is considered self-contained if t != s and for every character in t, it doesn't exist in the rest of s.

    + +

    Return the length of the longest self-contained substring of s if it exists, otherwise, return -1.

    + +

     

    +

    Example 1:

    + +
    +

    Input: s = "abba"

    + +

    Output: 2

    + +

    Explanation:
    +Let's check the substring "bb". You can see that no other "b" is outside of this substring. Hence the answer is 2.

    +
    + +

    Example 2:

    + +
    +

    Input: s = "abab"

    + +

    Output: -1

    + +

    Explanation:
    +Every substring we choose does not satisfy the described property (there is some character which is inside and outside of that substring). So the answer would be -1.

    +
    + +

    Example 3:

    + +
    +

    Input: s = "abacd"

    + +

    Output: 4

    + +

    Explanation:
    +Let's check the substring "abac". There is only one character outside of this substring and that is "d". There is no "d" inside the chosen substring, so it satisfies the condition and the answer is 4.

    +
    + +

     

    +

    Constraints:

    + +
      +
    • 2 <= s.length <= 5 * 104
    • +
    • s consists only of lowercase English letters.
    • +
    + +## 解法 + +### 方法一:枚举 + +我们注意到,满足条件的子串的开头一定是某个字符第一次出现的位置。 + +因此,我们可以用两个数组或哈希表 `first` 和 `last` 分别记录每个字符第一次和最后一次出现的位置。 + +接下来,我们枚举每个字符 `c`,假设 `c` 第一次出现的位置是 $i$,最后一次出现的位置是 $mx$,那么我们可以从 $i$ 开始向后遍历,对于每个位置 $j$,我们找到 $s[j]$ 第一次出现的位置 $a$ 和最后一次出现的位置 $b$,如果 $a < i$,说明 $s[j]$ 在 $c$ 的左边,不符合枚举条件,我们可以直接退出循环。否则,我们更新 $mx = \max(mx, b)$。如果 $mx = j$ 且 $j - i + 1 < n$,我们更新答案为 $ans = \max(ans, j - i + 1)$。 + +最后返回答案即可。 + +时间复杂度 $O(n \times |\Sigma|)$,空间复杂度 $O(|\Sigma|)$。其中 $n$ 是字符串 $s$ 的长度;而 $|\Sigma|$ 是字符集的大小,本题中字符集为小写字母,所以 $|\Sigma| = 26$。 + + + +```python +class Solution: + def maxSubstringLength(self, s: str) -> int: + first, last = {}, {} + for i, c in enumerate(s): + if c not in first: + first[c] = i + last[c] = i + ans, n = -1, len(s) + for c, i in first.items(): + mx = last[c] + for j in range(i, n): + a, b = first[s[j]], last[s[j]] + if a < i: + break + mx = max(mx, b) + if mx == j and j - i + 1 < n: + ans = max(ans, j - i + 1) + return ans +``` + +```java +class Solution { + public int maxSubstringLength(String s) { + int[] first = new int[26]; + int[] last = new int[26]; + Arrays.fill(first, -1); + int n = s.length(); + for (int i = 0; i < n; ++i) { + int j = s.charAt(i) - 'a'; + if (first[j] == -1) { + first[j] = i; + } + last[j] = i; + } + int ans = -1; + for (int k = 0; k < 26; ++k) { + int i = first[k]; + if (i == -1) { + continue; + } + int mx = last[k]; + for (int j = i; j < n; ++j) { + int a = first[s.charAt(j) - 'a']; + int b = last[s.charAt(j) - 'a']; + if (a < i) { + break; + } + mx = Math.max(mx, b); + if (mx == j && j - i + 1 < n) { + ans = Math.max(ans, j - i + 1); + } + } + } + return ans; + } +} +``` + +```cpp +class Solution { +public: + int maxSubstringLength(string s) { + vector first(26, -1); + vector last(26); + int n = s.length(); + for (int i = 0; i < n; ++i) { + int j = s[i] - 'a'; + if (first[j] == -1) { + first[j] = i; + } + last[j] = i; + } + int ans = -1; + for (int k = 0; k < 26; ++k) { + int i = first[k]; + if (i == -1) { + continue; + } + int mx = last[k]; + for (int j = i; j < n; ++j) { + int a = first[s[j] - 'a']; + int b = last[s[j] - 'a']; + if (a < i) { + break; + } + mx = max(mx, b); + if (mx == j && j - i + 1 < n) { + ans = max(ans, j - i + 1); + } + } + } + return ans; + } +}; +``` + +```go +func maxSubstringLength(s string) int { + first := [26]int{} + last := [26]int{} + for i := range first { + first[i] = -1 + } + n := len(s) + for i, c := range s { + j := int(c - 'a') + if first[j] == -1 { + first[j] = i + } + last[j] = i + } + ans := -1 + for k := 0; k < 26; k++ { + i := first[k] + if i == -1 { + continue + } + mx := last[k] + for j := i; j < n; j++ { + a, b := first[s[j]-'a'], last[s[j]-'a'] + if a < i { + break + } + mx = max(mx, b) + if mx == j && j-i+1 < n { + ans = max(ans, j-i+1) + } + } + } + return ans +} +``` + +```ts +function maxSubstringLength(s: string): number { + const first: number[] = Array(26).fill(-1); + const last: number[] = Array(26).fill(0); + const n = s.length; + for (let i = 0; i < n; ++i) { + const j = s.charCodeAt(i) - 97; + if (first[j] === -1) { + first[j] = i; + } + last[j] = i; + } + let ans = -1; + for (let k = 0; k < 26; ++k) { + const i = first[k]; + if (i === -1) { + continue; + } + let mx = last[k]; + for (let j = i; j < n; ++j) { + const a = first[s.charCodeAt(j) - 97]; + if (a < i) { + break; + } + const b = last[s.charCodeAt(j) - 97]; + mx = Math.max(mx, b); + if (mx === j && j - i + 1 < n) { + ans = Math.max(ans, j - i + 1); + } + } + } + return ans; +} +``` + + + + diff --git a/solution/3100-3199/3104.Find Longest Self-Contained Substring/README_EN.md b/solution/3100-3199/3104.Find Longest Self-Contained Substring/README_EN.md new file mode 100644 index 0000000000000..571d4e98e4dcd --- /dev/null +++ b/solution/3100-3199/3104.Find Longest Self-Contained Substring/README_EN.md @@ -0,0 +1,244 @@ +# [3104. Find Longest Self-Contained Substring](https://leetcode.com/problems/find-longest-self-contained-substring) + +[中文文档](/solution/3100-3199/3104.Find%20Longest%20Self-Contained%20Substring/README.md) + + + +## Description + +

    Given a string s, your task is to find the length of the longest self-contained substring of s.

    + +

    A substring t of a string s is considered self-contained if t != s and for every character in t, it doesn't exist in the rest of s.

    + +

    Return the length of the longest self-contained substring of s if it exists, otherwise, return -1.

    + +

     

    +

    Example 1:

    + +
    +

    Input: s = "abba"

    + +

    Output: 2

    + +

    Explanation:
    +Let's check the substring "bb". You can see that no other "b" is outside of this substring. Hence the answer is 2.

    +
    + +

    Example 2:

    + +
    +

    Input: s = "abab"

    + +

    Output: -1

    + +

    Explanation:
    +Every substring we choose does not satisfy the described property (there is some character which is inside and outside of that substring). So the answer would be -1.

    +
    + +

    Example 3:

    + +
    +

    Input: s = "abacd"

    + +

    Output: 4

    + +

    Explanation:
    +Let's check the substring "abac". There is only one character outside of this substring and that is "d". There is no "d" inside the chosen substring, so it satisfies the condition and the answer is 4.

    +
    + +

     

    +

    Constraints:

    + +
      +
    • 2 <= s.length <= 5 * 104
    • +
    • s consists only of lowercase English letters.
    • +
    + +## Solutions + +### Solution 1: Enumeration + +We notice that the start of a substring that meets the conditions must be the position where a character appears for the first time. + +Therefore, we can use two arrays or hash tables `first` and `last` to record the positions where each character appears for the first time and the last time, respectively. + +Next, we enumerate each character `c`. Suppose the position where `c` first appears is $i$, and the position where it last appears is $mx$. Then we can start traversing from $i$. For each position $j$, we find the position $a$ where $s[j]$ first appears and the position $b$ where it last appears. If $a < i$, it means that $s[j]$ is on the left of $c$, which does not meet the enumeration conditions, and we can exit the loop directly. Otherwise, we update $mx = \max(mx, b)$. If $mx = j$ and $j - i + 1 < n$, we update the answer to $ans = \max(ans, j - i + 1)$. + +Finally, return the answer. + +The time complexity is $O(n \times |\Sigma|)$, and the space complexity is $O(|\Sigma|)$. Where $n$ is the length of the string $s$; and $|\Sigma|$ is the size of the character set. In this problem, the character set is lowercase letters, so $|\Sigma| = 26$. + + + +```python +class Solution: + def maxSubstringLength(self, s: str) -> int: + first, last = {}, {} + for i, c in enumerate(s): + if c not in first: + first[c] = i + last[c] = i + ans, n = -1, len(s) + for c, i in first.items(): + mx = last[c] + for j in range(i, n): + a, b = first[s[j]], last[s[j]] + if a < i: + break + mx = max(mx, b) + if mx == j and j - i + 1 < n: + ans = max(ans, j - i + 1) + return ans +``` + +```java +class Solution { + public int maxSubstringLength(String s) { + int[] first = new int[26]; + int[] last = new int[26]; + Arrays.fill(first, -1); + int n = s.length(); + for (int i = 0; i < n; ++i) { + int j = s.charAt(i) - 'a'; + if (first[j] == -1) { + first[j] = i; + } + last[j] = i; + } + int ans = -1; + for (int k = 0; k < 26; ++k) { + int i = first[k]; + if (i == -1) { + continue; + } + int mx = last[k]; + for (int j = i; j < n; ++j) { + int a = first[s.charAt(j) - 'a']; + int b = last[s.charAt(j) - 'a']; + if (a < i) { + break; + } + mx = Math.max(mx, b); + if (mx == j && j - i + 1 < n) { + ans = Math.max(ans, j - i + 1); + } + } + } + return ans; + } +} +``` + +```cpp +class Solution { +public: + int maxSubstringLength(string s) { + vector first(26, -1); + vector last(26); + int n = s.length(); + for (int i = 0; i < n; ++i) { + int j = s[i] - 'a'; + if (first[j] == -1) { + first[j] = i; + } + last[j] = i; + } + int ans = -1; + for (int k = 0; k < 26; ++k) { + int i = first[k]; + if (i == -1) { + continue; + } + int mx = last[k]; + for (int j = i; j < n; ++j) { + int a = first[s[j] - 'a']; + int b = last[s[j] - 'a']; + if (a < i) { + break; + } + mx = max(mx, b); + if (mx == j && j - i + 1 < n) { + ans = max(ans, j - i + 1); + } + } + } + return ans; + } +}; +``` + +```go +func maxSubstringLength(s string) int { + first := [26]int{} + last := [26]int{} + for i := range first { + first[i] = -1 + } + n := len(s) + for i, c := range s { + j := int(c - 'a') + if first[j] == -1 { + first[j] = i + } + last[j] = i + } + ans := -1 + for k := 0; k < 26; k++ { + i := first[k] + if i == -1 { + continue + } + mx := last[k] + for j := i; j < n; j++ { + a, b := first[s[j]-'a'], last[s[j]-'a'] + if a < i { + break + } + mx = max(mx, b) + if mx == j && j-i+1 < n { + ans = max(ans, j-i+1) + } + } + } + return ans +} +``` + +```ts +function maxSubstringLength(s: string): number { + const first: number[] = Array(26).fill(-1); + const last: number[] = Array(26).fill(0); + const n = s.length; + for (let i = 0; i < n; ++i) { + const j = s.charCodeAt(i) - 97; + if (first[j] === -1) { + first[j] = i; + } + last[j] = i; + } + let ans = -1; + for (let k = 0; k < 26; ++k) { + const i = first[k]; + if (i === -1) { + continue; + } + let mx = last[k]; + for (let j = i; j < n; ++j) { + const a = first[s.charCodeAt(j) - 97]; + if (a < i) { + break; + } + const b = last[s.charCodeAt(j) - 97]; + mx = Math.max(mx, b); + if (mx === j && j - i + 1 < n) { + ans = Math.max(ans, j - i + 1); + } + } + } + return ans; +} +``` + + + + diff --git a/solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.cpp b/solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.cpp new file mode 100644 index 0000000000000..c525025c814f2 --- /dev/null +++ b/solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.cpp @@ -0,0 +1,35 @@ +class Solution { +public: + int maxSubstringLength(string s) { + vector first(26, -1); + vector last(26); + int n = s.length(); + for (int i = 0; i < n; ++i) { + int j = s[i] - 'a'; + if (first[j] == -1) { + first[j] = i; + } + last[j] = i; + } + int ans = -1; + for (int k = 0; k < 26; ++k) { + int i = first[k]; + if (i == -1) { + continue; + } + int mx = last[k]; + for (int j = i; j < n; ++j) { + int a = first[s[j] - 'a']; + int b = last[s[j] - 'a']; + if (a < i) { + break; + } + mx = max(mx, b); + if (mx == j && j - i + 1 < n) { + ans = max(ans, j - i + 1); + } + } + } + return ans; + } +}; \ No newline at end of file diff --git a/solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.go b/solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.go new file mode 100644 index 0000000000000..adf99043a02b4 --- /dev/null +++ b/solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.go @@ -0,0 +1,34 @@ +func maxSubstringLength(s string) int { + first := [26]int{} + last := [26]int{} + for i := range first { + first[i] = -1 + } + n := len(s) + for i, c := range s { + j := int(c - 'a') + if first[j] == -1 { + first[j] = i + } + last[j] = i + } + ans := -1 + for k := 0; k < 26; k++ { + i := first[k] + if i == -1 { + continue + } + mx := last[k] + for j := i; j < n; j++ { + a, b := first[s[j]-'a'], last[s[j]-'a'] + if a < i { + break + } + mx = max(mx, b) + if mx == j && j-i+1 < n { + ans = max(ans, j-i+1) + } + } + } + return ans +} \ No newline at end of file diff --git a/solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.java b/solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.java new file mode 100644 index 0000000000000..0830635b9eb72 --- /dev/null +++ b/solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.java @@ -0,0 +1,35 @@ +class Solution { + public int maxSubstringLength(String s) { + int[] first = new int[26]; + int[] last = new int[26]; + Arrays.fill(first, -1); + int n = s.length(); + for (int i = 0; i < n; ++i) { + int j = s.charAt(i) - 'a'; + if (first[j] == -1) { + first[j] = i; + } + last[j] = i; + } + int ans = -1; + for (int k = 0; k < 26; ++k) { + int i = first[k]; + if (i == -1) { + continue; + } + int mx = last[k]; + for (int j = i; j < n; ++j) { + int a = first[s.charAt(j) - 'a']; + int b = last[s.charAt(j) - 'a']; + if (a < i) { + break; + } + mx = Math.max(mx, b); + if (mx == j && j - i + 1 < n) { + ans = Math.max(ans, j - i + 1); + } + } + } + return ans; + } +} \ No newline at end of file diff --git a/solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.py b/solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.py new file mode 100644 index 0000000000000..e39a7f0826c8f --- /dev/null +++ b/solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.py @@ -0,0 +1,18 @@ +class Solution: + def maxSubstringLength(self, s: str) -> int: + first, last = {}, {} + for i, c in enumerate(s): + if c not in first: + first[c] = i + last[c] = i + ans, n = -1, len(s) + for c, i in first.items(): + mx = last[c] + for j in range(i, n): + a, b = first[s[j]], last[s[j]] + if a < i: + break + mx = max(mx, b) + if mx == j and j - i + 1 < n: + ans = max(ans, j - i + 1) + return ans diff --git a/solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.ts b/solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.ts new file mode 100644 index 0000000000000..101fd640a8b9e --- /dev/null +++ b/solution/3100-3199/3104.Find Longest Self-Contained Substring/Solution.ts @@ -0,0 +1,32 @@ +function maxSubstringLength(s: string): number { + const first: number[] = Array(26).fill(-1); + const last: number[] = Array(26).fill(0); + const n = s.length; + for (let i = 0; i < n; ++i) { + const j = s.charCodeAt(i) - 97; + if (first[j] === -1) { + first[j] = i; + } + last[j] = i; + } + let ans = -1; + for (let k = 0; k < 26; ++k) { + const i = first[k]; + if (i === -1) { + continue; + } + let mx = last[k]; + for (let j = i; j < n; ++j) { + const a = first[s.charCodeAt(j) - 97]; + if (a < i) { + break; + } + const b = last[s.charCodeAt(j) - 97]; + mx = Math.max(mx, b); + if (mx === j && j - i + 1 < n) { + ans = Math.max(ans, j - i + 1); + } + } + } + return ans; +} diff --git a/solution/CONTEST_README.md b/solution/CONTEST_README.md index f3ada6e30f1ab..9c81e29908410 100644 --- a/solution/CONTEST_README.md +++ b/solution/CONTEST_README.md @@ -1165,7 +1165,6 @@ #### 第 73 场双周赛(2022-03-05 22:30, 90 分钟) 参赛人数 5132 -- [2190. 数组中紧跟 key 之后出现最频繁的数字](/solution/2100-2199/2190.Most%20Frequent%20Number%20Following%20Key%20In%20an%20Array/README.md) - [2191. 将杂乱无章的数字排序](/solution/2100-2199/2191.Sort%20the%20Jumbled%20Numbers/README.md) - [2192. 有向无环图中一个节点的所有祖先](/solution/2100-2199/2192.All%20Ancestors%20of%20a%20Node%20in%20a%20Directed%20Acyclic%20Graph/README.md) - [2193. 得到回文串的最少操作次数](/solution/2100-2199/2193.Minimum%20Number%20of%20Moves%20to%20Make%20Palindrome/README.md) @@ -1945,7 +1944,6 @@ - [1603. 设计停车系统](/solution/1600-1699/1603.Design%20Parking%20System/README.md) - [1604. 警告一小时内使用相同员工卡大于等于三次的人](/solution/1600-1699/1604.Alert%20Using%20Same%20Key-Card%20Three%20or%20More%20Times%20in%20a%20One%20Hour%20Period/README.md) - [1605. 给定行和列的和求可行矩阵](/solution/1600-1699/1605.Find%20Valid%20Matrix%20Given%20Row%20and%20Column%20Sums/README.md) -- [1606. 找到处理最多请求的服务器](/solution/1600-1699/1606.Find%20Servers%20That%20Handled%20Most%20Number%20of%20Requests/README.md) #### 第 208 场周赛(2020-09-27 10:30, 90 分钟) 参赛人数 3582 @@ -2959,7 +2957,6 @@ - [0892. 三维形体的表面积](/solution/0800-0899/0892.Surface%20Area%20of%203D%20Shapes/README.md) - [0893. 特殊等价字符串组](/solution/0800-0899/0893.Groups%20of%20Special-Equivalent%20Strings/README.md) -- [0894. 所有可能的真二叉树](/solution/0800-0899/0894.All%20Possible%20Full%20Binary%20Trees/README.md) - [0895. 最大频率栈](/solution/0800-0899/0895.Maximum%20Frequency%20Stack/README.md) #### 第 98 场周赛(2018-08-19 09:30, 90 分钟) 参赛人数 670 diff --git a/solution/CONTEST_README_EN.md b/solution/CONTEST_README_EN.md index 815df280e528b..122980d962290 100644 --- a/solution/CONTEST_README_EN.md +++ b/solution/CONTEST_README_EN.md @@ -1168,7 +1168,6 @@ If you want to estimate your score changes after the contest ends, you can visit #### Biweekly Contest 73 -- [2190. Most Frequent Number Following Key In an Array](/solution/2100-2199/2190.Most%20Frequent%20Number%20Following%20Key%20In%20an%20Array/README_EN.md) - [2191. Sort the Jumbled Numbers](/solution/2100-2199/2191.Sort%20the%20Jumbled%20Numbers/README_EN.md) - [2192. All Ancestors of a Node in a Directed Acyclic Graph](/solution/2100-2199/2192.All%20Ancestors%20of%20a%20Node%20in%20a%20Directed%20Acyclic%20Graph/README_EN.md) - [2193. Minimum Number of Moves to Make Palindrome](/solution/2100-2199/2193.Minimum%20Number%20of%20Moves%20to%20Make%20Palindrome/README_EN.md) @@ -1948,7 +1947,6 @@ If you want to estimate your score changes after the contest ends, you can visit - [1603. Design Parking System](/solution/1600-1699/1603.Design%20Parking%20System/README_EN.md) - [1604. Alert Using Same Key-Card Three or More Times in a One Hour Period](/solution/1600-1699/1604.Alert%20Using%20Same%20Key-Card%20Three%20or%20More%20Times%20in%20a%20One%20Hour%20Period/README_EN.md) - [1605. Find Valid Matrix Given Row and Column Sums](/solution/1600-1699/1605.Find%20Valid%20Matrix%20Given%20Row%20and%20Column%20Sums/README_EN.md) -- [1606. Find Servers That Handled Most Number of Requests](/solution/1600-1699/1606.Find%20Servers%20That%20Handled%20Most%20Number%20of%20Requests/README_EN.md) #### Weekly Contest 208 @@ -2962,7 +2960,6 @@ If you want to estimate your score changes after the contest ends, you can visit - [0892. Surface Area of 3D Shapes](/solution/0800-0899/0892.Surface%20Area%20of%203D%20Shapes/README_EN.md) - [0893. Groups of Special-Equivalent Strings](/solution/0800-0899/0893.Groups%20of%20Special-Equivalent%20Strings/README_EN.md) -- [0894. All Possible Full Binary Trees](/solution/0800-0899/0894.All%20Possible%20Full%20Binary%20Trees/README_EN.md) - [0895. Maximum Frequency Stack](/solution/0800-0899/0895.Maximum%20Frequency%20Stack/README_EN.md) #### Weekly Contest 98 diff --git a/solution/DATABASE_README.md b/solution/DATABASE_README.md index 6888805886faf..3935beaa18b37 100644 --- a/solution/DATABASE_README.md +++ b/solution/DATABASE_README.md @@ -108,7 +108,6 @@ | 1341 | [电影评分](/solution/1300-1399/1341.Movie%20Rating/README.md) | `数据库` | 中等 | | | 1350 | [院系无效的学生](/solution/1300-1399/1350.Students%20With%20Invalid%20Departments/README.md) | `数据库` | 简单 | 🔒 | | 1355 | [活动参与者](/solution/1300-1399/1355.Activity%20Participants/README.md) | `数据库` | 中等 | 🔒 | -| 1364 | [顾客的可信联系人数量](/solution/1300-1399/1364.Number%20of%20Trusted%20Contacts%20of%20a%20Customer/README.md) | `数据库` | 中等 | 🔒 | | 1369 | [获取最近第二次的活动](/solution/1300-1399/1369.Get%20the%20Second%20Most%20Recent%20Activity/README.md) | `数据库` | 困难 | 🔒 | | 1378 | [使用唯一标识码替换员工 ID](/solution/1300-1399/1378.Replace%20Employee%20ID%20With%20The%20Unique%20Identifier/README.md) | `数据库` | 简单 | | | 1384 | [按年度列出销售总额](/solution/1300-1399/1384.Total%20Sales%20Amount%20by%20Year/README.md) | `数据库` | 困难 | 🔒 | diff --git a/solution/DATABASE_README_EN.md b/solution/DATABASE_README_EN.md index 9376808fd92ed..081d82c66bc86 100644 --- a/solution/DATABASE_README_EN.md +++ b/solution/DATABASE_README_EN.md @@ -106,7 +106,6 @@ Press Control + F(or Command + F on | 1341 | [Movie Rating](/solution/1300-1399/1341.Movie%20Rating/README_EN.md) | `Database` | Medium | | | 1350 | [Students With Invalid Departments](/solution/1300-1399/1350.Students%20With%20Invalid%20Departments/README_EN.md) | `Database` | Easy | 🔒 | | 1355 | [Activity Participants](/solution/1300-1399/1355.Activity%20Participants/README_EN.md) | `Database` | Medium | 🔒 | -| 1364 | [Number of Trusted Contacts of a Customer](/solution/1300-1399/1364.Number%20of%20Trusted%20Contacts%20of%20a%20Customer/README_EN.md) | `Database` | Medium | 🔒 | | 1369 | [Get the Second Most Recent Activity](/solution/1300-1399/1369.Get%20the%20Second%20Most%20Recent%20Activity/README_EN.md) | `Database` | Hard | 🔒 | | 1378 | [Replace Employee ID With The Unique Identifier](/solution/1300-1399/1378.Replace%20Employee%20ID%20With%20The%20Unique%20Identifier/README_EN.md) | `Database` | Easy | | | 1384 | [Total Sales Amount by Year](/solution/1300-1399/1384.Total%20Sales%20Amount%20by%20Year/README_EN.md) | `Database` | Hard | 🔒 | diff --git a/solution/README.md b/solution/README.md index 1a81ac7bd22ec..9a40a970c1ac8 100644 --- a/solution/README.md +++ b/solution/README.md @@ -904,7 +904,6 @@ | 0891 | [子序列宽度之和](/solution/0800-0899/0891.Sum%20of%20Subsequence%20Widths/README.md) | `数组`,`数学`,`排序` | 困难 | 第 98 场周赛 | | 0892 | [三维形体的表面积](/solution/0800-0899/0892.Surface%20Area%20of%203D%20Shapes/README.md) | `几何`,`数组`,`数学`,`矩阵` | 简单 | 第 99 场周赛 | | 0893 | [特殊等价字符串组](/solution/0800-0899/0893.Groups%20of%20Special-Equivalent%20Strings/README.md) | `数组`,`哈希表`,`字符串`,`排序` | 中等 | 第 99 场周赛 | -| 0894 | [所有可能的真二叉树](/solution/0800-0899/0894.All%20Possible%20Full%20Binary%20Trees/README.md) | `树`,`递归`,`记忆化搜索`,`动态规划`,`二叉树` | 中等 | 第 99 场周赛 | | 0895 | [最大频率栈](/solution/0800-0899/0895.Maximum%20Frequency%20Stack/README.md) | `栈`,`设计`,`哈希表`,`有序集合` | 困难 | 第 99 场周赛 | | 0896 | [单调数列](/solution/0800-0899/0896.Monotonic%20Array/README.md) | `数组` | 简单 | 第 100 场周赛 | | 0897 | [递增顺序搜索树](/solution/0800-0899/0897.Increasing%20Order%20Search%20Tree/README.md) | `栈`,`树`,`深度优先搜索`,`二叉搜索树`,`二叉树` | 简单 | 第 100 场周赛 | @@ -1374,7 +1373,6 @@ | 1361 | [验证二叉树](/solution/1300-1399/1361.Validate%20Binary%20Tree%20Nodes/README.md) | `树`,`深度优先搜索`,`广度优先搜索`,`并查集`,`图`,`二叉树` | 中等 | 第 177 场周赛 | | 1362 | [最接近的因数](/solution/1300-1399/1362.Closest%20Divisors/README.md) | `数学` | 中等 | 第 177 场周赛 | | 1363 | [形成三的最大倍数](/solution/1300-1399/1363.Largest%20Multiple%20of%20Three/README.md) | `贪心`,`数组`,`动态规划` | 困难 | 第 177 场周赛 | -| 1364 | [顾客的可信联系人数量](/solution/1300-1399/1364.Number%20of%20Trusted%20Contacts%20of%20a%20Customer/README.md) | `数据库` | 中等 | 🔒 | | 1365 | [有多少小于当前数字的数字](/solution/1300-1399/1365.How%20Many%20Numbers%20Are%20Smaller%20Than%20the%20Current%20Number/README.md) | `数组`,`哈希表`,`计数`,`排序` | 简单 | 第 178 场周赛 | | 1366 | [通过投票对团队排名](/solution/1300-1399/1366.Rank%20Teams%20by%20Votes/README.md) | `数组`,`哈希表`,`字符串`,`计数`,`排序` | 中等 | 第 178 场周赛 | | 1367 | [二叉树中的链表](/solution/1300-1399/1367.Linked%20List%20in%20Binary%20Tree/README.md) | `树`,`深度优先搜索`,`广度优先搜索`,`链表`,`二叉树` | 中等 | 第 178 场周赛 | @@ -1616,7 +1614,6 @@ | 1603 | [设计停车系统](/solution/1600-1699/1603.Design%20Parking%20System/README.md) | `设计`,`计数`,`模拟` | 简单 | 第 36 场双周赛 | | 1604 | [警告一小时内使用相同员工卡大于等于三次的人](/solution/1600-1699/1604.Alert%20Using%20Same%20Key-Card%20Three%20or%20More%20Times%20in%20a%20One%20Hour%20Period/README.md) | `数组`,`哈希表`,`字符串`,`排序` | 中等 | 第 36 场双周赛 | | 1605 | [给定行和列的和求可行矩阵](/solution/1600-1699/1605.Find%20Valid%20Matrix%20Given%20Row%20and%20Column%20Sums/README.md) | `贪心`,`数组`,`矩阵` | 中等 | 第 36 场双周赛 | -| 1606 | [找到处理最多请求的服务器](/solution/1600-1699/1606.Find%20Servers%20That%20Handled%20Most%20Number%20of%20Requests/README.md) | `贪心`,`数组`,`有序集合`,`堆(优先队列)` | 困难 | 第 36 场双周赛 | | 1607 | [没有卖出的卖家](/solution/1600-1699/1607.Sellers%20With%20No%20Sales/README.md) | `数据库` | 简单 | 🔒 | | 1608 | [特殊数组的特征值](/solution/1600-1699/1608.Special%20Array%20With%20X%20Elements%20Greater%20Than%20or%20Equal%20X/README.md) | `数组`,`二分查找`,`排序` | 简单 | 第 209 场周赛 | | 1609 | [奇偶树](/solution/1600-1699/1609.Even%20Odd%20Tree/README.md) | `树`,`广度优先搜索`,`二叉树` | 中等 | 第 209 场周赛 | @@ -1638,7 +1635,6 @@ | 1625 | [执行操作后字典序最小的字符串](/solution/1600-1699/1625.Lexicographically%20Smallest%20String%20After%20Applying%20Operations/README.md) | `广度优先搜索`,`字符串` | 中等 | 第 211 场周赛 | | 1626 | [无矛盾的最佳球队](/solution/1600-1699/1626.Best%20Team%20With%20No%20Conflicts/README.md) | `数组`,`动态规划`,`排序` | 中等 | 第 211 场周赛 | | 1627 | [带阈值的图连通性](/solution/1600-1699/1627.Graph%20Connectivity%20With%20Threshold/README.md) | `并查集`,`数组`,`数学`,`数论` | 困难 | 第 211 场周赛 | -| 1628 | [设计带解析函数的表达式树](/solution/1600-1699/1628.Design%20an%20Expression%20Tree%20With%20Evaluate%20Function/README.md) | `栈`,`树`,`设计`,`数学`,`二叉树` | 中等 | 🔒 | | 1629 | [按键持续时间最长的键](/solution/1600-1699/1629.Slowest%20Key/README.md) | `数组`,`字符串` | 简单 | 第 212 场周赛 | | 1630 | [等差子数组](/solution/1600-1699/1630.Arithmetic%20Subarrays/README.md) | `数组`,`哈希表`,`排序` | 中等 | 第 212 场周赛 | | 1631 | [最小体力消耗路径](/solution/1600-1699/1631.Path%20With%20Minimum%20Effort/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`数组`,`二分查找`,`矩阵`,`堆(优先队列)` | 中等 | 第 212 场周赛 | @@ -1678,7 +1674,7 @@ | 1665 | [完成所有任务的最少初始能量](/solution/1600-1699/1665.Minimum%20Initial%20Energy%20to%20Finish%20Tasks/README.md) | `贪心`,`数组`,`排序` | 困难 | 第 216 场周赛 | | 1666 | [改变二叉树的根节点](/solution/1600-1699/1666.Change%20the%20Root%20of%20a%20Binary%20Tree/README.md) | `树`,`深度优先搜索`,`二叉树` | 中等 | 🔒 | | 1667 | [修复表中的名字](/solution/1600-1699/1667.Fix%20Names%20in%20a%20Table/README.md) | `数据库` | 简单 | | -| 1668 | [最大重复子字符串](/solution/1600-1699/1668.Maximum%20Repeating%20Substring/README.md) | `字符串`,`字符串匹配` | 简单 | 第 40 场双周赛 | +| 1668 | [最大重复子字符串](/solution/1600-1699/1668.Maximum%20Repeating%20Substring/README.md) | `字符串`,`动态规划`,`字符串匹配` | 简单 | 第 40 场双周赛 | | 1669 | [合并两个链表](/solution/1600-1699/1669.Merge%20In%20Between%20Linked%20Lists/README.md) | `链表` | 中等 | 第 40 场双周赛 | | 1670 | [设计前中后队列](/solution/1600-1699/1670.Design%20Front%20Middle%20Back%20Queue/README.md) | `设计`,`队列`,`数组`,`链表`,`数据流` | 中等 | 第 40 场双周赛 | | 1671 | [得到山形数组的最少删除次数](/solution/1600-1699/1671.Minimum%20Number%20of%20Removals%20to%20Make%20Mountain%20Array/README.md) | `贪心`,`数组`,`二分查找`,`动态规划` | 困难 | 第 40 场双周赛 | @@ -1748,7 +1744,7 @@ | 1735 | [生成乘积数组的方案数](/solution/1700-1799/1735.Count%20Ways%20to%20Make%20Array%20With%20Product/README.md) | `数组`,`数学`,`动态规划`,`组合数学`,`数论` | 困难 | 第 44 场双周赛 | | 1736 | [替换隐藏数字得到的最晚时间](/solution/1700-1799/1736.Latest%20Time%20by%20Replacing%20Hidden%20Digits/README.md) | `贪心`,`字符串` | 简单 | 第 225 场周赛 | | 1737 | [满足三条件之一需改变的最少字符数](/solution/1700-1799/1737.Change%20Minimum%20Characters%20to%20Satisfy%20One%20of%20Three%20Conditions/README.md) | `哈希表`,`字符串`,`计数`,`前缀和` | 中等 | 第 225 场周赛 | -| 1738 | [找出第 K 大的异或坐标值](/solution/1700-1799/1738.Find%20Kth%20Largest%20XOR%20Coordinate%20Value/README.md) | `位运算`,`数组`,`分治`,`矩阵`,`前缀和`,`快速选择`,`堆(优先队列)` | 中等 | 第 225 场周赛 | +| 1738 | [找出第 K 大的异或坐标值](/solution/1700-1799/1738.Find%20Kth%20Largest%20XOR%20Coordinate%20Value/README.md) | `位运算`,`数组`,`分治`,`矩阵`,`前缀和`,`快速选择`,`排序`,`堆(优先队列)` | 中等 | 第 225 场周赛 | | 1739 | [放置盒子](/solution/1700-1799/1739.Building%20Boxes/README.md) | `贪心`,`数学`,`二分查找` | 困难 | 第 225 场周赛 | | 1740 | [找到二叉树中的距离](/solution/1700-1799/1740.Find%20Distance%20in%20a%20Binary%20Tree/README.md) | `树`,`深度优先搜索`,`广度优先搜索`,`哈希表`,`二叉树` | 中等 | 🔒 | | 1741 | [查找每个员工花费的总时间](/solution/1700-1799/1741.Find%20Total%20Time%20Spent%20by%20Each%20Employee/README.md) | `数据库` | 简单 | | @@ -2019,7 +2015,7 @@ | 2006 | [差的绝对值为 K 的数对数目](/solution/2000-2099/2006.Count%20Number%20of%20Pairs%20With%20Absolute%20Difference%20K/README.md) | `数组`,`哈希表`,`计数` | 简单 | 第 61 场双周赛 | | 2007 | [从双倍数组中还原原数组](/solution/2000-2099/2007.Find%20Original%20Array%20From%20Doubled%20Array/README.md) | `贪心`,`数组`,`哈希表`,`排序` | 中等 | 第 61 场双周赛 | | 2008 | [出租车的最大盈利](/solution/2000-2099/2008.Maximum%20Earnings%20From%20Taxi/README.md) | `数组`,`哈希表`,`二分查找`,`动态规划`,`排序` | 中等 | 第 61 场双周赛 | -| 2009 | [使数组连续的最少操作数](/solution/2000-2099/2009.Minimum%20Number%20of%20Operations%20to%20Make%20Array%20Continuous/README.md) | `数组`,`二分查找` | 困难 | 第 61 场双周赛 | +| 2009 | [使数组连续的最少操作数](/solution/2000-2099/2009.Minimum%20Number%20of%20Operations%20to%20Make%20Array%20Continuous/README.md) | `数组`,`哈希表`,`二分查找`,`滑动窗口` | 困难 | 第 61 场双周赛 | | 2010 | [职员招聘人数 II](/solution/2000-2099/2010.The%20Number%20of%20Seniors%20and%20Juniors%20to%20Join%20the%20Company%20II/README.md) | `数据库` | 困难 | 🔒 | | 2011 | [执行操作后的变量值](/solution/2000-2099/2011.Final%20Value%20of%20Variable%20After%20Performing%20Operations/README.md) | `数组`,`字符串`,`模拟` | 简单 | 第 259 场周赛 | | 2012 | [数组美丽值求和](/solution/2000-2099/2012.Sum%20of%20Beauty%20in%20the%20Array/README.md) | `数组` | 中等 | 第 259 场周赛 | @@ -2200,7 +2196,6 @@ | 2187 | [完成旅途的最少时间](/solution/2100-2199/2187.Minimum%20Time%20to%20Complete%20Trips/README.md) | `数组`,`二分查找` | 中等 | 第 282 场周赛 | | 2188 | [完成比赛的最少时间](/solution/2100-2199/2188.Minimum%20Time%20to%20Finish%20the%20Race/README.md) | `数组`,`动态规划` | 困难 | 第 282 场周赛 | | 2189 | [建造纸牌屋的方法数](/solution/2100-2199/2189.Number%20of%20Ways%20to%20Build%20House%20of%20Cards/README.md) | `数学`,`动态规划` | 中等 | 🔒 | -| 2190 | [数组中紧跟 key 之后出现最频繁的数字](/solution/2100-2199/2190.Most%20Frequent%20Number%20Following%20Key%20In%20an%20Array/README.md) | `数组`,`哈希表`,`计数` | 简单 | 第 73 场双周赛 | | 2191 | [将杂乱无章的数字排序](/solution/2100-2199/2191.Sort%20the%20Jumbled%20Numbers/README.md) | `数组`,`排序` | 中等 | 第 73 场双周赛 | | 2192 | [有向无环图中一个节点的所有祖先](/solution/2100-2199/2192.All%20Ancestors%20of%20a%20Node%20in%20a%20Directed%20Acyclic%20Graph/README.md) | `深度优先搜索`,`广度优先搜索`,`图`,`拓扑排序` | 中等 | 第 73 场双周赛 | | 2193 | [得到回文串的最少操作次数](/solution/2100-2199/2193.Minimum%20Number%20of%20Moves%20to%20Make%20Palindrome/README.md) | `贪心`,`树状数组`,`双指针`,`字符串` | 困难 | 第 73 场双周赛 | @@ -2691,7 +2686,7 @@ | 2678 | [老人的数目](/solution/2600-2699/2678.Number%20of%20Senior%20Citizens/README.md) | `数组`,`字符串` | 简单 | 第 104 场双周赛 | | 2679 | [矩阵中的和](/solution/2600-2699/2679.Sum%20in%20a%20Matrix/README.md) | `数组`,`矩阵`,`排序`,`模拟`,`堆(优先队列)` | 中等 | 第 104 场双周赛 | | 2680 | [最大或值](/solution/2600-2699/2680.Maximum%20OR/README.md) | `贪心`,`位运算`,`数组`,`前缀和` | 中等 | 第 104 场双周赛 | -| 2681 | [英雄的力量](/solution/2600-2699/2681.Power%20of%20Heroes/README.md) | `数组`,`数学`,`前缀和`,`排序` | 困难 | 第 104 场双周赛 | +| 2681 | [英雄的力量](/solution/2600-2699/2681.Power%20of%20Heroes/README.md) | `数组`,`数学`,`动态规划`,`前缀和`,`排序` | 困难 | 第 104 场双周赛 | | 2682 | [找出转圈游戏输家](/solution/2600-2699/2682.Find%20the%20Losers%20of%20the%20Circular%20Game/README.md) | `数组`,`哈希表`,`模拟` | 简单 | 第 345 场周赛 | | 2683 | [相邻值的按位异或](/solution/2600-2699/2683.Neighboring%20Bitwise%20XOR/README.md) | `位运算`,`数组` | 中等 | 第 345 场周赛 | | 2684 | [矩阵中移动的最大次数](/solution/2600-2699/2684.Maximum%20Number%20of%20Moves%20in%20a%20Grid/README.md) | `数组`,`动态规划`,`矩阵` | 中等 | 第 345 场周赛 | @@ -3114,6 +3109,7 @@ | 3101 | [交替子数组计数](/solution/3100-3199/3101.Count%20Alternating%20Subarrays/README.md) | `数组`,`数学` | 中等 | 第 391 场周赛 | | 3102 | [最小化曼哈顿距离](/solution/3100-3199/3102.Minimize%20Manhattan%20Distances/README.md) | `数组`,`数学` | 困难 | 第 391 场周赛 | | 3103 | [Find Trending Hashtags II](/solution/3100-3199/3103.Find%20Trending%20Hashtags%20II/README.md) | `数据库` | 困难 | 🔒 | +| 3104 | [Find Longest Self-Contained Substring](/solution/3100-3199/3104.Find%20Longest%20Self-Contained%20Substring/README.md) | | 困难 | 🔒 | ## 版权 diff --git a/solution/README_EN.md b/solution/README_EN.md index 9906afbc2ca2a..d5c02c3e88ddf 100644 --- a/solution/README_EN.md +++ b/solution/README_EN.md @@ -902,7 +902,6 @@ Press Control + F(or Command + F on | 0891 | [Sum of Subsequence Widths](/solution/0800-0899/0891.Sum%20of%20Subsequence%20Widths/README_EN.md) | `Array`,`Math`,`Sorting` | Hard | Weekly Contest 98 | | 0892 | [Surface Area of 3D Shapes](/solution/0800-0899/0892.Surface%20Area%20of%203D%20Shapes/README_EN.md) | `Geometry`,`Array`,`Math`,`Matrix` | Easy | Weekly Contest 99 | | 0893 | [Groups of Special-Equivalent Strings](/solution/0800-0899/0893.Groups%20of%20Special-Equivalent%20Strings/README_EN.md) | `Array`,`Hash Table`,`String`,`Sorting` | Medium | Weekly Contest 99 | -| 0894 | [All Possible Full Binary Trees](/solution/0800-0899/0894.All%20Possible%20Full%20Binary%20Trees/README_EN.md) | `Tree`,`Recursion`,`Memoization`,`Dynamic Programming`,`Binary Tree` | Medium | Weekly Contest 99 | | 0895 | [Maximum Frequency Stack](/solution/0800-0899/0895.Maximum%20Frequency%20Stack/README_EN.md) | `Stack`,`Design`,`Hash Table`,`Ordered Set` | Hard | Weekly Contest 99 | | 0896 | [Monotonic Array](/solution/0800-0899/0896.Monotonic%20Array/README_EN.md) | `Array` | Easy | Weekly Contest 100 | | 0897 | [Increasing Order Search Tree](/solution/0800-0899/0897.Increasing%20Order%20Search%20Tree/README_EN.md) | `Stack`,`Tree`,`Depth-First Search`,`Binary Search Tree`,`Binary Tree` | Easy | Weekly Contest 100 | @@ -1372,7 +1371,6 @@ Press Control + F(or Command + F on | 1361 | [Validate Binary Tree Nodes](/solution/1300-1399/1361.Validate%20Binary%20Tree%20Nodes/README_EN.md) | `Tree`,`Depth-First Search`,`Breadth-First Search`,`Union Find`,`Graph`,`Binary Tree` | Medium | Weekly Contest 177 | | 1362 | [Closest Divisors](/solution/1300-1399/1362.Closest%20Divisors/README_EN.md) | `Math` | Medium | Weekly Contest 177 | | 1363 | [Largest Multiple of Three](/solution/1300-1399/1363.Largest%20Multiple%20of%20Three/README_EN.md) | `Greedy`,`Array`,`Dynamic Programming` | Hard | Weekly Contest 177 | -| 1364 | [Number of Trusted Contacts of a Customer](/solution/1300-1399/1364.Number%20of%20Trusted%20Contacts%20of%20a%20Customer/README_EN.md) | `Database` | Medium | 🔒 | | 1365 | [How Many Numbers Are Smaller Than the Current Number](/solution/1300-1399/1365.How%20Many%20Numbers%20Are%20Smaller%20Than%20the%20Current%20Number/README_EN.md) | `Array`,`Hash Table`,`Counting`,`Sorting` | Easy | Weekly Contest 178 | | 1366 | [Rank Teams by Votes](/solution/1300-1399/1366.Rank%20Teams%20by%20Votes/README_EN.md) | `Array`,`Hash Table`,`String`,`Counting`,`Sorting` | Medium | Weekly Contest 178 | | 1367 | [Linked List in Binary Tree](/solution/1300-1399/1367.Linked%20List%20in%20Binary%20Tree/README_EN.md) | `Tree`,`Depth-First Search`,`Breadth-First Search`,`Linked List`,`Binary Tree` | Medium | Weekly Contest 178 | @@ -1614,7 +1612,6 @@ Press Control + F(or Command + F on | 1603 | [Design Parking System](/solution/1600-1699/1603.Design%20Parking%20System/README_EN.md) | `Design`,`Counting`,`Simulation` | Easy | Biweekly Contest 36 | | 1604 | [Alert Using Same Key-Card Three or More Times in a One Hour Period](/solution/1600-1699/1604.Alert%20Using%20Same%20Key-Card%20Three%20or%20More%20Times%20in%20a%20One%20Hour%20Period/README_EN.md) | `Array`,`Hash Table`,`String`,`Sorting` | Medium | Biweekly Contest 36 | | 1605 | [Find Valid Matrix Given Row and Column Sums](/solution/1600-1699/1605.Find%20Valid%20Matrix%20Given%20Row%20and%20Column%20Sums/README_EN.md) | `Greedy`,`Array`,`Matrix` | Medium | Biweekly Contest 36 | -| 1606 | [Find Servers That Handled Most Number of Requests](/solution/1600-1699/1606.Find%20Servers%20That%20Handled%20Most%20Number%20of%20Requests/README_EN.md) | `Greedy`,`Array`,`Ordered Set`,`Heap (Priority Queue)` | Hard | Biweekly Contest 36 | | 1607 | [Sellers With No Sales](/solution/1600-1699/1607.Sellers%20With%20No%20Sales/README_EN.md) | `Database` | Easy | 🔒 | | 1608 | [Special Array With X Elements Greater Than or Equal X](/solution/1600-1699/1608.Special%20Array%20With%20X%20Elements%20Greater%20Than%20or%20Equal%20X/README_EN.md) | `Array`,`Binary Search`,`Sorting` | Easy | Weekly Contest 209 | | 1609 | [Even Odd Tree](/solution/1600-1699/1609.Even%20Odd%20Tree/README_EN.md) | `Tree`,`Breadth-First Search`,`Binary Tree` | Medium | Weekly Contest 209 | @@ -1636,7 +1633,6 @@ Press Control + F(or Command + F on | 1625 | [Lexicographically Smallest String After Applying Operations](/solution/1600-1699/1625.Lexicographically%20Smallest%20String%20After%20Applying%20Operations/README_EN.md) | `Breadth-First Search`,`String` | Medium | Weekly Contest 211 | | 1626 | [Best Team With No Conflicts](/solution/1600-1699/1626.Best%20Team%20With%20No%20Conflicts/README_EN.md) | `Array`,`Dynamic Programming`,`Sorting` | Medium | Weekly Contest 211 | | 1627 | [Graph Connectivity With Threshold](/solution/1600-1699/1627.Graph%20Connectivity%20With%20Threshold/README_EN.md) | `Union Find`,`Array`,`Math`,`Number Theory` | Hard | Weekly Contest 211 | -| 1628 | [Design an Expression Tree With Evaluate Function](/solution/1600-1699/1628.Design%20an%20Expression%20Tree%20With%20Evaluate%20Function/README_EN.md) | `Stack`,`Tree`,`Design`,`Math`,`Binary Tree` | Medium | 🔒 | | 1629 | [Slowest Key](/solution/1600-1699/1629.Slowest%20Key/README_EN.md) | `Array`,`String` | Easy | Weekly Contest 212 | | 1630 | [Arithmetic Subarrays](/solution/1600-1699/1630.Arithmetic%20Subarrays/README_EN.md) | `Array`,`Hash Table`,`Sorting` | Medium | Weekly Contest 212 | | 1631 | [Path With Minimum Effort](/solution/1600-1699/1631.Path%20With%20Minimum%20Effort/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Union Find`,`Array`,`Binary Search`,`Matrix`,`Heap (Priority Queue)` | Medium | Weekly Contest 212 | @@ -1676,7 +1672,7 @@ Press Control + F(or Command + F on | 1665 | [Minimum Initial Energy to Finish Tasks](/solution/1600-1699/1665.Minimum%20Initial%20Energy%20to%20Finish%20Tasks/README_EN.md) | `Greedy`,`Array`,`Sorting` | Hard | Weekly Contest 216 | | 1666 | [Change the Root of a Binary Tree](/solution/1600-1699/1666.Change%20the%20Root%20of%20a%20Binary%20Tree/README_EN.md) | `Tree`,`Depth-First Search`,`Binary Tree` | Medium | 🔒 | | 1667 | [Fix Names in a Table](/solution/1600-1699/1667.Fix%20Names%20in%20a%20Table/README_EN.md) | `Database` | Easy | | -| 1668 | [Maximum Repeating Substring](/solution/1600-1699/1668.Maximum%20Repeating%20Substring/README_EN.md) | `String`,`String Matching` | Easy | Biweekly Contest 40 | +| 1668 | [Maximum Repeating Substring](/solution/1600-1699/1668.Maximum%20Repeating%20Substring/README_EN.md) | `String`,`Dynamic Programming`,`String Matching` | Easy | Biweekly Contest 40 | | 1669 | [Merge In Between Linked Lists](/solution/1600-1699/1669.Merge%20In%20Between%20Linked%20Lists/README_EN.md) | `Linked List` | Medium | Biweekly Contest 40 | | 1670 | [Design Front Middle Back Queue](/solution/1600-1699/1670.Design%20Front%20Middle%20Back%20Queue/README_EN.md) | `Design`,`Queue`,`Array`,`Linked List`,`Data Stream` | Medium | Biweekly Contest 40 | | 1671 | [Minimum Number of Removals to Make Mountain Array](/solution/1600-1699/1671.Minimum%20Number%20of%20Removals%20to%20Make%20Mountain%20Array/README_EN.md) | `Greedy`,`Array`,`Binary Search`,`Dynamic Programming` | Hard | Biweekly Contest 40 | @@ -1746,7 +1742,7 @@ Press Control + F(or Command + F on | 1735 | [Count Ways to Make Array With Product](/solution/1700-1799/1735.Count%20Ways%20to%20Make%20Array%20With%20Product/README_EN.md) | `Array`,`Math`,`Dynamic Programming`,`Combinatorics`,`Number Theory` | Hard | Biweekly Contest 44 | | 1736 | [Latest Time by Replacing Hidden Digits](/solution/1700-1799/1736.Latest%20Time%20by%20Replacing%20Hidden%20Digits/README_EN.md) | `Greedy`,`String` | Easy | Weekly Contest 225 | | 1737 | [Change Minimum Characters to Satisfy One of Three Conditions](/solution/1700-1799/1737.Change%20Minimum%20Characters%20to%20Satisfy%20One%20of%20Three%20Conditions/README_EN.md) | `Hash Table`,`String`,`Counting`,`Prefix Sum` | Medium | Weekly Contest 225 | -| 1738 | [Find Kth Largest XOR Coordinate Value](/solution/1700-1799/1738.Find%20Kth%20Largest%20XOR%20Coordinate%20Value/README_EN.md) | `Bit Manipulation`,`Array`,`Divide and Conquer`,`Matrix`,`Prefix Sum`,`Quickselect`,`Heap (Priority Queue)` | Medium | Weekly Contest 225 | +| 1738 | [Find Kth Largest XOR Coordinate Value](/solution/1700-1799/1738.Find%20Kth%20Largest%20XOR%20Coordinate%20Value/README_EN.md) | `Bit Manipulation`,`Array`,`Divide and Conquer`,`Matrix`,`Prefix Sum`,`Quickselect`,`Sorting`,`Heap (Priority Queue)` | Medium | Weekly Contest 225 | | 1739 | [Building Boxes](/solution/1700-1799/1739.Building%20Boxes/README_EN.md) | `Greedy`,`Math`,`Binary Search` | Hard | Weekly Contest 225 | | 1740 | [Find Distance in a Binary Tree](/solution/1700-1799/1740.Find%20Distance%20in%20a%20Binary%20Tree/README_EN.md) | `Tree`,`Depth-First Search`,`Breadth-First Search`,`Hash Table`,`Binary Tree` | Medium | 🔒 | | 1741 | [Find Total Time Spent by Each Employee](/solution/1700-1799/1741.Find%20Total%20Time%20Spent%20by%20Each%20Employee/README_EN.md) | `Database` | Easy | | @@ -2017,7 +2013,7 @@ Press Control + F(or Command + F on | 2006 | [Count Number of Pairs With Absolute Difference K](/solution/2000-2099/2006.Count%20Number%20of%20Pairs%20With%20Absolute%20Difference%20K/README_EN.md) | `Array`,`Hash Table`,`Counting` | Easy | Biweekly Contest 61 | | 2007 | [Find Original Array From Doubled Array](/solution/2000-2099/2007.Find%20Original%20Array%20From%20Doubled%20Array/README_EN.md) | `Greedy`,`Array`,`Hash Table`,`Sorting` | Medium | Biweekly Contest 61 | | 2008 | [Maximum Earnings From Taxi](/solution/2000-2099/2008.Maximum%20Earnings%20From%20Taxi/README_EN.md) | `Array`,`Hash Table`,`Binary Search`,`Dynamic Programming`,`Sorting` | Medium | Biweekly Contest 61 | -| 2009 | [Minimum Number of Operations to Make Array Continuous](/solution/2000-2099/2009.Minimum%20Number%20of%20Operations%20to%20Make%20Array%20Continuous/README_EN.md) | `Array`,`Binary Search` | Hard | Biweekly Contest 61 | +| 2009 | [Minimum Number of Operations to Make Array Continuous](/solution/2000-2099/2009.Minimum%20Number%20of%20Operations%20to%20Make%20Array%20Continuous/README_EN.md) | `Array`,`Hash Table`,`Binary Search`,`Sliding Window` | Hard | Biweekly Contest 61 | | 2010 | [The Number of Seniors and Juniors to Join the Company II](/solution/2000-2099/2010.The%20Number%20of%20Seniors%20and%20Juniors%20to%20Join%20the%20Company%20II/README_EN.md) | `Database` | Hard | 🔒 | | 2011 | [Final Value of Variable After Performing Operations](/solution/2000-2099/2011.Final%20Value%20of%20Variable%20After%20Performing%20Operations/README_EN.md) | `Array`,`String`,`Simulation` | Easy | Weekly Contest 259 | | 2012 | [Sum of Beauty in the Array](/solution/2000-2099/2012.Sum%20of%20Beauty%20in%20the%20Array/README_EN.md) | `Array` | Medium | Weekly Contest 259 | @@ -2198,7 +2194,6 @@ Press Control + F(or Command + F on | 2187 | [Minimum Time to Complete Trips](/solution/2100-2199/2187.Minimum%20Time%20to%20Complete%20Trips/README_EN.md) | `Array`,`Binary Search` | Medium | Weekly Contest 282 | | 2188 | [Minimum Time to Finish the Race](/solution/2100-2199/2188.Minimum%20Time%20to%20Finish%20the%20Race/README_EN.md) | `Array`,`Dynamic Programming` | Hard | Weekly Contest 282 | | 2189 | [Number of Ways to Build House of Cards](/solution/2100-2199/2189.Number%20of%20Ways%20to%20Build%20House%20of%20Cards/README_EN.md) | `Math`,`Dynamic Programming` | Medium | 🔒 | -| 2190 | [Most Frequent Number Following Key In an Array](/solution/2100-2199/2190.Most%20Frequent%20Number%20Following%20Key%20In%20an%20Array/README_EN.md) | `Array`,`Hash Table`,`Counting` | Easy | Biweekly Contest 73 | | 2191 | [Sort the Jumbled Numbers](/solution/2100-2199/2191.Sort%20the%20Jumbled%20Numbers/README_EN.md) | `Array`,`Sorting` | Medium | Biweekly Contest 73 | | 2192 | [All Ancestors of a Node in a Directed Acyclic Graph](/solution/2100-2199/2192.All%20Ancestors%20of%20a%20Node%20in%20a%20Directed%20Acyclic%20Graph/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Graph`,`Topological Sort` | Medium | Biweekly Contest 73 | | 2193 | [Minimum Number of Moves to Make Palindrome](/solution/2100-2199/2193.Minimum%20Number%20of%20Moves%20to%20Make%20Palindrome/README_EN.md) | `Greedy`,`Binary Indexed Tree`,`Two Pointers`,`String` | Hard | Biweekly Contest 73 | @@ -2689,7 +2684,7 @@ Press Control + F(or Command + F on | 2678 | [Number of Senior Citizens](/solution/2600-2699/2678.Number%20of%20Senior%20Citizens/README_EN.md) | `Array`,`String` | Easy | Biweekly Contest 104 | | 2679 | [Sum in a Matrix](/solution/2600-2699/2679.Sum%20in%20a%20Matrix/README_EN.md) | `Array`,`Matrix`,`Sorting`,`Simulation`,`Heap (Priority Queue)` | Medium | Biweekly Contest 104 | | 2680 | [Maximum OR](/solution/2600-2699/2680.Maximum%20OR/README_EN.md) | `Greedy`,`Bit Manipulation`,`Array`,`Prefix Sum` | Medium | Biweekly Contest 104 | -| 2681 | [Power of Heroes](/solution/2600-2699/2681.Power%20of%20Heroes/README_EN.md) | `Array`,`Math`,`Prefix Sum`,`Sorting` | Hard | Biweekly Contest 104 | +| 2681 | [Power of Heroes](/solution/2600-2699/2681.Power%20of%20Heroes/README_EN.md) | `Array`,`Math`,`Dynamic Programming`,`Prefix Sum`,`Sorting` | Hard | Biweekly Contest 104 | | 2682 | [Find the Losers of the Circular Game](/solution/2600-2699/2682.Find%20the%20Losers%20of%20the%20Circular%20Game/README_EN.md) | `Array`,`Hash Table`,`Simulation` | Easy | Weekly Contest 345 | | 2683 | [Neighboring Bitwise XOR](/solution/2600-2699/2683.Neighboring%20Bitwise%20XOR/README_EN.md) | `Bit Manipulation`,`Array` | Medium | Weekly Contest 345 | | 2684 | [Maximum Number of Moves in a Grid](/solution/2600-2699/2684.Maximum%20Number%20of%20Moves%20in%20a%20Grid/README_EN.md) | `Array`,`Dynamic Programming`,`Matrix` | Medium | Weekly Contest 345 | @@ -3112,6 +3107,7 @@ Press Control + F(or Command + F on | 3101 | [Count Alternating Subarrays](/solution/3100-3199/3101.Count%20Alternating%20Subarrays/README_EN.md) | `Array`,`Math` | Medium | Weekly Contest 391 | | 3102 | [Minimize Manhattan Distances](/solution/3100-3199/3102.Minimize%20Manhattan%20Distances/README_EN.md) | `Array`,`Math` | Hard | Weekly Contest 391 | | 3103 | [Find Trending Hashtags II](/solution/3100-3199/3103.Find%20Trending%20Hashtags%20II/README_EN.md) | `Database` | Hard | 🔒 | +| 3104 | [Find Longest Self-Contained Substring](/solution/3100-3199/3104.Find%20Longest%20Self-Contained%20Substring/README_EN.md) | | Hard | 🔒 | ## Copyright diff --git a/solution/database-summary.md b/solution/database-summary.md index 5e40b373112da..efd8b5daf1470 100644 --- a/solution/database-summary.md +++ b/solution/database-summary.md @@ -98,7 +98,6 @@ - [1341.电影评分](/database-solution/1300-1399/1341.Movie%20Rating/README.md) - [1350.院系无效的学生](/database-solution/1300-1399/1350.Students%20With%20Invalid%20Departments/README.md) - [1355.活动参与者](/database-solution/1300-1399/1355.Activity%20Participants/README.md) - - [1364.顾客的可信联系人数量](/database-solution/1300-1399/1364.Number%20of%20Trusted%20Contacts%20of%20a%20Customer/README.md) - [1369.获取最近第二次的活动](/database-solution/1300-1399/1369.Get%20the%20Second%20Most%20Recent%20Activity/README.md) - [1378.使用唯一标识码替换员工 ID](/database-solution/1300-1399/1378.Replace%20Employee%20ID%20With%20The%20Unique%20Identifier/README.md) - [1384.按年度列出销售总额](/database-solution/1300-1399/1384.Total%20Sales%20Amount%20by%20Year/README.md) diff --git a/solution/database-summary_en.md b/solution/database-summary_en.md index 5cdd3f3647d16..560e0dbfd21c2 100644 --- a/solution/database-summary_en.md +++ b/solution/database-summary_en.md @@ -98,7 +98,6 @@ - [1341.Movie Rating](/database-solution/1300-1399/1341.Movie%20Rating/README_EN.md) - [1350.Students With Invalid Departments](/database-solution/1300-1399/1350.Students%20With%20Invalid%20Departments/README_EN.md) - [1355.Activity Participants](/database-solution/1300-1399/1355.Activity%20Participants/README_EN.md) - - [1364.Number of Trusted Contacts of a Customer](/database-solution/1300-1399/1364.Number%20of%20Trusted%20Contacts%20of%20a%20Customer/README_EN.md) - [1369.Get the Second Most Recent Activity](/database-solution/1300-1399/1369.Get%20the%20Second%20Most%20Recent%20Activity/README_EN.md) - [1378.Replace Employee ID With The Unique Identifier](/database-solution/1300-1399/1378.Replace%20Employee%20ID%20With%20The%20Unique%20Identifier/README_EN.md) - [1384.Total Sales Amount by Year](/database-solution/1300-1399/1384.Total%20Sales%20Amount%20by%20Year/README_EN.md)