@atbash/cli 0.5.15-dev.12 → 0.5.15-dev.15

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
@@ -380,12 +380,40 @@ npx --yes @atbash/cli setup
380
380
  | `--host <url>` | Deployment to check the agent's registration against |
381
381
  | `--runtime <ids...>` | Only configure these runtimes (currently: `openclaw`) |
382
382
  | `--dry-run` | Show which files would change, and the diffs, then exit WITHOUT writing |
383
- | `-y, --yes` | Do not ask for confirmation before writing |
383
+ | `-y, --yes` | Do not ask for confirmation before writing (does **not** consent to replacing the agent — see `--replace-key`) |
384
+ | `--replace-key` | Consent to changing which agent this machine signs as, when the key supplied names a different agent than the one already here. Needed only for non-interactive runs |
384
385
  | `--no-install` | Write the key file and configs only; install no packages |
385
386
  | `--skip-verify` | Make no network calls at all |
386
387
  | `--allow-unrecognized-host` | Permit a `--host` outside the built-in Atbash allowlist |
387
388
  | `--home <dir>` | Home directory to configure (for testing) |
388
389
 
390
+ **Onboarding a different agent on a machine that already has one.**
391
+
392
+ Supply the new agent's key and setup will offer to switch. This is the one change
393
+ it makes that is a *substitution* rather than an addition: afterwards every
394
+ integration reading `~/.config/atbash/guard-client-key` signs as the new agent, so
395
+ tool calls are attributed to it. So it is asked on its own:
396
+
397
+ ```
398
+ This machine is about to change which agent it signs as.
399
+ now: 0237722e87b6636d67ee495f57e27eae0e2624a382d0603c3b3a396643f230bf94
400
+ new: 02b95c249d84f417e3e395a127425428b540671cc15881eb828c17b722a53fc599
401
+ Every integration on this machine reading ~/.config/atbash/guard-client-key
402
+ will switch to the new agent. The current key is archived first, to
403
+ ~/.config/atbash/keys/0237722e….key, so the old agent stays recoverable.
404
+
405
+ Replace the agent this machine signs as? [y/N]
406
+ ```
407
+
408
+ Answer **no** and nothing is changed at all — the run stops rather than configuring
409
+ a runtime for an agent whose key was never installed, which would leave the machine
410
+ signing as one agent while the dashboard shows another.
411
+
412
+ `-y/--yes` deliberately does **not** answer this question: agreeing to write files
413
+ is not the same as agreeing to become a different agent. A script that means it
414
+ passes `--replace-key`. A fresh machine, or a re-run with the same agent, never sees
415
+ the prompt.
416
+
389
417
  If no key is supplied, setup looks in order at `--key`, `--key-file`, `--keys-dir`,
390
418
  `ATBASH_AGENT_KEY`, the existing `~/.config/atbash/guard-client-key`, your
391
419
  `atbash config`, and finally a hidden prompt that accepts **either** a key or a path.
@@ -286,6 +286,118 @@ function agentPubkeyOnDisk(home) {
286
286
  const match = text?.match(/^[ \t]*"?pub_?[kK]ey"?[ \t]*[:=][ \t]*"?((?:02|03)[0-9a-fA-F]{64})"?/m);
287
287
  return match?.[1];
288
288
  }
289
+ /**
290
+ * Every directory an OpenClaw release has used as its plugin store, relative to
291
+ * `~/.openclaw`.
292
+ *
293
+ * ⚠️ THIS FILE READ ONLY `extensions/`, WHICH IS THE BUG THE SCAN REPORTED AS
294
+ * "no tools". `extensions/` is the 2026.2.x store; 2026.6.x installs plugins as
295
+ * npm dependencies of `~/.openclaw` — into `~/.openclaw/node_modules` — and
296
+ * leaves `extensions/` EMPTY. So a fully wired 2026.6.6 machine relayed zero
297
+ * plugins and no governance, and the dashboard rendered that as every certified
298
+ * capability removed with the agent's risk score falling to zero.
299
+ *
300
+ * Keep in sync with OPENCLAW_PLUGIN_ROOTS in the dashboard
301
+ * (src/lib/scan/adapters/local-skills.ts) and in public/c.mjs. Three copies of
302
+ * this list exist because three different programs read the same machine; all
303
+ * three had the same single-layout assumption.
304
+ */
305
+ const OPENCLAW_PLUGIN_ROOTS = [["extensions"], ["node_modules"], ["npm", "node_modules"]];
306
+ /**
307
+ * The 2026.7.x layout, a WILDCARD so it cannot be a fixed root above.
308
+ *
309
+ * Found by running a real `openclaw plugins install`, not by reading a listing:
310
+ * it creates a per-plugin npm PROJECT at `~/.openclaw/npm/projects/<mangled>/`
311
+ * whose directory name is NOT the plugin id
312
+ * ("atbash-atbash-openclaw-eada1196a5"). The identity is in that project's
313
+ * package.json dependencies and its node_modules. On those builds the install
314
+ * ledger also leaves disk entirely for `~/.openclaw/state/openclaw.sqlite`, so a
315
+ * file scan is a best-effort inventory and never proof of absence — which is why
316
+ * `atbash setup` asks `openclaw plugins list --json` for the governance verdict.
317
+ */
318
+ const OPENCLAW_NPM_PROJECTS = ["npm", "projects"];
319
+ /**
320
+ * Plugins installed as npm PROJECTS on 2026.7.x.
321
+ *
322
+ * ⚠️ DO NOT enumerate `npm/projects/*./node_modules` wholesale — it is a full npm
323
+ * install tree, so listing it reported every TRANSITIVE DEPENDENCY as a plugin
324
+ * the agent holds (one real plugin became 14 capabilities, `@opentelemetry/core`
325
+ * among them). Junk in the capability surface inflates the count, dilutes real
326
+ * findings, and a re-scan reports it as "+14 added" drift nobody can explain.
327
+ *
328
+ * OpenClaw derives the project directory name from the package name, so
329
+ * `@atbash/atbash-openclaw` becomes `atbash-atbash-openclaw-eada1196a5`. The
330
+ * plugin is the declared dependency whose mangled name PREFIXES the project
331
+ * directory — which excludes `@opentelemetry/api`, added to every such project.
332
+ */
333
+ function openclawNpmProjectPlugins(home) {
334
+ const out = [];
335
+ const mangle = (name) => name.replace(/^@/, "").replace(/[/]/g, "-");
336
+ for (const project of listDirs(home, ".openclaw", ...OPENCLAW_NPM_PROJECTS)) {
337
+ const pkg = readJson(home, ".openclaw", ...OPENCLAW_NPM_PROJECTS, project, "package.json");
338
+ const deps = pkg && typeof pkg.dependencies === "object" && pkg.dependencies ? Object.keys(pkg.dependencies) : [];
339
+ for (const dep of deps) {
340
+ if (!project.startsWith(mangle(dep)))
341
+ continue;
342
+ out.push({ name: dep, dir: path.join(home, ".openclaw", ...OPENCLAW_NPM_PROJECTS, project, "node_modules", dep) });
343
+ }
344
+ }
345
+ return out;
346
+ }
347
+ /** Installed plugin names across every known layout, scoped packages expanded. */
348
+ function openclawPluginNames(home) {
349
+ const names = new Set();
350
+ for (const { name } of openclawNpmProjectPlugins(home))
351
+ names.add(name);
352
+ for (const root of OPENCLAW_PLUGIN_ROOTS) {
353
+ for (const name of listDirs(home, ".openclaw", ...root)) {
354
+ // `@atbash` is a scope DIRECTORY, not a plugin — the package is inside it.
355
+ if (name.startsWith("@")) {
356
+ for (const scoped of listDirs(home, ".openclaw", ...root, name))
357
+ names.add(`${name}/${scoped}`);
358
+ continue;
359
+ }
360
+ names.add(name);
361
+ }
362
+ }
363
+ return names;
364
+ }
365
+ /**
366
+ * Plugin ids OpenClaw has RECORDED as installed, wherever this release keeps
367
+ * that record.
368
+ *
369
+ * 2026.2.x keeps it inside openclaw.json as `plugins.installs`; newer builds
370
+ * moved it to `plugins/installs.json`, and that migration is destructive — a
371
+ * machine in the field had its original consumed and left as
372
+ * `installs.json.migrated`, which is then the only surviving record of what was
373
+ * installed before the upgrade.
374
+ */
375
+ function openclawLedgerNames(home) {
376
+ const names = new Set();
377
+ const cfg = readJson(home, ".openclaw", "openclaw.json");
378
+ const plugins = cfg && typeof cfg.plugins === "object" ? cfg.plugins : undefined;
379
+ const inline = plugins && typeof plugins.installs === "object" ? plugins.installs : undefined;
380
+ if (inline)
381
+ Object.keys(inline).forEach((k) => names.add(k));
382
+ for (const file of ["installs.json", "installs.json.migrated"]) {
383
+ const led = readJson(home, ".openclaw", "plugins", file);
384
+ if (!led || typeof led !== "object")
385
+ continue;
386
+ const inner = led.plugins;
387
+ const map = inner && typeof inner === "object" ? inner : led;
388
+ Object.keys(map).forEach((k) => names.add(k));
389
+ }
390
+ // ~/.openclaw/package.json on the npm-channel layout, plus one per npm project
391
+ // on 2026.7.x — the authoritative name when the project dir name is mangled.
392
+ const prefixes = [[], ...listDirs(home, ".openclaw", ...OPENCLAW_NPM_PROJECTS).map((p) => [...OPENCLAW_NPM_PROJECTS, p])];
393
+ for (const prefix of prefixes) {
394
+ const pkg = readJson(home, ".openclaw", ...prefix, "package.json");
395
+ const deps = pkg && typeof pkg.dependencies === "object" ? pkg.dependencies : undefined;
396
+ if (deps)
397
+ Object.keys(deps).forEach((k) => names.add(k));
398
+ }
399
+ return names;
400
+ }
289
401
  function openclawGovernance(home) {
290
402
  const cfg = readJson(home, ".openclaw", "openclaw.json");
291
403
  const plugins = cfg && typeof cfg.plugins === "object" ? cfg.plugins : undefined;
@@ -299,8 +411,21 @@ function openclawGovernance(home) {
299
411
  // there", not silence. Setup never writes it: the docs are explicit that a
300
412
  // leftover `openclaw` entry configures nothing.
301
413
  const ENTRY_IDS = ["atbash-openclaw", "atbash-plugin", "openclaw"];
302
- const entryName = ENTRY_IDS.find((k) => entries && k in entries);
303
- const extension = ENTRY_IDS.find((k) => exists(home, ".openclaw", "extensions", k));
414
+ // Prefer the entry that is actually SWITCHED ON, not merely the first id in the
415
+ // list. `atbash setup` deliberately leaves a machine carrying two entries — the
416
+ // legacy one stood down to `{enabled:false}` and the real config on
417
+ // `atbash-openclaw` — so a plain `find` can pick the disabled one and report a
418
+ // freshly wired machine as ungoverned.
419
+ const presentIds = ENTRY_IDS.filter((k) => entries && k in entries);
420
+ const switchedOnId = (k) => {
421
+ const e = entries?.[k];
422
+ if (!e || typeof e !== "object")
423
+ return true;
424
+ const c = typeof e.config === "object" && e.config ? e.config : undefined;
425
+ return e.enabled !== false && c?.enabled !== false;
426
+ };
427
+ const entryName = presentIds.find(switchedOnId) ?? presentIds[0];
428
+ const extension = ENTRY_IDS.find((k) => openclawPluginNames(home).has(k));
304
429
  if (!entryName && !extension)
305
430
  return undefined;
306
431
  const entry = entryName && entries ? entries[entryName] : undefined;
@@ -314,7 +439,10 @@ function openclawGovernance(home) {
314
439
  // different key, so it can never be enforcing however complete it looks.
315
440
  const inertId = entryName === "openclaw";
316
441
  return {
317
- installed: !!(entryName || extension),
442
+ // The install LEDGER counts as evidence too: a plugin can be recorded as
443
+ // installed on a machine whose plugin directory we do not recognise, and
444
+ // "not in a directory I know" is not the same as "not installed".
445
+ installed: !!(entryName || extension || ENTRY_IDS.some((k) => openclawLedgerNames(home).has(k))),
318
446
  enforcing: !!entryName && !inertId && switchedOn && keyPathConfigured,
319
447
  entry: entryName ?? extension,
320
448
  keyPathConfigured,
@@ -359,7 +487,10 @@ function discover(home) {
359
487
  // OpenClaw → declared tools (skills live under ~/.hermes/skills; plus extensions).
360
488
  if (exists(home, ".openclaw", "openclaw.json")) {
361
489
  const tools = enumerateSkills(path.join(home, ".hermes", "skills"));
362
- for (const name of listDirs(home, ".openclaw", "extensions"))
490
+ // Across EVERY layout, not just `extensions/` — see OPENCLAW_PLUGIN_ROOTS.
491
+ // Reading one store reported ZERO plugins on a machine whose plugins were all
492
+ // installed and loading.
493
+ for (const name of openclawPluginNames(home))
363
494
  tools.push({ name: `plugin:${name}`, description: "OpenClaw plugin / extension" });
364
495
  const governance = openclawGovernance(home);
365
496
  agents.push({ type: "declared", label: "OpenClaw", detail: `${tools.length} skill${tools.length === 1 ? "" : "s"} / plugins`, declaredTools: tools, ...(governance ? { governance } : {}) });
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6bA,wDAkPC;AAGQ,4BAAQ;AAAE,0CAAe;AAAE,sCAAa;AAAE,4CAAgB;AAAE,0CAAe;AAlrBpF,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAE7B,kDAA0B;AAC1B,+BAA0C;AAC1C,kDAAoC;AACpC,oDAAsC;AACtC,qDAAqD;AACrD,6DAAkF;AAuClF,6EAA6E;AAC7E,kFAAkF;AAClF,sDAAsD;AACtD,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AACzC,MAAM,eAAe,GAAG,GAAG,GAAG,IAAI,CAAC;AACnC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,kBAAkB,GAAG;IACzB,mDAAmD;IACnD,qCAAqC;IACrC,gEAAgE;IAChE,kEAAkE;CACnE,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,GAAG,CAAC,GAAG,IAAc,EAAW,EAAE;IAC5C,IAAI,CAAC;QAAC,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAC3E,CAAC,CAAC;AACF,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAc,EAAkC,EAAE;IACrE,4EAA4E;IAC5E,8EAA8E;IAC9E,+EAA+E;IAC/E,mFAAmF;IACnF,MAAM,IAAI,GAAG,QAAQ,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC;IACjD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7F,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAA+B,CAAC,CAAC,CAAC,IAAI,CAAC;AACzG,CAAC,CAAC;AACF,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,GAAG,IAAc,EAAsB,EAAE;IAC3E,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAChC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,QAAQ;YAAE,OAAO,SAAS,CAAC;QACxD,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AAC/B,CAAC,CAAC;AACF,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAc,EAAY,EAAE;IAC/C,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAC/D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACxB,CAAC,CAAC;AAEF;;iFAEiF;AACjF,SAAS,aAAa,CAAC,IAAwB,EAAE,QAAgB;IAC/D,IAAI,CAAC,IAAI;QAAE,OAAO,QAAQ,CAAC;IAC3B,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAA,YAAS,EAAC,WAAW,CAAmC,CAAC;YACtE,MAAM,IAAI,GAAG,IAAI,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACjD,IAAI,OAAO;gBAAE,OAAO,eAAe,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC,CAAC,2DAA2D,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACrD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClG,CAAC;AAED;8EAC8E;AAC9E,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpG,OAAO,KAAK,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACjG,CAAC;AAED,oGAAoG;AACpG,SAAS,eAAe,CAAC,IAAY,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG;IAC5D,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,QAAgB,EAAQ,EAAE;QAClE,IAAI,KAAK,GAAG,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;YAAE,OAAO;QACpD,IAAI,OAAoB,CAAC;QACzB,IAAI,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO;QAAC,CAAC;QACjF,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC;QACzF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,QAAQ,CAAC,EAAE,CAAC,CAAC;YACtH,OAAO,CAAC,2BAA2B;QACrC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAClI,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,mFAAmF;AACnF,uEAAuE;AAEvE;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,IAAY;IACxC,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,IAAI,MAA+B,CAAC;IACpC,IAAI,CAAC;QAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,OAAO,CAAC;IAAC,CAAC;IACvF,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;QACtE,CAAC,CAAE,MAAM,CAAC,WAAuC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,IAAI,CAAC,GAAG;QAAE,OAAO,OAAO,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QAChD,MAAM,CAAC,GAAG,IAA+B,CAAC;QAC1C,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK;YAAE,SAAS,CAAC,4BAA4B;QAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH;;oFAEoF;AACpF,SAAS,aAAa,CAAC,GAAY;IACjC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC;QAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC;QAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;QAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;QAC7D,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AAC/B,CAAC;AAED;;;;yDAIyD;AACzD,SAAS,iBAAiB,CAAC,GAAY;IACrC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,SAAS,CAAC;IACjF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,IAAI,IAAI,SAAS,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,gBAAgB,CAAC,OAAgC;IACxD,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC/E,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACpE,MAAM,CAAC,GAAG,IAA+B,CAAC;QAC1C,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAAC,IAAI,GAAG;YAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QAC1D,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAAC,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAClF,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;YAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;YAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/E,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAmDD,+EAA+E;AAC/E,SAAS,oBAAoB,CAAC,IAAY;IACxC,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QAAC,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAClG,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,mCAAmC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC7D,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,0EAA0E;AAC1E,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IACvF,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC,uEAAuE,CAAC,CAAC;IACnG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,GAAG,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAC,OAAmC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9G,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAE,OAAO,CAAC,OAAmC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE1H,gEAAgE;IAChE,EAAE;IACF,gFAAgF;IAChF,4EAA4E;IAC5E,+EAA+E;IAC/E,yEAAyE;IACzE,2EAA2E;IAC3E,gDAAgD;IAChD,MAAM,SAAS,GAAG,CAAC,iBAAiB,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;IACpF,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAE/C,MAAM,KAAK,GAAG,SAAS,IAAI,OAAO,CAAC,CAAC,CAAE,OAAO,CAAC,SAAS,CAAyC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7G,MAAM,WAAW,GAAG,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAK,CAAC,MAAkC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtH,MAAM,iBAAiB,GAAG,OAAO,WAAW,EAAE,iBAAiB,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IACvH,uFAAuF;IACvF,MAAM,UAAU,GAAG,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,WAAW,EAAE,OAAO,KAAK,KAAK,CAAC;IAE9E,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,0EAA0E;IAC1E,yEAAyE;IACzE,MAAM,OAAO,GAAG,SAAS,KAAK,UAAU,CAAC;IACzC,OAAO;QACL,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC;QACrC,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,UAAU,IAAI,iBAAiB;QACrE,KAAK,EAAE,SAAS,IAAI,SAAS;QAC7B,iBAAiB;QACjB,WAAW,EAAE,OAAO;QACpB,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,CAAC;QAAE,OAAO,SAAS,CAAC;IAE/D,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAC/C,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,eAAe,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAEjE,0EAA0E;IAC1E,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAC9E,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,YAAS,EAAC,UAAU,CAA+C,CAAC;YACnF,MAAM,IAAI,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;YACtC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,kBAAkB,CAAC,CAAC;QAC7F,CAAC;QAAC,MAAM,CAAC,CAAC,+DAA+D,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IACtE,MAAM,iBAAiB,GAAG,+DAA+D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEpG,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,OAAO;QACL,SAAS;QACT,SAAS,EAAE,SAAS,IAAI,OAAO,IAAI,iBAAiB;QACpD,KAAK,EAAE,kBAAkB;QACzB,iBAAiB;QACjB,WAAW,EAAE,OAAO;QACpB,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAElD,4EAA4E;AAC5E,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,mFAAmF;IACnF,IAAI,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACpE,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,IAAI,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC,CAAC;QACjJ,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,SAAS,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/L,CAAC;IAED,oDAAoD;IACpD,IAAI,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACpE,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,IAAI,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC;QAC9I,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,SAAS,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7L,CAAC;IAED,8EAA8E;IAC9E,KAAK,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAC1C,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvC,4EAA4E;QAC5E,2EAA2E;QAC3E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACzC,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK;YAC5B,CAAC,CAAC,GAAG,OAAO,OAAO,KAAK,mCAAmC,iBAAiB,qBAAqB;YACjG,CAAC,CAAC,GAAG,KAAK,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,GAAG,GAA0D,EAAE,CAAC;IACtE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,4BAAW,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,SAAS;QAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,OAAO,CAAyC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtI,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAAC,CAAC;IACnI,CAAC;IAED,oFAAoF;IACpF,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC1C,IAAI,EAAE,EAAE,CAAC;QACP,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,CAAC,CAAU,EAAQ,EAAE;YACnC,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,CAA8B,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9F,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;oBAAE,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;wBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5G,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,CAAC;QACZ,MAAM,QAAQ,GAAI,EAA6B,CAAC,QAAQ,CAAC;QACzD,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAClG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,kDAAkD;IAClD,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC5E,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,8HAA8H,CAAC;SAC3I,QAAQ,CAAC,QAAQ,EAAE,sEAAsE,CAAC;SAC1F,MAAM,CAAC,cAAc,EAAE,wCAAwC,CAAC;SAChE,MAAM,CAAC,cAAc,EAAE,sCAAsC,CAAC;SAC9D,MAAM,CAAC,WAAW,EAAE,kHAAkH,CAAC;SACvI,MAAM,CAAC,QAAQ,EAAE,gFAAgF,CAAC;SAClG,MAAM,CAAC,cAAc,EAAE,iLAAiL,CAAC;SACzM,MAAM,CAAC,2BAA2B,EAAE,+GAA+G,CAAC;SACpJ,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,IAA+H,EAAE,EAAE;QACjK,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,6BAAY,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACxF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC7B,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3B,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QACrC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;QAC3D,MAAM,QAAQ,GAAG,GAAG,IAAI,2BAA2B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAE9E,0EAA0E;QAC1E,0EAA0E;QAC1E,IAAI,OAAO,GAAe,IAAI,CAAC;QAC/B,IAAI,CAAC;YAAC,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM,UAAU,GAAG,8CAA8C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjF,8EAA8E;QAC9E,MAAM,cAAc,GAAG,4BAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC;QAE/D,8EAA8E;QAC9E,kFAAkF;QAClF,MAAM,QAAQ,GAAG,CAAC,KAA8B,EAAQ,EAAE,CACxD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACzB,IAAI,EAAE,qBAAqB;YAC3B,SAAS,EAAE,CAAC,UAAU;gBACpB,CAAC,CAAC,mHAAmH;gBACrH,CAAC,CAAC,wEAAwE,CAAC;kBACzE,kFAAkF;YACtF,8EAA8E;YAC9E,QAAQ,EAAE,CAAC,UAAU;YACrB,kBAAkB,EAAE,UAAU;YAC9B,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI;YAC7B,wEAAwE;YACxE,kCAAkC;YAClC,cAAc,EAAE,UAAU,EAAE,CAAC,GAAG,4BAAW,CAAC;YAC5C,GAAG,KAAK;SACT,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEf,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,MAAM;gBAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;;gBAC9D,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,GAAG,eAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,GAAG,sDAAsD,CAAC,CAAC;YACnK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,4EAA4E;QAC5E,2EAA2E;QAC3E,yEAAyE;QACzE,4EAA4E;QAC5E,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC;QAC7G,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,2CAA2C,IAAI,qCAAqC,CAAC;YACjG,IAAI,MAAM;gBAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;;gBAC3C,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,eAAK,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;YACrH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,2EAA2E;QAC3E,0EAA0E;QAC1E,4EAA4E;QAC5E,yDAAyD;QACzD,IAAI,CAAC,cAAc,IAAI,CAAC,qBAAqB,IAAI,CAAC,MAAM,EAAE,CAAC;YACzD,MAAM,GAAG,GAAG,8CAA8C,QAAQ,IAAI,IAAI,+FAA+F,CAAC;YAC1K,IAAI,MAAM;gBAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;;gBAC3C,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,eAAK,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,6EAA6E;QAC7E,yEAAyE;QACzE,wEAAwE;QACxE,6EAA6E;QAC7E,yEAAyE;QACzE,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM;oBAAE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,oDAAoD,CAAC,CAAC,CAAC;gBAC3K,MAAM,OAAO,GAAG,MAAM,IAAA,kCAAiB,EAAC,OAAO,EAAE;oBAC/C,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CACtD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,IAAI,aAAa,GAAG,EAAE,CAAC,CAAC;iBACvL,CAAC,CAAC;gBACH,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,+DAA+D;oBAC/D,kEAAkE;oBAClE,2DAA2D;oBAC3D,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;wBACd,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,uFAAuF,CAAC;wBACjH,IAAI,CAAC,MAAM;4BAAE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;wBACrE,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,UAAU;4BAChB,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,uBAAuB;4BACxC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,mDAAmD;4BACvE,aAAa,EAAE,EAAE;4BACjB,eAAe,EAAE;gCACf,MAAM,EAAE,gBAAgB;gCACxB,MAAM,EAAE,YAAY;gCACpB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gCACpC,KAAK,EAAE,IAAI;6BACZ;yBACF,CAAC,CAAC;oBACL,CAAC;oBACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;wBAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;4BACV,MAAM,CAAC,IAAI,CAAC;gCACV,IAAI,EAAE,UAAU;gCAChB,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,MAAM,EAAE;gCACjC,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B;gCACvD,aAAa,EAAE,EAAE;gCACjB,eAAe,EAAE;oCACf,MAAM,EAAE,gBAAgB;oCACxB,MAAM,EAAE,YAAY;oCACpB,SAAS,EAAE,CAAC,CAAC,SAAS;oCACtB,MAAM,EAAE,CAAC,CAAC,MAAM;oCAChB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oCACpC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;iCAChD;6BACF,CAAC,CAAC;4BACH,SAAS;wBACX,CAAC;wBACD,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,YAAY,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,UAAU,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC1M,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,UAAU;4BAChB,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,MAAM,EAAE;4BACjC,sEAAsE;4BACtE,mEAAmE;4BACnE,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,SAAS,8BAA8B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;4BAClK,aAAa,EAAE,CAAC,CAAC,KAAK;4BACtB,eAAe,EAAE;gCACf,MAAM,EAAE,gBAAgB;gCACxB,MAAM,EAAE,UAAU;gCAClB,SAAS,EAAE,CAAC,CAAC,SAAS;gCACtB,MAAM,EAAE,CAAC,CAAC,MAAM;gCAChB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;6BACrC;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAEpC,4EAA4E;QAC5E,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,EAAE,CAAC;gBAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC9G,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACtI,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA0C,CAAC;gBAC3F,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAC3K,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,4EAA4E;QAC5E,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvH,0EAA0E;QAC1E,kEAAkE;QAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,2FAA2F,CAAC,CAAC,CAAC;QACpH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC,CAAC;QACvG,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,oHAAoH,CAAC,CAAC,CAAC;QAC7I,IAAI,UAAU;YAAE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,uJAAuJ,CAAC,CAAC,CAAC;QACtO,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,+CAA+C,GAAG,CAAC,CAAC,CAAC;QACtH,4EAA4E;QAC5E,yEAAyE;QACzE,8DAA8D;QAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,eAAK,CAAC,MAAM,CAAC,wCAAwC,CAAC,EAAE,CAAC,CAAC;QACpI,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,MAAM,CAAC,yFAAyF,CAAC,EAAE,CAAC,CAAC;QACtR,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC;QAEjD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;YACvF,IAAI,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,oEAAoE;gBACpE,wEAAwE;gBACxE,iEAAiE;gBACjE,mEAAmE;gBACnE,qEAAqE;gBACrE,qCAAqC;gBACrC,MAAM,CAAC,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvD,MAAM,KAAK,GAAG,CAAC,CAAC;oBACd,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,GAAG,GAAG,eAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC;wBACzC,CAAC,CAAC,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,GAAG,GAAG,eAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC;4BACzD,CAAC,CAAC,GAAG,GAAG,eAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,OAAO,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,eAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;YAC1F,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC/H,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,0CAA0C,CAAC;gBACjH,eAAK,CAAC,GAAG,CAAC,0IAA0I,CAAC,CAAC,CAAC;QAC3J,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,8BAA8B,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAC,CAAC;QAEjL,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvG,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,eAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC;YAC9G,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;aAC9B,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA0C,CAAC;YAC3F,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAC5F,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC,CAAC;gBACvG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,kBAAkB,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,kEAAkE,CAAC,CAAC;QACvL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,qBAAqB,IAAI,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
@@ -78,12 +78,72 @@ export type Step = {
78
78
  before: string | null;
79
79
  after: string;
80
80
  secret?: boolean;
81
+ /**
82
+ * Id of an `exec` step this write DEPENDS ON. The write is skipped entirely
83
+ * when that step did not succeed.
84
+ *
85
+ * ⚠️ This exists because the order used to be the other way round, on a
86
+ * rationale that reads convincingly and is wrong: "writes first, then
87
+ * commands, so a failed install still leaves a correct config behind for a
88
+ * manual retry". A plugin config with no plugin is not a head start — it is
89
+ * a DANGLING REFERENCE, and OpenClaw treats it as one:
90
+ *
91
+ * plugins.entries.atbash-openclaw: plugin not found: atbash-openclaw
92
+ * (stale config entry ignored; remove it from plugins config)
93
+ * → Run "openclaw doctor --fix" to remove stale plugin ids
94
+ *
95
+ * So the leftover config is not merely useless: OpenClaw's own repair
96
+ * command offers to DELETE it, and an operator who accepts silently
97
+ * un-governs the agent. On 2026.2.x it was worse still — an entry naming an
98
+ * absent plugin contributed to the config being refused, which took down
99
+ * the very `plugins install` that would have created it.
100
+ *
101
+ * Not writing is strictly better than writing-then-rolling-back: there is
102
+ * no window in which a broken state exists on disk at all.
103
+ */
104
+ requires?: string;
105
+ /**
106
+ * Apply this write by handing the change to the runtime instead of writing
107
+ * the file ourselves.
108
+ *
109
+ * `payload` is piped to `command args` on stdin. Used for
110
+ * `openclaw config patch --stdin`, which merges recursively and validates
111
+ * in ONE write — so OpenClaw owns its own file format, key names, schema,
112
+ * comments, permissions and migrations. Every bug in this thread came from
113
+ * us asserting that shape from outside.
114
+ *
115
+ * It also closes a hazard we cannot otherwise handle: OpenClaw rewrites
116
+ * `openclaw.json` on its own (a machine in the field carried three
117
+ * `openclaw.json.clobbered.<timestamp>` files plus an
118
+ * `openclaw.json.last-good`), so anything we hand-merge can be discarded
119
+ * without warning. A patch describes INTENT and survives that.
120
+ *
121
+ * `before`/`after` are still computed so `--dry-run` shows a real diff —
122
+ * the preview stays ours, only the application moves.
123
+ */
124
+ applyVia?: {
125
+ command: string;
126
+ args: string[];
127
+ payload: string;
128
+ /**
129
+ * Extra environment for the child.
130
+ *
131
+ * ⚠️ REQUIRED IN PRACTICE, not a nicety. `openclaw config patch` edits
132
+ * whatever config OpenClaw considers active, which is NOT necessarily
133
+ * `step.file` — so without pinning `OPENCLAW_CONFIG_PATH` to the file this
134
+ * step names, a `--home <fixture>` run would patch the operator's REAL
135
+ * `~/.openclaw/openclaw.json`. A step must only ever change the file it
136
+ * declares; that is what makes the plan an honest preview.
137
+ */
138
+ env?: Record<string, string>;
139
+ };
81
140
  } | {
82
141
  kind: "exec";
83
142
  label: string;
84
143
  command: string;
85
144
  args: string[];
86
145
  optionalWhy?: string;
146
+ id?: string;
87
147
  } | {
88
148
  kind: "manual";
89
149
  label: string;
@@ -126,9 +186,35 @@ export declare function isJsonc(text: string): boolean;
126
186
  * `<your-username>` placeholder that people paste verbatim, producing a path that
127
187
  * does not exist and a plugin that never loads.
128
188
  */
189
+ /**
190
+ * WHICH entry this run governs, and whether a legacy one is being stood down.
191
+ *
192
+ * Extracted so the hand-merge and the `openclaw config patch` payload cannot
193
+ * disagree. Two implementations of this decision is exactly how a build ended up
194
+ * writing the modern plugin's `orgName` onto the LEGACY entry — whose schema is
195
+ * closed and has no such field — so OpenClaw rejected the whole file and the run
196
+ * broke its own install step.
197
+ *
198
+ * An entry is not the only way the legacy plugin is present: `plugins.installs`
199
+ * records it independently, and an installed, allowed plugin loads with its
200
+ * defaults whether or not anyone wrote an entry for it.
201
+ */
202
+ export declare function openclawEntryDecision(config: Record<string, unknown>, opts?: {
203
+ installsModern?: boolean;
204
+ }): {
205
+ entryKey: string;
206
+ useLegacy: boolean;
207
+ legacy: boolean;
208
+ standDownLegacy: boolean;
209
+ };
129
210
  export declare function mergeOpenclawConfig(config: Record<string, unknown>, home: string, orgName?: string, opts?: {
130
211
  installsModern?: boolean;
131
212
  }): Record<string, unknown>;
213
+ export declare function openclawInstallState(home: string, spec: string): {
214
+ installed: boolean;
215
+ sameSpec: boolean;
216
+ version?: string;
217
+ };
132
218
  /**
133
219
  * Detect the indentation a JSON file already uses, so a merge does not reformat
134
220
  * the parts it did not touch.
@@ -317,6 +403,31 @@ export declare function mergeHermesEnv(existing: string | null): string;
317
403
  */
318
404
  export declare function hadInlineKey(config: Record<string, unknown>, serversKey?: "mcpServers" | "servers"): boolean;
319
405
  export declare function mergeMcpServer(config: Record<string, unknown>, serversKey?: "mcpServers" | "servers"): Record<string, unknown>;
406
+ /**
407
+ * The change we want, expressed as a PATCH rather than a whole file.
408
+ *
409
+ * `openclaw config patch` merges objects recursively and validates in one write,
410
+ * so this is intent — "this entry should exist and look like this" — instead of
411
+ * "here are the complete new bytes of your config". That difference is what makes
412
+ * it survive the things that kept defeating us from outside: OpenClaw's own
413
+ * format changes, key renames, comment preservation, file permissions, its
414
+ * migrations, and the fact that it rewrites `openclaw.json` on its own (a machine
415
+ * in the field carried three `openclaw.json.clobbered.<timestamp>` files).
416
+ *
417
+ * ⚠️ DO NOT call `config patch --dry-run` from buildPlan to preview this. It is
418
+ * NOT side-effect free: running it triggers OpenClaw's state migrations, which
419
+ * wrote `~/.openclaw/update-check.json.migrated` and moved config-health state
420
+ * into SQLite on the machine this was developed on. `atbash setup --dry-run`
421
+ * promises that nothing is written, and that promise has to hold for OpenClaw's
422
+ * housekeeping too. The preview stays a merge we compute ourselves.
423
+ */
424
+ export declare function openclawPatchPayload(args: {
425
+ entryKey: string;
426
+ orgName?: string;
427
+ keyPath: string;
428
+ /** Switch the legacy entry off in the same patch, when one is live. */
429
+ standDownLegacy: boolean;
430
+ }): string;
320
431
  /**
321
432
  * Work out everything that needs doing on this machine, without doing any of it.
322
433
  *
@@ -337,6 +448,18 @@ export declare function buildPlan(args: {
337
448
  noInstall: boolean;
338
449
  /** Restrict to these runtime ids; empty means "everything detected". */
339
450
  only: string[];
451
+ /**
452
+ * What the OpenClaw on this machine can do, probed by detectOpenclaw.
453
+ *
454
+ * Optional so tests and callers that only want the file-level merge need not
455
+ * shell out. Absent means "assume nothing extra" — the hand-merge path, which
456
+ * works on every version — rather than assuming the newest capabilities.
457
+ */
458
+ openclaw?: {
459
+ caps: {
460
+ patch: boolean;
461
+ };
462
+ };
340
463
  }): Plan;
341
464
  /**
342
465
  * A minimal line diff, so the preview shows what CHANGES rather than dumping a
@@ -363,9 +486,40 @@ export interface ApplyResult {
363
486
  backups: string[];
364
487
  ran: string[];
365
488
  failures: string[];
489
+ /** Writes deliberately NOT made because a step they depend on failed. */
490
+ skipped: string[];
491
+ /** Files restored from backup because the result did not validate. */
492
+ rolledBack: string[];
366
493
  }
367
- /** Execute the plan. Writes first, then commands, so a failed install still
368
- * leaves a correct config and key file behind for a manual retry. */
369
- export declare function applyPlan(plan: Plan): ApplyResult;
494
+ /**
495
+ * Execute the plan, in the order that cannot leave a half-wired machine.
496
+ *
497
+ * 1. Independent writes — the key file above all. Safe on their own, useful
498
+ * even if everything after fails, and required by the plugin at load.
499
+ * 2. Commands — the plugin install, so the plugin id EXISTS on disk.
500
+ * 3. Dependent writes — the plugin config, now that it refers to something
501
+ * real. Skipped outright if its install failed (see Step.requires).
502
+ * 4. Verify, and roll back anything we broke (see verify).
503
+ *
504
+ * ⚠️ THE ORDER IS THE FIX, and it is the reverse of what this function used to
505
+ * do. "Writes first, then commands, so a failed install still leaves a correct
506
+ * config behind" sounds prudent and produces the single worst outcome available:
507
+ * a config entry for a plugin that is not installed, which OpenClaw reports as a
508
+ * stale reference and offers to delete via `doctor --fix` — silently un-governing
509
+ * the agent — and which on 2026.2.x helped make the config unloadable, killing
510
+ * the install that would have fixed it.
511
+ */
512
+ export declare function applyPlan(plan: Plan, opts?: {
513
+ /**
514
+ * Ask the runtime to confirm the result after writing, and restore the
515
+ * backup if the runtime says WE broke it. Omitted (or a build without
516
+ * `validate`) means no verification — which must read as "unverified", never
517
+ * as "verified fine".
518
+ */
519
+ verify?: (file: string) => {
520
+ valid: boolean;
521
+ problems: string;
522
+ } | undefined;
523
+ }): ApplyResult;
370
524
  export declare function registerSetupCommand(program: Command): void;
371
525
  export {};