@agent-link/agent 0.1.267 → 0.1.269

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.
package/README.md CHANGED
@@ -45,6 +45,9 @@ agentlink-client status
45
45
  # Upgrade to latest version
46
46
  agentlink-client upgrade
47
47
 
48
+ # Use the verified emergency release channel
49
+ agentlink-client upgrade --emergency
50
+
48
51
  # Auto-start on boot
49
52
  agentlink-client service install
50
53
  agentlink-client service uninstall
package/dist/cli.js CHANGED
@@ -5,12 +5,13 @@ import { serviceInstall, serviceUninstall, isServiceInstalled } from './service.
5
5
  import { acquireEntraToken } from './entra.js';
6
6
  import { assertKnownBackendType } from './backends/index.js';
7
7
  import { warmExecPaths, getCachedPathEnvVars } from './sdk.js';
8
- import { spawn, execSync } from 'child_process';
8
+ import { spawn, execFileSync, execSync } from 'child_process';
9
9
  import { openSync, existsSync, readFileSync, statSync, createReadStream, readdirSync, readSync, closeSync } from 'fs';
10
10
  import { watchFile, unwatchFile } from 'fs';
11
11
  import { join, dirname, resolve } from 'path';
12
12
  import { fileURLToPath } from 'url';
13
13
  import { createRequire } from 'module';
14
+ import { fetchEmergencyManifest, prepareEmergencyUpgrade, } from './emergency-upgrade.js';
14
15
  const require = createRequire(import.meta.url);
15
16
  const pkg = require('../package.json');
16
17
  const qrcode = require('qrcode-terminal');
@@ -46,6 +47,23 @@ function isNewerVersion(current, latest) {
46
47
  return latMinor > curMinor;
47
48
  return latPatch > curPatch;
48
49
  }
50
+ function installEmergencyPackage(packagePath) {
51
+ if (process.platform !== 'win32') {
52
+ execFileSync('npm', ['install', '-g', packagePath], { stdio: 'inherit' });
53
+ return;
54
+ }
55
+ const npmShims = execFileSync('where.exe', ['npm.cmd'], { encoding: 'utf8' })
56
+ .split(/\r?\n/)
57
+ .map(path => path.trim())
58
+ .filter(Boolean);
59
+ const npmCli = npmShims
60
+ .map(shim => join(dirname(shim), 'node_modules', 'npm', 'bin', 'npm-cli.js'))
61
+ .find(existsSync);
62
+ if (!npmCli) {
63
+ throw new Error('Unable to locate npm-cli.js');
64
+ }
65
+ execFileSync(process.execPath, [npmCli, 'install', '-g', packagePath], { stdio: 'inherit' });
66
+ }
49
67
  const program = new Command();
50
68
  program
51
69
  .name('agentlink-client')
@@ -622,8 +640,9 @@ program
622
640
  // ── Upgrade ──
623
641
  program
624
642
  .command('upgrade')
625
- .description('Upgrade to the latest version from npm')
643
+ .description('Upgrade to the latest version')
626
644
  .option('--dogfood', 'Install from beta tag instead of latest (for internal testing)')
645
+ .option('--emergency', 'Install a verified emergency release from msclaude.ai')
627
646
  .action(async (options) => {
628
647
  if (process.env.AGENTLINK_PID) {
629
648
  console.error('ERROR: Cannot upgrade from within the AgentLink web terminal.');
@@ -633,17 +652,38 @@ program
633
652
  console.error('Please run this command from a separate terminal (e.g. Windows Terminal, SSH).');
634
653
  process.exit(1);
635
654
  }
655
+ if (options.dogfood && options.emergency) {
656
+ console.error('ERROR: --dogfood and --emergency cannot be used together.');
657
+ process.exit(1);
658
+ }
636
659
  const currentVersion = pkg.version;
637
660
  const tag = options.dogfood ? 'beta' : 'latest';
638
- console.log(`Current version: ${currentVersion}${options.dogfood ? ' (dogfood mode — using beta tag)' : ''}`);
639
- // Check target version on npm
661
+ const mode = options.emergency
662
+ ? ' (emergency mode)'
663
+ : options.dogfood ? ' (dogfood mode — using beta tag)' : '';
664
+ console.log(`Current version: ${currentVersion}${mode}`);
640
665
  let targetVersion;
641
- try {
642
- targetVersion = execSync(`npm view @agent-link/agent version --tag ${tag}`, { encoding: 'utf-8' }).trim();
666
+ let emergencyUpgrade = null;
667
+ let emergencyManifest = null;
668
+ if (options.emergency) {
669
+ console.log('Checking emergency release manifest...');
670
+ try {
671
+ emergencyManifest = await fetchEmergencyManifest();
672
+ targetVersion = emergencyManifest.version;
673
+ }
674
+ catch (error) {
675
+ console.error(error.message);
676
+ process.exit(1);
677
+ }
643
678
  }
644
- catch {
645
- console.error(`Failed to check ${tag} version. Make sure npm is available.`);
646
- process.exit(1);
679
+ else {
680
+ try {
681
+ targetVersion = execSync(`npm view @agent-link/agent version --tag ${tag}`, { encoding: 'utf-8' }).trim();
682
+ }
683
+ catch {
684
+ console.error(`Failed to check ${tag} version. Make sure npm is available.`);
685
+ process.exit(1);
686
+ }
647
687
  }
648
688
  if (targetVersion === currentVersion) {
649
689
  console.log(`Already up to date (v${currentVersion}).`);
@@ -653,109 +693,137 @@ program
653
693
  console.log(`Already on a newer version (v${currentVersion} > v${targetVersion}). Skipping.`);
654
694
  return;
655
695
  }
656
- console.log(`New version available: ${targetVersion}${options.dogfood ? ' (beta)' : ''}`);
657
- // Check if daemon is running before upgrade
658
- const wasRunning = loadRuntimeState();
659
- const daemonAlive = wasRunning?.pid && isProcessAlive(wasRunning.pid);
660
- // On Windows, the running agent holds a lock on node-pty's conpty.node,
661
- // which causes npm cleanup warnings (EPERM) during install. Stop the
662
- // daemon BEFORE installing so the file lock is released.
663
- let savedState = null;
664
- let savedConfig = null;
665
- if (daemonAlive) {
666
- // Save runtime state BEFORE killing — on macOS/Linux the old process
667
- // receives SIGTERM, runs its shutdown handler, and deletes agent.json.
668
- // We rewrite it after the process exits so the new daemon can restore
669
- // the sessionId and preserve the session URL across upgrades.
670
- savedState = { ...wasRunning };
671
- // Save config now while the old version is still current
672
- savedConfig = loadConfig();
673
- console.log(`Stopping agent (PID ${wasRunning.pid})...`);
674
- killProcess(wasRunning.pid);
675
- for (let i = 0; i < 25; i++) {
676
- await new Promise(r => setTimeout(r, 200));
677
- if (!isProcessAlive(wasRunning.pid))
678
- break;
696
+ console.log(`New version available: ${targetVersion}${options.dogfood ? ' (beta)' : options.emergency ? ' (emergency)' : ''}`);
697
+ if (emergencyManifest) {
698
+ console.log('Downloading and verifying emergency release...');
699
+ try {
700
+ emergencyUpgrade = await prepareEmergencyUpgrade(emergencyManifest);
701
+ }
702
+ catch (error) {
703
+ console.error(error.message);
704
+ process.exit(1);
679
705
  }
680
- console.log('Agent stopped.');
681
- // Rewrite agent.json so the new process can restore sessionId
682
- saveRuntimeState(savedState);
683
706
  }
684
- // Install new version (daemon already stopped, no file locks)
685
- console.log(`Installing @agent-link/agent@${targetVersion}...`);
686
707
  try {
687
- execSync(`npm install -g @agent-link/agent@${targetVersion}`, { stdio: 'inherit' });
688
- }
689
- catch {
690
- console.error('Failed to install. You may need to run with elevated permissions.');
691
- // If we stopped the daemon, try to restart the old version with same args
692
- if (savedState && savedConfig) {
693
- console.error('Attempting to restart previous version...');
694
- const fallbackDir = existsSync(savedState.dir)
708
+ // Check if daemon is running before upgrade
709
+ const wasRunning = loadRuntimeState();
710
+ const daemonAlive = wasRunning?.pid && isProcessAlive(wasRunning.pid);
711
+ // On Windows, the running agent holds a lock on node-pty's conpty.node,
712
+ // which causes npm cleanup warnings (EPERM) during install. Stop the
713
+ // daemon BEFORE installing so the file lock is released.
714
+ let savedState = null;
715
+ let savedConfig = null;
716
+ if (daemonAlive) {
717
+ // Save runtime state BEFORE killing — on macOS/Linux the old process
718
+ // receives SIGTERM, runs its shutdown handler, and deletes agent.json.
719
+ // We rewrite it after the process exits so the new daemon can restore
720
+ // the sessionId and preserve the session URL across upgrades.
721
+ savedState = { ...wasRunning };
722
+ // Save config now while the old version is still current
723
+ savedConfig = loadConfig();
724
+ console.log(`Stopping agent (PID ${wasRunning.pid})...`);
725
+ killProcess(wasRunning.pid);
726
+ for (let i = 0; i < 25; i++) {
727
+ await new Promise(r => setTimeout(r, 200));
728
+ if (!isProcessAlive(wasRunning.pid))
729
+ break;
730
+ }
731
+ console.log('Agent stopped.');
732
+ // Rewrite agent.json so the new process can restore sessionId
733
+ saveRuntimeState(savedState);
734
+ }
735
+ // Install new version (daemon already stopped, no file locks)
736
+ console.log(`Installing @agent-link/agent@${targetVersion}...`);
737
+ try {
738
+ if (emergencyUpgrade) {
739
+ installEmergencyPackage(emergencyUpgrade.packagePath);
740
+ }
741
+ else {
742
+ execSync(`npm install -g "@agent-link/agent@${targetVersion}"`, { stdio: 'inherit' });
743
+ }
744
+ }
745
+ catch {
746
+ console.error('Failed to install. You may need to run with elevated permissions.');
747
+ // If we stopped the daemon, try to restart the old version with same args
748
+ if (savedState && savedConfig) {
749
+ console.error('Attempting to restart previous version...');
750
+ const fallbackDir = existsSync(savedState.dir)
751
+ ? savedState.dir
752
+ : (process.env.HOME || process.env.USERPROFILE || process.cwd());
753
+ const fallbackArgs = ['start', '--daemon', '--dir', fallbackDir];
754
+ if (savedConfig.password)
755
+ fallbackArgs.push('--password', savedConfig.password);
756
+ if (savedConfig.msentra)
757
+ fallbackArgs.push('--msentra');
758
+ else if (savedConfig.entra)
759
+ fallbackArgs.push('--entra');
760
+ try {
761
+ execSync(['agentlink-client', ...fallbackArgs].map(a => `"${a}"`).join(' '), { stdio: 'inherit', windowsHide: true });
762
+ }
763
+ catch { /* best effort */ }
764
+ }
765
+ process.exitCode = 1;
766
+ return;
767
+ }
768
+ console.log(`Upgraded: v${currentVersion} → v${targetVersion}`);
769
+ // Restart daemon if it was running
770
+ if (savedState) {
771
+ console.log('Restarting agent...');
772
+ // Guard: if saved working directory no longer exists, fall back
773
+ const restartDir = existsSync(savedState.dir)
695
774
  ? savedState.dir
696
775
  : (process.env.HOME || process.env.USERPROFILE || process.cwd());
697
- const fallbackArgs = ['start', '--daemon', '--dir', fallbackDir];
776
+ if (restartDir !== savedState.dir) {
777
+ console.warn(`Saved working directory does not exist: ${savedState.dir}`);
778
+ console.warn(`Falling back to: ${restartDir}`);
779
+ }
780
+ const restartArgs = ['start', '--daemon', '--dir', restartDir];
698
781
  if (savedConfig.password)
699
- fallbackArgs.push('--password', savedConfig.password);
782
+ restartArgs.push('--password', savedConfig.password);
700
783
  if (savedConfig.msentra)
701
- fallbackArgs.push('--msentra');
784
+ restartArgs.push('--msentra');
702
785
  else if (savedConfig.entra)
703
- fallbackArgs.push('--entra');
786
+ restartArgs.push('--entra');
787
+ try {
788
+ execSync(['agentlink-client', ...restartArgs].map(a => `"${a}"`).join(' '), { stdio: 'inherit', windowsHide: true });
789
+ }
790
+ catch {
791
+ console.error('Failed to restart agent. Start manually with: agentlink-client start --daemon');
792
+ }
793
+ // After restart, compare new session URL fragment to the old one.
794
+ // If the encryption key changed (or was newly added), warn loudly —
795
+ // any old QR code / saved link the user has will no longer connect.
704
796
  try {
705
- execSync(['agentlink-client', ...fallbackArgs].map(a => `"${a}"`).join(' '), { stdio: 'inherit', windowsHide: true });
797
+ const oldFragment = (savedState.sessionUrl.match(/#.*$/) || [''])[0];
798
+ const newState = loadRuntimeState();
799
+ const newFragment = newState?.sessionUrl ? (newState.sessionUrl.match(/#.*$/) || [''])[0] : '';
800
+ if (newFragment && newFragment !== oldFragment) {
801
+ const yellow = process.stdout.isTTY ? '\x1b[1;33m' : '';
802
+ const reset = process.stdout.isTTY ? '\x1b[0m' : '';
803
+ console.log('');
804
+ console.log(`${yellow}┌─────────────────────────────────────────────────────────────────┐${reset}`);
805
+ console.log(`${yellow}│ ⚠ Your session URL changed (E2E encryption key in fragment). │${reset}`);
806
+ console.log(`${yellow}│ Old links / QR codes will no longer connect. │${reset}`);
807
+ console.log(`${yellow}│ Use the new URL above to reconnect from your devices. │${reset}`);
808
+ console.log(`${yellow}└─────────────────────────────────────────────────────────────────┘${reset}`);
809
+ console.log('');
810
+ }
706
811
  }
707
- catch { /* best effort */ }
812
+ catch { /* best-effort warning */ }
708
813
  }
709
- process.exit(1);
814
+ if (!isServiceInstalled())
815
+ printServiceInstallTip();
710
816
  }
711
- console.log(`Upgraded: v${currentVersion} → v${targetVersion}`);
712
- // Restart daemon if it was running
713
- if (savedState) {
714
- console.log('Restarting agent...');
715
- // Guard: if saved working directory no longer exists, fall back
716
- const restartDir = existsSync(savedState.dir)
717
- ? savedState.dir
718
- : (process.env.HOME || process.env.USERPROFILE || process.cwd());
719
- if (restartDir !== savedState.dir) {
720
- console.warn(`Saved working directory does not exist: ${savedState.dir}`);
721
- console.warn(`Falling back to: ${restartDir}`);
722
- }
723
- const restartArgs = ['start', '--daemon', '--dir', restartDir];
724
- if (savedConfig.password)
725
- restartArgs.push('--password', savedConfig.password);
726
- if (savedConfig.msentra)
727
- restartArgs.push('--msentra');
728
- else if (savedConfig.entra)
729
- restartArgs.push('--entra');
730
- try {
731
- execSync(['agentlink-client', ...restartArgs].map(a => `"${a}"`).join(' '), { stdio: 'inherit', windowsHide: true });
732
- }
733
- catch {
734
- console.error('Failed to restart agent. Start manually with: agentlink-client start --daemon');
735
- }
736
- // After restart, compare new session URL fragment to the old one.
737
- // If the encryption key changed (or was newly added), warn loudly —
738
- // any old QR code / saved link the user has will no longer connect.
739
- try {
740
- const oldFragment = (savedState.sessionUrl.match(/#.*$/) || [''])[0];
741
- const newState = loadRuntimeState();
742
- const newFragment = newState?.sessionUrl ? (newState.sessionUrl.match(/#.*$/) || [''])[0] : '';
743
- if (newFragment && newFragment !== oldFragment) {
744
- const yellow = process.stdout.isTTY ? '\x1b[1;33m' : '';
745
- const reset = process.stdout.isTTY ? '\x1b[0m' : '';
746
- console.log('');
747
- console.log(`${yellow}┌─────────────────────────────────────────────────────────────────┐${reset}`);
748
- console.log(`${yellow}│ ⚠ Your session URL changed (E2E encryption key in fragment). │${reset}`);
749
- console.log(`${yellow}│ Old links / QR codes will no longer connect. │${reset}`);
750
- console.log(`${yellow}│ Use the new URL above to reconnect from your devices. │${reset}`);
751
- console.log(`${yellow}└─────────────────────────────────────────────────────────────────┘${reset}`);
752
- console.log('');
817
+ finally {
818
+ if (emergencyUpgrade) {
819
+ try {
820
+ emergencyUpgrade.cleanup();
821
+ }
822
+ catch (error) {
823
+ console.warn(`Warning: failed to remove emergency upgrade files: ${error.message}`);
753
824
  }
754
825
  }
755
- catch { /* best-effort warning */ }
756
826
  }
757
- if (!isServiceInstalled())
758
- printServiceInstallTip();
759
827
  });
760
828
  program.parse();
761
829
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EACpD,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAC3G,WAAW,EAAE,cAAc,EAAE,YAAY,GAC1C,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACtH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GAGxB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AACvC,MAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE1C,iFAAiF;AACjF,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC;IACtC,OAAO,eAAe,GAAG,SAAS,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB;IAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG,CAAC;IACxD,IAAI,SAAS;QAAE,OAAO;IACtB,MAAM,GAAG,GAAG,qEAAqE,CAAC;IAClF,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,4FAA4F;AAC5F,SAAS,cAAc,CAAC,OAAe,EAAE,MAAc;IACrD,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrE,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,QAAQ,GAAG,QAAQ,CAAC;IACtD,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,QAAQ,GAAG,QAAQ,CAAC;IACtD,OAAO,QAAQ,GAAG,QAAQ,CAAC;AAC7B,CAAC;AAED,SAAS,uBAAuB,CAAC,WAAmB;IAClD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,YAAY,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;SAC1E,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SACxB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,MAAM,MAAM,GAAG,QAAQ;SACpB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;SAC5E,IAAI,CAAC,UAAU,CAAC,CAAC;IACpB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IACD,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,kBAAkB,CAAC;KACxB,WAAW,CAAC,uEAAuE,CAAC;KACpF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;KAC/C,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;KAChD,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;KACzC,MAAM,CAAC,cAAc,EAAE,yCAAyC,CAAC;KACjE,MAAM,CAAC,2BAA2B,EAAE,8CAA8C,CAAC;KACnF,MAAM,CAAC,aAAa,EAAE,6DAA6D,CAAC;KACpF,MAAM,CAAC,mBAAmB,EAAE,wDAAwD,CAAC;KACrF,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC;KACnC,MAAM,CAAC,WAAW,EAAE,yBAAyB,CAAC;KAC9C,MAAM,CAAC,wBAAwB,EAAE,0BAA0B,CAAC;KAC5D,MAAM,CAAC,wBAAwB,EAAE,0BAA0B,CAAC;KAC5D,MAAM,CAAC,gBAAgB,EAAE,mDAAmD,CAAC;KAC7E,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;IAC7B,wEAAwE;IACxE,+EAA+E;IAC/E,aAAa,EAAE,CAAC;IAEhB,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,WAAW,GAAW,GAAG,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtE,MAAM,YAAY,GAAG,WAAW,KAAK,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9D,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,sBAAsB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,mEAAmE;IACnE,0DAA0D;IAC1D,MAAM,aAAa,GAA4B,EAAE,CAAC;IAClD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,aAAa,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC5C,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;QAC1B,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC;QAC3B,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC;IAClC,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,aAAa,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,aAAa,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IACtD,CAAC;IACD,wEAAwE;IACxE,qDAAqD;IACrD,IAAI,YAAY,EAAE,CAAC;QACjB,aAAa,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IACtC,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAChE,UAAU,CAAC,aAAa,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAE3D,6EAA6E;IAC7E,IAAI,CAAC;QACH,sBAAsB,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,iEAAiE;IACjE,wDAAwD;IACxD,IAAI,YAAgC,CAAC;IACrC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC5C,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,WAAY,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAExC,2EAA2E;QAC3E,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;YACpC,IAAI,QAAQ,EAAE,GAAG,EAAE,CAAC;gBAClB,IAAI,KAAK,GAAG,KAAK,CAAC;gBAClB,IAAI,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBAAC,KAAK,GAAG,IAAI,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;gBAC7D,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,CAAC,GAAG,CAAC,iCAAiC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;oBAC/D,OAAO,CAAC,GAAG,CAAC,UAAU,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBAC3D,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;oBAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,kEAAkE;YACpE,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,gEAAgE;YAChE,kEAAkE;YAClE,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC5D,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;wBACb,IAAI,KAAK,GAAG,KAAK,CAAC;wBAClB,IAAI,CAAC;4BAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;4BAAC,KAAK,GAAG,IAAI,CAAC;wBAAC,CAAC;wBAAC,MAAM,CAAC,CAAA,CAAC;wBACzD,IAAI,KAAK,EAAE,CAAC;4BACV,OAAO,CAAC,GAAG,CAAC,0CAA0C,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;4BACtE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACxB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/B,CAAC;QAED,iDAAiD;QACjD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,OAAO,MAAM,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,OAAO,MAAM,CAAC,CAAC;QAErD,uCAAuC;QACvC,YAAY,CAAC,CAAC,CAAC,CAAC;QAEhB,qEAAqE;QACrE,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAErE,uEAAuE;QACvE,oDAAoD;QACpD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAC9E,OAAO,CAAC,IAAI,CAAC,qCAAqC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAC;YAC7C,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC;QACxB,CAAC;QAED,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAEnC,+EAA+E;QAC/E,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3E,MAAM,QAAQ,GAAuC,WAAW;YAC9D,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE;YAC7C,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACvB,sFAAsF;QACtF,IAAI,YAAY,EAAE,CAAC;YACjB,QAAQ,CAAC,qBAAqB,GAAG,YAAY,CAAC;QAChD,CAAC;QACD,yFAAyF;QACzF,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAEhD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,2BAA2B,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE;YAC/G,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC;YAC3B,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,GAAG,EAAE,QAAQ;YACb,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,IAAI,WAAW,EAAE,CAAC;YAChB,2DAA2D;YAC3D,kEAAkE;YAClE,MAAM,OAAO,GAAG,KAAK,CAAC;YACtB,MAAM,QAAQ,GAAG,GAAG,CAAC;YACrB,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,UAAU,GAAkB,IAAI,CAAC;YAErC,OAAO,MAAM,GAAG,OAAO,EAAE,CAAC;gBACxB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAChD,MAAM,IAAI,QAAQ,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;oBACpC,IAAI,IAAI,IAAI,WAAW;wBAAE,SAAS;oBAClC,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBAClC,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC;wBAC7C,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;wBAC9C,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBACzC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;wBACvD,IAAI,KAAK,EAAE,CAAC;4BACV,uCAAuC;4BACvC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;4BACvD,MAAM;wBACR,CAAC;oBACD,CAAC;4BAAS,CAAC;wBACT,SAAS,CAAC,EAAE,CAAC,CAAC;oBAChB,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACZ,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,UAAU,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAClD,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAY,EAAE,EAAE;oBAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,kBAAkB,EAAE;oBAAE,sBAAsB,EAAE,CAAC;gBACpD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACrG,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBAC7D,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;gBAC9B,uDAAuD;gBACvD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACzF,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,iEAAiE;YACjE,sEAAsE;YACtE,sEAAsE;YACtE,qDAAqD;YACrD,MAAM,iBAAiB,GAAG,gBAAgB,EAAE,EAAE,SAAS,CAAC;YACxD,MAAM,OAAO,GAAG,IAAI,CAAC;YACrB,MAAM,QAAQ,GAAG,GAAG,CAAC;YACrB,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,OAAO,MAAM,GAAG,OAAO,EAAE,CAAC;gBACxB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAChD,MAAM,IAAI,QAAQ,CAAC;gBACnB,KAAK,GAAG,gBAAgB,EAAE,CAAC;gBAC3B,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,SAAS,KAAK,iBAAiB;oBAAE,MAAM;YACtG,CAAC;YAED,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,UAAU,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACxD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAY,EAAE,EAAE;oBAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,kBAAkB,EAAE;oBAAE,sBAAsB,EAAE,CAAC;gBACpD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAI,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBAC7D,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IAED,4BAA4B;IAC5B,sEAAsE;IACtE,+DAA+D;IAC/D,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,IAAI,QAAQ,EAAE,GAAG,EAAE,CAAC;YAClB,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAAC,KAAK,GAAG,IAAI,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YAC7D,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,gCAAgC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC;gBAChE,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,OAAO,EAAE,CAAC;oBACZ,iBAAiB,EAAE,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,+CAA+C,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;gBAChF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC;IAC5D,0DAA0D;IAC1D,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC1D,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAChD,aAAa,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,WAAY,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,SAAS,EAAE,0DAA0D,CAAC;KAC7E,MAAM,CAAC,KAAK,EAAE,OAA4B,EAAE,EAAE;IAC7C,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;IACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC;IAEpE,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,+BAA+B;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC;IACrB,MAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChD,MAAM,IAAI,QAAQ,CAAC;QACnB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;IACV,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,eAAe;IACf,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IACtC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,eAAe,EAAE,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,iBAAiB,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;YACrD,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,IAAI,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;YACrC,IAAI,KAAK,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAY,EAAE,EAAE;YACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,MAAM,SAAS,GAAG,OAAO;KACtB,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,8BAA8B,CAAC,CAAC;AAE/C,SAAS;KACN,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,SAAS;KACN,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;IACrC,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAC5G,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,kBAAkB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,IAAI,MAAM,GAAY,KAAK,CAAC;IAC5B,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,CAAC;IAC7C,CAAC;IACD,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEL,SAAS;KACN,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,CAAC,GAAW,EAAE,EAAE;IACtB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,GAA0B,CAAC,CAAC;IACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,6CAA6C;AAC7C,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE;IACpB,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AACjF,CAAC,CAAC,CAAC;AAEH,2BAA2B;AAE3B,MAAM,UAAU,GAAG,OAAO;KACvB,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,2BAA2B,CAAC,CAAC;AAE5C,UAAU;KACP,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;KAC/C,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;KAChD,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;KACzC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;IAClB,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,oEAAoE;IACpE,qEAAqE;IACrE,IAAI,CAAC;QACH,sBAAsB,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,cAAc,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,GAAG,EAAE;IACX,gBAAgB,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEL,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE;IACrB,UAAU,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,YAAY;AAEZ,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,cAAc,EAAE,+CAA+C,CAAC;KACvE,MAAM,CAAC,qBAAqB,EAAE,yBAAyB,EAAE,KAAK,CAAC;KAC/D,MAAM,CAAC,OAAO,EAAE,sBAAsB,CAAC;KACvC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;IAClB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;IAEjD,mEAAmE;IACnE,SAAS,aAAa,CAAC,GAAW;QAChC,MAAM,MAAM,GAAG,QAAQ,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;iBAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBACvD,IAAI,EAAE;iBACN,OAAO,EAAE,CAAC;YACb,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,oCAAoC;QACpC,OAAO,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAErC,SAAS,SAAS,CAAC,QAAgB,EAAE,CAAS;QAC5C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,gDAAgD;QAChD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE;YAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;QAChF,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,GAAG;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACzC,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,OAAO,CAAC,GAAG;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO;IACT,CAAC;IAED,6DAA6D;IAC7D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,SAAS,UAAU,CAAC,QAAgB,EAAE,MAA6B;QACjE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO;QAClC,IAAI,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,SAAS,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;gBACjG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YAClB,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;gBAC3B,oCAAoC;gBACpC,GAAG,GAAG,CAAC,CAAC;YACV,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG;QAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpC,uCAAuC;IACvC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,KAAK,MAAM,CAAC,IAAI,QAAQ;YAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,gBAAgB;AAEhB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CAAC,WAAW,EAAE,gEAAgE,CAAC;KACrF,MAAM,CAAC,aAAa,EAAE,uDAAuD,CAAC;KAC9E,MAAM,CAAC,KAAK,EAAE,OAAmD,EAAE,EAAE;IACpE,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC/E,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACnF,OAAO,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;QAC7F,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;IACnC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS;QAC5B,CAAC,CAAC,mBAAmB;QACrB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,oBAAoB,cAAc,GAAG,IAAI,EAAE,CAAC,CAAC;IAEzD,IAAI,aAAqB,CAAC;IAC1B,IAAI,gBAAgB,GAAoC,IAAI,CAAC;IAC7D,IAAI,iBAAiB,GAAoC,IAAI,CAAC;IAC9D,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,iBAAiB,GAAG,MAAM,sBAAsB,EAAE,CAAC;YACnD,aAAa,GAAG,iBAAiB,CAAC,OAAO,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,aAAa,GAAG,QAAQ,CAAC,4CAA4C,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5G,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG,uCAAuC,CAAC,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,aAAa,KAAK,cAAc,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,wBAAwB,cAAc,IAAI,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,aAAa,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,gCAAgC,cAAc,OAAO,aAAa,cAAc,CAAC,CAAC;QAC9F,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,0BAA0B,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE/H,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,IAAI,CAAC;YACH,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACL,4CAA4C;QAC5C,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,UAAU,EAAE,GAAG,IAAI,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAEtE,wEAAwE;QACxE,qEAAqE;QACrE,yDAAyD;QACzD,IAAI,UAAU,GAA6B,IAAI,CAAC;QAChD,IAAI,WAAW,GAAyC,IAAI,CAAC;QAC7D,IAAI,WAAW,EAAE,CAAC;YAChB,qEAAqE;YACrE,uEAAuE;YACvE,sEAAsE;YACtE,8DAA8D;YAC9D,UAAU,GAAG,EAAE,GAAG,UAAW,EAAE,CAAC;YAChC,yDAAyD;YACzD,WAAW,GAAG,UAAU,EAAE,CAAC;YAE3B,OAAO,CAAC,GAAG,CAAC,uBAAuB,UAAW,CAAC,GAAI,MAAM,CAAC,CAAC;YAC3D,WAAW,CAAC,UAAW,CAAC,GAAI,CAAC,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC3C,IAAI,CAAC,cAAc,CAAC,UAAW,CAAC,GAAI,CAAC;oBAAE,MAAM;YAC/C,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAE9B,8DAA8D;YAC9D,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;QAED,8DAA8D;QAC9D,OAAO,CAAC,GAAG,CAAC,gCAAgC,aAAa,KAAK,CAAC,CAAC;QAChE,IAAI,CAAC;YACH,IAAI,gBAAgB,EAAE,CAAC;gBACrB,uBAAuB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,qCAAqC,aAAa,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACnF,0EAA0E;YAC1E,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;gBAC9B,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAC3D,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;oBAC5C,CAAC,CAAC,UAAU,CAAC,GAAG;oBAChB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnE,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;gBACjE,IAAI,WAAW,CAAC,QAAQ;oBAAE,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAChF,IAAI,WAAW,CAAC,OAAO;oBAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;qBACnD,IAAI,WAAW,CAAC,KAAK;oBAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACzD,IAAI,CAAC;oBACH,QAAQ,CAAC,CAAC,kBAAkB,EAAE,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxH,CAAC;gBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,cAAc,cAAc,OAAO,aAAa,EAAE,CAAC,CAAC;QAEhE,mCAAmC;QACnC,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,gEAAgE;YAChE,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;gBAC3C,CAAC,CAAC,UAAU,CAAC,GAAG;gBAChB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACnE,IAAI,UAAU,KAAK,UAAU,CAAC,GAAG,EAAE,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC,2CAA2C,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC1E,OAAO,CAAC,IAAI,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YAC/D,IAAI,WAAY,CAAC,QAAQ;gBAAE,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,WAAY,CAAC,QAAQ,CAAC,CAAC;YACjF,IAAI,WAAY,CAAC,OAAO;gBAAE,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBACnD,IAAI,WAAY,CAAC,KAAK;gBAAE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzD,IAAI,CAAC;gBACH,QAAQ,CAAC,CAAC,kBAAkB,EAAE,GAAG,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YACvH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,+EAA+E,CAAC,CAAC;YACjG,CAAC;YAED,kEAAkE;YAClE,oEAAoE;YACpE,oEAAoE;YACpE,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrE,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;gBACpC,MAAM,WAAW,GAAG,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/F,IAAI,WAAW,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;oBAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,sEAAsE,KAAK,EAAE,CAAC,CAAC;oBACpG,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,sEAAsE,KAAK,EAAE,CAAC,CAAC;oBACpG,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,sEAAsE,KAAK,EAAE,CAAC,CAAC;oBACpG,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,sEAAsE,KAAK,EAAE,CAAC,CAAC;oBACpG,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,sEAAsE,KAAK,EAAE,CAAC,CAAC;oBACpG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE;YAAE,sBAAsB,EAAE,CAAC;IACpD,CAAC;YAAS,CAAC;QACT,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,sDAAuD,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -0,0 +1,20 @@
1
+ export declare const EMERGENCY_MANIFEST_URL = "https://msclaude.ai/files/agent/latest.json";
2
+ export interface EmergencyReleaseManifest {
3
+ schemaVersion: 1;
4
+ package: '@agent-link/agent';
5
+ version: string;
6
+ channel: 'latest';
7
+ url: string;
8
+ integrity: string;
9
+ shasum: string;
10
+ size: number;
11
+ }
12
+ export interface PreparedEmergencyUpgrade {
13
+ manifest: EmergencyReleaseManifest;
14
+ packagePath: string;
15
+ cleanup: () => void;
16
+ }
17
+ export declare function validateEmergencyManifest(value: unknown): EmergencyReleaseManifest;
18
+ export declare function fetchEmergencyManifest(fetchImpl?: typeof fetch): Promise<EmergencyReleaseManifest>;
19
+ export declare function verifyEmergencyArtifact(artifact: Buffer, manifest: EmergencyReleaseManifest): void;
20
+ export declare function prepareEmergencyUpgrade(manifest: EmergencyReleaseManifest, fetchImpl?: typeof fetch): Promise<PreparedEmergencyUpgrade>;
@@ -0,0 +1,238 @@
1
+ import { createHash } from 'crypto';
2
+ import { mkdtempSync, rmSync, writeFileSync } from 'fs';
3
+ import { tmpdir } from 'os';
4
+ import { join, posix } from 'path';
5
+ import { gunzipSync } from 'zlib';
6
+ export const EMERGENCY_MANIFEST_URL = 'https://msclaude.ai/files/agent/latest.json';
7
+ const ALLOWED_ARTIFACT_ORIGIN = 'https://msclaude.ai';
8
+ const ALLOWED_ARTIFACT_PATH = '/files/agent/';
9
+ const MAX_MANIFEST_SIZE = 64 * 1024;
10
+ const MAX_ARTIFACT_SIZE = 100 * 1024 * 1024;
11
+ const MAX_UNPACKED_SIZE = 50 * 1024 * 1024;
12
+ const MAX_PACKAGE_JSON_SIZE = 1024 * 1024;
13
+ const REQUEST_TIMEOUT_MS = 30_000;
14
+ const STABLE_SEMVER = /^\d+\.\d+\.\d+$/;
15
+ const SHA1 = /^[a-f0-9]{40}$/;
16
+ function requireString(value, field) {
17
+ if (typeof value !== 'string' || value.length === 0) {
18
+ throw new Error(`Invalid emergency release manifest: ${field} must be a non-empty string`);
19
+ }
20
+ return value;
21
+ }
22
+ function validateIntegrity(value) {
23
+ const integrity = requireString(value, 'integrity');
24
+ if (!integrity.startsWith('sha512-')) {
25
+ throw new Error('Invalid emergency release manifest: integrity must use SHA-512');
26
+ }
27
+ const digest = Buffer.from(integrity.slice('sha512-'.length), 'base64');
28
+ if (digest.length !== 64 || digest.toString('base64') !== integrity.slice('sha512-'.length)) {
29
+ throw new Error('Invalid emergency release manifest: integrity is not valid SHA-512 base64');
30
+ }
31
+ return integrity;
32
+ }
33
+ export function validateEmergencyManifest(value) {
34
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
35
+ throw new Error('Invalid emergency release manifest: expected an object');
36
+ }
37
+ const manifest = value;
38
+ if (manifest.schemaVersion !== 1) {
39
+ throw new Error('Invalid emergency release manifest: unsupported schemaVersion');
40
+ }
41
+ if (manifest.package !== '@agent-link/agent') {
42
+ throw new Error('Invalid emergency release manifest: unexpected package name');
43
+ }
44
+ if (manifest.channel !== 'latest') {
45
+ throw new Error('Invalid emergency release manifest: channel must be latest');
46
+ }
47
+ const version = requireString(manifest.version, 'version');
48
+ if (!STABLE_SEMVER.test(version)) {
49
+ throw new Error('Invalid emergency release manifest: version must be major.minor.patch');
50
+ }
51
+ const artifactUrl = new URL(requireString(manifest.url, 'url'));
52
+ if (artifactUrl.origin !== ALLOWED_ARTIFACT_ORIGIN ||
53
+ !artifactUrl.pathname.startsWith(ALLOWED_ARTIFACT_PATH) ||
54
+ !artifactUrl.pathname.endsWith('.tgz') ||
55
+ artifactUrl.username ||
56
+ artifactUrl.password ||
57
+ artifactUrl.search ||
58
+ artifactUrl.hash) {
59
+ throw new Error('Invalid emergency release manifest: artifact URL is not allowed');
60
+ }
61
+ const shasum = requireString(manifest.shasum, 'shasum').toLowerCase();
62
+ if (!SHA1.test(shasum)) {
63
+ throw new Error('Invalid emergency release manifest: shasum must be SHA-1 hex');
64
+ }
65
+ if (!Number.isSafeInteger(manifest.size) || manifest.size <= 0 || manifest.size > MAX_ARTIFACT_SIZE) {
66
+ throw new Error(`Invalid emergency release manifest: size must be between 1 and ${MAX_ARTIFACT_SIZE}`);
67
+ }
68
+ return {
69
+ schemaVersion: 1,
70
+ package: '@agent-link/agent',
71
+ version,
72
+ channel: 'latest',
73
+ url: artifactUrl.toString(),
74
+ integrity: validateIntegrity(manifest.integrity),
75
+ shasum,
76
+ size: manifest.size,
77
+ };
78
+ }
79
+ async function fetchBuffer(url, fetchImpl, maxSize) {
80
+ const controller = new AbortController();
81
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS);
82
+ try {
83
+ const response = await fetchImpl(url, {
84
+ signal: controller.signal,
85
+ redirect: 'error',
86
+ headers: { 'user-agent': 'agentlink-client emergency-upgrade' },
87
+ });
88
+ if (!response.ok) {
89
+ throw new Error(`HTTP ${response.status} ${response.statusText}`.trim());
90
+ }
91
+ if (!response.body) {
92
+ return Buffer.alloc(0);
93
+ }
94
+ const chunks = [];
95
+ let total = 0;
96
+ const reader = response.body.getReader();
97
+ try {
98
+ for (;;) {
99
+ const { done, value } = await reader.read();
100
+ if (done)
101
+ break;
102
+ total += value.byteLength;
103
+ if (total > maxSize) {
104
+ await reader.cancel();
105
+ throw new Error(`response exceeds ${maxSize} bytes`);
106
+ }
107
+ chunks.push(Buffer.from(value));
108
+ }
109
+ }
110
+ finally {
111
+ reader.releaseLock();
112
+ }
113
+ return Buffer.concat(chunks, total);
114
+ }
115
+ finally {
116
+ clearTimeout(timeout);
117
+ }
118
+ }
119
+ export async function fetchEmergencyManifest(fetchImpl = globalThis.fetch) {
120
+ let bytes;
121
+ try {
122
+ bytes = await fetchBuffer(EMERGENCY_MANIFEST_URL, fetchImpl, MAX_MANIFEST_SIZE);
123
+ }
124
+ catch (error) {
125
+ throw new Error(`Failed to download emergency release manifest: ${error.message}`);
126
+ }
127
+ let value;
128
+ try {
129
+ value = JSON.parse(bytes.toString('utf8'));
130
+ }
131
+ catch {
132
+ throw new Error('Invalid emergency release manifest: response is not valid JSON');
133
+ }
134
+ return validateEmergencyManifest(value);
135
+ }
136
+ function readTarString(buffer, start, length) {
137
+ const end = buffer.indexOf(0, start);
138
+ return buffer.toString('utf8', start, end >= start && end < start + length ? end : start + length);
139
+ }
140
+ function readPackageIdentity(tgz) {
141
+ let tar;
142
+ try {
143
+ tar = gunzipSync(tgz, { maxOutputLength: MAX_UNPACKED_SIZE });
144
+ }
145
+ catch {
146
+ throw new Error('Emergency release artifact is not a valid gzip archive');
147
+ }
148
+ let packageIdentity = null;
149
+ for (let offset = 0; offset + 512 <= tar.length;) {
150
+ const header = tar.subarray(offset, offset + 512);
151
+ if (header.every(byte => byte === 0))
152
+ break;
153
+ const name = readTarString(header, 0, 100);
154
+ const prefix = readTarString(header, 345, 155);
155
+ const path = prefix ? `${prefix}/${name}` : name;
156
+ if (path.includes('\\')) {
157
+ throw new Error('Emergency release artifact contains an unsupported tar path');
158
+ }
159
+ const normalizedPath = posix.normalize(path);
160
+ if (posix.isAbsolute(normalizedPath) || normalizedPath === '..' || normalizedPath.startsWith('../')) {
161
+ throw new Error('Emergency release artifact contains an unsafe tar path');
162
+ }
163
+ const type = String.fromCharCode(header[156] || 0);
164
+ if (type === 'x' || type === 'g' || type === 'L' || type === 'K') {
165
+ throw new Error('Emergency release artifact uses unsupported extended tar paths');
166
+ }
167
+ const sizeText = readTarString(header, 124, 12).trim();
168
+ const size = Number.parseInt(sizeText || '0', 8);
169
+ if (!Number.isSafeInteger(size) || size < 0) {
170
+ throw new Error('Emergency release artifact contains an invalid tar entry');
171
+ }
172
+ const contentStart = offset + 512;
173
+ const contentEnd = contentStart + size;
174
+ if (contentEnd > tar.length) {
175
+ throw new Error('Emergency release artifact contains a truncated tar entry');
176
+ }
177
+ if (normalizedPath === 'package/package.json') {
178
+ if (packageIdentity) {
179
+ throw new Error('Emergency release artifact contains duplicate package/package.json entries');
180
+ }
181
+ if (size > MAX_PACKAGE_JSON_SIZE) {
182
+ throw new Error('Emergency release artifact package.json is too large');
183
+ }
184
+ try {
185
+ packageIdentity = JSON.parse(tar.toString('utf8', contentStart, contentEnd));
186
+ }
187
+ catch {
188
+ throw new Error('Emergency release artifact contains an invalid package.json');
189
+ }
190
+ }
191
+ offset = contentStart + Math.ceil(size / 512) * 512;
192
+ }
193
+ if (packageIdentity)
194
+ return packageIdentity;
195
+ throw new Error('Emergency release artifact does not contain package/package.json');
196
+ }
197
+ export function verifyEmergencyArtifact(artifact, manifest) {
198
+ if (artifact.length !== manifest.size) {
199
+ throw new Error(`Emergency release artifact size mismatch: expected ${manifest.size}, received ${artifact.length}`);
200
+ }
201
+ const shasum = createHash('sha1').update(artifact).digest('hex');
202
+ if (shasum !== manifest.shasum) {
203
+ throw new Error('Emergency release artifact SHA-1 mismatch');
204
+ }
205
+ const integrity = `sha512-${createHash('sha512').update(artifact).digest('base64')}`;
206
+ if (integrity !== manifest.integrity) {
207
+ throw new Error('Emergency release artifact SHA-512 mismatch');
208
+ }
209
+ const identity = readPackageIdentity(artifact);
210
+ if (identity.name !== manifest.package || identity.version !== manifest.version) {
211
+ throw new Error('Emergency release artifact package identity does not match the manifest');
212
+ }
213
+ }
214
+ export async function prepareEmergencyUpgrade(manifest, fetchImpl = globalThis.fetch) {
215
+ let artifact;
216
+ try {
217
+ artifact = await fetchBuffer(manifest.url, fetchImpl, manifest.size);
218
+ }
219
+ catch (error) {
220
+ throw new Error(`Failed to download emergency release artifact: ${error.message}`);
221
+ }
222
+ verifyEmergencyArtifact(artifact, manifest);
223
+ const tempDir = mkdtempSync(join(tmpdir(), 'agentlink-emergency-upgrade-'));
224
+ const packagePath = join(tempDir, `agent-link-agent-${manifest.version}.tgz`);
225
+ try {
226
+ writeFileSync(packagePath, artifact, { mode: 0o600 });
227
+ }
228
+ catch (error) {
229
+ rmSync(tempDir, { recursive: true, force: true });
230
+ throw error;
231
+ }
232
+ return {
233
+ manifest,
234
+ packagePath,
235
+ cleanup: () => rmSync(tempDir, { recursive: true, force: true }),
236
+ };
237
+ }
238
+ //# sourceMappingURL=emergency-upgrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emergency-upgrade.js","sourceRoot":"","sources":["../src/emergency-upgrade.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-link/agent",
3
- "version": "0.1.267",
3
+ "version": "0.1.269",
4
4
  "description": "AgentLink local agent CLI",
5
5
  "license": "MIT",
6
6
  "repository": {