@perkos/perkos-a2a 0.12.19 → 0.12.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +60 -0
  2. package/dist/agent.js +3 -2
  3. package/dist/agent.js.map +1 -1
  4. package/dist/bridge-agent.js +25 -56
  5. package/dist/bridge-agent.js.map +1 -1
  6. package/dist/bridge-chat-reply.d.ts +14 -1
  7. package/dist/bridge-chat-reply.d.ts.map +1 -1
  8. package/dist/bridge-chat-reply.js +71 -5
  9. package/dist/bridge-chat-reply.js.map +1 -1
  10. package/dist/gateway-health.d.ts +5 -11
  11. package/dist/gateway-health.d.ts.map +1 -1
  12. package/dist/gateway-health.js +53 -15
  13. package/dist/gateway-health.js.map +1 -1
  14. package/dist/hermes-plugin.d.ts +2 -0
  15. package/dist/hermes-plugin.d.ts.map +1 -1
  16. package/dist/hermes-plugin.js +4 -2
  17. package/dist/hermes-plugin.js.map +1 -1
  18. package/dist/index.d.ts +35 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +407 -19
  21. package/dist/index.js.map +3 -3
  22. package/dist/platform-heartbeat.d.ts +26 -0
  23. package/dist/platform-heartbeat.d.ts.map +1 -0
  24. package/dist/platform-heartbeat.js +72 -0
  25. package/dist/platform-heartbeat.js.map +1 -0
  26. package/dist/project-chat-context.d.ts +3 -0
  27. package/dist/project-chat-context.d.ts.map +1 -0
  28. package/dist/project-chat-context.js +16 -0
  29. package/dist/project-chat-context.js.map +1 -0
  30. package/dist/relay-client.d.ts +21 -2
  31. package/dist/relay-client.d.ts.map +1 -1
  32. package/dist/relay-client.js +82 -17
  33. package/dist/relay-client.js.map +1 -1
  34. package/dist/repair-cli.d.ts +3 -0
  35. package/dist/repair-cli.d.ts.map +1 -0
  36. package/dist/repair-cli.js +31 -0
  37. package/dist/repair-cli.js.map +1 -0
  38. package/dist/repair.d.ts +53 -0
  39. package/dist/repair.d.ts.map +1 -0
  40. package/dist/repair.js +357 -0
  41. package/dist/repair.js.map +1 -0
  42. package/dist/server.d.ts.map +1 -1
  43. package/dist/server.js +5 -2
  44. package/dist/server.js.map +1 -1
  45. package/dist/task-context.d.ts +18 -0
  46. package/dist/task-context.d.ts.map +1 -0
  47. package/dist/task-context.js +35 -0
  48. package/dist/task-context.js.map +1 -0
  49. package/dist/types.d.ts +20 -1
  50. package/dist/types.d.ts.map +1 -1
  51. package/dist/types.js.map +1 -1
  52. package/openclaw.plugin.json +28 -1
  53. package/package.json +9 -5
package/dist/repair.js ADDED
@@ -0,0 +1,357 @@
1
+ import { spawn } from "node:child_process";
2
+ import { createHash } from "node:crypto";
3
+ import { mkdtemp, mkdir, readFile, realpath, rename, rm, stat, writeFile } from "node:fs/promises";
4
+ import { homedir, tmpdir } from "node:os";
5
+ import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
6
+ import { fileURLToPath } from "node:url";
7
+ const PROTECTED_PATHS = [
8
+ "agentName",
9
+ "relay.apiKey",
10
+ "relay.url",
11
+ "chat.apiKey",
12
+ "chat.url",
13
+ "platform.agentId",
14
+ "platform.heartbeatUrl",
15
+ "runtime.kind",
16
+ "runtime.sessionKey",
17
+ ];
18
+ function isObject(value) {
19
+ return Boolean(value) && typeof value === "object" && !Array.isArray(value);
20
+ }
21
+ function getAt(value, dotted) {
22
+ return dotted.split(".").reduce((current, key) => isObject(current) ? current[key] : undefined, value);
23
+ }
24
+ function sameValue(left, right) {
25
+ return JSON.stringify(left) === JSON.stringify(right);
26
+ }
27
+ export function normalizeToSchema(value, schema, at = "") {
28
+ if (Array.isArray(value)) {
29
+ const itemSchema = isObject(schema) ? schema.items : undefined;
30
+ const normalized = value.map((item, index) => normalizeToSchema(item, itemSchema, `${at}[${index}]`));
31
+ return { value: normalized.map((item) => item.value), removed: normalized.flatMap((item) => item.removed) };
32
+ }
33
+ if (!isObject(value))
34
+ return { value, removed: [] };
35
+ const rule = isObject(schema) ? schema : {};
36
+ const properties = isObject(rule.properties) ? rule.properties : {};
37
+ const additional = rule.additionalProperties;
38
+ const output = {};
39
+ const removed = [];
40
+ for (const [key, child] of Object.entries(value)) {
41
+ const childPath = at ? `${at}.${key}` : key;
42
+ const childSchema = properties[key] ?? (isObject(additional) ? additional : undefined);
43
+ if (!childSchema) {
44
+ removed.push(childPath);
45
+ continue;
46
+ }
47
+ const normalized = normalizeToSchema(child, childSchema, childPath);
48
+ output[key] = normalized.value;
49
+ removed.push(...normalized.removed);
50
+ }
51
+ return { value: output, removed };
52
+ }
53
+ function assertProtected(before, after) {
54
+ for (const dotted of PROTECTED_PATHS) {
55
+ const oldValue = getAt(before, dotted);
56
+ if (oldValue !== undefined && !sameValue(oldValue, getAt(after, dotted))) {
57
+ throw new Error(`migration changed protected field: ${dotted}`);
58
+ }
59
+ }
60
+ }
61
+ async function pathExists(path) {
62
+ try {
63
+ await stat(path);
64
+ return true;
65
+ }
66
+ catch {
67
+ return false;
68
+ }
69
+ }
70
+ async function atomicWriteJson(path, value) {
71
+ const temporary = `${path}.perkos-repair-${process.pid}.tmp`;
72
+ await writeFile(temporary, `${JSON.stringify(value, null, 2)}\n`, { mode: 0o600 });
73
+ await rename(temporary, path);
74
+ }
75
+ function parseJsonOutput(output) {
76
+ const trimmed = output.trim();
77
+ if (!trimmed)
78
+ throw new Error("command returned no JSON");
79
+ try {
80
+ return JSON.parse(trimmed);
81
+ }
82
+ catch {
83
+ const lines = trimmed.split(/\n/u).reverse();
84
+ for (const line of lines) {
85
+ try {
86
+ return JSON.parse(line);
87
+ }
88
+ catch { /* keep looking */ }
89
+ }
90
+ throw new Error("command returned invalid JSON");
91
+ }
92
+ }
93
+ function findScalar(value, keys) {
94
+ if (!isObject(value))
95
+ return undefined;
96
+ for (const [key, child] of Object.entries(value)) {
97
+ if (keys.has(key) && (typeof child === "string" || typeof child === "number"))
98
+ return child;
99
+ }
100
+ for (const child of Object.values(value)) {
101
+ const found = findScalar(child, keys);
102
+ if (found !== undefined)
103
+ return found;
104
+ }
105
+ return undefined;
106
+ }
107
+ function processIdentity(status) {
108
+ const pidValue = findScalar(status, new Set(["pid", "processId"]));
109
+ const startValue = findScalar(status, new Set(["startedAt", "startTime", "started", "processStartTime"]));
110
+ return {
111
+ pid: typeof pidValue === "number" ? pidValue : typeof pidValue === "string" && /^\d+$/u.test(pidValue) ? Number(pidValue) : undefined,
112
+ startTime: typeof startValue === "string" ? startValue : undefined,
113
+ };
114
+ }
115
+ async function processIdentityWithStart(run, status) {
116
+ const identity = processIdentity(status);
117
+ if (identity.pid === undefined || identity.startTime)
118
+ return identity;
119
+ const ps = await run("ps", ["-o", "lstart=", "-p", String(identity.pid)]);
120
+ const startTime = ps.code === 0 ? ps.stdout.trim() : "";
121
+ return startTime ? { ...identity, startTime } : identity;
122
+ }
123
+ function processChanged(before, after) {
124
+ if (before.pid !== undefined && after.pid !== undefined)
125
+ return before.pid !== after.pid;
126
+ if (before.startTime && after.startTime)
127
+ return before.startTime !== after.startTime;
128
+ return false;
129
+ }
130
+ function logTextSince(output, startedAt) {
131
+ return output.split(/\n/u).filter(Boolean).flatMap((line) => {
132
+ try {
133
+ const parsed = JSON.parse(line);
134
+ if (isObject(parsed)) {
135
+ const rawTime = parsed.time ?? parsed.timestamp ?? parsed.ts;
136
+ const timestamp = typeof rawTime === "number" ? rawTime : typeof rawTime === "string" ? Date.parse(rawTime) : Number.NaN;
137
+ if (!Number.isFinite(timestamp))
138
+ return [];
139
+ const milliseconds = timestamp < 10_000_000_000 ? timestamp * 1_000 : timestamp;
140
+ if (milliseconds < startedAt - 2_000)
141
+ return [];
142
+ return [String(parsed.message ?? parsed.raw ?? parsed.text ?? line)];
143
+ }
144
+ }
145
+ catch { /* plain log line */ }
146
+ return [];
147
+ }).join("\n");
148
+ }
149
+ export function postRestartStateFromLogs(output, agentName, startedAt) {
150
+ return verifyLogState(logTextSince(output, startedAt), agentName);
151
+ }
152
+ function verifyLogState(text, agentName) {
153
+ return {
154
+ connected: text.includes("Connected to relay hub"),
155
+ registered: text.includes("Registered with relay hub"),
156
+ heartbeat200: /\[perkos-heartbeat\].*status=200/u.test(text),
157
+ chatAuthed: text.includes(`[perkos-chat] authed as agent:${agentName}`),
158
+ duplicatePlugin: text.toLowerCase().includes("duplicate plugin id detected"),
159
+ duplicateRegistration: text.toLowerCase().includes("duplicate registration replaced"),
160
+ };
161
+ }
162
+ export const defaultCommandRunner = (command, args) => new Promise((resolveResult, reject) => {
163
+ const child = spawn(command, args, { stdio: ["ignore", "pipe", "pipe"] });
164
+ let stdout = "";
165
+ let stderr = "";
166
+ child.stdout.on("data", (chunk) => { stdout += String(chunk); });
167
+ child.stderr.on("data", (chunk) => { stderr += String(chunk); });
168
+ child.once("error", reject);
169
+ child.once("close", (code) => resolveResult({ code: code ?? 1, stdout, stderr }));
170
+ });
171
+ async function mustRun(run, command, args, label) {
172
+ const result = await run(command, args);
173
+ if (result.code !== 0)
174
+ throw new Error(`${label} failed: ${(result.stderr || result.stdout).trim().slice(0, 500)}`);
175
+ return result;
176
+ }
177
+ function openClawConfig(document) {
178
+ const plugins = document.plugins;
179
+ const entries = isObject(plugins) ? plugins.entries : undefined;
180
+ const entry = isObject(entries) ? entries["perkos-a2a"] : undefined;
181
+ const config = isObject(entry) ? entry.config : undefined;
182
+ if (!isObject(config))
183
+ throw new Error("existing PerkOS plugin config is missing");
184
+ return config;
185
+ }
186
+ function replacePluginEntry(document, config, enabled) {
187
+ if (!isObject(document.plugins))
188
+ document.plugins = {};
189
+ const plugins = document.plugins;
190
+ if (!isObject(plugins.entries))
191
+ plugins.entries = {};
192
+ const entries = plugins.entries;
193
+ const previous = isObject(entries["perkos-a2a"]) ? entries["perkos-a2a"] : {};
194
+ entries["perkos-a2a"] = { ...previous, enabled, config };
195
+ }
196
+ function assertIdentity(config, expectedName, expectedId) {
197
+ if (config.agentName !== expectedName)
198
+ throw new Error("configured agentName does not match this invitation");
199
+ const agentId = getAt(config, "platform.agentId");
200
+ const heartbeatUrl = String(getAt(config, "platform.heartbeatUrl") ?? "");
201
+ if (agentId !== expectedId && !heartbeatUrl.includes(`/agents/${expectedId}/heartbeat`)) {
202
+ throw new Error("configured agentId does not match this invitation");
203
+ }
204
+ if (!getAt(config, "relay.apiKey"))
205
+ throw new Error("relay credential is missing");
206
+ }
207
+ function assertUnder(parent, child) {
208
+ const rel = relative(parent, child);
209
+ if (rel === "" || (!rel.startsWith(`..${sep}`) && rel !== ".." && !isAbsolute(rel)))
210
+ return;
211
+ throw new Error("managed install escaped the OpenClaw npm root");
212
+ }
213
+ async function wait(ms) {
214
+ await new Promise((resolvePromise) => setTimeout(resolvePromise, ms));
215
+ }
216
+ export async function repairOpenClaw(options, run = defaultCommandRunner) {
217
+ const openclaw = options.openclawBin ?? "openclaw";
218
+ const stateDir = resolve(options.stateDir ?? process.env.OPENCLAW_STATE_DIR ?? join(homedir(), ".openclaw"));
219
+ const configPath = resolve(options.configPath ?? process.env.OPENCLAW_CONFIG_PATH ?? join(stateDir, "openclaw.json"));
220
+ const artifactPath = resolve(options.artifactPath);
221
+ const packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..");
222
+ const manifestPath = join(packageRoot, "openclaw.plugin.json");
223
+ const manifest = JSON.parse(await readFile(manifestPath, "utf8"));
224
+ const version = String(manifest.version ?? "unknown");
225
+ if (manifest.id !== "perkos-a2a" || !isObject(manifest.configSchema))
226
+ throw new Error("repair CLI manifest/schema is invalid");
227
+ if (!await pathExists(artifactPath))
228
+ throw new Error("verified plugin artifact is missing");
229
+ const artifactDigest = createHash("sha256").update(await readFile(artifactPath)).digest("hex");
230
+ if (artifactDigest !== options.artifactSha256.toLowerCase())
231
+ throw new Error(`plugin artifact checksum mismatch: ${artifactDigest}`);
232
+ const migrationDir = await mkdtemp(join(tmpdir(), "perkos-a2a-repair-"));
233
+ const backupRoot = join(stateDir, "perkos-migration-backups");
234
+ await mkdir(backupRoot, { recursive: true, mode: 0o700 });
235
+ const backupPath = join(migrationDir, "openclaw.before.json");
236
+ const legacyExtension = join(stateDir, "extensions", "perkos-a2a");
237
+ const quarantinePath = join(backupRoot, `perkos-a2a-extension-${Date.now()}`);
238
+ const originalRaw = await readFile(configPath, "utf8");
239
+ let document;
240
+ try {
241
+ document = JSON.parse(originalRaw);
242
+ }
243
+ catch {
244
+ throw new Error("OpenClaw config must be strict JSON for safe automatic repair");
245
+ }
246
+ const before = structuredClone(openClawConfig(document));
247
+ await writeFile(backupPath, originalRaw, { mode: 0o600 });
248
+ const normalized = normalizeToSchema(before, manifest.configSchema);
249
+ if (!isObject(normalized.value))
250
+ throw new Error("normalized PerkOS config is invalid");
251
+ assertProtected(before, normalized.value);
252
+ assertIdentity(normalized.value, options.expectedAgentName, options.expectedAgentId);
253
+ let quarantined = false;
254
+ let committed = false;
255
+ try {
256
+ replacePluginEntry(document, {}, false);
257
+ await atomicWriteJson(configPath, document);
258
+ if (await pathExists(legacyExtension)) {
259
+ const legacyManifest = JSON.parse(await readFile(join(legacyExtension, "openclaw.plugin.json"), "utf8"));
260
+ if (legacyManifest.id !== "perkos-a2a")
261
+ throw new Error("refusing to quarantine a non-PerkOS extension");
262
+ await rename(legacyExtension, quarantinePath);
263
+ quarantined = true;
264
+ }
265
+ await mustRun(run, openclaw, ["plugins", "install", `npm-pack:${artifactPath}`, "--force"], "managed plugin install");
266
+ const inspectResult = await mustRun(run, openclaw, ["plugins", "inspect", "perkos-a2a", "--json"], "plugin inspection");
267
+ const inspect = parseJsonOutput(inspectResult.stdout);
268
+ if (!isObject(inspect))
269
+ throw new Error("plugin inspection result is invalid");
270
+ const plugin = isObject(inspect.plugin) ? inspect.plugin : {};
271
+ const install = isObject(inspect.install) ? inspect.install : {};
272
+ if (plugin.id !== "perkos-a2a" || install.artifactKind !== "npm-pack" || typeof install.installPath !== "string" || typeof plugin.rootDir !== "string") {
273
+ throw new Error("managed npm install was not recorded");
274
+ }
275
+ const npmRoot = await realpath(join(stateDir, "npm"));
276
+ const managedPath = await realpath(install.installPath);
277
+ const activeRoot = await realpath(plugin.rootDir);
278
+ assertUnder(npmRoot, managedPath);
279
+ if (activeRoot !== managedPath)
280
+ throw new Error("PerkOS is still loading from a non-managed plugin source");
281
+ const installedManifest = JSON.parse(await readFile(join(managedPath, "openclaw.plugin.json"), "utf8"));
282
+ if (installedManifest.id !== "perkos-a2a" || installedManifest.version !== version)
283
+ throw new Error("installed plugin version does not match repair CLI");
284
+ const currentRaw = await readFile(configPath, "utf8");
285
+ const currentDocument = JSON.parse(currentRaw);
286
+ replacePluginEntry(currentDocument, normalized.value, true);
287
+ await atomicWriteJson(configPath, currentDocument);
288
+ await mustRun(run, openclaw, ["config", "validate"], "config validation");
289
+ const doctor = await mustRun(run, openclaw, ["plugins", "doctor"], "plugin doctor");
290
+ const doctorText = `${doctor.stdout}\n${doctor.stderr}`.toLowerCase();
291
+ if (doctorText.includes("duplicate plugin id detected"))
292
+ throw new Error("duplicate plugin source remains after migration");
293
+ committed = true;
294
+ const emptyPostRestart = verifyLogState("", options.expectedAgentName);
295
+ const restartResult = { requested: false, verified: false };
296
+ let postRestart = emptyPostRestart;
297
+ if (!options.skipRestart) {
298
+ const beforeStatusResult = await mustRun(run, openclaw, ["gateway", "status", "--json"], "pre-restart gateway status");
299
+ const beforeStatus = await processIdentityWithStart(run, parseJsonOutput(beforeStatusResult.stdout));
300
+ restartResult.beforePid = beforeStatus.pid;
301
+ restartResult.beforeStartTime = beforeStatus.startTime;
302
+ const restartStartedAt = Date.now();
303
+ await mustRun(run, openclaw, ["gateway", "restart", "--safe", "--skip-deferral", "--json"], "gateway restart");
304
+ restartResult.requested = true;
305
+ const deadline = Date.now() + (options.timeoutMs ?? 90_000);
306
+ let recentLogs = "";
307
+ while (Date.now() < deadline) {
308
+ await wait(options.pollIntervalMs ?? 2_000);
309
+ const status = await run(openclaw, ["gateway", "status", "--json", "--require-rpc"]);
310
+ if (status.code !== 0)
311
+ continue;
312
+ const afterStatus = await processIdentityWithStart(run, parseJsonOutput(status.stdout));
313
+ restartResult.afterPid = afterStatus.pid;
314
+ restartResult.afterStartTime = afterStatus.startTime;
315
+ restartResult.verified = processChanged(beforeStatus, afterStatus);
316
+ const logs = await run(openclaw, ["logs", "--json", "--limit", "1000", "--max-bytes", "2000000"]);
317
+ if (logs.code === 0)
318
+ recentLogs = logs.stdout;
319
+ postRestart = postRestartStateFromLogs(recentLogs, options.expectedAgentName, restartStartedAt);
320
+ if (restartResult.verified && postRestart.connected && postRestart.registered && postRestart.heartbeat200 && postRestart.chatAuthed && !postRestart.duplicatePlugin && !postRestart.duplicateRegistration)
321
+ break;
322
+ }
323
+ if (!restartResult.verified)
324
+ throw new Error("gateway restart was not verified by a new PID/start time");
325
+ if (!postRestart.connected || !postRestart.registered || !postRestart.heartbeat200 || !postRestart.chatAuthed || postRestart.duplicatePlugin || postRestart.duplicateRegistration) {
326
+ throw new Error(`post-restart verification failed: ${JSON.stringify(postRestart)}`);
327
+ }
328
+ }
329
+ return {
330
+ ok: true,
331
+ version,
332
+ artifactVerified: true,
333
+ source: "managed-npm",
334
+ normalized: true,
335
+ removedUnsupportedPaths: normalized.removed,
336
+ quarantinedLegacyExtension: quarantined,
337
+ configValid: true,
338
+ pluginDoctorClean: true,
339
+ restart: restartResult,
340
+ postRestart,
341
+ };
342
+ }
343
+ catch (error) {
344
+ if (!committed) {
345
+ await writeFile(configPath, originalRaw, { mode: 0o600 });
346
+ if (quarantined && await pathExists(quarantinePath) && !await pathExists(legacyExtension)) {
347
+ await mkdir(dirname(legacyExtension), { recursive: true });
348
+ await rename(quarantinePath, legacyExtension);
349
+ }
350
+ }
351
+ throw error;
352
+ }
353
+ finally {
354
+ await rm(migrationDir, { recursive: true, force: true });
355
+ }
356
+ }
357
+ //# sourceMappingURL=repair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repair.js","sourceRoot":"","sources":["../src/repair.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -218,6 +218,7 @@ export class A2AServer {
218
218
  messages: [message],
219
219
  artifacts: [],
220
220
  metadata: {
221
+ ...message?.metadata,
221
222
  fromAgent: message?.metadata?.fromAgent || "unknown",
222
223
  },
223
224
  sessionKeyHint: "agent:main",
@@ -490,9 +491,9 @@ export class A2AServer {
490
491
  const payload = msg.payload;
491
492
  const params = payload.params || payload;
492
493
  const rpcId = payload.id || msg.id;
493
- const acceptQueued = params?.message?.metadata?.acceptQueued === true;
494
494
  this.handleSendMessage(params, rpcId).then(async (response) => {
495
495
  const task = response.result;
496
+ const acceptQueued = task?.messages?.[0]?.metadata?.acceptQueued === true;
496
497
  if (task?.id && !isTerminalTaskState(task.status?.state)) {
497
498
  // Dispatchers only need proof that the runtime accepted the work.
498
499
  // Send the current non-terminal task once, then still forward the
@@ -512,7 +513,9 @@ export class A2AServer {
512
513
  return;
513
514
  }
514
515
  }
515
- this.relayClient?.sendTaskResponse(msg, response);
516
+ if (!acceptQueued) {
517
+ this.relayClient?.sendTaskResponse(msg, response);
518
+ }
516
519
  }).catch((err) => {
517
520
  const errMsg = err instanceof Error ? err.message : String(err);
518
521
  this.logger.error(`[perkos-a2a] Failed to process relay task: ${errMsg}`);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAuBzD,SAAS,cAAc,CAAC,IAAU,EAAE,IAAY;IAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAClB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,UAAU,EAAE;QACxB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KAChC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACjC,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;IAC5B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAyB,CAAC;QAClH,OAAO,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAOpC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACvC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,mCAAmC,EAAE;YAC3D,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEtE,0EAA0E;IAC1E,sFAAsF;IACtF,MAAM,YAAY,GAAG,KAAK,CAAC;IAC3B,MAAM,WAAW,GAAkB,IAAI,CAAC;IAExC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,OAAO,SAAS;IACZ,GAAG,CAAkB;IACrB,KAAK,GAAsB,IAAI,GAAG,EAAE,CAAC;IACrC,SAAS,CAAY;IACrB,MAAM,CAAkB;IACxB,MAAM,CAA8E;IACpF,UAAU,GAAG,KAAK,CAAC;IACnB,WAAW,GAAuB,IAAI,CAAC;IACvC,QAAQ,GAAoB,IAAI,CAAC;IACjC,eAAe,GAAwE,IAAI,CAAC;IAC5F,iBAAiB,GAA6B,IAAI,CAAC;IACnD,kBAAkB,GAA8B,IAAI,CAAC;IACrD,mBAAmB,GAAiC,IAAI,CAAC;IAEjE,YACE,MAAuB,EACvB,MAAoF;QAEpF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QACpE,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAE7B,IAAI,CAAC,SAAS,GAAG;YACf,IAAI,EAAE,MAAM,CAAC,SAAS;YACtB,WAAW,EAAE,iBAAiB,MAAM,CAAC,SAAS,EAAE;YAChD,eAAe,EAAE,OAAO;YACxB,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,oBAAoB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc;YACjG,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;YAC3B,YAAY,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE;YAC1C,iBAAiB,EAAE,CAAC,MAAM,CAAC;YAC3B,kBAAkB,EAAE,CAAC,MAAM,CAAC;SAC7B,CAAC;QAEF,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,2EAA2E;IAC3E,kBAAkB,CAAC,QAAoE;QACrF,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;IAClC,CAAC;IAED,oBAAoB,CAAC,OAAiC;QACpD,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;IACnC,CAAC;IAED,qBAAqB,CAAC,OAAkC;QACtD,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;IACpC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED,qBAAqB,CAAC,MAAyE;QAC7F,IAAI,CAAC,mBAAmB,GAAG;YACzB,GAAG,MAAM;YACT,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACxD,CAAC;IACJ,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC;IAClD,CAAC;IAEO,cAAc;QACpB,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC;gBACrC,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GACV,GAAG,CAAC,OAAO,CAAC,WAAW,CAAW;gBAClC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;gBACvD,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAY,CAAC;YAElC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,0CAA0C,EAAE,CAAC,CAAC;gBAC5E,OAAO;YACT,CAAC;YAED,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAEO,WAAW;QACjB,sCAAsC;QACtC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACzD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACpC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,SAAS,CAAC;YAC3D,MAAM,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,iBAAiB,IAAI,WAAW,KAAK,MAAM,CAAC,CAAC;YACpH,MAAM,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxG,GAAG,CAAC,IAAI,CAAC;gBACP,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAC5B,QAAQ,EAAE,KAAK;gBACf,cAAc,EAAE,eAAe;gBAC/B,eAAe,EAAE,gBAAgB;gBACjC,OAAO,EAAE,eAAe;gBACxB,WAAW;gBACX,yBAAyB;gBACzB,wBAAwB;gBACxB,qBAAqB,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,yBAAyB,CAAC;gBAC5H,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBACrC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gBAC1B,cAAc,EAAE,IAAI,CAAC,gBAAgB,EAAE;gBACvC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG;aACjC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,sBAAsB;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEnC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACrD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YACxC,IAAI,CAAC;gBACH,IAAI,MAAuB,CAAC;gBAC5B,QAAQ,MAAM,EAAE,CAAC;oBACf,KAAK,cAAc;wBACjB,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;wBAClD,MAAM;oBACR,KAAK,WAAW;wBACd,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;wBACxC,MAAM;oBACR,KAAK,YAAY;wBACf,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;wBAClC,MAAM;oBACR,KAAK,cAAc;wBACjB,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;wBAC3C,MAAM;oBACR,KAAK,YAAY;wBACf,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC1C,MAAM;oBACR;wBACE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,qBAAqB,MAAM,EAAE,CAAC,CAAC;gBACnE,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;gBACpD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACxC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YACnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAClD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACpD,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,MAA+B,EAC/B,KAAa;QAEb,MAAM,OAAO,GAAG,MAAM,CAAC,OAAkB,CAAC;QAC1C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,CAAC;QAErD,MAAM,IAAI,GAAS;YACjB,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,MAAM;YACV,SAAS;YACT,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;YACnE,QAAQ,EAAE,CAAC,OAAO,CAAC;YACnB,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE;gBACR,SAAS,EAAG,OAAO,EAAE,QAAQ,EAAE,SAAoB,IAAI,SAAS;aACjE;YACD,cAAc,EAAE,YAAY;SAC7B,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,qBAAqB,MAAM,kBAAkB,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,CACxE,CAAC;QAEF,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAAU;QAClC,IAAI,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QACxE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ;aAC5B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;aAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,IAAI,CAAC;YACH,+CAA+C;YAC/C,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE;oBAC9B,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS;oBACnC,MAAM,EAAE,IAAI,CAAC,EAAE;iBAChB,CAAC,CAAC;gBACH,cAAc,CAAC,IAAI,EAAE,4CAA4C,CAAC,CAAC;gBACnE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,0BAA0B;gBAC1B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM,OAAO,GAAI,IAAI,CAAC,MAAc,CAAC,aAAa;uBAC7C,GAAG,OAAO,EAAE,6BAA6B,CAAC;gBAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7C,CAAC;gBAED,MAAM,QAAQ,GAAG,GAAG,OAAO,aAAa,IAAI,CAAC,EAAE,KAAK,CAAC;gBACrD,MAAM,OAAO,GAAG;oBACd,YAAY;oBACZ,EAAE;oBACF,aAAa,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE;oBACvC,gBAAgB,IAAI,CAAC,EAAE,EAAE;oBACzB,aAAa,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;oBACvC,EAAE;oBACF,YAAY;oBACZ,EAAE;oBACF,SAAS;oBACT,EAAE;iBACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEb,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAEpC,cAAc,CAAC,IAAI,EAAE,gBAAgB,QAAQ,EAAE,CAAC,CAAC;gBACjD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,GAAG;oBACZ,KAAK,EAAE,WAAW;oBAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,GAAG;oBACZ,KAAK,EAAE,QAAQ;oBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,OAAO,EAAE;wBACP,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;qBACrC;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,EAAE,YAAY,GAAG,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAEO,aAAa,CACnB,MAA+B,EAC/B,KAAa;QAEb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAY,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAEO,eAAe,CAAC,KAAa;QACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACxF,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;YACtC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CACzC,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAEO,gBAAgB,CACtB,MAA+B,EAC/B,KAAa;QAEb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAY,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAC3D,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,qBAAqB,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,0EAA0E;IAC1E,KAAK,CAAC,QAAQ,CACZ,WAAmB,EACnB,WAAmB;QAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEjD,kDAAkD;QAClD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YACxE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,+CAA+C;gBAC/C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;oBACrC,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,+BAA+B,WAAW,gCAAgC,CAC3E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,YAAY;QACZ,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,IAAI,KAAK,CACb,gBAAgB,WAAW,sDAAsD;YACjF,gBAAgB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5D,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,WAAmB,EACnB,SAAiB,EACjB,WAAmB;QAEnB,MAAM,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;QAE/E,gDAAgD;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;QAClC,CAAC;QAED,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,cAAc;YACtB,EAAE,EAAE,UAAU,EAAE;YAChB,MAAM,EAAE;gBACN,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,UAAU,EAAE;oBACvB,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;oBAC5C,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;iBAC/C;aACF;SACF,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,SAAS,cAAc,EAAE;YACvD,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;QAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,MAA0B,CAAC;QAChD,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC/F,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,WAAW,SAAS,IAAI,CAAC,EAAE,2BAA2B,GAAG,EAAE,CAAC,CAAC;gBAC1G,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACH,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;QAChC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACrC,SAAiB,EACjB,OAA+B,EAC/B,MAAc,EACd,SAAS,GAAG,MAAM,EAClB,MAAM,GAAG,KAAK;QAEd,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,SAAS,cAAc,EAAE;gBACvD,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,WAAW;oBACnB,EAAE,EAAE,UAAU,EAAE;oBAChB,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;iBACvB,CAAC;aACH,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,MAA0B,CAAC;YAC7C,IAAI,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;QACnE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,MAAc;IACd,oEAAoE;IACpE,qEAAqE;IACrE,iEAAiE;IACjE,mEAAmE;IACnE,2DAA2D;IAC3D,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,OAAO,EAC3D,MAAM,GAAG,KAAK;QAEd,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;gBACpD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,WAAmB,EACnB,WAAmB;QAEnB,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAY,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC3D,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,cAAc;YACtB,EAAE,EAAE,KAAK;YACT,MAAM,EAAE;gBACN,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,UAAU,EAAE;oBACvB,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;oBAC5C,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;iBAC/C;aACF;SACF,CAAC,CAAC;QAEH,OAAQ,MAAM,CAAC,OAAsC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/F,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,aAAa;QAGjB,MAAM,OAAO,GAAyD,EAAE,CAAC;QAEzE,wBAAwB;QACxB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,8BAA8B,EAAE;oBAC1D,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;iBAClC,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAc,EAAE,CAAC;YAC5E,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YACxC,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACtD,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;oBAChC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS;wBAAE,SAAS;oBACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACrC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC/C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;4BACpB,MAAM,EAAE,QAAQ;4BAChB,IAAI,EAAE,KAAK,CAAC,IAAI;yBACjB,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,OAAO,CAAC,EAAU,EAAE,MAAe;QACzC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,EAAU,EAAE,IAAY,EAAE,OAAe;QACrD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;IAC1D,CAAC;IAED,oDAAoD;IAC5C,eAAe,CAAC,GAAiB;QACvC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAc,CAAC;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC;QACzC,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;QAEtE,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC5D,MAAM,IAAI,GAAG,QAAQ,CAAC,MAA0B,CAAC;YACjD,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;gBACzD,kEAAkE;gBAClE,kEAAkE;gBAClE,gEAAgE;gBAChE,oEAAoE;gBACpE,sCAAsC;gBACtC,IAAI,YAAY,EAAE,CAAC;oBACjB,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAChC,GAAG,EACH,QAA8C,CAC/C,CAAC;gBACJ,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC1E,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,IAAI,CAAC,EAAE,2BAA2B,MAAM,EAAE,CAAC,CAAC;oBACpG,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,GAAG,EAAE,QAA8C,CAAC,CAAC;oBACxF,OAAO;gBACT,CAAC;YACH,CAAC;YACD,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,GAAG,EAAE,QAA8C,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACf,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,MAAM,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAuC,CAAC,CAAC;QACnH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE,GAAG;YAAE,OAAO;QAE3C,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC;YACjC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAChC,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;YAC1C,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IACpF,CAAC;IAEO,aAAa;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAC1B;YACE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI;YACpD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE;YACzE,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,gBAAgB,IAAI,EAAE;YAC3D,gBAAgB,EAAE,GAAG;YACrB,kBAAkB,EAAE,EAAE;YACtB,mBAAmB,EAAE,MAAM;YAC3B,kBAAkB,EAAE,MAAM;SAC3B,EACD,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC;QAExC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,yGAAyG,CAC1G,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,uCAAuC;QACvC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,gBAAgB,EAAE,CAAC;YACrC,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;gBACzC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sEAAsE,CACvE,CAAC;oBACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,4GAA4G,CAC7G,CAAC;oBACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACzB,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,mDAAmD,GAAG,CAAC,WAAW,qBAAqB,CACxF,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wCAAwC;QAC1C,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEO,SAAS,CAAC,IAAY,EAAE,OAAO,GAAG,CAAC;QACzC,MAAM,WAAW,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,SAAS,CAAC;YACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE;gBAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,gBAAgB,IAAI,CAAC,MAAM,CAAC,SAAS,cAAc,QAAQ,IAAI,IAAI,EAAE,CACtE,CAAC;gBACF,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,oBAAoB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC;YAClH,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;gBAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;oBACvD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC;oBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,mBAAmB,QAAQ,EAAE,CAAC,CAAC;oBACzE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;gBACxC,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sBAAsB,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,gDAAgD,CAC/F,CAAC;oBACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { Task } from "./types.js";
2
+ export type PerkOSTaskContext = {
3
+ wallet: string;
4
+ convId: string;
5
+ };
6
+ /**
7
+ * Read the board scope attached by the trusted PerkOS dispatcher.
8
+ *
9
+ * A shared MiniPay fleet agent is owned by the fleet wallet but works on a
10
+ * board owned by the end user. The dispatcher carries that board scope through
11
+ * A2A so the bridge can mint a short-lived Tools token for the correct wallet.
12
+ * Never trust this scope from arbitrary A2A peers: only the configured
13
+ * dispatcher relay identity may activate it.
14
+ */
15
+ export declare function perkosTaskContext(task: Pick<Task, "metadata">, trustedDispatcher?: string): PerkOSTaskContext | undefined;
16
+ /** Prefix that lets Hermes' existing perkos_tools helper discover convId. */
17
+ export declare function boardContextPrompt(context: PerkOSTaskContext): string;
18
+ //# sourceMappingURL=task-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-context.d.ts","sourceRoot":"","sources":["../src/task-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAC5B,iBAAiB,SACyD,GACzE,iBAAiB,GAAG,SAAS,CAa/B;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAMrE"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Read the board scope attached by the trusted PerkOS dispatcher.
3
+ *
4
+ * A shared MiniPay fleet agent is owned by the fleet wallet but works on a
5
+ * board owned by the end user. The dispatcher carries that board scope through
6
+ * A2A so the bridge can mint a short-lived Tools token for the correct wallet.
7
+ * Never trust this scope from arbitrary A2A peers: only the configured
8
+ * dispatcher relay identity may activate it.
9
+ */
10
+ export function perkosTaskContext(task, trustedDispatcher = process.env.PERKOS_DISPATCHER_AGENT_NAME || "perkos-ci-probe-dispatcher") {
11
+ const metadata = task.metadata;
12
+ if (metadata?.fromAgent !== trustedDispatcher)
13
+ return undefined;
14
+ const raw = metadata.perkosBoard;
15
+ if (!raw || typeof raw !== "object")
16
+ return undefined;
17
+ const value = raw;
18
+ if (typeof value.wallet !== "string" || typeof value.convId !== "string") {
19
+ return undefined;
20
+ }
21
+ const wallet = value.wallet.trim().toLowerCase();
22
+ const convId = value.convId.trim();
23
+ if (!/^0x[0-9a-f]{40}$/.test(wallet) || !convId)
24
+ return undefined;
25
+ return { wallet, convId };
26
+ }
27
+ /** Prefix that lets Hermes' existing perkos_tools helper discover convId. */
28
+ export function boardContextPrompt(context) {
29
+ return [
30
+ `[PERKOS_CHAT:${context.convId}]`,
31
+ `PerkOS board wallet: ${context.wallet}`,
32
+ "Use this conversation id when your PerkOS board tools request a short-lived token.",
33
+ ].join("\n");
34
+ }
35
+ //# sourceMappingURL=task-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-context.js","sourceRoot":"","sources":["../src/task-context.ts"],"names":[],"mappings":"AAOA;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAA4B,EAC5B,iBAAiB,GACf,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,4BAA4B;IAE1E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,IAAI,QAAQ,EAAE,SAAS,KAAK,iBAAiB;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC;IACjC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,KAAK,GAAG,GAA6C,CAAC;IAC5D,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAClE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,kBAAkB,CAAC,OAA0B;IAC3D,OAAO;QACL,gBAAgB,OAAO,CAAC,MAAM,GAAG;QACjC,wBAAwB,OAAO,CAAC,MAAM,EAAE;QACxC,oFAAoF;KACrF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}