paperclip-plugin-telegram 0.2.3 → 0.2.7

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/worker.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { definePlugin, runWorker, } from "@paperclipai/plugin-sdk";
2
- import { sendMessage, editMessage, answerCallbackQuery, setMyCommands, escapeMarkdownV2, } from "./telegram-api.js";
2
+ import { sendMessage, editMessage, answerCallbackQuery, setMyCommands, escapeMarkdownV2, isForum, GENERAL_TOPIC_THREAD_ID, } from "./telegram-api.js";
3
3
  import { formatIssueCreated, formatIssueDone, formatApprovalCreated, formatAgentError, formatAgentRunStarted, formatAgentRunFinished, } from "./formatters.js";
4
4
  import { handleCommand, getTopicForProject, BOT_COMMANDS } from "./commands.js";
5
5
  import { routeMessageToAgent, handleHandoffToolCall, handleDiscussToolCall, handleHandoffApproval, handleHandoffRejection, setupAcpOutputListener, } from "./acp-bridge.js";
@@ -22,7 +22,7 @@ async function resolveCompanyId(ctx, chatId) {
22
22
  scopeKind: "instance",
23
23
  stateKey: `chat_${chatId}`,
24
24
  });
25
- return mapping?.companyName ?? chatId;
25
+ return mapping?.companyId ?? mapping?.companyName ?? chatId;
26
26
  }
27
27
  const plugin = definePlugin({
28
28
  async setup(ctx) {
@@ -30,6 +30,7 @@ const plugin = definePlugin({
30
30
  ctx.logger.info("Telegram plugin config loaded");
31
31
  const config = rawConfig;
32
32
  const baseUrl = config.paperclipBaseUrl || "http://localhost:3100";
33
+ const publicUrl = config.paperclipPublicUrl || baseUrl;
33
34
  if (!config.telegramBotTokenRef) {
34
35
  ctx.logger.warn("No telegramBotTokenRef configured, plugin disabled");
35
36
  return;
@@ -52,12 +53,12 @@ const plugin = definePlugin({
52
53
  async function pollUpdates() {
53
54
  while (pollingActive) {
54
55
  try {
55
- const res = await ctx.http.fetch(`${TELEGRAM_API}/bot${token}/getUpdates?offset=${lastUpdateId + 1}&timeout=30&allowed_updates=["message","callback_query"]`, { method: "GET" });
56
+ const res = await ctx.http.fetch(`${TELEGRAM_API}/bot${token}/getUpdates?offset=${lastUpdateId + 1}&timeout=10&allowed_updates=["message","callback_query"]`, { method: "GET" });
56
57
  const data = (await res.json());
57
58
  if (data.ok && data.result) {
58
59
  for (const update of data.result) {
59
60
  lastUpdateId = Math.max(lastUpdateId, update.update_id);
60
- await handleUpdate(ctx, token, config, update, baseUrl);
61
+ await handleUpdate(ctx, token, config, update, baseUrl, publicUrl);
61
62
  }
62
63
  }
63
64
  }
@@ -76,17 +77,33 @@ const plugin = definePlugin({
76
77
  // --- Phase 2: ACP output listener (cross-plugin events) ---
77
78
  setupAcpOutputListener(ctx, token);
78
79
  // --- Event subscriptions ---
80
+ const issuePrefixCache = new Map();
81
+ async function resolveIssueLinksOpts(companyId) {
82
+ let prefix = issuePrefixCache.get(companyId);
83
+ if (!prefix) {
84
+ const company = await ctx.companies.get(companyId);
85
+ prefix = company?.issuePrefix ?? "";
86
+ if (prefix)
87
+ issuePrefixCache.set(companyId, prefix);
88
+ }
89
+ return { baseUrl: publicUrl, issuePrefix: prefix || undefined };
90
+ }
79
91
  const notify = async (event, formatter, overrideChatId) => {
80
92
  const chatId = await resolveChat(ctx, event.companyId, overrideChatId || config.defaultChatId);
81
93
  if (!chatId)
82
94
  return;
83
- const msg = formatter(event);
95
+ const linksOpts = await resolveIssueLinksOpts(event.companyId);
96
+ const msg = formatter(event, linksOpts);
84
97
  let messageThreadId;
85
98
  if (config.topicRouting) {
86
99
  const payload = event.payload;
87
100
  const projectName = payload.projectName ? String(payload.projectName) : undefined;
88
101
  messageThreadId = await getTopicForProject(ctx, chatId, projectName);
89
102
  }
103
+ // For forum groups, fall back to General topic if no specific topic mapping
104
+ if (!messageThreadId && await isForum(ctx, token, chatId)) {
105
+ messageThreadId = GENERAL_TOPIC_THREAD_ID;
106
+ }
90
107
  if (messageThreadId) {
91
108
  msg.options.messageThreadId = messageThreadId;
92
109
  }
@@ -117,11 +134,62 @@ const plugin = definePlugin({
117
134
  const payload = event.payload;
118
135
  if (payload.status !== "done")
119
136
  return;
137
+ // Enrich with title if missing (issue.updated events often omit it)
138
+ if (!payload.title && event.entityId) {
139
+ try {
140
+ const issue = await ctx.issues.get(event.entityId, event.companyId);
141
+ if (issue)
142
+ payload.title = issue.title;
143
+ }
144
+ catch { /* best effort */ }
145
+ }
120
146
  await notify(event, formatIssueDone);
121
147
  });
122
148
  }
123
149
  if (config.notifyOnApprovalCreated) {
124
- ctx.events.on("approval.created", (event) => notify(event, formatApprovalCreated, config.approvalsChatId));
150
+ ctx.events.on("approval.created", async (event) => {
151
+ const payload = event.payload;
152
+ // Enrich with linked issue details (event only has issueIds)
153
+ const issueIds = Array.isArray(payload.issueIds) ? payload.issueIds : [];
154
+ if (issueIds.length > 0 && !payload.linkedIssues) {
155
+ try {
156
+ const issues = await Promise.all(issueIds.slice(0, 5).map((id) => ctx.issues.get(id, event.companyId)));
157
+ payload.linkedIssues = issues
158
+ .filter(Boolean)
159
+ .map((i) => ({
160
+ identifier: i.identifier,
161
+ title: i.title,
162
+ status: i.status,
163
+ priority: i.priority,
164
+ }));
165
+ // Use first issue's title as the approval title if missing
166
+ if (!payload.title && issues[0]) {
167
+ payload.title = issues[0].identifier
168
+ ? `${issues[0].identifier}: ${issues[0].title}`
169
+ : issues[0].title;
170
+ }
171
+ }
172
+ catch { /* best effort */ }
173
+ }
174
+ // Enrich agent name
175
+ if (payload.agentId && !payload.agentName) {
176
+ try {
177
+ const agent = await ctx.agents.get(String(payload.agentId), event.companyId);
178
+ if (agent)
179
+ payload.agentName = agent.name;
180
+ }
181
+ catch { /* best effort */ }
182
+ }
183
+ // Build a meaningful title if still missing
184
+ if (!payload.title || payload.title === "Approval Requested") {
185
+ const approvalType = String(payload.type ?? "unknown").replace(/_/g, " ");
186
+ const agentLabel = payload.agentName ? String(payload.agentName) : null;
187
+ payload.title = agentLabel
188
+ ? `${approvalType} — ${agentLabel}`
189
+ : approvalType;
190
+ }
191
+ await notify(event, formatApprovalCreated, config.approvalsChatId);
192
+ });
125
193
  }
126
194
  if (config.notifyOnAgentError) {
127
195
  ctx.events.on("agent.run.failed", (event) => notify(event, formatAgentError, config.errorsChatId));
@@ -146,44 +214,114 @@ const plugin = definePlugin({
146
214
  return { ok: true };
147
215
  });
148
216
  // --- Daily digest job ---
149
- if (config.dailyDigestEnabled) {
217
+ // Support legacy dailyDigestEnabled boolean
218
+ const effectiveDigestMode = config.dailyDigestEnabled === true && config.digestMode === "off"
219
+ ? "daily"
220
+ : config.digestMode ?? "off";
221
+ if (effectiveDigestMode !== "off") {
150
222
  ctx.jobs.register("telegram-daily-digest", async () => {
151
- try {
152
- const companies = await ctx.companies.list();
153
- const companyId = companies[0]?.id ?? "";
154
- const agents = await ctx.agents.list({ companyId });
155
- const activeAgents = agents.filter((a) => a.status === "active");
156
- const issues = await ctx.issues.list({ companyId, limit: 50 });
157
- const now = Date.now();
158
- const oneDayMs = 24 * 60 * 60 * 1000;
159
- const completedToday = issues.filter((i) => i.status === "done" && i.completedAt && (now - new Date(i.completedAt).getTime()) < oneDayMs);
160
- const createdToday = issues.filter((i) => (now - new Date(i.createdAt).getTime()) < oneDayMs);
161
- const dateStr = new Date().toISOString().split("T")[0];
162
- const lines = [
163
- escapeMarkdownV2("\ud83d\udcca") + ` *Daily Digest \\- ${escapeMarkdownV2(dateStr)}*`,
164
- "",
165
- `${escapeMarkdownV2("\u2705")} Tasks completed: *${completedToday.length}*`,
166
- `${escapeMarkdownV2("\ud83d\udccb")} Tasks created: *${createdToday.length}*`,
167
- `${escapeMarkdownV2("\ud83e\udd16")} Active agents: *${activeAgents.length}*/${escapeMarkdownV2(String(agents.length))}`,
168
- ];
169
- if (activeAgents.length > 0) {
170
- const topAgent = activeAgents[0].name;
171
- lines.push(`${escapeMarkdownV2("\u2b50")} Top performer: *${escapeMarkdownV2(topAgent)}*`);
172
- }
173
- await sendMessage(ctx, token, config.defaultChatId, lines.join("\n"), {
174
- parseMode: "MarkdownV2",
175
- });
223
+ // Check if current UTC hour matches a configured digest time
224
+ const nowHour = new Date().getUTCHours();
225
+ const nowMin = new Date().getUTCMinutes();
226
+ if (nowMin >= 5)
227
+ return; // only fire within first 5 min of the hour
228
+ const parseHour = (t) => {
229
+ const [h] = (t || "").split(":");
230
+ return parseInt(h ?? "", 10);
231
+ };
232
+ const firstHour = parseHour(config.dailyDigestTime);
233
+ const secondHour = parseHour(config.bidailySecondTime);
234
+ const tridailyHours = (config.tridailyTimes || "07:00,13:00,19:00")
235
+ .split(",")
236
+ .map((t) => parseHour(t.trim()));
237
+ let shouldSend = false;
238
+ if (effectiveDigestMode === "daily") {
239
+ shouldSend = nowHour === firstHour;
176
240
  }
177
- catch (err) {
178
- ctx.logger.error("Daily digest failed", { error: String(err) });
179
- const text = [
180
- escapeMarkdownV2("\ud83d\udcca") + " *Daily Digest*",
181
- "",
182
- escapeMarkdownV2("Could not generate digest. Check plugin logs for details."),
183
- ].join("\n");
184
- await sendMessage(ctx, token, config.defaultChatId, text, {
185
- parseMode: "MarkdownV2",
186
- });
241
+ else if (effectiveDigestMode === "bidaily") {
242
+ shouldSend = nowHour === firstHour || nowHour === secondHour;
243
+ }
244
+ else if (effectiveDigestMode === "tridaily") {
245
+ shouldSend = tridailyHours.includes(nowHour);
246
+ }
247
+ if (!shouldSend)
248
+ return;
249
+ const companies = await ctx.companies.list();
250
+ for (const company of companies) {
251
+ const chatId = await resolveChat(ctx, company.id, config.defaultChatId);
252
+ if (!chatId)
253
+ continue;
254
+ try {
255
+ const agents = await ctx.agents.list({ companyId: company.id });
256
+ const activeAgents = agents.filter((a) => a.status === "active");
257
+ const issues = await ctx.issues.list({ companyId: company.id, limit: 50 });
258
+ const now = Date.now();
259
+ const oneDayMs = 24 * 60 * 60 * 1000;
260
+ const completedToday = issues.filter((i) => i.status === "done" && i.completedAt && (now - new Date(i.completedAt).getTime()) < oneDayMs);
261
+ const createdToday = issues.filter((i) => (now - new Date(i.createdAt).getTime()) < oneDayMs);
262
+ const issuePrefix = company.issuePrefix;
263
+ const inProgress = issues.filter((i) => i.status === "in_progress");
264
+ const inReview = issues.filter((i) => i.status === "in_review");
265
+ const blocked = issues.filter((i) => i.status === "blocked");
266
+ const dateStr = new Date().toISOString().split("T")[0];
267
+ const companyLabel = company.name ? ` \\- ${escapeMarkdownV2(company.name)}` : "";
268
+ const digestLabel = effectiveDigestMode === "bidaily" ? "Digest" : "Daily Digest";
269
+ const lines = [
270
+ escapeMarkdownV2("\ud83d\udcca") + ` *${escapeMarkdownV2(digestLabel)}${companyLabel} \\- ${escapeMarkdownV2(dateStr)}*`,
271
+ "",
272
+ `${escapeMarkdownV2("\u2705")} Tasks completed: *${completedToday.length}*`,
273
+ `${escapeMarkdownV2("\ud83d\udccb")} Tasks created: *${createdToday.length}*`,
274
+ `${escapeMarkdownV2("\ud83e\udd16")} Active agents: *${activeAgents.length}*/${escapeMarkdownV2(String(agents.length))}`,
275
+ ];
276
+ if (activeAgents.length > 0) {
277
+ const topAgent = activeAgents[0].name;
278
+ lines.push(`${escapeMarkdownV2("\u2b50")} Top performer: *${escapeMarkdownV2(topAgent)}*`);
279
+ }
280
+ const formatIssueItem = (i) => {
281
+ const id = i.identifier ?? i.id;
282
+ const idText = issuePrefix
283
+ ? `[${escapeMarkdownV2(id)}](${publicUrl}/${issuePrefix}/issues/${id})`
284
+ : escapeMarkdownV2(id);
285
+ return ` ${idText} \\- ${escapeMarkdownV2(i.title)}`;
286
+ };
287
+ if (inProgress.length > 0) {
288
+ lines.push("", `${escapeMarkdownV2("\ud83d\udd04")} *In Progress \\(${inProgress.length}\\)*`);
289
+ for (const i of inProgress.slice(0, 10))
290
+ lines.push(formatIssueItem(i));
291
+ }
292
+ if (inReview.length > 0) {
293
+ lines.push("", `${escapeMarkdownV2("\ud83d\udd0d")} *In Review \\(${inReview.length}\\)*`);
294
+ for (const i of inReview.slice(0, 10))
295
+ lines.push(formatIssueItem(i));
296
+ }
297
+ if (blocked.length > 0) {
298
+ lines.push("", `${escapeMarkdownV2("\ud83d\udeab")} *Blocked \\(${blocked.length}\\)*`);
299
+ for (const i of blocked.slice(0, 10))
300
+ lines.push(formatIssueItem(i));
301
+ }
302
+ const digestThreadId = await isForum(ctx, token, chatId)
303
+ ? GENERAL_TOPIC_THREAD_ID
304
+ : undefined;
305
+ await sendMessage(ctx, token, chatId, lines.join("\n"), {
306
+ parseMode: "MarkdownV2",
307
+ messageThreadId: digestThreadId,
308
+ });
309
+ }
310
+ catch (err) {
311
+ ctx.logger.error("Daily digest failed for company", { companyId: company.id, error: String(err) });
312
+ const text = [
313
+ escapeMarkdownV2("\ud83d\udcca") + " *Daily Digest*",
314
+ "",
315
+ escapeMarkdownV2("Could not generate digest. Check plugin logs for details."),
316
+ ].join("\n");
317
+ const errorThreadId = await isForum(ctx, token, chatId)
318
+ ? GENERAL_TOPIC_THREAD_ID
319
+ : undefined;
320
+ await sendMessage(ctx, token, chatId, text, {
321
+ parseMode: "MarkdownV2",
322
+ messageThreadId: errorThreadId,
323
+ });
324
+ }
187
325
  }
188
326
  });
189
327
  }
@@ -233,7 +371,8 @@ const plugin = definePlugin({
233
371
  const escalationId = crypto.randomUUID();
234
372
  const timeoutMs = config.escalationTimeoutMs || 900000;
235
373
  const defaultAction = config.escalationDefaultAction || "defer";
236
- if (!config.escalationChatId) {
374
+ const resolvedEscalationChatId = await resolveChat(ctx, runCtx.companyId, config.escalationChatId);
375
+ if (!resolvedEscalationChatId) {
237
376
  ctx.logger.warn("Escalation received but no escalationChatId configured");
238
377
  return { error: "No escalation channel configured" };
239
378
  }
@@ -259,7 +398,7 @@ const plugin = definePlugin({
259
398
  transport: p.transport,
260
399
  sessionId: p.sessionId ? String(p.sessionId) : undefined,
261
400
  };
262
- await escalationManager.create(ctx, token, escalationEvent, config.escalationChatId);
401
+ await escalationManager.create(ctx, token, escalationEvent, resolvedEscalationChatId);
263
402
  // Send hold message to the originating chat if configured
264
403
  if (config.escalationHoldMessage && escalationEvent.originChatId) {
265
404
  const holdText = escapeMarkdownV2(config.escalationHoldMessage);
@@ -370,16 +509,13 @@ const plugin = definePlugin({
370
509
  if (!config.telegramBotTokenRef || typeof config.telegramBotTokenRef !== "string") {
371
510
  return { ok: false, errors: ["telegramBotTokenRef is required"] };
372
511
  }
373
- if (!config.defaultChatId || typeof config.defaultChatId !== "string") {
374
- return { ok: false, errors: ["defaultChatId is required"] };
375
- }
376
512
  return { ok: true };
377
513
  },
378
514
  async onHealth() {
379
515
  return { status: "ok" };
380
516
  },
381
517
  });
382
- async function handleUpdate(ctx, token, config, update, baseUrl) {
518
+ async function handleUpdate(ctx, token, config, update, baseUrl, publicUrl) {
383
519
  if (update.callback_query) {
384
520
  await handleCallbackQuery(ctx, token, update.callback_query, baseUrl);
385
521
  return;
@@ -397,6 +533,7 @@ async function handleUpdate(ctx, token, config, update, baseUrl) {
397
533
  briefAgentId: config.briefAgentId ?? "",
398
534
  briefAgentChatIds: config.briefAgentChatIds ?? [],
399
535
  transcriptionApiKeyRef: config.transcriptionApiKeyRef ?? "",
536
+ publicUrl,
400
537
  }, companyId);
401
538
  if (handled)
402
539
  return;
@@ -430,7 +567,7 @@ async function handleUpdate(ctx, token, config, update, baseUrl) {
430
567
  if (handledCustom)
431
568
  return;
432
569
  // Built-in commands
433
- await handleCommand(ctx, token, chatId, command, args, threadId, baseUrl);
570
+ await handleCommand(ctx, token, chatId, command, args, threadId, baseUrl, publicUrl);
434
571
  return;
435
572
  }
436
573
  if (config.enableInbound && msg.reply_to_message?.from?.is_bot) {
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,SAAS,GAMV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,OAAO,EACP,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAoEpD,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAEhD,KAAK,UAAU,WAAW,CACxB,GAAkB,EAClB,SAAiB,EACjB,QAAgB;IAEhB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;QACnC,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,eAAe;KAC1B,CAAC,CAAC;IACH,OAAQ,QAAmB,IAAI,QAAQ,IAAI,IAAI,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,GAAkB,EAAE,MAAc;IAChE,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;QAClC,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,QAAQ,MAAM,EAAE;KAC3B,CAAwD,CAAC;IAC1D,OAAO,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,WAAW,IAAI,MAAM,CAAC;AAC9D,CAAC;AAED,MAAM,MAAM,GAAG,YAAY,CAAC;IAC1B,KAAK,CAAC,KAAK,CAAC,GAAG;QACb,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACzC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,SAAsC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,IAAI,uBAAuB,CAAC;QACnE,MAAM,SAAS,GAAG,MAAM,CAAC,kBAAkB,IAAI,OAAO,CAAC;QAEvD,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAChC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAEpE,8CAA8C;QAC9C,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG;gBAClB,GAAG,YAAY;gBACf,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,iCAAiC,EAAE;aACxE,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YAChE,IAAI,UAAU,EAAE,CAAC;gBACf,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,UAAU,WAAW;YACxB,OAAO,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAC9B,GAAG,YAAY,OAAO,KAAK,sBAAsB,YAAY,GAAG,CAAC,0DAA0D,EAC3H,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;oBACF,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAG7B,CAAC;oBAEF,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBAC3B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;4BACjC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;4BACxD,MAAM,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;wBACrE,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACnE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YAClD,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1B,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CACjE,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;YAC1C,aAAa,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,6DAA6D;QAC7D,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEnC,8BAA8B;QAE9B,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEnD,KAAK,UAAU,qBAAqB,CAAC,SAAiB;YACpD,IAAI,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACnD,MAAM,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC;gBACpC,IAAI,MAAM;oBAAE,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,IAAI,SAAS,EAAE,CAAC;QAClE,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,EAClB,KAAkB,EAClB,SAA+H,EAC/H,cAAuB,EACvB,EAAE;YACF,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,GAAG,EACH,KAAK,CAAC,SAAS,EACf,cAAc,IAAI,MAAM,CAAC,aAAa,CACvC,CAAC;YACF,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/D,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAExC,IAAI,eAAmC,CAAC;YACxC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAkC,CAAC;gBACzD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAClF,eAAe,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACvE,CAAC;YACD,4EAA4E;YAC5E,IAAI,CAAC,eAAe,IAAI,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC1D,eAAe,GAAG,uBAAuB,CAAC;YAC5C,CAAC;YAED,IAAI,eAAe,EAAE,CAAC;gBACpB,GAAG,CAAC,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC;YAChD,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAE/E,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CACjB;oBACE,SAAS,EAAE,UAAU;oBACrB,QAAQ,EAAE,OAAO,MAAM,IAAI,SAAS,EAAE;iBACvC,EACD;oBACE,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;iBAC3B,CACF,CAAC;gBAEF,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;oBACrB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,OAAO,EAAE,aAAa,KAAK,CAAC,SAAS,cAAc;oBACnD,UAAU,EAAE,QAAQ;oBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAChC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAkB,EAAE,EAAE,CACpD,MAAM,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAClC,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,KAAkB,EAAE,EAAE;gBAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAkC,CAAC;gBACzD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;oBAAE,OAAO;gBACtC,oEAAoE;gBACpE,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACrC,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;wBACpE,IAAI,KAAK;4BAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;oBACzC,CAAC;oBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBAC/B,CAAC;gBACD,MAAM,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,uBAAuB,EAAE,CAAC;YACnC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,KAAkB,EAAE,EAAE;gBAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAkC,CAAC;gBACzD,6DAA6D;gBAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;oBACjD,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CACtE,CAAC;wBACF,OAAO,CAAC,YAAY,GAAG,MAAM;6BAC1B,MAAM,CAAC,OAAO,CAAC;6BACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BACX,UAAU,EAAE,CAAE,CAAC,UAAU;4BACzB,KAAK,EAAE,CAAE,CAAC,KAAK;4BACf,MAAM,EAAE,CAAE,CAAC,MAAM;4BACjB,QAAQ,EAAE,CAAE,CAAC,QAAQ;yBACtB,CAAC,CAAC,CAAC;wBACN,2DAA2D;wBAC3D,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;4BAChC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU;gCAClC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;gCAC/C,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wBACtB,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBAC/B,CAAC;gBACD,oBAAoB;gBACpB,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC1C,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;wBAC7E,IAAI,KAAK;4BAAE,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC5C,CAAC;oBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBAC/B,CAAC;gBACD,4CAA4C;gBAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,oBAAoB,EAAE,CAAC;oBAC7D,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBAC1E,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACxE,OAAO,CAAC,KAAK,GAAG,UAAU;wBACxB,CAAC,CAAC,GAAG,YAAY,MAAM,UAAU,EAAE;wBACnC,CAAC,CAAC,YAAY,CAAC;gBACnB,CAAC;gBACD,MAAM,MAAM,CAAC,KAAK,EAAE,qBAAqB,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC9B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,KAAkB,EAAE,EAAE,CACvD,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,CAAC,YAAY,CAAC,CACrD,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAkB,EAAE,EAAE,CACxD,MAAM,CAAC,KAAK,EAAE,qBAAqB,CAAC,CACrC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,KAAkB,EAAE,EAAE,CACzD,MAAM,CAAC,KAAK,EAAE,sBAAsB,CAAC,CACtC,CAAC;QAEF,qCAAqC;QAErC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACjD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;gBAChC,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,eAAe;aAC1B,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAChD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CACjB,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,EACvE,MAAM,CACP,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;YACxE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,2BAA2B;QAE3B,4CAA4C;QAC5C,MAAM,mBAAmB,GAAI,MAAkC,CAAC,kBAAkB,KAAK,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK;YACxH,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC;QAE/B,IAAI,mBAAmB,KAAK,KAAK,EAAE,CAAC;YAClC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;gBACpD,6DAA6D;gBAC7D,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;gBAC1C,IAAI,MAAM,IAAI,CAAC;oBAAE,OAAO,CAAC,2CAA2C;gBAEpE,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE;oBAC9B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACjC,OAAO,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC/B,CAAC,CAAC;gBACF,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBACpD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBACvD,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,mBAAmB,CAAC;qBAChE,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAEnC,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI,mBAAmB,KAAK,OAAO,EAAE,CAAC;oBACpC,UAAU,GAAG,OAAO,KAAK,SAAS,CAAC;gBACrC,CAAC;qBAAM,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;oBAC7C,UAAU,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,UAAU,CAAC;gBAC/D,CAAC;qBAAM,IAAI,mBAAmB,KAAK,UAAU,EAAE,CAAC;oBAC9C,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC/C,CAAC;gBACD,IAAI,CAAC,UAAU;oBAAE,OAAO;gBAExB,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC7C,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;oBAChC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;oBACxE,IAAI,CAAC,MAAM;wBAAE,SAAS;oBAEtB,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;wBAChE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;wBACxE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;wBAE3E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACvB,MAAM,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;wBACrC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAQ,EAAE,EAAE,CAChD,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,CAC7F,CAAC;wBACF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAQ,EAAE,EAAE,CAC9C,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,CACnD,CAAC;wBAEF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;wBACxC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;wBAC3E,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;wBACvE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;wBAEpE,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBACvD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClF,MAAM,WAAW,GAAG,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC;wBAClF,MAAM,KAAK,GAAG;4BACZ,gBAAgB,CAAC,cAAc,CAAC,GAAG,KAAK,gBAAgB,CAAC,WAAW,CAAC,GAAG,YAAY,QAAQ,gBAAgB,CAAC,OAAQ,CAAC,GAAG;4BACzH,EAAE;4BACF,GAAG,gBAAgB,CAAC,QAAQ,CAAC,sBAAsB,cAAc,CAAC,MAAM,GAAG;4BAC3E,GAAG,gBAAgB,CAAC,cAAc,CAAC,oBAAoB,YAAY,CAAC,MAAM,GAAG;4BAC7E,GAAG,gBAAgB,CAAC,cAAc,CAAC,oBAAoB,YAAY,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;yBACzH,CAAC;wBAEF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC5B,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;4BACvC,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,oBAAoB,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAC7F,CAAC;wBAED,MAAM,eAAe,GAAG,CAAC,CAAQ,EAAE,EAAE;4BACnC,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;4BAChC,MAAM,MAAM,GAAG,WAAW;gCACxB,CAAC,CAAC,IAAI,gBAAgB,CAAC,EAAE,CAAC,KAAK,SAAS,IAAI,WAAW,WAAW,EAAE,GAAG;gCACvE,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;4BACzB,OAAO,KAAK,MAAM,QAAQ,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;wBACxD,CAAC,CAAC;wBAEF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,gBAAgB,CAAC,cAAc,CAAC,oBAAoB,UAAU,CAAC,MAAM,MAAM,CAAC,CAAC;4BAC/F,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gCAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC1E,CAAC;wBACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACxB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,gBAAgB,CAAC,cAAc,CAAC,kBAAkB,QAAQ,CAAC,MAAM,MAAM,CAAC,CAAC;4BAC3F,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gCAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;wBACxE,CAAC;wBACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACvB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,gBAAgB,CAAC,cAAc,CAAC,gBAAgB,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC;4BACxF,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gCAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;wBACvE,CAAC;wBAED,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC;4BACtD,CAAC,CAAC,uBAAuB;4BACzB,CAAC,CAAC,SAAS,CAAC;wBAEd,MAAM,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BACtD,SAAS,EAAE,YAAY;4BACvB,eAAe,EAAE,cAAc;yBAChC,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBACnG,MAAM,IAAI,GAAG;4BACX,gBAAgB,CAAC,cAAc,CAAC,GAAG,iBAAiB;4BACpD,EAAE;4BACF,gBAAgB,CAAC,2DAA2D,CAAC;yBAC9E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAEb,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC;4BACrD,CAAC,CAAC,uBAAuB;4BACzB,CAAC,CAAC,SAAS,CAAC;wBAEd,MAAM,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;4BAC1C,SAAS,EAAE,YAAY;4BACvB,eAAe,EAAE,aAAa;yBAC/B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,sCAAsC;QACtC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAElD,wEAAwE;QACxE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,EAAE;YACtC,WAAW,EAAE,mBAAmB;YAChC,WAAW,EAAE,0EAA0E;YACvF,gBAAgB,EAAE;gBAChB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;wBAClF,WAAW,EAAE,6CAA6C;qBAC3D;oBACD,mBAAmB,EAAE;wBACnB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,mEAAmE;qBACjF;oBACD,gBAAgB,EAAE;wBAChB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,kDAAkD;qBAChE;oBACD,cAAc,EAAE;wBACd,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,4CAA4C;qBAC1D;oBACD,eAAe,EAAE;wBACf,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,CAAC;wBACV,OAAO,EAAE,CAAC;wBACV,WAAW,EAAE,qFAAqF;qBACnG;oBACD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAChC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAClC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACnC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;oBAC/E,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,kCAAkC,EAAE;iBACxG;gBACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,qBAAqB,CAAC;aAC5C;SACF,EAAE,KAAK,EAAE,MAAe,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,CAAC,GAAG,MAAiC,CAAC;YAC5C,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC;YACvD,MAAM,aAAa,GAAG,MAAM,CAAC,uBAAuB,IAAI,OAAO,CAAC;YAEhE,MAAM,wBAAwB,GAAG,MAAM,WAAW,CAChD,GAAG,EACH,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,gBAAgB,CACxB,CAAC;YACF,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAC9B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;gBAC1E,OAAO,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;YACvD,CAAC;YAED,MAAM,eAAe,GAAoB;gBACvC,YAAY;gBACZ,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,MAAM,EAAE,CAAC,CAAC,MAAmC;gBAC7C,OAAO,EAAE;oBACP,mBAAmB,EAAE,EAAE;oBACvB,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,mBAAmB,IAAI,EAAE,CAAC;oBACnD,gBAAgB,EAAG,CAAC,CAAC,gBAA6B,IAAI,EAAE;oBACxD,cAAc,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;oBACvE,eAAe,EAAE,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;iBACvF;gBACD,OAAO,EAAE;oBACP,UAAU,EAAE,SAAS;oBACrB,aAAa;iBACd;gBACD,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;gBACjE,cAAc,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;gBACvE,eAAe,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC1E,SAAS,EAAE,CAAC,CAAC,SAAyC;gBACtD,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;aACzD,CAAC;YAEF,MAAM,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,wBAAwB,CAAC,CAAC;YAEtF,0DAA0D;YAC1D,IAAI,MAAM,CAAC,qBAAqB,IAAI,eAAe,CAAC,YAAY,EAAE,CAAC;gBACjE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;gBAChE,MAAM,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,eAAe,CAAC,YAAY,EAAE,QAAQ,EAAE;oBACpE,SAAS,EAAE,YAAY;oBACvB,eAAe,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;oBACpG,gBAAgB,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS;iBACxG,CAAC,CAAC;YACL,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,kDAAkD;QAClD,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,EAAE;YACrC,WAAW,EAAE,kBAAkB;YAC/B,WAAW,EAAE,+CAA+C;YAC5D,gBAAgB,EAAE;gBAChB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;oBAC5E,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;oBACjE,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;oBAC/E,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,8CAA8C,EAAE;oBACjH,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;oBAC3D,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;iBAChE;gBACD,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,gBAAgB,CAAC;aACtD;SACF,EAAE,KAAK,EAAE,MAAe,EAAE,MAAM,EAAE,EAAE;YACnC,OAAO,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAiC,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;QAEH,oDAAoD;QACpD,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAAoB,EAAE;YACvC,WAAW,EAAE,oBAAoB;YACjC,WAAW,EAAE,wDAAwD;YACrE,gBAAgB,EAAE;gBAChB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;oBAC7E,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;oBAC1D,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;oBACxE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,4BAA4B,EAAE;oBACpF,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;oBAC3F,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;oBAC3D,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;iBAChE;gBACD,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,gBAAgB,CAAC;aACrD;SACF,EAAE,KAAK,EAAE,MAAe,EAAE,MAAM,EAAE,EAAE;YACnC,OAAO,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAiC,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;QAEH,gDAAgD;QAChD,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YACnC,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,yEAAyE;YACtF,gBAAgB,EAAE;gBAChB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;oBAC1D,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;oBACxE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,yBAAyB,EAAE;oBACrH,UAAU,EAAE;wBACV,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE;gCAClF,KAAK,EAAE,EAAE;6BACV;4BACD,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC;yBACzC;wBACD,WAAW,EAAE,mCAAmC;qBACjD;oBACD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;oBACzF,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE;oBAC5H,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;oBAC3E,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;iBAChF;gBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB;SACF,EAAE,KAAK,EAAE,MAAe,EAAE,MAAM,EAAE,EAAE;YACnC,OAAO,mBAAmB,CAAC,GAAG,EAAE,MAAiC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC;QAEH,kDAAkD;QAClD,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACxD,IAAI,CAAC;gBACH,MAAM,iBAAiB,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,qCAAqC;QACrC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;YAC5C,IAAI,CAAC;gBACH,MAAM,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE;oBAC7B,+BAA+B,EAAE,MAAM,CAAC,+BAA+B,IAAI,EAAE;oBAC7E,0BAA0B,EAAE,MAAM,CAAC,0BAA0B,IAAI,QAAQ;iBAC1E,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAM;QAC3B,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,OAAO,MAAM,CAAC,mBAAmB,KAAK,QAAQ,EAAE,CAAC;YAClF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,iCAAiC,CAAC,EAAE,CAAC;QACpE,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;CACF,CAAC,CAAC;AAEH,KAAK,UAAU,YAAY,CACzB,GAAkB,EAClB,KAAa,EACb,MAAsB,EACtB,MAAsB,EACtB,OAAe,EACf,SAAkB;IAElB,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;IAC3B,IAAI,CAAC,GAAG;QAAE,OAAO;IAEjB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,iBAAiB,CAAC;IAEvC,iCAAiC;IACjC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3F,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE,GAA+C,EAAE;YACpG,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;YACvC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,EAAE;YACjD,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,IAAI,EAAE;YAC3D,SAAS;SACV,EAAE,SAAS,CAAC,CAAC;QACd,IAAI,OAAO;YAAE,OAAO;IACtB,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,IAAI;QAAE,OAAO;IAEtB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAEtB,0CAA0C;IAC1C,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,GAAG,CAAC,gBAAgB,EAAE,UAAU,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACnG,IAAI,MAAM;gBAAE,OAAO;QACrB,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IACzF,IAAI,UAAU,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACzF,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACtE,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAEtD,uCAAuC;QACvC,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,MAAM,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACrG,IAAI,aAAa;YAAE,OAAO;QAE1B,oBAAoB;QACpB,MAAM,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACrF,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,IAAI,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC/D,MAAM,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YAClC,SAAS,EAAE,UAAU;YACrB,QAAQ,EAAE,OAAO,MAAM,IAAI,SAAS,EAAE;SACvC,CAAuE,CAAC;QAEzE,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,YAAY,EAAE,CAAC;YACnD,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;YAClD,MAAM,WAAW,GAAG,YAAY,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,MAAM,EAAE,CAAC;YAC/E,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE;gBAC5D,YAAY,EAAE,OAAO,CAAC,QAAQ;gBAC9B,WAAW;gBACX,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,mBAAmB;aAC5B,CAAC,CAAC;YACH,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACvD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE;gBACrD,YAAY,EAAE,OAAO,CAAC,QAAQ;gBAC9B,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ;aACzB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;YACrD,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAClB,GAAG,OAAO,eAAe,OAAO,CAAC,QAAQ,WAAW,EACpD;oBACE,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,IAAI,EAAE,IAAI;wBACV,YAAY,EAAE,YAAY,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,MAAM,EAAE;qBACzE,CAAC;iBACH,CACF,CAAC;gBACF,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBACvD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;oBACxD,OAAO,EAAE,OAAO,CAAC,QAAQ;oBACzB,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ;iBACzB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,GAAkB,EAClB,KAAa,EACb,KAAoD,EACpD,OAAe;IAEf,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC;IAE5C,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAChD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAElE,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAClB,GAAG,OAAO,kBAAkB,UAAU,UAAU,EAChD;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,YAAY,KAAK,EAAE,EAAE,CAAC;aAC/D,CACF,CAAC;YAEF,MAAM,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAE5D,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;gBACxB,MAAM,WAAW,CACf,GAAG,EACH,KAAK,EACL,MAAM,EACN,SAAS,EACT,GAAG,gBAAgB,CAAC,QAAQ,CAAC,kBAAkB,gBAAgB,CAAC,KAAK,CAAC,EAAE,EACxE,EAAE,SAAS,EAAE,YAAY,EAAE,CAC5B,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,WAAW,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAClD,MAAM,iBAAiB,CAAC,cAAc,CACpC,GAAG,EACH,KAAK,EACL,MAAM,EACN,YAAY,EACZ,KAAK,EACL,KAAK,CAAC,EAAE,EACR,MAAM,EACN,SAAS,CACV,CAAC;QACF,MAAM,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,eAAe,MAAM,EAAE,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC/C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAClB,GAAG,OAAO,kBAAkB,UAAU,SAAS,EAC/C;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,YAAY,KAAK,EAAE,EAAE,CAAC;aAC/D,CACF,CAAC;YAEF,MAAM,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAE5D,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;gBACxB,MAAM,WAAW,CACf,GAAG,EACH,KAAK,EACL,MAAM,EACN,SAAS,EACT,GAAG,gBAAgB,CAAC,QAAQ,CAAC,kBAAkB,gBAAgB,CAAC,KAAK,CAAC,EAAE,EACxE,EAAE,SAAS,EAAE,YAAY,EAAE,CAC5B,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,WAAW,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACvD,MAAM,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACvF,MAAM,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACxF,MAAM,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,MAAM,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "paperclip-plugin-telegram",
3
- "version": "0.2.3",
3
+ "version": "0.2.7",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "paperclipPlugin": {
@@ -22,9 +22,15 @@
22
22
  "@paperclipai/plugin-sdk": "^2026.318.0",
23
23
  "@paperclipai/shared": "^2026.318.0",
24
24
  "typescript": "^5.7.0",
25
- "vitest": "^3.0.0"
25
+ "vitest": "^3.0.0",
26
+ "@types/node": "^22.0.0"
26
27
  },
27
28
  "files": [
28
29
  "dist/"
29
- ]
30
- }
30
+ ],
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "git+https://github.com/mvanhorn/paperclip-plugin-telegram.git"
34
+ },
35
+ "license": "MIT"
36
+ }