@agentkey/mcp 0.0.6 → 0.0.10
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/dist/dynamic.d.ts +1 -1
- package/dist/dynamic.js +120 -21
- package/dist/dynamic.js.map +1 -1
- package/dist/index.js +274 -124
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/dynamic.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
9
9
|
export interface ToolParam {
|
|
10
10
|
name: string;
|
|
11
|
-
type: "string" | "number" | "boolean" | "array";
|
|
11
|
+
type: "string" | "number" | "boolean" | "array" | "object";
|
|
12
12
|
description: string;
|
|
13
13
|
required?: boolean;
|
|
14
14
|
enum?: string[];
|
package/dist/dynamic.js
CHANGED
|
@@ -30,6 +30,12 @@ function buildParamSchema(param) {
|
|
|
30
30
|
case "array":
|
|
31
31
|
schema = zod_1.z.array(zod_1.z.string());
|
|
32
32
|
break;
|
|
33
|
+
case "object":
|
|
34
|
+
// Accept either a real object or a JSON-encoded string (some clients
|
|
35
|
+
// marshal nested objects as strings). The handler unwraps before
|
|
36
|
+
// forwarding to AgentKey.
|
|
37
|
+
schema = zod_1.z.union([zod_1.z.record(zod_1.z.unknown()), zod_1.z.string()]);
|
|
38
|
+
break;
|
|
33
39
|
case "string":
|
|
34
40
|
default:
|
|
35
41
|
if (param.enum && param.enum.length > 0) {
|
|
@@ -53,13 +59,29 @@ function buildToolSchema(params) {
|
|
|
53
59
|
return shape;
|
|
54
60
|
}
|
|
55
61
|
/** Create the tool handler callback for a given endpoint. */
|
|
56
|
-
function makeToolHandler(endpoint, schema, callAPI) {
|
|
62
|
+
function makeToolHandler(endpoint, schema, callAPI, params) {
|
|
63
|
+
// Names of params declared as type=object — used to unwrap JSON-string variants.
|
|
64
|
+
const objectParams = new Set(params.filter((p) => p.type === "object").map((p) => p.name));
|
|
57
65
|
return async (args) => {
|
|
58
66
|
const body = {};
|
|
59
67
|
for (const [key, value] of Object.entries(args)) {
|
|
60
|
-
if (value
|
|
61
|
-
|
|
68
|
+
if (value === undefined || value === null)
|
|
69
|
+
continue;
|
|
70
|
+
// Unwrap JSON-string forms of object params (some clients marshal
|
|
71
|
+
// nested objects as strings even when the schema accepts both).
|
|
72
|
+
if (objectParams.has(key) && typeof value === "string") {
|
|
73
|
+
if (value.trim() === "")
|
|
74
|
+
continue;
|
|
75
|
+
try {
|
|
76
|
+
body[key] = JSON.parse(value);
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
// Forward as-is and let the server return a clearer error.
|
|
80
|
+
body[key] = value;
|
|
81
|
+
}
|
|
82
|
+
continue;
|
|
62
83
|
}
|
|
84
|
+
body[key] = value;
|
|
63
85
|
}
|
|
64
86
|
if ("provider" in schema && !body.provider) {
|
|
65
87
|
body.provider = "auto";
|
|
@@ -72,30 +94,45 @@ function makeToolHandler(endpoint, schema, callAPI) {
|
|
|
72
94
|
isError: true,
|
|
73
95
|
};
|
|
74
96
|
}
|
|
75
|
-
// Compact: strip nulls/empty/zero
|
|
97
|
+
// Compact: strip nulls/empty/zero so the LLM doesn't burn tokens on noise.
|
|
76
98
|
const compact = JSON.parse(JSON.stringify(data, (_, v) => v === null || v === "" || v === 0 || (Array.isArray(v) && v.length === 0) ? undefined : v));
|
|
77
|
-
//
|
|
78
|
-
const results = data.results;
|
|
79
|
-
const resultCount = results?.length ?? 0;
|
|
80
|
-
let hint = "";
|
|
81
|
-
if (resultCount > 0) {
|
|
82
|
-
hint = `\n\n[${resultCount} results returned. Analyze these and answer the user. Only make a follow-up call if the results are clearly insufficient.]`;
|
|
83
|
-
}
|
|
84
|
-
else if (results !== undefined) {
|
|
85
|
-
hint = `\n\n[No results. Try broader keywords or different parameters. Do NOT retry the same query.]`;
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
hint = `\n\n[Data returned. Present the results to the user.]`;
|
|
89
|
-
}
|
|
90
|
-
// Truncate long content (scrape)
|
|
99
|
+
// Truncate long scrape content explicitly (per-field, before generic shrink).
|
|
91
100
|
const content = data.content;
|
|
92
101
|
if (content && content.length > 15000) {
|
|
93
102
|
compact.content =
|
|
94
103
|
content.slice(0, 15000) +
|
|
95
104
|
`\n\n[... truncated at 15000 chars. Total: ${content.length} chars.]`;
|
|
96
105
|
}
|
|
106
|
+
// Generic size cap. Some TikHub endpoints return 200K+ char blobs that
|
|
107
|
+
// overflow the model's tool-result token budget. Progressively shrink
|
|
108
|
+
// arrays inside the response until we fit, falling back to a hard
|
|
109
|
+
// truncation marker if we can't.
|
|
110
|
+
const { text: jsonText, truncated, originalBytes } = serializeWithBudget(compact, MAX_TOOL_RESULT_BYTES);
|
|
111
|
+
// Result count hint — pulled from the (post-shrink) response.
|
|
112
|
+
const results = compact.results;
|
|
113
|
+
const resultCount = results?.length ?? 0;
|
|
114
|
+
let hint;
|
|
115
|
+
if (truncated) {
|
|
116
|
+
hint = `[Response was ${originalBytes} bytes — truncated to fit the tool-result budget. Arrays in the JSON above have been shortened (look for "__truncated__" markers). For full data, request a smaller page (e.g. lower count/limit, narrower query, or use pagination).]`;
|
|
117
|
+
}
|
|
118
|
+
else if (resultCount > 0) {
|
|
119
|
+
hint = `[${resultCount} results returned. Analyze these and answer the user. Only make a follow-up call if the results are clearly insufficient.]`;
|
|
120
|
+
}
|
|
121
|
+
else if (results !== undefined) {
|
|
122
|
+
hint = `[No results. Try broader keywords or different parameters. Do NOT retry the same query.]`;
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
hint = `[Data returned. Present the results to the user.]`;
|
|
126
|
+
}
|
|
127
|
+
// IMPORTANT: return JSON and hint as SEPARATE content blocks so the
|
|
128
|
+
// first item is pure JSON and callers can JSON.parse it directly.
|
|
129
|
+
// Concatenating "JSON + hint" into one string makes the field
|
|
130
|
+
// unparseable as JSON (you get "Extra data" past the closing brace).
|
|
97
131
|
return {
|
|
98
|
-
content: [
|
|
132
|
+
content: [
|
|
133
|
+
{ type: "text", text: jsonText },
|
|
134
|
+
{ type: "text", text: hint },
|
|
135
|
+
],
|
|
99
136
|
};
|
|
100
137
|
}
|
|
101
138
|
catch (err) {
|
|
@@ -106,6 +143,68 @@ function makeToolHandler(endpoint, schema, callAPI) {
|
|
|
106
143
|
}
|
|
107
144
|
};
|
|
108
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* Maximum size of one tool-result content item. ~30K chars ≈ 7.5K tokens,
|
|
148
|
+
* comfortably under every common model's tool-result cap. Tunable via env.
|
|
149
|
+
*/
|
|
150
|
+
const MAX_TOOL_RESULT_BYTES = parseInt(process.env.AGENTKEY_MAX_RESULT_BYTES || "30000", 10);
|
|
151
|
+
/**
|
|
152
|
+
* Serialize `data` as JSON, shrinking embedded arrays if the result exceeds
|
|
153
|
+
* `maxBytes`. Returns the final JSON text plus whether truncation occurred
|
|
154
|
+
* and the original (pre-shrink) byte count.
|
|
155
|
+
*
|
|
156
|
+
* Strategy: try the full payload, then progressively cap every array in the
|
|
157
|
+
* tree at smaller and smaller limits (50 → 20 → 10 → 5 → 2 → 1). If even a
|
|
158
|
+
* single-element trim doesn't fit, fall back to a hard string slice with a
|
|
159
|
+
* truncation marker so the response never blows past the budget.
|
|
160
|
+
*/
|
|
161
|
+
function serializeWithBudget(data, maxBytes) {
|
|
162
|
+
const full = JSON.stringify(data) ?? "";
|
|
163
|
+
if (full.length <= maxBytes) {
|
|
164
|
+
return { text: full, truncated: false, originalBytes: full.length };
|
|
165
|
+
}
|
|
166
|
+
for (const cap of [50, 20, 10, 5, 2, 1]) {
|
|
167
|
+
const trimmed = capArrays(data, cap);
|
|
168
|
+
const text = JSON.stringify(trimmed) ?? "";
|
|
169
|
+
if (text.length <= maxBytes) {
|
|
170
|
+
return { text, truncated: true, originalBytes: full.length };
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
// Last resort — even capping every array to 1 didn't fit (deeply nested
|
|
174
|
+
// huge objects). Hard slice the original; mark it explicitly so the LLM
|
|
175
|
+
// knows the JSON above this point is incomplete.
|
|
176
|
+
return {
|
|
177
|
+
text: full.slice(0, maxBytes - 200) + `\n\n/* TRUNCATED — original ${full.length} bytes, hard-cut at ${maxBytes - 200}. JSON above this line is incomplete and may not parse. Use a more specific query. */`,
|
|
178
|
+
truncated: true,
|
|
179
|
+
originalBytes: full.length,
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Recursively walks `value` and returns a deep copy where every array longer
|
|
184
|
+
* than `cap` is sliced to `cap` items, with a sibling-key `__truncated__`
|
|
185
|
+
* stamp on the parent so the LLM can see *that* truncation happened and
|
|
186
|
+
* (roughly) by how much.
|
|
187
|
+
*/
|
|
188
|
+
function capArrays(value, cap) {
|
|
189
|
+
if (Array.isArray(value)) {
|
|
190
|
+
const out = value.slice(0, cap).map((v) => capArrays(v, cap));
|
|
191
|
+
if (value.length > cap) {
|
|
192
|
+
// Mark as truncated by appending a sentinel string element. We can't
|
|
193
|
+
// attach a sibling key to a JSON array, so a sentinel element is the
|
|
194
|
+
// most portable hint.
|
|
195
|
+
out.push(`__truncated__: ${value.length - cap} of ${value.length} items omitted`);
|
|
196
|
+
}
|
|
197
|
+
return out;
|
|
198
|
+
}
|
|
199
|
+
if (value && typeof value === "object") {
|
|
200
|
+
const out = {};
|
|
201
|
+
for (const [k, v] of Object.entries(value)) {
|
|
202
|
+
out[k] = capArrays(v, cap);
|
|
203
|
+
}
|
|
204
|
+
return out;
|
|
205
|
+
}
|
|
206
|
+
return value;
|
|
207
|
+
}
|
|
109
208
|
/** Fingerprint a tool definition for change detection. */
|
|
110
209
|
function toolFingerprint(tool) {
|
|
111
210
|
return JSON.stringify({
|
|
@@ -198,7 +297,7 @@ class DynamicToolManager {
|
|
|
198
297
|
existing.handle.update({
|
|
199
298
|
description: tool.description,
|
|
200
299
|
paramsSchema: schema,
|
|
201
|
-
callback: makeToolHandler(tool.endpoint, schema, this.callAPI),
|
|
300
|
+
callback: makeToolHandler(tool.endpoint, schema, this.callAPI, tool.params),
|
|
202
301
|
});
|
|
203
302
|
existing.fingerprint = fp;
|
|
204
303
|
console.error(`[dynamic] Updated tool: ${tool.name}`);
|
|
@@ -215,7 +314,7 @@ class DynamicToolManager {
|
|
|
215
314
|
/** Register a single tool and track it. */
|
|
216
315
|
registerTool(tool) {
|
|
217
316
|
const schema = buildToolSchema(tool.params);
|
|
218
|
-
const handle = this.server.tool(tool.name, tool.description, schema, makeToolHandler(tool.endpoint, schema, this.callAPI));
|
|
317
|
+
const handle = this.server.tool(tool.name, tool.description, schema, makeToolHandler(tool.endpoint, schema, this.callAPI, tool.params));
|
|
219
318
|
this.registered.set(tool.name, {
|
|
220
319
|
handle,
|
|
221
320
|
fingerprint: toolFingerprint(tool),
|
package/dist/dynamic.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic.js","sourceRoot":"","sources":["../src/dynamic.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;
|
|
1
|
+
{"version":3,"file":"dynamic.js","sourceRoot":"","sources":["../src/dynamic.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -47,17 +47,23 @@ const AGENTKEY_BASE_URL = process.env.AGENTKEY_BASE_URL || "https://api.agentkey
|
|
|
47
47
|
const AGENTKEY_API_KEY = process.env.AGENTKEY_API_KEY || "";
|
|
48
48
|
// --- CLI: --list-tools ---
|
|
49
49
|
if (process.argv.includes("--list-tools")) {
|
|
50
|
-
console.log(`AgentKey MCP Server v0.0.
|
|
50
|
+
console.log(`AgentKey MCP Server v0.0.10
|
|
51
51
|
|
|
52
52
|
Tools:
|
|
53
53
|
agentkey_search Search the web, news, images, videos, or places
|
|
54
54
|
Providers: Serper, Tavily, Brave, Perplexity
|
|
55
55
|
agentkey_scrape Scrape a webpage and extract content as markdown/html/text
|
|
56
56
|
Providers: Firecrawl, Jina Reader, ScrapeNinja
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
agentkey_social_catalog
|
|
58
|
+
Search the TikHub-mirror catalog by platform + keyword.
|
|
59
|
+
Call this BEFORE agentkey_social when you don't know the path.
|
|
60
|
+
agentkey_social Dispatcher over the TikHub mirror (~46 platforms / ~990 endpoints).
|
|
61
|
+
Pass {path, params}. Covers TikTok, Douyin, Xiaohongshu,
|
|
62
|
+
Instagram, Twitter/X, Reddit, Weibo, Bilibili, YouTube, Zhihu,
|
|
63
|
+
LinkedIn, Threads, Kuaishou, Lemon8, WeChat Channels, Toutiao,
|
|
64
|
+
Xigua, Sora2 and more.
|
|
59
65
|
agentkey_crypto Query blockchain & crypto data (prices, NFTs, balances, txs, ENS)
|
|
60
|
-
|
|
66
|
+
Providers: Chainbase, CoinMarketCap (spot + DEX), Tops
|
|
61
67
|
|
|
62
68
|
Environment:
|
|
63
69
|
AGENTKEY_BASE_URL API base URL (default: https://api.agentkey.app)
|
|
@@ -296,21 +302,90 @@ else {
|
|
|
296
302
|
};
|
|
297
303
|
}
|
|
298
304
|
/**
|
|
299
|
-
*
|
|
300
|
-
*
|
|
305
|
+
* Maximum size of one tool-result content item. ~30K chars ≈ 7.5K tokens,
|
|
306
|
+
* comfortably under every common model's tool-result cap. Tunable via env.
|
|
301
307
|
*/
|
|
302
|
-
|
|
308
|
+
const MAX_TOOL_RESULT_BYTES = parseInt(process.env.AGENTKEY_MAX_RESULT_BYTES || "30000", 10);
|
|
309
|
+
/**
|
|
310
|
+
* Compact a tool result for the LLM:
|
|
311
|
+
* 1. Strip null/empty/zero fields to save tokens.
|
|
312
|
+
* 2. If the serialized JSON exceeds MAX_TOOL_RESULT_BYTES, progressively
|
|
313
|
+
* cap embedded arrays until it fits, then mark as truncated.
|
|
314
|
+
* 3. Return JSON and the truncation/result hint as SEPARATE content blocks
|
|
315
|
+
* so the first item is pure JSON parseable by callers (concatenating
|
|
316
|
+
* "JSON + hint" into one text field breaks JSON.parse).
|
|
317
|
+
*
|
|
318
|
+
* If `hintFn` is supplied it gets the (possibly shrunk) compact data plus
|
|
319
|
+
* a `truncated` flag and produces a closing instruction for the LLM.
|
|
320
|
+
*/
|
|
321
|
+
function compactResult(data, hintFn) {
|
|
303
322
|
const compact = JSON.parse(JSON.stringify(data, (_, v) => v === null || v === "" || v === 0 || (Array.isArray(v) && v.length === 0) ? undefined : v));
|
|
323
|
+
const { text, truncated, originalBytes } = serializeWithBudget(compact, MAX_TOOL_RESULT_BYTES);
|
|
324
|
+
const content = [
|
|
325
|
+
{ type: "text", text },
|
|
326
|
+
];
|
|
327
|
+
if (hintFn) {
|
|
328
|
+
content.push({ type: "text", text: hintFn(compact, truncated, originalBytes) });
|
|
329
|
+
}
|
|
330
|
+
else if (truncated) {
|
|
331
|
+
content.push({
|
|
332
|
+
type: "text",
|
|
333
|
+
text: `[Response was ${originalBytes} bytes — truncated to fit the tool-result budget. Arrays in the JSON above have been shortened (look for "__truncated__" markers). For full data, request a smaller page (lower count/limit, narrower query, or use pagination).]`,
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
return { content };
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Serialize `data` as JSON, shrinking embedded arrays if the result exceeds
|
|
340
|
+
* `maxBytes`. Strategy: try the full payload, then progressively cap every
|
|
341
|
+
* array in the tree at smaller and smaller limits (50 → 20 → 10 → 5 → 2 → 1).
|
|
342
|
+
* If even a single-element trim doesn't fit, hard-slice the original with a
|
|
343
|
+
* truncation marker so the response never blows past the budget.
|
|
344
|
+
*/
|
|
345
|
+
function serializeWithBudget(data, maxBytes) {
|
|
346
|
+
const full = JSON.stringify(data) ?? "";
|
|
347
|
+
if (full.length <= maxBytes) {
|
|
348
|
+
return { text: full, truncated: false, originalBytes: full.length };
|
|
349
|
+
}
|
|
350
|
+
for (const cap of [50, 20, 10, 5, 2, 1]) {
|
|
351
|
+
const trimmed = capArrays(data, cap);
|
|
352
|
+
const text = JSON.stringify(trimmed) ?? "";
|
|
353
|
+
if (text.length <= maxBytes) {
|
|
354
|
+
return { text, truncated: true, originalBytes: full.length };
|
|
355
|
+
}
|
|
356
|
+
}
|
|
304
357
|
return {
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
358
|
+
text: full.slice(0, maxBytes - 200) + `\n\n/* TRUNCATED — original ${full.length} bytes, hard-cut at ${maxBytes - 200}. JSON above this line is incomplete and may not parse. Use a more specific query. */`,
|
|
359
|
+
truncated: true,
|
|
360
|
+
originalBytes: full.length,
|
|
308
361
|
};
|
|
309
362
|
}
|
|
363
|
+
/**
|
|
364
|
+
* Recursively walk `value` and return a deep copy where every array longer
|
|
365
|
+
* than `cap` is sliced to `cap` items, with a sentinel string element
|
|
366
|
+
* appended so the LLM can see *that* truncation happened.
|
|
367
|
+
*/
|
|
368
|
+
function capArrays(value, cap) {
|
|
369
|
+
if (Array.isArray(value)) {
|
|
370
|
+
const out = value.slice(0, cap).map((v) => capArrays(v, cap));
|
|
371
|
+
if (value.length > cap) {
|
|
372
|
+
out.push(`__truncated__: ${value.length - cap} of ${value.length} items omitted`);
|
|
373
|
+
}
|
|
374
|
+
return out;
|
|
375
|
+
}
|
|
376
|
+
if (value && typeof value === "object") {
|
|
377
|
+
const out = {};
|
|
378
|
+
for (const [k, v] of Object.entries(value)) {
|
|
379
|
+
out[k] = capArrays(v, cap);
|
|
380
|
+
}
|
|
381
|
+
return out;
|
|
382
|
+
}
|
|
383
|
+
return value;
|
|
384
|
+
}
|
|
310
385
|
// --- MCP Server ---
|
|
311
386
|
const server = new mcp_js_1.McpServer({
|
|
312
387
|
name: "AgentKey",
|
|
313
|
-
version: "0.0.
|
|
388
|
+
version: "0.0.10",
|
|
314
389
|
description: `AgentKey provides 4 tools: search, scrape, social, crypto.
|
|
315
390
|
|
|
316
391
|
MOST IMPORTANT RULE — USE YOUR OWN KNOWLEDGE FIRST:
|
|
@@ -321,7 +396,7 @@ MOST IMPORTANT RULE — USE YOUR OWN KNOWLEDGE FIRST:
|
|
|
321
396
|
|
|
322
397
|
DECISION TREE (only when a tool IS needed):
|
|
323
398
|
1. Crypto prices, on-chain data, wallets, NFTs → agentkey_crypto
|
|
324
|
-
2. Social media content (Twitter,
|
|
399
|
+
2. Social media content (Twitter/X, TikTok, Douyin, Xiaohongshu, Instagram, Reddit, Weibo, Bilibili, YouTube, Zhihu, LinkedIn, Threads, Kuaishou, Lemon8, WeChat Channels, Toutiao, …) → agentkey_social
|
|
325
400
|
3. Full content of a specific URL → agentkey_scrape
|
|
326
401
|
4. Web search, news, general real-time info → agentkey_search
|
|
327
402
|
|
|
@@ -437,14 +512,13 @@ Preferences:
|
|
|
437
512
|
if (!ok) {
|
|
438
513
|
return errorResult(`Search failed: ${data.error || JSON.stringify(data)}`);
|
|
439
514
|
}
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
return compact;
|
|
515
|
+
return compactResult(data, (compact) => {
|
|
516
|
+
const results = compact?.results;
|
|
517
|
+
const count = results?.length ?? 0;
|
|
518
|
+
return count > 0
|
|
519
|
+
? `[${count} results returned. Analyze these before making additional searches. Use agentkey_scrape only if you need the full content of a specific URL above.]`
|
|
520
|
+
: `[No results. Try broader keywords or a different type/time_range. Do NOT retry the same query.]`;
|
|
521
|
+
});
|
|
448
522
|
}
|
|
449
523
|
catch (err) {
|
|
450
524
|
return errorResult(`Failed to connect to AgentKey server at ${AGENTKEY_BASE_URL}: ${err}`);
|
|
@@ -551,121 +625,200 @@ Preferences:
|
|
|
551
625
|
return errorResult(`Failed to connect to AgentKey server at ${AGENTKEY_BASE_URL}: ${err}`);
|
|
552
626
|
}
|
|
553
627
|
});
|
|
554
|
-
// Social
|
|
555
|
-
|
|
628
|
+
// Social catalog discovery tool — search the ~990 mirrored TikHub
|
|
629
|
+
// endpoints by platform + keyword. The model is supposed to call this
|
|
630
|
+
// BEFORE agentkey_social when it doesn't already know the right path.
|
|
631
|
+
server.tool("agentkey_social_catalog", `Search the AgentKey social-endpoint catalog (~990 TikHub-mirrored endpoints across ~46 platforms / surfaces). Use this BEFORE calling agentkey_social when you don't already know the exact endpoint path.
|
|
632
|
+
|
|
633
|
+
WORKFLOW:
|
|
634
|
+
1. Call agentkey_social_catalog with platform + q to find candidate paths
|
|
635
|
+
2. Read the candidates' summaries and required params
|
|
636
|
+
3. Call agentkey_social with the chosen path and the right params
|
|
556
637
|
|
|
557
|
-
|
|
638
|
+
WHEN TO CALL:
|
|
639
|
+
- You don't know the exact TikHub path for a task → call this first.
|
|
640
|
+
- The user asked something like "what's trending on weibo" / "find recent reddit posts about X" / "look up this tiktok video" — search by platform + keyword.
|
|
641
|
+
- A previous agentkey_social call returned 404 with suggestions — those suggestions are usually right; you don't need to call this again.
|
|
642
|
+
|
|
643
|
+
PARAMETERS:
|
|
644
|
+
- platform: TikHub platform prefix (tiktok / douyin / weibo / twitter / instagram / xiaohongshu / reddit / bilibili / youtube / zhihu / linkedin / threads / kuaishou / …). Optional but strongly recommended — narrows results hugely.
|
|
645
|
+
- q: case-insensitive substring matched against endpoint path AND summary. Use ONE keyword (e.g. "trending", "search", "comment", "user", "post", "detail", "feed", "hot"). Multiple words usually return zero results.
|
|
646
|
+
- limit: max results (default 20, max 100).
|
|
647
|
+
|
|
648
|
+
RESPONSE — { count, total, endpoints: [{ path, method, summary, params, has_body }, ...] }
|
|
649
|
+
- "path" is what you pass to agentkey_social.
|
|
650
|
+
- "params" lists each query parameter, including which are Required.
|
|
651
|
+
- "has_body" = true means it's a POST endpoint and "params" becomes the JSON body.
|
|
652
|
+
|
|
653
|
+
EXAMPLES:
|
|
654
|
+
- platform="tiktok", q="trending" → tiktok/web/fetch_trending_post, tiktok/web/fetch_trending_searchwords, …
|
|
655
|
+
- platform="weibo", q="hot" → weibo/web_v2/fetch_hot_search, weibo/app/fetch_hot_search_list, …
|
|
656
|
+
- platform="reddit", q="search" → reddit/app/fetch_search_posts, reddit/app/fetch_search_users, …
|
|
657
|
+
- platform="linkedin", q="job" → linkedin/web/search_jobs, linkedin/web/get_job_detail, …
|
|
658
|
+
|
|
659
|
+
STRICT RULES:
|
|
660
|
+
- ONE call per turn; analyze the candidates before doing anything else.
|
|
661
|
+
- This tool is read-only and cheap; using it before agentkey_social is the right default.`, {
|
|
662
|
+
platform: zod_1.z
|
|
663
|
+
.string()
|
|
664
|
+
.optional()
|
|
665
|
+
.describe("Platform prefix to filter by, e.g. 'tiktok', 'weibo'. Optional but strongly recommended. Matches the first segment of the endpoint path."),
|
|
666
|
+
q: zod_1.z
|
|
667
|
+
.string()
|
|
668
|
+
.optional()
|
|
669
|
+
.describe("Case-insensitive substring matched against endpoint path AND summary. Use ONE keyword for best results."),
|
|
670
|
+
limit: zod_1.z
|
|
671
|
+
.coerce.number()
|
|
672
|
+
.min(1)
|
|
673
|
+
.max(100)
|
|
674
|
+
.optional()
|
|
675
|
+
.describe("Max results to return. Default 20, max 100."),
|
|
676
|
+
}, async ({ platform, q, limit }) => {
|
|
677
|
+
const body = {};
|
|
678
|
+
if (platform)
|
|
679
|
+
body.platform = platform;
|
|
680
|
+
if (q)
|
|
681
|
+
body.q = q;
|
|
682
|
+
if (limit)
|
|
683
|
+
body.limit = limit;
|
|
684
|
+
try {
|
|
685
|
+
const { ok, data } = await callAPI("/v1/social/catalog", body);
|
|
686
|
+
if (!ok) {
|
|
687
|
+
return errorResult(`Catalog search failed: ${data.error || JSON.stringify(data)}`);
|
|
688
|
+
}
|
|
689
|
+
return compactResult(data, (compact) => {
|
|
690
|
+
const c = compact;
|
|
691
|
+
const count = c.count ?? 0;
|
|
692
|
+
const total = c.total ?? 0;
|
|
693
|
+
return count > 0
|
|
694
|
+
? `[${count} of ${total} endpoints matched. Pick the one whose summary best fits the user's intent and call agentkey_social with its "path".]`
|
|
695
|
+
: `[No endpoints matched. Try a different platform or a single broader keyword (e.g. "search", "hot", "trending"). Do NOT retry the same query.]`;
|
|
696
|
+
});
|
|
697
|
+
}
|
|
698
|
+
catch (err) {
|
|
699
|
+
return errorResult(`Failed to connect to AgentKey server at ${AGENTKEY_BASE_URL}: ${err}`);
|
|
700
|
+
}
|
|
701
|
+
});
|
|
702
|
+
// Social media tool — dispatcher over the TikHub mirror.
|
|
703
|
+
//
|
|
704
|
+
// AgentKey mirrors the full TikHub OpenAPI surface (~46 platform/surface
|
|
705
|
+
// packages, ~990 endpoints). Rather than enumerate every endpoint as its own
|
|
706
|
+
// MCP tool — which would blow past most clients' tool-list limits — we expose
|
|
707
|
+
// a single dispatcher tool. The LLM passes a TikHub-style path plus a JSON
|
|
708
|
+
// params object; the AgentKey server forwards verbatim. The catalog of
|
|
709
|
+
// available paths is served from GET /v1/social/_catalog (no auth).
|
|
710
|
+
server.tool("agentkey_social", `Browse social media content across the TikHub mirror (~46 platforms / ~990 endpoints).
|
|
711
|
+
|
|
712
|
+
DISPATCH MODEL — this tool is a thin pass-through to TikHub's REST API. You pick the upstream endpoint by setting "path" (e.g. "tiktok/web/fetch_post_detail"), and the parameters in "params". The AgentKey server forwards verbatim.
|
|
713
|
+
|
|
714
|
+
DISCOVERY — call agentkey_social_catalog FIRST when you don't know the exact path. It searches the ~990 endpoints by platform + keyword and returns matching entries with their summaries and required params. Don't guess paths; the catalog is cheap and precise.
|
|
715
|
+
|
|
716
|
+
PATH NAMING — paths mirror TikHub's structure exactly: "{platform}/{surface}/{action}", for example:
|
|
717
|
+
twitter/web/fetch_tweet_detail
|
|
718
|
+
tiktok/web/fetch_post_detail
|
|
719
|
+
tiktok/app/v3/fetch_one_video
|
|
720
|
+
xiaohongshu/web_v2/get_note_info
|
|
721
|
+
instagram/v3/fetch_user_posts_v2
|
|
722
|
+
weibo/web_v2/fetch_user_info
|
|
723
|
+
bilibili/web/fetch_video_data
|
|
724
|
+
youtube/web/get_video_info_v2
|
|
725
|
+
linkedin/web/fetch_linkedin_profile_by_username
|
|
726
|
+
Trust the catalog over guesses — many platforms have multiple surfaces (web/app/v2/v3) with different endpoints.
|
|
727
|
+
|
|
728
|
+
Platforms covered: TikTok (web + app + ads + analytics + creator + shop), Douyin (web + app + search + billboard + xingtu + creator), Xiaohongshu (小红书, multiple web/app surfaces), Instagram (v1/v2/v3), Twitter/X, Reddit, Weibo (微博, multiple surfaces), Bilibili (B站), YouTube (web + v2), Zhihu (知乎), LinkedIn, Threads, Kuaishou (快手), Lemon8, Pipixia, WeChat Channels & Media Platform, Toutiao (今日头条), Xigua (西瓜视频), Sora2.
|
|
558
729
|
|
|
559
730
|
THINK BEFORE CALLING — use your own knowledge first:
|
|
560
|
-
- For
|
|
561
|
-
- Only call when the user needs REAL-TIME
|
|
731
|
+
- For static facts about platforms, creators, or public figures, answer from your training data.
|
|
732
|
+
- Only call when the user needs REAL-TIME content: recent posts, current trends, live discussions, specific post details.
|
|
562
733
|
- Examples that do NOT need this tool: "who is Elon Musk on Twitter", "what is Reddit", "how does TikTok algorithm work".
|
|
563
734
|
- Examples that NEED this tool: "what is @elonmusk tweeting about today", "trending topics on Weibo now", "latest posts in r/cryptocurrency".
|
|
564
735
|
|
|
565
736
|
USE THIS TOOL (instead of agentkey_search) when the user asks about real-time social media content.
|
|
566
737
|
|
|
567
|
-
STRICT
|
|
738
|
+
STRICT RULES:
|
|
739
|
+
- ONE CALL PER TURN. Wait for results before deciding the next step.
|
|
740
|
+
- If the upstream returns 404 or "not found", the resource genuinely does not exist — tell the user, do NOT retry the same path with a guessed id, do NOT switch to a sibling endpoint with the same id, do NOT guess a different username.
|
|
741
|
+
- If you do not know the right path, prefer asking the user over guessing — wrong paths waste credits.
|
|
568
742
|
|
|
569
|
-
|
|
570
|
-
-
|
|
571
|
-
-
|
|
572
|
-
-
|
|
573
|
-
-
|
|
574
|
-
- "zhihu" — 知乎 Q&A, articles, topics. Use "user_url_token"/"question_id"/"article_id".
|
|
575
|
-
- "tiktok" — TikTok videos, hashtags, music. Use "aweme_id"/"sec_user_id"/"unique_id".
|
|
576
|
-
- "douyin" — 抖音 videos, hot search, series. Use "aweme_id"/"sec_user_id".
|
|
577
|
-
- "bilibili" — B站 videos. Use "bv_id"/"av_id".
|
|
578
|
-
- "weibo" — 微博 posts, hot search. Use "uid"/"status_id".
|
|
579
|
-
- "threads" — Threads posts. Use "username"/"user_id".
|
|
580
|
-
- "youtube" — YouTube videos, channels, shorts. Use "video_id"/"channel_id".
|
|
743
|
+
PARAMS — pass exactly the field names TikHub expects (camelCase or snake_case as documented per endpoint). The catalog tells you which parameters are required and what type. Common patterns:
|
|
744
|
+
- video / post detail endpoints take an id field (itemId, aweme_id, note_id, video_id, status_id, …)
|
|
745
|
+
- user-profile endpoints take a username, sec_user_id, user_id, or url_token depending on the surface
|
|
746
|
+
- search endpoints take a keyword/query plus pagination (offset, page, cursor)
|
|
747
|
+
- list endpoints often paginate with cursor (twitter, instagram, threads) or page (xiaohongshu, bilibili search)
|
|
581
748
|
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
.
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
"latest_comments", "replies", "media", "retweets", "trending",
|
|
591
|
-
"faved", "search_users", "search_images", "search_products", "search_groups",
|
|
592
|
-
"product_detail", "product_review_overview", "product_reviews", "product_recs",
|
|
593
|
-
"topic_info", "topic_feed", "creator_feed", "creator_hot_feed",
|
|
594
|
-
"search_hashtags", "general_search", "user_brief", "user_about", "tagged", "reels",
|
|
595
|
-
"stories", "highlight_stories", "comment_replies", "explore", "recommended_reels",
|
|
596
|
-
"location_info", "location_posts", "hashtag_posts",
|
|
597
|
-
"articles", "answers", "hot_list", "columns", "topics", "videos",
|
|
598
|
-
"hashtag_detail", "hashtag_videos", "music_detail", "music_videos", "liked", "home_feed",
|
|
599
|
-
"hot_search", "mix_detail", "mix_videos", "series_detail", "series_videos",
|
|
600
|
-
"popular", "search_by_type",
|
|
601
|
-
"ai_search", "timeline", "reposts", "likes", "album", "super_topics",
|
|
602
|
-
"search_top", "search_recent",
|
|
603
|
-
"channel_videos", "channel_shorts", "related", "captions", "search_shorts", "search_channels",
|
|
604
|
-
])
|
|
749
|
+
Stable IDs > usernames — when a stable id is available (user_id / urn / sec_user_id / aweme_id / bv_id) prefer it; usernames are only entry points and may be unstable.
|
|
750
|
+
|
|
751
|
+
Stable IDs > usernames — when a stable id is available (user_id / urn / sec_user_id / aweme_id / bv_id) prefer it; usernames are only entry points and may be unstable.`, {
|
|
752
|
+
path: zod_1.z
|
|
753
|
+
.string()
|
|
754
|
+
.describe("REQUIRED. TikHub-style endpoint path WITHOUT the /v1/social/ prefix, e.g. 'tiktok/web/fetch_post_detail' or 'twitter/web/fetch_tweet_detail'. See GET /v1/social/_catalog for the full list."),
|
|
755
|
+
params: zod_1.z
|
|
756
|
+
.union([zod_1.z.record(zod_1.z.unknown()), zod_1.z.string()])
|
|
605
757
|
.optional()
|
|
606
|
-
.describe("
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
answer_id: zod_1.z.string().optional().describe("Zhihu answer ID."),
|
|
627
|
-
sec_user_id: zod_1.z.string().optional().describe("TikTok/Douyin sec_user_id."),
|
|
628
|
-
unique_id: zod_1.z.string().optional().describe("TikTok username (unique_id)."),
|
|
629
|
-
aweme_id: zod_1.z.string().optional().describe("TikTok/Douyin video ID."),
|
|
630
|
-
music_id: zod_1.z.string().optional().describe("Music/audio ID."),
|
|
631
|
-
ch_id: zod_1.z.string().optional().describe("Hashtag/challenge ID."),
|
|
632
|
-
share_url: zod_1.z.string().optional().describe("Share URL."),
|
|
633
|
-
mix_id: zod_1.z.string().optional().describe("Douyin mix/collection ID."),
|
|
634
|
-
series_id: zod_1.z.string().optional().describe("Douyin series ID."),
|
|
635
|
-
av_id: zod_1.z.string().optional().describe("Bilibili AV ID."),
|
|
636
|
-
bv_id: zod_1.z.string().optional().describe("Bilibili BV ID."),
|
|
637
|
-
search_type: zod_1.z.string().optional().describe("Bilibili search type (video/bangumi/live/article/user)."),
|
|
638
|
-
uid: zod_1.z.string().optional().describe("Weibo user ID."),
|
|
639
|
-
status_id: zod_1.z.string().optional().describe("Weibo status/post ID."),
|
|
640
|
-
category: zod_1.z.string().optional().describe("Category filter."),
|
|
641
|
-
video_id: zod_1.z.string().optional().describe("YouTube video ID."),
|
|
642
|
-
channel_id: zod_1.z.string().optional().describe("YouTube channel ID."),
|
|
643
|
-
channel_url: zod_1.z.string().optional().describe("YouTube channel URL."),
|
|
644
|
-
sort: zod_1.z.enum(["relevance", "hot", "top", "new", "latest", "comments"]).optional().describe("Sort order."),
|
|
645
|
-
time: zod_1.z.enum(["hour", "day", "week", "month", "year", "all"]).optional().describe("Time filter."),
|
|
646
|
-
num: zod_1.z.coerce.number().min(1).max(100).optional().describe("Number of results, default 10."),
|
|
647
|
-
page: zod_1.z.coerce.number().min(1).optional().describe("Page number."),
|
|
648
|
-
country: zod_1.z.string().optional().describe("Country code."),
|
|
649
|
-
cursor: zod_1.z.string().optional().describe("Pagination cursor."),
|
|
650
|
-
}, async (params) => {
|
|
651
|
-
const body = {};
|
|
652
|
-
for (const [k, v] of Object.entries(params)) {
|
|
653
|
-
if (v !== undefined && v !== null)
|
|
654
|
-
body[k] = v;
|
|
758
|
+
.describe("Parameters to forward to the upstream endpoint. Pass an OBJECT with the field names TikHub documents (camelCase or snake_case). For GET endpoints they become a query string; for POST endpoints they become the JSON body. Example: {\"itemId\":\"7339393672959757570\"}. Empty object {} is allowed."),
|
|
759
|
+
}, async ({ path, params }) => {
|
|
760
|
+
if (!path) {
|
|
761
|
+
return errorResult(`"path" is required. GET /v1/social/_catalog for the full list of TikHub endpoints.`);
|
|
762
|
+
}
|
|
763
|
+
// Accept params as either an object or a JSON-encoded string (some
|
|
764
|
+
// clients/tool schemas marshal nested objects as strings).
|
|
765
|
+
let paramsObj = {};
|
|
766
|
+
if (typeof params === "string") {
|
|
767
|
+
if (params.trim() !== "") {
|
|
768
|
+
try {
|
|
769
|
+
paramsObj = JSON.parse(params);
|
|
770
|
+
}
|
|
771
|
+
catch (err) {
|
|
772
|
+
return errorResult(`"params" was a string but not valid JSON: ${err}. Pass an object instead.`);
|
|
773
|
+
}
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
else if (params && typeof params === "object") {
|
|
777
|
+
paramsObj = params;
|
|
655
778
|
}
|
|
656
779
|
try {
|
|
657
|
-
const { ok, data } = await callAPI("/v1/social",
|
|
780
|
+
const { ok, status, data } = await callAPI("/v1/social/dispatch", {
|
|
781
|
+
path,
|
|
782
|
+
params: paramsObj,
|
|
783
|
+
});
|
|
658
784
|
if (!ok) {
|
|
659
|
-
|
|
785
|
+
const errMsg = data.error || JSON.stringify(data);
|
|
786
|
+
if (status === 404) {
|
|
787
|
+
// The server's 404 response includes a "suggestions" array of
|
|
788
|
+
// catalog entries that share tokens with the unknown path. Pull
|
|
789
|
+
// them out so the LLM can pick one and retry without a separate
|
|
790
|
+
// catalog round-trip.
|
|
791
|
+
const suggestions = data.suggestions;
|
|
792
|
+
let suggestionText = "";
|
|
793
|
+
if (suggestions && suggestions.length > 0) {
|
|
794
|
+
suggestionText =
|
|
795
|
+
"\n\nDid you mean one of these?\n" +
|
|
796
|
+
suggestions
|
|
797
|
+
.map((s) => ` - ${s.path}${s.summary ? " — " + s.summary : ""}`)
|
|
798
|
+
.join("\n");
|
|
799
|
+
}
|
|
800
|
+
return errorResult(`${errMsg}${suggestionText}\n\n[Unknown endpoint path. If a suggestion above looks right, retry once with that path. Otherwise call agentkey_social_catalog to search. Do NOT retry the same path.]`);
|
|
801
|
+
}
|
|
802
|
+
if (status === 400) {
|
|
803
|
+
return errorResult(`${errMsg}\n\n[Bad request — usually a missing required parameter. Check the catalog entry for this endpoint to see which fields are required.]`);
|
|
804
|
+
}
|
|
805
|
+
return errorResult(`Social call failed (HTTP ${status}): ${errMsg}`);
|
|
660
806
|
}
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
807
|
+
// Detect upstream "not found" semantics — TikHub usually returns
|
|
808
|
+
// 200 with an error code in the body, so we can't rely on HTTP status
|
|
809
|
+
// alone. Surface a clear hint to the LLM not to retry blindly.
|
|
810
|
+
const code = data.code;
|
|
811
|
+
if (typeof code === "number" && code !== 0 && code !== 200) {
|
|
812
|
+
const upstreamMsg = data.message || JSON.stringify(data);
|
|
813
|
+
return errorResult(`Upstream returned code ${code}: ${upstreamMsg}\n\n[The upstream signaled an error (not a network failure). Likely the user/post/id does not exist or a parameter is wrong. Tell the user; do NOT retry the same call.]`);
|
|
814
|
+
}
|
|
815
|
+
return compactResult(data, (_compact, truncated, originalBytes) => {
|
|
816
|
+
const base = `[Data returned from ${path}. Present the results to the user. Only make a follow-up call if the user asks for more details.]`;
|
|
817
|
+
if (truncated) {
|
|
818
|
+
return `${base}\n[Response was ${originalBytes} bytes — truncated to fit. Arrays in the JSON above have been shortened (look for "__truncated__" markers). For full data, request a smaller page (lower count/limit, narrower query, or use pagination).]`;
|
|
819
|
+
}
|
|
820
|
+
return base;
|
|
821
|
+
});
|
|
669
822
|
}
|
|
670
823
|
catch (err) {
|
|
671
824
|
return errorResult(`Failed to connect to AgentKey server at ${AGENTKEY_BASE_URL}: ${err}`);
|
|
@@ -1009,10 +1162,7 @@ Preferences:
|
|
|
1009
1162
|
if (!ok) {
|
|
1010
1163
|
return errorResult(`Crypto query failed: ${data.error || JSON.stringify(data)}`);
|
|
1011
1164
|
}
|
|
1012
|
-
|
|
1013
|
-
compact.content[0].text +=
|
|
1014
|
-
`\n\n[Data returned. Present the results to the user. Do NOT make follow-up crypto calls unless the user asks for additional data.]`;
|
|
1015
|
-
return compact;
|
|
1165
|
+
return compactResult(data, () => `[Data returned. Present the results to the user. Do NOT make follow-up crypto calls unless the user asks for additional data.]`);
|
|
1016
1166
|
}
|
|
1017
1167
|
catch (err) {
|
|
1018
1168
|
return errorResult(`Failed to connect to AgentKey server at ${AGENTKEY_BASE_URL}: ${err}`);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,oEAAoE;AACpE,wEAAiF;AACjF,6BAAwB;AACxB,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,mDAAqC;AACrC,6CAAqE;AAErE,wBAAwB;AAExB,MAAM,iBAAiB,GACrB,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,0BAA0B,CAAC;AAC9D,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;AAG5D,4BAA4B;AAE5B,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;CAyBb,CAAC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAUD,SAAS,gBAAgB;IACvB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAE/B,MAAM,OAAO,GAAmB,EAAE,CAAC;IAEnC,iBAAiB;IACjB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,gBAAgB;YACtB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,EAAE,4BAA4B,CAAC;YACrG,SAAS,EAAE,YAAY;SACxB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,gBAAgB;YACtB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,4BAA4B,CAAC;YAC3H,SAAS,EAAE,YAAY;SACxB,CAAC,CAAC;IACL,CAAC;IAED,SAAS;IACT,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;QAClD,SAAS,EAAE,YAAY;KACxB,CAAC,CAAC;IAEH,cAAc;IACd,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC;QACvD,SAAS,EAAE,YAAY;KACxB,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CAAC,MAA6B;IACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,KAAe;IACrD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,EAAE,GAAG,KAAK;QACd,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QAC5E,CAAC,CAAC,IAAI,CAAC;IAET,OAAO;QACL,KAAK,CAAC,GAAG,CAAC,QAAgB;YACxB,IAAI,EAAE,EAAE,CAAC;gBACP,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC7B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC;YACL,CAAC;YACD,+CAA+C;YAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;QACD,KAAK;YACH,EAAE,EAAE,KAAK,EAAE,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAoB,EAAE,MAAc,EAAE,OAAe;IAC9E,qCAAqC;IACrC,IAAI,MAAM,GAA4B,EAAE,CAAC;IACzC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,6BAA6B;IAC7B,MAAM,WAAW,GAA4B;QAC3C,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC;QAC7B,GAAG,EAAE;YACH,gBAAgB,EAAE,MAAM;YACxB,GAAG,CAAC,OAAO,KAAK,0BAA0B,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClF;KACF,CAAC;IAEF,oBAAoB;IACpB,MAAM,OAAO,GAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAA6B,IAAI,EAAE,CAAC;IAC5E,OAAO,CAAC,uBAAuB,CAAC,GAAG,WAAW,CAAC;IAC/C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;IAEnC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAC9E,CAAC;AAED,KAAK,UAAU,WAAW;IACxB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,iFAAiF;IACjF,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAE9C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,kBAAkB;IAClB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,mBAAmB;IACnB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;IACpG,MAAM,OAAO,GAAG,SAAS,IAAI,0BAA0B,CAAC;IAExD,wBAAwB;IACxB,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAEvC,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,uBAAuB;IACvB,MAAM,eAAe,GAAG,SAAS,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;IAE9F,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,IAAI,aAAa,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,2BAA2B,MAAM,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;IACrC,WAAW,EAAE,CAAC;AAChB,CAAC;KAAM,CAAC;IAER,qBAAqB;IAErB,KAAK,UAAU,OAAO,CACpB,IAAY,EACZ,IAA6B;QAE7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE;oBACJ,KAAK,EACH,sGAAsG;iBACzG;aACF,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,iBAAiB,GAAG,IAAI,EAAE,CAAC;QAE1C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,gBAAgB,EAAE;aAC5C;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,IAA6B,CAAC;QAClC,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE;oBACJ,KAAK,EAAE,sDAAsD,GAAG,CAAC,MAAM,wCAAwC,iBAAiB,EAAE;iBACnI;aACF,CAAC;QACJ,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE;oBACJ,KAAK,EACH,uFAAuF;iBAC1F;aACF,CAAC;QACJ,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE;oBACJ,KAAK,EACH,8HAA8H;iBACjI;aACF,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,SAAS,WAAW,CAAC,OAAe;QAClC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YACnD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,SAAS,UAAU,CAAC,IAAa;QAC/B,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;aAC/D;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,qBAAqB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;IAE7F;;;;;;;;;;;OAWG;IACH,SAAS,aAAa,CACpB,IAAa,EACb,MAAgF;QAEhF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACvD,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAC1F,CAAC,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAE/F,MAAM,OAAO,GAA0C;YACrD,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE;SAChC,CAAC;QACF,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;QAC3F,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,iBAAiB,aAAa,mOAAmO;aACxQ,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACH,SAAS,mBAAmB,CAAC,IAAa,EAAE,QAAgB;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC5B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACtE,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC5B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC,GAAG,+BAA+B,IAAI,CAAC,MAAM,uBAAuB,QAAQ,GAAG,GAAG,uFAAuF;YAC5M,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,IAAI,CAAC,MAAM;SAC3B,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,SAAS,SAAS,CAAC,KAAc,EAAE,GAAW;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,GAAc,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACzE,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBACvB,GAAG,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC,CAAC;YACpF,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,GAAG,GAA4B,EAAE,CAAC;YACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qBAAqB;IAErB,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;QAC3B,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,QAAQ;QACjB,WAAW,EAAE;;;;;;;;;;;;;;;;;;kKAkBmJ;KACjK,CAAC,CAAC;IAEH,6CAA6C;IAC7C,qFAAqF;IAErF,SAAS,oBAAoB;QAE7B,cAAc;QACd,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oGA6BkG,EAClG;YACE,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC1C,QAAQ,EAAE,OAAC;iBACR,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;iBACzD,QAAQ,EAAE;iBACV,QAAQ,CACP,+FAA+F,CAChG;YACH,IAAI,EAAE,OAAC;iBACJ,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;iBACnD,QAAQ,EAAE;iBACV,QAAQ,CACP,mJAAmJ,CACpJ;YACH,YAAY,EAAE,OAAC;iBACZ,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;iBAC3B,QAAQ,EAAE;iBACV,QAAQ,CACP,6GAA6G,CAC9G;YACH,GAAG,EAAE,OAAC;iBACH,MAAM,CAAC,MAAM,EAAE;iBACf,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,EAAE,CAAC;iBACP,QAAQ,EAAE;iBACV,QAAQ,CAAC,mFAAmF,CAAC;YAChG,OAAO,EAAE,OAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,8EAA8E,CAC/E;YACH,IAAI,EAAE,OAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,uIAAuI,CACxI;YACH,UAAU,EAAE,OAAC;iBACV,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;iBACtC,QAAQ,EAAE;iBACV,QAAQ,CACP,iJAAiJ,CAClJ;YACH,eAAe,EAAE,OAAC;iBACf,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CACP,2EAA2E,CAC5E;YACH,eAAe,EAAE,OAAC;iBACf,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CACP,yEAAyE,CAC1E;YACH,IAAI,EAAE,OAAC;iBACJ,MAAM,CAAC,MAAM,EAAE;iBACf,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,EAAE;iBACV,QAAQ,CAAC,6CAA6C,CAAC;SAC3D,EACD,KAAK,EAAE,EACL,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,GAAG,EACH,OAAO,EACP,IAAI,EACJ,UAAU,EACV,eAAe,EACf,eAAe,EACf,IAAI,GACL,EAAE,EAAE;YACH,MAAM,IAAI,GAA4B;gBACpC,KAAK;gBACL,QAAQ,EAAE,QAAQ,IAAI,MAAM;aAC7B,CAAC;YACF,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAC3B,IAAI,YAAY;gBAAE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACnD,IAAI,GAAG;gBAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACxB,IAAI,OAAO;gBAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACpC,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAC3B,IAAI,UAAU;gBAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7C,IAAI,eAAe,EAAE,MAAM;gBAAE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;YACpE,IAAI,eAAe,EAAE,MAAM;gBAAE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;YACpE,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAE3B,IAAI,CAAC;gBACH,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;gBACvD,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,OAAO,WAAW,CAChB,kBAAkB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACvD,CAAC;gBACJ,CAAC;gBACD,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;oBACrC,MAAM,OAAO,GAAI,OAAmC,EAAE,OAAgC,CAAC;oBACvF,MAAM,KAAK,GAAG,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;oBACnC,OAAO,KAAK,GAAG,CAAC;wBACd,CAAC,CAAC,IAAI,KAAK,qJAAqJ;wBAChK,CAAC,CAAC,iGAAiG,CAAC;gBACxG,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,WAAW,CAChB,2CAA2C,iBAAiB,KAAK,GAAG,EAAE,CACvE,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,cAAc;QACd,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB;;;;;;;;;;;;;;;;;;8FAkB4F,EAC5F;YACE,GAAG,EAAE,OAAC;iBACH,MAAM,EAAE;iBACR,QAAQ,CAAC,qDAAqD,CAAC;YAClE,QAAQ,EAAE,OAAC;iBACR,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;iBAClD,QAAQ,EAAE;iBACV,QAAQ,CACP,2GAA2G,CAC5G;YACH,MAAM,EAAE,OAAC;iBACN,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;iBAChD,QAAQ,EAAE;iBACV,QAAQ,CAAC,8DAA8D,CAAC;YAC3E,iBAAiB,EAAE,OAAC;iBACjB,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CACP,8DAA8D,CAC/D;YACH,iBAAiB,EAAE,OAAC;iBACjB,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CACP,gEAAgE,CACjE;YACH,aAAa,EAAE,OAAC;iBACb,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,uCAAuC,CAAC;YACpD,cAAc,EAAE,OAAC;iBACd,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,4CAA4C,CAAC;YACzD,OAAO,EAAE,OAAC;iBACP,MAAM,CAAC,MAAM,EAAE;iBACf,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,gCAAgC,CAAC;YAC7C,OAAO,EAAE,OAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,gEAAgE,CAAC;YAC7E,QAAQ,EAAE,OAAC;iBACR,MAAM,CAAC,MAAM,EAAE;iBACf,QAAQ,EAAE;iBACV,QAAQ,CACP,0FAA0F,CAC3F;SACJ,EACD,KAAK,EAAE,EACL,GAAG,EACH,QAAQ,EACR,MAAM,EACN,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,OAAO,EACP,OAAO,EACP,QAAQ,GACT,EAAE,EAAE;YACH,MAAM,IAAI,GAA4B;gBACpC,GAAG;gBACH,QAAQ,EAAE,QAAQ,IAAI,MAAM;aAC7B,CAAC;YACF,IAAI,MAAM;gBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACjC,IAAI,iBAAiB,EAAE,MAAM;gBAAE,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;YAC1E,IAAI,iBAAiB,EAAE,MAAM;gBAAE,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;YAC1E,IAAI,aAAa;gBAAE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACtD,IAAI,cAAc;gBAAE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACzD,IAAI,OAAO;gBAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACpC,IAAI,OAAO;gBAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACpC,IAAI,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAEvC,IAAI,CAAC;gBACH,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;gBACvD,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,OAAO,WAAW,CAChB,kBAAkB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACvD,CAAC;gBACJ,CAAC;gBACD,wDAAwD;gBACxD,MAAM,kBAAkB,GAAG,KAAK,CAAC;gBACjC,MAAM,OAAO,GAAI,IAAgC,CAAC,OAA6B,CAAC;gBAChF,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;oBAClD,IAAgC,CAAC,OAAO;wBACvC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC;4BACpC,iCAAiC,kBAAkB,kBAAkB,OAAO,CAAC,MAAM,gGAAgG,CAAC;gBACxL,CAAC;gBACD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,WAAW,CAChB,2CAA2C,iBAAiB,KAAK,GAAG,EAAE,CACvE,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,kEAAkE;QAClE,sEAAsE;QACtE,sEAAsE;QACtE,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0FA8BwF,EACxF;YACE,QAAQ,EAAE,OAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,0IAA0I,CAC3I;YACH,CAAC,EAAE,OAAC;iBACD,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,yGAAyG,CAC1G;YACH,KAAK,EAAE,OAAC;iBACL,MAAM,CAAC,MAAM,EAAE;iBACf,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,6CAA6C,CAAC;SAC3D,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YAC/B,MAAM,IAAI,GAA4B,EAAE,CAAC;YACzC,IAAI,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACvC,IAAI,CAAC;gBAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAClB,IAAI,KAAK;gBAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAE9B,IAAI,CAAC;gBACH,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;gBAC/D,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,OAAO,WAAW,CAChB,0BAA2B,IAAgC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAC5F,CAAC;gBACJ,CAAC;gBACD,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;oBACrC,MAAM,CAAC,GAAG,OAAkC,CAAC;oBAC7C,MAAM,KAAK,GAAI,CAAC,CAAC,KAA4B,IAAI,CAAC,CAAC;oBACnD,MAAM,KAAK,GAAI,CAAC,CAAC,KAA4B,IAAI,CAAC,CAAC;oBACnD,OAAO,KAAK,GAAG,CAAC;wBACd,CAAC,CAAC,IAAI,KAAK,OAAO,KAAK,uHAAuH;wBAC9I,CAAC,CAAC,+IAA+I,CAAC;gBACtJ,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,WAAW,CAChB,2CAA2C,iBAAiB,KAAK,GAAG,EAAE,CACvE,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,yDAAyD;QACzD,EAAE;QACF,yEAAyE;QACzE,6EAA6E;QAC7E,8EAA8E;QAC9E,2EAA2E;QAC3E,uEAAuE;QACvE,oEAAoE;QACpE,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wKAyCsK,EACtK;YACE,IAAI,EAAE,OAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CACP,8LAA8L,CAC/L;YACH,MAAM,EAAE,OAAC;iBACN,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC;iBAC1C,QAAQ,EAAE;iBACV,QAAQ,CACP,wSAAwS,CACzS;SACJ,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;YACzB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,WAAW,CAChB,oFAAoF,CACrF,CAAC;YACJ,CAAC;YACD,mEAAmE;YACnE,2DAA2D;YAC3D,IAAI,SAAS,GAA4B,EAAE,CAAC;YAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBACzB,IAAI,CAAC;wBACH,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAA4B,CAAC;oBAC5D,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,WAAW,CAChB,6CAA6C,GAAG,2BAA2B,CAC5E,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAChD,SAAS,GAAG,MAAiC,CAAC;YAChD,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,qBAAqB,EAAE;oBAChE,IAAI;oBACJ,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;gBACH,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,MAAM,MAAM,GAAI,IAAgC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC/E,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;wBACnB,8DAA8D;wBAC9D,gEAAgE;wBAChE,gEAAgE;wBAChE,sBAAsB;wBACtB,MAAM,WAAW,GAAI,IAAgC,CAAC,WAEzC,CAAC;wBACd,IAAI,cAAc,GAAG,EAAE,CAAC;wBACxB,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC1C,cAAc;gCACZ,kCAAkC;oCAClC,WAAW;yCACR,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;yCACjE,IAAI,CAAC,IAAI,CAAC,CAAC;wBAClB,CAAC;wBACD,OAAO,WAAW,CAChB,GAAG,MAAM,GAAG,cAAc,0KAA0K,CACrM,CAAC;oBACJ,CAAC;oBACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;wBACnB,OAAO,WAAW,CAChB,GAAG,MAAM,uIAAuI,CACjJ,CAAC;oBACJ,CAAC;oBACD,OAAO,WAAW,CAAC,4BAA4B,MAAM,MAAM,MAAM,EAAE,CAAC,CAAC;gBACvE,CAAC;gBACD,iEAAiE;gBACjE,sEAAsE;gBACtE,+DAA+D;gBAC/D,MAAM,IAAI,GAAI,IAAgC,CAAC,IAAI,CAAC;gBACpD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBAC3D,MAAM,WAAW,GAAI,IAAgC,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBACtF,OAAO,WAAW,CAChB,0BAA0B,IAAI,KAAK,WAAW,0KAA0K,CACzN,CAAC;gBACJ,CAAC;gBACD,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE;oBAChE,MAAM,IAAI,GAAG,uBAAuB,IAAI,mGAAmG,CAAC;oBAC5I,IAAI,SAAS,EAAE,CAAC;wBACd,OAAO,GAAG,IAAI,mBAAmB,aAAa,4MAA4M,CAAC;oBAC7P,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,WAAW,CAChB,2CAA2C,iBAAiB,KAAK,GAAG,EAAE,CACvE,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,cAAc;QACd,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oDA2EkD,EAClD;YACE,IAAI,EAAE,OAAC;iBACJ,IAAI,CAAC;gBACJ,aAAa;gBACb,gBAAgB;gBAChB,qBAAqB;gBACrB,eAAe;gBACf,mBAAmB;gBACnB,iBAAiB;gBACjB,cAAc;gBACd,gBAAgB;gBAChB,sBAAsB;gBACtB,YAAY;gBACZ,eAAe;gBACf,WAAW;gBACX,YAAY;gBACZ,iBAAiB;gBACjB,mBAAmB;gBACnB,yBAAyB;gBACzB,SAAS;gBACT,QAAQ;gBACR,MAAM;gBACN,YAAY;gBACZ,cAAc;gBACd,cAAc;gBACd,WAAW;gBACX,SAAS;gBACT,KAAK;gBACL,aAAa;gBACb,aAAa;gBACb,iBAAiB;gBACjB,iBAAiB;gBACjB,gBAAgB;gBAChB,eAAe;gBACf,aAAa;gBACb,UAAU;gBACV,OAAO;gBACP,aAAa;gBACb,UAAU;gBACV,aAAa;gBACb,cAAc;gBACd,YAAY;gBACZ,UAAU;gBACV,SAAS;gBACT,oBAAoB;gBACpB,cAAc;gBACd,oBAAoB;gBACpB,kBAAkB;gBAClB,gBAAgB;gBAChB,cAAc;gBACd,sBAAsB;aACvB,CAAC;iBACD,QAAQ,CAAC,qDAAqD,CAAC;YAClE,QAAQ,EAAE,OAAC;iBACR,MAAM,CAAC,MAAM,EAAE;iBACf,QAAQ,EAAE;iBACV,QAAQ,CACP,8IAA8I,CAC/I;YACH,gBAAgB,EAAE,OAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,uCAAuC,CAAC;YACpD,OAAO,EAAE,OAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,2DAA2D,CAAC;YACxE,QAAQ,EAAE,OAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACtE,YAAY,EAAE,OAAC;iBACZ,MAAM,CAAC,MAAM,EAAE;iBACf,QAAQ,EAAE;iBACV,QAAQ,CAAC,+BAA+B,CAAC;YAC5C,MAAM,EAAE,OAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,kDAAkD,CAAC;YAC/D,KAAK,EAAE,OAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,yDAAyD,CAAC;YACtE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YAC1E,QAAQ,EAAE,OAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,wDAAwD,CAAC;YACrE,GAAG,EAAE,OAAC;iBACH,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,gGAAgG,CACjG;YACH,aAAa,EAAE,OAAC;iBACb,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mEAAmE,CAAC;YAChF,GAAG,EAAE,OAAC;iBACH,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,+CAA+C,CAAC;YAC5D,MAAM,EAAE,OAAC;iBACN,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CAAC,0DAA0D,CAAC;YACvE,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACvE,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACnE,cAAc,EAAE,OAAC;iBACd,MAAM,CAAC,MAAM,EAAE;iBACf,QAAQ,EAAE;iBACV,QAAQ,CAAC,gCAAgC,CAAC;YAC7C,aAAa,EAAE,OAAC;iBACb,MAAM,CAAC,MAAM,EAAE;iBACf,QAAQ,EAAE;iBACV,QAAQ,CAAC,8BAA8B,CAAC;YAC3C,IAAI,EAAE,OAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mCAAmC,CAAC;YAChD,IAAI,EAAE,OAAC;iBACJ,MAAM,CAAC,MAAM,EAAE;iBACf,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,EAAE;iBACV,QAAQ,CAAC,wBAAwB,CAAC;YACrC,KAAK,EAAE,OAAC;iBACL,MAAM,CAAC,MAAM,EAAE;iBACf,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,8BAA8B,CAAC;YAC3C,QAAQ,EAAE,OAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,gDAAgD,CAAC;YAC7D,uBAAuB;YACvB,MAAM,EAAE,OAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,gIAAgI,CACjI;YACH,IAAI,EAAE,OAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,sDAAsD,CAAC;YACnE,MAAM,EAAE,OAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mCAAmC,CAAC;YAChD,OAAO,EAAE,OAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,gFAAgF,CAAC;YAC7F,WAAW,EAAE,OAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,4CAA4C,CAAC;YACzD,WAAW,EAAE,OAAC;iBACX,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;iBAChC,QAAQ,EAAE;iBACV,QAAQ,CAAC,kFAAkF,CAAC;YAC/F,QAAQ,EAAE,OAAC;iBACR,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;iBACrB,QAAQ,EAAE;iBACV,QAAQ,CAAC,mFAAmF,CAAC;YAChG,MAAM,EAAE,OAAC;iBACN,MAAM,CAAC,MAAM,EAAE;iBACf,QAAQ,EAAE;iBACV,QAAQ,CAAC,4CAA4C,CAAC;YACzD,mBAAmB,EAAE,OAAC;iBACnB,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;iBAChC,QAAQ,EAAE;iBACV,QAAQ,CAAC,sDAAsD,CAAC;YACnE,GAAG,EAAE,OAAC;iBACH,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,0DAA0D,CAAC;YACvE,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YACzF,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YACzF,cAAc,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YAC/F,cAAc,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YAC/F,cAAc,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YAC/F,cAAc,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;SAChG,EACD,KAAK,EAAE,EACL,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,GAAG,EACH,aAAa,EACb,GAAG,EACH,MAAM,EACN,UAAU,EACV,QAAQ,EACR,cAAc,EACd,aAAa,EACb,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,MAAM,EACN,OAAO,EACP,WAAW,EACX,WAAW,EACX,QAAQ,EACR,MAAM,EACN,mBAAmB,EACnB,GAAG,EACH,SAAS,EACT,SAAS,EACT,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,GACf,EAAE,EAAE;YACH,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,CAAC;YAC/C,IAAI,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACvC,IAAI,gBAAgB;gBAAE,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YAC/D,IAAI,OAAO;gBAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACpC,IAAI,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACvC,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAC3B,IAAI,YAAY;gBAAE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACnD,IAAI,MAAM;gBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACjC,IAAI,KAAK;gBAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAC9B,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAC3B,IAAI,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACvC,IAAI,GAAG;gBAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACxB,IAAI,aAAa;gBAAE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACtD,IAAI,GAAG;gBAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACxB,IAAI,MAAM,EAAE,MAAM;gBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACzC,IAAI,UAAU;gBAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7C,IAAI,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACvC,IAAI,cAAc;gBAAE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACzD,IAAI,aAAa;gBAAE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACtD,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAC3B,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAC3B,IAAI,KAAK;gBAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAC9B,IAAI,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACvC,IAAI,MAAM;gBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACjC,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAC3B,IAAI,MAAM;gBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACjC,IAAI,OAAO;gBAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACpC,IAAI,WAAW;gBAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAChD,IAAI,WAAW;gBAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAChD,IAAI,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACvC,IAAI,MAAM;gBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACjC,IAAI,mBAAmB;gBAAE,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;YACxE,IAAI,GAAG;gBAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACxB,IAAI,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC1C,IAAI,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC1C,IAAI,cAAc;gBAAE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACzD,IAAI,cAAc;gBAAE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACzD,IAAI,cAAc;gBAAE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACzD,IAAI,cAAc;gBAAE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YAEzD,IAAI,CAAC;gBACH,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;gBACvD,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,OAAO,WAAW,CAChB,wBAAwB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAC7D,CAAC;gBACJ,CAAC;gBACD,OAAO,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,CAC9B,gIAAgI,CACjI,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,WAAW,CAChB,2CAA2C,iBAAiB,KAAK,GAAG,EAAE,CACvE,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IAEF,CAAC,CAAC,6BAA6B;IAE/B,gBAAgB;IAEhB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;IAErF,KAAK,UAAU,IAAI;QACjB,IAAI,cAAc,GAA8B,IAAI,CAAC;QAErD,gDAAgD;QAChD,MAAM,QAAQ,GAAG,MAAM,IAAA,8BAAiB,EAAC,iBAAiB,CAAC,CAAC;QAC5D,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,cAAc,GAAG,IAAI,+BAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;YAC9F,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACnD,cAAc,CAAC,YAAY,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,kDAAkD,KAAK,4BAA4B,gBAAgB,GAAG,IAAI,IAAI,CAAC,CAAC;QAChI,CAAC;aAAM,CAAC;YACN,2EAA2E;YAC3E,oBAAoB,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,UAAU,iBAAiB,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAEhG,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,sBAAsB;QACtB,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,cAAc,EAAE,WAAW,EAAE,CAAC;QAChC,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AAEH,CAAC,CAAC,4BAA4B"}
|