@cyanheads/hn-mcp-server 0.5.21 → 0.5.22
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/AGENTS.md +7 -4
- package/CLAUDE.md +7 -4
- package/Dockerfile +4 -4
- package/README.md +17 -12
- package/changelog/0.5.x/0.5.22.md +45 -0
- package/dist/mcp-server/tools/definitions/get-stories.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-stories.tool.js +23 -12
- package/dist/mcp-server/tools/definitions/get-stories.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-thread.tool.d.ts +3 -2
- package/dist/mcp-server/tools/definitions/get-thread.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-thread.tool.js +192 -99
- package/dist/mcp-server/tools/definitions/get-thread.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-user.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-user.tool.js +22 -8
- package/dist/mcp-server/tools/definitions/get-user.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/search-content.tool.d.ts +93 -0
- package/dist/mcp-server/tools/definitions/search-content.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-content.tool.js +322 -59
- package/dist/mcp-server/tools/definitions/search-content.tool.js.map +1 -1
- package/dist/mcp-server/tools/served-at-cap.d.ts +14 -0
- package/dist/mcp-server/tools/served-at-cap.d.ts.map +1 -0
- package/dist/mcp-server/tools/served-at-cap.js +16 -0
- package/dist/mcp-server/tools/served-at-cap.js.map +1 -0
- package/dist/mcp-server/tools/thread-cursor.d.ts +68 -0
- package/dist/mcp-server/tools/thread-cursor.d.ts.map +1 -0
- package/dist/mcp-server/tools/thread-cursor.js +200 -0
- package/dist/mcp-server/tools/thread-cursor.js.map +1 -0
- package/dist/services/hn/hn-service.d.ts +29 -4
- package/dist/services/hn/hn-service.d.ts.map +1 -1
- package/dist/services/hn/hn-service.js +58 -25
- package/dist/services/hn/hn-service.js.map +1 -1
- package/dist/services/hn/types.d.ts +9 -0
- package/dist/services/hn/types.d.ts.map +1 -1
- package/package.json +9 -9
- package/server.json +3 -3
|
@@ -4,14 +4,30 @@
|
|
|
4
4
|
* @module mcp-server/tools/definitions/get-thread.tool
|
|
5
5
|
*/
|
|
6
6
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
7
|
-
import {
|
|
8
|
-
import { decodeCursor, encodeCursor } from '@cyanheads/mcp-ts-core/utils';
|
|
7
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
9
8
|
import { escapeInline, quoteBody } from '../markdown-escape.js';
|
|
9
|
+
import { servedAtCap } from '../served-at-cap.js';
|
|
10
|
+
import { decodeThreadCursor, encodeThreadCursor, } from '../thread-cursor.js';
|
|
10
11
|
import { decodeHtmlEntities, getHnService, isRateLimited, normalizeUrl, stripHtml, } from '../../../services/hn/hn-service.js';
|
|
11
|
-
/**
|
|
12
|
-
const
|
|
13
|
-
/** Largest `
|
|
14
|
-
const
|
|
12
|
+
/** Most comments one call returns; a larger `maxComments` is served at this cap. */
|
|
13
|
+
const MAX_COMMENTS_CAP = 200;
|
|
14
|
+
/** Largest `maxComments` accepted; anything above it is rejected. */
|
|
15
|
+
const MAX_COMMENTS_CEILING = 1000;
|
|
16
|
+
/**
|
|
17
|
+
* Most reply levels one call resolves; a larger `depth` is served at this cap.
|
|
18
|
+
* Every issued cursor carries a depth at or below it, so it also bounds the
|
|
19
|
+
* depth a cursor may claim.
|
|
20
|
+
*/
|
|
21
|
+
const DEPTH_CAP = 10;
|
|
22
|
+
/** Largest `depth` accepted; anything above it is rejected. */
|
|
23
|
+
const DEPTH_CEILING = 100;
|
|
24
|
+
/**
|
|
25
|
+
* Most dead or deleted comments a notice names when the depth limit cut their
|
|
26
|
+
* replies and a larger depth still reaches the rest. At the depth cap an ID is
|
|
27
|
+
* the only way into those replies, so every one is named — at most the items
|
|
28
|
+
* one call examines.
|
|
29
|
+
*/
|
|
30
|
+
const OMITTED_IDS_NAMED = 10;
|
|
15
31
|
/**
|
|
16
32
|
* Byte budget for the rendered `format()` text. Checked between comments, so a
|
|
17
33
|
* page never ends mid-comment, and the first comment on a page is always kept.
|
|
@@ -25,6 +41,17 @@ const FETCH_CHUNK = 25;
|
|
|
25
41
|
* them would run unbounded.
|
|
26
42
|
*/
|
|
27
43
|
const MAX_ITEMS_EXAMINED = 1_000;
|
|
44
|
+
/**
|
|
45
|
+
* Most `parent` links one call follows to find a comment root's story. The
|
|
46
|
+
* deepest comment in 22 of HN's largest threads is 32 links below its story.
|
|
47
|
+
*/
|
|
48
|
+
const MAX_STORY_HOPS = 64;
|
|
49
|
+
/**
|
|
50
|
+
* The story lookup ends this long after the call starts, its retries and
|
|
51
|
+
* backoff included, so a slow root fetch leaves it less time rather than
|
|
52
|
+
* stretching the call.
|
|
53
|
+
*/
|
|
54
|
+
const STORY_LOOKUP_DEADLINE_MS = 20_000;
|
|
28
55
|
// ---------------------------------------------------------------------------
|
|
29
56
|
// Schemas
|
|
30
57
|
// ---------------------------------------------------------------------------
|
|
@@ -53,11 +80,18 @@ const ItemSchema = z
|
|
|
53
80
|
url: z.string().optional().describe('External link URL.'),
|
|
54
81
|
text: z.string().optional().describe('Body text (HTML stripped).'),
|
|
55
82
|
score: z.number().optional().describe('Upvote count.'),
|
|
56
|
-
descendants: z
|
|
83
|
+
descendants: z
|
|
84
|
+
.number()
|
|
85
|
+
.optional()
|
|
86
|
+
.describe("HN's count of live comments in the thread; dead and deleted comments are not counted."),
|
|
57
87
|
parent: z
|
|
58
88
|
.number()
|
|
59
89
|
.optional()
|
|
60
90
|
.describe('For a comment root, the ID of the story or comment it replies to — pass it as itemId for the context above.'),
|
|
91
|
+
storyId: z
|
|
92
|
+
.number()
|
|
93
|
+
.optional()
|
|
94
|
+
.describe('For a comment root, the ID of the story or poll its discussion belongs to — pass it as itemId for the whole thread, or as storyId to hn_search_content. Absent for other roots, and when the story could not be found (notice says why).'),
|
|
61
95
|
poll: z.number().optional().describe('For a poll-option root, the ID of its poll.'),
|
|
62
96
|
parts: z.array(z.number()).optional().describe('For a poll root, its option IDs in HN order.'),
|
|
63
97
|
deleted: z
|
|
@@ -81,14 +115,16 @@ const CommentSchema = z
|
|
|
81
115
|
time: z.number().optional().describe('Unix timestamp.'),
|
|
82
116
|
text: z.string().optional().describe('Comment text (HTML stripped).'),
|
|
83
117
|
depth: z.number().describe('Nesting level (0 = direct reply to root).'),
|
|
84
|
-
parentId: z
|
|
118
|
+
parentId: z
|
|
119
|
+
.number()
|
|
120
|
+
.describe('Parent item ID: the root or another comment. It can name a dead or deleted comment, which this list omits while still returning its replies; pass that ID as itemId to see it marked.'),
|
|
85
121
|
childCount: z
|
|
86
122
|
.number()
|
|
87
123
|
.describe('Number of direct child comments (may exceed what was resolved).'),
|
|
88
124
|
isOp: z
|
|
89
125
|
.literal(true)
|
|
90
126
|
.optional()
|
|
91
|
-
.describe('Present and `true` when the comment author
|
|
127
|
+
.describe('Present and `true` when the comment author submitted the story or poll the thread belongs to (OP replying within their own thread) — for a comment root, the story at item.storyId. Omitted otherwise, including when either author is missing. Most threads carry no OP replies, so absence usually means "not OP"; it means unknown when the thread\'s root has no author (a deleted story, for example) or when notice says replies are not marked.'),
|
|
92
128
|
})
|
|
93
129
|
.describe('A single comment in the thread with its tree position.');
|
|
94
130
|
// ---------------------------------------------------------------------------
|
|
@@ -135,6 +171,7 @@ function renderRoot(item) {
|
|
|
135
171
|
`id:${item.id}`,
|
|
136
172
|
`type:${item.type}`,
|
|
137
173
|
item.parent != null ? `parent:${item.parent}` : null,
|
|
174
|
+
item.storyId != null ? `story:${item.storyId}` : null,
|
|
138
175
|
item.poll != null ? `poll:${item.poll}` : null,
|
|
139
176
|
item.parts?.length ? `parts:${item.parts.join(',')}` : null,
|
|
140
177
|
item.score != null ? `${item.score} pts` : null,
|
|
@@ -175,66 +212,6 @@ function renderThread(item, comments) {
|
|
|
175
212
|
}
|
|
176
213
|
return parts.join('\n');
|
|
177
214
|
}
|
|
178
|
-
const CursorStateSchema = z
|
|
179
|
-
.object({
|
|
180
|
-
offset: z.number().int().min(0),
|
|
181
|
-
limit: z.number().int().min(1),
|
|
182
|
-
itemId: z.number().int(),
|
|
183
|
-
depth: z.number().int().min(1).max(MAX_DEPTH),
|
|
184
|
-
/** Each group is `[level, parentId, ...ids]`. */
|
|
185
|
-
frontier: z.array(z.array(z.number().int().min(0)).min(3)).min(1),
|
|
186
|
-
depthCut: z.literal(true).optional(),
|
|
187
|
-
})
|
|
188
|
-
.refine((state) => state.frontier.every(([level = state.depth]) => level < state.depth));
|
|
189
|
-
function encodeThreadCursor(state) {
|
|
190
|
-
const groups = [];
|
|
191
|
-
let group;
|
|
192
|
-
for (const { id, level, parentId } of state.frontier) {
|
|
193
|
-
if (group?.[0] === level && group[1] === parentId) {
|
|
194
|
-
group.push(id);
|
|
195
|
-
}
|
|
196
|
-
else {
|
|
197
|
-
group = [level, parentId, id];
|
|
198
|
-
groups.push(group);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
return encodeCursor({
|
|
202
|
-
offset: state.offset,
|
|
203
|
-
limit: state.limit,
|
|
204
|
-
itemId: state.itemId,
|
|
205
|
-
depth: state.depth,
|
|
206
|
-
frontier: groups,
|
|
207
|
-
...(state.depthCut && { depthCut: true }),
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
function malformedCursor(cause) {
|
|
211
|
-
return invalidParams('cursor is not one hn_get_thread issued, or it was altered.', {
|
|
212
|
-
recovery: {
|
|
213
|
-
hint: 'Pass nextCursor exactly as a previous hn_get_thread call returned it, or omit cursor to start the thread from the top.',
|
|
214
|
-
},
|
|
215
|
-
}, { cause });
|
|
216
|
-
}
|
|
217
|
-
/** Decode and validate a cursor; anything this tool did not issue is an input error. */
|
|
218
|
-
function readCursor(cursor, ctx) {
|
|
219
|
-
let decoded;
|
|
220
|
-
try {
|
|
221
|
-
decoded = decodeCursor(cursor, ctx);
|
|
222
|
-
}
|
|
223
|
-
catch (error) {
|
|
224
|
-
throw malformedCursor(error);
|
|
225
|
-
}
|
|
226
|
-
const parsed = CursorStateSchema.safeParse(decoded);
|
|
227
|
-
if (!parsed.success)
|
|
228
|
-
throw malformedCursor(parsed.error);
|
|
229
|
-
const { offset, itemId, depth, frontier, depthCut } = parsed.data;
|
|
230
|
-
return {
|
|
231
|
-
offset,
|
|
232
|
-
itemId,
|
|
233
|
-
depth,
|
|
234
|
-
depthCut: depthCut === true,
|
|
235
|
-
frontier: frontier.flatMap(([level = 0, parentId = 0, ...ids]) => ids.map((id) => ({ id, level, parentId }))),
|
|
236
|
-
};
|
|
237
|
-
}
|
|
238
215
|
/**
|
|
239
216
|
* Ranked BFS over the frontier: every comment at one depth before any at the
|
|
240
217
|
* next, and HN's kids order within each parent. Fetches in chunks no larger
|
|
@@ -254,9 +231,20 @@ async function walkThread(hn, ctx, args) {
|
|
|
254
231
|
let { rateLimit, usedBytes } = args;
|
|
255
232
|
let omittedDeleted = 0;
|
|
256
233
|
let omittedDead = 0;
|
|
257
|
-
let
|
|
234
|
+
let liveDepthCut = false;
|
|
235
|
+
const omittedDepthCut = [];
|
|
258
236
|
let examined = 0;
|
|
259
237
|
let stop;
|
|
238
|
+
/** Queue a visited comment's replies one level down; true when the depth limit cut them instead. */
|
|
239
|
+
const enqueueKids = (c, level) => {
|
|
240
|
+
if (!c.kids?.length)
|
|
241
|
+
return false;
|
|
242
|
+
const next = levels[level + 1];
|
|
243
|
+
if (!next)
|
|
244
|
+
return true;
|
|
245
|
+
next.push(...c.kids.map((id) => ({ id, level: level + 1, parentId: c.id })));
|
|
246
|
+
return false;
|
|
247
|
+
};
|
|
260
248
|
walk: for (const [level, queue] of levels.entries()) {
|
|
261
249
|
while (queue.length > 0) {
|
|
262
250
|
if (rateLimit)
|
|
@@ -285,7 +273,7 @@ async function walkThread(hn, ctx, args) {
|
|
|
285
273
|
depth: level,
|
|
286
274
|
parentId: entry.parentId,
|
|
287
275
|
childCount: c.kids?.length ?? 0,
|
|
288
|
-
...(c.by != null && c.by === args.
|
|
276
|
+
...(c.by != null && c.by === args.opAuthor && { isOp: true }),
|
|
289
277
|
};
|
|
290
278
|
const bytes = byteLength(renderComment(comment)) +
|
|
291
279
|
(comments.length === 0
|
|
@@ -297,13 +285,8 @@ async function walkThread(hn, ctx, args) {
|
|
|
297
285
|
}
|
|
298
286
|
comments.push(comment);
|
|
299
287
|
usedBytes += bytes;
|
|
300
|
-
if (c
|
|
301
|
-
|
|
302
|
-
if (next)
|
|
303
|
-
next.push(...c.kids.map((id) => ({ id, level: level + 1, parentId: c.id })));
|
|
304
|
-
else
|
|
305
|
-
depthCut = true;
|
|
306
|
-
}
|
|
288
|
+
if (enqueueKids(c, level))
|
|
289
|
+
liveDepthCut = true;
|
|
307
290
|
}
|
|
308
291
|
else if (slot.kind === 'failed') {
|
|
309
292
|
failed.push(entry);
|
|
@@ -311,10 +294,13 @@ async function walkThread(hn, ctx, args) {
|
|
|
311
294
|
rateLimit ??= slot.error;
|
|
312
295
|
}
|
|
313
296
|
else if (slot.kind === 'item') {
|
|
297
|
+
/** Omitted, but its live replies are still owed at their true depth. */
|
|
314
298
|
if (slot.item.deleted)
|
|
315
299
|
omittedDeleted++;
|
|
316
300
|
else
|
|
317
301
|
omittedDead++;
|
|
302
|
+
if (enqueueKids(slot.item, level))
|
|
303
|
+
omittedDepthCut.push(slot.item.id);
|
|
318
304
|
}
|
|
319
305
|
visited++;
|
|
320
306
|
}
|
|
@@ -328,15 +314,57 @@ async function walkThread(hn, ctx, args) {
|
|
|
328
314
|
stop = 'rate_limited';
|
|
329
315
|
return {
|
|
330
316
|
comments,
|
|
331
|
-
depthCut,
|
|
332
317
|
failed,
|
|
318
|
+
liveDepthCut,
|
|
333
319
|
omittedDead,
|
|
320
|
+
omittedDepthCut,
|
|
334
321
|
omittedDeleted,
|
|
335
322
|
rateLimit,
|
|
336
323
|
rest: levels.flat(),
|
|
337
324
|
stop,
|
|
338
325
|
};
|
|
339
326
|
}
|
|
327
|
+
/**
|
|
328
|
+
* Find the story or poll a comment root belongs to by following `parent` links
|
|
329
|
+
* up from it, one request per link, all bounded by one `deadline`. A failed,
|
|
330
|
+
* missing, or parentless ancestor, the hop ceiling, or the deadline ends the
|
|
331
|
+
* lookup with a `gap` instead of failing the call; a cancellation propagates.
|
|
332
|
+
*/
|
|
333
|
+
async function findStory(hn, ctx, root, deadline) {
|
|
334
|
+
const outOfTime = 'the lookup ran out of time';
|
|
335
|
+
let next = root.parent;
|
|
336
|
+
let below = 'it';
|
|
337
|
+
let hops = 0;
|
|
338
|
+
while (next != null) {
|
|
339
|
+
if (hops === MAX_STORY_HOPS) {
|
|
340
|
+
return { hops, gap: `it sits more than ${MAX_STORY_HOPS} levels below its story` };
|
|
341
|
+
}
|
|
342
|
+
if (Date.now() >= deadline)
|
|
343
|
+
return { hops, gap: outOfTime, transient: true };
|
|
344
|
+
hops++;
|
|
345
|
+
const [slot] = await hn.fetchItems([next], ctx, deadline);
|
|
346
|
+
if (slot?.kind === 'failed') {
|
|
347
|
+
if (isRateLimited(slot.error)) {
|
|
348
|
+
return {
|
|
349
|
+
hops,
|
|
350
|
+
gap: 'the HN API is rate-limiting this server',
|
|
351
|
+
rateLimit: slot.error,
|
|
352
|
+
transient: true,
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
const gap = Date.now() >= deadline ? outOfTime : `ancestor ${next} failed to load`;
|
|
356
|
+
return { hops, gap, transient: true };
|
|
357
|
+
}
|
|
358
|
+
if (slot?.kind !== 'item')
|
|
359
|
+
return { hops, gap: `ancestor ${next} does not exist` };
|
|
360
|
+
if (slot.item.type !== 'comment') {
|
|
361
|
+
return { hops, story: { id: slot.item.id, by: slot.item.by } };
|
|
362
|
+
}
|
|
363
|
+
below = `ancestor ${slot.item.id}`;
|
|
364
|
+
next = slot.item.parent;
|
|
365
|
+
}
|
|
366
|
+
return { hops, gap: `HN lists no parent for ${below}` };
|
|
367
|
+
}
|
|
340
368
|
function projectOption(option) {
|
|
341
369
|
return {
|
|
342
370
|
id: option.id,
|
|
@@ -371,8 +399,8 @@ export const getThread = tool('hn_get_thread', {
|
|
|
371
399
|
{
|
|
372
400
|
reason: 'invalid_cursor',
|
|
373
401
|
code: JsonRpcErrorCode.InvalidParams,
|
|
374
|
-
when: 'The cursor was issued for a different itemId than the one passed with it.',
|
|
375
|
-
recovery: 'Pass
|
|
402
|
+
when: 'The cursor is not one this tool issued, was altered, or was issued for a different itemId than the one passed with it.',
|
|
403
|
+
recovery: 'Pass nextCursor unchanged, with the same itemId it was returned for, or omit cursor to start this item from the top.',
|
|
376
404
|
severity: 'notice',
|
|
377
405
|
},
|
|
378
406
|
{
|
|
@@ -424,16 +452,16 @@ export const getThread = tool('hn_get_thread', {
|
|
|
424
452
|
.number()
|
|
425
453
|
.int()
|
|
426
454
|
.min(0)
|
|
427
|
-
.max(
|
|
455
|
+
.max(DEPTH_CEILING)
|
|
428
456
|
.default(3)
|
|
429
|
-
.describe(`How many levels of replies to resolve. 0 = just the item, no comments. 1 = direct replies only. Replies below
|
|
457
|
+
.describe(`How many levels of replies to resolve, at most ${DEPTH_CAP} per call. 0 = just the item, no comments. 1 = direct replies only. A larger value is served at ${DEPTH_CAP}. Replies below the depth served are never fetched — to read them, raise depth up to ${DEPTH_CAP}, or call again with a comment from the deepest level returned, or one notice names, as itemId to drill into its subtree. Ignored when cursor is set: the depth the cursor was issued with applies.`),
|
|
430
458
|
maxComments: z
|
|
431
459
|
.number()
|
|
432
460
|
.int()
|
|
433
461
|
.min(1)
|
|
434
|
-
.max(
|
|
462
|
+
.max(MAX_COMMENTS_CEILING)
|
|
435
463
|
.default(50)
|
|
436
|
-
.describe(`Maximum comments in one response, across all depth levels. Highest-ranked top-level comments resolve first; replies fill in only after the level above is exhausted. A response also stops at a fixed 64,000-byte text budget. When either limit stops the traversal, nextCursor continues it.`),
|
|
464
|
+
.describe(`Maximum comments in one response, across all depth levels, at most ${MAX_COMMENTS_CAP} per call. A larger value is served at ${MAX_COMMENTS_CAP}, and nextCursor continues from there. Highest-ranked top-level comments resolve first; replies fill in only after the level above is exhausted. A response also stops at a fixed 64,000-byte text budget. When either limit stops the traversal, nextCursor continues it.`),
|
|
437
465
|
cursor: z
|
|
438
466
|
.string()
|
|
439
467
|
.optional()
|
|
@@ -452,7 +480,7 @@ export const getThread = tool('hn_get_thread', {
|
|
|
452
480
|
totalAvailable: z
|
|
453
481
|
.number()
|
|
454
482
|
.optional()
|
|
455
|
-
.describe("HN's
|
|
483
|
+
.describe("HN's count of live comments in the thread (descendants); dead and deleted comments are not counted. Absent for comment and job roots."),
|
|
456
484
|
truncated: z
|
|
457
485
|
.boolean()
|
|
458
486
|
.optional()
|
|
@@ -466,7 +494,10 @@ export const getThread = tool('hn_get_thread', {
|
|
|
466
494
|
.optional()
|
|
467
495
|
.describe('Pass as cursor, with the same itemId, to continue from the next unseen comment. Present when truncationReason is count, size, or rate_limited; absent on the last page.'),
|
|
468
496
|
shown: z.number().optional().describe('Number of comments returned.'),
|
|
469
|
-
cap: z
|
|
497
|
+
cap: z
|
|
498
|
+
.number()
|
|
499
|
+
.optional()
|
|
500
|
+
.describe(`The maxComments value served: as passed, or ${MAX_COMMENTS_CAP} when maxComments was above that cap.`),
|
|
470
501
|
failedIds: z
|
|
471
502
|
.array(z.number())
|
|
472
503
|
.optional()
|
|
@@ -474,13 +505,17 @@ export const getThread = tool('hn_get_thread', {
|
|
|
474
505
|
notice: z
|
|
475
506
|
.string()
|
|
476
507
|
.optional()
|
|
477
|
-
.describe('Traversal context: counts of deleted/dead comments dropped, the IDs that failed to load and how to retry them, then what stopped the traversal and how to continue — nextCursor for a count, size, or rate-limit stop, or a larger depth or a comment id as itemId for a depth cut. Absent when nothing was dropped, failed, or left unread.'),
|
|
508
|
+
.describe('Traversal context: counts of deleted/dead comments dropped, the IDs that failed to load and how to retry them, then what stopped the traversal and how to continue — nextCursor for a count, size, or rate-limit stop, or a larger depth or a comment id as itemId for a depth cut — noting when the maxComments or depth that stopped it was served at its per-call cap. Dead or deleted comments whose replies the depth limit cut are named by id, to pass as itemId, on the page that reaches them, since comments omits them. Absent when nothing was dropped, failed, or left unread.'),
|
|
478
509
|
},
|
|
479
510
|
enrichmentTrailer: {
|
|
480
511
|
failedIds: { render: (ids) => `**Failed to load:** ${(ids ?? []).join(', ')}` },
|
|
481
512
|
},
|
|
482
513
|
async handler(input, ctx) {
|
|
483
|
-
const
|
|
514
|
+
const startedAt = Date.now();
|
|
515
|
+
const resume = input.cursor ? decodeThreadCursor(input.cursor, DEPTH_CAP) : undefined;
|
|
516
|
+
if (input.cursor && !resume) {
|
|
517
|
+
throw ctx.fail('invalid_cursor', 'cursor is not one hn_get_thread issued, or it was altered.', { itemId: input.itemId });
|
|
518
|
+
}
|
|
484
519
|
if (resume && resume.itemId !== input.itemId) {
|
|
485
520
|
throw ctx.fail('invalid_cursor', `This cursor continues item ${resume.itemId}, not item ${input.itemId}.`, { itemId: input.itemId });
|
|
486
521
|
}
|
|
@@ -489,6 +524,16 @@ export const getThread = tool('hn_get_thread', {
|
|
|
489
524
|
if (!root) {
|
|
490
525
|
throw ctx.fail('item_not_found', `Item ${input.itemId} not found`, { itemId: input.itemId });
|
|
491
526
|
}
|
|
527
|
+
/**
|
|
528
|
+
* OP on a comment root means the author of the story above it. A cursor
|
|
529
|
+
* carries the story an earlier page found; one issued before it was found
|
|
530
|
+
* looks again.
|
|
531
|
+
*/
|
|
532
|
+
const lookup = root.type !== 'comment'
|
|
533
|
+
? undefined
|
|
534
|
+
: resume?.story
|
|
535
|
+
? { hops: 0, story: resume.story }
|
|
536
|
+
: await findStory(hn, ctx, root, startedAt + STORY_LOOKUP_DEADLINE_MS);
|
|
492
537
|
const options = [];
|
|
493
538
|
const failedOptionIds = [];
|
|
494
539
|
let optionRateLimit;
|
|
@@ -518,20 +563,22 @@ export const getThread = tool('hn_get_thread', {
|
|
|
518
563
|
score: root.score,
|
|
519
564
|
descendants: root.descendants,
|
|
520
565
|
...(root.parent != null && { parent: root.parent }),
|
|
566
|
+
...(lookup?.story && { storyId: lookup.story.id }),
|
|
521
567
|
...(root.poll != null && { poll: root.poll }),
|
|
522
568
|
...(root.parts && root.parts.length > 0 && { parts: root.parts }),
|
|
523
569
|
...(root.deleted && { deleted: true }),
|
|
524
570
|
...(root.dead && { dead: true }),
|
|
525
571
|
...(options.length > 0 && { options }),
|
|
526
572
|
};
|
|
527
|
-
const depth = resume?.depth ?? input.depth;
|
|
573
|
+
const depth = resume?.depth ?? Math.min(input.depth, DEPTH_CAP);
|
|
574
|
+
const maxComments = Math.min(input.maxComments, MAX_COMMENTS_CAP);
|
|
528
575
|
const seed = resume?.frontier ??
|
|
529
576
|
(depth > 0 ? (root.kids ?? []).map((id) => ({ id, level: 0, parentId: root.id })) : []);
|
|
530
577
|
const walk = await walkThread(hn, ctx, {
|
|
531
578
|
depth,
|
|
532
|
-
maxComments
|
|
533
|
-
|
|
534
|
-
|
|
579
|
+
maxComments,
|
|
580
|
+
opAuthor: lookup ? lookup.story?.by : root.by,
|
|
581
|
+
rateLimit: optionRateLimit ?? lookup?.rateLimit,
|
|
535
582
|
seed,
|
|
536
583
|
usedBytes: byteLength(renderRoot(item)),
|
|
537
584
|
});
|
|
@@ -541,6 +588,7 @@ export const getThread = tool('hn_get_thread', {
|
|
|
541
588
|
comments: comments.length,
|
|
542
589
|
failed: walk.failed.length + failedOptionIds.length,
|
|
543
590
|
stop,
|
|
591
|
+
...(lookup && { storyId: lookup.story?.id, storyHops: lookup.hops }),
|
|
544
592
|
});
|
|
545
593
|
const totalLoaded = comments.length;
|
|
546
594
|
/** Comments returned across every page so far, this one included. */
|
|
@@ -553,18 +601,32 @@ export const getThread = tool('hn_get_thread', {
|
|
|
553
601
|
...(totalAvailable != null && { totalAvailable }),
|
|
554
602
|
...(failedIds.length > 0 && { failedIds }),
|
|
555
603
|
});
|
|
556
|
-
const
|
|
604
|
+
const omittedCut = walk.omittedDepthCut;
|
|
605
|
+
const depthCut = walk.liveDepthCut || omittedCut.length > 0 || resume?.depthCut === true;
|
|
557
606
|
/** Failed comments lead the cursor, so continuing retries them rather than skipping them. */
|
|
558
607
|
const nextCursor = stop &&
|
|
559
608
|
encodeThreadCursor({
|
|
560
609
|
offset: loadedSoFar,
|
|
561
|
-
limit: input.maxComments,
|
|
562
610
|
itemId: input.itemId,
|
|
563
611
|
depth,
|
|
564
612
|
frontier: [...walk.failed, ...walk.rest],
|
|
565
613
|
depthCut,
|
|
614
|
+
...(lookup?.story && { story: lookup.story }),
|
|
566
615
|
});
|
|
567
616
|
const noticeParts = [];
|
|
617
|
+
if (lookup?.gap) {
|
|
618
|
+
const retry = !lookup.transient
|
|
619
|
+
? ''
|
|
620
|
+
: nextCursor
|
|
621
|
+
? ' Continuing with nextCursor retries the lookup.'
|
|
622
|
+
: lookup.rateLimit
|
|
623
|
+
? ` Wait ${waitFor(lookup.rateLimit)}, then call again.`
|
|
624
|
+
: ' Call again to retry.';
|
|
625
|
+
noticeParts.push(`Could not find the story this comment belongs to: ${lookup.gap}. storyId is absent and replies by the story's author are not marked isOp.${retry}`);
|
|
626
|
+
}
|
|
627
|
+
else if (lookup?.story && !lookup.story.by) {
|
|
628
|
+
noticeParts.push(`The story this comment belongs to (id ${lookup.story.id}) has no author on record, so no reply is marked isOp.`);
|
|
629
|
+
}
|
|
568
630
|
if (walk.omittedDeleted > 0 || walk.omittedDead > 0) {
|
|
569
631
|
noticeParts.push(`${walk.omittedDeleted} deleted, ${walk.omittedDead} dead — omitted from this view.`);
|
|
570
632
|
}
|
|
@@ -581,9 +643,15 @@ export const getThread = tool('hn_get_thread', {
|
|
|
581
643
|
}
|
|
582
644
|
const loaded = totalAvailable != null ? ` with ${loadedSoFar}/${totalAvailable} comments loaded` : '';
|
|
583
645
|
const resumeHint = 'Pass nextCursor as cursor, with the same itemId, to continue.';
|
|
646
|
+
/** Below the depth cap a larger depth reaches every omitted subtree, so a few names do. */
|
|
647
|
+
const named = depth < DEPTH_CAP ? omittedCut.slice(0, OMITTED_IDS_NAMED) : omittedCut;
|
|
648
|
+
const unnamed = omittedCut.length - named.length;
|
|
649
|
+
const omittedIds = `${plural(omittedCut.length, 'id')} ${named.join(', ')}${unnamed > 0 ? `, and ${unnamed} more` : ''}`;
|
|
584
650
|
switch (stop) {
|
|
585
651
|
case 'count':
|
|
586
|
-
noticeParts.push(`Stopped at maxComments ${
|
|
652
|
+
noticeParts.push(`Stopped at maxComments ${maxComments}${loaded}.`, ...(input.maxComments > MAX_COMMENTS_CAP
|
|
653
|
+
? [servedAtCap('maxComments', input.maxComments, MAX_COMMENTS_CAP)]
|
|
654
|
+
: []), resumeHint);
|
|
587
655
|
break;
|
|
588
656
|
case 'examined':
|
|
589
657
|
noticeParts.push(`Stopped after examining ${MAX_ITEMS_EXAMINED.toLocaleString('en-US')} items in one call${loaded}. ${resumeHint}`);
|
|
@@ -596,17 +664,42 @@ export const getThread = tool('hn_get_thread', {
|
|
|
596
664
|
break;
|
|
597
665
|
case undefined:
|
|
598
666
|
if (depthCut) {
|
|
599
|
-
const raise = depth <
|
|
600
|
-
|
|
667
|
+
const raise = depth < DEPTH_CAP ? `Raise depth (max ${DEPTH_CAP}), or pass` : 'Pass';
|
|
668
|
+
/** With a cursor its depth applies; the cap is named only when it is what was served. */
|
|
669
|
+
const overCap = input.depth > DEPTH_CAP && depth === DEPTH_CAP;
|
|
670
|
+
/**
|
|
671
|
+
* Name only drill-in targets this page can vouch for. A cut carried from
|
|
672
|
+
* an earlier page may have fallen below a comment shown there or one
|
|
673
|
+
* named there as omitted, and this page cannot tell which.
|
|
674
|
+
*/
|
|
675
|
+
const targets = [
|
|
676
|
+
walk.liveDepthCut
|
|
677
|
+
? `a depth-${depth - 1} comment that shows replies`
|
|
678
|
+
: resume?.depthCut
|
|
679
|
+
? `a depth-${depth - 1} comment with replies on an earlier page (shown there, or named as omitted)`
|
|
680
|
+
: undefined,
|
|
681
|
+
omittedCut.length === 1
|
|
682
|
+
? `omitted comment ${omittedCut[0]}`
|
|
683
|
+
: omittedCut.length > 1
|
|
684
|
+
? `an omitted comment with replies (${omittedIds})`
|
|
685
|
+
: undefined,
|
|
686
|
+
].filter((target) => target != null);
|
|
687
|
+
noticeParts.push(`The depth limit (${depth}) left replies unread${loaded}.`, ...(overCap ? [servedAtCap('depth', input.depth, DEPTH_CAP)] : []), `${raise} the id of ${targets.join(', or of ')}${targets.length > 1 ? ',' : ''} as itemId to read its subtree.`);
|
|
601
688
|
}
|
|
602
689
|
else if (resume && totalLoaded === 0 && noticeParts.length === 0) {
|
|
603
690
|
noticeParts.push('No comments remain past this cursor; the thread has been read to the end.');
|
|
604
691
|
}
|
|
605
692
|
break;
|
|
606
693
|
}
|
|
694
|
+
/** A page nextCursor continues reports the depth cut later, by flag alone, so it names them now. */
|
|
695
|
+
if (stop && omittedCut.length > 0) {
|
|
696
|
+
const n = omittedCut.length;
|
|
697
|
+
const raiseAll = unnamed > 0 ? `, or raise depth (max ${DEPTH_CAP}) to read them all` : '';
|
|
698
|
+
noticeParts.push(`${n} omitted ${plural(n, 'comment')} (${omittedIds}) ${plural(n, 'has', 'have')} replies below the depth limit, which nextCursor does not reach; pass ${plural(n, 'its id', 'an id')} as itemId to read ${plural(n, 'its', "that comment's")} subtree${raiseAll}.`);
|
|
699
|
+
}
|
|
607
700
|
const notice = noticeParts.join(' ');
|
|
608
701
|
if (stop === 'count' || stop === 'examined' || stop === 'size') {
|
|
609
|
-
ctx.enrich.truncated({ shown: totalLoaded, cap:
|
|
702
|
+
ctx.enrich.truncated({ shown: totalLoaded, cap: maxComments, guidance: notice });
|
|
610
703
|
}
|
|
611
704
|
else if (stop === 'rate_limited' || depthCut) {
|
|
612
705
|
ctx.enrich({ truncated: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-thread.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-thread.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"get-thread.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-thread.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAgB,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAiB,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,kBAAkB,EAClB,YAAY,EAEZ,aAAa,EACb,YAAY,EACZ,SAAS,GACV,MAAM,6BAA6B,CAAC;AAGrC,oFAAoF;AACpF,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,qEAAqE;AACrE,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC;;;;GAIG;AACH,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,+DAA+D;AAC/D,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B;;;GAGG;AACH,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAErC,qFAAqF;AACrF,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAEjC;;;GAGG;AACH,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAExC,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IACzF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC/D,OAAO,EAAE,CAAC;SACP,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,EAAE;SACV,QAAQ,CAAC,oEAAoE,CAAC;IACjF,IAAI,EAAE,CAAC;SACJ,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,EAAE;SACV,QAAQ,CACP,oFAAoF,CACrF;CACJ,CAAC;KACD,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAEhC,MAAM,UAAU,GAAG,CAAC;KACjB,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;IAC/E,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACtD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACvD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC9D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACzD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAClE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IACtD,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,uFAAuF,CACxF;IACH,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,6GAA6G,CAC9G;IACH,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,0OAA0O,CAC3O;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IACnF,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAC9F,OAAO,EAAE,CAAC;SACP,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,EAAE;SACV,QAAQ,CACP,yIAAyI,CAC1I;IACH,IAAI,EAAE,CAAC;SACJ,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,EAAE;SACV,QAAQ,CACP,gHAAgH,CACjH;IACH,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,YAAY,CAAC;SACnB,QAAQ,EAAE;SACV,QAAQ,CACP,0QAA0Q,CAC3Q;CACJ,CAAC;KACD,QAAQ,CAAC,6DAA6D,CAAC,CAAC;AAE3E,MAAM,aAAa,GAAG,CAAC;KACpB,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IACtC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACtD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACvD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACrE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACvE,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CACP,uLAAuL,CACxL;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,CAAC,iEAAiE,CAAC;IAC9E,IAAI,EAAE,CAAC;SACJ,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,EAAE;SACV,QAAQ,CACP,wbAAwb,CACzb;CACJ,CAAC;KACD,QAAQ,CAAC,wDAAwD,CAAC,CAAC;AAMtE,8EAA8E;AAC9E,+EAA+E;AAC/E,sCAAsC;AACtC,8EAA8E;AAE9E,MAAM,WAAW,GAA2B;IAC1C,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,aAAa;CACvB,CAAC;AAEF,8EAA8E;AAC9E,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEnC,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;AAC/B,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;AAElE,qFAAqF;AACrF,SAAS,WAAW,CAAC,IAAgB;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,GAAG,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IAC7D,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,IAAI,SAAS,EAAE,CAAC;IACjE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,YAAY,CAAC,MAAoB;IACxC,MAAM,IAAI,GAAG;QACX,MAAM,MAAM,CAAC,EAAE,EAAE;QACjB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;QACnC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QAC7B,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI;KACpD;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,OAAO,KAAK,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC3E,CAAC;AAED,SAAS,UAAU,CAAC,IAAgB;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI;QACpB,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,GAAG;QAC7E,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,IAAI,GAAG;QACX,MAAM,IAAI,CAAC,EAAE,EAAE;QACf,QAAQ,IAAI,CAAC,IAAI,EAAE;QACnB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI;QACpD,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI;QACrD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;QAC9C,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QAC3D,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI;QAC/C,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;QAChC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,WAAW,CAAC,CAAC,CAAC,IAAI;QAChE,IAAI;KACL;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,MAAM,KAAK,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACnD,IAAI,IAAI,CAAC,GAAG;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEjC,SAAS,aAAa,CAAC,CAAgB;IACrC,wFAAwF;IACxF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACrE,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI;QACjB,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG;QACzF,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,GAAG,MAAM,KAAK,MAAM,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,QAAQ,GAAG,KAAK,GAAG,OAAO,MAAM,IAAI,GAAG,CAAC;IAC3H,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACrE,CAAC;AAED,SAAS,YAAY,CAAC,IAAgB,EAAE,QAAkC;IACxE,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AA6BD;;;;;;;;;GASG;AACH,KAAK,UAAU,UAAU,CACvB,EAAa,EACb,GAAY,EACZ,IAQC;IAED,MAAM,MAAM,GAAsB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI;QAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACpC,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,IAA0B,CAAC;IAE/B,oGAAoG;IACpG,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,KAAa,EAAW,EAAE;QACxD,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM;YAAE,OAAO,KAAK,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7E,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,IAAI,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,SAAS;gBAAE,IAAI,GAAG,cAAc,CAAC;iBAChC,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW;gBAAE,IAAI,GAAG,OAAO,CAAC;iBACxD,IAAI,QAAQ,IAAI,kBAAkB;gBAAE,IAAI,GAAG,UAAU,CAAC;YAC3D,IAAI,IAAI;gBAAE,MAAM,IAAI,CAAC;YAErB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CACvB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,kBAAkB,GAAG,QAAQ,CAAC,CACzF,CAAC;YACF,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC;YACzB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,UAAU,CAC/B,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAC9B,GAAG,CACJ,CAAC;YAEF,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,IAAI;oBAAE,MAAM;gBACjB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBAClE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;oBACpB,MAAM,OAAO,GAAkB;wBAC7B,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;wBAC5C,KAAK,EAAE,KAAK;wBACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;wBAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,IAAI,EAAE,IAAI,EAAE,IAAa,EAAE,CAAC;qBACvE,CAAC;oBACF,MAAM,KAAK,GACT,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;wBAClC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;4BACpB,CAAC,CAAC,UAAU,CAAC,KAAK,gBAAgB,IAAI,CAAC;4BACvC,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBACrC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,GAAG,KAAK,GAAG,qBAAqB,EAAE,CAAC;wBACrE,IAAI,GAAG,MAAM,CAAC;wBACd,MAAM;oBACR,CAAC;oBACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACvB,SAAS,IAAI,KAAK,CAAC;oBACnB,IAAI,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC;wBAAE,YAAY,GAAG,IAAI,CAAC;gBACjD,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAClC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnB,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;wBAAE,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC;gBAC1D,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAChC,wEAAwE;oBACxE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;wBAAE,cAAc,EAAE,CAAC;;wBACnC,WAAW,EAAE,CAAC;oBACnB,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;wBAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxE,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACzB,IAAI,IAAI;gBAAE,MAAM,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,GAAG,cAAc,CAAC;IAEnE,OAAO;QACL,QAAQ;QACR,MAAM;QACN,YAAY;QACZ,WAAW;QACX,eAAe;QACf,cAAc;QACd,SAAS;QACT,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;QACnB,IAAI;KACL,CAAC;AACJ,CAAC;AAmBD;;;;;GAKG;AACH,KAAK,UAAU,SAAS,CACtB,EAAa,EACb,GAAY,EACZ,IAAY,EACZ,QAAgB;IAEhB,MAAM,SAAS,GAAG,4BAA4B,CAAC;IAC/C,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IACvB,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC;QACpB,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC5B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,qBAAqB,cAAc,yBAAyB,EAAE,CAAC;QACrF,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC7E,IAAI,EAAE,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC1D,IAAI,IAAI,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO;oBACL,IAAI;oBACJ,GAAG,EAAE,yCAAyC;oBAC9C,SAAS,EAAE,IAAI,CAAC,KAAK;oBACrB,SAAS,EAAE,IAAI;iBAChB,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,IAAI,iBAAiB,CAAC;YACnF,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACxC,CAAC;QACD,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,IAAI,iBAAiB,EAAE,CAAC;QACnF,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;QACjE,CAAC;QACD,KAAK,GAAG,YAAY,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,0BAA0B,KAAK,EAAE,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QACpD,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,IAAa,EAAE,CAAC;QACjD,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAa,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,kDAAkD;AAClD,SAAS,OAAO,CAAC,SAA+B;IAC9C,MAAM,UAAU,GAAG,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC;IAC/C,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,OAAO,iBAAiB,CAAC;IAC7D,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,UAAU,CAAC,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC;AACpF,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,GAAW,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAEpF,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE;IAC7C,WAAW,EACT,kOAAkO;IACpO,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;IACnC,MAAM,EAAE;QACN;YACE,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,iDAAiD;YACvD,QAAQ,EAAE,gFAAgF;YAC1F,QAAQ,EAAE,QAAQ;SACnB;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,gBAAgB,CAAC,aAAa;YACpC,IAAI,EAAE,wHAAwH;YAC9H,QAAQ,EACN,sHAAsH;YACxH,QAAQ,EAAE,QAAQ;SACnB;QACD;YACE,MAAM,EAAE,mBAAmB;YAC3B,IAAI,EAAE,gBAAgB,CAAC,aAAa;YACpC,IAAI,EAAE,0FAA0F;YAChG,QAAQ,EAAE,+EAA+E;YACzF,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,uBAAuB;YAC/B,IAAI,EAAE,gBAAgB,CAAC,WAAW;YAClC,IAAI,EAAE,oCAAoC;YAC1C,QAAQ,EACN,kIAAkI;YACpI,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,sBAAsB;YAC9B,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,wCAAwC;YAC9C,QAAQ,EAAE,8EAA8E;YACxF,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,2GAA2G;YACjH,QAAQ,EAAE,0EAA0E;YACpF,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,oBAAoB;YAC5B,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,oEAAoE;YAC1E,QAAQ,EAAE,kFAAkF;YAC5F,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,SAAS;SACpB;KACF;IACD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,CAAC,8EAA8E,CAAC;QAC3F,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,aAAa,CAAC;aAClB,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CACP,kDAAkD,SAAS,mGAAmG,SAAS,wFAAwF,SAAS,qMAAqM,CAC9c;QACH,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,oBAAoB,CAAC;aACzB,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CACP,sEAAsE,gBAAgB,0CAA0C,gBAAgB,4QAA4Q,CAC7Z;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,mLAAmL,CACpL;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,CAAC;aACR,KAAK,CAAC,aAAa,CAAC;aACpB,QAAQ,CACP,0MAA0M,CAC3M;KACJ,CAAC;IAEF,UAAU,EAAE;QACV,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,CAAC,2EAA2E,CAAC;QACxF,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,uIAAuI,CACxI;QACH,SAAS,EAAE,CAAC;aACT,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,6OAA6O,CAC9O;QACH,gBAAgB,EAAE,CAAC;aAChB,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;aAChD,QAAQ,EAAE;aACV,QAAQ,CACP,sZAAsZ,CACvZ;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,yKAAyK,CAC1K;QACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QACrE,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,+CAA+C,gBAAgB,uCAAuC,CACvG;QACH,SAAS,EAAE,CAAC;aACT,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,wYAAwY,CACzY;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,6jBAA6jB,CAC9jB;KACJ;IACD,iBAAiB,EAAE;QACjB,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,uBAAuB,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;KAChF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtF,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,GAAG,CAAC,IAAI,CACZ,gBAAgB,EAChB,4DAA4D,EAC5D,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CACzB,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,GAAG,CAAC,IAAI,CACZ,gBAAgB,EAChB,8BAA8B,MAAM,CAAC,MAAM,cAAc,KAAK,CAAC,MAAM,GAAG,EACxE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CACzB,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,KAAK,CAAC,MAAM,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/F,CAAC;QAED;;;;WAIG;QACH,MAAM,MAAM,GACV,IAAI,CAAC,IAAI,KAAK,SAAS;YACrB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,EAAE,KAAK;gBACb,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;gBAClC,CAAC,CAAC,MAAM,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,GAAG,wBAAwB,CAAC,CAAC;QAE7E,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,IAAI,eAAqC,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAClF,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9B,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;oBAAE,eAAe,KAAK,IAAI,CAAC,KAAK,CAAC;YAChE,CAAC;QACH,CAAC;QAED;;;;WAIG;QACH,MAAM,IAAI,GAAe;YACvB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YAC9D,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAClD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YACnD,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YAClD,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YACjE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,IAAa,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAa,EAAE,CAAC;YACzC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;SACvC,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAClE,MAAM,IAAI,GACR,MAAM,EAAE,QAAQ;YAChB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1F,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE;YACrC,KAAK;YACL,WAAW;YACX,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;YAC7C,SAAS,EAAE,eAAe,IAAI,MAAM,EAAE,SAAS;YAC/C,IAAI;YACJ,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACxC,CAAC,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAEhC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,QAAQ,CAAC,MAAM;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM;YACnD,IAAI;YACJ,GAAG,CAAC,MAAM,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;SACrE,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC;QACpC,qEAAqE;QACrE,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC;QACxD,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC;QACxC,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,eAAe,CAAC,CAAC;QAC5D,GAAG,CAAC,MAAM,CAAC;YACT,WAAW;YACX,GAAG,CAAC,cAAc,IAAI,IAAI,IAAI,EAAE,cAAc,EAAE,CAAC;YACjD,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;SAC3C,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC;QACzF,6FAA6F;QAC7F,MAAM,UAAU,GACd,IAAI;YACJ,kBAAkB,CAAC;gBACjB,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK;gBACL,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;gBACxC,QAAQ;gBACR,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;aAC9C,CAAC,CAAC;QAEL,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,SAAS;gBAC7B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,UAAU;oBACV,CAAC,CAAC,iDAAiD;oBACnD,CAAC,CAAC,MAAM,CAAC,SAAS;wBAChB,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB;wBACxD,CAAC,CAAC,uBAAuB,CAAC;YAChC,WAAW,CAAC,IAAI,CACd,qDAAqD,MAAM,CAAC,GAAG,6EAA6E,KAAK,EAAE,CACpJ,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YAC7C,WAAW,CAAC,IAAI,CACd,yCAAyC,MAAM,CAAC,KAAK,CAAC,EAAE,wDAAwD,CACjH,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YACpD,WAAW,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,cAAc,aAAa,IAAI,CAAC,WAAW,iCAAiC,CACrF,CAAC;QACJ,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC;YAClC,MAAM,KAAK,GAAG,UAAU;gBACtB,CAAC,CAAC,sBAAsB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,2BAA2B,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,kEAAkE;gBACnK,CAAC,CAAC,qFAAqF,CAAC;YAC1F,WAAW,CAAC,IAAI,CACd,mBAAmB,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,qCAAqC,KAAK,EAAE,CAC3K,CAAC;QACJ,CAAC;QACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC;YACjC,WAAW,CAAC,IAAI,CACd,mBAAmB,CAAC,SAAS,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAC5H,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GACV,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,WAAW,IAAI,cAAc,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,MAAM,UAAU,GAAG,+DAA+D,CAAC;QACnF,2FAA2F;QAC3F,MAAM,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACtF,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACjD,MAAM,UAAU,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACzH,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,OAAO;gBACV,WAAW,CAAC,IAAI,CACd,0BAA0B,WAAW,GAAG,MAAM,GAAG,EACjD,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,gBAAgB;oBACtC,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;oBACnE,CAAC,CAAC,EAAE,CAAC,EACP,UAAU,CACX,CAAC;gBACF,MAAM;YACR,KAAK,UAAU;gBACb,WAAW,CAAC,IAAI,CACd,2BAA2B,kBAAkB,CAAC,cAAc,CAAC,OAAO,CAAC,qBAAqB,MAAM,KAAK,UAAU,EAAE,CAClH,CAAC;gBACF,MAAM;YACR,KAAK,MAAM;gBACT,WAAW,CAAC,IAAI,CACd,kBAAkB,qBAAqB,CAAC,cAAc,CAAC,OAAO,CAAC,+BAA+B,WAAW,IAAI,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,MAAM,KAAK,UAAU,EAAE,CACtK,CAAC;gBACF,MAAM;YACR,KAAK,cAAc;gBACjB,WAAW,CAAC,IAAI,CACd,yDAAyD,MAAM,UAAU,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,oHAAoH,CACrN,CAAC;gBACF,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,oBAAoB,SAAS,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;oBACrF,yFAAyF;oBACzF,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,GAAG,SAAS,IAAI,KAAK,KAAK,SAAS,CAAC;oBAC/D;;;;uBAIG;oBACH,MAAM,OAAO,GAAG;wBACd,IAAI,CAAC,YAAY;4BACf,CAAC,CAAC,WAAW,KAAK,GAAG,CAAC,6BAA6B;4BACnD,CAAC,CAAC,MAAM,EAAE,QAAQ;gCAChB,CAAC,CAAC,WAAW,KAAK,GAAG,CAAC,6EAA6E;gCACnG,CAAC,CAAC,SAAS;wBACf,UAAU,CAAC,MAAM,KAAK,CAAC;4BACrB,CAAC,CAAC,mBAAmB,UAAU,CAAC,CAAC,CAAC,EAAE;4BACpC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gCACrB,CAAC,CAAC,oCAAoC,UAAU,GAAG;gCACnD,CAAC,CAAC,SAAS;qBAChB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;oBACrC,WAAW,CAAC,IAAI,CACd,oBAAoB,KAAK,wBAAwB,MAAM,GAAG,EAC1D,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAClE,GAAG,KAAK,cAAc,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,iCAAiC,CAChH,CAAC;gBACJ,CAAC;qBAAM,IAAI,MAAM,IAAI,WAAW,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACnE,WAAW,CAAC,IAAI,CACd,2EAA2E,CAC5E,CAAC;gBACJ,CAAC;gBACD,MAAM;QACV,CAAC;QACD,oGAAoG;QACpG,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;YAC5B,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,yBAAyB,SAAS,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,WAAW,CAAC,IAAI,CACd,GAAG,CAAC,YAAY,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,UAAU,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,yEAAyE,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,sBAAsB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,WAAW,QAAQ,GAAG,CACpQ,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC/D,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACnF,CAAC;aAAM,IAAI,IAAI,KAAK,cAAc,IAAI,QAAQ,EAAE,CAAC;YAC/C,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,CAAC;gBACT,gBAAgB,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC;gBACnE,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;CACzF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-user.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-user.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"get-user.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-user.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAiBjE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8RlB,CAAC"}
|