codeloop-mcp-server 0.1.91 → 0.1.95

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 (67) hide show
  1. package/README.md +30 -0
  2. package/dist/evidence/change_coverage.d.ts +41 -0
  3. package/dist/evidence/change_coverage.d.ts.map +1 -1
  4. package/dist/evidence/change_coverage.js +69 -2
  5. package/dist/evidence/change_coverage.js.map +1 -1
  6. package/dist/evidence/interaction_evidence.d.ts +38 -0
  7. package/dist/evidence/interaction_evidence.d.ts.map +1 -1
  8. package/dist/evidence/interaction_evidence.js +60 -0
  9. package/dist/evidence/interaction_evidence.js.map +1 -1
  10. package/dist/index.d.ts +2 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +75 -3
  13. package/dist/index.js.map +1 -1
  14. package/dist/runners/android_sdk.d.ts +50 -0
  15. package/dist/runners/android_sdk.d.ts.map +1 -0
  16. package/dist/runners/android_sdk.js +123 -0
  17. package/dist/runners/android_sdk.js.map +1 -0
  18. package/dist/runners/app_launcher.d.ts +22 -0
  19. package/dist/runners/app_launcher.d.ts.map +1 -1
  20. package/dist/runners/app_launcher.js +70 -18
  21. package/dist/runners/app_launcher.js.map +1 -1
  22. package/dist/runners/device_probe.d.ts.map +1 -1
  23. package/dist/runners/device_probe.js +5 -2
  24. package/dist/runners/device_probe.js.map +1 -1
  25. package/dist/runners/interaction_engine.js +7 -0
  26. package/dist/runners/interaction_engine.js.map +1 -1
  27. package/dist/runners/journey_to_maestro.d.ts +27 -0
  28. package/dist/runners/journey_to_maestro.d.ts.map +1 -1
  29. package/dist/runners/journey_to_maestro.js +54 -0
  30. package/dist/runners/journey_to_maestro.js.map +1 -1
  31. package/dist/runners/logging_readiness.d.ts.map +1 -1
  32. package/dist/runners/logging_readiness.js +38 -7
  33. package/dist/runners/logging_readiness.js.map +1 -1
  34. package/dist/runners/screenshot.d.ts.map +1 -1
  35. package/dist/runners/screenshot.js +10 -1
  36. package/dist/runners/screenshot.js.map +1 -1
  37. package/dist/runners/semantics_audit.d.ts +32 -0
  38. package/dist/runners/semantics_audit.d.ts.map +1 -0
  39. package/dist/runners/semantics_audit.js +140 -0
  40. package/dist/runners/semantics_audit.js.map +1 -0
  41. package/dist/runners/video_recorder.d.ts.map +1 -1
  42. package/dist/runners/video_recorder.js +25 -6
  43. package/dist/runners/video_recorder.js.map +1 -1
  44. package/dist/runners/wayland.d.ts +32 -0
  45. package/dist/runners/wayland.d.ts.map +1 -0
  46. package/dist/runners/wayland.js +49 -0
  47. package/dist/runners/wayland.js.map +1 -0
  48. package/dist/tools/discover_interactions.d.ts.map +1 -1
  49. package/dist/tools/discover_interactions.js +5 -1
  50. package/dist/tools/discover_interactions.js.map +1 -1
  51. package/dist/tools/gate_check.d.ts.map +1 -1
  52. package/dist/tools/gate_check.js +16 -2
  53. package/dist/tools/gate_check.js.map +1 -1
  54. package/dist/tools/plan_change_journey.d.ts.map +1 -1
  55. package/dist/tools/plan_change_journey.js +15 -2
  56. package/dist/tools/plan_change_journey.js.map +1 -1
  57. package/dist/tools/plan_user_journey.d.ts.map +1 -1
  58. package/dist/tools/plan_user_journey.js +5 -2
  59. package/dist/tools/plan_user_journey.js.map +1 -1
  60. package/dist/tools/run_journey.d.ts +64 -0
  61. package/dist/tools/run_journey.d.ts.map +1 -1
  62. package/dist/tools/run_journey.js +135 -6
  63. package/dist/tools/run_journey.js.map +1 -1
  64. package/dist/tools/verify.d.ts.map +1 -1
  65. package/dist/tools/verify.js +55 -11
  66. package/dist/tools/verify.js.map +1 -1
  67. package/package.json +1 -1
@@ -75,6 +75,14 @@ export function flattenJourneyToSteps(plan, target) {
75
75
  export async function runJourney(opts) {
76
76
  const { cwd } = opts;
77
77
  const notes = [];
78
+ // P5.5 — phase progress emitter (never throws into the journey).
79
+ const journeyStartedAt = Date.now();
80
+ const progress = (phase, detail) => {
81
+ try {
82
+ opts.onProgress?.({ phase, detail, elapsedMs: Date.now() - journeyStartedAt });
83
+ }
84
+ catch { /* progress is best-effort */ }
85
+ };
78
86
  // No mode gate: launching + driving the app is VERIFICATION, not a code
79
87
  // modification, so the journey runs in every mode. A "don't modify my code"
80
88
  // request only pauses the agent's source edits — CodeLoop must still produce
@@ -97,6 +105,7 @@ export async function runJourney(opts) {
97
105
  const { detectTargetType } = await import("../runners/platform_detect.js");
98
106
  target = (await detectTargetType(cwd));
99
107
  }
108
+ progress("Target resolved", target);
100
109
  const runId = `journey_${Date.now()}`;
101
110
  const runDir = join(cwd, "artifacts", "runs", runId);
102
111
  const screensDir = join(runDir, "screenshots");
@@ -120,16 +129,18 @@ export async function runJourney(opts) {
120
129
  // app won't launch, CodeLoop tries the alternate platform once before giving
121
130
  // up — so a single broken platform no longer means "0 screenshots".
122
131
  const primary = target;
132
+ progress("Booting device + launching app", primary);
123
133
  let outcome = await attemptMobileTarget(primary, {
124
- cwd, runDir, mode, e2e: opts.e2e, dp, launchApp, notes,
134
+ cwd, runDir, mode, e2e: opts.e2e, dp, launchApp, notes, onProgress: progress,
125
135
  });
126
136
  if (!outcome.ok) {
127
- const alt = alternateMobileTarget(primary, cwd);
137
+ const alt = opts.disableMobileFallback ? undefined : alternateMobileTarget(primary, cwd);
128
138
  if (alt) {
129
139
  notes.push(`Primary mobile target ${primary} ${outcome.status === "device_required" ? "had no device" : "failed to launch"} — ` +
130
140
  `falling back to ${alt}.`);
141
+ progress("Falling back to alternate mobile target", alt);
131
142
  const altOutcome = await attemptMobileTarget(alt, {
132
- cwd, runDir, mode, e2e: opts.e2e, dp, launchApp, notes,
143
+ cwd, runDir, mode, e2e: opts.e2e, dp, launchApp, notes, onProgress: progress,
133
144
  });
134
145
  if (altOutcome.ok) {
135
146
  target = alt;
@@ -187,6 +198,7 @@ export async function runJourney(opts) {
187
198
  // A Flutter desktop app launches via `flutter run -d <macos|windows|linux>`;
188
199
  // a non-Flutter desktop app uses the configured window/process name.
189
200
  if (isFlutterProject(cwd)) {
201
+ progress("Building + launching desktop app");
190
202
  const prep = await prepareMobileBuildSafe({ cwd, target, mode, logPath: join(runDir, "logs", "build_prep.log") });
191
203
  if (prep.directive)
192
204
  notes.push(prep.directive);
@@ -196,6 +208,7 @@ export async function runJourney(opts) {
196
208
  logPath: join(runDir, "logs", "app_launch.log"),
197
209
  readyTimeoutMs: opts.e2e?.launch_timeout_seconds ? opts.e2e.launch_timeout_seconds * 1000 : undefined,
198
210
  stallTimeoutMs: opts.e2e?.launch_stall_seconds ? opts.e2e.launch_stall_seconds * 1000 : undefined,
211
+ onProgress: (u) => progress("Building + launching desktop app", `${Math.round(u.elapsedMs / 1000)}s — ${u.lastLine}`),
199
212
  });
200
213
  notes.push(`App launch: ${launch.method} → ${launch.launched ? "launched" : "NOT launched"}${launch.reason ? ` (${launch.reason})` : ""}`);
201
214
  if (!launch.launched) {
@@ -232,6 +245,7 @@ export async function runJourney(opts) {
232
245
  }
233
246
  }
234
247
  // 4. Plan the journey.
248
+ progress("Planning journey");
235
249
  const { planUserJourney } = await import("./plan_user_journey.js");
236
250
  let plan;
237
251
  try {
@@ -275,6 +289,7 @@ export async function runJourney(opts) {
275
289
  if (isMobile) {
276
290
  // Opt-in high-fidelity path first, when requested for a Flutter project.
277
291
  if (opts.e2e?.flutter_driver && isFlutterProject(cwd) && booted?.device) {
292
+ progress("Driving interactions", "Flutter integration_test driver");
278
293
  const driverFlow = await driveMobileWithFlutterDriver({ cwd, plan, device: booted.device, runDir });
279
294
  if (driverFlow) {
280
295
  mobileFlow = driverFlow;
@@ -287,7 +302,8 @@ export async function runJourney(opts) {
287
302
  }
288
303
  // Default Maestro path (also the fallback when the opt-in driver didn't run).
289
304
  if (!mobileFlow) {
290
- const maestroFlow = (await driveMobileWithMaestro({ cwd, target, plan, runDir, device: booted?.device })) ?? undefined;
305
+ progress("Driving interactions", "Maestro label-based flow");
306
+ const maestroFlow = (await driveMobileWithMaestro({ cwd, target, plan, runDir, device: booted?.device, appIdOverride: target === "android_emulator" ? opts.e2e?.android_app_id : undefined })) ?? undefined;
291
307
  if (maestroFlow) {
292
308
  mobileFlow = maestroFlow;
293
309
  screenshots.push(...maestroFlow.screenshots);
@@ -317,6 +333,7 @@ export async function runJourney(opts) {
317
333
  }
318
334
  let i = 0;
319
335
  for (const { source, step } of runCoordinateSteps ? engineSteps : []) {
336
+ progress("Driving steps (coordinate engine)", `step ${i + 1}/${engineSteps.length}: ${step.action}`);
320
337
  const res = await executeInteraction(step, { target, app_name: opts.targetApp, device: booted?.device });
321
338
  if (res.unsupported)
322
339
  unsupported += 1;
@@ -345,6 +362,7 @@ export async function runJourney(opts) {
345
362
  i += 1;
346
363
  }
347
364
  // 7. Full screen coverage (A6) — visit every discovered screen + screenshot.
365
+ progress("Capturing screens");
348
366
  const screensCaptured = [];
349
367
  try {
350
368
  const { discoverScreens } = await import("./discover_screens.js");
@@ -371,6 +389,7 @@ export async function runJourney(opts) {
371
389
  notes.push(`Screen discovery skipped: ${e.message}`);
372
390
  }
373
391
  // 8. Stop recording, then quit the launched app.
392
+ progress("Finalizing", "stopping recording + app teardown");
374
393
  if (recordingId) {
375
394
  try {
376
395
  const vr = await import("../runners/video_recorder.js");
@@ -430,6 +449,8 @@ export async function runJourney(opts) {
430
449
  return {
431
450
  status: "completed",
432
451
  target_type: target,
452
+ run_id: runId,
453
+ run_dir: runDir,
433
454
  booted,
434
455
  plan_summary: plan.project_summary,
435
456
  recording_id: recordingId,
@@ -444,6 +465,88 @@ export async function runJourney(opts) {
444
465
  notes,
445
466
  };
446
467
  }
468
+ /**
469
+ * P5.3 (0.1.94) — normalize the `e2e.platforms` list into journey targets:
470
+ * synonyms per entry ("ios" → ios_simulator, "android" → android_emulator,
471
+ * "web" → browser), order preserved, duplicates and unrecognized values
472
+ * dropped (a typo skips that entry rather than crashing the run).
473
+ */
474
+ export function normalizeE2ePlatforms(platforms) {
475
+ const out = [];
476
+ for (const p of platforms ?? []) {
477
+ const t = normalizeConfigTarget(String(p));
478
+ if (t && !out.includes(t))
479
+ out.push(t);
480
+ }
481
+ return out;
482
+ }
483
+ /**
484
+ * P5.3 (0.1.94) — run the journey on EVERY configured platform sequentially,
485
+ * each leg with its own boot + launch + drive + screenshots + video evidence.
486
+ *
487
+ * Resolution: an explicit opts.targetType always wins (single run — the
488
+ * one-off "test the other platform" call). Otherwise `e2e.platforms` with 2+
489
+ * entries triggers the loop; 1 entry pins that platform; empty/missing falls
490
+ * through to the existing single-run path (e2e.target / auto-detection).
491
+ *
492
+ * After a multi run, an AGGREGATE interaction-evidence record (per_platform
493
+ * breakdown) is written into the newest completed leg's run dir so the
494
+ * interaction_evidence gate sees ALL legs — a launch_failed platform blocks
495
+ * the gate honestly instead of being shadowed by the other platform's pass.
496
+ */
497
+ export async function runJourneyForPlatforms(opts) {
498
+ const platforms = opts.targetType ? [] : normalizeE2ePlatforms(opts.e2e?.platforms);
499
+ if (platforms.length === 0) {
500
+ const result = await runJourney(opts);
501
+ return { multi: false, outcomes: [{ platform: result.target_type, result }] };
502
+ }
503
+ if (platforms.length === 1) {
504
+ const result = await runJourney({ ...opts, targetType: platforms[0] });
505
+ return { multi: false, outcomes: [{ platform: platforms[0], result }] };
506
+ }
507
+ const outcomes = [];
508
+ for (const p of platforms) {
509
+ const result = await runJourney({
510
+ ...opts,
511
+ targetType: p,
512
+ disableMobileFallback: true,
513
+ onProgress: opts.onProgress
514
+ ? (u) => opts.onProgress({ ...u, phase: `[${p}] ${u.phase}` })
515
+ : undefined,
516
+ });
517
+ outcomes.push({ platform: p, result });
518
+ }
519
+ // Aggregate evidence — written LAST so its mtime makes it the record the
520
+ // gate's newest-lookup finds.
521
+ try {
522
+ const completed = outcomes.filter((o) => o.result.status === "completed" && o.result.run_dir);
523
+ const evidenceDir = completed[completed.length - 1]?.result.run_dir;
524
+ if (evidenceDir) {
525
+ const { writeInteractionEvidence } = await import("../evidence/interaction_evidence.js");
526
+ writeInteractionEvidence(evidenceDir, {
527
+ generated_at: new Date().toISOString(),
528
+ source: "run_journey",
529
+ target: outcomes.map((o) => o.platform).join("+"),
530
+ driven_steps: outcomes.reduce((n, o) => n +
531
+ o.result.steps.length +
532
+ (o.result.mobile_flow && o.result.mobile_flow.engine !== "coordinate" ? o.result.mobile_flow.flows : 0), 0),
533
+ screenshots: outcomes.reduce((n, o) => n + o.result.screenshots.length, 0),
534
+ per_platform: outcomes.map((o) => ({
535
+ target: o.platform,
536
+ status: o.result.status,
537
+ driven_steps: o.result.steps.length +
538
+ (o.result.mobile_flow && o.result.mobile_flow.engine !== "coordinate" ? o.result.mobile_flow.flows : 0),
539
+ screenshots: o.result.screenshots.length,
540
+ mobile_engine: o.result.mobile_flow?.engine,
541
+ mobile_flows_passed: o.result.mobile_flow?.passed,
542
+ mobile_flows_total: o.result.mobile_flow?.flows,
543
+ })),
544
+ });
545
+ }
546
+ }
547
+ catch { /* best-effort */ }
548
+ return { multi: true, outcomes };
549
+ }
447
550
  /**
448
551
  * Drive the FULL label-based interaction suite on a booted mobile device via
449
552
  * Maestro: translate the journey plan into Maestro steps, generate a flow with
@@ -473,9 +576,18 @@ async function driveMobileWithMaestro(args) {
473
576
  const { resolveMobileAppId } = await import("../runners/mobile_app_id.js");
474
577
  const { runCommand } = await import("../runners/base.js");
475
578
  const { MAESTRO_TIMEOUT_MS } = await import("../runners/test_watchdog.js");
476
- const steps = journeyToMaestroSteps(plan);
579
+ // P1.5 (0.1.92) — feed discovered screens into the flow so it BREADTH-visits
580
+ // every screen (optional nav tap + scroll pass + back), not just the entity
581
+ // arcs. Static scan, best-effort: discovery failure just means no breadth.
477
582
  const platformName = target === "android_emulator" ? "android" : "ios";
478
- const appId = resolveMobileAppId(cwd, platformName) ?? undefined;
583
+ let screens = [];
584
+ try {
585
+ const { discoverScreens } = await import("./discover_screens.js");
586
+ screens = discoverScreens(cwd, "auto").screens;
587
+ }
588
+ catch { /* best-effort */ }
589
+ const steps = journeyToMaestroSteps(plan, { screens, platform: platformName });
590
+ const appId = args.appIdOverride ?? resolveMobileAppId(cwd, platformName) ?? undefined;
479
591
  if (steps.length === 0) {
480
592
  return { engine: "maestro", flows: 0, passed: 0, failed: 0, app_id: appId, screenshots: [], detail: "Journey produced no label-drivable steps." };
481
593
  }
@@ -643,6 +755,12 @@ function normalizeConfigTarget(v) {
643
755
  */
644
756
  async function attemptMobileTarget(target, deps) {
645
757
  const { cwd, runDir, mode, e2e, dp, launchApp, notes } = deps;
758
+ const emit = (phase, detail) => {
759
+ try {
760
+ deps.onProgress?.(phase, detail);
761
+ }
762
+ catch { /* best-effort */ }
763
+ };
646
764
  const platformName = target === "android_emulator" ? "android" : "ios";
647
765
  // A connected PHYSICAL device (or an explicit, already-running e2e.device_id)
648
766
  // needs no boot — launch directly on it.
@@ -654,6 +772,7 @@ async function attemptMobileTarget(target, deps) {
654
772
  notes.push(`Device (${target}): ${existing.reason}.`);
655
773
  }
656
774
  else if (wantBoot) {
775
+ emit(`Booting ${platformName} device`, "cold boots can take minutes on first run");
657
776
  const r = await dp.bootDevice({
658
777
  platform: platformName,
659
778
  avd: e2e?.android_avd ?? e2e?.device_id,
@@ -686,11 +805,13 @@ async function attemptMobileTarget(target, deps) {
686
805
  }
687
806
  // Build PRE-FLIGHT: pub get / pod install / create missing asset dirs (fix
688
807
  // mode) BEFORE launch.
808
+ emit("Preparing build", "pub get / pod install pre-flight");
689
809
  const prep = await prepareMobileBuildSafe({ cwd, target, mode, logPath: join(runDir, "logs", "build_prep.log") });
690
810
  if (prep.directive)
691
811
  notes.push(prep.directive);
692
812
  // Device is up — now LAUNCH the app on it. The wait is stall-aware (P0.2):
693
813
  // a cold build that keeps producing output keeps the wait alive.
814
+ emit("Building + launching app", target);
694
815
  const launch = await launchApp({
695
816
  cwd,
696
817
  target,
@@ -698,6 +819,14 @@ async function attemptMobileTarget(target, deps) {
698
819
  logPath: join(runDir, "logs", "app_launch.log"),
699
820
  readyTimeoutMs: e2e?.launch_timeout_seconds ? e2e.launch_timeout_seconds * 1000 : undefined,
700
821
  stallTimeoutMs: e2e?.launch_stall_seconds ? e2e.launch_stall_seconds * 1000 : undefined,
822
+ // P3.1/P3.2 — native build pinning (multi-scheme Xcode / flavored Gradle).
823
+ iosScheme: e2e?.ios_scheme,
824
+ iosConfiguration: e2e?.ios_configuration,
825
+ gradleInstallTask: e2e?.gradle_install_task,
826
+ androidAppId: e2e?.android_app_id,
827
+ // P5.5 — surface the live build line every ~10s ("Running Gradle task
828
+ // assembleDebug…", "Xcode build…") so a cold build reads as progress.
829
+ onProgress: (u) => emit("Building + launching app", `${Math.round(u.elapsedMs / 1000)}s — ${u.lastLine}`),
701
830
  });
702
831
  notes.push(`App launch (${target}): ${launch.method} → ${launch.launched ? "launched" : "NOT launched"}${launch.reason ? ` (${launch.reason})` : ""}`);
703
832
  if (!launch.launched) {
@@ -1 +1 @@
1
- {"version":3,"file":"run_journey.js","sourceRoot":"","sources":["../../src/tools/run_journey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run_journey.js","sourceRoot":"","sources":["../../src/tools/run_journey.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAyD9B;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAqB,EACrB,MAAqB;IAErB,MAAM,KAAK,GAAqD,EAAE,CAAC;IACnE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,MAAM,KAAK,SAAS,CAAC;IAEvC,2EAA2E;IAC3E,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAC1C,IAAI,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;gBACzI,CAAC;qBAAM,IAAI,MAAM,KAAK,kBAAkB,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;oBACvE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;gBACnH,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC;oBAC/G,SAAS;gBACX,CAAC;gBACD,oEAAoE;gBACpE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC/E,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACxH,CAAC;QACH,CAAC;IACH,CAAC;IAED,kFAAkF;IAClF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACjC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC9C,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC/B,IAAI,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,OAAO,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC5I,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,WAAW,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,gCAAgC,MAAM,IAAI,CAAC,CAAC;oBAC5I,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzG,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3I,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC;AA8DD,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAuB;IACtD,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,iEAAiE;IACjE,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,MAAe,EAAQ,EAAE;QACxD,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC;QACjF,CAAC;QAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,wEAAwE;IACxE,4EAA4E;IAC5E,6EAA6E;IAC7E,0EAA0E;IAC1E,yEAAyE;IACzE,kCAAkC;IAClC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACvE,MAAM,IAAI,GAAc,IAAI,CAAC,IAAI,IAAI,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAE/D,8EAA8E;IAC9E,+EAA+E;IAC/E,gFAAgF;IAChF,8DAA8D;IAC9D,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;IAC7B,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;QAChC,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,wDAAwD,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;QAC3E,MAAM,GAAG,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAkB,CAAC;IAC1D,CAAC;IACD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAEpC,MAAM,KAAK,GAAG,WAAW,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/C,IAAI,CAAC;QAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAE/E,8EAA8E;IAC9E,6EAA6E;IAC7E,oEAAoE;IACpE,IAAI,MAAkC,CAAC;IACvC,IAAI,OAA0C,CAAC;IAC/C,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACtD,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACnF,IAAI,MAAM,KAAK,kBAAkB,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAChE,0EAA0E;QAC1E,4EAA4E;QAC5E,4EAA4E;QAC5E,0EAA0E;QAC1E,6EAA6E;QAC7E,6EAA6E;QAC7E,oEAAoE;QACpE,MAAM,OAAO,GAAG,MAAM,CAAC;QACvB,QAAQ,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,OAAO,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE;YAC/C,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ;SAC7E,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACzF,IAAI,GAAG,EAAE,CAAC;gBACR,KAAK,CAAC,IAAI,CACR,yBAAyB,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,KAAK;oBACpH,mBAAmB,GAAG,GAAG,CAC1B,CAAC;gBACF,QAAQ,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;gBACzD,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE;oBAChD,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ;iBAC7E,CAAC,CAAC;gBACH,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;oBAClB,MAAM,GAAG,GAAG,CAAC;oBACb,OAAO,GAAG,UAAU,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,IAAI,CACR,mBAAmB,GAAG,SAAS,UAAU,CAAC,MAAM,KAAK,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,GAAG,CACjH,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;gBAChB,OAAO;oBACL,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,WAAW,EAAE,OAAO;oBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,KAAK,EAAE,EAAE;oBACT,gBAAgB,EAAE,EAAE;oBACpB,WAAW,EAAE,EAAE;oBACf,iBAAiB,EAAE,CAAC;oBACpB,gBAAgB,EAAE,EAAE;oBACpB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,KAAK;iBACN,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QACxB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC1B,wEAAwE;QACxE,uEAAuE;QACvE,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;gBACzE,gBAAgB,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3E,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/B,CAAC;QACD,iFAAiF;QACjF,IAAI,CAAC;YACH,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;YAC7E,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;YAC7D,MAAM,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC9C,IAAI,IAAI,CAAC,GAAG,EAAE,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,YAAY,CAAC,MAAM,EAAE,0BAA2B,CAAW,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,6EAA6E;QAC7E,qEAAqE;QACrE,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,kCAAkC,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAClH,IAAI,IAAI,CAAC,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;gBAC7B,GAAG;gBACH,MAAM;gBACN,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC;gBAC/C,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS;gBACrG,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS;gBACjG,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,kCAAkC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;aACtH,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3I,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrB,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,KAAK,MAAM,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC,CAAC;gBAChG,OAAO;oBACL,MAAM,EAAE,eAAe;oBACvB,WAAW,EAAE,MAAM;oBACnB,KAAK,EAAE,EAAE;oBACT,gBAAgB,EAAE,EAAE;oBACpB,WAAW,EAAE,EAAE;oBACf,iBAAiB,EAAE,CAAC;oBACpB,gBAAgB,EAAE,EAAE;oBACpB,SAAS,EACP,yCAAyC,MAAM,CAAC,MAAM,IAAI,SAAS,IAAI;wBACvE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,8BAA8B,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpF,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;wBACtC,uFAAuF;wBACvF,UAAU;oBACZ,KAAK;iBACN,CAAC;YACJ,CAAC;YACD,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,oGAAoG,CAAC,CAAC;QACnH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;gBACxD,MAAM,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,KAAK,CAAC,IAAI,CAAC,sCAAuC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC7B,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACnE,IAAI,IAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,YAAY,CAAC,MAAM,EAAE,4BAA6B,CAAW,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;IACzF,CAAC;IAED,6DAA6D;IAC7D,IAAI,WAA+B,CAAC;IACpC,IAAI,SAA6B,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC,iBAAiB,EAAE,IAAI,KAAK,CAAC;IACnH,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,wBAAwB,CAC9C,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EACrB,OAAO,EACP,IAAI,CAAC,kBAAkB,IAAI,GAAG,EAC9B,MAAe,EACf,MAAM,EAAE,MAAM,CACf,CAAC;QACF,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE,CAAC;YACzB,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC;YAClC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,2BAA4B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,kDAAkD;IAClD,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;IAChF,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACvE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAE3E,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,gFAAgF;IAChF,6EAA6E;IAC7E,8EAA8E;IAC9E,+EAA+E;IAC/E,gEAAgE;IAChE,IAAI,UAAyC,CAAC;IAC9C,MAAM,QAAQ,GAAG,MAAM,KAAK,kBAAkB,IAAI,MAAM,KAAK,eAAe,CAAC;IAC7E,IAAI,QAAQ,EAAE,CAAC;QACb,yEAAyE;QACzE,IAAI,IAAI,CAAC,GAAG,EAAE,cAAc,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YACxE,QAAQ,CAAC,sBAAsB,EAAE,iCAAiC,CAAC,CAAC;YACpE,MAAM,UAAU,GAAG,MAAM,4BAA4B,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACpG,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,GAAG,UAAU,CAAC;gBACxB,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC,4DAA4D,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,kBAAkB,CAAC,CAAC;YAClI,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QACD,8EAA8E;QAC9E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,QAAQ,CAAC,sBAAsB,EAAE,0BAA0B,CAAC,CAAC;YAC7D,MAAM,WAAW,GAAG,CAAC,MAAM,sBAAsB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,SAAS,CAAC;YAC5M,IAAI,WAAW,EAAE,CAAC;gBAChB,UAAU,GAAG,WAAW,CAAC;gBACzB,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;gBAC7C,KAAK,CAAC,IAAI,CAAC,oCAAoC,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,KAAK,0BAA0B,WAAW,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC;gBAC/I,uEAAuE;gBACvE,IAAI,WAAW,CAAC,KAAK,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM;oBAAE,KAAK,CAAC,IAAI,CAAC,0BAA0B,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;YAChH,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;gBAC1E,MAAM,CAAC,IAAI,CAAC,GAAG,uBAAuB,EAAE,yDAAyD,CAAC,CAAC;gBACnG,UAAU,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,8CAA8C,EAAE,CAAC;YACjJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,+EAA+E;IAC/E,uEAAuE;IACvE,wDAAwD;IACxD,MAAM,gBAAgB,GACpB,QAAQ;QACR,CAAC,UAAU,EAAE,MAAM,KAAK,SAAS,IAAI,UAAU,EAAE,MAAM,KAAK,gBAAgB,CAAC;QAC7E,CAAC,UAAU,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC;QAC5B,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,kBAAkB,GAAG,CAAC,gBAAgB,CAAC;IAC7C,IAAI,QAAQ,IAAI,CAAC,gBAAgB,IAAI,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACnE,KAAK,CAAC,IAAI,CACR,4HAA4H,CAC7H,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACrE,QAAQ,CAAC,mCAAmC,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACrG,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACzG,IAAI,GAAG,CAAC,WAAW;YAAE,WAAW,IAAI,CAAC,CAAC;QACtC,IAAI,IAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,KAAK,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACvJ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;QACxF,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC7B,WAAW,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,CAAC;YACR,MAAM;YACN,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE,GAAG,CAAC,aAAa,IAAI,SAAS;YAC9C,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SACnD,CAAC,CAAC;QACH,kDAAkD;QAClD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IAED,6EAA6E;IAC7E,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC9B,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvD,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;oBAC9D,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;oBAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACjD,MAAM,EAAE,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBACpG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAChD,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,UAAU,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,KAAK,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBACnK,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAAC,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;oBAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAAC,CAAC;YAC9G,CAAC;YAAC,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,6BAA8B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,iDAAiD;IACjD,QAAQ,CAAC,YAAY,EAAE,mCAAmC,CAAC,CAAC;IAC5D,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;YACxD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;YAC3D,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,IAAI,OAAQ,IAA0B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC/G,SAAS,GAAI,IAAyB,CAAC,IAAI,CAAC;YAC9C,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,KAAK,CAAC,IAAI,CAAC,sCAAuC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YAAC,MAAM,OAAO,EAAE,CAAC;QAAC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YAAC,KAAK,CAAC,IAAI,CAAC,oCAAqC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAAC,CAAC;IAChH,CAAC;IAED,MAAM,cAAc,GAAa;QAC/B,gBAAgB,KAAK,wBAAwB,MAAM,IAAI;QACvD,SAAS,WAAW,CAAC,MAAM,2BAA2B,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,eAAe,WAAW,+BAA+B,WAAW,CAAC,MAAM,yBAAyB,eAAe,CAAC,MAAM,aAAa;KACzO,CAAC;IACF,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,gBAAgB,CAAC,EAAE,CAAC;QAC9F,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qCAAqC,CAAC;QACvG,cAAc,CAAC,IAAI,CAAC,kCAAkC,UAAU,KAAK,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,kBAAkB,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjR,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxB,cAAc,CAAC,IAAI,CAAC,+BAA+B,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,0FAA0F,CAAC,CAAC;QAClL,CAAC;aAAM,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC3C,cAAc,CAAC,IAAI,CAAC,uIAAuI,CAAC,CAAC;QAC/J,CAAC;IACH,CAAC;IACD,IAAI,SAAS;QAAE,cAAc,CAAC,IAAI,CAAC,UAAU,SAAS,oDAAoD,KAAK,0DAA0D,CAAC,CAAC;IAC3K,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,cAAc,CAAC,IAAI,CACjB,GAAG,MAAM,CAAC,MAAM,mJAAmJ,EACnK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAC9C,CAAC;IACJ,CAAC;IACD,cAAc,CAAC,IAAI,CAAC,2HAA2H,CAAC,CAAC;IAEjJ,6EAA6E;IAC7E,+EAA+E;IAC/E,IAAI,CAAC;QACH,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAC;QACzF,wBAAwB,CAAC,MAAM,EAAE;YAC/B,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACtC,MAAM,EAAE,aAAa;YACrB,MAAM;YACN,YAAY,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5G,WAAW,EAAE,WAAW,CAAC,MAAM;YAC/B,aAAa,EAAE,UAAU,EAAE,MAAM;YACjC,mBAAmB,EAAE,UAAU,EAAE,MAAM;YACvC,kBAAkB,EAAE,UAAU,EAAE,KAAK;SACtC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAE7B,OAAO;QACL,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,MAAM;QACnB,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,MAAM;QACf,MAAM;QACN,YAAY,EAAE,IAAI,CAAC,eAAe;QAClC,YAAY,EAAE,WAAW;QACzB,UAAU,EAAE,SAAS;QACrB,KAAK,EAAE,WAAW;QAClB,gBAAgB,EAAE,eAAe;QACjC,WAAW;QACX,iBAAiB,EAAE,WAAW;QAC9B,gBAAgB,EAAE,MAAM;QACxB,WAAW,EAAE,UAAU;QACvB,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAoB;IACxD,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAQD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAuB;IAEvB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACpF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,WAA4B,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACjG,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAC1E,CAAC;IAED,MAAM,QAAQ,GAA6B,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;YAC9B,GAAG,IAAI;YACP,UAAU,EAAE,CAAC;YACb,qBAAqB,EAAE,IAAI;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;gBACzB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAW,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC/D,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QACH,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,yEAAyE;IACzE,8BAA8B;IAC9B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9F,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;QACpE,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAC;YACzF,wBAAwB,CAAC,WAAW,EAAE;gBACpC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACtC,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBACjD,YAAY,EAAE,QAAQ,CAAC,MAAM,CAC3B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC;oBACD,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;oBACrB,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EACzG,CAAC,CACF;gBACD,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC1E,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACjC,MAAM,EAAE,CAAC,CAAC,QAAQ;oBAClB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;oBACvB,YAAY,EACV,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;wBACrB,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzG,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM;oBACxC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM;oBAC3C,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM;oBACjD,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK;iBAChD,CAAC,CAAC;aACJ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAE7B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,sBAAsB,CAAC,IASrC;IACC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACnD,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACtG,IAAI,CAAC,CAAC,MAAM,kBAAkB,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,uEAAuE;IACvE,mEAAmE;IACnE,MAAM,SAAS,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC3C,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAClB,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,EAAE;YACf,MAAM,EAAE,SAAS,CAAC,SAAS,IAAI,qCAAqC;SACrE,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;IACnF,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;IAChF,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;IAC3E,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC1D,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;IAE3E,6EAA6E;IAC7E,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,YAAY,GAAG,MAAM,KAAK,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IACvE,IAAI,OAAO,GAAyD,EAAE,CAAC;IACvE,IAAI,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAClE,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,IAAI,kBAAkB,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,SAAS,CAAC;IACvF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,2CAA2C,EAAE,CAAC;IACpJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IACjF,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC;QACnB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;IAClH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C,IAAI,CAAC;QAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,GAAG,GAAG,MAAM,UAAU,CAC1B,SAAS,EACT,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,EAC1F,GAAG,EACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC;IACnC,oEAAoE;IACpE,gDAAgD;IAChD,aAAa,EAAE,EACf,kBAAkB,CACnB,CAAC;IACF,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,KAAK,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,MAAM,GAAG,qBAAqB,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;QACrF,MAAM,QAAQ,GAAG,wBAAwB,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1E,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC1B,CAAC,CAAC,4BAA4B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,kFAAkF;YACnI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChF,MAAM,GAAG,WAAW,MAAM,IAAI,MAAM,UAAU,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;IAC1E,CAAC;IACD,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,SAAS,EAAE,GAAG,CAAC,QAAQ;QACvB,MAAM,EAAE,KAAK;QACb,WAAW;QACX,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,4BAA4B,CAAC,IAK3C;IACC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3C,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;IAC1E,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC,GAAG,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO;QACL,MAAM,EAAE,gBAAgB;QACxB,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACxD,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,eAAe,CAAC;KAChG,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,CAAC,GAAW,EAAQ,EAAE;QACjC,IAAI,OAAO,GAA0B,EAAE,CAAC;QACxC,IAAI,CAAC;YAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO;QAAC,CAAC;QAC9E,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC,CAAC,WAAW,EAAE;gBAAE,IAAI,CAAC,CAAC,CAAC,CAAC;iBACxB,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,CAAC;IACX,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC;AAED,kFAAkF;AAClF,KAAK,UAAU,sBAAsB,CAAC,IAKrC;IACC,IAAI,CAAC;QACH,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;QAC/E,MAAM,CAAC,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACpC,CAAC;AACH,CAAC;AAED,8FAA8F;AAC9F,SAAS,iBAAiB,CAAC,QAA4B,EAAE,IAAe;IACtE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;IAClE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,IAAI,GACR,IAAI,KAAK,OAAO;QACd,CAAC,CAAC,qEAAqE;QACvE,CAAC,CAAC,uCAAuC,CAAC;IAC9C,OAAO,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjG,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,aAAa,CAAC,IAAY;IACvC,IAAI,CAAC;QACH,MAAM,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAC/F,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,MAAM,GAAG,qBAAqB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACrF,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC7B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,MAAc,EAAE,KAAe;IACnE,OAAO;QACL,MAAM,EAAE,eAAe;QACvB,WAAW,EAAE,MAAM;QACnB,KAAK,EAAE,EAAE;QACT,gBAAgB,EAAE,EAAE;QACpB,WAAW,EAAE,EAAE;QACf,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,EAAE;QACpB,SAAS,EAAE,qCAAqC,MAAM,wGAAwG;QAC9J,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,CAAS;IACtC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/B,KAAK,eAAe,CAAC;QACrB,KAAK,KAAK;YACR,OAAO,eAAe,CAAC;QACzB,KAAK,kBAAkB,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,kBAAkB,CAAC;QAC5B,KAAK,SAAS,CAAC;QACf,KAAK,KAAK;YACR,OAAO,SAAS,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAYD;;;;;;GAMG;AACH,KAAK,UAAU,mBAAmB,CAChC,MAA4C,EAC5C,IAUC;IAED,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAC9D,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,MAAe,EAAQ,EAAE;QACpD,IAAI,CAAC;YAAC,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACvE,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,KAAK,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAEvE,8EAA8E;IAC9E,yCAAyC;IACzC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,qBAAqB,CAAC,YAAY,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,GAAG,EAAE,WAAW,KAAK,KAAK,CAAC;IAC5C,IAAI,MAAkC,CAAC;IACvC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,MAAM,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACxD,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,YAAY,SAAS,EAAE,0CAA0C,CAAC,CAAC;QACnF,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC;YAC5B,QAAQ,EAAE,YAAY;YACtB,GAAG,EAAE,GAAG,EAAE,WAAW,IAAI,GAAG,EAAE,SAAS;YACvC,SAAS,EAAE,GAAG,EAAE,UAAU,IAAI,GAAG,EAAE,SAAS;YAC5C,yEAAyE;YACzE,SAAS,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS;SACnF,CAAC,CAAC;QACH,MAAM,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACtF,IAAI,CAAC,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,KAAK,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5F,oEAAoE;QACpE,MAAM,GAAG,GAAG,MAAM,KAAK,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5G,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,wCAAwC,EAAE,CAAC;IAC1H,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,iBAAiB;YACzB,MAAM;YACN,SAAS,EAAE,EAAE,CAAC,4BAA4B,CAAC;gBACzC,MAAM,EAAE,MAAM,EAAE,CAAC,kBAAkB,EAAE;gBACrC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC;gBACpC,OAAO,EAAE,WAAW;aACrB,CAAC;SACH,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,uBAAuB;IACvB,IAAI,CAAC,iBAAiB,EAAE,kCAAkC,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAClH,IAAI,IAAI,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE/C,2EAA2E;IAC3E,iEAAiE;IACjE,IAAI,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;QAC7B,GAAG;QACH,MAAM;QACN,YAAY,EAAE,MAAM,CAAC,MAAM;QAC3B,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC;QAC/C,cAAc,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS;QAC3F,cAAc,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS;QACvF,2EAA2E;QAC3E,SAAS,EAAE,GAAG,EAAE,UAAU;QAC1B,gBAAgB,EAAE,GAAG,EAAE,iBAAiB;QACxC,iBAAiB,EAAE,GAAG,EAAE,mBAAmB;QAC3C,YAAY,EAAE,GAAG,EAAE,cAAc;QACjC,sEAAsE;QACtE,sEAAsE;QACtE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;KAC1G,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,MAAM,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvJ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,KAAK,MAAM,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC,CAAC;QAChG,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,eAAe;YACvB,MAAM;YACN,SAAS,EACP,+CAA+C,MAAM,CAAC,MAAM,IAAI,SAAS,IAAI;gBAC7E,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,8BAA8B,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;gBACtC,6FAA6F;gBAC7F,+CAA+C;gBAC/C,UAAU;SACb,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAC5B,OAA6C,EAC7C,GAAW;IAEX,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IACpD,IAAI,OAAO,KAAK,eAAe,IAAI,UAAU;QAAE,OAAO,kBAAkB,CAAC;IACzE,IAAI,OAAO,KAAK,kBAAkB,IAAI,MAAM,IAAI,QAAQ,EAAE,KAAK,QAAQ;QAAE,OAAO,eAAe,CAAC;IAChG,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAuCtF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAyElD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAuC1D;AAkJD;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,KAAK,IAAI,CAAC;AAEX;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,GACjB,MAAM,CA0BR;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAOT;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,EACjE,YAAY,EAAE,MAAM,GACnB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAetD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,GACrB,OAAO,CAOT;AAED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,cAAc,EACtB,GAAG,GAAE,MAAsB,EAC3B,UAAU,CAAC,EAAE,cAAc,EAC3B,UAAU,GAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,2BAA2B,EAAE,SAAS,CAAA;CAAO,GAC5G,OAAO,CAAC,YAAY,CAAC,CA83BvB;AA4XD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,cAAc,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoCzC"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAuCtF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAyElD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAuC1D;AAkJD;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,KAAK,IAAI,CAAC;AAEX;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,GACjB,MAAM,CA0BR;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAOT;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,EACjE,YAAY,EAAE,MAAM,GACnB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAetD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,GACrB,OAAO,CAOT;AAED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,cAAc,EACtB,GAAG,GAAE,MAAsB,EAC3B,UAAU,CAAC,EAAE,cAAc,EAC3B,UAAU,GAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,2BAA2B,EAAE,SAAS,CAAA;CAAO,GAC5G,OAAO,CAAC,YAAY,CAAC,CA+6BvB;AA4XD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,cAAc,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoCzC"}
@@ -1,4 +1,4 @@
1
- import { existsSync, readdirSync, copyFileSync, mkdirSync, readFileSync, statSync } from "fs";
1
+ import { existsSync, readdirSync, copyFileSync, mkdirSync, readFileSync, statSync, writeFileSync } from "fs";
2
2
  import { join, basename, dirname } from "path";
3
3
  import { createRunDir, saveRunMeta, getArtifactsBaseDir } from "../evidence/artifacts.js";
4
4
  import { buildLineage, appendToIndex } from "../evidence/run_lineage.js";
@@ -779,23 +779,41 @@ export async function runVerify(input, config, cwd = process.cwd(), onProgress,
779
779
  phaseLabel = "Launching + driving the app (deep-E2E journey)";
780
780
  emitProgress();
781
781
  try {
782
- const { runJourney } = await import("./run_journey.js");
783
- const jr = await runJourney({
782
+ // P5.3 e2e.platforms drives EVERY listed platform sequentially (each
783
+ // leg with its own launch + drive + screenshots + video); single-target
784
+ // configs take the unchanged single-journey path inside the orchestrator.
785
+ const { runJourneyForPlatforms } = await import("./run_journey.js");
786
+ const multi = await runJourneyForPlatforms({
784
787
  cwd,
785
788
  e2e: config.e2e,
786
789
  targetApp: config.evidence?.target_app,
787
790
  mode: verifyOpts.journeyMode,
791
+ // P5.5 — stream the journey's phase + build heartbeat through verify's
792
+ // existing progress channel, so "Launching + driving" shows live build
793
+ // lines instead of a frozen label during a 12-minute cold build.
794
+ onProgress: (u) => {
795
+ phaseLabel = `Deep-E2E journey — ${u.phase}${u.detail ? `: ${u.detail.slice(0, 110)}` : ""}`;
796
+ emitProgress();
797
+ },
788
798
  });
789
799
  journeyRan = true;
790
- if (jr.screenshots && jr.screenshots.length > 0) {
791
- screenshotPaths.push(...jr.screenshots);
800
+ if (multi.multi) {
801
+ const parts = multi.outcomes.map((o) => o.result.status === "completed"
802
+ ? `${o.platform}: launched + driven, ${o.result.screenshots.length} screenshot(s)`
803
+ : `${o.platform}: ${o.result.status.toUpperCase()}`);
804
+ captureNotes.push(`[CodeLoop] Multi-platform deep-E2E (e2e.platforms) ran ${multi.outcomes.length} leg(s) — ${parts.join("; ")}. EVERY listed platform must produce driven evidence for the interaction_evidence gate.`);
805
+ }
806
+ for (const { result: jr } of multi.outcomes) {
807
+ if (jr.screenshots && jr.screenshots.length > 0) {
808
+ screenshotPaths.push(...jr.screenshots);
809
+ }
810
+ const head = jr.status === "completed"
811
+ ? `[CodeLoop] Deep-E2E journey RAN automatically (target ${jr.target_type}): the app was launched and driven, ${jr.screenshots.length} screenshot(s) captured across ${jr.screens_captured.length} screen(s).`
812
+ : jr.status === "launch_failed"
813
+ ? `[CodeLoop] Deep-E2E journey ran but the APP DID NOT LAUNCH (target ${jr.target_type}) — this launch_failed IS the evidence: the app cannot currently open. Fix the build/launch blocker below, then re-run codeloop_verify (it will re-attempt the launch automatically).`
814
+ : `[CodeLoop] Deep-E2E journey could not start (target ${jr.target_type}, ${jr.status}) — no device was available to launch on.`;
815
+ captureNotes.push(`${head}\n${jr.directive}`);
792
816
  }
793
- const head = jr.status === "completed"
794
- ? `[CodeLoop] Deep-E2E journey RAN automatically (target ${jr.target_type}): the app was launched and driven, ${jr.screenshots.length} screenshot(s) captured across ${jr.screens_captured.length} screen(s).`
795
- : jr.status === "launch_failed"
796
- ? `[CodeLoop] Deep-E2E journey ran but the APP DID NOT LAUNCH (target ${jr.target_type}) — this launch_failed IS the evidence: the app cannot currently open. Fix the build/launch blocker below, then re-run codeloop_verify (it will re-attempt the launch automatically).`
797
- : `[CodeLoop] Deep-E2E journey could not start (target ${jr.target_type}, ${jr.status}) — no device was available to launch on.`;
798
- captureNotes.push(`${head}\n${jr.directive}`);
799
817
  }
800
818
  catch (e) {
801
819
  captureNotes.push(`[CodeLoop] Auto deep-E2E journey errored: ${e.message}. Call codeloop_run_journey to launch + drive the app manually.`);
@@ -1036,6 +1054,32 @@ export async function runVerify(input, config, cwd = process.cwd(), onProgress,
1036
1054
  catch {
1037
1055
  /* best-effort — observability scan never breaks verify */
1038
1056
  }
1057
+ // 0.1.92 — P1.4 Flutter semantics audit. Unlabeled interactive widgets are
1058
+ // invisible to label-based driving (Maestro) AND to screen readers; flag
1059
+ // them file:line as a NON-BLOCKING polish note so the agent can add
1060
+ // tooltip:/Semantics(label:) at the source. Never affects the gate.
1061
+ try {
1062
+ if (existsSync(join(cwd, "pubspec.yaml"))) {
1063
+ const { auditFlutterSemantics } = await import("../runners/semantics_audit.js");
1064
+ const audit = auditFlutterSemantics(cwd);
1065
+ if (audit.applicable) {
1066
+ try {
1067
+ writeFileSync(join(runDir, "semantics_audit.json"), JSON.stringify(audit, null, 2), "utf-8");
1068
+ }
1069
+ catch { /* best-effort */ }
1070
+ if (audit.findings.length > 0) {
1071
+ const sample = audit.findings
1072
+ .slice(0, 6)
1073
+ .map((f) => `${f.source_file}:${f.line} ${f.widget}`)
1074
+ .join(", ");
1075
+ captureNotesC5.push(`[Semantics] NON-BLOCKING: ${audit.findings.length} interactive widget(s) have no visible text/tooltip/Semantics label — invisible to label-based driving (Maestro) and to screen readers: ${sample}${audit.findings.length > 6 ? `, +${audit.findings.length - 6} more (see semantics_audit.json)` : ""}. Adding tooltip:/Semantics(label:) raises journey hit-rate AND accessibility.`);
1076
+ }
1077
+ }
1078
+ }
1079
+ }
1080
+ catch {
1081
+ /* best-effort — semantics audit never breaks verify */
1082
+ }
1039
1083
  // 0.1.64 — Remote / hosting / third-party log collection via provider CLIs.
1040
1084
  // Auto-detects deploy targets (Vercel/Heroku/Fly/Firebase/GCloud/AWS/…),
1041
1085
  // pulls read-only logs when the CLI is installed, and pushes the agent to