@newrelic/preflight 1.70.0 → 1.72.0

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 (181) hide show
  1. package/README.md +2 -0
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js +7 -0
  4. package/dist/config.js.map +1 -1
  5. package/dist/dashboard/routes/api-handler.d.ts.map +1 -1
  6. package/dist/dashboard/routes/api-handler.js +11 -16
  7. package/dist/dashboard/routes/api-handler.js.map +1 -1
  8. package/dist/dashboard/subagent-timeline-store.d.ts +12 -1
  9. package/dist/dashboard/subagent-timeline-store.d.ts.map +1 -1
  10. package/dist/dashboard/subagent-timeline-store.js +32 -4
  11. package/dist/dashboard/subagent-timeline-store.js.map +1 -1
  12. package/dist/dashboard/workflow-store.d.ts.map +1 -1
  13. package/dist/dashboard/workflow-store.js +2 -3
  14. package/dist/dashboard/workflow-store.js.map +1 -1
  15. package/dist/hooks/collector-script.d.ts.map +1 -1
  16. package/dist/hooks/collector-script.js +14 -8
  17. package/dist/hooks/collector-script.js.map +1 -1
  18. package/dist/hooks/copilot-app-usage-watcher.d.ts.map +1 -1
  19. package/dist/hooks/copilot-app-usage-watcher.js +3 -4
  20. package/dist/hooks/copilot-app-usage-watcher.js.map +1 -1
  21. package/dist/hooks/copilot-usage-watcher.d.ts +25 -5
  22. package/dist/hooks/copilot-usage-watcher.d.ts.map +1 -1
  23. package/dist/hooks/copilot-usage-watcher.js +254 -92
  24. package/dist/hooks/copilot-usage-watcher.js.map +1 -1
  25. package/dist/hooks/event-processor.d.ts +24 -11
  26. package/dist/hooks/event-processor.d.ts.map +1 -1
  27. package/dist/hooks/event-processor.js +139 -45
  28. package/dist/hooks/event-processor.js.map +1 -1
  29. package/dist/hooks/index.d.ts +1 -1
  30. package/dist/hooks/index.d.ts.map +1 -1
  31. package/dist/hooks/index.js +1 -1
  32. package/dist/hooks/index.js.map +1 -1
  33. package/dist/hooks/parent-transcript-watcher.d.ts +1 -1
  34. package/dist/hooks/parent-transcript-watcher.d.ts.map +1 -1
  35. package/dist/hooks/parent-transcript-watcher.js +11 -6
  36. package/dist/hooks/parent-transcript-watcher.js.map +1 -1
  37. package/dist/hooks/session-resolver.d.ts.map +1 -1
  38. package/dist/hooks/session-resolver.js +2 -1
  39. package/dist/hooks/session-resolver.js.map +1 -1
  40. package/dist/hooks/subagent-watcher.d.ts +21 -15
  41. package/dist/hooks/subagent-watcher.d.ts.map +1 -1
  42. package/dist/hooks/subagent-watcher.js +89 -73
  43. package/dist/hooks/subagent-watcher.js.map +1 -1
  44. package/dist/hooks/throttled-warning.d.ts +5 -5
  45. package/dist/hooks/throttled-warning.d.ts.map +1 -1
  46. package/dist/hooks/throttled-warning.js +14 -12
  47. package/dist/hooks/throttled-warning.js.map +1 -1
  48. package/dist/hooks/workflow-watcher.d.ts.map +1 -1
  49. package/dist/hooks/workflow-watcher.js +2 -2
  50. package/dist/hooks/workflow-watcher.js.map +1 -1
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +57 -62
  53. package/dist/index.js.map +1 -1
  54. package/dist/install/cli.d.ts.map +1 -1
  55. package/dist/install/cli.js +131 -17
  56. package/dist/install/cli.js.map +1 -1
  57. package/dist/install/copilot-install-helper.d.ts +1 -0
  58. package/dist/install/copilot-install-helper.d.ts.map +1 -1
  59. package/dist/install/copilot-install-helper.js +82 -26
  60. package/dist/install/copilot-install-helper.js.map +1 -1
  61. package/dist/install/credentials.d.ts +23 -0
  62. package/dist/install/credentials.d.ts.map +1 -0
  63. package/dist/install/credentials.js +57 -0
  64. package/dist/install/credentials.js.map +1 -0
  65. package/dist/install/diagnostics.d.ts.map +1 -1
  66. package/dist/install/diagnostics.js +6 -3
  67. package/dist/install/diagnostics.js.map +1 -1
  68. package/dist/install/install-helper.d.ts +9 -0
  69. package/dist/install/install-helper.d.ts.map +1 -1
  70. package/dist/install/install-helper.js +42 -17
  71. package/dist/install/install-helper.js.map +1 -1
  72. package/dist/install/schedule.d.ts.map +1 -1
  73. package/dist/install/schedule.js +4 -1
  74. package/dist/install/schedule.js.map +1 -1
  75. package/dist/install/setup-wizard.d.ts.map +1 -1
  76. package/dist/install/setup-wizard.js +3 -3
  77. package/dist/install/setup-wizard.js.map +1 -1
  78. package/dist/install/target-user.d.ts +33 -0
  79. package/dist/install/target-user.d.ts.map +1 -0
  80. package/dist/install/target-user.js +121 -0
  81. package/dist/install/target-user.js.map +1 -0
  82. package/dist/lib/claude-config-dir.d.ts +3 -0
  83. package/dist/lib/claude-config-dir.d.ts.map +1 -0
  84. package/dist/lib/claude-config-dir.js +10 -0
  85. package/dist/lib/claude-config-dir.js.map +1 -0
  86. package/dist/lib/claude-settings-env.d.ts +18 -0
  87. package/dist/lib/claude-settings-env.d.ts.map +1 -0
  88. package/dist/lib/claude-settings-env.js +78 -0
  89. package/dist/lib/claude-settings-env.js.map +1 -0
  90. package/dist/lib/date.d.ts +7 -0
  91. package/dist/lib/date.d.ts.map +1 -1
  92. package/dist/lib/date.js +11 -1
  93. package/dist/lib/date.js.map +1 -1
  94. package/dist/lib/subagent-transcript-parser.d.ts +2 -0
  95. package/dist/lib/subagent-transcript-parser.d.ts.map +1 -1
  96. package/dist/lib/subagent-transcript-parser.js +5 -0
  97. package/dist/lib/subagent-transcript-parser.js.map +1 -1
  98. package/dist/lib/transcript-types.d.ts +4 -0
  99. package/dist/lib/transcript-types.d.ts.map +1 -1
  100. package/dist/metrics/cost-forecast.d.ts +2 -0
  101. package/dist/metrics/cost-forecast.d.ts.map +1 -1
  102. package/dist/metrics/cost-forecast.js +46 -24
  103. package/dist/metrics/cost-forecast.js.map +1 -1
  104. package/dist/metrics/cost-tracker.d.ts +3 -3
  105. package/dist/metrics/cost-tracker.js +3 -3
  106. package/dist/metrics/efficiency-score.d.ts +2 -2
  107. package/dist/metrics/efficiency-score.js +2 -2
  108. package/dist/metrics/first-save-baselines.d.ts +60 -0
  109. package/dist/metrics/first-save-baselines.d.ts.map +1 -0
  110. package/dist/metrics/first-save-baselines.js +77 -0
  111. package/dist/metrics/first-save-baselines.js.map +1 -0
  112. package/dist/metrics/local-session-aggregator.d.ts +6 -5
  113. package/dist/metrics/local-session-aggregator.d.ts.map +1 -1
  114. package/dist/metrics/local-session-aggregator.js +34 -6
  115. package/dist/metrics/local-session-aggregator.js.map +1 -1
  116. package/dist/metrics/model-pricing.d.ts +1 -1
  117. package/dist/metrics/model-pricing.d.ts.map +1 -1
  118. package/dist/metrics/model-pricing.js +2 -2
  119. package/dist/metrics/model-pricing.js.map +1 -1
  120. package/dist/metrics/model-usage-tracker.d.ts +2 -2
  121. package/dist/metrics/model-usage-tracker.js +2 -2
  122. package/dist/metrics/pricing-init.d.ts.map +1 -1
  123. package/dist/metrics/pricing-init.js +5 -3
  124. package/dist/metrics/pricing-init.js.map +1 -1
  125. package/dist/metrics/pricing-overlay.d.ts.map +1 -1
  126. package/dist/metrics/pricing-overlay.js +1 -4
  127. package/dist/metrics/pricing-overlay.js.map +1 -1
  128. package/dist/metrics/pricing-refresh.d.ts +16 -4
  129. package/dist/metrics/pricing-refresh.d.ts.map +1 -1
  130. package/dist/metrics/pricing-refresh.js +47 -1
  131. package/dist/metrics/pricing-refresh.js.map +1 -1
  132. package/dist/metrics/quality-proxy-tracker.d.ts +2 -2
  133. package/dist/metrics/quality-proxy-tracker.js +2 -2
  134. package/dist/metrics/session-tracker.d.ts +5 -1
  135. package/dist/metrics/session-tracker.d.ts.map +1 -1
  136. package/dist/metrics/session-tracker.js +58 -17
  137. package/dist/metrics/session-tracker.js.map +1 -1
  138. package/dist/metrics/task-detector.d.ts +2 -2
  139. package/dist/metrics/task-detector.js +2 -2
  140. package/dist/metrics/token-usage.d.ts +6 -0
  141. package/dist/metrics/token-usage.d.ts.map +1 -0
  142. package/dist/metrics/token-usage.js +34 -0
  143. package/dist/metrics/token-usage.js.map +1 -0
  144. package/dist/metrics/turn-cost-attributor.d.ts.map +1 -1
  145. package/dist/metrics/turn-cost-attributor.js +3 -0
  146. package/dist/metrics/turn-cost-attributor.js.map +1 -1
  147. package/dist/platforms/copilot-adapter.d.ts.map +1 -1
  148. package/dist/platforms/copilot-adapter.js +3 -0
  149. package/dist/platforms/copilot-adapter.js.map +1 -1
  150. package/dist/platforms/copilot-sdk-adapter.d.ts.map +1 -1
  151. package/dist/platforms/copilot-sdk-adapter.js +3 -0
  152. package/dist/platforms/copilot-sdk-adapter.js.map +1 -1
  153. package/dist/storage/drain-claims.d.ts +82 -0
  154. package/dist/storage/drain-claims.d.ts.map +1 -0
  155. package/dist/storage/drain-claims.js +239 -0
  156. package/dist/storage/drain-claims.js.map +1 -0
  157. package/dist/storage/hook-buffer.d.ts +7 -0
  158. package/dist/storage/hook-buffer.d.ts.map +1 -0
  159. package/dist/storage/hook-buffer.js +132 -0
  160. package/dist/storage/hook-buffer.js.map +1 -0
  161. package/dist/storage/local-store.d.ts +38 -16
  162. package/dist/storage/local-store.d.ts.map +1 -1
  163. package/dist/storage/local-store.js +228 -72
  164. package/dist/storage/local-store.js.map +1 -1
  165. package/dist/storage/retention.d.ts.map +1 -1
  166. package/dist/storage/retention.js +7 -6
  167. package/dist/storage/retention.js.map +1 -1
  168. package/dist/storage/session-store.d.ts +37 -8
  169. package/dist/storage/session-store.d.ts.map +1 -1
  170. package/dist/storage/session-store.js +255 -48
  171. package/dist/storage/session-store.js.map +1 -1
  172. package/dist/storage/types.d.ts +7 -0
  173. package/dist/storage/types.d.ts.map +1 -1
  174. package/dist/storage/types.js +4 -0
  175. package/dist/storage/types.js.map +1 -1
  176. package/dist/tools/cost-tools.d.ts.map +1 -1
  177. package/dist/tools/cost-tools.js +1 -0
  178. package/dist/tools/cost-tools.js.map +1 -1
  179. package/dist/web/assets/{index-U9DPZ-Tb.js → index-CZvLy2Qy.js} +2 -2
  180. package/dist/web/index.html +1 -1
  181. package/package.json +4 -1
@@ -15,6 +15,8 @@ import { mergeSettings, removeSettings, mergeMcpConfig, removeMcpConfig, detectS
15
15
  import { detectCopilotHooksPath, detectVsCodeMcpPath, detectVsCodeSettingsPath, mergeCopilotHooksFile, removeCopilotHooksFile, mergeVsCodeMcpConfig, removeVsCodeMcpConfig, mergeVsCodeSettings, removeVsCodeHookFilesLocationsEntry, applyHookCollisionFix, installCopilotSdkExtension, } from './copilot-install-helper.js';
16
16
  import { copilotSdkExtensionInstallPath } from '../hooks/copilot-sdk-extension-health.js';
17
17
  import { isWsl, resolveWindowsHome } from './platform.js';
18
+ import { resolveInstallCredentials } from './credentials.js';
19
+ import { EXPLICIT_CREDENTIALS_ENV, lookupUser, runInstallAsUser, } from './target-user.js';
18
20
  import { validateConfigFile, DEFAULT_STORAGE_PATH, ConfigFileSchema, loadMcpConfig, } from '../config.js';
19
21
  import { VALID_MODES } from '../config.js';
20
22
  import { migrateStoragePath } from './migrate.js';
@@ -490,6 +492,20 @@ function handleSchedule(options) {
490
492
  print(' To enable: preflight schedule --time 08:00');
491
493
  }
492
494
  }
495
+ // Unreadable config counts as stored: the env fallback must not overwrite what
496
+ // we could not inspect. migrateStoragePath runs later, so also check the
497
+ // pre-rename location.
498
+ function hasStoredLicenseSource() {
499
+ return [NR_CONFIG_PATH, resolve(homedir(), '.nr-ai-observe', 'config.json')].some((path) => {
500
+ try {
501
+ const stored = readJsonFileStrict(path);
502
+ return stored.licenseKey !== undefined || stored.licenseKeyCommand !== undefined;
503
+ }
504
+ catch {
505
+ return true;
506
+ }
507
+ });
508
+ }
493
509
  // ---------------------------------------------------------------------------
494
510
  // Install handler
495
511
  // ---------------------------------------------------------------------------
@@ -600,8 +616,8 @@ function handleInstall(options) {
600
616
  if (nrConfigWritten) {
601
617
  print(`\n✓ New Relic config written: ${NR_CONFIG_PATH}`);
602
618
  }
603
- else if (!credentialsProvided && (options.licenseKey || options.accountId)) {
604
- print('\n⚠ Both --license-key and --account-id are required to save NR config. Skipped.');
619
+ else if (!credentialsProvided && options.credentialsRequested) {
620
+ print('\n⚠ A license key (--license-key, --license-key-file, or NEW_RELIC_LICENSE_KEY) and an account ID (--account-id or NEW_RELIC_ACCOUNT_ID) are both required to save NR config. Skipped.');
605
621
  }
606
622
  if (binPath !== null) {
607
623
  print('\n✓ preflight is on your PATH');
@@ -638,10 +654,34 @@ function handleInstall(options) {
638
654
  // ---------------------------------------------------------------------------
639
655
  // Copilot install/uninstall handlers
640
656
  // ---------------------------------------------------------------------------
657
+ // Node refuses to spawn a .cmd or .bat without a shell (CVE-2024-27980), and
658
+ // npm installs the Copilot CLI as copilot.cmd on Windows, so that runs through
659
+ // cmd.exe with every argument double-quoted. Inside quotes cmd.exe treats
660
+ // & | < > ^ ( ) as text, but it still expands %VAR%, and a " or line break
661
+ // ends the quote, so an argument holding any of those is refused. Every other
662
+ // path gets an argv array and no shell.
663
+ function execCopilotCli(cliPath, args) {
664
+ if (!/\.(?:cmd|bat)$/i.test(cliPath)) {
665
+ execFileSync(cliPath, args, { stdio: 'pipe' });
666
+ return;
667
+ }
668
+ const quoted = [cliPath, ...args].map((arg) => {
669
+ if (/["%\r\n]/.test(arg)) {
670
+ throw new Error(`an argument to ${cliPath} holds a ", %, or line break that cmd.exe cannot quote`);
671
+ }
672
+ // Double trailing backslashes so the closing quote is not escaped.
673
+ return `"${arg.replace(/(\\+)$/, '$1$1')}"`;
674
+ });
675
+ // execFileSync hands its options to spawnSync, which honors this flag,
676
+ // though execFileSync's type leaves it out.
677
+ const options = { stdio: 'pipe', windowsVerbatimArguments: true };
678
+ const command = `"${quoted.join(' ')}"`;
679
+ execFileSync(process.env.ComSpec ?? 'cmd.exe', ['/d', '/v:off', '/s', '/c', command], options);
680
+ }
641
681
  // Idempotent: always remove-then-add rather than parsing `copilot mcp list`
642
- // output (undocumented/unstable format risk). Uses execFileSync with an
643
- // argv array — never a shell string — so a license key containing shell
644
- // metacharacters can never be interpreted by a shell.
682
+ // output (undocumented/unstable format risk). Goes through execCopilotCli, so
683
+ // a license key containing shell metacharacters is never interpreted by a
684
+ // shell.
645
685
  //
646
686
  // Registers with MCP_CLIENT=copilot-sdk (unchanged from today's documented
647
687
  // setup) — this env var only affects the MCP *server* process's own
@@ -652,7 +692,7 @@ function handleInstall(options) {
652
692
  // correctly uses MCP_CLIENT=copilot (see generateVsCodeMcpEntry).
653
693
  function registerCopilotMcpServer(copilotCliPath, binPath, licenseKey, accountId) {
654
694
  try {
655
- execFileSync(copilotCliPath, ['mcp', 'remove', 'preflight'], { stdio: 'pipe' });
695
+ execCopilotCli(copilotCliPath, ['mcp', 'remove', 'preflight']);
656
696
  }
657
697
  catch {
658
698
  /* not previously registered — fine */
@@ -671,7 +711,7 @@ function registerCopilotMcpServer(copilotCliPath, binPath, licenseKey, accountId
671
711
  target,
672
712
  ...targetArgs,
673
713
  ];
674
- execFileSync(copilotCliPath, args, { stdio: 'pipe' });
714
+ execCopilotCli(copilotCliPath, args);
675
715
  }
676
716
  function handleKiroInstall() {
677
717
  // Kiro treats PreToolUse as blocking, so a collector missing from PATH would
@@ -912,7 +952,7 @@ async function handleCopilotUninstall(options) {
912
952
  }
913
953
  if (copilotCliPath) {
914
954
  try {
915
- execFileSync(copilotCliPath, ['mcp', 'remove', 'preflight'], { stdio: 'pipe' });
955
+ execCopilotCli(copilotCliPath, ['mcp', 'remove', 'preflight']);
916
956
  print('✓ Removed preflight from `copilot mcp list`');
917
957
  anyRemoved = true;
918
958
  }
@@ -1385,34 +1425,108 @@ async function handleDoctor(options) {
1385
1425
  // ---------------------------------------------------------------------------
1386
1426
  // CLI program
1387
1427
  // ---------------------------------------------------------------------------
1428
+ /**
1429
+ * Handles `install` when the caller is root or names a --target-user.
1430
+ * Returns true when the install already ran as the target user.
1431
+ */
1432
+ function installForTargetUser(options, credentials) {
1433
+ const currentUid = process.getuid?.();
1434
+ if (!options.targetUser) {
1435
+ if (currentUid === 0) {
1436
+ print(`\n ⚠ Running as root: this configures root's home (${homedir()}). ` +
1437
+ "To configure a user's home instead, add --target-user <name>.");
1438
+ }
1439
+ return false;
1440
+ }
1441
+ if (options.project) {
1442
+ eprint('\n✗ --project cannot be combined with --target-user.');
1443
+ process.exit(1);
1444
+ }
1445
+ let user;
1446
+ try {
1447
+ user = lookupUser(options.targetUser);
1448
+ }
1449
+ catch (err) {
1450
+ eprint(`\n✗ ${errMsg(err)}`);
1451
+ process.exit(1);
1452
+ }
1453
+ if (user.uid === currentUid)
1454
+ return false;
1455
+ if (currentUid !== 0) {
1456
+ eprint(`\n✗ --target-user ${user.name} requires running as root.`);
1457
+ process.exit(1);
1458
+ }
1459
+ print(`\n Installing for ${user.name} (${user.home})`);
1460
+ try {
1461
+ const explicit = !!(options.licenseKey || options.licenseKeyFile);
1462
+ process.exitCode = runInstallAsUser(user, process.argv.slice(1), { ...credentials, explicit });
1463
+ }
1464
+ catch (err) {
1465
+ eprint(`\n✗ Could not run the install as ${user.name}: ${errMsg(err)}`);
1466
+ process.exit(1);
1467
+ }
1468
+ return true;
1469
+ }
1388
1470
  export function createInstallProgram() {
1389
1471
  const program = new Command();
1390
1472
  program.name('preflight').description('New Relic AI observability for Claude Code');
1391
1473
  program
1392
1474
  .command('install')
1393
1475
  .description('Configure Claude Code hooks and MCP server for AI observability')
1394
- .option('--license-key <key>', 'New Relic license key')
1395
- .option('--account-id <id>', 'New Relic account ID')
1476
+ .option('--license-key <key>', 'New Relic license key (visible in `ps`; prefer --license-key-file or NEW_RELIC_LICENSE_KEY)')
1477
+ .option('--license-key-file <path>', 'Read the New Relic license key from a file (not visible in `ps`, except with --copilot)')
1478
+ .option('--account-id <id>', 'New Relic account ID (default: NEW_RELIC_ACCOUNT_ID)')
1396
1479
  .addOption(new Option('--mode <mode>', 'Telemetry mode: cloud, local, or both (default: local)').choices([...VALID_MODES]))
1480
+ .option('--target-user <name>', "Run as root and configure this user's home (for MDM tools such as Jamf that run scripts as root)")
1397
1481
  .option('--project', 'Write to project-level .claude/settings.json instead of user-level')
1398
1482
  .option('--windows-cc', 'Target Windows Claude Code (desktop app) when running inside WSL')
1399
1483
  .option('--linux-cc', 'Target Linux Claude Code (npm in WSL) when running inside WSL')
1400
1484
  .option('--copilot', 'Configure GitHub Copilot instead — Copilot CLI hooks/MCP and VS Code Copilot Chat hooks/MCP')
1401
1485
  .option('--kiro', 'Configure Amazon Kiro instead — writes .kiro/hooks/preflight-observability.json in the current directory')
1402
- .action((options) => {
1403
- if (options.kiro) {
1404
- if (options.copilot || options.windowsCc || options.linuxCc) {
1486
+ .action((cliOptions) => {
1487
+ if (cliOptions.kiro) {
1488
+ if (cliOptions.targetUser) {
1489
+ eprint('\n✗ --kiro cannot be combined with --target-user.');
1490
+ process.exit(1);
1491
+ }
1492
+ if (cliOptions.copilot || cliOptions.windowsCc || cliOptions.linuxCc) {
1405
1493
  print('\n ⚠ --kiro cannot be combined with --copilot, --windows-cc, or --linux-cc.');
1406
1494
  process.exit(1);
1407
1495
  }
1408
1496
  handleKiroInstall();
1409
1497
  return;
1410
1498
  }
1499
+ if (cliOptions.copilot && (cliOptions.windowsCc || cliOptions.linuxCc)) {
1500
+ print('\n ⚠ --copilot cannot be combined with --windows-cc or --linux-cc.');
1501
+ process.exit(1);
1502
+ }
1503
+ let credentials;
1504
+ try {
1505
+ credentials = resolveInstallCredentials({
1506
+ ...cliOptions,
1507
+ hasStoredCredentials: hasStoredLicenseSource() && process.env[EXPLICIT_CREDENTIALS_ENV] !== '1',
1508
+ });
1509
+ }
1510
+ catch (err) {
1511
+ eprint(`\n✗ ${errMsg(err)}`);
1512
+ process.exit(1);
1513
+ }
1514
+ for (const warning of credentials.warnings)
1515
+ print(`\n ⚠ ${warning}`);
1516
+ if (credentials.licenseKeySource === 'env') {
1517
+ print('\n License key read from NEW_RELIC_LICENSE_KEY');
1518
+ }
1519
+ if (installForTargetUser(cliOptions, credentials))
1520
+ return;
1521
+ const options = {
1522
+ ...cliOptions,
1523
+ credentialsRequested: !!(cliOptions.licenseKey ||
1524
+ cliOptions.licenseKeyFile ||
1525
+ cliOptions.accountId),
1526
+ licenseKey: credentials.licenseKey,
1527
+ accountId: credentials.accountId,
1528
+ };
1411
1529
  if (options.copilot) {
1412
- if (options.windowsCc || options.linuxCc) {
1413
- print('\n ⚠ --copilot cannot be combined with --windows-cc or --linux-cc.');
1414
- process.exit(1);
1415
- }
1416
1530
  handleCopilotInstall(options);
1417
1531
  return;
1418
1532
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,mCAAmC,EACnC,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACL,wBAAwB,EACxB,UAAU,EACV,gBAAgB,GAEjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAa,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGrF,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AAEnC,MAAM,cAAc,GAAG,OAAO,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;AAEpE,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAE9E,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtE,OAAO,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1E,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,OAAO;QACxC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC5E,aAAa,CAAC,cAAc,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,8CAA8C,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,CACJ,2FAA2F,CAC5F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,qEAAqE;AACrE,8EAA8E;AAE9E,SAAS,eAAe,CACtB,OAAmD,EACnD,aAAoC;IAKpC,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACzC,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACb,KAAK,CAAC,6EAA6E,CAAC,CAAC;YACrF,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;QACzC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,KAAK,CAAC,mEAAmE,CAAC,CAAC;YAC3E,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC9C,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACb,KAAK,CAAC,2EAA2E,CAAC,CAAC;YACnF,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACzD,CAAC;IAED,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAE/D,wEAAwE;IACxE,0EAA0E;IAC1E,6DAA6D;IAC7D,IAAI,aAAa,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;QAChD,IAAI,aAAa,KAAK,gBAAgB,EAAE,CAAC;YACvC,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;YACzC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,KAAK,CACH,2FAA2F,CAC5F,CAAC;gBACF,KAAK,CAAC,mFAAmF,CAAC,CAAC;gBAC3F,KAAK,CAAC,sEAAsE,CAAC,CAAC;gBAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACxD,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,uFAAuF,CAAC,CAAC;IAC/F,KAAK,CAAC,mFAAmF,CAAC,CAAC;IAC3F,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC5C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,mBAAmB,CAC1B,SAAyB,EACzB,KAAyB,EACzB,WAA0B;IAE1B,OAAO;QACL,YAAY,EAAE,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC;QACpD,OAAO,EAAE,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC;QAChD,WAAW,EAAE,WAAW,IAAI,SAAS;KACtC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,SAAS,KAAK,CAAC,GAAG,GAAG,EAAE;IACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,MAAM,CAAC,GAAG,GAAG,EAAE;IACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,UAAU,kBAAkB;IAChC,OAAO,iBAAiB,EAAE,KAAK,IAAI,CAAC;AACtC,CAAC;AAED,SAAS,gBAAgB;IACvB,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC5C,KAAK,CAAC,gFAAgF,CAAC,CAAC;IACxF,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC9E,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,CAAC,CAAC;AACZ,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAQ,GAA6B,CAAC,IAAI,KAAK,OAAO,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,qBAAqB,CAAC,GAAW;IAC9C,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,OAAO;YAAE,MAAM,GAAG,CAAC;IACjE,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IACnC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,4BAA4B,CAAC,IAI3C;IACC,MAAM,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AACjG,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,QAAgB;IAC/C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAEjF,CAAC;QACF,OAAO,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,aAAa,CAC1B,QAAgB,EAChB,UAAkB,EAClB,OAAe;IAEf,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,eAAe,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAC3F,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,aAAa,CAAC,QAAgB;IAC3C,MAAM,YAAY,GAAG,wBAAwB,EAAE,CAAC;IAChD,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;QAC3B,IAAI,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;YACrD,IAAI,CAAC;gBACH,sBAAsB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBAChD,aAAa,GAAG,MAAM,aAAa,CACjC,QAAQ,EACR,6DAA6D,EAC7D,kOAAkO,CACnO,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,KAAK,CAAC,+CAA+C,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACpE,KAAK,CACH,uFAAuF,CACxF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,iFAAiF,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,aAAa;YAAE,OAAO;QAC1B,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,UAAU,CAAC,4BAA4B,EAAE,CAAC;IACvD,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;aACvF,IAAI,EAAE;aACN,WAAW,EAAE,CAAC;IACnB,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO;IAE9C,IAAI,CAAC;QACH,MAAM,4BAA4B,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,aAAa,CACjB,QAAQ,EACR,wBAAwB,EACxB,sFAAsF,CACvF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,oDAAoD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzE,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,EAAU;IAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3C,IAAI,YAAY,GAAG,EAAE;QAAE,OAAO,GAAG,YAAY,GAAG,CAAC;IACjD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IACnD,IAAI,YAAY,GAAG,EAAE;QAAE,OAAO,GAAG,YAAY,GAAG,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IACjD,IAAI,UAAU,GAAG,EAAE;QAAE,OAAO,GAAG,UAAU,GAAG,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;IAC9C,OAAO,GAAG,SAAS,GAAG,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,WAAW,CAAC,OAA4B;IACrD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,UAAU,CAAC,oBAAoB,EAAE,CAAC;IAClD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,KAAK,CAAC,cAAc,OAAO,uBAAuB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAChF,KAAK,EAAE,CAAC;IACV,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,4BAA4B,EAAE,CAAC;IACxD,MAAM,SAAS,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACzE,MAAM,cAAc,GAAG,UAAU,CAAC,wBAAwB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAEpF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,GAAG,SAAS,CAAC,MAAM,+BAA+B,CAAC,CAAC;QAC1D,KAAK,EAAE,CAAC;QACR,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,KAAK,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC;YACpE,KAAK,CACH,SAAS,IAAI,CAAC,GAAG,MAAM,MAAM,aAAa,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,CACrG,CAAC;QACJ,CAAC;QACD,KAAK,EAAE,CAAC;IACV,CAAC;IAED,2EAA2E;IAC3E,sEAAsE;IACtE,yEAAyE;IACzE,wEAAwE;IACxE,uEAAuE;IACvE,gBAAgB;IAChB,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,GAAG,cAAc,CAAC,MAAM,mCAAmC,CAAC,CAAC;QACnE,KAAK,EAAE,CAAC;QACR,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,KAAK,CACH,SAAS,IAAI,CAAC,GAAG,cAAc,IAAI,CAAC,SAAS,aAAa,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,SAAS,MAAM,IAAI,CAAC,GAAG,IAAI,aAAa,EAAE,CAClJ,CAAC;QACJ,CAAC;QACD,KAAK,EAAE,CAAC;QACR,KAAK,CACH,iGAAiG,CAClG,CAAC;QACF,KAAK,CACH,2FAA2F,CAC5F,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO;IAE3B,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,EAAE,GAAG,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IAC/D,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,CACP,MAAM,EAAE,CAAC,QAAQ,CACf,UAAU,YAAY,oBAAoB,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAClF,CACF;aACE,IAAI,EAAE;aACN,WAAW,EAAE,CAAC;IACnB,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO;IAE9C,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxC,UAAU,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/C,KAAK,CAAC,gBAAgB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,wBAAwB,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxC,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAClD,KAAK,CAAC,gBAAgB,MAAM,CAAC,GAAG,aAAa,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,wBAAwB,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY;IACzB,kBAAkB,EAAE,CAAC;IACrB,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAE7B,KAAK,CAAC,2BAA2B,QAAQ,OAAO,CAAC,CAAC;IAElD,IAAI,CAAC;QACH,KAAK,CAAC,YAAY,CAAC,CAAC;QACpB,YAAY,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAClE,KAAK,CAAC,gFAAgF,CAAC,CAAC;QACxF,KAAK,CAAC,iFAAiF,CAAC,CAAC;QACzF,KAAK,CAAC,eAAe,QAAQ,gBAAgB,CAAC,CAAC;QAC/C,KAAK,CAAC,eAAe,QAAQ,gCAAgC,CAAC,CAAC;QAC/D,KAAK,CAAC,mFAAmF,CAAC,CAAC;QAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3B,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3E,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC9B,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAC3D,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,0CAA0C,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,SAAS,cAAc,CAAC,OAA6C;IACnE,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;YACjC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,gCAAgC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,KAAK,MAAM,IAAI,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACpE,KAAK,CAAC,iFAAiF,CAAC,CAAC;YACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,CAAC,wBAAwB,OAAO,CAAC,IAAI,4BAA4B,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,IAAI,GAAG,EAAE,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;YAC7B,KAAK,CAAC,iBAAiB,OAAO,CAAC,IAAI,oCAAoC,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;QACvC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,KAAK,CAAC,mFAAmF,CAAC,CAAC;YAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACzC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3C,KAAK,CAAC,qCAAqC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACxD,KAAK,CAAC,UAAU,OAAO,EAAE,iCAAiC,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC9B,KAAK,CACH,sGAAsG,CACvG,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACrD,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACvD,KAAK,CAAC,yBAAyB,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACjD,KAAK,CAAC,aAAa,MAAM,CAAC,UAAU,IAAI,SAAS,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACtD,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC5C,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,yEAAyE;AACzE,uBAAuB;AACvB,SAAS,sBAAsB;IAC7B,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACzF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,CAAC;QACnF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,SAAS,aAAa,CAAC,OAQtB;IACC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IACnD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,MAAM,mBAAmB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC;IAEtB,8CAA8C;IAC9C,4EAA4E;IAC5E,8EAA8E;IAC9E,2EAA2E;IAC3E,+EAA+E;IAC/E,mFAAmF;IACnF,uFAAuF;IACvF,MAAM,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,IAAI,gBAAgB,GAA4B,EAAE,CAAC;IACnD,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,CAAC;QACH,kFAAkF;QAClF,gBAAgB,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,aAAa,GAAG,GAAG,YAAY,WAAW,CAAC;QACjD,IAAI,aAAa,IAAI,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,IAAI,mBAAmB,EAAE,CAAC;YACzE,MAAM,CAAC,mEAAmE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzF,MAAM,CACJ,aAAa;gBACX,CAAC,CAAC,8EAA8E;gBAChF,CAAC,CAAC,6CAA6C,CAClD,CAAC;YACF,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,CAAC,qEAAqE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3F,MAAM,CAAC,uFAAuF,CAAC,CAAC;QAChG,iBAAiB,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,MAAM,aAAa,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAC3E,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC1E,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAEjG,IAAI,cAAgD,CAAC;IACrD,IAAI,SAA4C,CAAC;IACjD,IAAI,CAAC;QACH,cAAc,GAAG,aAAa,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxF,SAAS,GAAG,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,iCAAiC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,aAAa,CAAC,YAAY,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,qCAAqC,YAAY,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7E,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,CAAC;QACH,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,mCAAmC,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtE,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,6FAA6F;IAC7F,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,QAAQ,GAA4B,EAAE,GAAG,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;YAC5F,IAAI,mBAAmB,EAAE,CAAC;gBACxB,MAAM,CAAC,MAAM,CACX,QAAQ,EACR,gBAAgB,CAAC,OAAO,CAAC,UAAoB,EAAE,OAAO,CAAC,SAAmB,CAAC,CAC5E,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC/B,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,gBAAgB,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACpF,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC;YAC1B,CAAC;YACD,aAAa,CAAC,cAAc,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;YAC9D,eAAe,GAAG,mBAAmB,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,mBAAmB,EAAE,CAAC;gBACxB,MAAM,CAAC,wCAAwC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9D,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,CAAC,0CAA0C,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChE,MAAM,CAAC,qEAAqE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAClC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACjE,KAAK,CAAC,uBAAuB,YAAY,EAAE,CAAC,CAAC;QAC7C,KAAK,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;QAC7C,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAChF,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACxE,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;QACvC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC9D,KAAK,CAAC,uBAAuB,YAAY,EAAE,CAAC,CAAC;QAC7C,KAAK,CAAC,oEAAoE,CAAC,CAAC;QAC5E,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;IACxD,KAAK,CAAC,kFAAkF,CAAC,CAAC;IAC1F,KAAK,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;IAC7C,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAExC,IAAI,eAAe,EAAE,CAAC;QACpB,KAAK,CAAC,iCAAiC,cAAc,EAAE,CAAC,CAAC;IAC3D,CAAC;SAAM,IAAI,CAAC,mBAAmB,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QAChE,KAAK,CACH,wLAAwL,CACzL,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,gBAAgB,EAAE,CAAC;IACrB,CAAC;IAED,uEAAuE;IACvE,2EAA2E;IAC3E,qEAAqE;IACrE,0EAA0E;IAC1E,0EAA0E;IAC1E,yEAAyE;IACzE,sEAAsE;IACtE,qEAAqE;IACrE,MAAM,YAAY,GAAG,qBAAqB,CAAC;QACzC,kBAAkB,EAAE,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC;QACnD,gBAAgB,EAAE,sBAAsB,CAAC,KAAK,CAAC;QAC/C,kBAAkB,EAAE,wBAAwB,EAAE;QAC9C,wBAAwB,EAAE,IAAI;KAC/B,CAAC,CAAC;IACH,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QACzB,KAAK,CAAC,+EAA+E,CAAC,CAAC;QACvF,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,CAAC;IACvB,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAClC,KAAK,CAAC,mEAAmE,CAAC,CAAC;IAC3E,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACzD,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAChC,KAAK,CAAC,8DAA8D,CAAC,CAAC;AACxE,CAAC;AAED,8EAA8E;AAC9E,qCAAqC;AACrC,8EAA8E;AAE9E,6EAA6E;AAC7E,+EAA+E;AAC/E,0EAA0E;AAC1E,2EAA2E;AAC3E,8EAA8E;AAC9E,wCAAwC;AACxC,SAAS,cAAc,CAAC,OAAe,EAAE,IAAc;IACrD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5C,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,kBAAkB,OAAO,wDAAwD,CAClF,CAAC;QACJ,CAAC;QACD,mEAAmE;QACnE,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,uEAAuE;IACvE,4CAA4C;IAC5C,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,MAAe,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC;IAC3E,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACxC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AACjG,CAAC;AAED,4EAA4E;AAC5E,8EAA8E;AAC9E,0EAA0E;AAC1E,SAAS;AACT,EAAE;AACF,2EAA2E;AAC3E,oEAAoE;AACpE,wEAAwE;AACxE,wEAAwE;AACxE,0EAA0E;AAC1E,yEAAyE;AACzE,kEAAkE;AAClE,SAAS,wBAAwB,CAC/B,cAAsB,EACtB,OAAsB,EACtB,UAAmB,EACnB,SAAkB;IAElB,IAAI,CAAC;QACH,cAAc,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,CAAC;IAChC,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG;QACX,KAAK;QACL,KAAK;QACL,WAAW;QACX,OAAO;QACP,wBAAwB;QACxB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,yBAAyB,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,wBAAwB,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,IAAI;QACJ,MAAM;QACN,GAAG,UAAU;KACd,CAAC;IACF,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,iBAAiB;IACxB,6EAA6E;IAC7E,0CAA0C;IAC1C,IAAI,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACrD,MAAM,CACJ,wFAAwF,CACzF,CAAC;QACF,MAAM,CAAC,sEAAsE,CAAC,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,aAAa,CAAC,SAAS,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,mCAAmC,SAAS,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,KAAK,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC;IAC9C,KAAK,CAAC,oFAAoF,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,iCAAiC,OAAO,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,aAAa,CAAC,SAAS,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,oCAAoC,SAAS,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,KAAK,CAAC,qCAAqC,SAAS,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,oBAAoB,CAAC,OAI7B;IACC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IACnD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,MAAM,cAAc,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAEhD,wEAAwE;IACxE,sEAAsE;IACtE,+CAA+C;IAC/C,IAAI,WAAoC,CAAC;IACzC,IAAI,CAAC;QACH,WAAW,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,+CAA+C,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrE,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,CAAC;QACH,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,6CAA6C,SAAS,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClF,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;IAEjD,yEAAyE;IACzE,wEAAwE;IACxE,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,wBAAwB,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACzF,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,2DAA2D,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjF,MAAM,CAAC,oEAAoE,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,GAAG,GAAG,0BAA0B,EAAE,CAAC;QACzC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,KAAK,CAAC,4DAA4D,CAAC,CAAC;YACpE,KAAK,CACH,yFAAyF,CAC1F,CAAC;QACJ,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACnC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,sDAAsD,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAChF,KAAK,CAAC,iFAAiF,CAAC,CAAC;IAC3F,CAAC;IAED,qEAAqE;IACrE,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;IAC5C,MAAM,kBAAkB,GAAG,wBAAwB,EAAE,CAAC;IACtD,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAElC,IAAI,aAAa,IAAI,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE;gBACvF,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC,CAAC;YACH,aAAa,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YAC9C,KAAK,CAAC,oCAAoC,aAAa,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,2CAA2C,aAAa,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACvF,CAAC;IAED,IAAI,kBAAkB,IAAI,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,EAAE;gBACzE,mBAAmB,EAAE,IAAI;aAC1B,CAAC,CAAC;YACH,aAAa,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;YAC1C,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACrE,qBAAqB,GAAG,IAAI,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,+CAA+C,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,0CAA0C;IAC1C,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,qBAAqB,CAAC;QAChC,kBAAkB;QAClB,gBAAgB,EAAE,SAAS;QAC3B,kBAAkB;QAClB,yBAAyB,EAAE,IAAI;KAChC,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,KAAK,CAAC,+EAA+E,CAAC,CAAC;QACvF,qBAAqB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,qBAAqB,EAAE,CAAC;QAC1B,KAAK,CAAC,8EAA8E,CAAC,CAAC;QACtF,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,CAAC;IACvB,KAAK,CAAC,mEAAmE,CAAC,CAAC;IAC3E,KAAK,CAAC,+DAA+D,CAAC,CAAC;AACzE,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,OAGrC;IACC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IACnD,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;IAC5C,MAAM,kBAAkB,GAAG,wBAAwB,EAAE,CAAC;IACtD,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,8BAA8B,EAAE,CAAC;IAEvD,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,IAAI,UAAU,CAAC,SAAS,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;IAC5F,IAAI,aAAa,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/C,aAAa,CAAC,IAAI,CAAC,8BAA8B,aAAa,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,yEAAyE;IACzE,wEAAwE;IACxE,yEAAyE;IACzE,IAAI,wBAAwB,GAAG,KAAK,CAAC;IACrC,IAAI,kBAAkB,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CAAC;YACtD,IACE,OAAO,SAAS,KAAK,QAAQ;gBAC7B,SAAS,KAAK,IAAI;gBACjB,SAAqC,CAAC,kBAAkB,CAAC,KAAK,KAAK,EACpE,CAAC;gBACD,wBAAwB,GAAG,IAAI,CAAC;gBAChC,aAAa,CAAC,IAAI,CAChB,mBAAmB,kBAAkB,kDAAkD,kBAAkB,EAAE,CAC5G,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;QACvD,CAAC;IACH,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,aAAa,CAAC,IAAI,CAAC,6CAA6C,aAAa,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,cAAc,EAAE,CAAC;QACnB,aAAa,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,KAAK,CAAC,kEAAkE,CAAC,CAAC;IAC1E,KAAK,MAAM,IAAI,IAAI,aAAa;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,KAAK,CACH,+FAA+F,CAChG,CAAC;IACF,KAAK,CAAC,kFAAkF,CAAC,CAAC;IAC1F,KAAK,CAAC,EAAE,CAAC,CAAC;IAEV,IAAI,CAAC,aAAa,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;QAAE,OAAO;IACtE,KAAK,CAAC,EAAE,CAAC,CAAC;IAEV,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAChC,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,eAAe,CAChB,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACZ,UAAU,GAAG,IAAI,CAAC;YAClB,KAAK,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI,aAAa,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAChC,aAAa,EACb,SAAS,EACT,qBAAqB,EACrB,oBAAoB,CACrB,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACZ,UAAU,GAAG,IAAI,CAAC;YAClB,KAAK,CAAC,iCAAiC,aAAa,EAAE,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI,wBAAwB,IAAI,kBAAkB,EAAE,CAAC;QACnD,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAChC,kBAAkB,EAClB,SAAS,EACT,CAAC,IAAI,EAAE,EAAE,CAAC,mCAAmC,CAAC,IAAI,EAAE,kBAAkB,CAAC,EACvE,oCAAoC,CACrC,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACZ,UAAU,GAAG,IAAI,CAAC;YAClB,KAAK,CAAC,uCAAuC,kBAAkB,EAAE,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,UAAU,CAAC,aAAa,CAAC,CAAC;YAC1B,UAAU,GAAG,IAAI,CAAC;YAClB,KAAK,CAAC,0CAA0C,aAAa,EAAE,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,GAAG,IAAI,CAAC;YACjB,MAAM,CAAC,mDAAmD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,cAAc,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;YAC/D,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACrD,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,uEAAuE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAC9F,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,CACH,4FAA4F,CAC7F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,0EAA0E;AAC1E,uEAAuE;AACvE,2CAA2C;AAC3C,SAAS,qBAAqB,CAAC,OAI9B;IAIC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IAEnD,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACzC,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QAClC,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACrF,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QAChC,KAAK,CAAC,2EAA2E,CAAC,CAAC;QACnF,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;IACvB,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAEzD,IAAI,OAAO,CAAC,SAAS,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QAC9C,KAAK,CAAC,mEAAmE,CAAC,CAAC;QAC3E,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,gFAAgF;IAChF,6EAA6E;IAC7E,mCAAmC;IACnC,iFAAiF;IACjF,kCAAkC;IAClC,IAAI,aAAa,GAA0B,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;YAClD,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;IACH,CAAC;IAED,IAAI,cAAuB,CAAC;IAC5B,IAAI,YAAqB,CAAC;IAC1B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,cAAc,GAAG,IAAI,CAAC;QACtB,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;SAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,cAAc,GAAG,KAAK,CAAC;QACvB,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;SAAM,IAAI,aAAa,KAAK,gBAAgB,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,yFAAyF;YACzF,0FAA0F;YAC1F,cAAc,GAAG,KAAK,CAAC;YACvB,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YAChC,wFAAwF;YACxF,yFAAyF;YACzF,+FAA+F;YAC/F,KAAK,CACH,2FAA2F,CAC5F,CAAC;YACF,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACtD,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACrE,KAAK,CAAC,0EAA0E,CAAC,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,qFAAqF;YACrF,yFAAyF;YACzF,cAAc,GAAG,IAAI,CAAC;YACtB,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;SAAM,IAAI,aAAa,KAAK,cAAc,EAAE,CAAC;QAC5C,+EAA+E;QAC/E,0FAA0F;QAC1F,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAChG,CAAC;QACD,cAAc,GAAG,WAAW,KAAK,IAAI,CAAC;QACtC,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;SAAM,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;QACtC,cAAc,GAAG,KAAK,CAAC;QACvB,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,2EAA2E;QAC3E,cAAc,GAAG,WAAW,KAAK,IAAI,CAAC;QACtC,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,kEAAkE;IAClE,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA8B,CAAC;IACnE,MAAM,eAAe,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE9D,IAAI,cAAc,IAAI,WAAW,EAAE,CAAC;QAClC,oBAAoB,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;QAC9E,eAAe,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,oBAAoB,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;QACrE,eAAe,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,CAAC;AACnD,CAAC;AAcD,6EAA6E;AAC7E,gEAAgE;AAChE,SAAS,cAAc,CACrB,IAAY,EACZ,WAA+B,EAC/B,SAAqE,EACrE,UAAkB;IAElB,MAAM,MAAM,GAAG,GAAG,IAAI,WAAW,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3B,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;QACnC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;QAClD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,2EAA2E;QAC3E,oEAAoE;QACpE,sEAAsE;QACtE,2EAA2E;QAC3E,yDAAyD;QACzD,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,MAAM,CAAC,uBAAuB,UAAU,KAAK,IAAI,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;AACH,CAAC;AAED,uEAAuE;AACvE,0EAA0E;AAC1E,2EAA2E;AAC3E,SAAS,sBAAsB,CAC7B,oBAAqD,EACrD,eAAgD;IAEhD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,UAAU,GAAiB,IAAI,CAAC;IAEpC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,KAAK,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,oBAAoB,EAAE,CAAC;QAC/D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,SAAS;QACxC,eAAe,GAAG,IAAI,CAAC;QACvB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,cAAc,CACvC,YAAY,EACZ,WAAW,EACX,cAAc,EACd,cAAc,CACf,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,GAAG,IAAI,CAAC;YACf,KAAK,CAAC,oBAAoB,YAAY,EAAE,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,UAAU,KAAK,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,KAAK,CACH,6BAA6B,CAAC,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAC5F,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,eAAe,EAAE,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,SAAS;QACnC,UAAU,GAAG,IAAI,CAAC;QAClB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QAC/F,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,GAAG,IAAI,CAAC;YACf,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,UAAU,KAAK,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,KAAK,CAAC,0BAA0B,CAAC,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAClG,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;AAC5F,CAAC;AAED,wEAAwE;AACxE,kEAAkE;AAClE,SAAS,OAAO,CAAC,KAAa,EAAE,eAAwB,EAAE,EAAiB;IACzE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,EAAE,CAAC;QACrB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;IAC1D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,sBAAsB,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,KAAK,UAAU,aAAa,CAC1B,GAAY;IAEZ,IAAI,GAAG;QAAE,OAAO,WAAW,CAAC;IAC5B,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,iBAAiB,CAAC;IAC3D,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7E,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,cAAc,CAAC;IACxB,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,uEAAuE;AACvE,6EAA6E;AAC7E,SAAS,aAAa,CACpB,MAAqE;IAErE,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,OAAO,GACX,MAAM,KAAK,iBAAiB;QAC1B,CAAC,CAAC,4EAA4E;QAC9E,CAAC,CAAC,MAAM,KAAK,cAAc;YACzB,CAAC,CAAC,qCAAqC;YACvC,CAAC,CAAC,sBAAsB,CAAC;IAC/B,KAAK,CAAC,OAAO,CAAC,CAAC;IACf,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACrB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,KAAK,UAAU,eAAe,CAAC,OAM9B;IACC,4EAA4E;IAC5E,mEAAmE;IACnE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAC5D,KAAK,CAAC,8EAA8E,CAAC,CAAC;YACtF,KAAK,CAAC,2EAA2E,CAAC,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,YAAY,GAAG,wBAAwB,EAAE,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YAC5B,KAAK,CAAC,+DAA+D,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACrF,IAAI,CAAC,aAAa,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;YAAE,OAAO;QAEtE,MAAM,IAAI,GAAG,OAAO,CAAC,6BAA6B,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAC1F,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACxB,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QACD,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAChD,KAAK,CAAC,qEAAqE,CAAC,CAAC;QAC7E,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,MAAM,EAAE,oBAAoB,EAAE,eAAe,EAAE,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAEjF,mEAAmE;IACnE,yCAAyC;IACzC,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,KAAK,MAAM,YAAY,IAAI,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC;QACvD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,aAAa,CAAC,IAAI,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;YAC5D,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;YAC5D,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IACD,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,YAAY,GAAG,wBAAwB,EAAE,CAAC;IAChD,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ;YACpC,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,2CAA2C,CAAC;QAChD,aAAa,CAAC,IAAI,CAAC,OAAO,MAAM,uBAAuB,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ;YAClC,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,2CAA2C,CAAC;QAChD,aAAa,CAAC,IAAI,CAAC,OAAO,MAAM,8BAA8B,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACjD,OAAO;IACT,CAAC;IAED,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAChE,KAAK,MAAM,IAAI,IAAI,aAAa;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,KAAK,CAAC,wCAAwC,oBAAoB,uBAAuB,CAAC,CAAC;IAC3F,KAAK,CAAC,EAAE,CAAC,CAAC;IAEV,IAAI,CAAC,aAAa,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;QAAE,OAAO;IAEtE,KAAK,CAAC,EAAE,CAAC,CAAC;IAEV,MAAM,UAAU,GAAG,sBAAsB,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IACjF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,KAAK,CAAC,iFAAiF,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,sBAAsB,EAAE,KAAK,EAAE,GAAG,EAAE;QAC/D,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QACjC,IAAI,OAAO;YAAE,KAAK,CAAC,gCAAgC,CAAC,CAAC;aAChD,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;YAClC,qEAAqE;YACrE,+DAA+D;YAC/D,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,OAAO,CAAC,6BAA6B,EAAE,KAAK,EAAE,GAAG,EAAE;QACpE,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,IAAI,OAAO;YAAE,KAAK,CAAC,uCAAuC,CAAC,CAAC;aACvD,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;YAChC,qEAAqE;YACrE,wEAAwE;YACxE,sEAAsE;YACtE,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC;IAE1E,6EAA6E;IAC7E,8EAA8E;IAC9E,iFAAiF;IACjF,+EAA+E;IAC/E,iFAAiF;IACjF,0EAA0E;IAC1E,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,IAAI,cAAc,CAAC,CAAC;IAC/F,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,mBAAmB,EAAE,CAAC;QAC5C,kBAAkB,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CACH,yFAAyF,CAC1F,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;SAAM,IAAI,UAAU,EAAE,CAAC;QACtB,0EAA0E;QAC1E,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAChG,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACrB,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,SAAS,cAAc,CAAC,OAA4B;IAClD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;IAClF,KAAK,CAAC,cAAc,UAAU,KAAK,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEV,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAE9C,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAClE,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/D,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAChC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpF,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,WAAW,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE1F,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QACjF,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAC7F,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,SAAS,cAAc,CAAC,MAAkC;IACxD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC;IACtD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,mEAAmE;AACnE,KAAK,UAAU,iBAAiB,CAAC,UAAkB;IACjD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACxE,IAAI,CAAC;QACH,gBAAgB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE;YACjF,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAI3B;IACC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;IAElF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,SAAS,CAAC;IAC3E,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE7F,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpD,OAAO,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAA2B,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAClF,MAAM,GAAG,GAAG,EAAE,CAAC;IAEf,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;QACnC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;YAC1D,KAAK,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAE/D,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,WAAW,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrE,IAAI,KAAK,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,WAAW,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrE,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAE9E,OAAO,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E;;;GAGG;AACH,SAAS,oBAAoB,CAC3B,OAMC,EACD,WAAwD;IAExD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IACtC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,KAAK,CACH,uDAAuD,OAAO,EAAE,KAAK;gBACnE,+DAA+D,CAClE,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,sDAAsD,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,IAAgB,CAAC;IACrB,IAAI,CAAC;QACH,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,qBAAqB,IAAI,CAAC,IAAI,4BAA4B,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,sBAAsB,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACxD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;QAClE,OAAO,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,oCAAoC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC;IAEpF,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,iEAAiE,CAAC;SAC9E,MAAM,CACL,qBAAqB,EACrB,6FAA6F,CAC9F;SACA,MAAM,CACL,2BAA2B,EAC3B,yFAAyF,CAC1F;SACA,MAAM,CAAC,mBAAmB,EAAE,sDAAsD,CAAC;SACnF,SAAS,CACR,IAAI,MAAM,CAAC,eAAe,EAAE,wDAAwD,CAAC,CAAC,OAAO,CAC3F,CAAC,GAAG,WAAW,CAAC,CACjB,CACF;SACA,MAAM,CACL,sBAAsB,EACtB,kGAAkG,CACnG;SACA,MAAM,CAAC,WAAW,EAAE,oEAAoE,CAAC;SACzF,MAAM,CAAC,cAAc,EAAE,kEAAkE,CAAC;SAC1F,MAAM,CAAC,YAAY,EAAE,+DAA+D,CAAC;SACrF,MAAM,CACL,WAAW,EACX,6FAA6F,CAC9F;SACA,MAAM,CACL,QAAQ,EACR,0GAA0G,CAC3G;SACA,MAAM,CACL,CAAC,UAWA,EAAE,EAAE;QACH,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC1B,MAAM,CAAC,mDAAmD,CAAC,CAAC;gBAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACrE,KAAK,CAAC,8EAA8E,CAAC,CAAC;gBACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,iBAAiB,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACvE,KAAK,CAAC,qEAAqE,CAAC,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,WAAyD,CAAC;QAC9D,IAAI,CAAC;YACH,WAAW,GAAG,yBAAyB,CAAC;gBACtC,GAAG,UAAU;gBACb,oBAAoB,EAClB,sBAAsB,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,KAAK,GAAG;aAC5E,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,QAAQ;YAAE,KAAK,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;QACtE,IAAI,WAAW,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;YAC3C,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,oBAAoB,CAAC,UAAU,EAAE,WAAW,CAAC;YAAE,OAAO;QAC1D,MAAM,OAAO,GAAG;YACd,GAAG,UAAU;YACb,oBAAoB,EAAE,CAAC,CAAC,CACtB,UAAU,CAAC,UAAU;gBACrB,UAAU,CAAC,cAAc;gBACzB,UAAU,CAAC,SAAS,CACrB;YACD,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC;QACF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,aAAa,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC,CACF,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,iEAAiE,CAAC;SAC9E,MAAM,CAAC,WAAW,EAAE,uEAAuE,CAAC;SAC5F,MAAM,CAAC,cAAc,EAAE,kDAAkD,CAAC;SAC1E,MAAM,CAAC,YAAY,EAAE,gDAAgD,CAAC;SACtE,MAAM,CACL,UAAU,EACV,gGAAgG,CACjG;SACA,MAAM,CAAC,OAAO,EAAE,0DAA0D,CAAC;SAC3E,MAAM,CAAC,WAAW,EAAE,oEAAoE,CAAC;SACzF,MAAM,CACL,QAAQ,EACR,+FAA+F,CAChG;SACA,MAAM,CACL,KAAK,EAAE,OAQN,EAAE,EAAE;QACH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC9E,KAAK,CACH,wFAAwF,CACzF,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,mBAAmB,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3D,KAAK,CAAC,gFAAgF,CAAC,CAAC;gBACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QACD,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC,CACF,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CACV,6FAA6F,CAC9F;SACA,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,8CAA8C,CAAC,CAAC,QAAQ,EAAE,CAAC;SAC7F,MAAM,CAAC,KAAK,EAAE,IAA6B,EAAE,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC7D,MAAM,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,qBAAqB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,kEAAkE,CAAC;SAC/E,MAAM,CAAC,iBAAiB,EAAE,kEAAkE,CAAC;SAC7F,MAAM,CAAC,cAAc,CAAC,CAAC;IAE1B,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,gFAAgF,CAAC;SAC7F,MAAM,CAAC,iBAAiB,EAAE,kEAAkE,CAAC;SAC7F,MAAM,CACL,mBAAmB,EACnB,kFAAkF,CACnF;SACA,MAAM,CAAC,QAAQ,EAAE,6DAA6D,CAAC;SAC/E,MAAM,CAAC,YAAY,CAAC,CAAC;IAExB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,gEAAgE,CAAC;SAC7E,MAAM,CAAC,YAAY,CAAC,CAAC;IAExB,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,gBAAgB,EAAE,wDAAwD,CAAC;SAClF,MAAM,CAAC,WAAW,EAAE,iCAAiC,CAAC;SACtD,MAAM,CAAC,cAAc,CAAC,CAAC;IAE1B,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,qEAAqE,CAAC;SAClF,MAAM,CACL,SAAS,EACT,+EAA+E,CAChF;SACA,MAAM,CAAC,WAAW,CAAC,CAAC;IAEvB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAc;IAChD,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -28,6 +28,7 @@ export declare const AGENT_DEBUG_LOG_SETTING = "github.copilot.chat.agentDebugLo
28
28
  export interface CopilotHookCommand {
29
29
  type: 'command';
30
30
  command: string;
31
+ readonly powershell: string;
31
32
  }
32
33
  export interface CopilotHooksFile {
33
34
  version: 1;
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-install-helper.d.ts","sourceRoot":"","sources":["../../src/install/copilot-install-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copilot-install-helper.d.ts","sourceRoot":"","sources":["../../src/install/copilot-install-helper.ts"],"names":[],"mappings":"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"}
@@ -23,12 +23,12 @@
23
23
  * account. Every hook-sourced Copilot event (CLI and VS Code Copilot Chat
24
24
  * both, since they share this one file) is tagged simply `'copilot'`.
25
25
  */
26
- import { dirname, join, resolve } from 'node:path';
26
+ import { dirname, resolve, win32 } from 'node:path';
27
27
  import { homedir } from 'node:os';
28
28
  import { existsSync, mkdirSync, copyFileSync } from 'node:fs';
29
29
  import { z } from 'zod';
30
30
  import { readJsonFileStrict, writeJsonFile, errMsg } from './json-utils.js';
31
- import { entryContainsNrObserve } from './install-helper.js';
31
+ import { entryContainsNrObserve, shimExtension, siblingBinPath } from './install-helper.js';
32
32
  import { resolveDataDir } from '../deploy/data-paths.js';
33
33
  import { copilotSdkExtensionInstallPath } from '../hooks/copilot-sdk-extension-health.js';
34
34
  // ---------------------------------------------------------------------------
@@ -42,14 +42,67 @@ const HOOK_FILE_LOCATIONS_SETTING = 'chat.hookFilesLocations';
42
42
  // ---------------------------------------------------------------------------
43
43
  // Generators
44
44
  // ---------------------------------------------------------------------------
45
- export function generateCopilotHooksFile(binPath) {
45
+ const HOOK_SUBCOMMANDS = { PreToolUse: 'pre-tool', PostToolUse: 'post-tool' };
46
+ // The collector shim at `collectorPath`, given in any of its shim forms, that
47
+ // sh or PowerShell can run.
48
+ function collectorShim(collectorPath, powershell) {
49
+ return `${collectorPath.replace(/\.(?:exe|cmd|ps1)$/i, '')}${shimExtension(collectorPath, { powershell })}`;
50
+ }
51
+ // The hook entry that runs the collector at `collectorPath`, or the bare name
52
+ // on PATH when null.
53
+ function collectorHookCommand(collectorPath, subcommand) {
46
54
  // Quote the path so shells with sh -c don't split on spaces, matching
47
55
  // install-helper.ts's generateHookEntries() for Claude.
48
- const bin = binPath
49
- ? `"${join(dirname(binPath), COLLECTOR_COMMAND).replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`
56
+ const bin = collectorPath
57
+ ? `"${collectorShim(collectorPath, false).replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`
50
58
  : COLLECTOR_COMMAND;
51
- const pre = `NEW_RELIC_AI_PLATFORM=copilot ${bin} pre-tool`;
52
- const post = `NEW_RELIC_AI_PLATFORM=copilot ${bin} post-tool`;
59
+ // GitHub's Copilot hooks reference (docs.github.com/en/copilot/reference/
60
+ // hooks-configuration) runs `powershell` instead of `command` on Windows.
61
+ // PowerShell parses a leading VAR=value as a command name, so it sets the
62
+ // tag through $env: and runs the path with `&`. The path is single-quoted
63
+ // (verbatim in PowerShell), so it skips the sh backslash escaping above.
64
+ const psBin = collectorShim(collectorPath ?? COLLECTOR_COMMAND, true);
65
+ return {
66
+ type: 'command',
67
+ command: `NEW_RELIC_AI_PLATFORM=copilot ${bin} ${subcommand}`,
68
+ powershell: `$env:NEW_RELIC_AI_PLATFORM='copilot'; & '${psBin.replace(/'/g, "''")}' ${subcommand}`,
69
+ };
70
+ }
71
+ // The collector path in a hook command, from sh double quotes, PowerShell
72
+ // single quotes, or a bare word, when it is absolute.
73
+ const POWERSHELL_COMMAND_RE = /^\s*(?:\$env:|&)/i;
74
+ const COLLECTOR_REF_RE = /"((?:\\"|[^"])*preflight-collector(?:\.\w+)?)"|'((?:[^']|'')*preflight-collector(?:\.\w+)?)'|([^\s"']*preflight-collector(?:\.\w+)?)/i;
75
+ function absoluteCollectorPath(command) {
76
+ const m = COLLECTOR_REF_RE.exec(command);
77
+ if (!m)
78
+ return null;
79
+ // Only sh unescapes inside double quotes. PowerShell keeps backslashes, as
80
+ // in a UNC path.
81
+ const path = m[1] !== undefined
82
+ ? POWERSHELL_COMMAND_RE.test(command)
83
+ ? m[1]
84
+ : m[1].replace(/\\([\\"$`])/g, '$1')
85
+ : m[2] !== undefined
86
+ ? m[2].replace(/''/g, "'")
87
+ : m[3];
88
+ return win32.isAbsolute(path) ? path : null;
89
+ }
90
+ // Without a resolved path, an entry keeps its own fields, so a working
91
+ // absolute path is not downgraded to a bare name, and gains any it lacks,
92
+ // such as `powershell`, aimed at the same collector. A PowerShell `command`
93
+ // (a hand-written workaround) is rewritten, because sh runs `command`.
94
+ // A Claude-shape {matcher, hooks} entry stays as it was, since flat fields
95
+ // beside `hooks` would make a hybrid.
96
+ function upgradeWithoutBinPath(entry, subcommand) {
97
+ if (Array.isArray(entry.hooks))
98
+ return entry;
99
+ const command = typeof entry.command === 'string' ? entry.command : '';
100
+ const fresh = collectorHookCommand(absoluteCollectorPath(command), subcommand);
101
+ return POWERSHELL_COMMAND_RE.test(command) ? { ...entry, ...fresh } : { ...fresh, ...entry };
102
+ }
103
+ export function generateCopilotHooksFile(binPath) {
104
+ const collectorPath = binPath ? siblingBinPath(binPath, COLLECTOR_COMMAND) : null;
105
+ const hookCommand = (subcommand) => collectorHookCommand(collectorPath, subcommand);
53
106
  // Flat shape per GitHub's own Copilot hooks reference — each PreToolUse/
54
107
  // PostToolUse array entry is a command hook directly ({type, command}),
55
108
  // unlike Claude Code's settings.json which nests it one level deeper under
@@ -62,8 +115,8 @@ export function generateCopilotHooksFile(binPath) {
62
115
  return {
63
116
  version: 1,
64
117
  hooks: {
65
- PreToolUse: [{ type: 'command', command: pre }],
66
- PostToolUse: [{ type: 'command', command: post }],
118
+ PreToolUse: [hookCommand(HOOK_SUBCOMMANDS.PreToolUse)],
119
+ PostToolUse: [hookCommand(HOOK_SUBCOMMANDS.PostToolUse)],
67
120
  },
68
121
  };
69
122
  }
@@ -75,7 +128,7 @@ export function generateCopilotHooksFile(binPath) {
75
128
  // not the hooks file's per-event NR tagging, which is controlled entirely by
76
129
  // generateCopilotHooksFile's embedded NEW_RELIC_AI_PLATFORM=copilot above.
77
130
  export function generateVsCodeMcpEntry(binPath, creds) {
78
- const command = binPath ? join(dirname(binPath), MCP_SERVER_COMMAND) : MCP_SERVER_COMMAND;
131
+ const command = binPath ? siblingBinPath(binPath, MCP_SERVER_COMMAND) : MCP_SERVER_COMMAND;
79
132
  const env = { MCP_CLIENT: 'copilot' };
80
133
  if (creds?.licenseKey)
81
134
  env.NEW_RELIC_LICENSE_KEY = creds.licenseKey;
@@ -155,22 +208,25 @@ export function mergeCopilotHooksFile(existing, binPath) {
155
208
  ? { ...result.hooks }
156
209
  : {};
157
210
  for (const hookType of ['PreToolUse', 'PostToolUse']) {
158
- const existingArr = Array.isArray(hooks[hookType]) ? [...hooks[hookType]] : [];
159
- if (binPath !== null && binPath !== undefined) {
160
- // Resolved path available: remove stale entry and re-add with the
161
- // current absolute path so re-install always upgrades a bare-name or
162
- // outdated entry (matches mergeSettings's behavior for Claude).
163
- const withoutNr = existingArr.filter((e) => !entryContainsNrObserve(e));
164
- hooks[hookType] = [...withoutNr, ...hookEntries[hookType]];
165
- }
166
- else {
167
- // No path resolved: leave any existing entry untouched so a working
168
- // absolute-path hook is not downgraded to a bare name.
169
- if (!existingArr.some(entryContainsNrObserve)) {
170
- existingArr.push(...hookEntries[hookType]);
171
- }
172
- hooks[hookType] = existingArr;
173
- }
211
+ const existingArr = Array.isArray(hooks[hookType]) ? hooks[hookType] : [];
212
+ const first = existingArr.findIndex(entryContainsNrObserve);
213
+ // Preflight's entries collapse to the first, in place, since hook order
214
+ // can matter. A resolved path rewrites it outright, upgrading a bare-name
215
+ // or outdated path (matches mergeSettings's behavior for Claude).
216
+ hooks[hookType] =
217
+ first === -1
218
+ ? [...existingArr, ...hookEntries[hookType]]
219
+ : existingArr.flatMap((entry, i) => {
220
+ if (!entryContainsNrObserve(entry))
221
+ return [entry];
222
+ if (i !== first)
223
+ return [];
224
+ if (binPath)
225
+ return hookEntries[hookType];
226
+ return [
227
+ upgradeWithoutBinPath(entry, HOOK_SUBCOMMANDS[hookType]),
228
+ ];
229
+ });
174
230
  }
175
231
  result.hooks = hooks;
176
232
  return result;