notsleep 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/.env.example +130 -117
  2. package/README.md +107 -0
  3. package/dashboard/index.html +22 -4
  4. package/dist/agent.d.ts +33 -0
  5. package/dist/agent.d.ts.map +1 -1
  6. package/dist/agent.js +227 -47
  7. package/dist/agent.js.map +1 -1
  8. package/dist/config.d.ts.map +1 -1
  9. package/dist/config.js +23 -13
  10. package/dist/config.js.map +1 -1
  11. package/dist/context.d.ts.map +1 -1
  12. package/dist/context.js +12 -0
  13. package/dist/context.js.map +1 -1
  14. package/dist/cost.d.ts +5 -1
  15. package/dist/cost.d.ts.map +1 -1
  16. package/dist/cost.js +17 -2
  17. package/dist/cost.js.map +1 -1
  18. package/dist/dashboard.d.ts +2 -0
  19. package/dist/dashboard.d.ts.map +1 -1
  20. package/dist/dashboard.js.map +1 -1
  21. package/dist/fileconfig.d.ts +12 -0
  22. package/dist/fileconfig.d.ts.map +1 -1
  23. package/dist/fileconfig.js.map +1 -1
  24. package/dist/index.js +78 -21
  25. package/dist/index.js.map +1 -1
  26. package/dist/memory.d.ts +58 -0
  27. package/dist/memory.d.ts.map +1 -0
  28. package/dist/memory.js +222 -0
  29. package/dist/memory.js.map +1 -0
  30. package/dist/provider.d.ts.map +1 -1
  31. package/dist/provider.js +42 -6
  32. package/dist/provider.js.map +1 -1
  33. package/dist/repomap.d.ts +39 -0
  34. package/dist/repomap.d.ts.map +1 -0
  35. package/dist/repomap.js +286 -0
  36. package/dist/repomap.js.map +1 -0
  37. package/dist/schema.d.ts.map +1 -1
  38. package/dist/schema.js +20 -0
  39. package/dist/schema.js.map +1 -1
  40. package/dist/test-dashboard.d.ts.map +1 -1
  41. package/dist/test-dashboard.js +9 -1
  42. package/dist/test-dashboard.js.map +1 -1
  43. package/dist/tools.d.ts +19 -0
  44. package/dist/tools.d.ts.map +1 -1
  45. package/dist/tools.js +207 -85
  46. package/dist/tools.js.map +1 -1
  47. package/dist/types.d.ts +28 -0
  48. package/dist/types.d.ts.map +1 -1
  49. package/dist/types.js.map +1 -1
  50. package/package.json +1 -1
package/dist/agent.js CHANGED
@@ -59,6 +59,8 @@ const tools_1 = require("./tools");
59
59
  const cost_1 = require("./cost");
60
60
  const modelsdev_1 = require("./modelsdev");
61
61
  const config_1 = require("./config");
62
+ const memory_1 = require("./memory");
63
+ const repomap_1 = require("./repomap");
62
64
  /**
63
65
  * Make an arbitrary slice of the message history a VALID conversation:
64
66
  * - every `tool` message has a matching preceding `assistant` tool_call
@@ -131,6 +133,8 @@ class Agent {
131
133
  currentTaskStartIteration = 0;
132
134
  /** Optional dashboard for web UI */
133
135
  dashboard = null;
136
+ /** Self-learning memory (null when disabled). */
137
+ memory = null;
134
138
  /**
135
139
  * Exact prompt-token count reported by the provider on the last chat call.
136
140
  * This is the real API measurement of the context size at that moment —
@@ -155,6 +159,25 @@ class Agent {
155
159
  */
156
160
  consecutiveErrors = 0;
157
161
  static MAX_CONSECUTIVE_ERRORS = 20;
162
+ /**
163
+ * Consecutive turns spent ONLY reading/exploring (no edit, shell, or other
164
+ * state-changing action). Weaker models can loop reading files without ever
165
+ * acting; when this streak crosses the threshold we nudge them to make a
166
+ * concrete change. Reset to 0 whenever a productive tool is used.
167
+ */
168
+ exploreStreak = 0;
169
+ static EXPLORE_NUDGE_AT = 8;
170
+ /**
171
+ * Whether the current task has already received its "wrap up, you're near the
172
+ * per-task budget" warning. Reset when a new task starts. Lets the model
173
+ * finish gracefully (call task_complete) instead of being cut off abruptly.
174
+ */
175
+ wrapUpWarned = false;
176
+ /** Tools that only observe — using ONLY these counts as "exploring". */
177
+ static READ_ONLY_TOOLS = new Set([
178
+ 'read_file', 'list_dir', 'search_files', 'think', 'list_tasks',
179
+ 'git_status', 'git_diff', 'git_log', 'git_branch',
180
+ ]);
158
181
  constructor(config, logger) {
159
182
  this.config = config;
160
183
  this.logger = logger;
@@ -168,6 +191,13 @@ class Agent {
168
191
  this.tools.push(...custom);
169
192
  logger.info(`Loaded ${custom.length} custom tool(s) from config: ${custom.map((t) => t.name).join(', ')}`);
170
193
  }
194
+ // Self-learning memory: open the store and expose a `remember` tool.
195
+ if (config.memory.enabled) {
196
+ this.memory = new memory_1.MemoryStore({ path: config.memory.path, maxEntries: config.memory.maxEntries });
197
+ this.tools.push(this.buildRememberTool());
198
+ const n = this.memory.count();
199
+ logger.info(`Self-learning memory enabled at ${this.memory.path} (${n} lesson(s) loaded).`);
200
+ }
171
201
  this.messages = [];
172
202
  this.stats = {
173
203
  startTime: Date.now(),
@@ -271,9 +301,13 @@ class Agent {
271
301
  const currentTask = this.currentTaskId
272
302
  ? this.taskQueue.find(t => t.id === this.currentTaskId)?.description || this.taskDescription
273
303
  : this.taskDescription;
274
- // Context window usage from the REAL API token count (chars/4 only as a
275
- // pre-first-response fallback), so the dashboard shows true numbers.
276
- const contextTokens = this.currentContextTokens().tokens;
304
+ // Real context size = the EXACT prompt_tokens the API last reported the
305
+ // same "input tokens" your provider bills (e.g. ~68K on LimitRouter), not a
306
+ // chars/4 guess and not the cumulative total. Falls back to an estimate only
307
+ // before the first API response has arrived.
308
+ const contextTokens = this.lastPromptTokens > 0
309
+ ? this.lastPromptTokens
310
+ : this.currentContextTokens().tokens;
277
311
  const contextUsage = Math.min(contextTokens / this.config.contextWindowLimit, 1);
278
312
  // Show the registry provider name (e.g. "limitrouter") when a
279
313
  // "provider/model" selector is in use, else the protocol.
@@ -293,6 +327,7 @@ class Agent {
293
327
  paused: this.paused,
294
328
  recentLogs: [],
295
329
  contextUsage,
330
+ contextTokens,
296
331
  contextLimit: this.config.contextWindowLimit,
297
332
  maxIterations: this.config.maxIterations,
298
333
  });
@@ -346,6 +381,8 @@ class Agent {
346
381
  // Restart the per-task budget from here so a resumed task isn't
347
382
  // instantly considered over-budget against the restored iteration count.
348
383
  this.currentTaskStartIteration = this.stats.totalIterations;
384
+ this.wrapUpWarned = false;
385
+ this.exploreStreak = 0;
349
386
  this.logger.info(`Resuming from checkpoint at iteration ${cp.iteration}`);
350
387
  }
351
388
  else {
@@ -379,6 +416,31 @@ class Agent {
379
416
  }
380
417
  if (!this.running)
381
418
  break;
419
+ // ── Per-task budget: graceful wrap-up warning before the hard cut ──
420
+ // Rather than abruptly abandoning a task at the budget (which discards
421
+ // work that might finish in a few more turns), warn the model once when
422
+ // it nears the limit so it can finish and call task_complete cleanly.
423
+ if (this.config.continuous &&
424
+ !this.taskComplete &&
425
+ this.config.maxIterationsPerTask > 0 &&
426
+ !this.wrapUpWarned) {
427
+ const spent = this.stats.totalIterations - this.currentTaskStartIteration;
428
+ const warnAt = Math.max(1, Math.ceil(this.config.maxIterationsPerTask * 0.8));
429
+ if (spent >= warnAt && spent < this.config.maxIterationsPerTask) {
430
+ const left = this.config.maxIterationsPerTask - spent;
431
+ this.wrapUpWarned = true;
432
+ this.logger.warn(`Task nearing its per-task budget (${spent}/${this.config.maxIterationsPerTask}). ` +
433
+ `Nudging it to wrap up.`);
434
+ this.messages.push({
435
+ role: 'user',
436
+ content: `[SYSTEM] You have about ${left} iteration(s) left on this task before it is ` +
437
+ `auto-advanced. WRAP UP NOW: make sure your current change is complete and ` +
438
+ `verified (tests + typecheck green), then call task_complete with a summary. ` +
439
+ `If you are genuinely blocked, call task_complete explaining what remains so it ` +
440
+ `can be re-queued. Do not start new exploration.`,
441
+ });
442
+ }
443
+ }
382
444
  // ── Per-task budget: auto-advance if a task runs too long ──
383
445
  // In continuous mode, an open-ended task (e.g. "keep improving") may
384
446
  // never call task_complete, which would starve every queued task. If a
@@ -401,6 +463,8 @@ class Agent {
401
463
  if (this.taskComplete) {
402
464
  this.stats.tasksCompleted++;
403
465
  this.markCurrentTaskComplete(this.completionSummary);
466
+ // Self-learning: distill durable lessons from what just happened.
467
+ await this.reflectAndRemember(this.completionSummary);
404
468
  // Auto-commit the completed task's changes (local only, never pushes).
405
469
  if (this.config.autoCommit) {
406
470
  await this.autoCommitTask(this.completionSummary);
@@ -426,9 +490,11 @@ class Agent {
426
490
  this.currentTaskId = nextTask.id;
427
491
  nextTask.status = 'in_progress';
428
492
  this.currentTaskStartIteration = this.stats.totalIterations;
493
+ this.wrapUpWarned = false;
494
+ this.exploreStreak = 0;
429
495
  // Fresh context for new task, but carry forward the overall mission
430
496
  this.messages = [
431
- { role: 'system', content: this.config.systemPrompt },
497
+ { role: 'system', content: this.buildSystemContent() },
432
498
  {
433
499
  role: 'user',
434
500
  content: `CONTINUOUS MODE: You have completed previous tasks. Here is your next task:\n\n` +
@@ -449,7 +515,7 @@ class Agent {
449
515
  const response = await this.provider.chat(this.messages, this.tools);
450
516
  this.stats.totalTokensUsed += response.usage.total_tokens;
451
517
  // Accumulate estimated cost from this call's token usage.
452
- this.stats.totalCostUsd += (0, cost_1.estimateCost)(this.getModelName(), response.usage.prompt_tokens, response.usage.completion_tokens);
518
+ this.stats.totalCostUsd += (0, cost_1.estimateCost)(this.getModelName(), response.usage.prompt_tokens, response.usage.completion_tokens, response.usage.cached_tokens || 0);
453
519
  // Remember the EXACT input size the API measured, plus how many
454
520
  // messages it covered, so context tracking uses the real number
455
521
  // instead of a chars/4 guess.
@@ -460,6 +526,20 @@ class Agent {
460
526
  this.lastCompletionTokens = response.usage.completion_tokens || 0;
461
527
  // 3. Process the response
462
528
  await this.processResponse(response);
529
+ // 3b. Anti-thrashing: if the model has spent many turns only reading
530
+ // without acting (common with weaker models), nudge it to commit to
531
+ // one concrete change. Reset the streak so we don't nag every turn.
532
+ if (this.exploreStreak >= Agent.EXPLORE_NUDGE_AT && !this.taskComplete) {
533
+ this.logger.warn(`Model has explored ${this.exploreStreak} turns without acting — nudging it to make a change.`);
534
+ this.messages.push({
535
+ role: 'user',
536
+ content: `[SYSTEM] You have spent ${this.exploreStreak} turns reading/exploring without making any change. ` +
537
+ `Stop exploring now: pick exactly ONE concrete, small improvement and IMPLEMENT it with ` +
538
+ `edit_file/write_file/multi_edit, then verify with the shell tool. If the current task is ` +
539
+ `already done, call task_complete. Do not read more files first.`,
540
+ });
541
+ this.exploreStreak = 0;
542
+ }
463
543
  // 4. Enforce the cost budget, if one is set.
464
544
  if (this.config.maxCostUsd && this.stats.totalCostUsd >= this.config.maxCostUsd) {
465
545
  this.logger.warn(`Cost budget reached: estimated ${(0, cost_1.formatUsd)(this.stats.totalCostUsd)} ` +
@@ -568,7 +648,7 @@ class Agent {
568
648
  `receive the next task. Think proactively - what else could be improved, tested, documented, or built?`
569
649
  : '';
570
650
  this.messages = [
571
- { role: 'system', content: this.config.systemPrompt },
651
+ { role: 'system', content: this.buildSystemContent() },
572
652
  { role: 'user', content: `Here is your task. Do NOT stop until it is fully complete:\n\n${taskDescription}${continuousNote}` },
573
653
  ];
574
654
  // In continuous mode, also queue the initial task
@@ -583,6 +663,8 @@ class Agent {
583
663
  });
584
664
  this.currentTaskId = id;
585
665
  this.currentTaskStartIteration = this.stats.totalIterations;
666
+ this.wrapUpWarned = false;
667
+ this.exploreStreak = 0;
586
668
  }
587
669
  }
588
670
  getModelName() {
@@ -788,17 +870,24 @@ class Agent {
788
870
  content: response.content || '',
789
871
  tool_calls: response.tool_calls,
790
872
  });
791
- // Execute each tool call
792
- for (const toolCall of response.tool_calls) {
873
+ // Track the exploration streak: a turn that uses ONLY read-only tools is
874
+ // still just exploring. Any state-changing tool resets it.
875
+ const anyProductive = response.tool_calls.some((tc) => !Agent.READ_ONLY_TOOLS.has(tc.function.name));
876
+ this.exploreStreak = anyProductive ? 0 : this.exploreStreak + 1;
877
+ // Execute the turn's tool calls CONCURRENTLY, then append their results in
878
+ // the ORIGINAL order (the API requires each tool_result to follow its
879
+ // matching tool_call). Most multi-tool turns are independent reads, so this
880
+ // collapses N sequential round-trips into one — a real speedup on any model.
881
+ // JS is single-threaded, so in-memory state (task queue, counters) is safe;
882
+ // only concurrent writes to the SAME file could race, which models rarely do.
883
+ const outcomes = await Promise.all(response.tool_calls.map(async (toolCall) => {
793
884
  this.stats.totalToolCalls++;
794
885
  const tool = this.tools.find((t) => t.name === toolCall.function.name);
795
886
  if (!tool) {
796
- this.messages.push({
797
- role: 'tool',
798
- tool_call_id: toolCall.id,
799
- content: `Error: Unknown tool "${toolCall.function.name}". Available tools: ${this.tools.map((t) => t.name).join(', ')}`,
800
- });
801
- continue;
887
+ return {
888
+ id: toolCall.id,
889
+ result: `Error: Unknown tool "${toolCall.function.name}". Available tools: ${this.tools.map((t) => t.name).join(', ')}`,
890
+ };
802
891
  }
803
892
  let args;
804
893
  try {
@@ -806,47 +895,29 @@ class Agent {
806
895
  }
807
896
  catch {
808
897
  // A truncated response is the most common cause of unparseable args.
809
- // Tell the model exactly what happened so it can retry with smaller,
810
- // well-formed arguments (e.g. write a file in chunks) instead of
811
- // blindly repeating the same oversized call.
812
898
  const hint = truncated
813
899
  ? 'Your previous response was cut off at the token limit, so these arguments are incomplete. ' +
814
900
  'Retry this tool call with shorter arguments — for large files, write them in multiple smaller edits.'
815
901
  : 'The arguments were not valid JSON. Retry the tool call with correctly-formatted JSON arguments.';
816
- this.messages.push({
817
- role: 'tool',
818
- tool_call_id: toolCall.id,
819
- content: `Error: could not parse tool arguments. ${hint}`,
820
- });
821
- continue;
902
+ return { id: toolCall.id, result: `Error: could not parse tool arguments. ${hint}` };
822
903
  }
823
904
  this.logger.debug(`Executing tool: ${toolCall.function.name}(${JSON.stringify(args).substring(0, 200)})`);
824
905
  try {
825
- const result = await tool.execute(args);
826
- // Check for task completion signal
827
- if (result.startsWith('__TASK_COMPLETE__:')) {
828
- this.taskComplete = true;
829
- this.completionSummary = result.replace('__TASK_COMPLETE__:', '');
830
- this.messages.push({
831
- role: 'tool',
832
- tool_call_id: toolCall.id,
833
- content: 'Task marked as complete.',
834
- });
835
- }
836
- else {
837
- this.messages.push({
838
- role: 'tool',
839
- tool_call_id: toolCall.id,
840
- content: result,
841
- });
842
- }
906
+ return { id: toolCall.id, result: await tool.execute(args) };
843
907
  }
844
908
  catch (error) {
845
- this.messages.push({
846
- role: 'tool',
847
- tool_call_id: toolCall.id,
848
- content: `Tool execution error: ${error.message}`,
849
- });
909
+ return { id: toolCall.id, result: `Tool execution error: ${error.message}` };
910
+ }
911
+ }));
912
+ // Append results in order; detect the task-completion signal.
913
+ for (const o of outcomes) {
914
+ if (o.result.startsWith('__TASK_COMPLETE__:')) {
915
+ this.taskComplete = true;
916
+ this.completionSummary = o.result.replace('__TASK_COMPLETE__:', '');
917
+ this.messages.push({ role: 'tool', tool_call_id: o.id, content: 'Task marked as complete.' });
918
+ }
919
+ else {
920
+ this.messages.push({ role: 'tool', tool_call_id: o.id, content: o.result });
850
921
  }
851
922
  }
852
923
  }
@@ -966,7 +1037,7 @@ class Agent {
966
1037
  this.progress.push(summary);
967
1038
  // Reset messages with the summary injected
968
1039
  this.messages = [
969
- { role: 'system', content: this.config.systemPrompt },
1040
+ { role: 'system', content: this.buildSystemContent() },
970
1041
  {
971
1042
  role: 'user',
972
1043
  content: `CONTEXT RECOVERY: The conversation was too long and has been summarized. Here is the summary of everything so far:\n\n` +
@@ -1059,6 +1130,115 @@ class Agent {
1059
1130
  sleep(ms) {
1060
1131
  return new Promise((resolve) => setTimeout(resolve, ms));
1061
1132
  }
1133
+ // ─── Self-learning memory ─────────────────────────────────
1134
+ /**
1135
+ * Build the system-prompt content, appending the agent's persistent memory so
1136
+ * it "remembers" past lessons at the start of every run and every new task —
1137
+ * without the mission having to spell it out.
1138
+ */
1139
+ buildSystemContent() {
1140
+ let content = this.config.systemPrompt;
1141
+ // Repository map: the codebase at a glance, so the agent navigates straight
1142
+ // to the right file instead of reading files to find where things live.
1143
+ // Rebuilt here (not cached) so it reflects the agent's own edits.
1144
+ if (this.config.repoMap.enabled) {
1145
+ try {
1146
+ const map = (0, repomap_1.buildRepoMap)({
1147
+ root: process.cwd(),
1148
+ maxTokens: this.config.repoMap.maxTokens,
1149
+ });
1150
+ if (map)
1151
+ content += `\n\n--- ${map}`;
1152
+ }
1153
+ catch (err) {
1154
+ this.logger.debug(`Repo map skipped: ${err.message}`);
1155
+ }
1156
+ }
1157
+ if (this.memory) {
1158
+ const mem = this.memory.formatForPrompt();
1159
+ if (mem)
1160
+ content += `\n\n--- MEMORY ---\n${mem}`;
1161
+ }
1162
+ return content;
1163
+ }
1164
+ /** The `remember` tool: lets the agent save a durable lesson to memory. */
1165
+ buildRememberTool() {
1166
+ return {
1167
+ name: 'remember',
1168
+ description: 'Save a durable, reusable lesson to long-term memory so FUTURE runs recall it. ' +
1169
+ 'Use for non-obvious codebase facts, gotchas, decisions and their rationale, or ' +
1170
+ 'commands/approaches that worked or failed. Keep it terse (one sentence). Never ' +
1171
+ 'store secrets or API keys.',
1172
+ parameters: {
1173
+ type: 'object',
1174
+ properties: {
1175
+ lesson: { type: 'string', description: 'A single, terse, reusable lesson.' },
1176
+ },
1177
+ required: ['lesson'],
1178
+ },
1179
+ execute: async (args) => {
1180
+ if (!this.memory)
1181
+ return 'Memory is disabled.';
1182
+ const lesson = String(args.lesson ?? '').trim();
1183
+ if (!lesson)
1184
+ return 'Error: provide a non-empty "lesson".';
1185
+ const r = this.memory.remember(lesson, new Date().toISOString());
1186
+ return r.added
1187
+ ? `Remembered. (${this.memory.count()} lesson(s) stored.)`
1188
+ : `Not stored (${r.reason}). (${this.memory.count()} lesson(s) stored.)`;
1189
+ },
1190
+ };
1191
+ }
1192
+ /**
1193
+ * Auto-reflection: after a task completes, ask the cheap small model to
1194
+ * distill 0-3 durable lessons from what just happened and save them. This is
1195
+ * how the agent "learns on its own" without needing to call `remember`
1196
+ * explicitly. Best-effort — never blocks or fails the run.
1197
+ */
1198
+ async reflectAndRemember(summary) {
1199
+ if (!this.memory || !this.config.memory.autoReflect)
1200
+ return;
1201
+ // Nothing genuine to learn from a task that only auto-advanced on its
1202
+ // iteration budget — reflecting on it just makes the model emit meta-junk.
1203
+ if (/^\s*\[auto-advanced\]/.test(summary)) {
1204
+ this.logger.debug('Auto-reflection skipped: task auto-advanced with no substantive work.');
1205
+ return;
1206
+ }
1207
+ try {
1208
+ const req = [
1209
+ {
1210
+ role: 'system',
1211
+ content: 'You distill durable, reusable lessons from an AI agent\'s just-completed task. ' +
1212
+ 'Output 0-3 terse lessons, one per line, each starting with "- ". Each must be a ' +
1213
+ 'concrete, reusable fact: a codebase gotcha, a non-obvious fact, a command that ' +
1214
+ 'worked or failed and why, or a decision and its rationale. No secrets. If nothing ' +
1215
+ 'is genuinely worth remembering, output nothing at all.',
1216
+ },
1217
+ {
1218
+ role: 'user',
1219
+ content: `Task just completed:\n${summary}\n\n` +
1220
+ `Recent progress:\n${this.progress.slice(-2).join('\n---\n')}\n\n` +
1221
+ `What 0-3 durable lessons should be remembered for future runs?`,
1222
+ },
1223
+ ];
1224
+ const resp = await this.provider.chatSmall(req, [], { maxRetries: 1, maxDelayMs: 8000 });
1225
+ const lines = (resp.content || '')
1226
+ .split('\n')
1227
+ .map((l) => l.replace(/^\s*[-*]\s*/, '').trim())
1228
+ .filter((l) => l.length > 0 && (0, memory_1.isMeaningfulLesson)(l));
1229
+ let added = 0;
1230
+ for (const line of lines.slice(0, 3)) {
1231
+ if (this.memory.remember(line, new Date().toISOString()).added)
1232
+ added++;
1233
+ }
1234
+ if (added > 0) {
1235
+ this.logger.info(`Reflected ${added} new lesson(s) into memory (${this.memory.count()} total).`);
1236
+ }
1237
+ }
1238
+ catch (err) {
1239
+ this.logger.debug(`Auto-reflection skipped: ${err.message}`);
1240
+ }
1241
+ }
1062
1242
  }
1063
1243
  exports.Agent = Agent;
1064
1244
  //# sourceMappingURL=agent.js.map
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,qCAAqC;AACrC,+DAA+D;AAC/D,EAAE;AACF,+BAA+B;AAC/B,gEAAgE;AAChE,8DAA8D;AAC9D,0CAA0C;AAC1C,+CAA+C;AAC/C,wDAAwD;AACxD,gEAAgE;AAChE,6DAA6D;AAC7D,oDAAoD;AACpD,EAAE;AACF,+DAA+D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwB/D,sDAyCC;AA/DD,uCAAyB;AACzB,iDAAyC;AACzC,mCAAqI;AACrI,yCAAyC;AAEzC,6CAAiD;AACjD,mCAAgE;AAEhE,iCAAiD;AACjD,2CAAmD;AACnD,qCAA4C;AAE5C;;;;;;;;;GASG;AACH,SAAgB,qBAAqB,CAAC,MAAiB;IACrD,IAAI,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAEvB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;QACrC,gDAAgD;QAChD,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAsB,CAAC,CAC7F,CAAC;QAEF,iEAAiE;QACjE,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACvC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtE,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,2DAA2D;QAC3D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;YAC/B,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC3C,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,UAAU;oBAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,IAAI,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACnF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,yEAAyE;QACzE,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,CAAC,SAAS;QAC7D,IAAI,GAAG,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAa,KAAK;IACR,MAAM,CAAc;IACpB,QAAQ,CAAc;IACtB,MAAM,CAAS;IACf,UAAU,CAAoB;IAC9B,KAAK,CAAmB;IACxB,QAAQ,CAAY;IACpB,KAAK,CAAW;IAChB,eAAe,CAAS;IACxB,QAAQ,CAAW;IACnB,OAAO,CAAU;IACjB,YAAY,CAAU;IACtB,iBAAiB,CAAS;IAC1B,MAAM,CAAU;IAExB,sEAAsE;IAC9D,SAAS,CAAe;IACxB,aAAa,CAAgB;IAErC;;;;;OAKG;IACK,yBAAyB,GAAG,CAAC,CAAC;IAEtC,oCAAoC;IAC5B,SAAS,GAA2B,IAAI,CAAC;IAEjD;;;;OAIG;IACK,gBAAgB,GAAG,CAAC,CAAC;IAE7B;;;;OAIG;IACK,sBAAsB,GAAG,CAAC,CAAC;IAEnC;;OAEG;IACK,oBAAoB,GAAG,CAAC,CAAC;IAEjC;;;;;OAKG;IACK,iBAAiB,GAAG,CAAC,CAAC;IACtB,MAAM,CAAU,sBAAsB,GAAG,EAAE,CAAC;IAEpD,YAAY,MAAmB,EAAE,MAAc;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,sBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,IAAI,8BAAiB,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACtE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAA,0BAAkB,EAAC,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7F,gEAAgE;QAChE,MAAM,MAAM,GAAG,IAAA,yBAAiB,EAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QACnF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,MAAM,gCAAgC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7G,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG;YACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,CAAC;YAClB,cAAc,EAAE,CAAC;YACjB,MAAM,EAAE,CAAC;YACT,aAAa,EAAE,CAAC;YAChB,cAAc,EAAE,CAAC;YACjB,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;SAChB,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAoB;QAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,SAA0B;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,2CAA2C;QAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,EAAE;YAC5B,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC;QAEF,wCAAwC;QACxC,SAAS,CAAC,SAAS,GAAG,CAAC,GAAqB,EAAE,EAAE;YAC9C,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAAC,GAAqB;QAClD,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,OAAO;gBACV,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;gBACjD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;gBAClD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;gBACvE,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,aAAa,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;oBAC5C,MAAM,EAAE,GAAG,WAAW,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBACjF,MAAM,QAAQ,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAA8B,CAAC;oBAC5F,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;wBAClB,EAAE;wBACF,WAAW,EAAE,GAAG,CAAC,WAAW;wBAC5B,QAAQ;wBACR,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBAClC,CAAC,CAAC;oBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,QAAQ,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;oBAChF,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,CAAC;gBACD,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,QAAQ,IAAI,GAAG,IAAK,GAAW,CAAC,MAAM,EAAE,CAAC;oBAC3C,MAAM,MAAM,GAAI,GAAW,CAAC,MAAM,CAAC;oBACnC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;oBAC3D,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;wBACf,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC3F,CAAC;oBACD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,CAAC;gBACD,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM;QACV,CAAC;IACH,CAAC;IAED,sCAAsC;IAC9B,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAE5B,IAAI,MAAM,GAA4D,SAAS,CAAC;QAChF,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,GAAG,SAAS,CAAC;QACtC,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,GAAG,QAAQ,CAAC;QACnC,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,MAAM,GAAG,WAAW,CAAC;QAEvE,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa;YACpC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,EAAE,WAAW,IAAI,IAAI,CAAC,eAAe;YAC5F,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;QAEzB,wEAAwE;QACxE,qEAAqE;QACrE,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,MAAM,CAAC;QACzD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAEjF,8DAA8D;QAC9D,0DAA0D;QAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YACxE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAEzB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;YACzB,MAAM;YACN,WAAW;YACX,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9B,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE;YACxB,QAAQ,EAAE,aAAa;YACvB,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE;YAC1B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK;YACzC,kBAAkB,EAAE,IAAA,yBAAgB,GAAE,CAAC,kBAAkB;YACzD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,EAAE;YACd,YAAY;YACZ,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;YAC5C,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;SACzC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,GAAG,CAAC,eAAuB,EAAE,oBAA8B;QAK/D,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,2BAA2B;QAC3B,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;YACvF,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAEpC,IAAI,CAAC;YACH,sCAAsC;YACtC,IAAI,oBAAoB,EAAE,CAAC;gBACzB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;gBACxC,IAAI,EAAE,EAAE,CAAC;oBACP,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;oBAC5B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;oBAC5B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;oBAC1C,IAAI,EAAE,CAAC,SAAS;wBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBACnF,IAAI,EAAE,CAAC,aAAa;wBAAE,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC;oBAC5D,kEAAkE;oBAClE,gEAAgE;oBAChE,gEAAgE;oBAChE,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;wBACb,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;oBAC/B,CAAC;yBAAM,CAAC;wBACN,qDAAqD;wBACrD,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC,SAAS,CAAC;oBAC5C,CAAC;oBACD,gEAAgE;oBAChE,yEAAyE;oBACzE,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;oBAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC5E,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;oBACzD,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;YAC3C,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,QAAQ,aAAa,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;YAC5G,MAAM,SAAS,GAAG,IAAA,6BAAqB,EAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,qBAAqB,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YACtK,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,QAAQ,uCAAuC,CAAC,CAAC;YAC9F,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAExB,sDAAsD;YACtD,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC7F,8BAA8B;gBAC9B,IAAI,IAAI,CAAC,UAAU,EAAE;oBAAE,MAAM;gBAE7B,0BAA0B;gBAC1B,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACnC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACtB,IAAI,IAAI,CAAC,UAAU,EAAE;wBAAE,MAAM;gBAC/B,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE,MAAM;gBAEzB,8DAA8D;gBAC9D,qEAAqE;gBACrE,uEAAuE;gBACvE,wEAAwE;gBACxE,wCAAwC;gBACxC,IACE,IAAI,CAAC,MAAM,CAAC,UAAU;oBACtB,CAAC,IAAI,CAAC,YAAY;oBAClB,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,CAAC;oBACpC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAC/F,CAAC;oBACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC;oBAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,iCAAiC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,eAAe;wBACzF,6DAA6D,CAC9D,CAAC;oBACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBACzB,IAAI,CAAC,iBAAiB;wBACpB,wDAAwD;4BACxD,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,sCAAsC;4BAC1E,sDAAsD,CAAC;gBAC3D,CAAC;gBAED,uDAAuD;gBACvD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;oBAC5B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBAErD,uEAAuE;oBACvE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;wBAC3B,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBACpD,CAAC;oBAED,IAAI,CAAC,cAAc,EAAE,CAAC;oBAEtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;wBAC5B,0BAA0B;wBAC1B,MAAM;oBACR,CAAC;oBAED,iCAAiC;oBACjC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;oBAE7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;wBAC5D,MAAM;oBACR,CAAC;oBAED,sBAAsB;oBACtB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBAClF,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;oBAC5B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,EAAE,CAAC;oBACjC,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC;oBAChC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;oBAE5D,oEAAoE;oBACpE,IAAI,CAAC,QAAQ,GAAG;wBACd,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;wBACrD;4BACE,IAAI,EAAE,MAAM;4BACZ,OAAO,EACL,iFAAiF;gCACjF,GAAG,QAAQ,CAAC,WAAW,MAAM;gCAC7B,+BAA+B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM;gCAC5E,kFAAkF;gCAClF,qEAAqE;yBACxE;qBACF,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBACxG,IAAI,CAAC,cAAc,EAAE,CAAC;gBAEtB,IAAI,CAAC;oBACH,kDAAkD;oBAClD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;oBAE3B,kBAAkB;oBAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;oBACrE,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;oBAC1D,0DAA0D;oBAC1D,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAA,mBAAY,EACrC,IAAI,CAAC,YAAY,EAAE,EACnB,QAAQ,CAAC,KAAK,CAAC,aAAa,EAC5B,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CACjC,CAAC;oBACF,gEAAgE;oBAChE,gEAAgE;oBAChE,8BAA8B;oBAC9B,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;wBACrC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;wBACrD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACrD,CAAC;oBACD,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC;oBAElE,0BAA0B;oBAC1B,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;oBAErC,6CAA6C;oBAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;wBAChF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,kCAAkC,IAAA,gBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG;4BACvE,YAAY,IAAA,gBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,wBAAwB,CACtE,CAAC;wBACF,IAAI,CAAC,cAAc,EAAE,CAAC;wBACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;wBACrB,MAAM;oBACR,CAAC;oBAED,kEAAkE;oBAClE,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;oBAE3B,wCAAwC;oBACxC,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBACzC,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxB,CAAC;gBAEH,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAS,8BAA8B;oBAE3D,sEAAsE;oBACtE,uEAAuE;oBACvE,oEAAoE;oBACpE,oEAAoE;oBACpE,qEAAqE;oBACrE,gDAAgD;oBAChD,MAAM,WAAW,GAAG,IAAA,gCAAoB,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACxD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;wBAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;wBAC/C,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;4BAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,mDAAmD,WAAW,CAAC,cAAc,EAAE,YAAY;gCAC3F,0BAA0B,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,EAAE,KAAK;gCAC9E,GAAG,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAChD,CAAC;4BACF,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,QAAQ,CAAC;wBAC5C,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,+BAA+B,WAAW,CAAC,cAAc,EAAE,kCAAkC,CAC9F,CAAC;wBACJ,CAAC;wBACD,IAAI,CAAC;4BACH,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC;wBAClE,CAAC;wBAAC,OAAO,CAAM,EAAE,CAAC;4BAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;wBAChF,CAAC;wBACD,kEAAkE;wBAClE,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;wBAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;wBACtB,SAAS;oBACX,CAAC;oBAED,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAI,kCAAkC;oBAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,aAAa,IAAI,CAAC,KAAK,CAAC,eAAe,UAAU;wBACjD,IAAI,IAAI,CAAC,iBAAiB,eAAe,KAAK,CAAC,OAAO,EAAE,CACzD,CAAC;oBAEF,mEAAmE;oBACnE,qEAAqE;oBACrE,IAAI,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,sBAAsB,EAAE,CAAC;wBAC1D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;4BACjB,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE,+BAA+B,KAAK,CAAC,OAAO,2FAA2F;yBACjJ,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,KAAK,CAAC,sBAAsB,iDAAiD;4BAChF,cAAc,IAAI,CAAC,KAAK,CAAC,MAAM,0BAA0B,CAC1D,CAAC;wBACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACvB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,sDAAsD;YACtD,IAAI,CAAC,cAAc,EAAE,CAAC;YAEtB,sDAAsD;YACtD,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAExE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,KAAK,CAAC,eAAe,kBAAkB,OAAO,GAAG,CAAC,CAAC;YACjG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,IAAA,gBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACpI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,cAAc,cAAc,IAAI,CAAC,KAAK,CAAC,MAAM,sBAAsB,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;YAC1I,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,cAAc,oBAAoB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YAC5G,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAE1D,0BAA0B;YAC1B,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBAC7C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBACtF,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAExB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;YAErE,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,IAAI,CAAC,KAAK,CAAC,cAAc,gBAAgB,CAAC,CAAC;YACjG,CAAC;iBAAM,IAAI,CAAC,IAAA,6BAAqB,EAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBACxH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YAC9E,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE;gBACjC,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC;QAEJ,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,6DAA6D;IAErD,kBAAkB,CAAC,eAAuB;QAChD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;YAC3C,CAAC,CAAC,oGAAoG;gBACpG,qGAAqG;gBACrG,uGAAuG;YACzG,CAAC,CAAC,EAAE,CAAC;QAEP,IAAI,CAAC,QAAQ,GAAG;YACd,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;YACrD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iEAAiE,eAAe,GAAG,cAAc,EAAE,EAAE;SAC/H,CAAC;QAEF,kDAAkD;QAClD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,EAAE,GAAG,gBAAgB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAClB,EAAE;gBACF,WAAW,EAAE,eAAe;gBAC5B,QAAQ,EAAE,MAAM;gBAChB,MAAM,EAAE,aAAa;gBACrB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAClC,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QAC9D,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,SAAS,CAAC;QACrF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,IAAI,SAAS,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,cAAc,CAAC,OAAe;QAC1C,IAAI,CAAC;YACH,oCAAoC;YACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,CAAC;YAC9E,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;gBAChE,OAAO;YACT,CAAC;YAED,sBAAsB;YACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YAED,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YAEtC,gEAAgE;YAChE,MAAM,SAAS,GAAG,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACtE,MAAM,OAAO,GAAG,aAAa,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAE1D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,oDAAoD;YACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,8EAA8E;IACtE,WAAW,CAAC,IAAc;QAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAA,wBAAQ,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;gBACnG,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE/B,sBAAsB;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,MAAM,CAAC,QAAQ,+BAA+B,CAAC,CAAC;oBAC/F,4DAA4D;oBAC5D,IAAI,CAAC;wBAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;oBACnE,qEAAqE;oBACrE,qEAAqE;oBACrE,mEAAmE;oBACnE,yDAAyD;oBACzD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,OAAe;QAC7C,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC;YACrE,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;gBAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW;QACvB,iCAAiC;QACjC,MAAM,aAAa,GAA2B,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS;aAChC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;aACrC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,8CAA8C,CAAC,CAAC;YACvF,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,0DAA0D;QAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QAE3E,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS;aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC;aACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,OAAO,CAAC,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC;aAC1D,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,eAAe,GAAc;YACjC;gBACE,IAAI,EAAE,QAAQ;gBACd,OAAO,EACL,oGAAoG;oBACpG,sGAAsG;oBACtG,0FAA0F;aAC7F;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EACL,kBAAkB,IAAI,CAAC,eAAe,MAAM;oBAC5C,qBAAqB,kBAAkB,IAAI,QAAQ,MAAM;oBACzD,mFAAmF;oBACnF,8HAA8H;oBAC9H,4DAA4D;oBAC5D,2CAA2C;aAC9C;SACF,CAAC;QAEF,IAAI,CAAC;YACH,uEAAuE;YACvE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;YAEvC,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;gBAClE,OAAO,IAAI,CAAC;YACd,CAAC;YAED,wBAAwB;YACxB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBAC1D,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAA+B,CAAC;oBACrE,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACpC,MAAM,EAAE,GAAG,YAAY,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAElF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;wBAClB,EAAE;wBACF,WAAW;wBACX,QAAQ;wBACR,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBAClC,CAAC,CAAC;oBAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,QAAQ,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;YAED,wCAAwC;YACxC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YACxE,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEtD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,QAAqB;QACjD,sEAAsE;QACtE,uEAAuE;QACvE,wEAAwE;QACxE,MAAM,SAAS,GACb,QAAQ,CAAC,aAAa,KAAK,QAAQ,IAAI,QAAQ,CAAC,aAAa,KAAK,YAAY,CAAC;QACjF,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,2DAA2D,QAAQ,CAAC,aAAa,KAAK;gBACtF,+CAA+C,CAChD,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,sEAAsE;QACtE,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;aAChC,CAAC,CAAC;YAEH,kEAAkE;YAClE,gDAAgD;YAChD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACjB,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,uKAAuK;iBACjL,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;YAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CAAC,CAAC;QAEH,yBAAyB;QACzB,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAE5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACjB,IAAI,EAAE,MAAM;oBACZ,YAAY,EAAE,QAAQ,CAAC,EAAE;oBACzB,OAAO,EAAE,wBAAwB,QAAQ,CAAC,QAAQ,CAAC,IAAI,uBAAuB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACzH,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,IAAI,IAA6B,CAAC;YAClC,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC;YAAC,MAAM,CAAC;gBACP,qEAAqE;gBACrE,qEAAqE;gBACrE,iEAAiE;gBACjE,6CAA6C;gBAC7C,MAAM,IAAI,GAAG,SAAS;oBACpB,CAAC,CAAC,4FAA4F;wBAC5F,sGAAsG;oBACxG,CAAC,CAAC,iGAAiG,CAAC;gBACtG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACjB,IAAI,EAAE,MAAM;oBACZ,YAAY,EAAE,QAAQ,CAAC,EAAE;oBACzB,OAAO,EAAE,0CAA0C,IAAI,EAAE;iBAC1D,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YAE1G,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAExC,mCAAmC;gBACnC,IAAI,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBACzB,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;oBAClE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACjB,IAAI,EAAE,MAAM;wBACZ,YAAY,EAAE,QAAQ,CAAC,EAAE;wBACzB,OAAO,EAAE,0BAA0B;qBACpC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACjB,IAAI,EAAE,MAAM;wBACZ,YAAY,EAAE,QAAQ,CAAC,EAAE;wBACzB,OAAO,EAAE,MAAM;qBAChB,CAAC,CAAC;gBACL,CAAC;YAEH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACjB,IAAI,EAAE,MAAM;oBACZ,YAAY,EAAE,QAAQ,CAAC,EAAE;oBACzB,OAAO,EAAE,yBAAyB,KAAK,CAAC,OAAO,EAAE;iBAClD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,YAAY,CAAC,QAAmB;QACtC,wEAAwE;QACxE,8DAA8D;QAC9D,MAAM,oBAAoB,GAAG,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,IAAI,CACd,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACzB,IAAI,KAAK,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,CAAC,UAAU;gBAAE,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;YAC/D,OAAO,GAAG,GAAG,KAAK,GAAG,CAAC,GAAG,oBAAoB,CAAC;QAChD,CAAC,EAAE,CAAC,CAAC,CACN,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACK,oBAAoB;QAC1B,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC;YAC/B,qDAAqD;YACrD,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACpE,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,mEAAmE;YACnE,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB;gBACzD,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,CAAC;QAED,qEAAqE;QACrE,oEAAoE;QACpE,6DAA6D;QAC7D,kCAAkC;QAClC,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAEtD,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,GAAG,UAAU;YACtE,KAAK,EAAE,KAAK;SACb,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK;QACvC,0EAA0E;QAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACxC,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC;QAEnC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAElF,oEAAoE;QACpE,8DAA8D;QAC9D,IAAI,CAAC,KAAK,IAAI,eAAe,GAAG,SAAS;YAAE,OAAO;QAElD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,cAAc,EAAE,uBAAuB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QAC3J,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QAE3B,oDAAoD;QACpD,EAAE;QACF,yEAAyE;QACzE,qEAAqE;QACrE,uEAAuE;QACvE,mEAAmE;QACnE,gBAAgB;QAChB,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC;QAC7E,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe;QACvE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAC9B,GAAG,EACH,IAAI,CAAC,KAAK,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAChF,CAAC;QAEF,MAAM,gBAAgB,GAAG,mBAAmB;aACzC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,OAAO,IAAI,CAAC,CAAC,IAAI,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;QAC5C,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,MAAM,cAAc,GAAc;YAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,mGAAmG,EAAE;YAChI;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EACL,uGAAuG;oBACvG,wBAAwB;oBACxB,8BAA8B;oBAC9B,oCAAoC;oBACpC,sFAAsF;oBACtF,oCAAoC;oBACpC,uCAAuC;oBACvC,gBAAgB;aACnB;SACF,CAAC;QAEF,IAAI,CAAC;YACH,sEAAsE;YACtE,yEAAyE;YACzE,yEAAyE;YACzE,oDAAoD;YACpD,sEAAsE;YACtE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,EAAE;gBACxE,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACzE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE5B,2CAA2C;YAC3C,IAAI,CAAC,QAAQ,GAAG;gBACd,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;gBACrD;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EACL,wHAAwH;wBACxH,6BAA6B,OAAO,2BAA2B;wBAC/D,kBAAkB,IAAI,CAAC,eAAe,MAAM;wBAC5C,mFAAmF;wBACnF,qFAAqF;iBACxF;aACF,CAAC;YAEF,yEAAyE;YACzE,kEAAkE;YAClE,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;YAE9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,IAAI,CAAC,QAAQ,CAAC,MAAM,yBAAyB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAElI,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;YAE3F,0EAA0E;YAC1E,2EAA2E;YAC3E,2EAA2E;YAC3E,2EAA2E;YAC3E,oEAAoE;YACpE,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAElF,IAAI,CAAC,QAAQ,GAAG;gBACd,SAAS;gBACT;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EACL,gEAAgE,IAAI,CAAC,eAAe,IAAI;wBACxF,+EAA+E;iBAClF;gBACD,GAAG,cAAc;aAClB,CAAC;YACF,6DAA6D;YAC7D,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,oDAAoD;IAC5C,qBAAqB,CAAC,MAAiB;QAC7C,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAe;YAC7B,EAAE;YACF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;YACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE;YAC1B,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9B,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,SAAS;YAC9C,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE;SACzB,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAErE,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,aAAa,SAAS,CAAC,MAAM,aAAa,CAAC;YACtD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,OAAO,IAAI,OAAO,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC;QACpC,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,KAAK,OAAO,CAAC,MAAM,2BAA2B,CAAC;YAC1D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,OAAO,IAAI,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,WAAW,IAAI,CAAC;YACtD,CAAC;QACH,CAAC;QAED,OAAO,OAAO,IAAI,mDAAmD,CAAC;IACxE,CAAC;IAEO,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;;AAvjCH,sBAwjCC"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,qCAAqC;AACrC,+DAA+D;AAC/D,EAAE;AACF,+BAA+B;AAC/B,gEAAgE;AAChE,8DAA8D;AAC9D,0CAA0C;AAC1C,+CAA+C;AAC/C,wDAAwD;AACxD,gEAAgE;AAChE,6DAA6D;AAC7D,oDAAoD;AACpD,EAAE;AACF,+DAA+D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0B/D,sDAyCC;AAjED,uCAAyB;AACzB,iDAAyC;AACzC,mCAAqI;AACrI,yCAAyC;AAEzC,6CAAiD;AACjD,mCAAgE;AAEhE,iCAAiD;AACjD,2CAAmD;AACnD,qCAA4C;AAC5C,qCAA2D;AAC3D,uCAAyC;AAEzC;;;;;;;;;GASG;AACH,SAAgB,qBAAqB,CAAC,MAAiB;IACrD,IAAI,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAEvB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;QACrC,gDAAgD;QAChD,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAsB,CAAC,CAC7F,CAAC;QAEF,iEAAiE;QACjE,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACvC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtE,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,2DAA2D;QAC3D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;YAC/B,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC3C,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,UAAU;oBAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,IAAI,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACnF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,yEAAyE;QACzE,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,CAAC,SAAS;QAC7D,IAAI,GAAG,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAa,KAAK;IACR,MAAM,CAAc;IACpB,QAAQ,CAAc;IACtB,MAAM,CAAS;IACf,UAAU,CAAoB;IAC9B,KAAK,CAAmB;IACxB,QAAQ,CAAY;IACpB,KAAK,CAAW;IAChB,eAAe,CAAS;IACxB,QAAQ,CAAW;IACnB,OAAO,CAAU;IACjB,YAAY,CAAU;IACtB,iBAAiB,CAAS;IAC1B,MAAM,CAAU;IAExB,sEAAsE;IAC9D,SAAS,CAAe;IACxB,aAAa,CAAgB;IAErC;;;;;OAKG;IACK,yBAAyB,GAAG,CAAC,CAAC;IAEtC,oCAAoC;IAC5B,SAAS,GAA2B,IAAI,CAAC;IAEjD,iDAAiD;IACzC,MAAM,GAAuB,IAAI,CAAC;IAE1C;;;;OAIG;IACK,gBAAgB,GAAG,CAAC,CAAC;IAE7B;;;;OAIG;IACK,sBAAsB,GAAG,CAAC,CAAC;IAEnC;;OAEG;IACK,oBAAoB,GAAG,CAAC,CAAC;IAEjC;;;;;OAKG;IACK,iBAAiB,GAAG,CAAC,CAAC;IACtB,MAAM,CAAU,sBAAsB,GAAG,EAAE,CAAC;IAEpD;;;;;OAKG;IACK,aAAa,GAAG,CAAC,CAAC;IAClB,MAAM,CAAU,gBAAgB,GAAG,CAAC,CAAC;IAE7C;;;;OAIG;IACK,YAAY,GAAG,KAAK,CAAC;IAC7B,wEAAwE;IAChE,MAAM,CAAU,eAAe,GAAG,IAAI,GAAG,CAAC;QAChD,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY;QAC9D,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY;KAClD,CAAC,CAAC;IAEH,YAAY,MAAmB,EAAE,MAAc;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,sBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,IAAI,8BAAiB,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACtE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAA,0BAAkB,EAAC,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7F,gEAAgE;QAChE,MAAM,MAAM,GAAG,IAAA,yBAAiB,EAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QACnF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,MAAM,gCAAgC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7G,CAAC;QACD,qEAAqE;QACrE,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAW,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAClG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,mCAAmC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG;YACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,CAAC;YAClB,cAAc,EAAE,CAAC;YACjB,MAAM,EAAE,CAAC;YACT,aAAa,EAAE,CAAC;YAChB,cAAc,EAAE,CAAC;YACjB,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;SAChB,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAoB;QAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,SAA0B;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,2CAA2C;QAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,EAAE;YAC5B,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC;QAEF,wCAAwC;QACxC,SAAS,CAAC,SAAS,GAAG,CAAC,GAAqB,EAAE,EAAE;YAC9C,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAAC,GAAqB;QAClD,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,OAAO;gBACV,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;gBACjD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;gBAClD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;gBACvE,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,aAAa,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;oBAC5C,MAAM,EAAE,GAAG,WAAW,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBACjF,MAAM,QAAQ,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAA8B,CAAC;oBAC5F,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;wBAClB,EAAE;wBACF,WAAW,EAAE,GAAG,CAAC,WAAW;wBAC5B,QAAQ;wBACR,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBAClC,CAAC,CAAC;oBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,QAAQ,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;oBAChF,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,CAAC;gBACD,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,QAAQ,IAAI,GAAG,IAAK,GAAW,CAAC,MAAM,EAAE,CAAC;oBAC3C,MAAM,MAAM,GAAI,GAAW,CAAC,MAAM,CAAC;oBACnC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;oBAC3D,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;wBACf,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC3F,CAAC;oBACD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,CAAC;gBACD,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM;QACV,CAAC;IACH,CAAC;IAED,sCAAsC;IAC9B,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAE5B,IAAI,MAAM,GAA4D,SAAS,CAAC;QAChF,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,GAAG,SAAS,CAAC;QACtC,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,GAAG,QAAQ,CAAC;QACnC,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,MAAM,GAAG,WAAW,CAAC;QAEvE,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa;YACpC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,EAAE,WAAW,IAAI,IAAI,CAAC,eAAe;YAC5F,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;QAEzB,0EAA0E;QAC1E,4EAA4E;QAC5E,6EAA6E;QAC7E,6CAA6C;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,GAAG,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,gBAAgB;YACvB,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,MAAM,CAAC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAEjF,8DAA8D;QAC9D,0DAA0D;QAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YACxE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAEzB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;YACzB,MAAM;YACN,WAAW;YACX,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9B,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE;YACxB,QAAQ,EAAE,aAAa;YACvB,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE;YAC1B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK;YACzC,kBAAkB,EAAE,IAAA,yBAAgB,GAAE,CAAC,kBAAkB;YACzD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,EAAE;YACd,YAAY;YACZ,aAAa;YACb,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;YAC5C,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;SACzC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,GAAG,CAAC,eAAuB,EAAE,oBAA8B;QAK/D,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,2BAA2B;QAC3B,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;YACvF,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAEpC,IAAI,CAAC;YACH,sCAAsC;YACtC,IAAI,oBAAoB,EAAE,CAAC;gBACzB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;gBACxC,IAAI,EAAE,EAAE,CAAC;oBACP,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;oBAC5B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;oBAC5B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;oBAC1C,IAAI,EAAE,CAAC,SAAS;wBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBACnF,IAAI,EAAE,CAAC,aAAa;wBAAE,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC;oBAC5D,kEAAkE;oBAClE,gEAAgE;oBAChE,gEAAgE;oBAChE,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;wBACb,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;oBAC/B,CAAC;yBAAM,CAAC;wBACN,qDAAqD;wBACrD,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC,SAAS,CAAC;oBAC5C,CAAC;oBACD,gEAAgE;oBAChE,yEAAyE;oBACzE,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;oBAC5D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC5E,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;oBACzD,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;YAC3C,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,QAAQ,aAAa,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;YAC5G,MAAM,SAAS,GAAG,IAAA,6BAAqB,EAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,qBAAqB,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YACtK,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,QAAQ,uCAAuC,CAAC,CAAC;YAC9F,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAExB,sDAAsD;YACtD,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC7F,8BAA8B;gBAC9B,IAAI,IAAI,CAAC,UAAU,EAAE;oBAAE,MAAM;gBAE7B,0BAA0B;gBAC1B,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACnC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACtB,IAAI,IAAI,CAAC,UAAU,EAAE;wBAAE,MAAM;gBAC/B,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE,MAAM;gBAEzB,sEAAsE;gBACtE,uEAAuE;gBACvE,wEAAwE;gBACxE,sEAAsE;gBACtE,IACE,IAAI,CAAC,MAAM,CAAC,UAAU;oBACtB,CAAC,IAAI,CAAC,YAAY;oBAClB,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,CAAC;oBACpC,CAAC,IAAI,CAAC,YAAY,EAClB,CAAC;oBACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC;oBAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,GAAG,CAAC,CAAC,CAAC;oBAC9E,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;wBAChE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,KAAK,CAAC;wBACtD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;wBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,qCAAqC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,KAAK;4BACnF,wBAAwB,CACzB,CAAC;wBACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;4BACjB,IAAI,EAAE,MAAM;4BACZ,OAAO,EACL,2BAA2B,IAAI,+CAA+C;gCAC9E,4EAA4E;gCAC5E,8EAA8E;gCAC9E,iFAAiF;gCACjF,iDAAiD;yBACpD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,8DAA8D;gBAC9D,qEAAqE;gBACrE,uEAAuE;gBACvE,wEAAwE;gBACxE,wCAAwC;gBACxC,IACE,IAAI,CAAC,MAAM,CAAC,UAAU;oBACtB,CAAC,IAAI,CAAC,YAAY;oBAClB,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,CAAC;oBACpC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAC/F,CAAC;oBACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC;oBAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,iCAAiC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,eAAe;wBACzF,6DAA6D,CAC9D,CAAC;oBACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBACzB,IAAI,CAAC,iBAAiB;wBACpB,wDAAwD;4BACxD,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,sCAAsC;4BAC1E,sDAAsD,CAAC;gBAC3D,CAAC;gBAED,uDAAuD;gBACvD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;oBAC5B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBAErD,kEAAkE;oBAClE,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBAEtD,uEAAuE;oBACvE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;wBAC3B,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBACpD,CAAC;oBAED,IAAI,CAAC,cAAc,EAAE,CAAC;oBAEtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;wBAC5B,0BAA0B;wBAC1B,MAAM;oBACR,CAAC;oBAED,iCAAiC;oBACjC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;oBAE7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;wBAC5D,MAAM;oBACR,CAAC;oBAED,sBAAsB;oBACtB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBAClF,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;oBAC5B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,EAAE,CAAC;oBACjC,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC;oBAChC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;oBAC5D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;oBAEvB,oEAAoE;oBACpE,IAAI,CAAC,QAAQ,GAAG;wBACd,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE;wBACtD;4BACE,IAAI,EAAE,MAAM;4BACZ,OAAO,EACL,iFAAiF;gCACjF,GAAG,QAAQ,CAAC,WAAW,MAAM;gCAC7B,+BAA+B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM;gCAC5E,kFAAkF;gCAClF,qEAAqE;yBACxE;qBACF,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBACxG,IAAI,CAAC,cAAc,EAAE,CAAC;gBAEtB,IAAI,CAAC;oBACH,kDAAkD;oBAClD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;oBAE3B,kBAAkB;oBAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;oBACrE,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;oBAC1D,0DAA0D;oBAC1D,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAA,mBAAY,EACrC,IAAI,CAAC,YAAY,EAAE,EACnB,QAAQ,CAAC,KAAK,CAAC,aAAa,EAC5B,QAAQ,CAAC,KAAK,CAAC,iBAAiB,EAChC,QAAQ,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAClC,CAAC;oBACF,gEAAgE;oBAChE,gEAAgE;oBAChE,8BAA8B;oBAC9B,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;wBACrC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;wBACrD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACrD,CAAC;oBACD,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC;oBAElE,0BAA0B;oBAC1B,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;oBAErC,qEAAqE;oBACrE,oEAAoE;oBACpE,oEAAoE;oBACpE,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;wBACvE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sBAAsB,IAAI,CAAC,aAAa,sDAAsD,CAC/F,CAAC;wBACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;4BACjB,IAAI,EAAE,MAAM;4BACZ,OAAO,EACL,2BAA2B,IAAI,CAAC,aAAa,sDAAsD;gCACnG,yFAAyF;gCACzF,2FAA2F;gCAC3F,iEAAiE;yBACpE,CAAC,CAAC;wBACH,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;oBACzB,CAAC;oBAED,6CAA6C;oBAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;wBAChF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,kCAAkC,IAAA,gBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG;4BACvE,YAAY,IAAA,gBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,wBAAwB,CACtE,CAAC;wBACF,IAAI,CAAC,cAAc,EAAE,CAAC;wBACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;wBACrB,MAAM;oBACR,CAAC;oBAED,kEAAkE;oBAClE,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;oBAE3B,wCAAwC;oBACxC,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBACzC,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxB,CAAC;gBAEH,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAS,8BAA8B;oBAE3D,sEAAsE;oBACtE,uEAAuE;oBACvE,oEAAoE;oBACpE,oEAAoE;oBACpE,qEAAqE;oBACrE,gDAAgD;oBAChD,MAAM,WAAW,GAAG,IAAA,gCAAoB,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACxD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;wBAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;wBAC/C,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;4BAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,mDAAmD,WAAW,CAAC,cAAc,EAAE,YAAY;gCAC3F,0BAA0B,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,EAAE,KAAK;gCAC9E,GAAG,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAChD,CAAC;4BACF,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,QAAQ,CAAC;wBAC5C,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,+BAA+B,WAAW,CAAC,cAAc,EAAE,kCAAkC,CAC9F,CAAC;wBACJ,CAAC;wBACD,IAAI,CAAC;4BACH,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC;wBAClE,CAAC;wBAAC,OAAO,CAAM,EAAE,CAAC;4BAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;wBAChF,CAAC;wBACD,kEAAkE;wBAClE,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;wBAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;wBACtB,SAAS;oBACX,CAAC;oBAED,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAI,kCAAkC;oBAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,aAAa,IAAI,CAAC,KAAK,CAAC,eAAe,UAAU;wBACjD,IAAI,IAAI,CAAC,iBAAiB,eAAe,KAAK,CAAC,OAAO,EAAE,CACzD,CAAC;oBAEF,mEAAmE;oBACnE,qEAAqE;oBACrE,IAAI,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,sBAAsB,EAAE,CAAC;wBAC1D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;4BACjB,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE,+BAA+B,KAAK,CAAC,OAAO,2FAA2F;yBACjJ,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,KAAK,CAAC,sBAAsB,iDAAiD;4BAChF,cAAc,IAAI,CAAC,KAAK,CAAC,MAAM,0BAA0B,CAC1D,CAAC;wBACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACvB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,sDAAsD;YACtD,IAAI,CAAC,cAAc,EAAE,CAAC;YAEtB,sDAAsD;YACtD,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAExE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,KAAK,CAAC,eAAe,kBAAkB,OAAO,GAAG,CAAC,CAAC;YACjG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,IAAA,gBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACpI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,cAAc,cAAc,IAAI,CAAC,KAAK,CAAC,MAAM,sBAAsB,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;YAC1I,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,cAAc,oBAAoB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YAC5G,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAE1D,0BAA0B;YAC1B,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBAC7C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBACtF,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAExB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;YAErE,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,IAAI,CAAC,KAAK,CAAC,cAAc,gBAAgB,CAAC,CAAC;YACjG,CAAC;iBAAM,IAAI,CAAC,IAAA,6BAAqB,EAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBACxH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YAC9E,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE;gBACjC,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC;QAEJ,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,6DAA6D;IAErD,kBAAkB,CAAC,eAAuB;QAChD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;YAC3C,CAAC,CAAC,oGAAoG;gBACpG,qGAAqG;gBACrG,uGAAuG;YACzG,CAAC,CAAC,EAAE,CAAC;QAEP,IAAI,CAAC,QAAQ,GAAG;YACd,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE;YACtD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iEAAiE,eAAe,GAAG,cAAc,EAAE,EAAE;SAC/H,CAAC;QAEF,kDAAkD;QAClD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,EAAE,GAAG,gBAAgB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAClB,EAAE;gBACF,WAAW,EAAE,eAAe;gBAC5B,QAAQ,EAAE,MAAM;gBAChB,MAAM,EAAE,aAAa;gBACrB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAClC,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;YAC5D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,SAAS,CAAC;QACrF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,IAAI,SAAS,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,cAAc,CAAC,OAAe;QAC1C,IAAI,CAAC;YACH,oCAAoC;YACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,CAAC;YAC9E,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;gBAChE,OAAO;YACT,CAAC;YAED,sBAAsB;YACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YAED,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YAEtC,gEAAgE;YAChE,MAAM,SAAS,GAAG,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACtE,MAAM,OAAO,GAAG,aAAa,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAE1D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,oDAAoD;YACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,8EAA8E;IACtE,WAAW,CAAC,IAAc;QAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAA,wBAAQ,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;gBACnG,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE/B,sBAAsB;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,MAAM,CAAC,QAAQ,+BAA+B,CAAC,CAAC;oBAC/F,4DAA4D;oBAC5D,IAAI,CAAC;wBAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;oBACnE,qEAAqE;oBACrE,qEAAqE;oBACrE,mEAAmE;oBACnE,yDAAyD;oBACzD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,OAAe;QAC7C,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC;YACrE,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;gBAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW;QACvB,iCAAiC;QACjC,MAAM,aAAa,GAA2B,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS;aAChC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;aACrC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,8CAA8C,CAAC,CAAC;YACvF,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,0DAA0D;QAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QAE3E,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS;aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC;aACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,OAAO,CAAC,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC;aAC1D,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,eAAe,GAAc;YACjC;gBACE,IAAI,EAAE,QAAQ;gBACd,OAAO,EACL,oGAAoG;oBACpG,sGAAsG;oBACtG,0FAA0F;aAC7F;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EACL,kBAAkB,IAAI,CAAC,eAAe,MAAM;oBAC5C,qBAAqB,kBAAkB,IAAI,QAAQ,MAAM;oBACzD,mFAAmF;oBACnF,8HAA8H;oBAC9H,4DAA4D;oBAC5D,2CAA2C;aAC9C;SACF,CAAC;QAEF,IAAI,CAAC;YACH,uEAAuE;YACvE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;YAEvC,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;gBAClE,OAAO,IAAI,CAAC;YACd,CAAC;YAED,wBAAwB;YACxB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBAC1D,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAA+B,CAAC;oBACrE,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACpC,MAAM,EAAE,GAAG,YAAY,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAElF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;wBAClB,EAAE;wBACF,WAAW;wBACX,QAAQ;wBACR,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBAClC,CAAC,CAAC;oBAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,QAAQ,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;YAED,wCAAwC;YACxC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YACxE,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEtD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,QAAqB;QACjD,sEAAsE;QACtE,uEAAuE;QACvE,wEAAwE;QACxE,MAAM,SAAS,GACb,QAAQ,CAAC,aAAa,KAAK,QAAQ,IAAI,QAAQ,CAAC,aAAa,KAAK,YAAY,CAAC;QACjF,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,2DAA2D,QAAQ,CAAC,aAAa,KAAK;gBACtF,+CAA+C,CAChD,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,sEAAsE;QACtE,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;aAChC,CAAC,CAAC;YAEH,kEAAkE;YAClE,gDAAgD;YAChD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACjB,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,uKAAuK;iBACjL,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;YAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CAAC,CAAC;QAEH,yEAAyE;QACzE,2DAA2D;QAC3D,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAC5C,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CACrD,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QAEhE,2EAA2E;QAC3E,sEAAsE;QACtE,4EAA4E;QAC5E,6EAA6E;QAC7E,4EAA4E;QAC5E,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAA2C,EAAE;YAClF,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAE5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO;oBACL,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,MAAM,EAAE,wBAAwB,QAAQ,CAAC,QAAQ,CAAC,IAAI,uBAAuB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACxH,CAAC;YACJ,CAAC;YAED,IAAI,IAA6B,CAAC;YAClC,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC;YAAC,MAAM,CAAC;gBACP,qEAAqE;gBACrE,MAAM,IAAI,GAAG,SAAS;oBACpB,CAAC,CAAC,4FAA4F;wBAC5F,sGAAsG;oBACxG,CAAC,CAAC,iGAAiG,CAAC;gBACtG,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,0CAA0C,IAAI,EAAE,EAAE,CAAC;YACvF,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YAE1G,IAAI,CAAC;gBACH,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,yBAAyB,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/E,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,8DAA8D;QAC9D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;gBACpE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC;YAChG,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,YAAY,CAAC,QAAmB;QACtC,wEAAwE;QACxE,8DAA8D;QAC9D,MAAM,oBAAoB,GAAG,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,IAAI,CACd,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACzB,IAAI,KAAK,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,CAAC,UAAU;gBAAE,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;YAC/D,OAAO,GAAG,GAAG,KAAK,GAAG,CAAC,GAAG,oBAAoB,CAAC;QAChD,CAAC,EAAE,CAAC,CAAC,CACN,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACK,oBAAoB;QAC1B,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC;YAC/B,qDAAqD;YACrD,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACpE,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,mEAAmE;YACnE,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB;gBACzD,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,CAAC;QAED,qEAAqE;QACrE,oEAAoE;QACpE,6DAA6D;QAC7D,kCAAkC;QAClC,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAEtD,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,GAAG,UAAU;YACtE,KAAK,EAAE,KAAK;SACb,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK;QACvC,0EAA0E;QAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACxC,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC;QAEnC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAElF,oEAAoE;QACpE,8DAA8D;QAC9D,IAAI,CAAC,KAAK,IAAI,eAAe,GAAG,SAAS;YAAE,OAAO;QAElD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,cAAc,EAAE,uBAAuB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QAC3J,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QAE3B,oDAAoD;QACpD,EAAE;QACF,yEAAyE;QACzE,qEAAqE;QACrE,uEAAuE;QACvE,mEAAmE;QACnE,gBAAgB;QAChB,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC;QAC7E,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe;QACvE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAC9B,GAAG,EACH,IAAI,CAAC,KAAK,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAChF,CAAC;QAEF,MAAM,gBAAgB,GAAG,mBAAmB;aACzC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,OAAO,IAAI,CAAC,CAAC,IAAI,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;QAC5C,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,MAAM,cAAc,GAAc;YAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,mGAAmG,EAAE;YAChI;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EACL,uGAAuG;oBACvG,wBAAwB;oBACxB,8BAA8B;oBAC9B,oCAAoC;oBACpC,sFAAsF;oBACtF,oCAAoC;oBACpC,uCAAuC;oBACvC,gBAAgB;aACnB;SACF,CAAC;QAEF,IAAI,CAAC;YACH,sEAAsE;YACtE,yEAAyE;YACzE,yEAAyE;YACzE,oDAAoD;YACpD,sEAAsE;YACtE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,EAAE;gBACxE,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACzE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE5B,2CAA2C;YAC3C,IAAI,CAAC,QAAQ,GAAG;gBACd,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE;gBACtD;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EACL,wHAAwH;wBACxH,6BAA6B,OAAO,2BAA2B;wBAC/D,kBAAkB,IAAI,CAAC,eAAe,MAAM;wBAC5C,mFAAmF;wBACnF,qFAAqF;iBACxF;aACF,CAAC;YAEF,yEAAyE;YACzE,kEAAkE;YAClE,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;YAE9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,IAAI,CAAC,QAAQ,CAAC,MAAM,yBAAyB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAElI,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;YAE3F,0EAA0E;YAC1E,2EAA2E;YAC3E,2EAA2E;YAC3E,2EAA2E;YAC3E,oEAAoE;YACpE,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAElF,IAAI,CAAC,QAAQ,GAAG;gBACd,SAAS;gBACT;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EACL,gEAAgE,IAAI,CAAC,eAAe,IAAI;wBACxF,+EAA+E;iBAClF;gBACD,GAAG,cAAc;aAClB,CAAC;YACF,6DAA6D;YAC7D,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,oDAAoD;IAC5C,qBAAqB,CAAC,MAAiB;QAC7C,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAe;YAC7B,EAAE;YACF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;YACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE;YAC1B,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9B,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,SAAS;YAC9C,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE;SACzB,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAErE,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,aAAa,SAAS,CAAC,MAAM,aAAa,CAAC;YACtD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,OAAO,IAAI,OAAO,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC;QACpC,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,KAAK,OAAO,CAAC,MAAM,2BAA2B,CAAC;YAC1D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,OAAO,IAAI,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,WAAW,IAAI,CAAC;YACtD,CAAC;QACH,CAAC;QAED,OAAO,OAAO,IAAI,mDAAmD,CAAC;IACxE,CAAC;IAEO,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,6DAA6D;IAE7D;;;;OAIG;IACK,kBAAkB;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAEvC,4EAA4E;QAC5E,wEAAwE;QACxE,kEAAkE;QAClE,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAA,sBAAY,EAAC;oBACvB,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;oBACnB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS;iBACzC,CAAC,CAAC;gBACH,IAAI,GAAG;oBAAE,OAAO,IAAI,WAAW,GAAG,EAAE,CAAC;YACvC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC1C,IAAI,GAAG;gBAAE,OAAO,IAAI,uBAAuB,GAAG,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,2EAA2E;IACnE,iBAAiB;QACvB,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,WAAW,EACT,gFAAgF;gBAChF,iFAAiF;gBACjF,iFAAiF;gBACjF,4BAA4B;YAC9B,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;iBAC7E;gBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB;YACD,OAAO,EAAE,KAAK,EAAE,IAA6B,EAAE,EAAE;gBAC/C,IAAI,CAAC,IAAI,CAAC,MAAM;oBAAE,OAAO,qBAAqB,CAAC;gBAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChD,IAAI,CAAC,MAAM;oBAAE,OAAO,sCAAsC,CAAC;gBAC3D,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBACjE,OAAO,CAAC,CAAC,KAAK;oBACZ,CAAC,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,qBAAqB;oBAC1D,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,qBAAqB,CAAC;YAC7E,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,kBAAkB,CAAC,OAAe;QAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW;YAAE,OAAO;QAC5D,sEAAsE;QACtE,2EAA2E;QAC3E,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;YAC3F,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,GAAc;gBACrB;oBACE,IAAI,EAAE,QAAQ;oBACd,OAAO,EACL,iFAAiF;wBACjF,kFAAkF;wBAClF,iFAAiF;wBACjF,oFAAoF;wBACpF,wDAAwD;iBAC3D;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EACL,yBAAyB,OAAO,MAAM;wBACtC,qBAAqB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM;wBAClE,gEAAgE;iBACnE;aACF,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YACzF,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;iBAC/B,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;iBAC/C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,IAAA,2BAAkB,EAAC,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACrC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK;oBAAE,KAAK,EAAE,CAAC;YAC1E,CAAC;YACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,+BAA+B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACnG,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;;AA7vCH,sBA8vCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAY,MAAM,SAAS,CAAC;AAMhD,eAAO,MAAM,qBAAqB,qpCAa4K,CAAC;AAE/M,sFAAsF;AACtF,MAAM,WAAW,aAAa;IAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;;;;;;OAOG;IACH,kBAAkB,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IACnE,wEAAwE;IACxE,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,sFAAsF;AACtF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAErF;AASD,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD;AAUD,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CA2SxE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAY,MAAM,SAAS,CAAC;AAMhD,eAAO,MAAM,qBAAqB,qpCAa4K,CAAC;AAE/M,sFAAsF;AACtF,MAAM,WAAW,aAAa;IAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;;;;;;OAOG;IACH,kBAAkB,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IACnE,wEAAwE;IACxE,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,sFAAsF;AACtF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAErF;AASD,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD;AAUD,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CA+UxE"}
package/dist/config.js CHANGED
@@ -55,19 +55,19 @@ const fileconfig_1 = require("./fileconfig");
55
55
  const cost_1 = require("./cost");
56
56
  const registry_1 = require("./registry");
57
57
  const modelsdev_1 = require("./modelsdev");
58
- exports.DEFAULT_SYSTEM_PROMPT = `You are NotSleep, a long-horizon autonomous AI agent. You have been given a task and you must complete it fully before stopping. You have access to tools that let you execute shell commands, read/write files, and search the web.
59
-
60
- CRITICAL RULES:
61
- 1. NEVER stop until the task is fully complete. If you encounter errors, debug and fix them.
62
- 2. Break large tasks into smaller subtasks and track your progress.
63
- 3. After completing each subtask, report progress and move to the next one.
64
- 4. If you are unsure about something, investigate before acting.
65
- 5. Always verify your work - run tests, check outputs, validate results.
66
- 6. If the context gets too long, you will be asked to summarize your progress. Be thorough in your summary.
67
- 7. Think step by step. Plan before you act.
68
- 8. Use "add_task" to queue follow-up work you discover (improvements, tests, documentation, refactoring).
69
- 9. Use "list_tasks" to see the current task queue and progress.
70
-
58
+ exports.DEFAULT_SYSTEM_PROMPT = `You are NotSleep, a long-horizon autonomous AI agent. You have been given a task and you must complete it fully before stopping. You have access to tools that let you execute shell commands, read/write files, and search the web.
59
+
60
+ CRITICAL RULES:
61
+ 1. NEVER stop until the task is fully complete. If you encounter errors, debug and fix them.
62
+ 2. Break large tasks into smaller subtasks and track your progress.
63
+ 3. After completing each subtask, report progress and move to the next one.
64
+ 4. If you are unsure about something, investigate before acting.
65
+ 5. Always verify your work - run tests, check outputs, validate results.
66
+ 6. If the context gets too long, you will be asked to summarize your progress. Be thorough in your summary.
67
+ 7. Think step by step. Plan before you act.
68
+ 8. Use "add_task" to queue follow-up work you discover (improvements, tests, documentation, refactoring).
69
+ 9. Use "list_tasks" to see the current task queue and progress.
70
+
71
71
  When you have fully completed the CURRENT task, call the "task_complete" tool with a summary of everything you accomplished. In continuous mode, you will automatically receive the next task from the queue.`;
72
72
  /** Override the recorded context-limit source (e.g. after a /models endpoint hit). */
73
73
  function markContextLimitSource(src) {
@@ -146,6 +146,16 @@ function loadConfig(overrides) {
146
146
  enabled: firstDefined(overrides?.dashboard?.enabled, file.dashboard?.enabled, process.env.NOTSLEEP_DASHBOARD === 'true' ? true : undefined) ?? false,
147
147
  port: firstDefined(overrides?.dashboard?.port, file.dashboard?.port, process.env.NOTSLEEP_DASHBOARD_PORT ? parseInt(process.env.NOTSLEEP_DASHBOARD_PORT, 10) : undefined) ?? 3120,
148
148
  },
149
+ memory: {
150
+ enabled: firstDefined(overrides?.memory?.enabled, file.memory?.enabled, process.env.NOTSLEEP_MEMORY === 'false' ? false : process.env.NOTSLEEP_MEMORY === 'true' ? true : undefined) ?? true,
151
+ path: firstDefined(overrides?.memory?.path, file.memory?.path, process.env.NOTSLEEP_MEMORY_FILE) ?? '.notsleep/memory.md',
152
+ maxEntries: firstDefined(overrides?.memory?.maxEntries, file.memory?.maxEntries, process.env.NOTSLEEP_MEMORY_MAX ? parseInt(process.env.NOTSLEEP_MEMORY_MAX, 10) : undefined) ?? 200,
153
+ autoReflect: firstDefined(overrides?.memory?.autoReflect, file.memory?.autoReflect, process.env.NOTSLEEP_AUTO_REFLECT === 'false' ? false : process.env.NOTSLEEP_AUTO_REFLECT === 'true' ? true : undefined) ?? true,
154
+ },
155
+ repoMap: {
156
+ enabled: firstDefined(overrides?.repoMap?.enabled, file.repoMap?.enabled, process.env.NOTSLEEP_REPO_MAP === 'false' ? false : process.env.NOTSLEEP_REPO_MAP === 'true' ? true : undefined) ?? true,
157
+ maxTokens: firstDefined(overrides?.repoMap?.maxTokens, file.repoMap?.maxTokens, process.env.NOTSLEEP_REPO_MAP_TOKENS ? parseInt(process.env.NOTSLEEP_REPO_MAP_TOKENS, 10) : undefined) ?? 2000,
158
+ },
149
159
  };
150
160
  // ── 4b. Unified "provider/model" registry selector (OpenCode-style) ──
151
161
  // If a `model` selector like "groq/llama-3.3-70b-versatile" is given, resolve