@js-recon/js-recon 1.4.1-beta.1 → 1.4.1

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 (125) hide show
  1. package/.claude-sync/capture-new.sh +61 -0
  2. package/.claude-sync/capture-scan.sh +55 -0
  3. package/.claude-sync/hooks/post-checkout +16 -0
  4. package/.claude-sync/hooks/post-merge +4 -0
  5. package/.claude-sync/hooks/pre-commit +3 -0
  6. package/.claude-sync/merge-agentic.sh +77 -0
  7. package/.claude-sync/setup.sh +17 -0
  8. package/.claude-sync/sync.sh +64 -0
  9. package/.claude-sync/watch.sh +17 -0
  10. package/.github/workflows/build-and-prettify.yaml +40 -0
  11. package/.github/workflows/promote-js-recon.yml +154 -10
  12. package/.vscode/tasks.json +42 -0
  13. package/CHANGELOG.md +27 -0
  14. package/Dockerfile.w-rules +13 -0
  15. package/README.md +1 -1
  16. package/build/analyze/helpers/initRules.js +27 -5
  17. package/build/analyze/helpers/initRules.js.map +1 -1
  18. package/build/analyze/index.js +3 -2
  19. package/build/analyze/index.js.map +1 -1
  20. package/build/completion/index.js +17 -11
  21. package/build/completion/index.js.map +1 -1
  22. package/build/globalConfig.js +1 -1
  23. package/build/globalConfig.js.map +1 -1
  24. package/build/index.js +55 -23
  25. package/build/index.js.map +1 -1
  26. package/build/lazyLoad/angular/angular_getFromMainJs.js +11 -29
  27. package/build/lazyLoad/angular/angular_getFromMainJs.js.map +1 -1
  28. package/build/lazyLoad/angular/angular_recursiveChunkImports.js +104 -0
  29. package/build/lazyLoad/angular/angular_recursiveChunkImports.js.map +1 -0
  30. package/build/lazyLoad/generic/generic_jsMimeTypes.js +19 -0
  31. package/build/lazyLoad/generic/generic_jsMimeTypes.js.map +1 -0
  32. package/build/lazyLoad/index.js +16 -9
  33. package/build/lazyLoad/index.js.map +1 -1
  34. package/build/lazyLoad/methodFilter.js +1 -1
  35. package/build/lazyLoad/methodFilter.js.map +1 -1
  36. package/build/lazyLoad/next_js/NextJsCrawler.js +5 -5
  37. package/build/lazyLoad/next_js/NextJsCrawler.js.map +1 -1
  38. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js +17 -10
  39. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js.map +1 -1
  40. package/build/lazyLoad/next_js/next_bruteForceJsFiles.js +4 -3
  41. package/build/lazyLoad/next_js/next_bruteForceJsFiles.js.map +1 -1
  42. package/build/lazyLoad/next_js/next_parseLayoutJs.js +31 -31
  43. package/build/lazyLoad/next_js/next_parseLayoutJs.js.map +1 -1
  44. package/build/lazyLoad/next_js/next_promiseResolve.js +4 -3
  45. package/build/lazyLoad/next_js/next_promiseResolve.js.map +1 -1
  46. package/build/lazyLoad/next_js/next_scriptTagsSubsequentRequests.js +7 -8
  47. package/build/lazyLoad/next_js/next_scriptTagsSubsequentRequests.js.map +1 -1
  48. package/build/lazyLoad/nuxt_js/nuxt_stringAnalysisJSFiles.js +6 -7
  49. package/build/lazyLoad/nuxt_js/nuxt_stringAnalysisJSFiles.js.map +1 -1
  50. package/build/lazyLoad/react/react_followImports.js +9 -8
  51. package/build/lazyLoad/react/react_followImports.js.map +1 -1
  52. package/build/lazyLoad/react/react_sourcemapUrls.js +5 -11
  53. package/build/lazyLoad/react/react_sourcemapUrls.js.map +1 -1
  54. package/build/lazyLoad/react/react_webpackChunkPaths.js +7 -6
  55. package/build/lazyLoad/react/react_webpackChunkPaths.js.map +1 -1
  56. package/build/lazyLoad/svelte/svelte_discoverPagesFromJs.js +13 -12
  57. package/build/lazyLoad/svelte/svelte_discoverPagesFromJs.js.map +1 -1
  58. package/build/lazyLoad/svelte/svelte_stringAnalysisJSFiles.js +6 -7
  59. package/build/lazyLoad/svelte/svelte_stringAnalysisJSFiles.js.map +1 -1
  60. package/build/lazyLoad/techDetect/checkInterceptedEvidence.js +18 -0
  61. package/build/lazyLoad/techDetect/checkInterceptedEvidence.js.map +1 -0
  62. package/build/lazyLoad/techDetect/index.js +58 -13
  63. package/build/lazyLoad/techDetect/index.js.map +1 -1
  64. package/build/lazyLoad/vue/vue_discoverJsFiles.js +6 -6
  65. package/build/lazyLoad/vue/vue_discoverJsFiles.js.map +1 -1
  66. package/build/lazyLoad/vue/vue_getClientSidePaths.js +8 -7
  67. package/build/lazyLoad/vue/vue_getClientSidePaths.js.map +1 -1
  68. package/build/lazyLoad/vue/vue_jsImports.js +16 -16
  69. package/build/lazyLoad/vue/vue_jsImports.js.map +1 -1
  70. package/build/lazyLoad/vue/vue_reconstructSourceMaps.js +5 -4
  71. package/build/lazyLoad/vue/vue_reconstructSourceMaps.js.map +1 -1
  72. package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js +8 -1
  73. package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js.map +1 -1
  74. package/build/lazyLoad/vue/vue_stringJsFiles.js +15 -8
  75. package/build/lazyLoad/vue/vue_stringJsFiles.js.map +1 -1
  76. package/build/lazyLoad/vue/vue_viteMapDeps.js +6 -5
  77. package/build/lazyLoad/vue/vue_viteMapDeps.js.map +1 -1
  78. package/build/mcp/mcpServer.js +1 -2
  79. package/build/mcp/mcpServer.js.map +1 -1
  80. package/build/mcp/tools.js +1 -2
  81. package/build/mcp/tools.js.map +1 -1
  82. package/build/proxy/awsConfig.js +45 -0
  83. package/build/proxy/awsConfig.js.map +1 -0
  84. package/build/proxy/checkFeasibility.js.map +1 -0
  85. package/build/proxy/checkFireWallBlocking.js.map +1 -0
  86. package/build/proxy/configFile.js +31 -0
  87. package/build/proxy/configFile.js.map +1 -0
  88. package/build/{api_gateway → proxy}/genReq.js +4 -5
  89. package/build/proxy/genReq.js.map +1 -0
  90. package/build/proxy/genericProxy.js +21 -0
  91. package/build/proxy/genericProxy.js.map +1 -0
  92. package/build/proxy/index.js +421 -0
  93. package/build/proxy/index.js.map +1 -0
  94. package/build/proxy/oxylabsProxy.js +34 -0
  95. package/build/proxy/oxylabsProxy.js.map +1 -0
  96. package/build/proxy/resolveProxyConfig.js +38 -0
  97. package/build/proxy/resolveProxyConfig.js.map +1 -0
  98. package/build/refactor/index.js +23 -28
  99. package/build/refactor/index.js.map +1 -1
  100. package/build/report/utility/initGlobalReportDb.js +111 -0
  101. package/build/report/utility/initGlobalReportDb.js.map +1 -0
  102. package/build/report/utility/mergeDomainIntoGlobalDb.js +39 -0
  103. package/build/report/utility/mergeDomainIntoGlobalDb.js.map +1 -0
  104. package/build/run/index.js +129 -75
  105. package/build/run/index.js.map +1 -1
  106. package/build/run/interruptHandler.js +17 -1
  107. package/build/run/interruptHandler.js.map +1 -1
  108. package/build/utility/concurrency.js +35 -0
  109. package/build/utility/concurrency.js.map +1 -0
  110. package/build/utility/configureProxy.js +60 -0
  111. package/build/utility/configureProxy.js.map +1 -0
  112. package/build/utility/globals.js +108 -13
  113. package/build/utility/globals.js.map +1 -1
  114. package/build/utility/makeReq.js +103 -10
  115. package/build/utility/makeReq.js.map +1 -1
  116. package/package.json +9 -2
  117. package/patches/puppeteer-extra-plugin-user-data-dir+2.4.1.patch +31 -0
  118. package/CLAUDE.md +0 -641
  119. package/build/api_gateway/checkFeasibility.js.map +0 -1
  120. package/build/api_gateway/checkFireWallBlocking.js.map +0 -1
  121. package/build/api_gateway/genReq.js.map +0 -1
  122. package/build/api_gateway/index.js +0 -291
  123. package/build/api_gateway/index.js.map +0 -1
  124. /package/build/{api_gateway → proxy}/checkFeasibility.js +0 -0
  125. /package/build/{api_gateway → proxy}/checkFireWallBlocking.js +0 -0
@@ -18,10 +18,13 @@ import CONFIG from "../globalConfig.js";
18
18
  import analyze from "../analyze/index.js";
19
19
  import report from "../report/index.js";
20
20
  import refactor from "../refactor/index.js";
21
+ import initGlobalReportDb from "../report/utility/initGlobalReportDb.js";
22
+ import mergeDomainIntoGlobalDb from "../report/utility/mergeDomainIntoGlobalDb.js";
21
23
  import { clearJsUrls, clearJsonUrls, getJsUrls } from "../lazyLoad/globals.js";
22
24
  import path from "path";
23
- import { installSigintHandler, removeSigintHandler, getSkipStepPromise, resetSkipStep, shouldSkipTarget, resetSkipTarget, } from "./interruptHandler.js";
25
+ import { installSigintHandler, removeSigintHandler, getSkipStepPromise, resetSkipStep, shouldSkipTarget, resetSkipTarget, waitForPendingInterrupt, } from "./interruptHandler.js";
24
26
  import { detectBundler } from "./bundler-detect.js";
27
+ import configureProxy from "../utility/configureProxy.js";
25
28
  /**
26
29
  * Determines the directory for a Content Delivery Network (CDN) if used by the target.
27
30
  *
@@ -131,7 +134,7 @@ const processUrl = (url_1, outputDir_1, workingDir_1, cmd_1, isBatch_1, ...args_
131
134
  resetSkipStep();
132
135
  // @ts-ignore
133
136
  yield Promise.race([
134
- analyze(cmd.rules || "", mappedJsonFileReact, "react", false, openapiFile, false, analyzeFile),
137
+ analyze(cmd.rules || "", mappedJsonFileReact, "react", false, openapiFile, false, analyzeFile, !!cmd.disableRulesVersionCheck),
135
138
  getSkipStepPromise(),
136
139
  ]);
137
140
  console.log(chalk.bgGreen("[+] Analyze complete."));
@@ -150,24 +153,40 @@ const processUrl = (url_1, outputDir_1, workingDir_1, cmd_1, isBatch_1, ...args_
150
153
  console.log(chalk.bgGreen("[+] Report complete."));
151
154
  if (shouldSkipTarget())
152
155
  return;
153
- console.log(chalk.bgCyan("[*] Detecting bundler via CS-MAST-S for refactor..."));
154
- const detectedBundlerTechReact = yield detectBundler(mappedJsonFileReact, "react", Number((_a = cmd.csMastTechDetectThreshold) !== null && _a !== void 0 ? _a : 50));
155
- if (detectedBundlerTechReact) {
156
- const refactorOutputDirReact = isBatch ? `${workingDir}/refactored` : "refactored";
157
- if (fs.existsSync(refactorOutputDirReact))
158
- fs.rmSync(refactorOutputDirReact, { recursive: true });
159
- console.log(chalk.bgCyan(`[*] Running refactor (${detectedBundlerTechReact})...`));
160
- resetSkipStep();
161
- yield Promise.race([
162
- refactor(mappedJsonFileReact, refactorOutputDirReact, detectedBundlerTechReact, false),
163
- getSkipStepPromise(),
164
- ]);
165
- if (shouldSkipTarget())
166
- return;
167
- console.log(chalk.bgGreen("[+] Refactor complete."));
156
+ if (!cmd.disableRefactor) {
157
+ console.log(chalk.bgCyan("[*] Detecting bundler via CS-MAST-S for refactor..."));
158
+ const detectedBundlerTechReact = yield detectBundler(mappedJsonFileReact, "react", Number((_a = cmd.csMastTechDetectThreshold) !== null && _a !== void 0 ? _a : 50));
159
+ if (detectedBundlerTechReact) {
160
+ const refactorOutputDirReact = isBatch ? `${workingDir}/refactored` : "refactored";
161
+ if (fs.existsSync(refactorOutputDirReact))
162
+ fs.rmSync(refactorOutputDirReact, { recursive: true });
163
+ console.log(chalk.bgCyan(`[*] Running refactor (${detectedBundlerTechReact})...`));
164
+ // Vendor chunks may have been downloaded under a different host than the target
165
+ // (CDN) — resolve the assets dir from an actual downloaded JS URL's host instead
166
+ // of always assuming targetHost, mirroring getCdnDir's approach for the map step.
167
+ let reactAssetsHostDir = targetHost;
168
+ for (const jsUrl of getJsUrls()) {
169
+ const jsUrlHost = new URL(jsUrl).host.replace(":", "_");
170
+ if (jsUrlHost !== targetHost) {
171
+ reactAssetsHostDir = jsUrlHost;
172
+ break;
173
+ }
174
+ }
175
+ resetSkipStep();
176
+ yield Promise.race([
177
+ refactor(mappedJsonFileReact, refactorOutputDirReact, detectedBundlerTechReact, false, undefined, undefined, `${outputDir}/${reactAssetsHostDir}/assets`),
178
+ getSkipStepPromise(),
179
+ ]);
180
+ if (shouldSkipTarget())
181
+ return;
182
+ console.log(chalk.bgGreen("[+] Refactor complete."));
183
+ }
184
+ else {
185
+ console.log(chalk.yellow("[!] Bundler not detected via CS-MAST-S, skipping refactor."));
186
+ }
168
187
  }
169
188
  else {
170
- console.log(chalk.yellow("[!] Bundler not detected via CS-MAST-S, skipping refactor."));
189
+ console.log(chalk.yellow("[!] Refactor step disabled via --disable-refactor, skipping."));
171
190
  }
172
191
  console.log(chalk.bgGreenBright(`[+] Analysis complete for ${url}.`));
173
192
  return;
@@ -205,7 +224,7 @@ const processUrl = (url_1, outputDir_1, workingDir_1, cmd_1, isBatch_1, ...args_
205
224
  resetSkipStep();
206
225
  // @ts-ignore
207
226
  yield Promise.race([
208
- analyze(cmd.rules || "", mappedJsonFileVue, "vue", false, openapiFile, false, analyzeFile),
227
+ analyze(cmd.rules || "", mappedJsonFileVue, "vue", false, openapiFile, false, analyzeFile, !!cmd.disableRulesVersionCheck),
209
228
  getSkipStepPromise(),
210
229
  ]);
211
230
  console.log(chalk.bgGreen("[+] Analyze complete."));
@@ -225,24 +244,29 @@ const processUrl = (url_1, outputDir_1, workingDir_1, cmd_1, isBatch_1, ...args_
225
244
  console.log(chalk.bgGreen("[+] Report complete."));
226
245
  if (shouldSkipTarget())
227
246
  return;
228
- console.log(chalk.bgCyan("[*] Detecting bundler via CS-MAST-S for refactor..."));
229
- const detectedBundlerTechVue = yield detectBundler(mappedJsonFileVue, "vue", Number((_b = cmd.csMastTechDetectThreshold) !== null && _b !== void 0 ? _b : 50));
230
- if (detectedBundlerTechVue) {
231
- const refactorOutputDirVue = isBatch ? `${workingDir}/refactored` : "refactored";
232
- if (fs.existsSync(refactorOutputDirVue))
233
- fs.rmSync(refactorOutputDirVue, { recursive: true });
234
- console.log(chalk.bgCyan(`[*] Running refactor (${detectedBundlerTechVue})...`));
235
- resetSkipStep();
236
- yield Promise.race([
237
- refactor(mappedJsonFileVue, refactorOutputDirVue, detectedBundlerTechVue, false),
238
- getSkipStepPromise(),
239
- ]);
240
- if (shouldSkipTarget())
241
- return;
242
- console.log(chalk.bgGreen("[+] Refactor complete."));
247
+ if (!cmd.disableRefactor) {
248
+ console.log(chalk.bgCyan("[*] Detecting bundler via CS-MAST-S for refactor..."));
249
+ const detectedBundlerTechVue = yield detectBundler(mappedJsonFileVue, "vue", Number((_b = cmd.csMastTechDetectThreshold) !== null && _b !== void 0 ? _b : 50));
250
+ if (detectedBundlerTechVue) {
251
+ const refactorOutputDirVue = isBatch ? `${workingDir}/refactored` : "refactored";
252
+ if (fs.existsSync(refactorOutputDirVue))
253
+ fs.rmSync(refactorOutputDirVue, { recursive: true });
254
+ console.log(chalk.bgCyan(`[*] Running refactor (${detectedBundlerTechVue})...`));
255
+ resetSkipStep();
256
+ yield Promise.race([
257
+ refactor(mappedJsonFileVue, refactorOutputDirVue, detectedBundlerTechVue, false),
258
+ getSkipStepPromise(),
259
+ ]);
260
+ if (shouldSkipTarget())
261
+ return;
262
+ console.log(chalk.bgGreen("[+] Refactor complete."));
263
+ }
264
+ else {
265
+ console.log(chalk.yellow("[!] Bundler not detected via CS-MAST-S, skipping refactor."));
266
+ }
243
267
  }
244
268
  else {
245
- console.log(chalk.yellow("[!] Bundler not detected via CS-MAST-S, skipping refactor."));
269
+ console.log(chalk.yellow("[!] Refactor step disabled via --disable-refactor, skipping."));
246
270
  }
247
271
  console.log(chalk.bgGreenBright(`[+] Analysis complete for ${url}.`));
248
272
  return;
@@ -278,7 +302,7 @@ const processUrl = (url_1, outputDir_1, workingDir_1, cmd_1, isBatch_1, ...args_
278
302
  resetSkipStep();
279
303
  // @ts-ignore
280
304
  yield Promise.race([
281
- analyze(cmd.rules || "", mappedJsonFileNuxt, "vue", false, openapiFile, false, analyzeFile),
305
+ analyze(cmd.rules || "", mappedJsonFileNuxt, "vue", false, openapiFile, false, analyzeFile, !!cmd.disableRulesVersionCheck),
282
306
  getSkipStepPromise(),
283
307
  ]);
284
308
  console.log(chalk.bgGreen("[+] Analyze complete."));
@@ -297,24 +321,29 @@ const processUrl = (url_1, outputDir_1, workingDir_1, cmd_1, isBatch_1, ...args_
297
321
  console.log(chalk.bgGreen("[+] Report complete."));
298
322
  if (shouldSkipTarget())
299
323
  return;
300
- console.log(chalk.bgCyan("[*] Detecting bundler via CS-MAST-S for refactor..."));
301
- const detectedBundlerTechNuxt = yield detectBundler(mappedJsonFileNuxt, "nuxt", Number((_c = cmd.csMastTechDetectThreshold) !== null && _c !== void 0 ? _c : 50));
302
- if (detectedBundlerTechNuxt) {
303
- const refactorOutputDirNuxt = isBatch ? `${workingDir}/refactored` : "refactored";
304
- if (fs.existsSync(refactorOutputDirNuxt))
305
- fs.rmSync(refactorOutputDirNuxt, { recursive: true });
306
- console.log(chalk.bgCyan(`[*] Running refactor (${detectedBundlerTechNuxt})...`));
307
- resetSkipStep();
308
- yield Promise.race([
309
- refactor(mappedJsonFileNuxt, refactorOutputDirNuxt, detectedBundlerTechNuxt, false),
310
- getSkipStepPromise(),
311
- ]);
312
- if (shouldSkipTarget())
313
- return;
314
- console.log(chalk.bgGreen("[+] Refactor complete."));
324
+ if (!cmd.disableRefactor) {
325
+ console.log(chalk.bgCyan("[*] Detecting bundler via CS-MAST-S for refactor..."));
326
+ const detectedBundlerTechNuxt = yield detectBundler(mappedJsonFileNuxt, "nuxt", Number((_c = cmd.csMastTechDetectThreshold) !== null && _c !== void 0 ? _c : 50));
327
+ if (detectedBundlerTechNuxt) {
328
+ const refactorOutputDirNuxt = isBatch ? `${workingDir}/refactored` : "refactored";
329
+ if (fs.existsSync(refactorOutputDirNuxt))
330
+ fs.rmSync(refactorOutputDirNuxt, { recursive: true });
331
+ console.log(chalk.bgCyan(`[*] Running refactor (${detectedBundlerTechNuxt})...`));
332
+ resetSkipStep();
333
+ yield Promise.race([
334
+ refactor(mappedJsonFileNuxt, refactorOutputDirNuxt, detectedBundlerTechNuxt, false),
335
+ getSkipStepPromise(),
336
+ ]);
337
+ if (shouldSkipTarget())
338
+ return;
339
+ console.log(chalk.bgGreen("[+] Refactor complete."));
340
+ }
341
+ else {
342
+ console.log(chalk.yellow("[!] Bundler not detected via CS-MAST-S, skipping refactor."));
343
+ }
315
344
  }
316
345
  else {
317
- console.log(chalk.yellow("[!] Bundler not detected via CS-MAST-S, skipping refactor."));
346
+ console.log(chalk.yellow("[!] Refactor step disabled via --disable-refactor, skipping."));
318
347
  }
319
348
  console.log(chalk.bgGreenBright(`[+] Analysis complete for ${url}.`));
320
349
  return;
@@ -349,7 +378,7 @@ const processUrl = (url_1, outputDir_1, workingDir_1, cmd_1, isBatch_1, ...args_
349
378
  resetSkipStep();
350
379
  // @ts-ignore
351
380
  yield Promise.race([
352
- analyze(cmd.rules || "", mappedJsonFileSvelte, "svelte", false, openapiFile, false, analyzeFile),
381
+ analyze(cmd.rules || "", mappedJsonFileSvelte, "svelte", false, openapiFile, false, analyzeFile, !!cmd.disableRulesVersionCheck),
353
382
  getSkipStepPromise(),
354
383
  ]);
355
384
  console.log(chalk.bgGreen("[+] Analyze complete."));
@@ -403,7 +432,7 @@ const processUrl = (url_1, outputDir_1, workingDir_1, cmd_1, isBatch_1, ...args_
403
432
  resetSkipStep();
404
433
  // @ts-ignore
405
434
  yield Promise.race([
406
- analyze(cmd.rules || "", mappedJsonFileAngular, "angular", false, openapiFile, false, analyzeFile),
435
+ analyze(cmd.rules || "", mappedJsonFileAngular, "angular", false, openapiFile, false, analyzeFile, !!cmd.disableRulesVersionCheck),
407
436
  getSkipStepPromise(),
408
437
  ]);
409
438
  console.log(chalk.bgGreen("[+] Analyze complete."));
@@ -527,8 +556,7 @@ const processUrl = (url_1, outputDir_1, workingDir_1, cmd_1, isBatch_1, ...args_
527
556
  console.log(chalk.bgCyan("[7/8] Running analyze to extract endpoints..."));
528
557
  resetSkipStep();
529
558
  yield Promise.race([
530
- // @ts-ignore
531
- analyze(cmd.rules || "", mappedJsonFile, detectedTech, false, openapiFile, false, analyzeFile),
559
+ analyze(cmd.rules || "", mappedJsonFile, detectedTech, false, openapiFile, false, analyzeFile, !!cmd.disableRulesVersionCheck),
532
560
  getSkipStepPromise(),
533
561
  ]);
534
562
  console.log(chalk.bgGreen("[+] Analyze complete."));
@@ -543,24 +571,29 @@ const processUrl = (url_1, outputDir_1, workingDir_1, cmd_1, isBatch_1, ...args_
543
571
  console.log(chalk.bgGreen("[+] Report complete."));
544
572
  if (shouldSkipTarget())
545
573
  return;
546
- console.log(chalk.bgCyan("[*] Detecting bundler via CS-MAST-S for refactor..."));
547
- const detectedBundlerTechNext = yield detectBundler(mappedJsonFile, detectedTech, Number((_d = cmd.csMastTechDetectThreshold) !== null && _d !== void 0 ? _d : 50));
548
- if (detectedBundlerTechNext) {
549
- const refactorOutputDirNext = isBatch ? `${workingDir}/refactored` : "refactored";
550
- if (fs.existsSync(refactorOutputDirNext))
551
- fs.rmSync(refactorOutputDirNext, { recursive: true });
552
- console.log(chalk.bgCyan(`[*] Running refactor (${detectedBundlerTechNext})...`));
553
- resetSkipStep();
554
- yield Promise.race([
555
- refactor(mappedJsonFile, refactorOutputDirNext, detectedBundlerTechNext, false),
556
- getSkipStepPromise(),
557
- ]);
558
- if (shouldSkipTarget())
559
- return;
560
- console.log(chalk.bgGreen("[+] Refactor complete."));
574
+ if (!cmd.disableRefactor) {
575
+ console.log(chalk.bgCyan("[*] Detecting bundler via CS-MAST-S for refactor..."));
576
+ const detectedBundlerTechNext = yield detectBundler(mappedJsonFile, detectedTech, Number((_d = cmd.csMastTechDetectThreshold) !== null && _d !== void 0 ? _d : 50));
577
+ if (detectedBundlerTechNext) {
578
+ const refactorOutputDirNext = isBatch ? `${workingDir}/refactored` : "refactored";
579
+ if (fs.existsSync(refactorOutputDirNext))
580
+ fs.rmSync(refactorOutputDirNext, { recursive: true });
581
+ console.log(chalk.bgCyan(`[*] Running refactor (${detectedBundlerTechNext})...`));
582
+ resetSkipStep();
583
+ yield Promise.race([
584
+ refactor(mappedJsonFile, refactorOutputDirNext, detectedBundlerTechNext, false),
585
+ getSkipStepPromise(),
586
+ ]);
587
+ if (shouldSkipTarget())
588
+ return;
589
+ console.log(chalk.bgGreen("[+] Refactor complete."));
590
+ }
591
+ else {
592
+ console.log(chalk.yellow("[!] Bundler not detected via CS-MAST-S, skipping refactor."));
593
+ }
561
594
  }
562
595
  else {
563
- console.log(chalk.yellow("[!] Bundler not detected via CS-MAST-S, skipping refactor."));
596
+ console.log(chalk.yellow("[!] Refactor step disabled via --disable-refactor, skipping."));
564
597
  }
565
598
  console.log(chalk.bgGreenBright(`[+] Analysis complete for ${url}.`));
566
599
  });
@@ -576,8 +609,7 @@ const processUrl = (url_1, outputDir_1, workingDir_1, cmd_1, isBatch_1, ...args_
576
609
  */
577
610
  export default (cmd) => __awaiter(void 0, void 0, void 0, function* () {
578
611
  var _a, _b, _c, _d, _e;
579
- globalsUtil.setApiGatewayConfigFile(cmd.apiGatewayConfig);
580
- globalsUtil.setUseApiGateway(cmd.apiGateway);
612
+ configureProxy(cmd);
581
613
  globalsUtil.setDisableCache(cmd.disableCache);
582
614
  globalsUtil.setRespCacheFile(cmd.cacheFile);
583
615
  globalsUtil.setYes(cmd.yes);
@@ -612,6 +644,8 @@ export default (cmd) => __awaiter(void 0, void 0, void 0, function* () {
612
644
  if (!fs.existsSync(cmd.output)) {
613
645
  fs.mkdirSync(cmd.output, { recursive: true });
614
646
  }
647
+ const globalDbPath = `${cmd.output}/js-recon.db`;
648
+ yield initGlobalReportDb(globalDbPath);
615
649
  for (const url of urls) {
616
650
  resetSkipTarget();
617
651
  // Validate URL only
@@ -631,11 +665,31 @@ export default (cmd) => __awaiter(void 0, void 0, void 0, function* () {
631
665
  continue;
632
666
  }
633
667
  fs.mkdirSync(thisTargetDir, { recursive: true });
634
- yield processUrl(url, thisTargetDir, thisTargetDir, cmd, true, (_c = cmd._includeMethods) !== null && _c !== void 0 ? _c : [], (_d = cmd._excludeMethods) !== null && _d !== void 0 ? _d : []);
668
+ try {
669
+ yield processUrl(url, thisTargetDir, thisTargetDir, cmd, true, (_c = cmd._includeMethods) !== null && _c !== void 0 ? _c : [], (_d = cmd._excludeMethods) !== null && _d !== void 0 ? _d : []);
670
+ }
671
+ catch (error) {
672
+ console.error(chalk.bgRed(`[!] Unhandled error while processing ${url}: ${error}`));
673
+ process.exitCode = 1;
674
+ continue;
675
+ }
676
+ const domainDbPath = `${thisTargetDir}/js-recon.db`;
677
+ if (fs.existsSync(domainDbPath)) {
678
+ try {
679
+ mergeDomainIntoGlobalDb(globalDbPath, domainDbPath, hostDir);
680
+ }
681
+ catch (error) {
682
+ console.error(chalk.yellow(`[!] Failed to merge ${hostDir} into the global js-recon.db: ${error}`));
683
+ }
684
+ }
685
+ else {
686
+ console.log(chalk.yellow(`[i] No js-recon.db found for ${hostDir}, skipping merge into the global database.`));
687
+ }
635
688
  }
636
689
  }
637
690
  }
638
691
  finally {
692
+ yield waitForPendingInterrupt();
639
693
  removeSigintHandler();
640
694
  process.exit((_e = process.exitCode) !== null && _e !== void 0 ? _e : 0);
641
695
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/run/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/run/index.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@ import chalk from "chalk";
11
11
  import readline from "readline";
12
12
  let isBatchMode = false;
13
13
  let handling = false;
14
+ let sigintHandlerActive = false;
15
+ let pendingMenuPromise = null;
14
16
  let skipStepResolver = null;
15
17
  let skipTarget = false;
16
18
  const showMenu = () => __awaiter(void 0, void 0, void 0, function* () {
@@ -66,18 +68,32 @@ const showMenu = () => __awaiter(void 0, void 0, void 0, function* () {
66
68
  handling = false;
67
69
  });
68
70
  const sigintHandler = () => {
69
- showMenu().catch(() => { });
71
+ pendingMenuPromise = showMenu().catch(() => { });
70
72
  };
71
73
  export const installSigintHandler = (isBatch) => {
72
74
  isBatchMode = isBatch;
73
75
  skipTarget = false;
74
76
  skipStepResolver = null;
75
77
  handling = false;
78
+ sigintHandlerActive = true;
76
79
  process.on("SIGINT", sigintHandler);
77
80
  };
78
81
  export const removeSigintHandler = () => {
82
+ sigintHandlerActive = false;
79
83
  process.removeListener("SIGINT", sigintHandler);
80
84
  };
85
+ // While `run` owns SIGINT, Puppeteer's own default handleSIGINT must be disabled
86
+ // on every `puppeteer.launch()` call — otherwise Puppeteer kills the browser
87
+ // out-of-band the instant Ctrl-C is pressed, which throws the in-flight step and
88
+ // races the outer `finally`'s `process.exit()` against this handler's pending prompt.
89
+ export const isSigintHandlerActive = () => sigintHandlerActive;
90
+ // Lets callers (e.g. the outer pipeline `finally`) avoid exiting while a menu
91
+ // prompt triggered by this handler is still awaiting the user's answer.
92
+ export const waitForPendingInterrupt = () => __awaiter(void 0, void 0, void 0, function* () {
93
+ if (pendingMenuPromise) {
94
+ yield pendingMenuPromise;
95
+ }
96
+ });
81
97
  export const getSkipStepPromise = () => {
82
98
  return new Promise((resolve) => {
83
99
  skipStepResolver = resolve;
@@ -1 +1 @@
1
- {"version":3,"file":"interruptHandler.js","sourceRoot":"","sources":["../../src/run/interruptHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interruptHandler.js","sourceRoot":"","sources":["../../src/run/interruptHandler.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAChC,IAAI,kBAAkB,GAAyB,IAAI,CAAC;AAEpD,IAAI,gBAAgB,GAAwB,IAAI,CAAC;AACjD,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,MAAM,QAAQ,GAAG,GAAwB,EAAE;IACvC,IAAI,QAAQ;QAAE,OAAO;IACrB,QAAQ,GAAG,IAAI,CAAC;IAEhB,sEAAsE;IACtE,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEhD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,6CAA6C,CAAC,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACvD,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAExE,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEtF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAChC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAE7B,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBAC5D,IAAI,gBAAgB,EAAE,CAAC;oBACnB,gBAAgB,EAAE,CAAC;oBACnB,gBAAgB,GAAG,IAAI,CAAC;gBAC5B,CAAC;YACL,CAAC;iBAAM,IAAI,WAAW,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvC,UAAU,GAAG,IAAI,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC;gBAC9D,IAAI,gBAAgB,EAAE,CAAC;oBACnB,gBAAgB,EAAE,CAAC;oBACnB,gBAAgB,GAAG,IAAI,CAAC;gBAC5B,CAAC;YACL,CAAC;iBAAM,IAAI,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;YACrE,CAAC;YAED,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACpC,QAAQ,GAAG,KAAK,CAAC;AACrB,CAAC,CAAA,CAAC;AAEF,MAAM,aAAa,GAAG,GAAG,EAAE;IACvB,kBAAkB,GAAG,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAQ,EAAE;IAC3D,WAAW,GAAG,OAAO,CAAC;IACtB,UAAU,GAAG,KAAK,CAAC;IACnB,gBAAgB,GAAG,IAAI,CAAC;IACxB,QAAQ,GAAG,KAAK,CAAC;IACjB,mBAAmB,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAS,EAAE;IAC1C,mBAAmB,GAAG,KAAK,CAAC;IAC5B,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,iFAAiF;AACjF,6EAA6E;AAC7E,iFAAiF;AACjF,sFAAsF;AACtF,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAY,EAAE,CAAC,mBAAmB,CAAC;AAExE,8EAA8E;AAC9E,wEAAwE;AACxE,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAwB,EAAE;IAC7D,IAAI,kBAAkB,EAAE,CAAC;QACrB,MAAM,kBAAkB,CAAC;IAC7B,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAkB,EAAE;IAClD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACjC,gBAAgB,GAAG,OAAO,CAAC;IAC/B,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAS,EAAE;IACpC,gBAAgB,GAAG,IAAI,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAY,EAAE,CAAC,UAAU,CAAC;AAE1D,MAAM,CAAC,MAAM,eAAe,GAAG,GAAS,EAAE;IACtC,UAAU,GAAG,KAAK,CAAC;AACvB,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ /**
11
+ * Runs `worker` over `items` using up to `threads` concurrent workers.
12
+ * Each worker pulls the next unclaimed item off a shared cursor, so
13
+ * uneven per-item latency doesn't leave workers idle.
14
+ */
15
+ export const runWithConcurrency = (items, threads, worker) => __awaiter(void 0, void 0, void 0, function* () {
16
+ if (items.length === 0)
17
+ return;
18
+ let cursor = 0;
19
+ const workerCount = Math.max(1, Math.min(threads, items.length));
20
+ const runWorker = () => __awaiter(void 0, void 0, void 0, function* () {
21
+ while (cursor < items.length) {
22
+ const index = cursor++;
23
+ try {
24
+ yield worker(items[index], index);
25
+ }
26
+ catch (err) {
27
+ // Best-effort: one bad item shouldn't abort the whole Promise.all batch and
28
+ // starve the other concurrent workers of their remaining items.
29
+ console.error(`[!] runWithConcurrency: worker failed for item at index ${index}: ${err}`);
30
+ }
31
+ }
32
+ });
33
+ yield Promise.all(Array.from({ length: workerCount }, () => runWorker()));
34
+ });
35
+ //# sourceMappingURL=concurrency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrency.js","sourceRoot":"","sources":["../../src/utility/concurrency.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAC9B,KAAU,EACV,OAAe,EACf,MAAiD,EACpC,EAAE;IACf,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE/B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjE,MAAM,SAAS,GAAG,GAAS,EAAE;QACzB,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC;gBACD,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,4EAA4E;gBAC5E,gEAAgE;gBAChE,OAAO,CAAC,KAAK,CAAC,2DAA2D,KAAK,KAAK,GAAG,EAAE,CAAC,CAAC;YAC9F,CAAC;QACL,CAAC;IACL,CAAC,CAAA,CAAC;IAEF,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAA,CAAC"}
@@ -0,0 +1,60 @@
1
+ import fs from "fs";
2
+ import chalk from "chalk";
3
+ import * as globalsUtil from "./globals.js";
4
+ import { resolveProxyConfig } from "../proxy/resolveProxyConfig.js";
5
+ import { parseProxyUrl } from "../proxy/genericProxy.js";
6
+ import { composeOxylabsUsername } from "../proxy/oxylabsProxy.js";
7
+ /**
8
+ * Reads the proxy config file (if present) and resolves env (unless --ignore-proxy-env) > file
9
+ * precedence via resolveProxyConfig, then sets the resulting proxy-related globals.
10
+ *
11
+ * `lazyload`/`run` only ever pass a config file reference (`--proxy-config`) — all method
12
+ * selection and credentials live in `.proxy_config.json`, generated interactively via the
13
+ * `proxy` module's `-i/--init` wizard. There is no per-run CLI override for credentials here.
14
+ * @param cmd - The commander command object.
15
+ */
16
+ const configureProxy = (cmd) => {
17
+ const configFile = cmd.proxyConfig || ".proxy_config.json";
18
+ let configFileParsed = {};
19
+ if (fs.existsSync(configFile)) {
20
+ try {
21
+ configFileParsed = JSON.parse(fs.readFileSync(configFile, "utf8"));
22
+ }
23
+ catch (err) {
24
+ console.error(chalk.yellow(`[!] Failed to parse proxy config file ${configFile}: ${err.message}. Proceeding with no proxy.`));
25
+ configFileParsed = {};
26
+ }
27
+ }
28
+ const resolved = resolveProxyConfig({
29
+ cli: {},
30
+ env: process.env,
31
+ ignoreEnv: cmd.ignoreProxyEnv === true,
32
+ configFileParsed,
33
+ });
34
+ if ((resolved.method === "socks" || resolved.method === "http") && resolved.url) {
35
+ try {
36
+ parseProxyUrl(resolved.url);
37
+ }
38
+ catch (err) {
39
+ console.error(chalk.red(`[!] Invalid proxy URL: ${err.message}`));
40
+ process.exit(1);
41
+ }
42
+ }
43
+ if (resolved.method === "oxylabs" && resolved.oxylabs) {
44
+ try {
45
+ composeOxylabsUsername(resolved.oxylabs);
46
+ }
47
+ catch (err) {
48
+ console.error(chalk.red(`[!] Invalid Oxylabs config: ${err.message}`));
49
+ process.exit(1);
50
+ }
51
+ }
52
+ globalsUtil.setProxyConfigFile(configFile);
53
+ globalsUtil.setIgnoreProxyEnv(cmd.ignoreProxyEnv === true);
54
+ globalsUtil.setProxyMethod(resolved.method);
55
+ globalsUtil.setUseProxy(resolved.method !== null);
56
+ globalsUtil.setProxyUrl(resolved.url);
57
+ globalsUtil.setOxylabsConfig(resolved.oxylabs);
58
+ };
59
+ export default configureProxy;
60
+ //# sourceMappingURL=configureProxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configureProxy.js","sourceRoot":"","sources":["../../src/utility/configureProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;;;;GAQG;AACH,MAAM,cAAc,GAAG,CAAC,GAAG,EAAQ,EAAE;IACjC,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,IAAI,oBAAoB,CAAC;IAE3D,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACD,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CACT,KAAK,CAAC,MAAM,CACR,yCAAyC,UAAU,KAAK,GAAG,CAAC,OAAO,6BAA6B,CACnG,CACJ,CAAC;YACF,gBAAgB,GAAG,EAAE,CAAC;QAC1B,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAChC,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,SAAS,EAAE,GAAG,CAAC,cAAc,KAAK,IAAI;QACtC,gBAAgB;KACnB,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC9E,IAAI,CAAC;YACD,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpD,IAAI,CAAC;YACD,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAED,WAAW,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC3C,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC;IAC3D,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5C,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IAClD,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}