@mnemonik/cursor-hooks 0.7.4 → 0.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/hook.js CHANGED
@@ -6,18 +6,80 @@ import { PRE_BASH_GATE, PRE_EDIT_GATE, PRE_MCP_GATE, PROMPT_CONTEXT, CHECKPOINT_
6
6
  import { additionalContext, ask, continueWith, deny, renderVisibleMnemonikText, trimContext, } from './lib/cursorOutput.js';
7
7
  import { isNonInteractive, parseBypass, resolveConfig } from './lib/env.js';
8
8
  import { fetchInjections, fetchJit, fetchMcpPrecheck, fetchMcpRecord, reportBypass, reportGateFired, reportSubagent, trackIdeEdit, } from './lib/http.js';
9
- import { writeProjectFiles } from './lib/files.js';
10
9
  import { deliverContext } from './lib/contextOverflow.js';
10
+ import { claimFire } from './lib/dedupGuard.js';
11
11
  import { readGitHead } from './lib/git.js';
12
12
  import { matchIrreducibleDeny } from './lib/shellTokens.js';
13
13
  import { findProjectIdentity } from './lib/identity.js';
14
14
  import { cwdOf } from './lib/cwd.js';
15
+ import { migrateRetiredCursorRule } from './lib/retiredCursorRule.js';
16
+ import { canonicalMnemonikMcpTool, isCursorMcpToolEvent, isMnemonikMcpCall, } from './lib/mcpOwnership.js';
15
17
  import { appendProbeLog, buildProbeOutput, probeMode, probeNonce } from './lib/probe.js';
16
- const MNEMONIK_MCP_PREFIX = /^(mnemonik\.|MCP:mnemonik\.)/;
17
18
  /** Body cap for the epoch-writer PostToolUse forward. The server only reads
18
19
  * `toolArgs.code` (regexed for `mnemonik.code_search(`); an oversized body
19
20
  * must never break the POST. */
20
21
  const MAX_TOOL_ARGS_BYTES = 8 * 1024;
22
+ /** Cursor documents MCP `tool_input` as a JSON string, while older Cursor
23
+ * builds and our legacy aliases pass an object directly. */
24
+ function resolveJsonRecord(raw) {
25
+ if (raw && typeof raw === 'object' && !Array.isArray(raw)) {
26
+ return raw;
27
+ }
28
+ if (typeof raw !== 'string')
29
+ return undefined;
30
+ try {
31
+ const parsed = JSON.parse(raw);
32
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
33
+ return parsed;
34
+ }
35
+ }
36
+ catch {
37
+ // Malformed host input must not break a hook event.
38
+ }
39
+ return undefined;
40
+ }
41
+ function resolveMcpResult(input) {
42
+ if (input.mcp_result !== undefined)
43
+ return input.mcp_result;
44
+ if (typeof input.result_json !== 'string')
45
+ return undefined;
46
+ try {
47
+ return JSON.parse(input.result_json);
48
+ }
49
+ catch {
50
+ return undefined;
51
+ }
52
+ }
53
+ function resultErrorState(result) {
54
+ if (Object.prototype.hasOwnProperty.call(result, 'error'))
55
+ return true;
56
+ for (const key of ['isError', 'is_error']) {
57
+ if (!Object.prototype.hasOwnProperty.call(result, key))
58
+ continue;
59
+ const value = result[key];
60
+ if (value === true)
61
+ return true;
62
+ if (value !== false)
63
+ return undefined;
64
+ }
65
+ return false;
66
+ }
67
+ /** True/false only when Cursor supplied an object-shaped CallToolResult. */
68
+ function resolveMcpToolSucceeded(result) {
69
+ const record = resolveJsonRecord(result);
70
+ if (!record)
71
+ return undefined;
72
+ const outerError = resultErrorState(record);
73
+ if (outerError !== false)
74
+ return outerError === true ? false : undefined;
75
+ const nested = resolveJsonRecord(record.result);
76
+ if (nested) {
77
+ const nestedError = resultErrorState(nested);
78
+ if (nestedError !== false)
79
+ return nestedError === true ? false : undefined;
80
+ }
81
+ return true;
82
+ }
21
83
  /**
22
84
  * Resolve MCP tool args for the epoch-writer PostToolUse forward
23
85
  * (temporal-grounding Phase 1 — closes the Cursor gap in the server's
@@ -28,19 +90,7 @@ const MAX_TOOL_ARGS_BYTES = 8 * 1024;
28
90
  * is no string `.code` — the payload size can never break the POST.
29
91
  */
30
92
  function resolveMcpToolArgs(raw) {
31
- let obj;
32
- if (raw && typeof raw === 'object')
33
- obj = raw;
34
- else if (typeof raw === 'string') {
35
- try {
36
- const parsed = JSON.parse(raw);
37
- if (parsed && typeof parsed === 'object')
38
- obj = parsed;
39
- }
40
- catch {
41
- return undefined;
42
- }
43
- }
93
+ const obj = resolveJsonRecord(raw);
44
94
  if (!obj)
45
95
  return undefined;
46
96
  let size;
@@ -144,23 +194,57 @@ function fileTargetsFromToolInput(toolName, toolInput, cwd) {
144
194
  }
145
195
  return candidates.map((p) => (p.startsWith('/') ? p : resolve(cwd, p)));
146
196
  }
197
+ async function trackCursorEdit(input, config, filePath, cwd) {
198
+ if (!config.apiKey)
199
+ return false;
200
+ return trackIdeEdit({
201
+ server: config.server,
202
+ apiKey: config.apiKey,
203
+ sessionId: sessionId(input),
204
+ filePath,
205
+ cwd,
206
+ eventId: input.tool_use_id,
207
+ });
208
+ }
209
+ async function migrateRetiredCursorRules(input) {
210
+ const cleanupRoots = new Set([cwdOf(input)]);
211
+ for (const root of input.workspace_roots ?? []) {
212
+ if (typeof root === 'string' && root.length > 0)
213
+ cleanupRoots.add(root);
214
+ }
215
+ await Promise.all([...cleanupRoots].map((root) => migrateRetiredCursorRule(root)));
216
+ }
147
217
  async function handleSessionStart(input, config) {
218
+ // Host-scoped installs can open projects that were never the installer's
219
+ // cwd. Retire exact server-generated legacy rules lazily across every root
220
+ // in a multi-root workspace; customised/user-authored files are preserved.
221
+ await migrateRetiredCursorRules(input);
148
222
  if (PROMPT_CONTEXT === 'off')
149
223
  writeAllow();
150
224
  if (!config.apiKey)
151
225
  writeAllow();
226
+ const isFirstFire = await claimFire({
227
+ event: 'sessionStart',
228
+ sessionKey: sessionId(input),
229
+ generationId: input.generation_id,
230
+ });
231
+ if (!isFirstFire)
232
+ writeAllow();
152
233
  // Bus-driven injections only. Legacy /context action prose is deliberately
153
234
  // not merged here, so InjectionBus owns session-start directive timing.
154
235
  //
155
- // Delivery is `additional_context` Cursor documents this SessionStart output
156
- // field as "additional context to add to the conversation's initial system
157
- // context", so the digest lands in-context silently with no file written. The
158
- // project root resolves from the SessionStart payload's workspace_roots (see
159
- // cwdOf), so a fresh session is briefed with the RIGHT project's digest. The
160
- // server satisfies the bootstrap obligation on this emit
161
- // (satisfiesBootstrapOnEmit), so there is no ack round-trip and no generated
162
- // .cursor/rules/*.mdc file writing the digest to a rules file was a lazy
163
- // workaround that polluted the workspace; it is intentionally gone.
236
+ // The server no longer delivers the bootstrap digest on this event: Cursor's
237
+ // SessionStart `additional_context` field is NOT model-visible (operator
238
+ // probe 2026-07-02, Cursor 3.9.16; Cursor-acknowledged upstream bug
239
+ // composer-handle timing, forum #158452), so a digest emitted here would be
240
+ // marked "delivered" server-side while the model never saw it. This call now
241
+ // only WARMS the server's digest cache for the project resolved from the
242
+ // SessionStart payload's workspace_roots (see cwdOf); the digest itself is
243
+ // deliveredand the bootstrap obligation satisfied on the first
244
+ // `beforeSubmitPrompt` below, which probe-verified as model-visible 9/9. This
245
+ // handler's own behavior is otherwise unchanged: it fails open (`writeAllow`)
246
+ // when the server returns no pieces, and still forwards any non-bootstrap
247
+ // injections the server chooses to send on SessionStart.
164
248
  const cwd = cwdOf(input);
165
249
  const projectId = (await findProjectIdentity(cwd))?.projectId;
166
250
  const tz = captureHostTz();
@@ -187,11 +271,23 @@ async function handleSessionStart(input, config) {
187
271
  writeOutput(additionalContext(await deliverContext(pieces.join('\n\n'), sessionId(input))));
188
272
  }
189
273
  async function handleBeforeSubmitPrompt(input, config) {
274
+ // Cursor can abandon the initial sessionStart process before this package's
275
+ // async cleanup completes. The first reliable prompt boundary repeats the
276
+ // byte-exact, preserve-on-any-difference migration before every early exit.
277
+ await migrateRetiredCursorRules(input);
190
278
  if (PROMPT_CONTEXT === 'off')
191
279
  writeAllow();
192
280
  if (!config.apiKey) {
193
281
  writeOutput(continueWith());
194
282
  }
283
+ const isFirstFire = await claimFire({
284
+ event: 'beforeSubmitPrompt',
285
+ sessionKey: sessionId(input),
286
+ prompt: input.prompt,
287
+ generationId: input.generation_id,
288
+ });
289
+ if (!isFirstFire)
290
+ writeOutput(continueWith());
195
291
  // Bus-driven nudges + JIT directives fire on every prompt submit, not
196
292
  // just when context usage is high. The server owns dedup, work-state
197
293
  // hold, per-signal kill switches, and the hasUncheckpointedEdits gate
@@ -225,20 +321,6 @@ async function handleBeforeSubmitPrompt(input, config) {
225
321
  })
226
322
  : Promise.resolve(null),
227
323
  ]);
228
- // Write any server-provided workspace files (the memory-tools rule file)
229
- // idempotently. Delivered here on UserPromptSubmit rather than SessionStart:
230
- // Cursor kills the FIRST hook fire after a fresh IDE open (the sessionStart
231
- // bug), so a SessionStart write never lands on the first session. This fire is
232
- // the prompt boundary, which Cursor runs to completion, so the write lands.
233
- // Never breaks the session: writeProjectFiles is fail-open and we wrap it too.
234
- if (injectionsResp?.filesToWrite?.length) {
235
- try {
236
- await writeProjectFiles(cwdOf(input), injectionsResp.filesToWrite);
237
- }
238
- catch {
239
- /* fail-open — a rule-file write must never break the session */
240
- }
241
- }
242
324
  const pieces = [];
243
325
  // JIT directive comes before passive nudges/ambient — the authoritative
244
326
  // surfaced fact anchors before any advisory recall the agent reads
@@ -272,7 +354,8 @@ async function handlePreToolUse(input, config) {
272
354
  writeAllow();
273
355
  }
274
356
  const cwd = cwdOf(input);
275
- const targets = fileTargetsFromToolInput(tool, input.tool_input, cwd);
357
+ const toolInput = resolveJsonRecord(input.tool_input);
358
+ const targets = fileTargetsFromToolInput(tool, toolInput, cwd);
276
359
  const existingTargets = targets.filter((path) => existsSync(path));
277
360
  if (existingTargets.length === 0) {
278
361
  await emitGateFired(input, config, tool, mode, 'new_or_no_file');
@@ -291,7 +374,8 @@ async function handlePreToolUse(input, config) {
291
374
  cursorSessionId: sessionId(input),
292
375
  event: 'PreToolUse',
293
376
  toolName: input.tool_name ?? '',
294
- toolArgs: input.tool_input,
377
+ toolArgs: toolInput,
378
+ eventId: input.tool_use_id,
295
379
  filePaths: existingTargets,
296
380
  });
297
381
  if (!injectionsResp?.ok) {
@@ -337,18 +421,30 @@ async function handlePreToolUse(input, config) {
337
421
  async function handlePostToolUse(input, config) {
338
422
  const tool = input.tool_name ?? '';
339
423
  const cwd = cwdOf(input);
340
- const targets = fileTargetsFromToolInput(tool, input.tool_input, cwd);
341
- for (const target of targets) {
342
- await trackIdeEdit({
343
- server: config.server,
344
- apiKey: config.apiKey,
345
- sessionId: sessionId(input),
346
- filePath: target,
424
+ let serverTool = tool;
425
+ if (isCursorMcpToolEvent(tool)) {
426
+ const owned = await isMnemonikMcpCall({
427
+ tool,
428
+ command: input.command,
429
+ url: input.url,
347
430
  cwd,
431
+ workspaceRoots: input.workspace_roots,
432
+ hookServer: config.server,
348
433
  });
434
+ if (!owned)
435
+ writeAllow();
436
+ const canonicalTool = canonicalMnemonikMcpTool(tool);
437
+ if (!canonicalTool)
438
+ writeAllow();
439
+ serverTool = canonicalTool;
349
440
  }
441
+ const targets = fileTargetsFromToolInput(tool, resolveJsonRecord(input.tool_input), cwd);
442
+ const editConfirmations = await Promise.all(targets.map((target) => trackCursorEdit(input, config, target, cwd)));
443
+ const editsConfirmed = editConfirmations.every(Boolean);
350
444
  if (!config.apiKey)
351
445
  writeAllow();
446
+ if (targets.length > 0 && !editsConfirmed)
447
+ writeAllow();
352
448
  // PostToolUse stays bus-only; edit tracking above is the side effect.
353
449
  const injectionsResp = await fetchInjections({
354
450
  server: config.server,
@@ -356,7 +452,8 @@ async function handlePostToolUse(input, config) {
356
452
  cwd,
357
453
  cursorSessionId: sessionId(input),
358
454
  event: 'PostToolUse',
359
- toolName: tool,
455
+ toolName: serverTool,
456
+ eventId: input.tool_use_id,
360
457
  // Post-edit grounding (cursor-only server behavior): the server returns
361
458
  // the edited file's memory summary as a file_context_required envelope,
362
459
  // delivered on postToolUse additional_context — Cursor's only working
@@ -419,6 +516,7 @@ async function handleBeforeShellExecution(input, config) {
419
516
  event: 'PreToolUse',
420
517
  toolName: 'Shell',
421
518
  toolArgs: { command },
519
+ eventId: input.tool_use_id,
422
520
  });
423
521
  if (!injectionsResp?.ok) {
424
522
  await emitGateFired(input, config, 'Shell', 'advisory', injectionsResp ? 'no_match' : 'unreachable');
@@ -469,15 +567,24 @@ async function handleBeforeMCPExecution(input, config) {
469
567
  if (PRE_MCP_GATE === 'off')
470
568
  writeAllow();
471
569
  const tool = input.mcp_tool ?? input.tool_name ?? '';
472
- if (!MNEMONIK_MCP_PREFIX.test(tool))
570
+ const owned = await isMnemonikMcpCall({
571
+ tool,
572
+ command: input.command,
573
+ url: input.url,
574
+ cwd: cwdOf(input),
575
+ workspaceRoots: input.workspace_roots,
576
+ hookServer: config.server,
577
+ });
578
+ if (!owned)
579
+ writeAllow();
580
+ const canonicalTool = canonicalMnemonikMcpTool(tool);
581
+ if (!canonicalTool)
473
582
  writeAllow();
474
583
  if (!config.apiKey) {
475
584
  await emitGateFired(input, config, tool, 'advisory', 'no_api_key');
476
585
  writeAllow();
477
586
  }
478
- const args = (input.mcp_args ??
479
- input.tool_input ??
480
- {});
587
+ const args = resolveJsonRecord(input.mcp_args ?? input.tool_input) ?? {};
481
588
  // Read .git/HEAD up-front so the `git_head_already_mined` evaluator can
482
589
  // compare against `git_mine_history.last_mined_sha`. Soft-fails to undefined
483
590
  // when the cwd isn't a git tree or HEAD is unreadable — the server-side
@@ -490,7 +597,7 @@ async function handleBeforeMCPExecution(input, config) {
490
597
  cwd: cwdOf(input),
491
598
  projectId: (await findProjectIdentity(cwdOf(input)))?.projectId,
492
599
  cursorSessionId: sessionId(input),
493
- tool,
600
+ tool: canonicalTool,
494
601
  args,
495
602
  model: input.model,
496
603
  ...(gitHeadSha ? { gitHeadSha } : {}),
@@ -513,7 +620,18 @@ async function handleBeforeMCPExecution(input, config) {
513
620
  }
514
621
  async function handleAfterMCPExecution(input, config) {
515
622
  const tool = input.mcp_tool ?? input.tool_name ?? '';
516
- if (!MNEMONIK_MCP_PREFIX.test(tool))
623
+ const owned = await isMnemonikMcpCall({
624
+ tool,
625
+ command: input.command,
626
+ url: input.url,
627
+ cwd: cwdOf(input),
628
+ workspaceRoots: input.workspace_roots,
629
+ hookServer: config.server,
630
+ });
631
+ if (!owned)
632
+ writeAllow();
633
+ const canonicalTool = canonicalMnemonikMcpTool(tool);
634
+ if (!canonicalTool)
517
635
  writeAllow();
518
636
  // Telemetry first (gate-fired metric stays unchanged).
519
637
  await emitGateFired(input, config, tool, 'advisory', 'mcp_executed');
@@ -521,27 +639,27 @@ async function handleAfterMCPExecution(input, config) {
521
639
  // so the server can populate the retrieved-memory log + embedding cache
522
640
  // that backs four precheck evaluators (Cat 2/3/8). Fire-and-forget; any
523
641
  // failure leaves the corresponding evaluator fail-open at most.
524
- if (config.apiKey && input.mcp_result !== undefined) {
525
- const args = (input.mcp_args ??
526
- input.tool_input ??
527
- {});
642
+ const result = resolveMcpResult(input);
643
+ if (config.apiKey && result !== undefined) {
644
+ const args = resolveJsonRecord(input.mcp_args ?? input.tool_input) ?? {};
528
645
  await fetchMcpRecord({
529
646
  server: config.server,
530
647
  apiKey: config.apiKey,
531
648
  cwd: cwdOf(input),
532
649
  projectId: (await findProjectIdentity(cwdOf(input)))?.projectId,
533
650
  cursorSessionId: sessionId(input),
534
- tool,
651
+ tool: canonicalTool,
535
652
  args,
536
- result: input.mcp_result,
653
+ result,
537
654
  });
538
655
  // temporal-grounding Phase 1 — forward tool identity on a PostToolUse
539
656
  // /injections event so the server's epoch writer can mark the code_search
540
657
  // obligation for Cursor (previously claude_code-only). afterMCPExecution is
541
658
  // the ONLY Cursor event that sees mnemonik MCP calls with the session id, so
542
659
  // the regular handlePostToolUse never reaches these. Fail-open: the
543
- // fetchInjections helper soft-fails on timeout/network; the response is
544
- // ignored (Cursor's post-MCP surface renders no additional_context).
660
+ // fetchInjections helper soft-fails on timeout/network. observeOnly makes
661
+ // the response an acknowledgement without evaluating/consuming candidates;
662
+ // Cursor's post-MCP surface has no model-visible additional_context.
545
663
  await fetchInjections({
546
664
  server: config.server,
547
665
  apiKey: config.apiKey,
@@ -549,23 +667,25 @@ async function handleAfterMCPExecution(input, config) {
549
667
  projectId: (await findProjectIdentity(cwdOf(input)))?.projectId,
550
668
  cursorSessionId: sessionId(input),
551
669
  event: 'PostToolUse',
552
- toolName: tool,
670
+ toolName: canonicalTool,
553
671
  toolArgs: resolveMcpToolArgs(input.mcp_args ?? input.tool_input),
672
+ eventId: input.tool_use_id,
673
+ observeOnly: true,
674
+ toolSucceeded: resolveMcpToolSucceeded(result),
554
675
  });
555
676
  }
556
677
  writeAllow();
557
678
  }
558
679
  async function handleAfterFileEdit(input, config) {
559
- const filePath = input.file_path;
560
- if (!filePath)
561
- writeAllow();
562
- await trackIdeEdit({
563
- server: config.server,
564
- apiKey: config.apiKey,
565
- sessionId: sessionId(input),
566
- filePath,
567
- cwd: cwdOf(input),
568
- });
680
+ // Legacy installs may still invoke this event. Do not count the edit here:
681
+ // Cursor's documented afterFileEdit payload has no tool_use_id, so it cannot
682
+ // be correlated exactly with the matching postToolUse event. Counting both
683
+ // doubled every edit (and duplicate user+project registrations multiplied it
684
+ // further), prematurely crossing checkpoint thresholds. postToolUse is the
685
+ // canonical edit event: it is keyed by tool_use_id, fires reliably for every
686
+ // edit-class tool, and is also the model-visible post-edit injection surface.
687
+ void input;
688
+ void config;
569
689
  writeAllow();
570
690
  }
571
691
  async function handleStop(_input, _config) {
package/dist/hook.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EAEjB,GAAG,EACH,YAAY,EACZ,IAAI,EACJ,yBAAyB,EACzB,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EACL,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAQzF,MAAM,mBAAmB,GAAG,8BAA8B,CAAC;AAE3D;;iCAEiC;AACjC,MAAM,mBAAmB,GAAG,CAAC,GAAG,IAAI,CAAC;AAErC;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CAAC,GAAY;IACtC,IAAI,GAAwC,CAAC;IAC7C,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,GAAG,GAAG,GAA8B,CAAC;SACpE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,GAAG,GAAG,MAAiC,CAAC;QACpF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC,CAAC,qDAAqD;IACzE,CAAC;IACD,IAAI,IAAI,IAAI,mBAAmB;QAAE,OAAO,GAAG,CAAC;IAC5C,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC;IAC1F,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa;IACpB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS;IACtB,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,KAA6B,EAAE,EAAE;YAC/C,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,CAAC;QACb,CAAC,CAAC;QACF,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACjC,GAAG,IAAI,KAAK,CAAC;YACb,IAAI,GAAG,CAAC,MAAM,GAAG,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACnB,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAC,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,MAA+B;IAClD,IAAI,MAAM;QAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC,CAAC,CAAC;AACV,CAAC;AAED,SAAS,UAAU;IACjB,IAAI,CAAC,CAAC,CAAC,CAAC;AACV,CAAC;AAED,SAAS,SAAS,CAAC,KAAsB;IACvC,OAAO,CACL,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,aAAa,IAAI,wBAAwB,CAC7F,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAsB;IACzC,IAAI,KAAK,CAAC,eAAe;QAAE,OAAO,KAAK,CAAC,eAAe,CAAC;IACxD,IACE,KAAK,CAAC,UAAU;QAChB,CAAC,OAAO,KAAK,CAAC,mBAAmB,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,CAAC;QAC3F,KAAK,CAAC,MAAM,KAAK,SAAS;QAC1B,KAAK,CAAC,SAAS,KAAK,SAAS;QAC7B,KAAK,CAAC,OAAO,KAAK,SAAS;QAC3B,KAAK,CAAC,QAAQ,KAAK,SAAS;QAC5B,KAAK,CAAC,SAAS,KAAK,SAAS,EAC7B,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,KAAsB,EACtB,MAAkB,EAClB,IAAY,EACZ,IAAoC,EACpC,OAAe;IAEf,MAAM,eAAe,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;QACjB,SAAS,EAAE,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS;QAC/D,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC;QACjC,IAAI;QACJ,IAAI;QACJ,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAAgB,EAChB,SAA8C,EAC9C,GAAW;IAEX,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC;IACzE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE;QAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,qEAAqE;IACrE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,SAAS,CAAC;IAC7E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE;gBAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,KAAsB,EAAE,MAAkB;IAC1E,IAAI,cAAc,KAAK,KAAK;QAAE,UAAU,EAAE,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,UAAU,EAAE,CAAC;IACjC,2EAA2E;IAC3E,wEAAwE;IACxE,EAAE;IACF,+EAA+E;IAC/E,2EAA2E;IAC3E,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,yDAAyD;IACzD,6EAA6E;IAC7E,2EAA2E;IAC3E,oEAAoE;IACpE,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,MAAM,SAAS,GAAG,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;IAC9D,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IAC3B,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC;QAC3C,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG;QACH,SAAS;QACT,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC;QACjC,KAAK,EAAE,cAAc;QACrB,EAAE;KACH,CAAC,CAAC;IACH,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,cAAc,EAAE,EAAE,EAAE,CAAC;QACvB,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,UAAU;YACzC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,EAAE,CAAC;IACtC,0EAA0E;IAC1E,yEAAyE;IACzE,wEAAwE;IACxE,qDAAqD;IACrD,WAAW,CAAC,iBAAiB,CAAC,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,KAAsB,EAAE,MAAkB;IAChF,IAAI,cAAc,KAAK,KAAK;QAAE,UAAU,EAAE,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,sEAAsE;IACtE,qEAAqE;IACrE,sEAAsE;IACtE,uEAAuE;IACvE,uEAAuE;IACvE,uEAAuE;IACvE,iEAAiE;IACjE,qEAAqE;IACrE,sCAAsC;IACtC,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,qBAAqB,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IAC3B,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,eAAe,CAAC;YACd,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;YACjB,SAAS,EAAE,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS;YAC/D,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC;YACjC,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,EAAE;SACH,CAAC;QACF,KAAK,CAAC,MAAM;YACV,CAAC,CAAC,QAAQ,CAAC;gBACP,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;gBACjB,SAAS,EAAE,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS;gBAC/D,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC;gBACjC,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC;YACJ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;KAC1B,CAAC,CAAC;IACH,yEAAyE;IACzE,6EAA6E;IAC7E,4EAA4E;IAC5E,+EAA+E;IAC/E,4EAA4E;IAC5E,+EAA+E;IAC/E,IAAI,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,wEAAwE;IACxE,mEAAmE;IACnE,YAAY;IACZ,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ;QAAE,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1F,IAAI,cAAc,EAAE,EAAE,EAAE,CAAC;QACvB,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,UAAU;YACzC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CACT,+FAA+F,CAChG,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;IACrD,oEAAoE;IACpE,0EAA0E;IAC1E,sEAAsE;IACtE,yEAAyE;IACzE,sEAAsE;IACtE,WAAW,CAAC;QACV,QAAQ,EAAE,IAAI;QACd,kBAAkB,EAAE,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;KAChF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,KAAsB,EAAE,MAAkB;IACxE,MAAM,IAAI,GAAG,aAAa,CAAC;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC;IACxC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACvD,UAAU,EAAE,CAAC;IACf,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACtE,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACjE,UAAU,EAAE,CAAC;IACf,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QAC7D,UAAU,EAAE,CAAC;IACf,CAAC;IAED,qEAAqE;IACrE,gEAAgE;IAChE,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC;QAC3C,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAO;QACtB,GAAG;QACH,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC;QACjC,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;QAC/B,QAAQ,EAAE,KAAK,CAAC,UAAU;QAC1B,SAAS,EAAE,eAAe;KAC3B,CAAC,CAAC;IACH,IAAI,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC;QACxB,MAAM,aAAa,CACjB,KAAK,EACL,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,cAAc,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CACrD,CAAC;QACF,UAAU,EAAE,CAAC;IACf,CAAC;IACD,MAAM,YAAY,GAAG,cAAc,CAAC,eAAe,KAAK,eAAe,CAAC;IACxE,MAAM,kBAAkB,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CACzD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,uBAAuB,CAChD,CAAC;IACF,0EAA0E;IAC1E,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM;IACvF,4EAA4E;IAC5E,8DAA8D;IAC9D,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,qBAAqB,IAAI,mBAAmB,KAAK,KAAK,CAAC,CAClF,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1D,UAAU,EAAE,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU;SACxB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;SACzE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChB,IAAI,IAAI,KAAK,UAAU,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,YAAY,EAAE,CAAC;YACjB,oEAAoE;YACpE,uEAAuE;YACvE,+CAA+C;YAC/C,WAAW,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,sEAAsE;QACtE,yEAAyE;QACzE,gDAAgD;QAChD,WAAW,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,mEAAmE;IACnE,0DAA0D;IAC1D,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACvD,WAAW,CACT,IAAI,CACF,kBAAkB;SACf,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;SACzE,IAAI,CAAC,MAAM,CAAC,CAChB,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,KAAsB,EAAE,MAAkB;IACzE,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACtE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,YAAY,CAAC;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC;YAC3B,QAAQ,EAAE,MAAM;YAChB,GAAG;SACJ,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,UAAU,EAAE,CAAC;IACjC,sEAAsE;IACtE,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC;QAC3C,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG;QACH,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC;QACjC,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,IAAI;QACd,wEAAwE;QACxE,wEAAwE;QACxE,sEAAsE;QACtE,4CAA4C;QAC5C,SAAS,EAAE,OAAO;KACnB,CAAC,CAAC;IACH,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,cAAc,EAAE,EAAE,EAAE,CAAC;QACvB,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;YAC5C,0EAA0E;YAC1E,mDAAmD;YACnD,IAAI,GAAG,CAAC,MAAM,KAAK,qBAAqB,IAAI,mBAAmB,KAAK,KAAK;gBAAE,SAAS;YACpF,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,EAAE,CAAC;IACtC,0EAA0E;IAC1E,yEAAyE;IACzE,wEAAwE;IACxE,qDAAqD;IACrD,WAAW,CAAC,iBAAiB,CAAC,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,KAAsB,EACtB,MAAkB;IAElB,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACjD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,CAAC;IAElC,iEAAiE;IACjE,sEAAsE;IACtE,wEAAwE;IACxE,2EAA2E;IAC3E,uBAAuB;IACvB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,QAAQ,EAAE,CAAC,CAAC;QACvF,WAAW,CACT,IAAI,CACF;YACE,2BAA2B;YAC3B,iEAAiE,QAAQ,IAAI;YAC7E,wKAAwK;YACxK,gIAAgI;SACjI,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,KAAK,KAAK;QAAE,UAAU,EAAE,CAAC;IAE1C,gEAAgE;IAChE,uEAAuE;IACvE,+DAA+D;IAC/D,uCAAuC;IACvC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QACtE,UAAU,EAAE,CAAC;IACf,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC;QAC3C,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAO;QACtB,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;QACjB,SAAS,EAAE,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS;QAC/D,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC;QACjC,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,EAAE,OAAO,EAAE;KACtB,CAAC,CAAC;IACH,IAAI,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC;QACxB,MAAM,aAAa,CACjB,KAAK,EACL,MAAM,EACN,OAAO,EACP,UAAU,EACV,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAC5C,CAAC;QACF,UAAU,EAAE,CAAC;IACf,CAAC;IACD,MAAM,mBAAmB,GACvB,mBAAmB,KAAK,KAAK;QAC3B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,qBAAqB,CAAC,CAAC;IACpF,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,CAChD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,uBAAuB,CAChD,CAAC;IACF,MAAM,YAAY,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,iBAAiB,CAAC,CAAC;IACjG,6EAA6E;IAC7E,+EAA+E;IAC/E,MAAM,gBAAgB,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CACvD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,sBAAsB,CAC/C,CAAC;IACF,IACE,CAAC,mBAAmB;QACpB,CAAC,WAAW;QACZ,YAAY,CAAC,MAAM,KAAK,CAAC;QACzB,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAC7B,CAAC;QACD,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAC7E,UAAU,EAAE,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,mBAAmB,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,uBAAuB,CAAC,CAAC;QAChF,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,6EAA6E;IAC7E,oDAAoD;IACpD,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/F,WAAW,CAAC;QACV,UAAU,EAAE,OAAO;QACnB,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/B,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,KAAsB,EAAE,MAAkB;IAChF,IAAI,YAAY,KAAK,KAAK;QAAE,UAAU,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IACrD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,UAAU,EAAE,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QACnE,UAAU,EAAE,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ;QACzB,KAAK,CAAC,UAAkD;QACzD,EAAE,CAA4B,CAAC;IACjC,wEAAwE;IACxE,6EAA6E;IAC7E,wEAAwE;IACxE,qEAAqE;IACrE,oEAAoE;IACpE,MAAM,UAAU,GAAG,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IAClE,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;QACpC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;QACjB,SAAS,EAAE,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS;QAC/D,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC;QACjC,IAAI;QACJ,IAAI;QACJ,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;QAChB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACxF,UAAU,EAAE,CAAC;IACf,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC/B,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9D,UAAU,EAAE,CAAC;IACf,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAC7D,WAAW,CACT,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,4BAA4B,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,CACtF,CAAC;IACJ,CAAC;IACD,oBAAoB;IACpB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAC5D,WAAW,CACT,GAAG,CACD,MAAM,CAAC,YAAY,IAAI,2CAA2C,EAClE,MAAM,CAAC,MAAM,IAAI,SAAS,CAC3B,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,KAAsB,EAAE,MAAkB;IAC/E,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IACrD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,UAAU,EAAE,CAAC;IAClD,uDAAuD;IACvD,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IACrE,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,gEAAgE;IAChE,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ;YACzB,KAAK,CAAC,UAAkD;YACzD,EAAE,CAA4B,CAAC;QACjC,MAAM,cAAc,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;YACjB,SAAS,EAAE,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS;YAC/D,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC;YACjC,IAAI;YACJ,IAAI;YACJ,MAAM,EAAE,KAAK,CAAC,UAAU;SACzB,CAAC,CAAC;QACH,sEAAsE;QACtE,0EAA0E;QAC1E,4EAA4E;QAC5E,6EAA6E;QAC7E,oEAAoE;QACpE,wEAAwE;QACxE,qEAAqE;QACrE,MAAM,eAAe,CAAC;YACpB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;YACjB,SAAS,EAAE,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS;YAC/D,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC;YACjC,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,kBAAkB,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC;SACjE,CAAC,CAAC;IACL,CAAC;IACD,UAAU,EAAE,CAAC;AACf,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,KAAsB,EAAE,MAAkB;IAC3E,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;IACjC,IAAI,CAAC,QAAQ;QAAE,UAAU,EAAE,CAAC;IAC5B,MAAM,YAAY,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC;QAC3B,QAAQ;QACR,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;KAClB,CAAC,CAAC;IACH,UAAU,EAAE,CAAC;AACf,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,MAAuB,EAAE,OAAmB;IACpE,8EAA8E;IAC9E,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,6EAA6E;IAC7E,UAAU,EAAE,CAAC;AACf,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,KAAsB,EACtB,MAAkB,EAClB,KAAuB;IAEvB,IAAI,cAAc,KAAK,KAAK;QAAE,UAAU,EAAE,CAAC;IAC3C,IAAI,CAAC,KAAK,CAAC,WAAW;QAAE,UAAU,EAAE,CAAC;IACrC,MAAM,cAAc,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;QACjB,SAAS,EAAE,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS;QAC/D,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC;QACjC,KAAK;QACL,UAAU,EAAE,KAAK,CAAC,WAAW;QAC7B,YAAY,EAAE,KAAK,CAAC,aAAa;QACjC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,oBAAoB,EAAE,KAAK,CAAC,sBAAsB;QAClD,UAAU,EAAE,KAAK,CAAC,YAAY;QAC9B,aAAa,EAAE,KAAK,CAAC,cAAc;QACnC,gBAAgB,EAAE,KAAK,CAAC,kBAAkB;QAC1C,SAAS,EAAE,KAAK,CAAC,UAAU;QAC3B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,WAAW;KAC9B,CAAC,CAAC;IACH,UAAU,EAAE,CAAC;AACf,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,KAAsB,EAAE,MAAkB;IACxE,IAAI,kBAAkB,KAAK,KAAK;QAAE,UAAU,EAAE,CAAC;IAC/C,MAAM,KAAK,GACT,OAAO,KAAK,CAAC,qBAAqB,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,mBAAmB,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,MAAM,KAAK,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;IACjE,MAAM,aAAa,CACjB,KAAK,EACL,MAAM,EACN,YAAY,EACZ,UAAU,EACV,WAAW,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,CACtC,CAAC;IACF,UAAU,EAAE,CAAC;AACf,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,KAAsB;IAC5C,IAAI,gBAAgB,EAAE;QAAE,UAAU,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,MAAM,cAAc,CAAC;YACnB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,KAAK;YACL,IAAI,EAAE,KAAK;YACX,KAAK;YACL,KAAK;YACL,MAAM;SACP,CAAC,CAAC;QACH,WAAW,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;IAC7B,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,mDAAmD,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,YAAY,CAAC;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;YACjB,SAAS,EAAE,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS;YAC/D,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC;YACjC,IAAI,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,IAAI,SAAS;YAC7D,UAAU,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;YACpC,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,UAAU,EAAE,CAAC;IACf,CAAC;IAED,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,cAAc;YACjB,MAAM,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM;QACR,KAAK,oBAAoB;YACvB,MAAM,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC9C,MAAM;QACR,KAAK,YAAY;YACf,MAAM,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACtC,MAAM;QACR,KAAK,aAAa;YAChB,MAAM,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACvC,MAAM;QACR,KAAK,sBAAsB;YACzB,MAAM,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAChD,MAAM;QACR,KAAK,oBAAoB;YACvB,MAAM,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC9C,MAAM;QACR,KAAK,mBAAmB;YACtB,MAAM,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM;QACR,KAAK,eAAe;YAClB,MAAM,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACzC,MAAM;QACR,KAAK,MAAM;YACT,MAAM,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAChC,MAAM;QACR,KAAK,eAAe;YAClB,MAAM,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACtD,MAAM;QACR,KAAK,cAAc;YACjB,MAAM,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACrD,MAAM;QACR,KAAK,YAAY;YACf,MAAM,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACtC,MAAM;QACR;YACE,UAAU,EAAE,CAAC;IACjB,CAAC;AACH,CAAC;AAED,CAAC,KAAK,IAAI,EAAE;IACV,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,UAAU,EAAE,CAAC;QACzB,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CACV,wDAAwD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAC7G,CAAC;QACF,UAAU,EAAE,CAAC;IACf,CAAC;AACH,CAAC,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
package/dist/install.d.ts CHANGED
@@ -1,12 +1,6 @@
1
1
  #!/usr/bin/env node
2
+ import { isRetiredMnemonikManagedRule, migrateRetiredCursorRule } from './lib/retiredCursorRule.js';
2
3
  type InstallTarget = 'host' | 'project';
3
- /**
4
- * Cursor hook entry shape (cursor.com/docs/hooks, plan §3.3).
5
- *
6
- * Cursor's default loop_limit remains in place for every event. Stop follow-up
7
- * reminders rely on the server's checkpoint-generation guard; an unbounded host
8
- * loop turns any guard regression into an agent trap.
9
- */
10
4
  interface CursorHookEntry {
11
5
  type: 'command';
12
6
  command: string;
@@ -14,16 +8,18 @@ interface CursorHookEntry {
14
8
  loop_limit?: number | null;
15
9
  failClosed?: boolean;
16
10
  matcher?: string;
11
+ [k: string]: unknown;
17
12
  }
18
13
  interface BuildEntryOptions {
19
14
  matcher?: string;
20
15
  unlimitedLoop?: boolean;
21
16
  }
22
17
  declare function buildHookEntry(dispatcher: string, opts?: BuildEntryOptions): CursorHookEntry;
23
- declare function isMnemonikEntry(entry: CursorHookEntry): boolean;
18
+ declare function isMnemonikEntry(entry: CursorHookEntry, currentDispatcher?: string): boolean;
24
19
  declare function patchEventEntries(existing: CursorHookEntry[] | undefined, entry: CursorHookEntry): CursorHookEntry[];
20
+ declare function removeMnemonikEntries(existing: CursorHookEntry[] | undefined, currentDispatcher?: string): CursorHookEntry[];
25
21
  declare function resolveTargetPath(target: InstallTarget, cwd: string, env?: Partial<Record<'HOME' | 'USERPROFILE', string | undefined>>): string;
26
22
  declare function parseArgs(argv: string[]): {
27
23
  target: InstallTarget;
28
24
  };
29
- export { buildHookEntry, isMnemonikEntry, patchEventEntries, parseArgs, resolveTargetPath };
25
+ export { buildHookEntry, isMnemonikEntry, isRetiredMnemonikManagedRule, migrateRetiredCursorRule, patchEventEntries, removeMnemonikEntries, parseArgs, resolveTargetPath, };