@sun-asterisk/sunlint 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/CHANGELOG.md +202 -0
  2. package/LICENSE +21 -0
  3. package/README.md +490 -0
  4. package/cli-legacy.js +355 -0
  5. package/cli.js +35 -0
  6. package/config/default.json +22 -0
  7. package/config/presets/beginner.json +36 -0
  8. package/config/presets/ci.json +46 -0
  9. package/config/presets/recommended.json +24 -0
  10. package/config/presets/strict.json +32 -0
  11. package/config/rules-registry.json +681 -0
  12. package/config/sunlint-schema.json +166 -0
  13. package/config/typescript/custom-rules-new.js +0 -0
  14. package/config/typescript/custom-rules.js +9 -0
  15. package/config/typescript/eslint.config.js +110 -0
  16. package/config/typescript/package-lock.json +1585 -0
  17. package/config/typescript/package.json +13 -0
  18. package/config/typescript/security-rules/index.js +90 -0
  19. package/config/typescript/security-rules/s005-no-origin-auth.js +95 -0
  20. package/config/typescript/security-rules/s006-activation-recovery-secret-not-plaintext.js +69 -0
  21. package/config/typescript/security-rules/s008-crypto-agility.js +62 -0
  22. package/config/typescript/security-rules/s009-no-insecure-crypto.js +103 -0
  23. package/config/typescript/security-rules/s010-no-insecure-random-in-sensitive-context.js +123 -0
  24. package/config/typescript/security-rules/s011-no-insecure-uuid.js +66 -0
  25. package/config/typescript/security-rules/s012-hardcode-secret.js +71 -0
  26. package/config/typescript/security-rules/s014-insecure-tls-version.js +50 -0
  27. package/config/typescript/security-rules/s015-insecure-tls-certificate.js +43 -0
  28. package/config/typescript/security-rules/s016-sensitive-query-parameter.js +59 -0
  29. package/config/typescript/security-rules/s017-no-sql-injection.js +193 -0
  30. package/config/typescript/security-rules/s018-positive-input-validation.js +56 -0
  31. package/config/typescript/security-rules/s019-no-raw-user-input-in-email.js +113 -0
  32. package/config/typescript/security-rules/s020-no-eval-dynamic-execution.js +89 -0
  33. package/config/typescript/security-rules/s022-output-encoding.js +78 -0
  34. package/config/typescript/security-rules/s023-no-json-injection.js +300 -0
  35. package/config/typescript/security-rules/s025-server-side-input-validation.js +217 -0
  36. package/config/typescript/security-rules/s026-json-schema-validation.js +68 -0
  37. package/config/typescript/security-rules/s027-no-hardcoded-secrets.js +80 -0
  38. package/config/typescript/security-rules/s029-require-csrf-protection.js +79 -0
  39. package/config/typescript/security-rules/s030-no-directory-browsing.js +78 -0
  40. package/config/typescript/security-rules/s033-require-samesite-cookie.js +80 -0
  41. package/config/typescript/security-rules/s034-require-host-cookie-prefix.js +77 -0
  42. package/config/typescript/security-rules/s035-cookie-specific-path.js +74 -0
  43. package/config/typescript/security-rules/s036-no-unsafe-file-include.js +68 -0
  44. package/config/typescript/security-rules/s037-require-anti-cache-headers.js +70 -0
  45. package/config/typescript/security-rules/s038-no-version-disclosure.js +74 -0
  46. package/config/typescript/security-rules/s039-no-session-token-in-url.js +63 -0
  47. package/config/typescript/security-rules/s041-require-session-invalidate-on-logout.js +211 -0
  48. package/config/typescript/security-rules/s042-require-periodic-reauthentication.js +294 -0
  49. package/config/typescript/security-rules/s043-terminate-sessions-on-password-change.js +254 -0
  50. package/config/typescript/security-rules/s044-require-full-session-for-sensitive-operations.js +292 -0
  51. package/config/typescript/security-rules/s045-anti-automation-controls.js +46 -0
  52. package/config/typescript/security-rules/s046-secure-notification-on-auth-change.js +44 -0
  53. package/config/typescript/security-rules/s048-password-credential-recovery.js +54 -0
  54. package/config/typescript/security-rules/s050-session-token-weak-hash.js +94 -0
  55. package/config/typescript/security-rules/s052-secure-random-authentication-code.js +66 -0
  56. package/config/typescript/security-rules/s054-verification-default-account.js +109 -0
  57. package/config/typescript/security-rules/s057-utc-logging.js +54 -0
  58. package/config/typescript/security-rules/s058-no-ssrf.js +73 -0
  59. package/config/typescript/test-s005-working.ts +22 -0
  60. package/config/typescript/tsconfig.json +29 -0
  61. package/core/ai-analyzer.js +169 -0
  62. package/core/analysis-orchestrator.js +705 -0
  63. package/core/cli-action-handler.js +230 -0
  64. package/core/cli-program.js +106 -0
  65. package/core/config-manager.js +396 -0
  66. package/core/config-merger.js +136 -0
  67. package/core/config-override-processor.js +74 -0
  68. package/core/config-preset-resolver.js +65 -0
  69. package/core/config-source-loader.js +152 -0
  70. package/core/config-validator.js +126 -0
  71. package/core/dependency-manager.js +105 -0
  72. package/core/eslint-engine-service.js +312 -0
  73. package/core/eslint-instance-manager.js +104 -0
  74. package/core/eslint-integration-service.js +363 -0
  75. package/core/git-utils.js +170 -0
  76. package/core/multi-rule-runner.js +239 -0
  77. package/core/output-service.js +250 -0
  78. package/core/report-generator.js +320 -0
  79. package/core/rule-mapping-service.js +309 -0
  80. package/core/rule-selection-service.js +121 -0
  81. package/core/sunlint-engine-service.js +23 -0
  82. package/core/typescript-analyzer.js +262 -0
  83. package/core/typescript-engine.js +313 -0
  84. package/docs/AI.md +163 -0
  85. package/docs/ARCHITECTURE.md +78 -0
  86. package/docs/CI-CD-GUIDE.md +315 -0
  87. package/docs/COMMAND-EXAMPLES.md +256 -0
  88. package/docs/DEBUG.md +86 -0
  89. package/docs/DISTRIBUTION.md +153 -0
  90. package/docs/ESLINT-INTEGRATION-STRATEGY.md +392 -0
  91. package/docs/ESLINT_INTEGRATION.md +238 -0
  92. package/docs/FOLDER_STRUCTURE.md +59 -0
  93. package/docs/HEURISTIC_VS_AI.md +113 -0
  94. package/docs/README.md +32 -0
  95. package/docs/RELEASE_GUIDE.md +230 -0
  96. package/docs/RULE-RESPONSIBILITY-MATRIX.md +204 -0
  97. package/eslint-integration/.eslintrc.js +98 -0
  98. package/eslint-integration/cli.js +35 -0
  99. package/eslint-integration/eslint-plugin-custom/c002-no-duplicate-code.js +204 -0
  100. package/eslint-integration/eslint-plugin-custom/c003-no-vague-abbreviations.js +246 -0
  101. package/eslint-integration/eslint-plugin-custom/c006-function-name-verb-noun.js +207 -0
  102. package/eslint-integration/eslint-plugin-custom/c010-limit-block-nesting.js +90 -0
  103. package/eslint-integration/eslint-plugin-custom/c013-no-dead-code.js +43 -0
  104. package/eslint-integration/eslint-plugin-custom/c014-abstract-dependency-preferred.js +38 -0
  105. package/eslint-integration/eslint-plugin-custom/c017-limit-constructor-logic.js +39 -0
  106. package/eslint-integration/eslint-plugin-custom/c018-no-generic-throw.js +335 -0
  107. package/eslint-integration/eslint-plugin-custom/c023-no-duplicate-variable-name-in-scope.js +142 -0
  108. package/eslint-integration/eslint-plugin-custom/c027-limit-function-nesting.js +50 -0
  109. package/eslint-integration/eslint-plugin-custom/c029-catch-block-logging.js +80 -0
  110. package/eslint-integration/eslint-plugin-custom/c030-use-custom-error-classes.js +294 -0
  111. package/eslint-integration/eslint-plugin-custom/c034-no-implicit-return.js +34 -0
  112. package/eslint-integration/eslint-plugin-custom/c035-no-empty-catch.js +32 -0
  113. package/eslint-integration/eslint-plugin-custom/c041-no-config-inline.js +64 -0
  114. package/eslint-integration/eslint-plugin-custom/c042-boolean-name-prefix.js +406 -0
  115. package/eslint-integration/eslint-plugin-custom/c043-no-console-or-print.js +300 -0
  116. package/eslint-integration/eslint-plugin-custom/c047-no-duplicate-retry-logic.js +239 -0
  117. package/eslint-integration/eslint-plugin-custom/c048-no-var-declaration.js +31 -0
  118. package/eslint-integration/eslint-plugin-custom/c076-one-assert-per-test.js +184 -0
  119. package/eslint-integration/eslint-plugin-custom/index.js +155 -0
  120. package/eslint-integration/eslint-plugin-custom/package.json +13 -0
  121. package/eslint-integration/eslint-plugin-custom/package.json.bak +9 -0
  122. package/eslint-integration/eslint-plugin-custom/s003-no-unvalidated-redirect.js +86 -0
  123. package/eslint-integration/eslint-plugin-custom/s005-no-origin-auth.js +95 -0
  124. package/eslint-integration/eslint-plugin-custom/s006-activation-recovery-secret-not-plaintext.js +69 -0
  125. package/eslint-integration/eslint-plugin-custom/s008-crypto-agility.js +62 -0
  126. package/eslint-integration/eslint-plugin-custom/s009-no-insecure-crypto.js +103 -0
  127. package/eslint-integration/eslint-plugin-custom/s010-no-insecure-random-in-sensitive-context.js +123 -0
  128. package/eslint-integration/eslint-plugin-custom/s011-no-insecure-uuid.js +66 -0
  129. package/eslint-integration/eslint-plugin-custom/s012-hardcode-secret.js +71 -0
  130. package/eslint-integration/eslint-plugin-custom/s014-insecure-tls-version.js +50 -0
  131. package/eslint-integration/eslint-plugin-custom/s015-insecure-tls-certificate.js +43 -0
  132. package/eslint-integration/eslint-plugin-custom/s016-sensitive-query-parameter.js +59 -0
  133. package/eslint-integration/eslint-plugin-custom/s017-no-sql-injection.js +193 -0
  134. package/eslint-integration/eslint-plugin-custom/s018-positive-input-validation.js +56 -0
  135. package/eslint-integration/eslint-plugin-custom/s019-no-raw-user-input-in-email.js +113 -0
  136. package/eslint-integration/eslint-plugin-custom/s020-no-eval-dynamic-execution.js +89 -0
  137. package/eslint-integration/eslint-plugin-custom/s022-output-encoding.js +78 -0
  138. package/eslint-integration/eslint-plugin-custom/s023-no-json-injection.js +300 -0
  139. package/eslint-integration/eslint-plugin-custom/s025-server-side-input-validation.js +217 -0
  140. package/eslint-integration/eslint-plugin-custom/s026-json-schema-validation.js +68 -0
  141. package/eslint-integration/eslint-plugin-custom/s027-no-hardcoded-secrets.js +80 -0
  142. package/eslint-integration/eslint-plugin-custom/s029-require-csrf-protection.js +79 -0
  143. package/eslint-integration/eslint-plugin-custom/s030-no-directory-browsing.js +78 -0
  144. package/eslint-integration/eslint-plugin-custom/s033-require-samesite-cookie.js +80 -0
  145. package/eslint-integration/eslint-plugin-custom/s034-require-host-cookie-prefix.js +77 -0
  146. package/eslint-integration/eslint-plugin-custom/s035-cookie-specific-path.js +74 -0
  147. package/eslint-integration/eslint-plugin-custom/s036-no-unsafe-file-include.js +68 -0
  148. package/eslint-integration/eslint-plugin-custom/s037-require-anti-cache-headers.js +70 -0
  149. package/eslint-integration/eslint-plugin-custom/s038-no-version-disclosure.js +74 -0
  150. package/eslint-integration/eslint-plugin-custom/s039-no-session-token-in-url.js +63 -0
  151. package/eslint-integration/eslint-plugin-custom/s041-require-session-invalidate-on-logout.js +211 -0
  152. package/eslint-integration/eslint-plugin-custom/s042-require-periodic-reauthentication.js +294 -0
  153. package/eslint-integration/eslint-plugin-custom/s043-terminate-sessions-on-password-change.js +254 -0
  154. package/eslint-integration/eslint-plugin-custom/s044-require-full-session-for-sensitive-operations.js +292 -0
  155. package/eslint-integration/eslint-plugin-custom/s045-anti-automation-controls.js +46 -0
  156. package/eslint-integration/eslint-plugin-custom/s046-secure-notification-on-auth-change.js +44 -0
  157. package/eslint-integration/eslint-plugin-custom/s047-secure-random-passwords.js +108 -0
  158. package/eslint-integration/eslint-plugin-custom/s048-password-credential-recovery.js +54 -0
  159. package/eslint-integration/eslint-plugin-custom/s050-session-token-weak-hash.js +94 -0
  160. package/eslint-integration/eslint-plugin-custom/s052-secure-random-authentication-code.js +66 -0
  161. package/eslint-integration/eslint-plugin-custom/s054-verification-default-account.js +109 -0
  162. package/eslint-integration/eslint-plugin-custom/s055-verification-rest-check-the-incoming-content-type.js +143 -0
  163. package/eslint-integration/eslint-plugin-custom/s057-utc-logging.js +54 -0
  164. package/eslint-integration/eslint-plugin-custom/s058-no-ssrf.js +73 -0
  165. package/eslint-integration/eslint-plugin-custom/t002-interface-prefix-i.js +42 -0
  166. package/eslint-integration/eslint-plugin-custom/t003-ts-ignore-reason.js +48 -0
  167. package/eslint-integration/eslint-plugin-custom/t004-interface-public-only.js +160 -0
  168. package/eslint-integration/eslint-plugin-custom/t007-no-fn-in-constructor.js +52 -0
  169. package/eslint-integration/eslint-plugin-custom/t011-no-real-time-dependency.js +175 -0
  170. package/eslint-integration/eslint-plugin-custom/t019-no-empty-type.js +95 -0
  171. package/eslint-integration/eslint-plugin-custom/t025-no-nested-union-tuple.js +48 -0
  172. package/eslint-integration/eslint-plugin-custom/t026-limit-nested-generics.js +377 -0
  173. package/eslint-integration/eslint.config.js +125 -0
  174. package/eslint-integration/eslint.config.simple.js +24 -0
  175. package/eslint-integration/node_modules/eslint-plugin-custom/package.json +0 -0
  176. package/eslint-integration/package.json +23 -0
  177. package/eslint-integration/sample.ts +53 -0
  178. package/eslint-integration/test-s003.js +5 -0
  179. package/eslint-integration/tsconfig.json +27 -0
  180. package/examples/.github/workflows/code-quality.yml +111 -0
  181. package/examples/.sunlint.json +42 -0
  182. package/examples/README.md +47 -0
  183. package/examples/package.json +33 -0
  184. package/package.json +100 -0
  185. package/rules/C006_function_naming/analyzer.js +338 -0
  186. package/rules/C006_function_naming/config.json +86 -0
  187. package/rules/C019_log_level_usage/analyzer.js +359 -0
  188. package/rules/C019_log_level_usage/config.json +121 -0
  189. package/rules/C029_catch_block_logging/analyzer.js +339 -0
  190. package/rules/C029_catch_block_logging/config.json +59 -0
  191. package/rules/C031_validation_separation/README.md +72 -0
  192. package/rules/C031_validation_separation/analyzer.js +186 -0
@@ -0,0 +1,1585 @@
1
+ {
2
+ "name": "sunlint-eslint-typescript",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "sunlint-eslint-typescript",
9
+ "version": "1.0.0",
10
+ "dependencies": {
11
+ "@typescript-eslint/eslint-plugin": "^8.15.0",
12
+ "@typescript-eslint/parser": "^8.15.0",
13
+ "eslint": "^9.16.0"
14
+ },
15
+ "devDependencies": {
16
+ "typescript": "^5.7.2"
17
+ }
18
+ },
19
+ "node_modules/@eslint-community/eslint-utils": {
20
+ "version": "4.7.0",
21
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
22
+ "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==",
23
+ "license": "MIT",
24
+ "dependencies": {
25
+ "eslint-visitor-keys": "^3.4.3"
26
+ },
27
+ "engines": {
28
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
29
+ },
30
+ "funding": {
31
+ "url": "https://opencollective.com/eslint"
32
+ },
33
+ "peerDependencies": {
34
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
35
+ }
36
+ },
37
+ "node_modules/@eslint-community/regexpp": {
38
+ "version": "4.12.1",
39
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
40
+ "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
41
+ "license": "MIT",
42
+ "engines": {
43
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
44
+ }
45
+ },
46
+ "node_modules/@eslint/config-array": {
47
+ "version": "0.21.0",
48
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz",
49
+ "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==",
50
+ "license": "Apache-2.0",
51
+ "dependencies": {
52
+ "@eslint/object-schema": "^2.1.6",
53
+ "debug": "^4.3.1",
54
+ "minimatch": "^3.1.2"
55
+ },
56
+ "engines": {
57
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
58
+ }
59
+ },
60
+ "node_modules/@eslint/config-array/node_modules/brace-expansion": {
61
+ "version": "1.1.12",
62
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
63
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
64
+ "license": "MIT",
65
+ "dependencies": {
66
+ "balanced-match": "^1.0.0",
67
+ "concat-map": "0.0.1"
68
+ }
69
+ },
70
+ "node_modules/@eslint/config-array/node_modules/minimatch": {
71
+ "version": "3.1.2",
72
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
73
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
74
+ "license": "ISC",
75
+ "dependencies": {
76
+ "brace-expansion": "^1.1.7"
77
+ },
78
+ "engines": {
79
+ "node": "*"
80
+ }
81
+ },
82
+ "node_modules/@eslint/config-helpers": {
83
+ "version": "0.3.0",
84
+ "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.0.tgz",
85
+ "integrity": "sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==",
86
+ "license": "Apache-2.0",
87
+ "engines": {
88
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
89
+ }
90
+ },
91
+ "node_modules/@eslint/core": {
92
+ "version": "0.14.0",
93
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz",
94
+ "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==",
95
+ "license": "Apache-2.0",
96
+ "dependencies": {
97
+ "@types/json-schema": "^7.0.15"
98
+ },
99
+ "engines": {
100
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
101
+ }
102
+ },
103
+ "node_modules/@eslint/eslintrc": {
104
+ "version": "3.3.1",
105
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
106
+ "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
107
+ "license": "MIT",
108
+ "dependencies": {
109
+ "ajv": "^6.12.4",
110
+ "debug": "^4.3.2",
111
+ "espree": "^10.0.1",
112
+ "globals": "^14.0.0",
113
+ "ignore": "^5.2.0",
114
+ "import-fresh": "^3.2.1",
115
+ "js-yaml": "^4.1.0",
116
+ "minimatch": "^3.1.2",
117
+ "strip-json-comments": "^3.1.1"
118
+ },
119
+ "engines": {
120
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
121
+ },
122
+ "funding": {
123
+ "url": "https://opencollective.com/eslint"
124
+ }
125
+ },
126
+ "node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
127
+ "version": "1.1.12",
128
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
129
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
130
+ "license": "MIT",
131
+ "dependencies": {
132
+ "balanced-match": "^1.0.0",
133
+ "concat-map": "0.0.1"
134
+ }
135
+ },
136
+ "node_modules/@eslint/eslintrc/node_modules/ignore": {
137
+ "version": "5.3.2",
138
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
139
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
140
+ "license": "MIT",
141
+ "engines": {
142
+ "node": ">= 4"
143
+ }
144
+ },
145
+ "node_modules/@eslint/eslintrc/node_modules/minimatch": {
146
+ "version": "3.1.2",
147
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
148
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
149
+ "license": "ISC",
150
+ "dependencies": {
151
+ "brace-expansion": "^1.1.7"
152
+ },
153
+ "engines": {
154
+ "node": "*"
155
+ }
156
+ },
157
+ "node_modules/@eslint/js": {
158
+ "version": "9.30.1",
159
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.30.1.tgz",
160
+ "integrity": "sha512-zXhuECFlyep42KZUhWjfvsmXGX39W8K8LFb8AWXM9gSV9dQB+MrJGLKvW6Zw0Ggnbpw0VHTtrhFXYe3Gym18jg==",
161
+ "license": "MIT",
162
+ "engines": {
163
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
164
+ },
165
+ "funding": {
166
+ "url": "https://eslint.org/donate"
167
+ }
168
+ },
169
+ "node_modules/@eslint/object-schema": {
170
+ "version": "2.1.6",
171
+ "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz",
172
+ "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
173
+ "license": "Apache-2.0",
174
+ "engines": {
175
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
176
+ }
177
+ },
178
+ "node_modules/@eslint/plugin-kit": {
179
+ "version": "0.3.3",
180
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.3.tgz",
181
+ "integrity": "sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==",
182
+ "license": "Apache-2.0",
183
+ "dependencies": {
184
+ "@eslint/core": "^0.15.1",
185
+ "levn": "^0.4.1"
186
+ },
187
+ "engines": {
188
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
189
+ }
190
+ },
191
+ "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": {
192
+ "version": "0.15.1",
193
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.1.tgz",
194
+ "integrity": "sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==",
195
+ "license": "Apache-2.0",
196
+ "dependencies": {
197
+ "@types/json-schema": "^7.0.15"
198
+ },
199
+ "engines": {
200
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
201
+ }
202
+ },
203
+ "node_modules/@humanfs/core": {
204
+ "version": "0.19.1",
205
+ "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
206
+ "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
207
+ "license": "Apache-2.0",
208
+ "engines": {
209
+ "node": ">=18.18.0"
210
+ }
211
+ },
212
+ "node_modules/@humanfs/node": {
213
+ "version": "0.16.6",
214
+ "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz",
215
+ "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==",
216
+ "license": "Apache-2.0",
217
+ "dependencies": {
218
+ "@humanfs/core": "^0.19.1",
219
+ "@humanwhocodes/retry": "^0.3.0"
220
+ },
221
+ "engines": {
222
+ "node": ">=18.18.0"
223
+ }
224
+ },
225
+ "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": {
226
+ "version": "0.3.1",
227
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz",
228
+ "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==",
229
+ "license": "Apache-2.0",
230
+ "engines": {
231
+ "node": ">=18.18"
232
+ },
233
+ "funding": {
234
+ "type": "github",
235
+ "url": "https://github.com/sponsors/nzakas"
236
+ }
237
+ },
238
+ "node_modules/@humanwhocodes/module-importer": {
239
+ "version": "1.0.1",
240
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
241
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
242
+ "license": "Apache-2.0",
243
+ "engines": {
244
+ "node": ">=12.22"
245
+ },
246
+ "funding": {
247
+ "type": "github",
248
+ "url": "https://github.com/sponsors/nzakas"
249
+ }
250
+ },
251
+ "node_modules/@humanwhocodes/retry": {
252
+ "version": "0.4.3",
253
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
254
+ "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
255
+ "license": "Apache-2.0",
256
+ "engines": {
257
+ "node": ">=18.18"
258
+ },
259
+ "funding": {
260
+ "type": "github",
261
+ "url": "https://github.com/sponsors/nzakas"
262
+ }
263
+ },
264
+ "node_modules/@nodelib/fs.scandir": {
265
+ "version": "2.1.5",
266
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
267
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
268
+ "license": "MIT",
269
+ "dependencies": {
270
+ "@nodelib/fs.stat": "2.0.5",
271
+ "run-parallel": "^1.1.9"
272
+ },
273
+ "engines": {
274
+ "node": ">= 8"
275
+ }
276
+ },
277
+ "node_modules/@nodelib/fs.stat": {
278
+ "version": "2.0.5",
279
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
280
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
281
+ "license": "MIT",
282
+ "engines": {
283
+ "node": ">= 8"
284
+ }
285
+ },
286
+ "node_modules/@nodelib/fs.walk": {
287
+ "version": "1.2.8",
288
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
289
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
290
+ "license": "MIT",
291
+ "dependencies": {
292
+ "@nodelib/fs.scandir": "2.1.5",
293
+ "fastq": "^1.6.0"
294
+ },
295
+ "engines": {
296
+ "node": ">= 8"
297
+ }
298
+ },
299
+ "node_modules/@types/estree": {
300
+ "version": "1.0.8",
301
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
302
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
303
+ "license": "MIT"
304
+ },
305
+ "node_modules/@types/json-schema": {
306
+ "version": "7.0.15",
307
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
308
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
309
+ "license": "MIT"
310
+ },
311
+ "node_modules/@typescript-eslint/eslint-plugin": {
312
+ "version": "8.36.0",
313
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.36.0.tgz",
314
+ "integrity": "sha512-lZNihHUVB6ZZiPBNgOQGSxUASI7UJWhT8nHyUGCnaQ28XFCw98IfrMCG3rUl1uwUWoAvodJQby2KTs79UTcrAg==",
315
+ "license": "MIT",
316
+ "dependencies": {
317
+ "@eslint-community/regexpp": "^4.10.0",
318
+ "@typescript-eslint/scope-manager": "8.36.0",
319
+ "@typescript-eslint/type-utils": "8.36.0",
320
+ "@typescript-eslint/utils": "8.36.0",
321
+ "@typescript-eslint/visitor-keys": "8.36.0",
322
+ "graphemer": "^1.4.0",
323
+ "ignore": "^7.0.0",
324
+ "natural-compare": "^1.4.0",
325
+ "ts-api-utils": "^2.1.0"
326
+ },
327
+ "engines": {
328
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
329
+ },
330
+ "funding": {
331
+ "type": "opencollective",
332
+ "url": "https://opencollective.com/typescript-eslint"
333
+ },
334
+ "peerDependencies": {
335
+ "@typescript-eslint/parser": "^8.36.0",
336
+ "eslint": "^8.57.0 || ^9.0.0",
337
+ "typescript": ">=4.8.4 <5.9.0"
338
+ }
339
+ },
340
+ "node_modules/@typescript-eslint/parser": {
341
+ "version": "8.36.0",
342
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.36.0.tgz",
343
+ "integrity": "sha512-FuYgkHwZLuPbZjQHzJXrtXreJdFMKl16BFYyRrLxDhWr6Qr7Kbcu2s1Yhu8tsiMXw1S0W1pjfFfYEt+R604s+Q==",
344
+ "license": "MIT",
345
+ "dependencies": {
346
+ "@typescript-eslint/scope-manager": "8.36.0",
347
+ "@typescript-eslint/types": "8.36.0",
348
+ "@typescript-eslint/typescript-estree": "8.36.0",
349
+ "@typescript-eslint/visitor-keys": "8.36.0",
350
+ "debug": "^4.3.4"
351
+ },
352
+ "engines": {
353
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
354
+ },
355
+ "funding": {
356
+ "type": "opencollective",
357
+ "url": "https://opencollective.com/typescript-eslint"
358
+ },
359
+ "peerDependencies": {
360
+ "eslint": "^8.57.0 || ^9.0.0",
361
+ "typescript": ">=4.8.4 <5.9.0"
362
+ }
363
+ },
364
+ "node_modules/@typescript-eslint/project-service": {
365
+ "version": "8.36.0",
366
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.36.0.tgz",
367
+ "integrity": "sha512-JAhQFIABkWccQYeLMrHadu/fhpzmSQ1F1KXkpzqiVxA/iYI6UnRt2trqXHt1sYEcw1mxLnB9rKMsOxXPxowN/g==",
368
+ "license": "MIT",
369
+ "dependencies": {
370
+ "@typescript-eslint/tsconfig-utils": "^8.36.0",
371
+ "@typescript-eslint/types": "^8.36.0",
372
+ "debug": "^4.3.4"
373
+ },
374
+ "engines": {
375
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
376
+ },
377
+ "funding": {
378
+ "type": "opencollective",
379
+ "url": "https://opencollective.com/typescript-eslint"
380
+ },
381
+ "peerDependencies": {
382
+ "typescript": ">=4.8.4 <5.9.0"
383
+ }
384
+ },
385
+ "node_modules/@typescript-eslint/scope-manager": {
386
+ "version": "8.36.0",
387
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.36.0.tgz",
388
+ "integrity": "sha512-wCnapIKnDkN62fYtTGv2+RY8FlnBYA3tNm0fm91kc2BjPhV2vIjwwozJ7LToaLAyb1ca8BxrS7vT+Pvvf7RvqA==",
389
+ "license": "MIT",
390
+ "dependencies": {
391
+ "@typescript-eslint/types": "8.36.0",
392
+ "@typescript-eslint/visitor-keys": "8.36.0"
393
+ },
394
+ "engines": {
395
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
396
+ },
397
+ "funding": {
398
+ "type": "opencollective",
399
+ "url": "https://opencollective.com/typescript-eslint"
400
+ }
401
+ },
402
+ "node_modules/@typescript-eslint/tsconfig-utils": {
403
+ "version": "8.36.0",
404
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.36.0.tgz",
405
+ "integrity": "sha512-Nhh3TIEgN18mNbdXpd5Q8mSCBnrZQeY9V7Ca3dqYvNDStNIGRmJA6dmrIPMJ0kow3C7gcQbpsG2rPzy1Ks/AnA==",
406
+ "license": "MIT",
407
+ "engines": {
408
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
409
+ },
410
+ "funding": {
411
+ "type": "opencollective",
412
+ "url": "https://opencollective.com/typescript-eslint"
413
+ },
414
+ "peerDependencies": {
415
+ "typescript": ">=4.8.4 <5.9.0"
416
+ }
417
+ },
418
+ "node_modules/@typescript-eslint/type-utils": {
419
+ "version": "8.36.0",
420
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.36.0.tgz",
421
+ "integrity": "sha512-5aaGYG8cVDd6cxfk/ynpYzxBRZJk7w/ymto6uiyUFtdCozQIsQWh7M28/6r57Fwkbweng8qAzoMCPwSJfWlmsg==",
422
+ "license": "MIT",
423
+ "dependencies": {
424
+ "@typescript-eslint/typescript-estree": "8.36.0",
425
+ "@typescript-eslint/utils": "8.36.0",
426
+ "debug": "^4.3.4",
427
+ "ts-api-utils": "^2.1.0"
428
+ },
429
+ "engines": {
430
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
431
+ },
432
+ "funding": {
433
+ "type": "opencollective",
434
+ "url": "https://opencollective.com/typescript-eslint"
435
+ },
436
+ "peerDependencies": {
437
+ "eslint": "^8.57.0 || ^9.0.0",
438
+ "typescript": ">=4.8.4 <5.9.0"
439
+ }
440
+ },
441
+ "node_modules/@typescript-eslint/types": {
442
+ "version": "8.36.0",
443
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.36.0.tgz",
444
+ "integrity": "sha512-xGms6l5cTJKQPZOKM75Dl9yBfNdGeLRsIyufewnxT4vZTrjC0ImQT4fj8QmtJK84F58uSh5HVBSANwcfiXxABQ==",
445
+ "license": "MIT",
446
+ "engines": {
447
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
448
+ },
449
+ "funding": {
450
+ "type": "opencollective",
451
+ "url": "https://opencollective.com/typescript-eslint"
452
+ }
453
+ },
454
+ "node_modules/@typescript-eslint/typescript-estree": {
455
+ "version": "8.36.0",
456
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.36.0.tgz",
457
+ "integrity": "sha512-JaS8bDVrfVJX4av0jLpe4ye0BpAaUW7+tnS4Y4ETa3q7NoZgzYbN9zDQTJ8kPb5fQ4n0hliAt9tA4Pfs2zA2Hg==",
458
+ "license": "MIT",
459
+ "dependencies": {
460
+ "@typescript-eslint/project-service": "8.36.0",
461
+ "@typescript-eslint/tsconfig-utils": "8.36.0",
462
+ "@typescript-eslint/types": "8.36.0",
463
+ "@typescript-eslint/visitor-keys": "8.36.0",
464
+ "debug": "^4.3.4",
465
+ "fast-glob": "^3.3.2",
466
+ "is-glob": "^4.0.3",
467
+ "minimatch": "^9.0.4",
468
+ "semver": "^7.6.0",
469
+ "ts-api-utils": "^2.1.0"
470
+ },
471
+ "engines": {
472
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
473
+ },
474
+ "funding": {
475
+ "type": "opencollective",
476
+ "url": "https://opencollective.com/typescript-eslint"
477
+ },
478
+ "peerDependencies": {
479
+ "typescript": ">=4.8.4 <5.9.0"
480
+ }
481
+ },
482
+ "node_modules/@typescript-eslint/utils": {
483
+ "version": "8.36.0",
484
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.36.0.tgz",
485
+ "integrity": "sha512-VOqmHu42aEMT+P2qYjylw6zP/3E/HvptRwdn/PZxyV27KhZg2IOszXod4NcXisWzPAGSS4trE/g4moNj6XmH2g==",
486
+ "license": "MIT",
487
+ "dependencies": {
488
+ "@eslint-community/eslint-utils": "^4.7.0",
489
+ "@typescript-eslint/scope-manager": "8.36.0",
490
+ "@typescript-eslint/types": "8.36.0",
491
+ "@typescript-eslint/typescript-estree": "8.36.0"
492
+ },
493
+ "engines": {
494
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
495
+ },
496
+ "funding": {
497
+ "type": "opencollective",
498
+ "url": "https://opencollective.com/typescript-eslint"
499
+ },
500
+ "peerDependencies": {
501
+ "eslint": "^8.57.0 || ^9.0.0",
502
+ "typescript": ">=4.8.4 <5.9.0"
503
+ }
504
+ },
505
+ "node_modules/@typescript-eslint/visitor-keys": {
506
+ "version": "8.36.0",
507
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.36.0.tgz",
508
+ "integrity": "sha512-vZrhV2lRPWDuGoxcmrzRZyxAggPL+qp3WzUrlZD+slFueDiYHxeBa34dUXPuC0RmGKzl4lS5kFJYvKCq9cnNDA==",
509
+ "license": "MIT",
510
+ "dependencies": {
511
+ "@typescript-eslint/types": "8.36.0",
512
+ "eslint-visitor-keys": "^4.2.1"
513
+ },
514
+ "engines": {
515
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
516
+ },
517
+ "funding": {
518
+ "type": "opencollective",
519
+ "url": "https://opencollective.com/typescript-eslint"
520
+ }
521
+ },
522
+ "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
523
+ "version": "4.2.1",
524
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
525
+ "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
526
+ "license": "Apache-2.0",
527
+ "engines": {
528
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
529
+ },
530
+ "funding": {
531
+ "url": "https://opencollective.com/eslint"
532
+ }
533
+ },
534
+ "node_modules/acorn": {
535
+ "version": "8.15.0",
536
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
537
+ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
538
+ "license": "MIT",
539
+ "bin": {
540
+ "acorn": "bin/acorn"
541
+ },
542
+ "engines": {
543
+ "node": ">=0.4.0"
544
+ }
545
+ },
546
+ "node_modules/acorn-jsx": {
547
+ "version": "5.3.2",
548
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
549
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
550
+ "license": "MIT",
551
+ "peerDependencies": {
552
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
553
+ }
554
+ },
555
+ "node_modules/ajv": {
556
+ "version": "6.12.6",
557
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
558
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
559
+ "license": "MIT",
560
+ "dependencies": {
561
+ "fast-deep-equal": "^3.1.1",
562
+ "fast-json-stable-stringify": "^2.0.0",
563
+ "json-schema-traverse": "^0.4.1",
564
+ "uri-js": "^4.2.2"
565
+ },
566
+ "funding": {
567
+ "type": "github",
568
+ "url": "https://github.com/sponsors/epoberezkin"
569
+ }
570
+ },
571
+ "node_modules/ansi-styles": {
572
+ "version": "4.3.0",
573
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
574
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
575
+ "license": "MIT",
576
+ "dependencies": {
577
+ "color-convert": "^2.0.1"
578
+ },
579
+ "engines": {
580
+ "node": ">=8"
581
+ },
582
+ "funding": {
583
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
584
+ }
585
+ },
586
+ "node_modules/argparse": {
587
+ "version": "2.0.1",
588
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
589
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
590
+ "license": "Python-2.0"
591
+ },
592
+ "node_modules/balanced-match": {
593
+ "version": "1.0.2",
594
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
595
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
596
+ "license": "MIT"
597
+ },
598
+ "node_modules/brace-expansion": {
599
+ "version": "2.0.2",
600
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
601
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
602
+ "license": "MIT",
603
+ "dependencies": {
604
+ "balanced-match": "^1.0.0"
605
+ }
606
+ },
607
+ "node_modules/braces": {
608
+ "version": "3.0.3",
609
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
610
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
611
+ "license": "MIT",
612
+ "dependencies": {
613
+ "fill-range": "^7.1.1"
614
+ },
615
+ "engines": {
616
+ "node": ">=8"
617
+ }
618
+ },
619
+ "node_modules/callsites": {
620
+ "version": "3.1.0",
621
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
622
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
623
+ "license": "MIT",
624
+ "engines": {
625
+ "node": ">=6"
626
+ }
627
+ },
628
+ "node_modules/chalk": {
629
+ "version": "4.1.2",
630
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
631
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
632
+ "license": "MIT",
633
+ "dependencies": {
634
+ "ansi-styles": "^4.1.0",
635
+ "supports-color": "^7.1.0"
636
+ },
637
+ "engines": {
638
+ "node": ">=10"
639
+ },
640
+ "funding": {
641
+ "url": "https://github.com/chalk/chalk?sponsor=1"
642
+ }
643
+ },
644
+ "node_modules/color-convert": {
645
+ "version": "2.0.1",
646
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
647
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
648
+ "license": "MIT",
649
+ "dependencies": {
650
+ "color-name": "~1.1.4"
651
+ },
652
+ "engines": {
653
+ "node": ">=7.0.0"
654
+ }
655
+ },
656
+ "node_modules/color-name": {
657
+ "version": "1.1.4",
658
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
659
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
660
+ "license": "MIT"
661
+ },
662
+ "node_modules/concat-map": {
663
+ "version": "0.0.1",
664
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
665
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
666
+ "license": "MIT"
667
+ },
668
+ "node_modules/cross-spawn": {
669
+ "version": "7.0.6",
670
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
671
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
672
+ "license": "MIT",
673
+ "dependencies": {
674
+ "path-key": "^3.1.0",
675
+ "shebang-command": "^2.0.0",
676
+ "which": "^2.0.1"
677
+ },
678
+ "engines": {
679
+ "node": ">= 8"
680
+ }
681
+ },
682
+ "node_modules/debug": {
683
+ "version": "4.4.1",
684
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
685
+ "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
686
+ "license": "MIT",
687
+ "dependencies": {
688
+ "ms": "^2.1.3"
689
+ },
690
+ "engines": {
691
+ "node": ">=6.0"
692
+ },
693
+ "peerDependenciesMeta": {
694
+ "supports-color": {
695
+ "optional": true
696
+ }
697
+ }
698
+ },
699
+ "node_modules/deep-is": {
700
+ "version": "0.1.4",
701
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
702
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
703
+ "license": "MIT"
704
+ },
705
+ "node_modules/escape-string-regexp": {
706
+ "version": "4.0.0",
707
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
708
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
709
+ "license": "MIT",
710
+ "engines": {
711
+ "node": ">=10"
712
+ },
713
+ "funding": {
714
+ "url": "https://github.com/sponsors/sindresorhus"
715
+ }
716
+ },
717
+ "node_modules/eslint": {
718
+ "version": "9.30.1",
719
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.30.1.tgz",
720
+ "integrity": "sha512-zmxXPNMOXmwm9E0yQLi5uqXHs7uq2UIiqEKo3Gq+3fwo1XrJ+hijAZImyF7hclW3E6oHz43Yk3RP8at6OTKflQ==",
721
+ "license": "MIT",
722
+ "dependencies": {
723
+ "@eslint-community/eslint-utils": "^4.2.0",
724
+ "@eslint-community/regexpp": "^4.12.1",
725
+ "@eslint/config-array": "^0.21.0",
726
+ "@eslint/config-helpers": "^0.3.0",
727
+ "@eslint/core": "^0.14.0",
728
+ "@eslint/eslintrc": "^3.3.1",
729
+ "@eslint/js": "9.30.1",
730
+ "@eslint/plugin-kit": "^0.3.1",
731
+ "@humanfs/node": "^0.16.6",
732
+ "@humanwhocodes/module-importer": "^1.0.1",
733
+ "@humanwhocodes/retry": "^0.4.2",
734
+ "@types/estree": "^1.0.6",
735
+ "@types/json-schema": "^7.0.15",
736
+ "ajv": "^6.12.4",
737
+ "chalk": "^4.0.0",
738
+ "cross-spawn": "^7.0.6",
739
+ "debug": "^4.3.2",
740
+ "escape-string-regexp": "^4.0.0",
741
+ "eslint-scope": "^8.4.0",
742
+ "eslint-visitor-keys": "^4.2.1",
743
+ "espree": "^10.4.0",
744
+ "esquery": "^1.5.0",
745
+ "esutils": "^2.0.2",
746
+ "fast-deep-equal": "^3.1.3",
747
+ "file-entry-cache": "^8.0.0",
748
+ "find-up": "^5.0.0",
749
+ "glob-parent": "^6.0.2",
750
+ "ignore": "^5.2.0",
751
+ "imurmurhash": "^0.1.4",
752
+ "is-glob": "^4.0.0",
753
+ "json-stable-stringify-without-jsonify": "^1.0.1",
754
+ "lodash.merge": "^4.6.2",
755
+ "minimatch": "^3.1.2",
756
+ "natural-compare": "^1.4.0",
757
+ "optionator": "^0.9.3"
758
+ },
759
+ "bin": {
760
+ "eslint": "bin/eslint.js"
761
+ },
762
+ "engines": {
763
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
764
+ },
765
+ "funding": {
766
+ "url": "https://eslint.org/donate"
767
+ },
768
+ "peerDependencies": {
769
+ "jiti": "*"
770
+ },
771
+ "peerDependenciesMeta": {
772
+ "jiti": {
773
+ "optional": true
774
+ }
775
+ }
776
+ },
777
+ "node_modules/eslint-scope": {
778
+ "version": "8.4.0",
779
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz",
780
+ "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==",
781
+ "license": "BSD-2-Clause",
782
+ "dependencies": {
783
+ "esrecurse": "^4.3.0",
784
+ "estraverse": "^5.2.0"
785
+ },
786
+ "engines": {
787
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
788
+ },
789
+ "funding": {
790
+ "url": "https://opencollective.com/eslint"
791
+ }
792
+ },
793
+ "node_modules/eslint-visitor-keys": {
794
+ "version": "3.4.3",
795
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
796
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
797
+ "license": "Apache-2.0",
798
+ "engines": {
799
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
800
+ },
801
+ "funding": {
802
+ "url": "https://opencollective.com/eslint"
803
+ }
804
+ },
805
+ "node_modules/eslint/node_modules/brace-expansion": {
806
+ "version": "1.1.12",
807
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
808
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
809
+ "license": "MIT",
810
+ "dependencies": {
811
+ "balanced-match": "^1.0.0",
812
+ "concat-map": "0.0.1"
813
+ }
814
+ },
815
+ "node_modules/eslint/node_modules/eslint-visitor-keys": {
816
+ "version": "4.2.1",
817
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
818
+ "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
819
+ "license": "Apache-2.0",
820
+ "engines": {
821
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
822
+ },
823
+ "funding": {
824
+ "url": "https://opencollective.com/eslint"
825
+ }
826
+ },
827
+ "node_modules/eslint/node_modules/ignore": {
828
+ "version": "5.3.2",
829
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
830
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
831
+ "license": "MIT",
832
+ "engines": {
833
+ "node": ">= 4"
834
+ }
835
+ },
836
+ "node_modules/eslint/node_modules/minimatch": {
837
+ "version": "3.1.2",
838
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
839
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
840
+ "license": "ISC",
841
+ "dependencies": {
842
+ "brace-expansion": "^1.1.7"
843
+ },
844
+ "engines": {
845
+ "node": "*"
846
+ }
847
+ },
848
+ "node_modules/espree": {
849
+ "version": "10.4.0",
850
+ "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
851
+ "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
852
+ "license": "BSD-2-Clause",
853
+ "dependencies": {
854
+ "acorn": "^8.15.0",
855
+ "acorn-jsx": "^5.3.2",
856
+ "eslint-visitor-keys": "^4.2.1"
857
+ },
858
+ "engines": {
859
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
860
+ },
861
+ "funding": {
862
+ "url": "https://opencollective.com/eslint"
863
+ }
864
+ },
865
+ "node_modules/espree/node_modules/eslint-visitor-keys": {
866
+ "version": "4.2.1",
867
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
868
+ "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
869
+ "license": "Apache-2.0",
870
+ "engines": {
871
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
872
+ },
873
+ "funding": {
874
+ "url": "https://opencollective.com/eslint"
875
+ }
876
+ },
877
+ "node_modules/esquery": {
878
+ "version": "1.6.0",
879
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
880
+ "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
881
+ "license": "BSD-3-Clause",
882
+ "dependencies": {
883
+ "estraverse": "^5.1.0"
884
+ },
885
+ "engines": {
886
+ "node": ">=0.10"
887
+ }
888
+ },
889
+ "node_modules/esrecurse": {
890
+ "version": "4.3.0",
891
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
892
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
893
+ "license": "BSD-2-Clause",
894
+ "dependencies": {
895
+ "estraverse": "^5.2.0"
896
+ },
897
+ "engines": {
898
+ "node": ">=4.0"
899
+ }
900
+ },
901
+ "node_modules/estraverse": {
902
+ "version": "5.3.0",
903
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
904
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
905
+ "license": "BSD-2-Clause",
906
+ "engines": {
907
+ "node": ">=4.0"
908
+ }
909
+ },
910
+ "node_modules/esutils": {
911
+ "version": "2.0.3",
912
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
913
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
914
+ "license": "BSD-2-Clause",
915
+ "engines": {
916
+ "node": ">=0.10.0"
917
+ }
918
+ },
919
+ "node_modules/fast-deep-equal": {
920
+ "version": "3.1.3",
921
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
922
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
923
+ "license": "MIT"
924
+ },
925
+ "node_modules/fast-glob": {
926
+ "version": "3.3.3",
927
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
928
+ "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
929
+ "license": "MIT",
930
+ "dependencies": {
931
+ "@nodelib/fs.stat": "^2.0.2",
932
+ "@nodelib/fs.walk": "^1.2.3",
933
+ "glob-parent": "^5.1.2",
934
+ "merge2": "^1.3.0",
935
+ "micromatch": "^4.0.8"
936
+ },
937
+ "engines": {
938
+ "node": ">=8.6.0"
939
+ }
940
+ },
941
+ "node_modules/fast-glob/node_modules/glob-parent": {
942
+ "version": "5.1.2",
943
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
944
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
945
+ "license": "ISC",
946
+ "dependencies": {
947
+ "is-glob": "^4.0.1"
948
+ },
949
+ "engines": {
950
+ "node": ">= 6"
951
+ }
952
+ },
953
+ "node_modules/fast-json-stable-stringify": {
954
+ "version": "2.1.0",
955
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
956
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
957
+ "license": "MIT"
958
+ },
959
+ "node_modules/fast-levenshtein": {
960
+ "version": "2.0.6",
961
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
962
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
963
+ "license": "MIT"
964
+ },
965
+ "node_modules/fastq": {
966
+ "version": "1.19.1",
967
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
968
+ "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
969
+ "license": "ISC",
970
+ "dependencies": {
971
+ "reusify": "^1.0.4"
972
+ }
973
+ },
974
+ "node_modules/file-entry-cache": {
975
+ "version": "8.0.0",
976
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
977
+ "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
978
+ "license": "MIT",
979
+ "dependencies": {
980
+ "flat-cache": "^4.0.0"
981
+ },
982
+ "engines": {
983
+ "node": ">=16.0.0"
984
+ }
985
+ },
986
+ "node_modules/fill-range": {
987
+ "version": "7.1.1",
988
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
989
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
990
+ "license": "MIT",
991
+ "dependencies": {
992
+ "to-regex-range": "^5.0.1"
993
+ },
994
+ "engines": {
995
+ "node": ">=8"
996
+ }
997
+ },
998
+ "node_modules/find-up": {
999
+ "version": "5.0.0",
1000
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
1001
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
1002
+ "license": "MIT",
1003
+ "dependencies": {
1004
+ "locate-path": "^6.0.0",
1005
+ "path-exists": "^4.0.0"
1006
+ },
1007
+ "engines": {
1008
+ "node": ">=10"
1009
+ },
1010
+ "funding": {
1011
+ "url": "https://github.com/sponsors/sindresorhus"
1012
+ }
1013
+ },
1014
+ "node_modules/flat-cache": {
1015
+ "version": "4.0.1",
1016
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
1017
+ "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
1018
+ "license": "MIT",
1019
+ "dependencies": {
1020
+ "flatted": "^3.2.9",
1021
+ "keyv": "^4.5.4"
1022
+ },
1023
+ "engines": {
1024
+ "node": ">=16"
1025
+ }
1026
+ },
1027
+ "node_modules/flatted": {
1028
+ "version": "3.3.3",
1029
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
1030
+ "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
1031
+ "license": "ISC"
1032
+ },
1033
+ "node_modules/glob-parent": {
1034
+ "version": "6.0.2",
1035
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
1036
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
1037
+ "license": "ISC",
1038
+ "dependencies": {
1039
+ "is-glob": "^4.0.3"
1040
+ },
1041
+ "engines": {
1042
+ "node": ">=10.13.0"
1043
+ }
1044
+ },
1045
+ "node_modules/globals": {
1046
+ "version": "14.0.0",
1047
+ "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
1048
+ "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
1049
+ "license": "MIT",
1050
+ "engines": {
1051
+ "node": ">=18"
1052
+ },
1053
+ "funding": {
1054
+ "url": "https://github.com/sponsors/sindresorhus"
1055
+ }
1056
+ },
1057
+ "node_modules/graphemer": {
1058
+ "version": "1.4.0",
1059
+ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
1060
+ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
1061
+ "license": "MIT"
1062
+ },
1063
+ "node_modules/has-flag": {
1064
+ "version": "4.0.0",
1065
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1066
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1067
+ "license": "MIT",
1068
+ "engines": {
1069
+ "node": ">=8"
1070
+ }
1071
+ },
1072
+ "node_modules/ignore": {
1073
+ "version": "7.0.5",
1074
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
1075
+ "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
1076
+ "license": "MIT",
1077
+ "engines": {
1078
+ "node": ">= 4"
1079
+ }
1080
+ },
1081
+ "node_modules/import-fresh": {
1082
+ "version": "3.3.1",
1083
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
1084
+ "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
1085
+ "license": "MIT",
1086
+ "dependencies": {
1087
+ "parent-module": "^1.0.0",
1088
+ "resolve-from": "^4.0.0"
1089
+ },
1090
+ "engines": {
1091
+ "node": ">=6"
1092
+ },
1093
+ "funding": {
1094
+ "url": "https://github.com/sponsors/sindresorhus"
1095
+ }
1096
+ },
1097
+ "node_modules/imurmurhash": {
1098
+ "version": "0.1.4",
1099
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
1100
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
1101
+ "license": "MIT",
1102
+ "engines": {
1103
+ "node": ">=0.8.19"
1104
+ }
1105
+ },
1106
+ "node_modules/is-extglob": {
1107
+ "version": "2.1.1",
1108
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1109
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
1110
+ "license": "MIT",
1111
+ "engines": {
1112
+ "node": ">=0.10.0"
1113
+ }
1114
+ },
1115
+ "node_modules/is-glob": {
1116
+ "version": "4.0.3",
1117
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
1118
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
1119
+ "license": "MIT",
1120
+ "dependencies": {
1121
+ "is-extglob": "^2.1.1"
1122
+ },
1123
+ "engines": {
1124
+ "node": ">=0.10.0"
1125
+ }
1126
+ },
1127
+ "node_modules/is-number": {
1128
+ "version": "7.0.0",
1129
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1130
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1131
+ "license": "MIT",
1132
+ "engines": {
1133
+ "node": ">=0.12.0"
1134
+ }
1135
+ },
1136
+ "node_modules/isexe": {
1137
+ "version": "2.0.0",
1138
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1139
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
1140
+ "license": "ISC"
1141
+ },
1142
+ "node_modules/js-yaml": {
1143
+ "version": "4.1.0",
1144
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
1145
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
1146
+ "license": "MIT",
1147
+ "dependencies": {
1148
+ "argparse": "^2.0.1"
1149
+ },
1150
+ "bin": {
1151
+ "js-yaml": "bin/js-yaml.js"
1152
+ }
1153
+ },
1154
+ "node_modules/json-buffer": {
1155
+ "version": "3.0.1",
1156
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
1157
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
1158
+ "license": "MIT"
1159
+ },
1160
+ "node_modules/json-schema-traverse": {
1161
+ "version": "0.4.1",
1162
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
1163
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
1164
+ "license": "MIT"
1165
+ },
1166
+ "node_modules/json-stable-stringify-without-jsonify": {
1167
+ "version": "1.0.1",
1168
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
1169
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
1170
+ "license": "MIT"
1171
+ },
1172
+ "node_modules/keyv": {
1173
+ "version": "4.5.4",
1174
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
1175
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
1176
+ "license": "MIT",
1177
+ "dependencies": {
1178
+ "json-buffer": "3.0.1"
1179
+ }
1180
+ },
1181
+ "node_modules/levn": {
1182
+ "version": "0.4.1",
1183
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
1184
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
1185
+ "license": "MIT",
1186
+ "dependencies": {
1187
+ "prelude-ls": "^1.2.1",
1188
+ "type-check": "~0.4.0"
1189
+ },
1190
+ "engines": {
1191
+ "node": ">= 0.8.0"
1192
+ }
1193
+ },
1194
+ "node_modules/locate-path": {
1195
+ "version": "6.0.0",
1196
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
1197
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
1198
+ "license": "MIT",
1199
+ "dependencies": {
1200
+ "p-locate": "^5.0.0"
1201
+ },
1202
+ "engines": {
1203
+ "node": ">=10"
1204
+ },
1205
+ "funding": {
1206
+ "url": "https://github.com/sponsors/sindresorhus"
1207
+ }
1208
+ },
1209
+ "node_modules/lodash.merge": {
1210
+ "version": "4.6.2",
1211
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
1212
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
1213
+ "license": "MIT"
1214
+ },
1215
+ "node_modules/merge2": {
1216
+ "version": "1.4.1",
1217
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
1218
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
1219
+ "license": "MIT",
1220
+ "engines": {
1221
+ "node": ">= 8"
1222
+ }
1223
+ },
1224
+ "node_modules/micromatch": {
1225
+ "version": "4.0.8",
1226
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
1227
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
1228
+ "license": "MIT",
1229
+ "dependencies": {
1230
+ "braces": "^3.0.3",
1231
+ "picomatch": "^2.3.1"
1232
+ },
1233
+ "engines": {
1234
+ "node": ">=8.6"
1235
+ }
1236
+ },
1237
+ "node_modules/minimatch": {
1238
+ "version": "9.0.5",
1239
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
1240
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
1241
+ "license": "ISC",
1242
+ "dependencies": {
1243
+ "brace-expansion": "^2.0.1"
1244
+ },
1245
+ "engines": {
1246
+ "node": ">=16 || 14 >=14.17"
1247
+ },
1248
+ "funding": {
1249
+ "url": "https://github.com/sponsors/isaacs"
1250
+ }
1251
+ },
1252
+ "node_modules/ms": {
1253
+ "version": "2.1.3",
1254
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1255
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
1256
+ "license": "MIT"
1257
+ },
1258
+ "node_modules/natural-compare": {
1259
+ "version": "1.4.0",
1260
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
1261
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
1262
+ "license": "MIT"
1263
+ },
1264
+ "node_modules/optionator": {
1265
+ "version": "0.9.4",
1266
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
1267
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
1268
+ "license": "MIT",
1269
+ "dependencies": {
1270
+ "deep-is": "^0.1.3",
1271
+ "fast-levenshtein": "^2.0.6",
1272
+ "levn": "^0.4.1",
1273
+ "prelude-ls": "^1.2.1",
1274
+ "type-check": "^0.4.0",
1275
+ "word-wrap": "^1.2.5"
1276
+ },
1277
+ "engines": {
1278
+ "node": ">= 0.8.0"
1279
+ }
1280
+ },
1281
+ "node_modules/p-limit": {
1282
+ "version": "3.1.0",
1283
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
1284
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
1285
+ "license": "MIT",
1286
+ "dependencies": {
1287
+ "yocto-queue": "^0.1.0"
1288
+ },
1289
+ "engines": {
1290
+ "node": ">=10"
1291
+ },
1292
+ "funding": {
1293
+ "url": "https://github.com/sponsors/sindresorhus"
1294
+ }
1295
+ },
1296
+ "node_modules/p-locate": {
1297
+ "version": "5.0.0",
1298
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
1299
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
1300
+ "license": "MIT",
1301
+ "dependencies": {
1302
+ "p-limit": "^3.0.2"
1303
+ },
1304
+ "engines": {
1305
+ "node": ">=10"
1306
+ },
1307
+ "funding": {
1308
+ "url": "https://github.com/sponsors/sindresorhus"
1309
+ }
1310
+ },
1311
+ "node_modules/parent-module": {
1312
+ "version": "1.0.1",
1313
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
1314
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
1315
+ "license": "MIT",
1316
+ "dependencies": {
1317
+ "callsites": "^3.0.0"
1318
+ },
1319
+ "engines": {
1320
+ "node": ">=6"
1321
+ }
1322
+ },
1323
+ "node_modules/path-exists": {
1324
+ "version": "4.0.0",
1325
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
1326
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
1327
+ "license": "MIT",
1328
+ "engines": {
1329
+ "node": ">=8"
1330
+ }
1331
+ },
1332
+ "node_modules/path-key": {
1333
+ "version": "3.1.1",
1334
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
1335
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
1336
+ "license": "MIT",
1337
+ "engines": {
1338
+ "node": ">=8"
1339
+ }
1340
+ },
1341
+ "node_modules/picomatch": {
1342
+ "version": "2.3.1",
1343
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
1344
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
1345
+ "license": "MIT",
1346
+ "engines": {
1347
+ "node": ">=8.6"
1348
+ },
1349
+ "funding": {
1350
+ "url": "https://github.com/sponsors/jonschlinkert"
1351
+ }
1352
+ },
1353
+ "node_modules/prelude-ls": {
1354
+ "version": "1.2.1",
1355
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
1356
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
1357
+ "license": "MIT",
1358
+ "engines": {
1359
+ "node": ">= 0.8.0"
1360
+ }
1361
+ },
1362
+ "node_modules/punycode": {
1363
+ "version": "2.3.1",
1364
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
1365
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
1366
+ "license": "MIT",
1367
+ "engines": {
1368
+ "node": ">=6"
1369
+ }
1370
+ },
1371
+ "node_modules/queue-microtask": {
1372
+ "version": "1.2.3",
1373
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
1374
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
1375
+ "funding": [
1376
+ {
1377
+ "type": "github",
1378
+ "url": "https://github.com/sponsors/feross"
1379
+ },
1380
+ {
1381
+ "type": "patreon",
1382
+ "url": "https://www.patreon.com/feross"
1383
+ },
1384
+ {
1385
+ "type": "consulting",
1386
+ "url": "https://feross.org/support"
1387
+ }
1388
+ ],
1389
+ "license": "MIT"
1390
+ },
1391
+ "node_modules/resolve-from": {
1392
+ "version": "4.0.0",
1393
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
1394
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
1395
+ "license": "MIT",
1396
+ "engines": {
1397
+ "node": ">=4"
1398
+ }
1399
+ },
1400
+ "node_modules/reusify": {
1401
+ "version": "1.1.0",
1402
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
1403
+ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
1404
+ "license": "MIT",
1405
+ "engines": {
1406
+ "iojs": ">=1.0.0",
1407
+ "node": ">=0.10.0"
1408
+ }
1409
+ },
1410
+ "node_modules/run-parallel": {
1411
+ "version": "1.2.0",
1412
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
1413
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
1414
+ "funding": [
1415
+ {
1416
+ "type": "github",
1417
+ "url": "https://github.com/sponsors/feross"
1418
+ },
1419
+ {
1420
+ "type": "patreon",
1421
+ "url": "https://www.patreon.com/feross"
1422
+ },
1423
+ {
1424
+ "type": "consulting",
1425
+ "url": "https://feross.org/support"
1426
+ }
1427
+ ],
1428
+ "license": "MIT",
1429
+ "dependencies": {
1430
+ "queue-microtask": "^1.2.2"
1431
+ }
1432
+ },
1433
+ "node_modules/semver": {
1434
+ "version": "7.7.2",
1435
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
1436
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
1437
+ "license": "ISC",
1438
+ "bin": {
1439
+ "semver": "bin/semver.js"
1440
+ },
1441
+ "engines": {
1442
+ "node": ">=10"
1443
+ }
1444
+ },
1445
+ "node_modules/shebang-command": {
1446
+ "version": "2.0.0",
1447
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
1448
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
1449
+ "license": "MIT",
1450
+ "dependencies": {
1451
+ "shebang-regex": "^3.0.0"
1452
+ },
1453
+ "engines": {
1454
+ "node": ">=8"
1455
+ }
1456
+ },
1457
+ "node_modules/shebang-regex": {
1458
+ "version": "3.0.0",
1459
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
1460
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
1461
+ "license": "MIT",
1462
+ "engines": {
1463
+ "node": ">=8"
1464
+ }
1465
+ },
1466
+ "node_modules/strip-json-comments": {
1467
+ "version": "3.1.1",
1468
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
1469
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
1470
+ "license": "MIT",
1471
+ "engines": {
1472
+ "node": ">=8"
1473
+ },
1474
+ "funding": {
1475
+ "url": "https://github.com/sponsors/sindresorhus"
1476
+ }
1477
+ },
1478
+ "node_modules/supports-color": {
1479
+ "version": "7.2.0",
1480
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1481
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1482
+ "license": "MIT",
1483
+ "dependencies": {
1484
+ "has-flag": "^4.0.0"
1485
+ },
1486
+ "engines": {
1487
+ "node": ">=8"
1488
+ }
1489
+ },
1490
+ "node_modules/to-regex-range": {
1491
+ "version": "5.0.1",
1492
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
1493
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
1494
+ "license": "MIT",
1495
+ "dependencies": {
1496
+ "is-number": "^7.0.0"
1497
+ },
1498
+ "engines": {
1499
+ "node": ">=8.0"
1500
+ }
1501
+ },
1502
+ "node_modules/ts-api-utils": {
1503
+ "version": "2.1.0",
1504
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
1505
+ "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
1506
+ "license": "MIT",
1507
+ "engines": {
1508
+ "node": ">=18.12"
1509
+ },
1510
+ "peerDependencies": {
1511
+ "typescript": ">=4.8.4"
1512
+ }
1513
+ },
1514
+ "node_modules/type-check": {
1515
+ "version": "0.4.0",
1516
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
1517
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
1518
+ "license": "MIT",
1519
+ "dependencies": {
1520
+ "prelude-ls": "^1.2.1"
1521
+ },
1522
+ "engines": {
1523
+ "node": ">= 0.8.0"
1524
+ }
1525
+ },
1526
+ "node_modules/typescript": {
1527
+ "version": "5.8.3",
1528
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
1529
+ "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
1530
+ "license": "Apache-2.0",
1531
+ "bin": {
1532
+ "tsc": "bin/tsc",
1533
+ "tsserver": "bin/tsserver"
1534
+ },
1535
+ "engines": {
1536
+ "node": ">=14.17"
1537
+ }
1538
+ },
1539
+ "node_modules/uri-js": {
1540
+ "version": "4.4.1",
1541
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
1542
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
1543
+ "license": "BSD-2-Clause",
1544
+ "dependencies": {
1545
+ "punycode": "^2.1.0"
1546
+ }
1547
+ },
1548
+ "node_modules/which": {
1549
+ "version": "2.0.2",
1550
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
1551
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
1552
+ "license": "ISC",
1553
+ "dependencies": {
1554
+ "isexe": "^2.0.0"
1555
+ },
1556
+ "bin": {
1557
+ "node-which": "bin/node-which"
1558
+ },
1559
+ "engines": {
1560
+ "node": ">= 8"
1561
+ }
1562
+ },
1563
+ "node_modules/word-wrap": {
1564
+ "version": "1.2.5",
1565
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
1566
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
1567
+ "license": "MIT",
1568
+ "engines": {
1569
+ "node": ">=0.10.0"
1570
+ }
1571
+ },
1572
+ "node_modules/yocto-queue": {
1573
+ "version": "0.1.0",
1574
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
1575
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
1576
+ "license": "MIT",
1577
+ "engines": {
1578
+ "node": ">=10"
1579
+ },
1580
+ "funding": {
1581
+ "url": "https://github.com/sponsors/sindresorhus"
1582
+ }
1583
+ }
1584
+ }
1585
+ }