@getmarrow/mcp 3.9.101 → 3.9.103

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 (127) hide show
  1. package/README.md +63 -29
  2. package/dist/cli.js +64 -1005
  3. package/dist/cli.js.map +1 -1
  4. package/dist/codex-plugin-pins.d.ts +19 -0
  5. package/dist/codex-plugin-pins.d.ts.map +1 -0
  6. package/dist/codex-plugin-pins.js +43 -0
  7. package/dist/codex-plugin-pins.js.map +1 -0
  8. package/dist/codex-plugins.d.ts +34 -0
  9. package/dist/codex-plugins.d.ts.map +1 -0
  10. package/dist/codex-plugins.js +240 -0
  11. package/dist/codex-plugins.js.map +1 -0
  12. package/dist/env.d.ts +2 -0
  13. package/dist/env.d.ts.map +1 -1
  14. package/dist/env.js +229 -39
  15. package/dist/env.js.map +1 -1
  16. package/dist/hook-contract.d.ts +41 -3
  17. package/dist/hook-contract.d.ts.map +1 -1
  18. package/dist/hook-contract.js +126 -18
  19. package/dist/hook-contract.js.map +1 -1
  20. package/dist/hook-pre-action.d.ts +48 -2
  21. package/dist/hook-pre-action.d.ts.map +1 -1
  22. package/dist/hook-pre-action.js +199 -23
  23. package/dist/hook-pre-action.js.map +1 -1
  24. package/dist/hook-tool-policy.d.ts +3 -3
  25. package/dist/hook-tool-policy.d.ts.map +1 -1
  26. package/dist/hook-tool-policy.js +6 -22
  27. package/dist/hook-tool-policy.js.map +1 -1
  28. package/dist/hook.d.ts +2 -2
  29. package/dist/hook.d.ts.map +1 -1
  30. package/dist/hook.js +13 -6
  31. package/dist/hook.js.map +1 -1
  32. package/dist/host-approval-state.d.ts +9 -0
  33. package/dist/host-approval-state.d.ts.map +1 -1
  34. package/dist/host-approval-state.js +4 -0
  35. package/dist/host-approval-state.js.map +1 -1
  36. package/dist/host-approval.d.ts +6 -0
  37. package/dist/host-approval.d.ts.map +1 -1
  38. package/dist/host-approval.js +3 -1
  39. package/dist/host-approval.js.map +1 -1
  40. package/dist/host-session.d.ts +11 -0
  41. package/dist/host-session.d.ts.map +1 -1
  42. package/dist/host-session.js +49 -0
  43. package/dist/host-session.js.map +1 -1
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +27 -19
  46. package/dist/index.js.map +1 -1
  47. package/dist/normalized-action.d.ts +29 -6
  48. package/dist/normalized-action.d.ts.map +1 -1
  49. package/dist/normalized-action.js +497 -103
  50. package/dist/normalized-action.js.map +1 -1
  51. package/dist/own-server-identity.d.ts +123 -0
  52. package/dist/own-server-identity.d.ts.map +1 -0
  53. package/dist/own-server-identity.js +1052 -0
  54. package/dist/own-server-identity.js.map +1 -0
  55. package/dist/own-tool.d.ts +87 -0
  56. package/dist/own-tool.d.ts.map +1 -0
  57. package/dist/own-tool.js +169 -0
  58. package/dist/own-tool.js.map +1 -0
  59. package/dist/redact.d.ts +23 -0
  60. package/dist/redact.d.ts.map +1 -1
  61. package/dist/redact.js +181 -8
  62. package/dist/redact.js.map +1 -1
  63. package/dist/seatbelt/classifier-pin.d.ts +15 -0
  64. package/dist/seatbelt/classifier-pin.d.ts.map +1 -0
  65. package/dist/seatbelt/classifier-pin.js +26 -0
  66. package/dist/seatbelt/classifier-pin.js.map +1 -0
  67. package/dist/seatbelt/guards.d.ts +10 -0
  68. package/dist/seatbelt/guards.d.ts.map +1 -0
  69. package/dist/seatbelt/guards.js +509 -0
  70. package/dist/seatbelt/guards.js.map +1 -0
  71. package/dist/seatbelt/hook.d.ts +72 -0
  72. package/dist/seatbelt/hook.d.ts.map +1 -0
  73. package/dist/seatbelt/hook.js +362 -0
  74. package/dist/seatbelt/hook.js.map +1 -0
  75. package/dist/seatbelt/longopts.d.ts +68 -0
  76. package/dist/seatbelt/longopts.d.ts.map +1 -0
  77. package/dist/seatbelt/longopts.js +377 -0
  78. package/dist/seatbelt/longopts.js.map +1 -0
  79. package/dist/seatbelt/mapper.d.ts +83 -0
  80. package/dist/seatbelt/mapper.d.ts.map +1 -0
  81. package/dist/seatbelt/mapper.js +10248 -0
  82. package/dist/seatbelt/mapper.js.map +1 -0
  83. package/dist/seatbelt/record.d.ts +94 -0
  84. package/dist/seatbelt/record.d.ts.map +1 -0
  85. package/dist/seatbelt/record.js +776 -0
  86. package/dist/seatbelt/record.js.map +1 -0
  87. package/dist/seatbelt/tables.d.ts +82 -0
  88. package/dist/seatbelt/tables.d.ts.map +1 -0
  89. package/dist/seatbelt/tables.js +359 -0
  90. package/dist/seatbelt/tables.js.map +1 -0
  91. package/dist/seatbelt-deploy.d.ts +100 -0
  92. package/dist/seatbelt-deploy.d.ts.map +1 -0
  93. package/dist/seatbelt-deploy.js +393 -0
  94. package/dist/seatbelt-deploy.js.map +1 -0
  95. package/dist/seatbelt-fs.d.ts +30 -0
  96. package/dist/seatbelt-fs.d.ts.map +1 -0
  97. package/dist/seatbelt-fs.js +94 -0
  98. package/dist/seatbelt-fs.js.map +1 -0
  99. package/dist/seatbelt-git.d.ts +212 -0
  100. package/dist/seatbelt-git.d.ts.map +1 -0
  101. package/dist/seatbelt-git.js +844 -0
  102. package/dist/seatbelt-git.js.map +1 -0
  103. package/dist/seatbelt-mode.d.ts +77 -0
  104. package/dist/seatbelt-mode.d.ts.map +1 -0
  105. package/dist/seatbelt-mode.js +496 -0
  106. package/dist/seatbelt-mode.js.map +1 -0
  107. package/dist/seatbelt-path.d.ts +123 -0
  108. package/dist/seatbelt-path.d.ts.map +1 -0
  109. package/dist/seatbelt-path.js +482 -0
  110. package/dist/seatbelt-path.js.map +1 -0
  111. package/dist/seatbelt-scripts.d.ts +109 -0
  112. package/dist/seatbelt-scripts.d.ts.map +1 -0
  113. package/dist/seatbelt-scripts.js +1060 -0
  114. package/dist/seatbelt-scripts.js.map +1 -0
  115. package/dist/tool-catalog.d.ts +6852 -0
  116. package/dist/tool-catalog.d.ts.map +1 -0
  117. package/dist/tool-catalog.js +999 -0
  118. package/dist/tool-catalog.js.map +1 -0
  119. package/dist/types.d.ts +2 -1
  120. package/dist/types.d.ts.map +1 -1
  121. package/package.json +2 -1
  122. package/server.json +10 -3
  123. package/vendor/classifier/MANIFEST.json +25 -0
  124. package/vendor/classifier/classifier.js +1356 -0
  125. package/vendor/classifier/policy-baseline.js +187 -0
  126. package/vendor/classifier/redact.js +59 -0
  127. package/vendor/classifier/shell-parse.js +455 -0
package/dist/env.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,15 @@
1
1
  import { resolveMarrowEnv, type ResolvedMarrowEnv } from './env';
2
- export declare const MCP_ADAPTER_VERSION = "3.9.101";
3
- export declare const NATIVE_HOOK_MATCHER = "Bash|Edit|Write|MultiEdit|Read|Glob|Grep|Search|WebSearch|Task|functions\\.(?!mcp__marrow__marrow_).*|mcp__(?!marrow__marrow_).*";
2
+ export declare const MCP_ADAPTER_VERSION = "3.9.103";
3
+ export declare const NATIVE_HOOK_MATCHER: string;
4
+ /**
5
+ * Matchers older versions wrote, so a hook carrying one needs repair: the
6
+ * released one skips every `mcp__marrow__marrow_*` tool; the r2 one (never
7
+ * released) skips `functions.mcp__marrow__<own>` and, under a full match, any
8
+ * name with a line terminator.
9
+ */
10
+ export declare const LEGACY_NATIVE_HOOK_MATCHERS: readonly string[];
4
11
  export declare const GROK_NATIVE_HOOK_MATCHER = "run_terminal_command|search_replace|write|spawn_subagent|use_tool|workflow|image_gen|image_edit|image_to_video|reference_to_video";
5
- export declare const MCP_PACKAGE_SPEC = "@getmarrow/mcp@3.9.101";
12
+ export declare const MCP_PACKAGE_SPEC = "@getmarrow/mcp@3.9.103";
6
13
  export declare const CONTEXT_HOOK_COMMAND: string;
7
14
  export declare const PRE_ACTION_HOOK_COMMAND: string;
8
15
  export declare const ACTION_RESULT_HOOK_COMMAND: string;
@@ -76,6 +83,22 @@ export declare function reconcileMarrowCommandHook(settings: HookSettings, event
76
83
  changed: boolean;
77
84
  };
78
85
  export declare function hasExactCommandHook(settings: HookSettings, eventName: string, command: string, matcher?: string): boolean;
86
+ /**
87
+ * Marrow handlers on a tool event whose matcher is not the current
88
+ * NATIVE_HOOK_MATCHER (an older version's, a hand edit, or none). The host
89
+ * still runs them, but they may skip tools the current matcher covers, so
90
+ * setup rewrites them; until then they are reported, never counted as healthy.
91
+ */
92
+ export declare function staleMatcherHooks(settings: HookSettings): Array<{
93
+ event: string;
94
+ subcommand: MarrowHookSubcommand;
95
+ matcher: string | null;
96
+ legacy: boolean;
97
+ }>;
98
+ export declare function localHookRepairStatus(startDir?: string): {
99
+ needs_repair: boolean;
100
+ stale_matchers: ReturnType<typeof staleMatcherHooks>;
101
+ };
79
102
  export declare function localHookConfigurationFingerprint(startDir?: string): string;
80
103
  /**
81
104
  * The correlation of one tool call (pre- and post-tool events, holds): the
@@ -88,6 +111,21 @@ export declare function stableToolCorrelation(event: {
88
111
  tool_name?: string;
89
112
  tool_input?: unknown;
90
113
  }): string;
114
+ /**
115
+ * The exact target of one tool call, for binding a hold's approval to it: the
116
+ * tool name exactly as normalised (adapters encode server and tool without
117
+ * ambiguity), whether an adapter built that name from a separate server and
118
+ * tool (Cursor `MCP:a:b` at preToolUse is a tool named `a:b`; at
119
+ * beforeMCPExecution it is server `a`, tool `b`), the nested server and tool
120
+ * fields of the input, and Gemini's mcp_context server and tool. The pre and
121
+ * post events of one call give the same target. Only the hash is kept.
122
+ */
123
+ export declare function exactHookTarget(event: {
124
+ hook_event_name?: unknown;
125
+ tool_name?: unknown;
126
+ tool_input?: unknown;
127
+ mcp_context?: unknown;
128
+ }): string;
91
129
  /**
92
130
  * The correlation of one submitted prompt: the session and the host's own
93
131
  * prompt, turn or generation id, never the prompt text (it may hold a secret). A host
@@ -1 +1 @@
1
- {"version":3,"file":"hook-contract.d.ts","sourceRoot":"","sources":["../src/hook-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-contract.d.ts","sourceRoot":"","sources":["../src/hook-contract.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GEMINI_CONTEXT_HOOK_COMMAND = exports.GEMINI_SESSION_END_HOOK_COMMAND = exports.GEMINI_ACTION_RESULT_HOOK_COMMAND = exports.GEMINI_PRE_ACTION_HOOK_COMMAND = exports.WINDSURF_SESSION_END_HOOK_COMMAND = exports.WINDSURF_ACTION_RESULT_HOOK_COMMAND = exports.WINDSURF_PRE_ACTION_HOOK_COMMAND = exports.CLINE_SESSION_END_HOOK_COMMAND = exports.CLINE_ACTION_RESULT_HOOK_COMMAND = exports.CLINE_PRE_ACTION_HOOK_COMMAND = exports.CURSOR_CONTEXT_HOOK_COMMAND = exports.CURSOR_SESSION_END_HOOK_COMMAND = exports.CURSOR_ACTION_RESULT_HOOK_COMMAND = exports.CURSOR_PRE_ACTION_HOOK_COMMAND = exports.GROK_PRE_ACTION_GUARD_COMMAND = exports.MARROW_OUTAGE_WARNING = exports.GROK_LAUNCH_FAILURE = exports.GROK_FIXED_DENIAL = exports.GROK_SESSION_END_HOOK_COMMAND = exports.GROK_ACTION_RESULT_HOOK_COMMAND = exports.GROK_PRE_ACTION_HOOK_COMMAND = exports.GROK_CONTEXT_HOOK_COMMAND = exports.PERMISSION_REQUEST_HOOK_COMMAND = exports.SESSION_END_HOOK_COMMAND = exports.ACTION_RESULT_HOOK_COMMAND = exports.PRE_ACTION_HOOK_COMMAND = exports.CONTEXT_HOOK_COMMAND = exports.MCP_PACKAGE_SPEC = exports.GROK_NATIVE_HOOK_MATCHER = exports.NATIVE_HOOK_MATCHER = exports.MCP_ADAPTER_VERSION = void 0;
3
+ exports.GEMINI_CONTEXT_HOOK_COMMAND = exports.GEMINI_SESSION_END_HOOK_COMMAND = exports.GEMINI_ACTION_RESULT_HOOK_COMMAND = exports.GEMINI_PRE_ACTION_HOOK_COMMAND = exports.WINDSURF_SESSION_END_HOOK_COMMAND = exports.WINDSURF_ACTION_RESULT_HOOK_COMMAND = exports.WINDSURF_PRE_ACTION_HOOK_COMMAND = exports.CLINE_SESSION_END_HOOK_COMMAND = exports.CLINE_ACTION_RESULT_HOOK_COMMAND = exports.CLINE_PRE_ACTION_HOOK_COMMAND = exports.CURSOR_CONTEXT_HOOK_COMMAND = exports.CURSOR_SESSION_END_HOOK_COMMAND = exports.CURSOR_ACTION_RESULT_HOOK_COMMAND = exports.CURSOR_PRE_ACTION_HOOK_COMMAND = exports.GROK_PRE_ACTION_GUARD_COMMAND = exports.MARROW_OUTAGE_WARNING = exports.GROK_LAUNCH_FAILURE = exports.GROK_FIXED_DENIAL = exports.GROK_SESSION_END_HOOK_COMMAND = exports.GROK_ACTION_RESULT_HOOK_COMMAND = exports.GROK_PRE_ACTION_HOOK_COMMAND = exports.GROK_CONTEXT_HOOK_COMMAND = exports.PERMISSION_REQUEST_HOOK_COMMAND = exports.SESSION_END_HOOK_COMMAND = exports.ACTION_RESULT_HOOK_COMMAND = exports.PRE_ACTION_HOOK_COMMAND = exports.CONTEXT_HOOK_COMMAND = exports.MCP_PACKAGE_SPEC = exports.GROK_NATIVE_HOOK_MATCHER = exports.LEGACY_NATIVE_HOOK_MATCHERS = exports.NATIVE_HOOK_MATCHER = exports.MCP_ADAPTER_VERSION = void 0;
4
4
  exports.resolveNativeHookIdentity = resolveNativeHookIdentity;
5
5
  exports.clientReportedHookLifecycleIdentity = clientReportedHookLifecycleIdentity;
6
6
  exports.privateHookLoopGuardPayload = privateHookLoopGuardPayload;
@@ -12,8 +12,11 @@ exports.delocalizeMarrowHookCommand = delocalizeMarrowHookCommand;
12
12
  exports.isMarrowHookCommand = isMarrowHookCommand;
13
13
  exports.reconcileMarrowCommandHook = reconcileMarrowCommandHook;
14
14
  exports.hasExactCommandHook = hasExactCommandHook;
15
+ exports.staleMatcherHooks = staleMatcherHooks;
16
+ exports.localHookRepairStatus = localHookRepairStatus;
15
17
  exports.localHookConfigurationFingerprint = localHookConfigurationFingerprint;
16
18
  exports.stableToolCorrelation = stableToolCorrelation;
19
+ exports.exactHookTarget = exactHookTarget;
17
20
  exports.stablePromptCorrelation = stablePromptCorrelation;
18
21
  exports.stableSessionWorkflowId = stableSessionWorkflowId;
19
22
  exports.grokHookSettingsPath = grokHookSettingsPath;
@@ -24,8 +27,19 @@ const node_os_1 = require("node:os");
24
27
  const node_path_1 = require("node:path");
25
28
  const env_1 = require("./env");
26
29
  const normalized_action_1 = require("./normalized-action");
27
- exports.MCP_ADAPTER_VERSION = '3.9.101';
28
- exports.NATIVE_HOOK_MATCHER = 'Bash|Edit|Write|MultiEdit|Read|Glob|Grep|Search|WebSearch|Task|functions\\.(?!mcp__marrow__marrow_).*|mcp__(?!marrow__marrow_).*';
30
+ const own_tool_1 = require("./own-tool");
31
+ exports.MCP_ADAPTER_VERSION = '3.9.103';
32
+ exports.NATIVE_HOOK_MATCHER = (0, own_tool_1.nativeHookMatcher)();
33
+ /**
34
+ * Matchers older versions wrote, so a hook carrying one needs repair: the
35
+ * released one skips every `mcp__marrow__marrow_*` tool; the r2 one (never
36
+ * released) skips `functions.mcp__marrow__<own>` and, under a full match, any
37
+ * name with a line terminator.
38
+ */
39
+ exports.LEGACY_NATIVE_HOOK_MATCHERS = [
40
+ 'Bash|Edit|Write|MultiEdit|Read|Glob|Grep|Search|WebSearch|Task|functions\\.(?!mcp__marrow__marrow_).*|mcp__(?!marrow__marrow_).*',
41
+ (0, own_tool_1.r2NativeHookMatcher)(),
42
+ ];
29
43
  exports.GROK_NATIVE_HOOK_MATCHER = 'run_terminal_command|search_replace|write|spawn_subagent|use_tool|workflow|image_gen|image_edit|image_to_video|reference_to_video';
30
44
  exports.MCP_PACKAGE_SPEC = `@getmarrow/mcp@${exports.MCP_ADAPTER_VERSION}`;
31
45
  const hookCommand = (entrypoint) => `npx -y --package=${exports.MCP_PACKAGE_SPEC} marrow-mcp ${entrypoint}`;
@@ -213,9 +227,7 @@ function normalizeWindsurfHookEvent(source) {
213
227
  else if (action.endsWith('_mcp_tool_use')) {
214
228
  const server = boundedWindsurfName(info.mcp_server_name) || 'unknown';
215
229
  const tool = boundedWindsurfName(info.mcp_tool_name) || 'unknown';
216
- normalized.tool_name = server.toLowerCase() === 'marrow' && /^marrow_[a-z0-9_]+$/i.test(tool)
217
- ? `mcp__marrow__${tool}`
218
- : `MCP:${server}:${tool}`;
230
+ normalized.tool_name = (0, own_tool_1.normalizedMcpToolName)((0, own_tool_1.isMarrowOwnTool)(info.mcp_server_name, info.mcp_tool_name), tool, server, info.mcp_server_name, info.mcp_tool_name);
219
231
  normalized.tool_input = {};
220
232
  normalized.input_truncated = true;
221
233
  }
@@ -240,7 +252,25 @@ function normalizeGeminiHookEvent(source) {
240
252
  return normalized;
241
253
  }
242
254
  const toolName = typeof source.tool_name === 'string' ? source.tool_name.trim().slice(0, 256) : '';
243
- if (toolName && /^[A-Za-z0-9._:-]+$/.test(toolName)) {
255
+ // Gemini's separate server and tool. The label `mcp_<server>_<tool>` is ambiguous
256
+ // (`marrow_marrow` + `commit` = `marrow` + `marrow_commit`), so only this proves a call is Marrow's own.
257
+ const mcpTarget = (0, own_tool_1.geminiMcpTarget)(source.mcp_context);
258
+ if (mcpTarget)
259
+ normalized.mcp_context = mcpTarget;
260
+ const own = (0, own_tool_1.isOfficialMarrowGeminiCall)(source.tool_name, mcpTarget);
261
+ // A label in another host's own form (`mcp__marrow__<own>` from a server named `mcp`, `MCP:<own>`
262
+ // from an older Gemini) without that proof: never own, left unclassified (held), as a padded one is.
263
+ const otherFormOwnLabel = !own && (0, own_tool_1.isOfficialMarrowMcpTool)(toolName);
264
+ // A padded Marrow tool name is not Marrow's own: leave it unclassified (held).
265
+ const paddedOwnName = toolName !== source.tool_name && (otherFormOwnLabel || (0, own_tool_1.isGeminiOwnLabel)(toolName));
266
+ // A trimmed or cut name is not the host's exact tool: never bound, so it never shares a key with the exact one.
267
+ // Kept on the second normalization (hooks normalize on read and again on use).
268
+ if (source.input_truncated === true || (toolName && toolName !== source.tool_name))
269
+ normalized.input_truncated = true;
270
+ if (own && mcpTarget) {
271
+ normalized.tool_name = `mcp__marrow__${mcpTarget.tool_name}`;
272
+ }
273
+ else if (toolName && !paddedOwnName && !otherFormOwnLabel && /^[A-Za-z0-9._:-]+$/.test(toolName)) {
244
274
  normalized.tool_name = toolName === 'run_shell_command' ? 'Bash'
245
275
  : toolName === 'write_file' ? 'Write'
246
276
  : ['replace', 'edit_file'].includes(toolName) ? 'Edit'
@@ -289,13 +319,19 @@ function normalizeGrokHookEvent(source) {
289
319
  : null;
290
320
  const server = boundedWindsurfName(toolInput?.serverName ?? toolInput?.server_name);
291
321
  const nestedTool = boundedWindsurfName(toolInput?.toolName ?? toolInput?.tool_name);
292
- const boundedToolName = toolName === 'use_tool' && server && nestedTool
293
- ? server.toLowerCase() === 'marrow' && /^marrow_[a-z0-9_]+$/i.test(nestedTool)
294
- ? `mcp__marrow__${nestedTool}`
295
- : `MCP:${server}:${nestedTool}`
322
+ const adapterBuilt = Boolean(toolName === 'use_tool' && server && nestedTool);
323
+ const boundedToolName = adapterBuilt
324
+ ? (0, own_tool_1.normalizedMcpToolName)(source.toolName === 'use_tool' && (0, own_tool_1.isOfficialMarrowNestedInput)(toolInput), nestedTool, server, toolInput?.serverName ?? toolInput?.server_name, toolInput?.toolName ?? toolInput?.tool_name)
296
325
  : toolName;
297
- if (boundedToolName && /^[A-Za-z0-9._:-]+$/.test(boundedToolName))
326
+ // The adapter's own encoding: an escaped name quotes inexact or colon-bearing server and tool names.
327
+ // An inexact name that bounds to Marrow's own stays unclassified (held), as before.
328
+ if (boundedToolName && (/^[A-Za-z0-9._:-]+$/.test(boundedToolName) || (adapterBuilt && !(0, own_tool_1.isMarrowOwnTool)(server, nestedTool)))) {
298
329
  normalized.tool_name = boundedToolName;
330
+ }
331
+ // A trimmed, cut or replaced name is not the host's exact tool: never bound, so it never shares a key with the exact one.
332
+ if (toolName !== source.toolName || (toolName === 'use_tool' && (server !== (toolInput?.serverName ?? toolInput?.server_name)
333
+ || nestedTool !== (toolInput?.toolName ?? toolInput?.tool_name))))
334
+ normalized.input_truncated = true;
299
335
  if (hookEventName === 'PreToolUse') {
300
336
  normalized.tool_input = source.toolInput;
301
337
  return normalized;
@@ -358,9 +394,10 @@ function normalizeCursorExecutionEvent(source) {
358
394
  }
359
395
  const server = boundedWindsurfName(source.mcp_server_name) || 'unknown';
360
396
  const tool = boundedWindsurfName(source.tool_name) || 'unknown';
361
- normalized.tool_name = server.toLowerCase() === 'marrow' && /^marrow_[a-z0-9_]+$/i.test(tool)
362
- ? `mcp__marrow__${tool}`
363
- : `MCP:${server}:${tool}`;
397
+ normalized.tool_name = (0, own_tool_1.normalizedMcpToolName)((0, own_tool_1.isMarrowOwnTool)(source.mcp_server_name, source.tool_name), tool, server, source.mcp_server_name, source.tool_name);
398
+ // A trimmed, cut or replaced (`unknown`) name is not the host's exact tool: never bound, so it never shares a key.
399
+ if (server !== source.mcp_server_name || tool !== source.tool_name)
400
+ normalized.input_truncated = true;
364
401
  let input = {};
365
402
  if (typeof source.tool_input === 'string' && source.tool_input.length <= 262_144) {
366
403
  try {
@@ -656,10 +693,43 @@ function exactHookDescriptors(settings, eventName, command, matcher) {
656
693
  });
657
694
  });
658
695
  }
696
+ const NATIVE_MATCHER_HOOK_EVENTS = ['PreToolUse', 'PostToolUse', 'PostToolUseFailure', 'PermissionRequest'];
697
+ /**
698
+ * Marrow handlers on a tool event whose matcher is not the current
699
+ * NATIVE_HOOK_MATCHER (an older version's, a hand edit, or none). The host
700
+ * still runs them, but they may skip tools the current matcher covers, so
701
+ * setup rewrites them; until then they are reported, never counted as healthy.
702
+ */
703
+ function staleMatcherHooks(settings) {
704
+ const hooks = asRecord(settings.hooks);
705
+ return NATIVE_MATCHER_HOOK_EVENTS.flatMap((event) => {
706
+ const entries = hooks?.[event];
707
+ if (!Array.isArray(entries))
708
+ return [];
709
+ return entries.flatMap((entry) => {
710
+ const record = asRecord(entry);
711
+ if (!record || !Array.isArray(record.hooks) || record.matcher === exports.NATIVE_HOOK_MATCHER)
712
+ return [];
713
+ const matcher = typeof record.matcher === 'string' ? record.matcher : null;
714
+ return record.hooks.flatMap((hook) => {
715
+ const handler = asRecord(hook);
716
+ const subcommand = marrowHookSubcommand(handler?.command);
717
+ if (handler?.type !== 'command' || !subcommand)
718
+ return [];
719
+ return [{ event, subcommand, matcher, legacy: matcher !== null && exports.LEGACY_NATIVE_HOOK_MATCHERS.includes(matcher) }];
720
+ });
721
+ });
722
+ });
723
+ }
724
+ function localHookRepairStatus(startDir = process.cwd()) {
725
+ const stale = staleMatcherHooks(readHookSettings(startDir));
726
+ return { needs_repair: stale.length > 0, stale_matchers: stale };
727
+ }
659
728
  function localHookConfigurationFingerprint(startDir = process.cwd()) {
660
729
  const settings = readHookSettings(startDir);
661
730
  const contract = {
662
- schema: 'marrow-claude-native-hooks.v4',
731
+ schema: 'marrow-claude-native-hooks.v5',
732
+ stale_matchers: staleMatcherHooks(settings),
663
733
  adapter_version: exports.MCP_ADAPTER_VERSION,
664
734
  configured_stages: LOCAL_CONFIGURED_HOOK_STAGES,
665
735
  configured: {
@@ -716,7 +786,10 @@ function lengthOf(value) {
716
786
  * What identifies a tool call in ids sent to Marrow: its normalized action
717
787
  * (secrets replaced by markers, data hashed), never the raw input, which may
718
788
  * hold a secret. No deadline (only the size caps), so every hook process
719
- * derives the same identity for the same call.
789
+ * derives the same identity for the same call. A truncated action is
790
+ * identified by its exact_hmac (keyed on this machine; only certain
791
+ * credentials hidden), so a held call's approval is only ever resumed by the
792
+ * same exact call; a truncated action without one matches nothing.
720
793
  */
721
794
  function actionIdentity(toolName, toolInput) {
722
795
  if (lastIdentity && lastIdentity.toolName === toolName && lastIdentity.toolInput === toolInput)
@@ -724,8 +797,10 @@ function actionIdentity(toolName, toolInput) {
724
797
  const action = (0, normalized_action_1.normalizedHookAction)({ tool_name: toolName, tool_input: toolInput }, { deadlineAt: Number.POSITIVE_INFINITY });
725
798
  // A placeholder (input over the size caps) keeps the input's length, so two such calls rarely share it.
726
799
  const placeholder = Object.keys(action.tool_input).length === 0;
800
+ const exact = action.tool_input.exact_hmac;
727
801
  const value = {
728
- kind: action.tool_kind, programs: action.programs ?? null, paths: action.paths ?? null, input: action.tool_input,
802
+ kind: action.tool_kind, programs: action.programs ?? null, paths: action.paths ?? null,
803
+ input: action.truncated === true && (typeof exact !== 'string' || !/^[0-9a-f]{32}$/.test(exact)) ? { unmatched: (0, node_crypto_1.randomUUID)() } : action.tool_input,
729
804
  ...(placeholder ? { size: lengthOf(toolInput) } : {}),
730
805
  };
731
806
  lastIdentity = { toolName, toolInput, value };
@@ -743,6 +818,39 @@ function stableToolCorrelation(event) {
743
818
  actionIdentity(event.tool_name, event.tool_input ?? null),
744
819
  ]);
745
820
  }
821
+ /** Hook events whose MCP tool name the adapter built from a separate server and tool. */
822
+ const ADAPTER_MCP_EVENTS = new Set(['beforeMCPExecution', 'afterMCPExecution', 'pre_mcp_tool_use', 'post_mcp_tool_use']);
823
+ /**
824
+ * The exact target of one tool call, for binding a hold's approval to it: the
825
+ * tool name exactly as normalised (adapters encode server and tool without
826
+ * ambiguity), whether an adapter built that name from a separate server and
827
+ * tool (Cursor `MCP:a:b` at preToolUse is a tool named `a:b`; at
828
+ * beforeMCPExecution it is server `a`, tool `b`), the nested server and tool
829
+ * fields of the input, and Gemini's mcp_context server and tool. The pre and
830
+ * post events of one call give the same target. Only the hash is kept.
831
+ */
832
+ function exactHookTarget(event) {
833
+ try {
834
+ const input = event.tool_input && typeof event.tool_input === 'object' && !Array.isArray(event.tool_input)
835
+ ? event.tool_input
836
+ : null;
837
+ const nested = input
838
+ ? ['serverName', 'server_name', 'toolName', 'tool_name'].map((key) => (Object.prototype.hasOwnProperty.call(input, key) ? input[key] ?? null : null))
839
+ : null;
840
+ const mcp = (0, own_tool_1.geminiMcpTarget)(event.mcp_context);
841
+ return (0, node_crypto_1.createHash)('sha256').update(JSON.stringify([
842
+ 'marrow-hook-target-v1',
843
+ typeof event.tool_name === 'string' ? event.tool_name : null,
844
+ ADAPTER_MCP_EVENTS.has(String(event.hook_event_name ?? '')) ? 'adapter-mcp' : 'host-name',
845
+ nested,
846
+ mcp ? [mcp.server_name, mcp.tool_name] : null,
847
+ ])).digest('hex');
848
+ }
849
+ catch {
850
+ // Not serialisable: a target nothing else can match (it stays held).
851
+ return (0, node_crypto_1.createHash)('sha256').update(`unmatched:${(0, node_crypto_1.randomUUID)()}`).digest('hex');
852
+ }
853
+ }
746
854
  /**
747
855
  * The correlation of one submitted prompt: the session and the host's own
748
856
  * prompt, turn or generation id, never the prompt text (it may hold a secret). A host
@@ -1 +1 @@
1
- {"version":3,"file":"hook-contract.js","sourceRoot":"","sources":["../src/hook-contract.ts"],"names":[],"mappings":";;;AA8GA,8DAgBC;AAED,kFAQC;AAwCD,kEAEC;AAmMD,8DA0CC;AAUD,oDAYC;AAED,4CAQC;AAED,gEAeC;AAqBD,kEA0BC;AAGD,kDAIC;AAaD,gEAkDC;AA4BD,kDAkBC;AA4BD,8EA+BC;AA+CD,sDAWC;AAOD,0DAQC;AAUD,0DAGC;AAED,oDAEC;AAED,wDAgFC;AA11BD,6CAAqD;AACrD,qCAAwF;AACxF,qCAAkC;AAClC,yCAA0C;AAC1C,+BAAiE;AACjE,2DAA2D;AAE9C,QAAA,mBAAmB,GAAG,SAAS,CAAC;AAChC,QAAA,mBAAmB,GAAG,kIAAkI,CAAC;AACzJ,QAAA,wBAAwB,GAAG,mIAAmI,CAAC;AAC/J,QAAA,gBAAgB,GAAG,kBAAkB,2BAAmB,EAAE,CAAC;AACxE,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,oBAAoB,wBAAgB,eAAe,UAAU,EAAE,CAAC;AAC/F,QAAA,oBAAoB,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAC;AAC1D,QAAA,uBAAuB,GAAG,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAChE,QAAA,0BAA0B,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;AACxD,QAAA,wBAAwB,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAC;AAC3E;;;;;GAKG;AACU,QAAA,+BAA+B,GAAG,WAAW,CAAC,gCAAgC,CAAC,CAAC;AAChF,QAAA,yBAAyB,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC;AAC7D,QAAA,4BAA4B,GAAG,WAAW,CAAC,sBAAsB,CAAC,CAAC;AACnE,QAAA,+BAA+B,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;AAC3D,QAAA,6BAA6B,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC;AACjE,QAAA,iBAAiB,GAAG,uCAAuC,CAAC;AAC5D,QAAA,mBAAmB,GAAG,oEAAoE,CAAC;AAC3F,QAAA,qBAAqB,GAAG,6GAA6G,CAAC;AACnJ,MAAM,4BAA4B,GAAG;IACnC,8CAA8C;IAC9C,yWAAyW;IACzW,4FAA4F;IAC5F,gBAAgB,IAAI,CAAC,SAAS,CAAC,GAAG,6BAAqB,IAAI,CAAC,GAAG;IAC/D,4IAA4I,IAAI,CAAC,SAAS,CAAC,GAAG,2BAAmB,IAAI,CAAC,iDAAiD;IACvO,iCAAiC;IACjC,mJAAmJ;IACnJ,iDAAiD;IACjD,0DAA0D,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,aAAa,wBAAgB,EAAE,EAAE,YAAY,EAAE,sBAAsB,CAAC,CAAC,mCAAmC;IAC1L,+BAA+B;IAC/B,+IAA+I;IAC/I,kGAAkG;IAClG,sDAAsD;IACtD,sMAAsM;IACtM,0DAA0D;CAC3D,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACE,QAAA,6BAA6B,GAAG,YAAY,4BAA4B,GAAG,CAAC;AAC5E,QAAA,8BAA8B,GAAG,WAAW,CAAC,wBAAwB,CAAC,CAAC;AACvE,QAAA,iCAAiC,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;AAC/D,QAAA,+BAA+B,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAC;AACrE,QAAA,2BAA2B,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAC;AACjE,QAAA,6BAA6B,GAAG,WAAW,CAAC,uBAAuB,CAAC,CAAC;AACrE,QAAA,gCAAgC,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;AAC7D,QAAA,8BAA8B,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAC;AACnE,QAAA,gCAAgC,GAAG,WAAW,CAAC,0BAA0B,CAAC,CAAC;AAC3E,QAAA,mCAAmC,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;AACnE,QAAA,iCAAiC,GAAG,WAAW,CAAC,uBAAuB,CAAC,CAAC;AACzE,QAAA,8BAA8B,GAAG,WAAW,CAAC,wBAAwB,CAAC,CAAC;AACvE,QAAA,iCAAiC,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;AAC/D,QAAA,+BAA+B,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAC;AACrE,QAAA,2BAA2B,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAC;AAC9E,MAAM,4BAA4B,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,CAAU,CAAC;AAY7H,MAAM,6BAA6B,GAA6D;IAC9F,qBAAqB,EAAE,aAAa;IACpC,wBAAwB,EAAE,aAAa;IACvC,aAAa,EAAE,aAAa;IAC5B,qBAAqB,EAAE,aAAa;IACpC,gCAAgC,EAAE,aAAa;IAC/C,oBAAoB,EAAE,OAAO;IAC7B,uBAAuB,EAAE,OAAO;IAChC,YAAY,EAAE,OAAO;IACrB,oBAAoB,EAAE,OAAO;IAC7B,mBAAmB,EAAE,MAAM;IAC3B,sBAAsB,EAAE,MAAM;IAC9B,WAAW,EAAE,MAAM;IACnB,mBAAmB,EAAE,MAAM;IAC3B,wBAAwB,EAAE,QAAQ;IAClC,aAAa,EAAE,QAAQ;IACvB,qBAAqB,EAAE,QAAQ;IAC/B,qBAAqB,EAAE,QAAQ;IAC/B,uBAAuB,EAAE,OAAO;IAChC,YAAY,EAAE,OAAO;IACrB,oBAAoB,EAAE,OAAO;IAC7B,0BAA0B,EAAE,UAAU;IACtC,eAAe,EAAE,UAAU;IAC3B,uBAAuB,EAAE,UAAU;IACnC,wBAAwB,EAAE,QAAQ;IAClC,aAAa,EAAE,QAAQ;IACvB,qBAAqB,EAAE,QAAQ;IAC/B,qBAAqB,EAAE,QAAQ;CAChC,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,yBAAyB,CACvC,UAAmB,EACnB,UAAkD,EAAE;IAEpD,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAyD,CAAC;IACjJ,MAAM,OAAO,GAAsB,iBAAiB,IAAI,YAAY,CAAC;IACrE,MAAM,WAAW,GAAG,IAAA,sBAAgB,EAAC,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,MAAM,OAAO,GAAG,0BAA0B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,OAAO;QACL,OAAO;QACP,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,kBAAkB;QACjF,oBAAoB,EAAE,IAAI;QAC1B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE;KACzC,CAAC;AACJ,CAAC;AAED,SAAgB,mCAAmC,CACjD,QAA4B;IAE5B,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,EAAE,sBAAsB;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,mBAAmB,GAA2B;IAClD,aAAa,EAAE,iBAAiB;IAChC,SAAS,EAAE,YAAY;IACvB,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,YAAY;IACvB,YAAY,EAAE,eAAe;IAC7B,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,aAAa;IACxB,cAAc,EAAE,iBAAiB;IACjC,YAAY,EAAE,eAAe;IAC7B,YAAY,EAAE,eAAe;IAC7B,WAAW,EAAE,cAAc;IAC3B,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,iBAAiB;IAC5B,cAAc,EAAE,iBAAiB;IACjC,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,iBAAiB;CAC5B,CAAC;AAEF,MAAM,kBAAkB,GAA2B;IACjD,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,kBAAkB,EAAE,oBAAoB;IACxC,IAAI,EAAE,MAAM;CACb,CAAC;AAGF,MAAM,+BAA+B,GAAG,IAAI,OAAO,EAAuC,CAAC;AAE3F,SAAS,iCAAiC,CACxC,UAAmC,EACnC,OAAoC;IAEpC,+BAA+B,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACzD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAgB,2BAA2B,CAAC,KAAa;IACvD,OAAO,+BAA+B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,OAAO,SAAS,IAAI,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACnF,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,OAAO,SAAS,IAAI,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACnF,CAAC;AAED,SAAS,0BAA0B,CAAC,MAA+B;IACjE,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;QACxB,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB;QACvD,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB;QAC1D,uBAAuB;KACxB,CAAC,CAAC;IACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QACvG,CAAC,CAAC,MAAM,CAAC,SAAoC;QAC7C,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,UAAU,GAA4B,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;IACxE,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9D,IAAI,YAAY;QAAE,UAAU,CAAC,UAAU,GAAG,YAAY,CAAC;IACvD,IAAI,WAAW;QAAE,UAAU,CAAC,WAAW,GAAG,WAAW,CAAC;IACtD,8EAA8E;IAC9E,8EAA8E;IAC9E,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACpC,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC;QAC9B,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,UAAU,CAAC,UAAU,GAAG,EAAE,OAAO,EAAE,CAAC;QACpC,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI;YAAE,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC;IAClH,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1C,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC;QAC/B,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;QAC3B,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC;IACpC,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC;QACtE,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC;QAClE,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,KAAK,QAAQ,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3F,CAAC,CAAC,gBAAgB,IAAI,EAAE;YACxB,CAAC,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,CAAC;QAC5B,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;QAC3B,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC;IACpC,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,MAAM,KAAK,uBAAuB;QAAE,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;IAChG,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,wBAAwB,CAAC,MAA+B;IAC/D,MAAM,aAAa,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtG,IAAI,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,EAAE,CAAC;IACjG,MAAM,UAAU,GAA4B,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC;IAC/E,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,SAAS;QAAE,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC;IACjD,IAAI,aAAa,KAAK,YAAY;QAAE,OAAO,UAAU,CAAC;IACtD,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;QACpC,yDAAyD;QACzD,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE;YAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACvG,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnG,IAAI,QAAQ,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,UAAU,CAAC,SAAS,GAAG,QAAQ,KAAK,mBAAmB,CAAC,CAAC,CAAC,MAAM;YAC9D,CAAC,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO;gBACrC,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM;oBACtD,CAAC,CAAC,QAAQ,CAAC;IACf,CAAC;IACD,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;QACnC,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAC1C,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;QACvH,CAAC,CAAC,MAAM,CAAC,aAAwC;QACjD,CAAC,CAAC,IAAI,CAAC;IACT,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,KAAK;WACxC,QAAQ,EAAE,OAAO,KAAK,KAAK;WAC3B,QAAQ,EAAE,KAAK,IAAI,IAAI;WACvB,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;QAC5F,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,QAAQ,KAAK,SAAS;QAAE,UAAU,CAAC,WAAW,GAAG,QAAQ,CAAC;IAC9D,OAAO,iCAAiC,CAAC,UAAU,EAAE;QACnD,SAAS,EAAE,MAAM,CAAC,UAAU;QAC5B,UAAU,EAAE,MAAM,CAAC,aAAa;KACjC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,MAA+B;IAC7D,MAAM,aAAa,GAAG,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClG,IAAI,CAAC,CAAC,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,EAAE,CAAC;IACpG,MAAM,UAAU,GAA4B,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC;IAC/E,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,SAAS;QAAE,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC;IACjD,IAAI,SAAS;QAAE,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC;IAClD,IAAI,aAAa,KAAK,MAAM;QAAE,OAAO,UAAU,CAAC;IAChD,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjG,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QAC5G,CAAC,CAAC,MAAM,CAAC,SAAoC;QAC7C,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,EAAE,UAAU,IAAI,SAAS,EAAE,WAAW,CAAC,CAAC;IACpF,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,EAAE,QAAQ,IAAI,SAAS,EAAE,SAAS,CAAC,CAAC;IACpF,MAAM,eAAe,GAAG,QAAQ,KAAK,UAAU,IAAI,MAAM,IAAI,UAAU;QACrE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,QAAQ,IAAI,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5E,CAAC,CAAC,gBAAgB,UAAU,EAAE;YAC9B,CAAC,CAAC,OAAO,MAAM,IAAI,UAAU,EAAE;QACjC,CAAC,CAAC,QAAQ,CAAC;IACb,IAAI,eAAe,IAAI,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC;QAAE,UAAU,CAAC,SAAS,GAAG,eAAe,CAAC;IAC1G,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;QACnC,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;QACzC,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC5G,CAAC,CAAC,MAAM,CAAC,UAAqC;QAC9C,CAAC,CAAC,IAAI,CAAC;IACT,UAAU,CAAC,OAAO,GAAG,aAAa,KAAK,oBAAoB;WACtD,MAAM,CAAC,OAAO,KAAK,KAAK;WACxB,MAAM,EAAE,OAAO,KAAK,KAAK;WACzB,MAAM,EAAE,KAAK,IAAI,IAAI;WACrB,MAAM,EAAE,OAAO,KAAK,IAAI;WACxB,MAAM,EAAE,QAAQ,KAAK,IAAI;WACzB,OAAO,MAAM,EAAE,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;WAC7D,OAAO,MAAM,EAAE,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC;WAC/D,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;QAC1F,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,QAAQ,KAAK,SAAS;QAAE,UAAU,CAAC,WAAW,GAAG,QAAQ,CAAC;IAC9D,OAAO,iCAAiC,CAAC,UAAU,EAAE;QACnD,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,sBAAsB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAEpI;;;;;GAKG;AACH,SAAS,6BAA6B,CAAC,MAA+B;IACpE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC7C,sEAAsE;IACtE,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,CAAC;IAC/H,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IACjH,MAAM,UAAU,GAA4B,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IACvE,KAAK,MAAM,KAAK,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpD,IAAI,OAAO;YAAE,UAAU,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;IAC3C,CAAC;IACD,IAAI,UAAU,CAAC,eAAe;QAAE,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,eAAe,CAAC;IACnF,IAAI,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrC,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC;QAC/B,UAAU,CAAC,UAAU,GAAG,EAAE,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC/G,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM;YAAE,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5G,wFAAwF;QACxF,IAAI,KAAK,KAAK,qBAAqB;YAAE,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC;QACvE,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC;IACxE,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;IAChE,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,KAAK,QAAQ,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3F,CAAC,CAAC,gBAAgB,IAAI,EAAE;QACxB,CAAC,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAY,EAAE,CAAC;IACxB,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;QACjF,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YAClD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI;gBAAE,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC;QACzE,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACtE,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;IAC5B,CAAC;SAAM,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACjD,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC;IACpC,CAAC;IACD,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC;IAC9B,IAAI,KAAK,KAAK,mBAAmB;QAAE,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC;IACrE,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAgB,yBAAyB,CAAC,KAAc;IACtD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3E,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QAAE,OAAO,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACpH,IAAI,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ;QAAE,OAAO,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC5F,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAC7G,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAC5G,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,UAAU,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1D,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACjE,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI;YAAE,UAAU,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC9G,CAAC,CAAC,MAAM,CAAC,UAAqC;QAC9C,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;QAClH,CAAC,CAAC,MAAM,CAAC,WAAsC;QAC/C,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,SAAS,GAAG,QAAQ,IAAI,SAAS,CAAC;IACxC,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,UAAU,CAAC,SAAS,IAAI,IAAI;YAAE,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC;QACnG,IAAI,UAAU,CAAC,UAAU,IAAI,IAAI;YAAE,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;QAChF,IAAI,UAAU,CAAC,WAAW,IAAI,IAAI;YAAE,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC;QAC9E,IAAI,UAAU,CAAC,OAAO,IAAI,IAAI;YAAE,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QACvE,IAAI,UAAU,CAAC,WAAW,IAAI,IAAI;YAAE,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,WAAW,CAAC;QAC3G,IAAI,UAAU,CAAC,eAAe,IAAI,IAAI;YAAE,UAAU,CAAC,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;IAC/G,CAAC;IACD,IAAI,UAAU,CAAC,eAAe,IAAI,IAAI,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/E,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,UAAU,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;QACnD,UAAU,CAAC,eAAe,GAAG,kBAAkB,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,eAAe,CAAC;IAC5G,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC;QACjG,MAAM,OAAO,GAAG,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,IAAI,OAAO;YAAE,UAAU,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;;YACpC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAID,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAgB,oBAAoB,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IAC3D,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QACxD,IAAI,IAAA,oBAAU,EAAC,SAAS,CAAC,IAAI,IAAA,oBAAU,EAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QAChF,IAAI,CAAC,QAAQ,IAAI,IAAA,oBAAU,EAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAAE,QAAQ,GAAG,SAAS,CAAC;QACrE,MAAM,MAAM,GAAG,IAAA,mBAAO,EAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,IAAI,IAAA,gBAAI,EAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AAChE,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IACvD,MAAM,IAAI,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAgB,0BAA0B,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IACjE,MAAM,IAAI,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,8BAA8B,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,qFAAqF;AACrF,iFAAiF;AACjF,6EAA6E;AAC7E,yEAAyE;AACzE,8EAA8E;AAE9E,MAAM,UAAU,GAAG,8EAA8E,CAAC;AAClG,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,mHAAmH,UAAU,iEAAiE,CAAC,CAAC;AAClO,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,qGAAqG,UAAU,oEAAoE,EAAE,GAAG,CAAC,CAAC;AAC5N,MAAM,cAAc,GAAG,gTAAgT,CAAC;AACxU,MAAM,qBAAqB,GAAG,yGAAyG,CAAC;AACxI,MAAM,SAAS,GAAG,mDAAmD,CAAC;AAEtE;;;;GAIG;AACH,SAAgB,2BAA2B,CAAC,OAAgB;IAC1D,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC,KAAK,CAAC,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACzH,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,UAAkB,EAAE,QAAgB,EAAE,cAAsB,EAAE,EAAE;YAC3I,MAAM,IAAI,CAAC,CAAC;YACZ,IAAI,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC;gBAAE,UAAU,GAAG,KAAK,CAAC;YAC/E,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACxC,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,UAAkB,EAAE,OAAe,EAAE,GAAW,EAAE,EAAE;YACtI,MAAM,IAAI,CAAC,CAAC;YACZ,IAAI,UAAU,KAAK,OAAO;gBAAE,UAAU,GAAG,KAAK,CAAC;YAC/C,OAAO,mCAAmC,OAAO,eAAe,GAAG,EAAE,CAAC;QACxE,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,wFAAwF;AACxF,SAAgB,mBAAmB,CAAC,OAAgB,EAAE,SAAiB;IACrE,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,OAAO,OAAO,KAAK,SAAS,IAAI,2BAA2B,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC;AACrF,CAAC;AAID,SAAS,oBAAoB,CAAC,OAAgB;IAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,OAAO,GAAG,2BAA2B,CAAC,OAAO,CAAC,IAAI,EAAE,CAAW,CAAC;IACtE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CACzB,yOAAyO,CAC1O,CAAC;IACF,OAAO,KAAK,EAAE,CAAC,CAAC,CAAqC,IAAI,IAAI,CAAC;AAChE,CAAC;AAED,SAAgB,0BAA0B,CACxC,QAAsB,EACtB,SAAiB,EACjB,UAAgC,EAChC,OAAe,EACf,OAAgB,EAChB,gBAAyC,EAAE;IAE3C,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,IAAI,gBAAgB,GAAmC,IAAI,CAAC;IAC5D,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAc,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxD,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,IAAI,QAAQ,EAAE,CAAC;gBAC5C,MAAM,YAAY,GAAG,OAAO,KAAK,SAAS;oBACxC,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS;oBAC9B,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC;gBAC/B,IAAI,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC;oBACtH,gBAAgB,GAAG,OAAO,CAAC;gBAC7B,CAAC;gBACD,SAAS;YACX,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,kGAAkG;IAClG,MAAM,WAAW,GAAG,gBAAgB,IAAI,mBAAmB,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC;QAC5F,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE;QACzC,CAAC,CAAC,OAAO,CAAC;IACZ,MAAM,OAAO,GAAG,EAAE,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE,GAAG,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACzG,MAAM,cAAc,GAA4B,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACrE,IAAI,OAAO,KAAK,SAAS;QAAE,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC;IAC5D,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAE9B,OAAO;QACL,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAsB,EACtB,SAAiB,EACjB,UAAiC;IAEjC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACvD,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxD,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,IAAI,QAAQ,KAAK,UAAU,CAAC;gBAAE,OAAO,EAAE,CAAC;YACnG,OAAO,CAAC;oBACN,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;oBACnE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE;oBACvC,OAAO,EAAE,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;wBAC9E,CAAC,CAAC,OAAO,CAAC,OAAO;wBACjB,CAAC,CAAC,IAAI;iBACT,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,mBAAmB,CACjC,QAAsB,EACtB,SAAiB,EACjB,OAAe,EACf,OAAgB;IAEhB,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACnH,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,OAAO,EAAE,IAAI,KAAK,SAAS;mBAC7B,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAsB,EACtB,SAAiB,EACjB,OAAe,EACf,OAAgB;IAEhB,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAChH,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC7F,OAAO,CAAC;oBACN,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;oBACnE,OAAO;oBACP,OAAO,EAAE,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;wBAC9E,CAAC,CAAC,OAAO,CAAC,OAAO;wBACjB,CAAC,CAAC,IAAI;iBACT,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,iCAAiC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IACxE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG;QACf,MAAM,EAAE,+BAA+B;QACvC,eAAe,EAAE,2BAAmB;QACpC,iBAAiB,EAAE,4BAA4B;QAC/C,UAAU,EAAE;YACV,MAAM,EAAE,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,4BAAoB,CAAC;YAC/E,UAAU,EAAE,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,+BAAuB,EAAE,2BAAmB,CAAC;YACrG,qBAAqB,EAAE,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,kCAA0B,EAAE,2BAAmB,CAAC;YACpH,qBAAqB,EAAE,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,kCAA0B,EAAE,2BAAmB,CAAC;YAC3H,WAAW,EAAE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,gCAAwB,CAAC;YAC5E,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,+BAAuB,EAAE,2BAAmB,CAAC;mBACxG,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,kCAA0B,EAAE,2BAAmB,CAAC;SACnG;QACD,WAAW,EAAE;YACX,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,4BAAoB,CAAC;YAChF,UAAU,EAAE,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,+BAAuB,EAAE,2BAAmB,CAAC;YACtG,qBAAqB,EAAE,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,kCAA0B,EAAE,2BAAmB,CAAC;YACrH,qBAAqB,EAAE,oBAAoB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,kCAA0B,EAAE,2BAAmB,CAAC;YAC5H,WAAW,EAAE,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,gCAAwB,CAAC;SAC9E;QACD,sBAAsB,EAAE;YACtB,MAAM,EAAE,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,CAAC;YAC3D,UAAU,EAAE,qBAAqB,CAAC,QAAQ,EAAE,YAAY,CAAC;YACzD,qBAAqB,EAAE,qBAAqB,CAAC,QAAQ,EAAE,aAAa,CAAC;YACrE,qBAAqB,EAAE,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,CAAC;YAC5E,WAAW,EAAE,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC;SACrD;KACF,CAAC;IACF,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,eAAe,CAAC,KAAc,EAAE,KAAK,GAAG,CAAC;IAChD,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IACrG,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,KAAgC,CAAC;QAChD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;aAC/D,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACpE,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxG,CAAC;AAED,IAAI,YAAY,GAAqE,IAAI,CAAC;AAE1F,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,CAAC,CAAC;IAAC,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,QAAiB,EAAE,SAAkB;IAC3D,IAAI,YAAY,IAAI,YAAY,CAAC,QAAQ,KAAK,QAAQ,IAAI,YAAY,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC,KAAK,CAAC;IAC1H,MAAM,MAAM,GAAG,IAAA,wCAAoB,EAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC9H,wGAAwG;IACxG,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG;QACZ,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU;QAChH,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,CAAC;IACF,YAAY,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9C,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,KAKrC;IACC,OAAO,UAAU,CAAC;QAChB,KAAK,CAAC,UAAU,IAAI,EAAE;QACtB,KAAK,CAAC,SAAS,IAAI,MAAM;QACzB,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC;KAC1D,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,KAKvC;IACC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9H,OAAO,UAAU,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,IAAI,IAAA,wBAAU,GAAE,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,kGAAkG;AAClG,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,IAAI,GAAG,IAAA,iBAAO,GAAE,CAAC;IACvB,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACpH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,uBAAuB,CAAC,SAAkB,EAAE,QAAkB;IAC5E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC5G,OAAO,WAAW,UAAU,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;AACtF,CAAC;AAED,SAAgB,oBAAoB,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAA,iBAAO,GAAE;IACvE,OAAO,IAAA,gBAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,sBAAsB,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAA,iBAAO,GAAE;IACzE,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAChD,KAAK,MAAM,SAAS,IAAI,CAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAA,gBAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC;QAC1F,IAAI,IAAA,oBAAU,EAAC,SAAS,CAAC,IAAI,IAAA,mBAAS,EAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,uCAAuC,YAAY,4CAA4C,CAAC,CAAC;QACnH,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,QAAQ,GAAiB,EAAE,CAAC;IAChC,IAAI,IAAA,oBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,QAAQ,GAAG,IAAA,sBAAY,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,uCAAuC,YAAY,KAAK,MAAM,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,YAAY,8BAA8B,CAAC,CAAC;QAChH,QAAQ,GAAG,MAAM,CAAC;IACpB,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7C,MAAM,cAAc,GAAG,CAAC,OAAgB,EAA+B,EAAE;QACvE,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,iFAAiF,CAAC;eACzG,OAAO,CAAC,KAAK,CAAC,wFAAwF,CAAC,CAAC;QAC7G,OAAO,KAAK,EAAE,CAAC,CAAC,CAAqC,IAAI,IAAI,CAAC;IAChE,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAChB,SAAiB,EACjB,UAAgC,EAChC,SAAmC,EACxB,EAAE;QACb,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,MAAM,gBAAgB,GAAG,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACzH,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;gBACxC,qGAAqG;gBACrG,IAAI,CAAC,WAAW,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC;oBAAE,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YACnJ,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC;YACxG,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,CAAC,SAAS;YAAE,OAAO,QAAQ,CAAC;QAChC,MAAM,IAAI,GAAG,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;YACxD,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE;YAC9F,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,iCAAyB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACjG,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,gCAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,qCAA6B,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpI,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,gCAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,uCAA+B,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACzI,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,qCAA6B,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAClG,MAAM,SAAS,GAA4B;QACzC,GAAG,KAAK;QACR,gBAAgB,EAAE,SAAS,CAAC,kBAAkB,EAAE,cAAc,EAAE,OAAO,CAAC;QACxE,UAAU,EAAE,SAAS,CAAC,YAAY,EAAE,iBAAiB,EAAE,GAAG,CAAC;QAC3D,WAAW,EAAE,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC;QACrD,kBAAkB,EAAE,SAAS,CAAC,oBAAoB,EAAE,MAAM,EAAE,MAAM,CAAC;QACnE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC;KAC9C,CAAC;IACF,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC;;QACxD,OAAO,SAAS,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;IAC3B,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5D,IAAA,mBAAS,EAAC,IAAA,mBAAO,EAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,IAAA,uBAAa,EAAC,YAAY,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,KAAK,UAAU,EAAE,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"hook-contract.js","sourceRoot":"","sources":["../src/hook-contract.ts"],"names":[],"mappings":"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"}