@songsid/agend 2.1.4-beta.4 → 2.1.4-beta.40
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 +1 -1
- package/README.zh-TW.md +1 -1
- package/dist/agent-endpoint.js +1 -1
- package/dist/agent-endpoint.js.map +1 -1
- package/dist/backend/antigravity.d.ts +9 -5
- package/dist/backend/antigravity.js +156 -31
- package/dist/backend/antigravity.js.map +1 -1
- package/dist/backend/claude-code.d.ts +62 -23
- package/dist/backend/claude-code.js +296 -43
- package/dist/backend/claude-code.js.map +1 -1
- package/dist/backend/codex.d.ts +18 -0
- package/dist/backend/codex.js +148 -8
- package/dist/backend/codex.js.map +1 -1
- package/dist/backend/gemini-cli.js +2 -2
- package/dist/backend/gemini-cli.js.map +1 -1
- package/dist/backend/grok.js +2 -2
- package/dist/backend/grok.js.map +1 -1
- package/dist/backend/kiro.d.ts +2 -0
- package/dist/backend/kiro.js +24 -3
- package/dist/backend/kiro.js.map +1 -1
- package/dist/backend/opencode.d.ts +27 -11
- package/dist/backend/opencode.js +65 -41
- package/dist/backend/opencode.js.map +1 -1
- package/dist/backend/types.d.ts +45 -3
- package/dist/backend/types.js +12 -1
- package/dist/backend/types.js.map +1 -1
- package/dist/channel/adapters/discord.d.ts +44 -2
- package/dist/channel/adapters/discord.js +526 -78
- package/dist/channel/adapters/discord.js.map +1 -1
- package/dist/channel/adapters/telegram.d.ts +30 -0
- package/dist/channel/adapters/telegram.js +212 -18
- package/dist/channel/adapters/telegram.js.map +1 -1
- package/dist/channel/agy-mcp-launcher.d.ts +2 -0
- package/dist/channel/agy-mcp-launcher.js +28 -0
- package/dist/channel/agy-mcp-launcher.js.map +1 -0
- package/dist/channel/ipc-bridge.d.ts +2 -1
- package/dist/channel/ipc-bridge.js +33 -4
- package/dist/channel/ipc-bridge.js.map +1 -1
- package/dist/channel/mcp-server.js +28 -25
- package/dist/channel/mcp-server.js.map +1 -1
- package/dist/channel/mcp-tools.js +4 -2
- package/dist/channel/mcp-tools.js.map +1 -1
- package/dist/channel/message-queue.js +62 -1
- package/dist/channel/message-queue.js.map +1 -1
- package/dist/channel/types.d.ts +31 -1
- package/dist/classic-channel-manager.d.ts +40 -3
- package/dist/classic-channel-manager.js +218 -31
- package/dist/classic-channel-manager.js.map +1 -1
- package/dist/cli.js +109 -37
- package/dist/cli.js.map +1 -1
- package/dist/config-validator.js +48 -7
- package/dist/config-validator.js.map +1 -1
- package/dist/config.d.ts +4 -0
- package/dist/config.js +12 -1
- package/dist/config.js.map +1 -1
- package/dist/cross-instance-envelope.d.ts +6 -0
- package/dist/cross-instance-envelope.js +30 -0
- package/dist/cross-instance-envelope.js.map +1 -0
- package/dist/daemon.d.ts +319 -9
- package/dist/daemon.js +1402 -255
- package/dist/daemon.js.map +1 -1
- package/dist/doctor.d.ts +41 -0
- package/dist/doctor.js +267 -0
- package/dist/doctor.js.map +1 -0
- package/dist/fleet-context.d.ts +47 -0
- package/dist/fleet-manager.d.ts +265 -11
- package/dist/fleet-manager.js +2273 -455
- package/dist/fleet-manager.js.map +1 -1
- package/dist/fleet-yaml-slim.d.ts +10 -0
- package/dist/fleet-yaml-slim.js +59 -0
- package/dist/fleet-yaml-slim.js.map +1 -0
- package/dist/general-knowledge/skills/backend-providers/SKILL.md +114 -0
- package/dist/general-knowledge/skills/cross-instance-messaging/SKILL.md +3 -1
- package/dist/general-knowledge/skills/delegation-playbook/SKILL.md +52 -0
- package/dist/general-knowledge/skills/development-workflow/SKILL.md +28 -0
- package/dist/general-knowledge/skills/fleet-config/SKILL.md +1 -0
- package/dist/general-knowledge/skills/fleet-health/SKILL.md +1 -0
- package/dist/general-knowledge/skills/fleet-restart/SKILL.md +1 -0
- package/dist/general-knowledge/skills/instance-lifecycle/SKILL.md +1 -0
- package/dist/general-knowledge/skills/model-discovery/SKILL.md +64 -16
- package/dist/general-knowledge/skills/multi-channel/SKILL.md +1 -0
- package/dist/general-knowledge/skills/scheduling/SKILL.md +1 -0
- package/dist/general-knowledge/skills/session-management/SKILL.md +1 -0
- package/dist/general-knowledge/skills/tui-effort/SKILL.md +1 -0
- package/dist/general-knowledge/skills/worker-collaboration/SKILL.md +30 -0
- package/dist/instance-lifecycle.d.ts +67 -0
- package/dist/instance-lifecycle.js +273 -8
- package/dist/instance-lifecycle.js.map +1 -1
- package/dist/instructions.d.ts +12 -0
- package/dist/instructions.js +35 -1
- package/dist/instructions.js.map +1 -1
- package/dist/locale.js +958 -288
- package/dist/locale.js.map +1 -1
- package/dist/login-flows.d.ts +91 -0
- package/dist/login-flows.js +170 -0
- package/dist/login-flows.js.map +1 -0
- package/dist/login-manager.d.ts +63 -0
- package/dist/login-manager.js +134 -0
- package/dist/login-manager.js.map +1 -0
- package/dist/network-family.d.ts +18 -0
- package/dist/network-family.js +20 -0
- package/dist/network-family.js.map +1 -0
- package/dist/outbound-handlers.d.ts +8 -0
- package/dist/outbound-handlers.js +101 -18
- package/dist/outbound-handlers.js.map +1 -1
- package/dist/outbound-schemas.d.ts +7 -1
- package/dist/outbound-schemas.js +9 -0
- package/dist/outbound-schemas.js.map +1 -1
- package/dist/reply-dedup.d.ts +7 -8
- package/dist/reply-dedup.js +0 -0
- package/dist/reply-dedup.js.map +1 -1
- package/dist/restart-progress.d.ts +2 -0
- package/dist/restart-progress.js +3 -0
- package/dist/restart-progress.js.map +1 -1
- package/dist/scheduler/db.d.ts +12 -0
- package/dist/scheduler/db.js +59 -0
- package/dist/scheduler/db.js.map +1 -1
- package/dist/service-installer.d.ts +11 -0
- package/dist/service-installer.js +84 -18
- package/dist/service-installer.js.map +1 -1
- package/dist/settings-api.js +1 -1
- package/dist/settings-api.js.map +1 -1
- package/dist/setup-wizard.js +2 -2
- package/dist/setup-wizard.js.map +1 -1
- package/dist/spawn-gate.d.ts +30 -0
- package/dist/spawn-gate.js +79 -0
- package/dist/spawn-gate.js.map +1 -0
- package/dist/storm-window.d.ts +83 -0
- package/dist/storm-window.js +251 -0
- package/dist/storm-window.js.map +1 -0
- package/dist/tips.d.ts +44 -0
- package/dist/tips.js +355 -0
- package/dist/tips.js.map +1 -0
- package/dist/tmux-manager.d.ts +16 -0
- package/dist/tmux-manager.js +110 -25
- package/dist/tmux-manager.js.map +1 -1
- package/dist/tool-progress.d.ts +40 -0
- package/dist/tool-progress.js +289 -0
- package/dist/tool-progress.js.map +1 -0
- package/dist/topic-commands.d.ts +42 -4
- package/dist/topic-commands.js +354 -66
- package/dist/topic-commands.js.map +1 -1
- package/dist/transcript-monitor.d.ts +15 -2
- package/dist/transcript-monitor.js +63 -17
- package/dist/transcript-monitor.js.map +1 -1
- package/dist/transcript-sources.d.ts +131 -0
- package/dist/transcript-sources.js +580 -0
- package/dist/transcript-sources.js.map +1 -0
- package/dist/types.d.ts +13 -0
- package/dist/ui/dashboard.html +55 -32
- package/dist/ui/settings.html +200 -60
- package/dist/ui/view.html +147 -30
- package/dist/usage/format-rich.js +24 -23
- package/dist/usage/format-rich.js.map +1 -1
- package/dist/usage/i18n-keys.d.ts +7 -0
- package/dist/usage/i18n-keys.js +34 -0
- package/dist/usage/i18n-keys.js.map +1 -0
- package/dist/usage/i18n.d.ts +5 -0
- package/dist/usage/i18n.js +27 -0
- package/dist/usage/i18n.js.map +1 -0
- package/dist/usage/providers.d.ts +19 -0
- package/dist/usage/providers.js +150 -74
- package/dist/usage/providers.js.map +1 -1
- package/dist/usage/usage-api.d.ts +8 -2
- package/dist/usage/usage-api.js +45 -23
- package/dist/usage/usage-api.js.map +1 -1
- package/dist/workflow-templates/default.md +2 -1
- package/package.json +2 -2
|
@@ -4,7 +4,7 @@ import { join, basename, dirname, resolve, sep as pathSep } from "node:path";
|
|
|
4
4
|
import { access, unlink } from "node:fs/promises";
|
|
5
5
|
import { getAgendHome, ensureWorkspaceGit } from "./paths.js";
|
|
6
6
|
import { DEFAULT_INSTANCE_CONFIG } from "./config.js";
|
|
7
|
-
import { sanitizeInstanceName } from "./topic-commands.js";
|
|
7
|
+
import { readStatuslineModel, sanitizeInstanceName } from "./topic-commands.js";
|
|
8
8
|
import { isModelCompatible } from "./backend/types.js";
|
|
9
9
|
import { safeHandler } from "./safe-async.js";
|
|
10
10
|
import { t } from "./locale.js";
|
|
@@ -12,13 +12,17 @@ import { clearPausedMarker, hasPausedMarker, readPausedAt, writePausedMarker } f
|
|
|
12
12
|
import { reportProviderRateLimit } from "./usage/provider-alerts.js";
|
|
13
13
|
import { isFleetStartCommandLine } from "./fleet-lock.js";
|
|
14
14
|
import { GENERAL_PAUSE_ERROR, isGeneralInstance } from "./general-instance.js";
|
|
15
|
+
import { BACKEND_AUTH_CHECKS, checkAuthStatus, LOGIN_FLOWS } from "./login-flows.js";
|
|
16
|
+
import { fetchClaudeUsage, fetchCodexUsage } from "./usage/providers.js";
|
|
15
17
|
export { isFleetStartCommandLine } from "./fleet-lock.js";
|
|
16
18
|
/** Shared CLI metadata used by startup validation and ClassicBot onboarding. */
|
|
17
19
|
export const BACKEND_INSTALLATION_INFO = {
|
|
18
20
|
"claude-code": { binary: "claude", install: "curl -fsSL https://claude.ai/install.sh | bash" },
|
|
19
21
|
"gemini-cli": { binary: "gemini", install: "npm i -g @google/gemini-cli" },
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
// The curl installer serves Linux and macOS (verified: 200, text/x-shellscript);
|
|
23
|
+
// the previous `brew install --cask` form only worked on macOS.
|
|
24
|
+
"kiro-cli": { binary: "kiro-cli", install: "curl -fsSL https://cli.kiro.dev/install | bash" },
|
|
25
|
+
codex: { binary: "codex", install: "curl -fsSL https://chatgpt.com/codex/install.sh | sh" },
|
|
22
26
|
opencode: { binary: "opencode", install: "curl -fsSL https://opencode.ai/install | bash" },
|
|
23
27
|
antigravity: { binary: "agy", install: "curl -fsSL https://antigravity.google/cli/install.sh | bash" },
|
|
24
28
|
grok: { binary: "grok", install: "curl -fsSL https://x.ai/cli/install.sh | bash" },
|
|
@@ -77,12 +81,116 @@ export function getUnsafeInstanceDaemonPidReason(pid, dataDir) {
|
|
|
77
81
|
}
|
|
78
82
|
/** Suppress duplicate auth alerts for the same backend within this window. */
|
|
79
83
|
const AUTH_ALERT_COOLDOWN_MS = 5 * 60_000;
|
|
84
|
+
/**
|
|
85
|
+
* Reuse one auth verification per backend for this long. Shared credentials
|
|
86
|
+
* expiring makes EVERY instance of the backend emit auth_error at once — one
|
|
87
|
+
* token-free check answers for all of them.
|
|
88
|
+
*/
|
|
89
|
+
const AUTH_VERIFY_CACHE_MS = 60_000;
|
|
90
|
+
const CODEX_QUOTA_VERIFY_TIMEOUT_MS = 5_000;
|
|
91
|
+
const CLAUDE_QUOTA_VERIFY_TIMEOUT_MS = 5_000;
|
|
92
|
+
/**
|
|
93
|
+
* Convert the live Codex usage row into a conservative quota verdict. A
|
|
94
|
+
* successful response with at least one window below 100% proves that stale
|
|
95
|
+
* terminal text is no longer current only when no other window is exhausted.
|
|
96
|
+
* Missing credentials, API errors, and metric-less responses prove nothing.
|
|
97
|
+
*/
|
|
98
|
+
export function codexQuotaVerdictFromUsage(usage) {
|
|
99
|
+
if (usage.status !== "ok")
|
|
100
|
+
return "unknown";
|
|
101
|
+
const windows = usage.metrics.filter(metric => metric.type === "percent"
|
|
102
|
+
&& typeof metric.used === "number"
|
|
103
|
+
&& Number.isFinite(metric.used)
|
|
104
|
+
&& metric.windowMs != null);
|
|
105
|
+
if (windows.length === 0)
|
|
106
|
+
return "unknown";
|
|
107
|
+
return windows.some(metric => (metric.used ?? 0) >= 100) ? "exhausted" : "available";
|
|
108
|
+
}
|
|
109
|
+
/** Run only the Codex usage provider, bounded independently of its network timeout. */
|
|
110
|
+
export async function verifyCodexQuotaStatus(fetchUsage = fetchCodexUsage, timeoutMs = CODEX_QUOTA_VERIFY_TIMEOUT_MS) {
|
|
111
|
+
let timer;
|
|
112
|
+
try {
|
|
113
|
+
const usage = await Promise.race([
|
|
114
|
+
fetchUsage(),
|
|
115
|
+
new Promise((_, reject) => {
|
|
116
|
+
timer = setTimeout(() => reject(new Error("Codex quota verification timed out")), timeoutMs);
|
|
117
|
+
timer.unref?.();
|
|
118
|
+
}),
|
|
119
|
+
]);
|
|
120
|
+
return codexQuotaVerdictFromUsage(usage);
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
return "unknown";
|
|
124
|
+
}
|
|
125
|
+
finally {
|
|
126
|
+
if (timer)
|
|
127
|
+
clearTimeout(timer);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Convert a LIVE Claude usage API row into a conservative verdict. The
|
|
132
|
+
* provider can degrade to statusline data when the network/API is unavailable;
|
|
133
|
+
* that fallback is intentionally unknown because stale local limits cannot
|
|
134
|
+
* disprove a current API credit-balance error.
|
|
135
|
+
*/
|
|
136
|
+
export function claudeQuotaVerdictFromUsage(usage) {
|
|
137
|
+
if (usage.status !== "ok" || /statusline/i.test(usage.hint ?? ""))
|
|
138
|
+
return "unknown";
|
|
139
|
+
const bounded = usage.metrics.filter(metric => {
|
|
140
|
+
if (typeof metric.used !== "number" || !Number.isFinite(metric.used))
|
|
141
|
+
return false;
|
|
142
|
+
if (metric.type === "percent")
|
|
143
|
+
return true;
|
|
144
|
+
return metric.type === "dollars"
|
|
145
|
+
&& typeof metric.limit === "number"
|
|
146
|
+
&& Number.isFinite(metric.limit)
|
|
147
|
+
&& metric.limit > 0;
|
|
148
|
+
});
|
|
149
|
+
if (bounded.length === 0)
|
|
150
|
+
return "unknown";
|
|
151
|
+
const exhausted = bounded.some(metric => metric.type === "percent"
|
|
152
|
+
? (metric.used ?? 0) >= 100
|
|
153
|
+
: (metric.used ?? 0) >= (metric.limit ?? Number.POSITIVE_INFINITY));
|
|
154
|
+
return exhausted ? "exhausted" : "available";
|
|
155
|
+
}
|
|
156
|
+
/** Run only the Claude usage provider, bounded independently of its network timeout. */
|
|
157
|
+
export async function verifyClaudeQuotaStatus(fetchUsage = fetchClaudeUsage, timeoutMs = CLAUDE_QUOTA_VERIFY_TIMEOUT_MS) {
|
|
158
|
+
let timer;
|
|
159
|
+
try {
|
|
160
|
+
const usage = await Promise.race([
|
|
161
|
+
fetchUsage(),
|
|
162
|
+
new Promise((_, reject) => {
|
|
163
|
+
timer = setTimeout(() => reject(new Error("Claude quota verification timed out")), timeoutMs);
|
|
164
|
+
timer.unref?.();
|
|
165
|
+
}),
|
|
166
|
+
]);
|
|
167
|
+
return claudeQuotaVerdictFromUsage(usage);
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
return "unknown";
|
|
171
|
+
}
|
|
172
|
+
finally {
|
|
173
|
+
if (timer)
|
|
174
|
+
clearTimeout(timer);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
80
177
|
export class InstanceLifecycle {
|
|
81
178
|
ctx;
|
|
82
179
|
/** Active daemon processes: instanceName → Daemon */
|
|
83
180
|
daemons = new Map();
|
|
84
181
|
/** backend → last auth-error alert time, so one expiry sends one alert. */
|
|
85
182
|
lastAuthAlertAt = new Map();
|
|
183
|
+
/**
|
|
184
|
+
* backend → cached token-free auth verification (see AUTH_VERIFY_CACHE_MS).
|
|
185
|
+
* The PROMISE is cached, not the result: a shared credential expiring makes
|
|
186
|
+
* every instance of the backend fire in the same tick, and they must join
|
|
187
|
+
* one in-flight check instead of each spawning their own.
|
|
188
|
+
*/
|
|
189
|
+
authVerifyCache = new Map();
|
|
190
|
+
/** Same-tick Codex quota alerts join one live usage probe. */
|
|
191
|
+
codexQuotaVerifyInFlight = null;
|
|
192
|
+
/** Same-tick Claude quota alerts join one live usage probe. */
|
|
193
|
+
claudeQuotaVerifyInFlight = null;
|
|
86
194
|
/**
|
|
87
195
|
* Minimum gap between MCP-revival auto-restarts of one instance. Kept here —
|
|
88
196
|
* not in the daemon — because each restart replaces the daemon object, which
|
|
@@ -113,6 +221,10 @@ export class InstanceLifecycle {
|
|
|
113
221
|
this.ctx.logger.info({ name, kind }, "Incident notification suppressed — planned restart in progress");
|
|
114
222
|
return;
|
|
115
223
|
}
|
|
224
|
+
if (this.ctx.stormSuppressed?.(kind)) {
|
|
225
|
+
this.ctx.logger.info({ name, kind }, "Incident notification suppressed — included in tmux storm summary");
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
116
228
|
this.ctx.notifyInstanceTopic(name, text);
|
|
117
229
|
}
|
|
118
230
|
/** Backend a running instance uses (config → fleet default). */
|
|
@@ -121,6 +233,67 @@ export class InstanceLifecycle {
|
|
|
121
233
|
?? this.ctx.fleetConfig?.defaults?.backend
|
|
122
234
|
?? "claude-code";
|
|
123
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
* Confirm a pane-detected auth error with the backend's token-free status
|
|
238
|
+
* probe before pausing anything: pattern matching over terminal text also
|
|
239
|
+
* fires on an agent DISCUSSING a 401. "valid" means false positive — ignore.
|
|
240
|
+
* "invalid" and "unknown" (timeout, missing binary) both pause: for a
|
|
241
|
+
* suspected expiry, pausing too much is recoverable, delivering into a dead
|
|
242
|
+
* CLI is not. Cached per backend so simultaneous alerts run one check.
|
|
243
|
+
*/
|
|
244
|
+
verifyAuthError(name) {
|
|
245
|
+
return this.verifyBackendAuth(this.backendOf(name));
|
|
246
|
+
}
|
|
247
|
+
verifyCodexQuota() {
|
|
248
|
+
if (this.codexQuotaVerifyInFlight)
|
|
249
|
+
return this.codexQuotaVerifyInFlight;
|
|
250
|
+
const verify = this.ctx.verifyCodexQuota ?? (() => verifyCodexQuotaStatus());
|
|
251
|
+
const promise = verify().catch(() => "unknown");
|
|
252
|
+
this.codexQuotaVerifyInFlight = promise;
|
|
253
|
+
void promise.finally(() => {
|
|
254
|
+
if (this.codexQuotaVerifyInFlight === promise)
|
|
255
|
+
this.codexQuotaVerifyInFlight = null;
|
|
256
|
+
});
|
|
257
|
+
return promise;
|
|
258
|
+
}
|
|
259
|
+
verifyClaudeQuota() {
|
|
260
|
+
if (this.claudeQuotaVerifyInFlight)
|
|
261
|
+
return this.claudeQuotaVerifyInFlight;
|
|
262
|
+
const verify = this.ctx.verifyClaudeQuota ?? (() => verifyClaudeQuotaStatus());
|
|
263
|
+
const promise = verify().catch(() => "unknown");
|
|
264
|
+
this.claudeQuotaVerifyInFlight = promise;
|
|
265
|
+
void promise.finally(() => {
|
|
266
|
+
if (this.claudeQuotaVerifyInFlight === promise)
|
|
267
|
+
this.claudeQuotaVerifyInFlight = null;
|
|
268
|
+
});
|
|
269
|
+
return promise;
|
|
270
|
+
}
|
|
271
|
+
/** Same verification keyed by backend (used by startup pre-flight priming). */
|
|
272
|
+
verifyBackendAuth(backend) {
|
|
273
|
+
const cached = this.authVerifyCache.get(backend);
|
|
274
|
+
if (cached && Date.now() - cached.at < AUTH_VERIFY_CACHE_MS)
|
|
275
|
+
return cached.promise;
|
|
276
|
+
const check = LOGIN_FLOWS[backend]?.authCheck ?? BACKEND_AUTH_CHECKS[backend];
|
|
277
|
+
const promise = check ? checkAuthStatus(check) : Promise.resolve("unknown");
|
|
278
|
+
this.authVerifyCache.set(backend, { at: Date.now(), promise });
|
|
279
|
+
return promise;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Startup pre-flight: warm the per-backend auth verification cache so the
|
|
283
|
+
* detectors that fire seconds later (login-screen scan, MCP-died gate) get an
|
|
284
|
+
* instant answer. Advisory only — a pre-flight result alone never pauses
|
|
285
|
+
* anything, because e.g. codex on a custom provider runs fine while
|
|
286
|
+
* `codex login status` reports logged out (live-verified on this fleet).
|
|
287
|
+
*/
|
|
288
|
+
primeAuthVerification(backends) {
|
|
289
|
+
for (const backend of new Set(backends)) {
|
|
290
|
+
void this.verifyBackendAuth(backend).then(result => {
|
|
291
|
+
if (result === "invalid") {
|
|
292
|
+
this.ctx.logger.warn({ backend }, "Pre-flight auth check failed — marking backend as auth-suspect");
|
|
293
|
+
}
|
|
294
|
+
}).catch(() => { });
|
|
295
|
+
}
|
|
296
|
+
}
|
|
124
297
|
/**
|
|
125
298
|
* One alert per backend per cooldown, naming every affected instance — a CLI's
|
|
126
299
|
* credentials are shared, so N instances failing is ONE problem with ONE fix
|
|
@@ -141,7 +314,10 @@ export class InstanceLifecycle {
|
|
|
141
314
|
const scope = others.length
|
|
142
315
|
? `${affected.length} instances on \`${backend}\`: ${affected.join(", ")}`
|
|
143
316
|
: `\`${name}\` (${backend})`;
|
|
144
|
-
|
|
317
|
+
const remedy = backend === "opencode"
|
|
318
|
+
? "Run `opencode auth login` in a terminal, then wake the affected instance(s)."
|
|
319
|
+
: `Use \`/login ${backend}\` to re-login remotely.`;
|
|
320
|
+
this.notifyIncident(notificationTarget, "auth_error", `🔑 ${message}\n\nAffects ${scope}. Credentials are shared per backend — one re-login restores all of them; affected instances pause until then. ${remedy}`);
|
|
145
321
|
}
|
|
146
322
|
/**
|
|
147
323
|
* System errors from a ClassicBot belong in the operator's General topic,
|
|
@@ -179,6 +355,10 @@ export class InstanceLifecycle {
|
|
|
179
355
|
this.ctx.logger.info({ name }, "Hang notification suppressed — planned restart in progress");
|
|
180
356
|
return;
|
|
181
357
|
}
|
|
358
|
+
if (this.ctx.stormSuppressed?.("hang")) {
|
|
359
|
+
this.ctx.logger.info({ name }, "Hang notification suppressed — included in tmux storm summary");
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
182
362
|
// Check if instance has claimed tasks — nudge it to continue
|
|
183
363
|
const claimedTasks = this.ctx.listClaimedTasks(name);
|
|
184
364
|
if (claimedTasks.length > 0) {
|
|
@@ -207,6 +387,10 @@ export class InstanceLifecycle {
|
|
|
207
387
|
this.notifyIncident(generalName, "crash_respawn", t("inst.crashed_respawned_log", name));
|
|
208
388
|
}
|
|
209
389
|
}, this.ctx.logger, `daemon.crash_respawn[${name}]`));
|
|
390
|
+
daemon.on("tmux_server_crash", safeHandler(() => {
|
|
391
|
+
this.ctx.eventLog?.insert(name, "tmux_server_crash", {});
|
|
392
|
+
this.ctx.logger.error({ name }, "tmux server crash joined fleet storm window");
|
|
393
|
+
}, this.ctx.logger, `daemon.tmux_server_crash[${name}]`));
|
|
210
394
|
daemon.on("snapshot_failed", safeHandler(() => {
|
|
211
395
|
this.ctx.eventLog?.insert(name, "snapshot_failed", {});
|
|
212
396
|
this.notifyIncident(name, "snapshot_failed", t("inst.restarted_no_context", name));
|
|
@@ -242,10 +426,26 @@ export class InstanceLifecycle {
|
|
|
242
426
|
this.notifyIncident(name, "crash_loop", t("inst.respawn_paused", name));
|
|
243
427
|
this.ctx.setTopicIcon(name, "red");
|
|
244
428
|
}, this.ctx.logger, `daemon.crash_loop[${name}]`));
|
|
245
|
-
daemon.on("mcp_died", safeHandler((data) => {
|
|
429
|
+
daemon.on("mcp_died", safeHandler(async (data) => {
|
|
430
|
+
const stormAtDetection = this.ctx.stormWindow?.isActive() === true;
|
|
246
431
|
this.ctx.eventLog?.insert(name, "mcp_died", { pid: data.pid });
|
|
247
432
|
this.ctx.logger.error({ name, pid: data.pid }, "MCP server died — instance cannot use agend tools");
|
|
248
433
|
this.ctx.webhookEmit("mcp_died", name, { pid: data.pid });
|
|
434
|
+
// Auth outranks MCP: when the CLI lost authentication, "MCP server died"
|
|
435
|
+
// is a symptom and the fix is /login, not a restart. The daemon flags a
|
|
436
|
+
// suspicion it already confirmed (login screen / 401 pattern); otherwise
|
|
437
|
+
// ask the cached token-free probe. Only a CONFIRMED invalid swaps the
|
|
438
|
+
// message — valid or uncertain keeps the accurate MCP report below.
|
|
439
|
+
const verdict = data.authSuspected ? "invalid" : await this.verifyAuthError(name);
|
|
440
|
+
if (verdict === "invalid") {
|
|
441
|
+
this.notifyAuthErrorOnce(name, "Sign-in expired — the CLI cannot run its MCP server (agend tools are down) until it is re-authenticated.", this.ptyErrorNotificationTarget(name) ?? name);
|
|
442
|
+
return;
|
|
443
|
+
}
|
|
444
|
+
if (stormAtDetection) {
|
|
445
|
+
this.ctx.stormSuppressed?.("mcp_died");
|
|
446
|
+
this.ctx.logger.info({ name, pid: data.pid }, "MCP death notification suppressed — included in tmux storm summary");
|
|
447
|
+
return;
|
|
448
|
+
}
|
|
249
449
|
// The CLI owns the MCP server's stdio pipes, so only restarting the CLI can
|
|
250
450
|
// restore its tools. With mcp_auto_restart (default) the daemon requests an
|
|
251
451
|
// idle-gated restart itself — an immediate one would interrupt whatever the
|
|
@@ -261,7 +461,23 @@ export class InstanceLifecycle {
|
|
|
261
461
|
this.ctx.eventLog?.insert(name, "mcp_proxy_reply", { correlationId: data.correlationId });
|
|
262
462
|
this.ctx.logger.warn({ name, correlationId: data.correlationId }, "MCP dead at turn end with no reply — daemon relayed the pane text to the channel");
|
|
263
463
|
}, this.ctx.logger, `daemon.mcp_proxy_reply[${name}]`));
|
|
464
|
+
daemon.on("malformed_tool_call", safeHandler((data) => {
|
|
465
|
+
this.ctx.eventLog?.insert(name, "malformed_tool_call", {
|
|
466
|
+
correlationId: data.correlationId,
|
|
467
|
+
recovered: data.recovered,
|
|
468
|
+
});
|
|
469
|
+
const notificationTarget = this.ptyErrorNotificationTarget(name);
|
|
470
|
+
if (notificationTarget) {
|
|
471
|
+
this.notifyIncident(notificationTarget, "malformed_tool_call", t(data.recovered ? "inst.malformed_tool_call_recovered" : "inst.malformed_tool_call_unrecoverable", name));
|
|
472
|
+
}
|
|
473
|
+
}, this.ctx.logger, `daemon.malformed_tool_call[${name}]`));
|
|
264
474
|
daemon.on("mcp_restart_requested", safeHandler((data) => {
|
|
475
|
+
if (this.ctx.stormWindow?.isActive()) {
|
|
476
|
+
this.ctx.eventLog?.insert(name, "mcp_auto_restart_suppressed", { trigger: data.trigger, reason: "tmux_storm" });
|
|
477
|
+
this.ctx.stormSuppressed?.("mcp_auto_restart");
|
|
478
|
+
this.ctx.logger.info({ name, trigger: data.trigger }, "MCP revival restart suppressed — tmux storm recovery will replace MCP");
|
|
479
|
+
return;
|
|
480
|
+
}
|
|
265
481
|
// The daemon object dies with the restart it asks for, so the loop guard
|
|
266
482
|
// lives here: if the previous auto-restart was under the cooldown, the new
|
|
267
483
|
// MCP server evidently died right back (broken install, OOM pressure) and
|
|
@@ -297,7 +513,7 @@ export class InstanceLifecycle {
|
|
|
297
513
|
}
|
|
298
514
|
await this.ctx.notifyInteractivePrompt(name, data.kind);
|
|
299
515
|
}, this.ctx.logger, `daemon.interactive_prompt[${name}]`));
|
|
300
|
-
daemon.on("pty_error", safeHandler((data) => {
|
|
516
|
+
daemon.on("pty_error", safeHandler(async (data) => {
|
|
301
517
|
this.ctx.eventLog?.insert(name, "pty_error", { type: data.type, action: data.action });
|
|
302
518
|
this.ctx.logger.warn({ name, errorType: data.type, action: data.action }, `PTY error: ${data.message}`);
|
|
303
519
|
// Antigravity's account-level cap is visible ONLY here: the quota summary
|
|
@@ -307,7 +523,55 @@ export class InstanceLifecycle {
|
|
|
307
523
|
if (data.type === "quota" && this.backendOf(name) === "antigravity") {
|
|
308
524
|
reportProviderRateLimit("antigravity", data.message);
|
|
309
525
|
}
|
|
526
|
+
// Codex keeps old errors in pane scrollback. After a restart, the new
|
|
527
|
+
// daemon has no occurrence baseline and can mistake yesterday's
|
|
528
|
+
// `You've hit your usage limit` for a current failure, pause, wake, then
|
|
529
|
+
// repeat forever. A live, non-LLM usage query distinguishes an
|
|
530
|
+
// available account from that stale text before any notification/pause.
|
|
531
|
+
// Only pause-class quota errors need this gate; low-quota notifications
|
|
532
|
+
// remain immediate. Unknown (timeout/auth/API failure) stays fail-closed.
|
|
533
|
+
if (data.type === "quota" && data.action === "pause" && this.backendOf(name) === "codex") {
|
|
534
|
+
const verdict = await this.verifyCodexQuota();
|
|
535
|
+
if (verdict === "available") {
|
|
536
|
+
this.ctx.logger.debug({ name, backend: "codex" }, "quota pattern ignored — live usage has capacity (stale pane history)");
|
|
537
|
+
return;
|
|
538
|
+
}
|
|
539
|
+
if (verdict === "unknown") {
|
|
540
|
+
this.ctx.logger.warn({ name, backend: "codex" }, "Codex quota verification failed or timed out — pausing conservatively");
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
// Claude's credit-balance message also remains in pane scrollback. Only
|
|
544
|
+
// a fresh usage API row can prove it stale; provider fallback to a local
|
|
545
|
+
// statusline, timeout, or missing credentials remains fail-closed.
|
|
546
|
+
if (data.type === "quota" && data.action === "pause" && this.backendOf(name) === "claude-code") {
|
|
547
|
+
const verdict = await this.verifyClaudeQuota();
|
|
548
|
+
if (verdict === "available") {
|
|
549
|
+
this.ctx.logger.debug({ name, backend: "claude-code" }, "quota pattern ignored — live usage has capacity (stale pane history)");
|
|
550
|
+
return;
|
|
551
|
+
}
|
|
552
|
+
if (verdict === "unknown") {
|
|
553
|
+
this.ctx.logger.warn({ name, backend: "claude-code" }, "Claude quota verification failed, degraded, or timed out — pausing conservatively");
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
// Pattern-matched auth errors get a second opinion from the real CLI
|
|
557
|
+
// before any pause/alert: an agent quoting "401 Unauthorized" in prose
|
|
558
|
+
// must not pause the fleet. A working credential ends the incident here.
|
|
559
|
+
if (data.type === "auth_error") {
|
|
560
|
+
const verdict = await this.verifyAuthError(name);
|
|
561
|
+
if (verdict === "valid") {
|
|
562
|
+
this.ctx.logger.info({ name, backend: this.backendOf(name) }, "auth-error pattern ignored — token-free auth check passed (likely conversation text)");
|
|
563
|
+
return;
|
|
564
|
+
}
|
|
565
|
+
}
|
|
310
566
|
const emoji = data.type === "rate_limit" || data.type === "timeout" ? "⏳" : data.type === "auth_error" ? "🔑" : "⚠️";
|
|
567
|
+
const incidentMessage = data.type === "model_error" && this.backendOf(name) === "claude-code"
|
|
568
|
+
? (() => {
|
|
569
|
+
const liveModel = readStatuslineModel(this.ctx.dataDir, name);
|
|
570
|
+
return liveModel
|
|
571
|
+
? t("inst.claude_model_fallback", liveModel)
|
|
572
|
+
: t("inst.claude_model_unavailable");
|
|
573
|
+
})()
|
|
574
|
+
: data.message;
|
|
311
575
|
const notificationTarget = this.ptyErrorNotificationTarget(name);
|
|
312
576
|
// Auth failures are a property of the BACKEND's shared credentials, not of
|
|
313
577
|
// one instance: every instance on that CLI fails at once, and one re-login
|
|
@@ -318,7 +582,7 @@ export class InstanceLifecycle {
|
|
|
318
582
|
this.notifyAuthErrorOnce(name, data.message, notificationTarget);
|
|
319
583
|
}
|
|
320
584
|
else if (notificationTarget) {
|
|
321
|
-
this.notifyIncident(notificationTarget, "pty_error", t("inst.notification", emoji, name,
|
|
585
|
+
this.notifyIncident(notificationTarget, "pty_error", t("inst.notification", emoji, name, incidentMessage, data.action));
|
|
322
586
|
}
|
|
323
587
|
this.ctx.webhookEmit("pty_error", name, { type: data.type, action: data.action, message: data.message });
|
|
324
588
|
// The CLI interrupted itself on this error, so any pending Cancel button is
|
|
@@ -386,7 +650,7 @@ export class InstanceLifecycle {
|
|
|
386
650
|
kind: "fleet-topic",
|
|
387
651
|
backend: backendName,
|
|
388
652
|
model: config.model ?? "default",
|
|
389
|
-
});
|
|
653
|
+
}, this.ctx.spawnGate, this.ctx.stormWindow);
|
|
390
654
|
// Catch errors from daemon internals (e.g. IPC server) to prevent crashing the fleet process
|
|
391
655
|
daemon.on("error", (err) => {
|
|
392
656
|
this.ctx.logger.error({ err, name }, "Daemon emitted error — instance isolated");
|
|
@@ -802,6 +1066,7 @@ export class InstanceLifecycle {
|
|
|
802
1066
|
...(systemPrompt ? { systemPrompt } : {}),
|
|
803
1067
|
...(args.model ? { model: args.model } : {}),
|
|
804
1068
|
...(args.backend ? { backend: args.backend } : {}),
|
|
1069
|
+
...(args.backend_options ? { backend_options: args.backend_options } : {}),
|
|
805
1070
|
...(args.model_failover ? { model_failover: args.model_failover } : {}),
|
|
806
1071
|
...(args.tool_set ? { tool_set: args.tool_set } : {}),
|
|
807
1072
|
...(args.skipPermissions != null ? { skipPermissions: args.skipPermissions } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-lifecycle.js","sourceRoot":"","sources":["../src/instance-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAMhC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxG,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAO1D,gFAAgF;AAChF,MAAM,CAAC,MAAM,yBAAyB,GAAsD;IAC1F,aAAa,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,gDAAgD,EAAE;IAC9F,YAAY,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,6BAA6B,EAAE;IAC1E,UAAU,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,8BAA8B,EAAE;IAC3E,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,wBAAwB,EAAE;IAC7D,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,+CAA+C,EAAE;IAC1F,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,6DAA6D,EAAE;IACtG,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,+CAA+C,EAAE;CACnF,CAAC;AAEF,6EAA6E;AAC7E,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW;IACzC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,SAAS,GAAG,UAAU,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE;gBAC/D,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;gBACnC,OAAO,EAAE,IAAI;aACd,CAAC,CAAC,IAAI,EAAE,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAAC,GAAW,EAAE,OAAe;IAC3E,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,2BAA2B,CAAC;IAC/E,IAAI,GAAG,KAAK,OAAO,CAAC,GAAG;QAAE,OAAO,yCAAyC,CAAC;IAE1E,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9F,IAAI,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO,uBAAuB,CAAC;QACjC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;IAC7E,CAAC;IAED,MAAM,WAAW,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,WAAW,IAAI,uBAAuB,CAAC,WAAW,CAAC,EAAE,CAAC;QACxD,OAAO,2CAA2C,CAAC;IACrD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AA8FD,8EAA8E;AAC9E,MAAM,sBAAsB,GAAG,CAAC,GAAG,MAAM,CAAC;AAE1C,MAAM,OAAO,iBAAiB;IAcR;IAbpB,qDAAqD;IAC5C,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,2EAA2E;IACnE,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IACpD;;;;OAIG;IACK,MAAM,CAAU,4BAA4B,GAAG,EAAE,GAAG,MAAM,CAAC;IACnE,gEAAgE;IACxD,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAErD,YAAoB,GAAqB;QAArB,QAAG,GAAH,GAAG,CAAkB;IAAG,CAAC;IAE7C;;;;;;;;;;;;;OAaG;IACK,cAAc,CAAC,IAAY,EAAE,IAAY,EAAE,IAAY;QAC7D,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,gEAAgE,CAAC,CAAC;YACvG,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,gEAAgE;IACxD,SAAS,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO;eAChD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO;eACvC,aAAa,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACK,mBAAmB,CAAC,IAAY,EAAE,OAAe,EAAE,kBAAkB,GAAG,IAAI;QAClF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,GAAG,GAAG,IAAI,GAAG,sBAAsB,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,iDAAiD,CAAC,CAAC;YAC3F,OAAO;QACT,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAEvC,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;QACrF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM;YACzB,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,mBAAmB,OAAO,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1E,CAAC,CAAC,KAAK,IAAI,OAAO,OAAO,GAAG,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,YAAY,EAClD,MAAM,OAAO,eAAe,KAAK,gHAAgH,CAAC,CAAC;IACvJ,CAAC;IAED;;;;OAIG;IACK,0BAA0B,CAAC,IAAY;QAC7C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,+DAA+D,CAAC,CAAC;QAClG,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACH,sBAAsB,CAAC,IAAY,EAAE,MAA2B;QAC9D,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC;QAChD,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE,IAAkC,EAAE,EAAE;gBAC/E,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;gBACrD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,uBAAuB,CAAC,CAAC;gBAExD,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC;oBAChC,uEAAuE;oBACvE,sEAAsE;oBACtE,qEAAqE;oBACrE,uEAAuE;oBACvE,6CAA6C;oBAC7C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,4DAA4D,CAAC,CAAC;oBAC7F,OAAO;gBACT,CAAC;gBAED,6DAA6D;gBAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACrD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC/F,uDAAuD;oBACvD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClD,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC;wBACnB,GAAG,CAAC,IAAI,CAAC;4BACP,IAAI,EAAE,eAAe;4BACrB,OAAO,EAAE,sCAAsC,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,EAAE,+FAA+F;4BACtK,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;yBACnE,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,MAAM,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;gBAChE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACrC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,IAAI,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,WAAW,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,gCAAgC,CAAC,CAAC;YACjE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC/C,IAAI,WAAW,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACxC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,wBAAwB,IAAI,GAAG,CAAC,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG,EAAE;YAC5C,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC,CAAC;QACrF,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,0BAA0B,IAAI,GAAG,CAAC,CAAC,CAAC;QAExD,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,WAAW,CAAC,KAAK,EAAE,IAAyE,EAAE,EAAE;YAC7H,8EAA8E;YAC9E,6EAA6E;YAC7E,8DAA8D;YAC9D,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9E,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,wDAAwD,CAAC,CAAC;gBAClH,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC;oBAChC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,+DAA+D,CAAC,CAAC;gBAClG,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACxC,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACnC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,kCAAkC,CAAC,CAAC;YACzF,IAAI,CAAC,cAAc,CACjB,IAAI,EACJ,mBAAmB,EACnB,MAAM,IAAI,mEAAmE,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,MAAM,EAAE,CAC5G,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,4BAA4B,IAAI,GAAG,CAAC,CAAC,CAAC;QAE1D,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC,IAAuC,EAAE,EAAE;YACtF,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACjF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,sDAAsD,CAAC,CAAC;YAC/G,IAAI,CAAC,cAAc,CACjB,IAAI,EACJ,oBAAoB,EACpB,MAAM,IAAI,gCAAgC,IAAI,CAAC,OAAO,0EAA0E,CACjI,CAAC;QACJ,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,6BAA6B,IAAI,GAAG,CAAC,CAAC,CAAC;QAE3D,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,EAAE;YACvC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,yCAAyC,CAAC,CAAC;YAC3E,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,IAAI,GAAG,CAAC,CAAC,CAAC;QAEnD,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,IAA0D,EAAE,EAAE;YAC/F,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,mDAAmD,CAAC,CAAC;YACpG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAC1D,4EAA4E;YAC5E,4EAA4E;YAC5E,4EAA4E;YAC5E,yEAAyE;YACzE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAClC,QAAQ,IAAI,gFAAgF;kBAC1F,CAAC,IAAI,CAAC,WAAW;oBACjB,CAAC,CAAC,sDAAsD;oBACxD,CAAC,CAAC,iEAAiE,IAAI,yBAAyB,CAAC,CAAC,CAAC;QACzG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,IAAI,GAAG,CAAC,CAAC,CAAC;QAEjD,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,IAA8C,EAAE,EAAE;YAC1F,wEAAwE;YACxE,2EAA2E;YAC3E,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAC1F,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,EAC9D,kFAAkF,CAAC,CAAC;QACxF,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,0BAA0B,IAAI,GAAG,CAAC,CAAC,CAAC;QAExD,MAAM,CAAC,EAAE,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC,IAAuC,EAAE,EAAE;YACzF,yEAAyE;YACzE,2EAA2E;YAC3E,0EAA0E;YAC1E,4EAA4E;YAC5E,iEAAiE;YACjE,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,GAAG,GAAG,IAAI,GAAG,iBAAiB,CAAC,4BAA4B,EAAE,CAAC;gBAChE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC1F,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EACnD,kHAAkH,CAAC,CAAC;gBACtH,OAAO;YACT,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/E,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,mDAAmD,CAAC,CAAC;YAC3G,wEAAwE;YACxE,oEAAoE;YACpE,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,kBAAkB,EAC1C,QAAQ,IAAI,uBAAuB;kBACjC,CAAC,IAAI,CAAC,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;kBACzD,eAAe,CAAC,CAAC;YACrB,yEAAyE;YACzE,0EAA0E;YAC1E,UAAU;YACV,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAC/C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC;QACrE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,gCAAgC,IAAI,GAAG,CAAC,CAAC,CAAC;QAE9D,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,WAAW,CAAC,KAAK,EAAE,IAAoD,EAAE,EAAE;YACzG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3E,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,oDAAoD,CAAC,CAAC;YAC3H,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,0EAA0E,CAAC,CAAC;gBAC3G,OAAO;YACT,CAAC;YACD,MAAM,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,6BAA6B,IAAI,GAAG,CAAC,CAAC,CAAC;QAE3D,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,IAAqE,EAAE,EAAE;YAC3G,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACvF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAExG,0EAA0E;YAC1E,0EAA0E;YAC1E,sEAAsE;YACtE,oEAAoE;YACpE,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;gBACpE,uBAAuB,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACvD,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACrH,MAAM,kBAAkB,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;YACjE,2EAA2E;YAC3E,2EAA2E;YAC3E,2EAA2E;YAC3E,+DAA+D;YAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC/B,IAAI,kBAAkB;oBAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAC3F,CAAC;iBAAM,IAAI,kBAAkB,EAAE,CAAC;gBAC9B,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,WAAW,EAAE,CAAC,CAAC,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACvH,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAEzG,4EAA4E;YAC5E,oEAAoE;YACpE,2EAA2E;YAC3E,2EAA2E;YAC3E,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAEjC,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC/B,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,yBAAyB;YACnE,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACrC,qEAAqE;gBACrE,0EAA0E;gBAC1E,yEAAyE;gBACzE,yBAAyB;gBACzB,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CACrE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,0BAA0B,CAAC,CAAC,CAAC;YACtE,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBACnC,0EAA0E;gBAC1E,wEAAwE;gBACxE,yEAAyE;gBACzE,yEAAyE;gBACzE,6DAA6D;gBAC7D,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;qBAClB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,yBAAyB,CAAC,CAAC;qBAC5E,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAAE,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACjF,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,oBAAoB,IAAI,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,KAAK,CACT,IAAY,EACZ,MAAsB,EACtB,SAAkB,EAClB,eAA4D;QAE5D,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,oCAAoC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,EAAE,gDAAgD,CAAC,CAAC;YAC9H,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAClD,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5C,0DAA0D;QAC1D,IAAI,CAAC;YAAC,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAErE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAE/D,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,IAAI,aAAa,CAAC;QAE/F,mDAAmD;QACnD,MAAM,YAAY,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,YAAY,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CACnB,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,EACrE,mBAAmB,YAAY,CAAC,MAAM,qBAAqB,CAC5D,CAAC;QACJ,CAAC;QAED,yEAAyE;QACzE,8DAA8D;QAC9D,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,IAAI,WAAW,KAAK,aAAa,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACzF,MAAM,GAAG,GAAG,iHAAiH,CAAC;YAC9H,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;YAC3D,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,IAAI,EACJ,MAAM,EACN,WAAW,EACX,SAAS,EACT,OAAO,EACP,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,SAAS,EACnC,IAAI,CAAC,GAAG,CAAC,MAAM,EACf,eAAe,IAAI;YACjB,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,SAAS;SACjC,CACF,CAAC;QACF,6FAA6F;QAC7F,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAChC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,0CAA0C,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAG/B,MAAM,CAAC,EAAE,CAAC,sBAAsB,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE;YACvD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,IAAI,GAAG,CAAC,CAAC,CAAC;QAE3C,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,IAA0B,EAAE,EAAE;YACtD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,yCAAyC,CAAC,CAAC;YACnG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YAC1B,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAC3E,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,iCAAiC,CAAC,CAAC;YAClE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE1C,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,IAA0C,EAAE,EAAE;YACpF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;YAC7D,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAClF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,qBAAqB,CAAC,CAAC;YACnF,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,gBAAgB,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/E,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,wBAAwB,IAAI,GAAG,CAAC,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAA2C,EAAE,EAAE;YAC1E,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,gFAAgF;QAChF,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,IAA2C,EAAE,EAAE;YAC7E,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,IAA2C,EAAE,EAAE;YAC7E,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC,IAA2C,EAAE,EAAE;YACtF,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACjF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,0DAA0D,CAAC,CAAC;YACtH,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACtE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,yBAAyB,IAAI,GAAG,CAAC,CAAC,CAAC;QAEvD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,0EAA0E;QAC1E,6EAA6E;QAC7E,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAAE,OAAO;YAC3D,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,GAAG,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,wEAAwE;YACxE,0DAA0D;YAC1D,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAAE,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,SAAS,GAAG,MAAM;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,GAAG,CAAC,CAAC;YAC7F,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACzD,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACzC,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY;QACrB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAChD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBAChE,MAAM,YAAY,GAAG,gCAAgC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC7E,IAAI,YAAY,EAAE,CAAC;oBACjB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CACnB,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,EACtD,2BAA2B,GAAG,8DAA8D,CAC7F,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;oBAAC,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,kCAAkC,CAAC,CAAC;oBAAC,CAAC;gBACjI,CAAC;YACH,CAAC;YACD,0EAA0E;YAC1E,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACpD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5D,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;oBAC1D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;oBACvD,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,cAAc,EAAE,EAAE,QAAQ,CAAC,CAAC;oBACzD,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC1B,CAAC;gBACD,IAAI,CAAC;oBAAC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;oBAAC,UAAU,CAAC,YAAY,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YAC5F,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC;gBAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;YACnD,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,8DAA8D;QAC9D,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;YAC3D,IAAI,QAAQ,KAAK,IAAI;gBAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,oCAAoC;QACpC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,qCAAqC,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QAED,qBAAqB;QACrB,8EAA8E;QAC9E,8CAA8C;QAE9C,mFAAmF;QACnF,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtB,iEAAiE;QACjE,uEAAuE;QACvE,uEAAuE;QACvE,mEAAmE;QACnE,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAClD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAC3D,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrB,MAAM,aAAa,GAAG;wBACpB,gBAAgB,EAAE,MAAM,CAAC,iBAAiB;wBAC1C,WAAW;wBACX,YAAY,EAAE,IAAI;wBAClB,UAAU,EAAE;4BACV,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;yBAC1C;qBACF,CAAC;oBACF,OAAO,CAAC,OAAO,CAAC,aAA8D,CAAC,CAAC;oBAChF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,iCAAiC,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,sCAAsC,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,iBAAiB,EAAE,EAAE,mDAAmD,CAAC,CAAC;YACpH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;oBACpE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;oBAChD,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;oBAC5C,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAE;wBACtF,GAAG,EAAE,MAAM,CAAC,eAAe;qBAC5B,CAAC,CAAC;oBACH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,iBAAiB,EAAE,EAAE,sBAAsB,CAAC,CAAC;gBACvF,CAAC;gBAAC,MAAM,CAAC;oBACP,wEAAwE;oBACxE,gGAAgG;oBAChG,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;oBACzD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;oBACrD,IAAI,cAAc,KAAK,YAAY,IAAI,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;wBAC3F,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;wBAChD,MAAM,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;wBACrE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,iBAAiB,EAAE,EAAE,qCAAqC,CAAC,CAAC;oBACtG,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,iBAAiB,EAAE,EAAE,kFAAkF,CAAC,CAAC;oBACnJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,wEAAwE;YACxE,IAAI,CAAC;gBACH,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBACpE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;gBAChD,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;gBAC5C,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;YACrF,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/B,CAAC;QAED,eAAe;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QAED,4BAA4B;QAC5B,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;QAED,oCAAoC;QACpC,OAAO,IAAI,CAAC,GAAG,CAAC,WAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAC3B,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;IACrD,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,YAAY,CAChB,IAAyB,EACzB,OAAkD,EAClD,SAAkB;QAElB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC;QACpC,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjG,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACnF,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;QAEpC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,EAAE,wDAAwD,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QAED,4DAA4D;QAC5D,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,IAAI,EAAE,6BAA6B,SAAS,EAAE,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,yEAAyE;QACzE,0EAA0E;QAC1E,iBAAiB;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC;QAClD,IAAI,SAAS,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;YAC/B,IAAI,QAAgB,CAAC;YACrB,IAAI,CAAC;gBACH,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,IAAI,EAAE,cAAc,SAAS,qBAAqB,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC9D,IAAI,IAAY,CAAC;gBACjB,IAAI,CAAC;oBACH,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,2DAA2D;oBAC3D,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,EAAE,cAAc,SAAS,0CAA0C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnG,OAAO;YACT,CAAC;QACH,CAAC;QAED,oGAAoG;QACpG,IAAI,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;YAC3E,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,IAAI,EAAE,CAAC;iBAC3E,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,SAAS,CAAC,CAAC;YAC7E,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;gBAC1C,OAAO,CAAC;oBACN,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,gBAAgB;oBACxB,IAAI,EAAE,KAAK;oBACX,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;iBACjC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,IAAI,OAAO,GAAG,SAAS,IAAI,EAAE,CAAC;QAC9B,IAAI,YAAgC,CAAC;QACrC,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,EAAE,gDAAgD,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBACpE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;gBAChD,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;gBAE5C,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;gBAE3E,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC;gBACtC,IAAI,UAAU,EAAE,CAAC;oBACf,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;gBACnE,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAU,CAAC,CAAC;oBACtC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBAC9C,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAU,CAAC,EAAE,GAAG,QAAQ,IAAI,UAAU,EAAE,CAAC,CAAC;gBACxE,CAAC;gBAED,IAAI,YAAY,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;oBAClF,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;gBAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;gBAEtC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;gBACxG,CAAC;qBAAM,IAAI,YAAY,EAAE,CAAC;oBACxB,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC5F,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;oBACpC,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;oBACrE,IAAI,UAAU;wBAAE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC9C,MAAM,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC/D,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,mCAAmC,CAAC,CAAC;gBACrG,OAAO,GAAG,YAAY,CAAC;YACzB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,EAAE,8BAA+B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtE,OAAO;YACT,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;YAC3E,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,IAAI,EAAE,CAAC;iBAC3E,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,OAAO,CAAC,CAAC;YAC3E,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;gBAC1C,OAAO,CAAC;oBACN,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,gBAAgB;oBACxB,IAAI,EAAE,KAAK;oBACX,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;iBACjC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,IAAI,cAA2C,CAAC;QAChD,IAAI,eAAmC,CAAC;QAExC,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAU,EAAE,SAAS,CAAC,CAAC;YAExE,sFAAsF;YACtF,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC;YAC1C,MAAM,QAAQ,GAAG,iBAAiB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC,CAAC,CAAC;YACjH,eAAe,GAAG,GAAG,oBAAoB,CAAC,QAAQ,CAAC,KAAK,cAAc,EAAE,CAAC;YACzE,2DAA2D;YAC3D,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;YAE5D,8DAA8D;YAC9D,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;gBAC9D,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YAED,MAAM,cAAc,GAAG;gBACrB,GAAG,uBAAuB;gBAC1B,GAAG,IAAI,CAAC,GAAG,CAAC,WAAY,CAAC,QAAQ;gBACjC,iBAAiB,EAAE,OAAO;gBAC1B,QAAQ,EAAE,cAAc;gBACxB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtC,CAAC;YACpB,0EAA0E;YAC1E,yEAAyE;YACzE,0EAA0E;YAC1E,yEAAyE;YACzE,oDAAoD;YACpD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,IAAI,cAAc,CAAC,OAAO;mBAC1D,CAAC,iBAAiB,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxE,OAAO,cAAc,CAAC,KAAK,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,WAAY,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC;YAClE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;YACvF,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;YAE3B,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;YACxD,MAAM,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;YAErD,OAAO,CAAC;gBACN,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,cAAc;gBACxB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjE,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,4BAA4B;YAC5B,IAAI,eAAe,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,yCAAyC,CAAC,CAAC,CAAC;YACnJ,CAAC;YACD,IAAI,eAAe,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC;gBACxE,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;gBACvD,IAAI,cAAc;oBAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBAChE,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;YAC7B,CAAC;YACD,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;oBACpE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;oBAChD,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;oBAC5C,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;oBAChG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;gBACxE,CAAC;gBAAC,MAAM,CAAC,CAAC,kCAAkC,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,CAAC,SAAS,IAAI,OAAO,EAAE,CAAC;gBACjC,0CAA0C;gBAC1C,IAAI,CAAC;oBACH,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;oBAChD,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtD,CAAC;gBAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;YACvC,CAAC;YACD,OAAO,CAAC,IAAI,EAAE,8BAA+B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,YAAY,CAChB,IAAyB,EACzB,OAAkD;QAElD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC;QAE/C,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QACrE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,EAAE,uBAAuB,YAAY,EAAE,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,IAAI,cAAc,CAAC,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,EAAE,oCAAoC,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QAED,IAAI,WAAW,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC5C,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;wFAEoF;IACpF,KAAK,CAAC,aAAa,CACjB,IAA0B,EAC1B,OAAkD;QAElD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC;QAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,EAAE,uBAAuB,YAAY,EAAE,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACjF,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,EAAE,qCAAqC,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAE9F,wEAAwE;QACxE,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,MAAM,EAAE,CAAC;YACX,eAAe,GAAG,MAAM,CAAC,sBAAsB,EAAE,CAAC;QACpD,CAAC;QAED,oCAAoC;QACpC,MAAM,WAAW,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC;QAErC,iEAAiE;QACjE,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,MAAM,EAAE,CAAC;YAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAAC,CAAC;QAEvF,4EAA4E;QAC5E,IAAI,OAAO,IAAI,IAAI;YAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,WAAY,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAE3B,0EAA0E;QAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,CAAC;YACH,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAChD,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAE7B,yDAAyD;QACzD,MAAM,OAAO,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC;QACpE,MAAM,cAAc,GAAG,EAAE,GAAG,WAAW,EAAoB,CAAC;QAC5D,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,WAAY,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC;YAC1D,IAAI,OAAO,IAAI,IAAI;gBAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7F,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;YAE3B,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;YAChD,MAAM,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAE7C,8EAA8E;YAC9E,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACxD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,WAAW,GAAG,kDAAkD,YAAY,cAAc,MAAM,SAAS,eAAe,uGAAuG,CAAC;oBACtO,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAE,WAAW;wBACpB,IAAI,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;qBAChI,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,OAAO,CAAC;gBACN,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,OAAO;gBACjB,MAAM;gBACN,cAAc,EAAE,eAAe,CAAC,MAAM;aACvC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,uEAAuE;YACvE,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC,GAAG,CAAC,WAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAChD,yDAAyD;YACzD,IAAI,CAAC,GAAG,CAAC,WAAY,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC;YAC5D,IAAI,OAAO,IAAI,IAAI;gBAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;YAClG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,EAAE,+BAAgC,GAAa,CAAC,OAAO,2CAA2C,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,IAAI,EAAE,CAAC;QACxD,KAAK,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACpD,IAAI,MAAM,CAAC,aAAa;gBAAE,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"instance-lifecycle.js","sourceRoot":"","sources":["../src/instance-lifecycle.ts"],"names":[],"mappings":"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"}
|
package/dist/instructions.d.ts
CHANGED
|
@@ -17,4 +17,16 @@ export interface FleetInstructionsParams {
|
|
|
17
17
|
/** CLI mode: inject CLI quick reference instead of MCP tool usage section */
|
|
18
18
|
cliInstructions?: string;
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Compact contract for the MCP server's `instructions` field.
|
|
22
|
+
*
|
|
23
|
+
* Some CLIs truncate MCP instructions aggressively (Claude Code cuts around
|
|
24
|
+
* 2KB), so this variant carries ONLY the rules an agent cannot recover from
|
|
25
|
+
* breaking mid-turn: which tool answers whom, when a turn is over, and the
|
|
26
|
+
* fire-and-queue rule. Everything else — workflow, decisions, collaboration
|
|
27
|
+
* niceties — travels on the additive system-prompt path
|
|
28
|
+
* (fleet-instructions.md), which every backend has and nothing truncates.
|
|
29
|
+
* Keep this under 2048 bytes; tests pin the budget.
|
|
30
|
+
*/
|
|
31
|
+
export declare function buildMcpCoreInstructions(params: FleetInstructionsParams): string;
|
|
20
32
|
export declare function buildFleetInstructions(params: FleetInstructionsParams): string;
|