@esankhan3/anvil-agent-core 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/README.md +1 -1
  2. package/dist/__tests__/fetch-pool.integration.test.d.ts +15 -0
  3. package/dist/__tests__/fetch-pool.integration.test.d.ts.map +1 -0
  4. package/dist/__tests__/fetch-pool.integration.test.js +109 -0
  5. package/dist/__tests__/fetch-pool.integration.test.js.map +1 -0
  6. package/dist/__tests__/fetch-pool.test.d.ts +15 -0
  7. package/dist/__tests__/fetch-pool.test.d.ts.map +1 -0
  8. package/dist/__tests__/fetch-pool.test.js +115 -0
  9. package/dist/__tests__/fetch-pool.test.js.map +1 -0
  10. package/dist/__tests__/gemini-adapter-recording.test.d.ts +11 -0
  11. package/dist/__tests__/gemini-adapter-recording.test.d.ts.map +1 -0
  12. package/dist/__tests__/gemini-adapter-recording.test.js +108 -0
  13. package/dist/__tests__/gemini-adapter-recording.test.js.map +1 -0
  14. package/dist/__tests__/legacy-adapter-language-model.test.d.ts +11 -0
  15. package/dist/__tests__/legacy-adapter-language-model.test.d.ts.map +1 -0
  16. package/dist/__tests__/legacy-adapter-language-model.test.js +102 -0
  17. package/dist/__tests__/legacy-adapter-language-model.test.js.map +1 -0
  18. package/dist/__tests__/ollama-adapter-recording.test.d.ts +15 -0
  19. package/dist/__tests__/ollama-adapter-recording.test.d.ts.map +1 -0
  20. package/dist/__tests__/ollama-adapter-recording.test.js +128 -0
  21. package/dist/__tests__/ollama-adapter-recording.test.js.map +1 -0
  22. package/dist/__tests__/openrouter-prefill.integration.test.d.ts +19 -0
  23. package/dist/__tests__/openrouter-prefill.integration.test.d.ts.map +1 -0
  24. package/dist/__tests__/openrouter-prefill.integration.test.js +410 -0
  25. package/dist/__tests__/openrouter-prefill.integration.test.js.map +1 -0
  26. package/dist/__tests__/prefill-truncate.test.d.ts +8 -0
  27. package/dist/__tests__/prefill-truncate.test.d.ts.map +1 -0
  28. package/dist/__tests__/prefill-truncate.test.js +75 -0
  29. package/dist/__tests__/prefill-truncate.test.js.map +1 -0
  30. package/dist/__tests__/router-circuit-breaker.test.js +1 -1
  31. package/dist/__tests__/router-circuit-breaker.test.js.map +1 -1
  32. package/dist/__tests__/router-classify-unified.test.d.ts +12 -0
  33. package/dist/__tests__/router-classify-unified.test.d.ts.map +1 -0
  34. package/dist/__tests__/router-classify-unified.test.js +108 -0
  35. package/dist/__tests__/router-classify-unified.test.js.map +1 -0
  36. package/dist/__tests__/router-fallback.test.js +1 -1
  37. package/dist/__tests__/router-fallback.test.js.map +1 -1
  38. package/dist/__tests__/router-model-registry.test.js +24 -0
  39. package/dist/__tests__/router-model-registry.test.js.map +1 -1
  40. package/dist/__tests__/router-retry.test.js +3 -5
  41. package/dist/__tests__/router-retry.test.js.map +1 -1
  42. package/dist/__tests__/router-runagent.test.d.ts +14 -0
  43. package/dist/__tests__/router-runagent.test.d.ts.map +1 -0
  44. package/dist/__tests__/router-runagent.test.js +95 -0
  45. package/dist/__tests__/router-runagent.test.js.map +1 -0
  46. package/dist/__tests__/router-scaffold.test.js +2 -1
  47. package/dist/__tests__/router-scaffold.test.js.map +1 -1
  48. package/dist/__tests__/router-spend-ledger.test.js +1 -1
  49. package/dist/__tests__/router-spend-ledger.test.js.map +1 -1
  50. package/dist/__tests__/router-stream-fallback.test.d.ts +13 -0
  51. package/dist/__tests__/router-stream-fallback.test.d.ts.map +1 -0
  52. package/dist/__tests__/router-stream-fallback.test.js +129 -0
  53. package/dist/__tests__/router-stream-fallback.test.js.map +1 -0
  54. package/dist/__tests__/router-telemetry.test.js +3 -1
  55. package/dist/__tests__/router-telemetry.test.js.map +1 -1
  56. package/dist/__tests__/util/mock-upstream.d.ts +77 -0
  57. package/dist/__tests__/util/mock-upstream.d.ts.map +1 -0
  58. package/dist/__tests__/util/mock-upstream.js +219 -0
  59. package/dist/__tests__/util/mock-upstream.js.map +1 -0
  60. package/dist/adk-adapter.d.ts.map +1 -1
  61. package/dist/adk-adapter.js +51 -0
  62. package/dist/adk-adapter.js.map +1 -1
  63. package/dist/adk-anthropic-llm.d.ts.map +1 -1
  64. package/dist/adk-anthropic-llm.js +23 -10
  65. package/dist/adk-anthropic-llm.js.map +1 -1
  66. package/dist/agent/session/adapter.d.ts +25 -0
  67. package/dist/agent/session/adapter.d.ts.map +1 -1
  68. package/dist/agent/session/adapter.js +4 -0
  69. package/dist/agent/session/adapter.js.map +1 -1
  70. package/dist/agent/session/index.d.ts +1 -0
  71. package/dist/agent/session/index.d.ts.map +1 -1
  72. package/dist/agent/session/index.js +1 -0
  73. package/dist/agent/session/index.js.map +1 -1
  74. package/dist/agent/session/language-model-bridge.d.ts.map +1 -1
  75. package/dist/agent/session/language-model-bridge.js +30 -2
  76. package/dist/agent/session/language-model-bridge.js.map +1 -1
  77. package/dist/agent/session/legacy-adapter-language-model.d.ts +27 -0
  78. package/dist/agent/session/legacy-adapter-language-model.d.ts.map +1 -0
  79. package/dist/agent/session/legacy-adapter-language-model.js +221 -0
  80. package/dist/agent/session/legacy-adapter-language-model.js.map +1 -0
  81. package/dist/agent/session/types.d.ts +32 -0
  82. package/dist/agent/session/types.d.ts.map +1 -1
  83. package/dist/agent/session/types.js.map +1 -1
  84. package/dist/claude-adapter.d.ts.map +1 -1
  85. package/dist/claude-adapter.js +27 -0
  86. package/dist/claude-adapter.js.map +1 -1
  87. package/dist/fetch-pool.d.ts +47 -0
  88. package/dist/fetch-pool.d.ts.map +1 -0
  89. package/dist/fetch-pool.js +132 -0
  90. package/dist/fetch-pool.js.map +1 -0
  91. package/dist/gemini-adapter.d.ts.map +1 -1
  92. package/dist/gemini-adapter.js +65 -6
  93. package/dist/gemini-adapter.js.map +1 -1
  94. package/dist/index.d.ts +11 -0
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +6 -0
  97. package/dist/index.js.map +1 -1
  98. package/dist/ollama-adapter.d.ts.map +1 -1
  99. package/dist/ollama-adapter.js +145 -15
  100. package/dist/ollama-adapter.js.map +1 -1
  101. package/dist/openrouter-adapter.d.ts.map +1 -1
  102. package/dist/openrouter-adapter.js +296 -15
  103. package/dist/openrouter-adapter.js.map +1 -1
  104. package/dist/prefill/strip.d.ts +49 -0
  105. package/dist/prefill/strip.d.ts.map +1 -0
  106. package/dist/prefill/strip.js +93 -0
  107. package/dist/prefill/strip.js.map +1 -0
  108. package/dist/prefill/translate.d.ts +55 -0
  109. package/dist/prefill/translate.d.ts.map +1 -0
  110. package/dist/prefill/translate.js +162 -0
  111. package/dist/prefill/translate.js.map +1 -0
  112. package/dist/prefill/truncate.d.ts +62 -0
  113. package/dist/prefill/truncate.d.ts.map +1 -0
  114. package/dist/prefill/truncate.js +77 -0
  115. package/dist/prefill/truncate.js.map +1 -0
  116. package/dist/provider-liveness.d.ts.map +1 -1
  117. package/dist/provider-liveness.js +17 -6
  118. package/dist/provider-liveness.js.map +1 -1
  119. package/dist/router/errors.d.ts +24 -7
  120. package/dist/router/errors.d.ts.map +1 -1
  121. package/dist/router/errors.js +71 -14
  122. package/dist/router/errors.js.map +1 -1
  123. package/dist/router/index.d.ts +3 -2
  124. package/dist/router/index.d.ts.map +1 -1
  125. package/dist/router/index.js +2 -1
  126. package/dist/router/index.js.map +1 -1
  127. package/dist/router/local-executor.d.ts.map +1 -1
  128. package/dist/router/local-executor.js +19 -6
  129. package/dist/router/local-executor.js.map +1 -1
  130. package/dist/router/model-registry.d.ts +22 -0
  131. package/dist/router/model-registry.d.ts.map +1 -1
  132. package/dist/router/model-registry.js +64 -1
  133. package/dist/router/model-registry.js.map +1 -1
  134. package/dist/router/provider-registry-resolver.d.ts +25 -0
  135. package/dist/router/provider-registry-resolver.d.ts.map +1 -0
  136. package/dist/router/provider-registry-resolver.js +84 -0
  137. package/dist/router/provider-registry-resolver.js.map +1 -0
  138. package/dist/router/retry.d.ts +3 -0
  139. package/dist/router/retry.d.ts.map +1 -1
  140. package/dist/router/retry.js +4 -1
  141. package/dist/router/retry.js.map +1 -1
  142. package/dist/router/router.d.ts +79 -1
  143. package/dist/router/router.d.ts.map +1 -1
  144. package/dist/router/router.js +256 -2
  145. package/dist/router/router.js.map +1 -1
  146. package/dist/router/types.d.ts +1 -1
  147. package/dist/router/types.d.ts.map +1 -1
  148. package/dist/router/types.js +1 -0
  149. package/dist/router/types.js.map +1 -1
  150. package/dist/single-shot.d.ts.map +1 -1
  151. package/dist/single-shot.js +26 -1
  152. package/dist/single-shot.js.map +1 -1
  153. package/dist/tools/builtin.d.ts +19 -0
  154. package/dist/tools/builtin.d.ts.map +1 -1
  155. package/dist/tools/builtin.js +51 -0
  156. package/dist/tools/builtin.js.map +1 -1
  157. package/dist/turn-recorder/__tests__/turn-recorder.test.d.ts +20 -0
  158. package/dist/turn-recorder/__tests__/turn-recorder.test.d.ts.map +1 -0
  159. package/dist/turn-recorder/__tests__/turn-recorder.test.js +282 -0
  160. package/dist/turn-recorder/__tests__/turn-recorder.test.js.map +1 -0
  161. package/dist/turn-recorder/hash.d.ts +10 -0
  162. package/dist/turn-recorder/hash.d.ts.map +1 -0
  163. package/dist/turn-recorder/hash.js +35 -0
  164. package/dist/turn-recorder/hash.js.map +1 -0
  165. package/dist/turn-recorder/index.d.ts +119 -0
  166. package/dist/turn-recorder/index.d.ts.map +1 -0
  167. package/dist/turn-recorder/index.js +326 -0
  168. package/dist/turn-recorder/index.js.map +1 -0
  169. package/dist/turn-recorder/types.d.ts +227 -0
  170. package/dist/turn-recorder/types.d.ts.map +1 -0
  171. package/dist/turn-recorder/types.js +20 -0
  172. package/dist/turn-recorder/types.js.map +1 -0
  173. package/dist/types.d.ts +35 -2
  174. package/dist/types.d.ts.map +1 -1
  175. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"ollama-adapter.js","sourceRoot":"","sources":["../src/ollama-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ollama-adapter.js","sourceRoot":"","sources":["../src/ollama-adapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter-adapter.d.ts","sourceRoot":"","sources":["../src/openrouter-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EAIb,MAAM,YAAY,CAAC;AAKpB;;;;;GAKG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAoHpD,qBAAa,iBAAkB,YAAW,YAAY;IACpD,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAgB;IAE/C,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAYzC;IAEF;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB,CAA8B;IAIvD,SAAS,CAAC,SAAS,IAAI,MAAM,GAAG,SAAS;IAIzC,SAAS,CAAC,UAAU,IAAI,MAAM;IAI9B;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,kBAAkB,IAAI,OAAO;IAIvC,SAAS,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAWnD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAMvC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAInD,iBAAiB,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAM5F,IAAI,IAAI,IAAI;IAON,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;YA8JnF,UAAU;IAoExB;;;;OAIG;YACW,UAAU;CAgKzB"}
1
+ {"version":3,"file":"openrouter-adapter.d.ts","sourceRoot":"","sources":["../src/openrouter-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EAIb,MAAM,YAAY,CAAC;AAUpB;;;;;GAKG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAsIpD,qBAAa,iBAAkB,YAAW,YAAY;IACpD,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAgB;IAE/C,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAYzC;IAEF;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB,CAA8B;IAIvD,SAAS,CAAC,SAAS,IAAI,MAAM,GAAG,SAAS;IAIzC,SAAS,CAAC,UAAU,IAAI,MAAM;IAI9B;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,kBAAkB,IAAI,OAAO;IAIvC,SAAS,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAWnD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAMvC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAInD,iBAAiB,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAM5F,IAAI,IAAI,IAAI;IAON,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;YA6ZnF,UAAU;IA8ExB;;;;OAIG;YACW,UAAU;CA2KzB"}
@@ -25,6 +25,10 @@
25
25
  */
26
26
  import { randomUUID } from 'node:crypto';
27
27
  import { emitContent, emitResult, emitToolResult, emitToolUse } from './stream-format.js';
28
+ import { createNullTurnRecorder } from './turn-recorder/index.js';
29
+ import { contentHashFromArgs } from './turn-recorder/hash.js';
30
+ import { materializePrefill, materializePriorTurns } from './prefill/translate.js';
31
+ import { stripForTarget } from './prefill/strip.js';
28
32
  const DEFAULT_MAX_ITERATIONS = 32;
29
33
  /**
30
34
  * Re-export the shared `UpstreamError` so existing imports
@@ -34,6 +38,7 @@ const DEFAULT_MAX_ITERATIONS = 32;
34
38
  */
35
39
  export { UpstreamError } from './upstream-error.js';
36
40
  import { UpstreamError as _UpstreamError } from './upstream-error.js';
41
+ import { getFetchPool, recycleFetchPoolOnFailure, } from './fetch-pool.js';
37
42
  // ───────────────────────────────────────────────────────────────────────
38
43
  // Pricing fallbacks for well-known OpenRouter slugs. OpenRouter itself
39
44
  // returns `usage.cost` in the response when available — that wins. This
@@ -157,9 +162,44 @@ export class OpenRouterAdapter {
157
162
  const messages = [];
158
163
  if (config.projectPrompt)
159
164
  messages.push({ role: 'system', content: config.projectPrompt });
165
+ // §Tier 2 stateful resume: re-present COMPLETED prior turns BEFORE this
166
+ // phase's user message so a non-claude session keeps full conversation
167
+ // context across start→sendInput. materializePriorTurns emits clean
168
+ // target-format messages (no vendor keys), so no stripForTarget is
169
+ // needed. Empty/undefined → byte-identical to the single-turn path.
170
+ if (config.priorMessages?.length) {
171
+ messages.push(...materializePriorTurns(config.priorMessages, this.provider));
172
+ }
160
173
  messages.push({ role: 'user', content: config.userPrompt });
174
+ // Prefill continuation (v2 ADR §2.3): a prior chain entry burned
175
+ // mid-stream. Re-present its completed tool calls + partial
176
+ // assistant text in this provider's wire shape so this model
177
+ // continues from the exact character instead of regenerating. The
178
+ // recorded tool results are replayed (not re-executed) — their
179
+ // side effects already happened on the burned model. Strip applies
180
+ // any cross-vendor field removal; materialize emits OpenAI-compat
181
+ // shape (this adapter family).
182
+ if (config.prefill) {
183
+ const materialized = materializePrefill(config.prefill, this.provider);
184
+ const safe = stripForTarget(materialized, {
185
+ sourceProvider: config.prefill.sourceProvider,
186
+ targetProvider: this.provider,
187
+ });
188
+ messages.push(...safe);
189
+ }
161
190
  const tools = config.toolExecutor ? mapSchemasToOpenAI(config.toolExecutor.listSchemas()) : undefined;
162
191
  const maxIter = config.maxToolIterations ?? DEFAULT_MAX_ITERATIONS;
192
+ // Turn-level durable recorder (v2 ADR §2.5). Defaults to a no-op
193
+ // recorder when the caller hasn't injected a real one — structural
194
+ // calls happen either way, persistence is gated on whether a real
195
+ // EffectRuntime + partial sink were threaded through the bridge. The
196
+ // no-op fallback covers single-shot / non-durable call sites (e.g. the
197
+ // router's thin `invoke`); the live durable pipeline always threads a
198
+ // real recorder.
199
+ const recorder = config.turnRecorder ?? createNullTurnRecorder({
200
+ runId: config.sessionId,
201
+ stepId: config.stage,
202
+ });
163
203
  let aggregatedText = '';
164
204
  let totalIn = 0;
165
205
  let totalOut = 0;
@@ -168,9 +208,107 @@ export class OpenRouterAdapter {
168
208
  let openRouterCost = 0;
169
209
  let stopReason;
170
210
  let providerFinishReason;
211
+ // Track the current turn for catch-block flushPartial. -1 means
212
+ // we never opened a turn (catch fired before startTurn). `activeAcc`
213
+ // is the live accumulator runOneTurn writes into, so the catch reads
214
+ // whatever streamed before a mid-turn throw. `activeTurnSseComplete`
215
+ // flips true the instant runOneTurn returns (the SSE finished); the
216
+ // catch flushes a partial ONLY when this is false — i.e. the stream
217
+ // itself was interrupted, NOT when a post-stream step (endTurn, tool
218
+ // dispatch, an effect-runtime determinism error) throws after the
219
+ // turn's text was already fully received. Without this guard the
220
+ // catch would persist a "partial" carrying the COMPLETE turn text
221
+ // and mislabel its reason (review finding: spurious partial flush).
222
+ let activeTurnIdx = -1;
223
+ let activeAcc = null;
224
+ let activeTurnSseComplete = false;
225
+ // §H3 burn sentinel: the provider-native messages appended SO FAR in the
226
+ // active turn (assistant msg + tool-result msgs). On a mid-stream burn the
227
+ // catch records these into a `stopReason:'burned'` assistant-end so replay
228
+ // re-appends them verbatim before re-burning. Reset at each live turn; []
229
+ // for the common case (runOneTurn burns before any message is appended).
230
+ let activeHistoryDelta = [];
171
231
  try {
172
232
  for (let iter = 0; iter < maxIter; iter++) {
173
- const turn = await this.runOneTurn(apiKey, messages, tools, config, output, abortController.signal);
233
+ // The prefill (§2.3) is consumed on the FIRST turn only — it's the
234
+ // continuation handed by the chain walker after a burn. Turns 1+
235
+ // of this same adapter run are fresh, un-prefilled generations.
236
+ const turnPrefill = iter === 0 ? config.prefill : undefined;
237
+ const { turn: turnIdx, replayed } = await recorder.startTurn({
238
+ model: config.model,
239
+ provider: this.provider,
240
+ system: config.projectPrompt,
241
+ messages: messages.slice(),
242
+ prefill: turnPrefill,
243
+ // §Tier 2: record this phase's user prompt so a stateful resume can
244
+ // reconstruct prior turns WITH their prompts. Every turn of one
245
+ // run() carries the same prompt; reconstruction de-dupes per phase.
246
+ userPrompt: config.userPrompt,
247
+ });
248
+ activeTurnIdx = turnIdx;
249
+ // ── H3 replay-skip ────────────────────────────────────────────
250
+ // This turn's `assistant-end` is already in the durable log (a
251
+ // prior process ran it). Skip the upstream call entirely; re-append
252
+ // the EXACT recorded native history so the FIRST live turn past the
253
+ // replay frontier continues from coherent conversation context, and
254
+ // re-issue runTool/endTurn in order so the replay cursor advances over
255
+ // the recorded sub-effects (exec never fires — recorded tool_results
256
+ // are returned verbatim; runTool's tool-arg idempotencyKey still
257
+ // matches because the args are replayed verbatim).
258
+ if (replayed) {
259
+ activeTurnSseComplete = true; // no live SSE happened this turn
260
+ // §H3 burned-turn replay: this turn burned mid-stream live (its
261
+ // assistant-end is a `stopReason:'burned'` sentinel). Re-issue its
262
+ // recorded tool sub-effects in order (advancing the replay cursor;
263
+ // exec NEVER fires — recorded results are returned verbatim),
264
+ // re-record the sentinel end, then re-throw a retryable upstream
265
+ // error so the chain walker burns this model and continues to the
266
+ // next exactly as it did live. This keeps the model→turn mapping
267
+ // deterministic regardless of whether the transient error cleared.
268
+ if (replayed.stopReason === 'burned') {
269
+ for (const m of replayed.historyDelta)
270
+ messages.push(m);
271
+ for (const tu of replayed.toolUses) {
272
+ await recorder.runTool(turnIdx, tu.name, tu.arguments, tu.idempotencyKey, async () => { throw new Error(`replay invariant: exec ran for recorded burned-turn tool ${tu.name}`); });
273
+ }
274
+ await recorder.endTurn(turnIdx, replayed.text, 'burned', replayed.usage, replayed.provenance, replayed.historyDelta);
275
+ throw new _UpstreamError(503, `${this.provider} replayed burn for "${config.model}" (deterministic chain re-derivation)`, { provider: this.provider, retryable: true });
276
+ }
277
+ aggregatedText += replayed.text;
278
+ totalIn += replayed.usage.inputTokens;
279
+ totalOut += replayed.usage.outputTokens;
280
+ totalCachedReadTokens += replayed.usage.cacheReadTokens ?? 0;
281
+ if (replayed.text)
282
+ emitContent(output, replayed.text);
283
+ if (replayed.toolUses.length === 0 || !config.toolExecutor) {
284
+ stopReason = replayed.stopReason;
285
+ await recorder.endTurn(turnIdx, replayed.text, replayed.stopReason, replayed.usage, replayed.provenance, replayed.historyDelta);
286
+ break;
287
+ }
288
+ for (const m of replayed.historyDelta)
289
+ messages.push(m);
290
+ for (const tu of replayed.toolUses) {
291
+ emitToolUse(output, tu.name, tu.arguments, tu.id);
292
+ const r = await recorder.runTool(turnIdx, tu.name, tu.arguments, tu.idempotencyKey, async () => { throw new Error(`replay invariant: exec ran for recorded tool ${tu.name}`); });
293
+ const rc = typeof r.content === 'string' ? r.content : JSON.stringify(r.content);
294
+ emitToolResult(output, { toolUseId: tu.id, content: rc, isError: !r.ok });
295
+ }
296
+ await recorder.endTurn(turnIdx, replayed.text, replayed.stopReason, replayed.usage, replayed.provenance, replayed.historyDelta);
297
+ if (abortController.signal.aborted) {
298
+ stopReason = 'aborted';
299
+ break;
300
+ }
301
+ continue;
302
+ }
303
+ activeTurnSseComplete = false;
304
+ activeHistoryDelta = [];
305
+ const acc = { text: '', toolCalls: new Map() };
306
+ activeAcc = acc;
307
+ const turn = await this.runOneTurn(apiKey, messages, tools, config, output, abortController.signal, acc);
308
+ // SSE finished cleanly for this turn — any throw past this point
309
+ // (endTurn, tool dispatch, effect determinism) is NOT a mid-stream
310
+ // burn, so the catch must not flush a spurious partial.
311
+ activeTurnSseComplete = true;
174
312
  aggregatedText += turn.text;
175
313
  totalIn += turn.inputTokens;
176
314
  totalOut += turn.outputTokens;
@@ -179,8 +317,20 @@ export class OpenRouterAdapter {
179
317
  openRouterCost += turn.cost;
180
318
  if (turn.finishReason)
181
319
  providerFinishReason = turn.finishReason;
320
+ // §2.6 prefill cost: when this turn re-injected a prior model's
321
+ // text, carve out those tokens so the cost rollup can bill them to
322
+ // a separate reinjection bucket (sourceTokens is the durable count
323
+ // model A reported). §2.7 provenance: two segments when prefilled.
324
+ const usage = {
325
+ inputTokens: turn.inputTokens,
326
+ outputTokens: turn.outputTokens,
327
+ cacheReadTokens: turn.cachedReadTokens,
328
+ ...(turnPrefill ? { prefilledInputTokens: turnPrefill.sourceTokens } : {}),
329
+ };
330
+ const provenance = buildProvenance(config.model, this.provider, turn.text, turnPrefill);
182
331
  if (turn.toolCalls.length === 0 || !config.toolExecutor) {
183
332
  stopReason = turn.toolCalls.length === 0 ? 'end_turn' : 'tools_unsupported';
333
+ await recorder.endTurn(turnIdx, turn.text, stopReason, usage, provenance);
184
334
  break;
185
335
  }
186
336
  // Append assistant turn to history so the model sees its own
@@ -201,7 +351,12 @@ export class OpenRouterAdapter {
201
351
  // reasoning fields entirely — they're strict on unknown sibling
202
352
  // fields. Subclasses override `stripReasoningEcho()` to return
203
353
  // true and skip the echo. See anomalyco/opencode #14716.
204
- messages.push({
354
+ // §H3 historyDelta: capture the EXACT native messages appended this
355
+ // turn so crash-resume re-appends them verbatim (recorded in
356
+ // assistant-end). Order matters — assistant message first, then
357
+ // each tool-result message — and must mirror the live push order.
358
+ const historyDelta = activeHistoryDelta;
359
+ const assistantMsg = {
205
360
  role: 'assistant',
206
361
  content: turn.text || null,
207
362
  ...(this.stripReasoningEcho()
@@ -210,19 +365,36 @@ export class OpenRouterAdapter {
210
365
  ? { reasoning_details: turn.reasoningDetails }
211
366
  : (turn.reasoning ? { reasoning: turn.reasoning } : {})),
212
367
  tool_calls: turn.toolCalls,
213
- });
368
+ };
369
+ messages.push(assistantMsg);
370
+ historyDelta.push(assistantMsg);
214
371
  for (const tc of turn.toolCalls) {
215
372
  const args = parseArgs(tc.function.arguments);
216
373
  const call = { id: tc.id, name: tc.function.name, arguments: args };
217
374
  emitToolUse(output, call.name, args, tc.id);
218
- const result = await invokeTool(config.toolExecutor, call, config.workingDir, abortController.signal);
219
- emitToolResult(output, { toolUseId: tc.id, content: result.content, isError: result.isError });
220
- messages.push({
375
+ const idempotencyKey = contentHashFromArgs({ name: call.name, arguments: args });
376
+ const neutralResult = await recorder.runTool(turnIdx, call.name, args, idempotencyKey, async () => {
377
+ const r = await invokeTool(config.toolExecutor, call, config.workingDir, abortController.signal);
378
+ return {
379
+ toolUseId: tc.id,
380
+ toolName: call.name,
381
+ ok: !r.isError,
382
+ content: r.content,
383
+ };
384
+ });
385
+ const resultContent = typeof neutralResult.content === 'string'
386
+ ? neutralResult.content
387
+ : JSON.stringify(neutralResult.content);
388
+ emitToolResult(output, { toolUseId: tc.id, content: resultContent, isError: !neutralResult.ok });
389
+ const toolMsg = {
221
390
  role: 'tool',
222
- content: result.content,
391
+ content: resultContent,
223
392
  tool_call_id: tc.id,
224
- });
393
+ };
394
+ messages.push(toolMsg);
395
+ historyDelta.push(toolMsg);
225
396
  }
397
+ await recorder.endTurn(turnIdx, turn.text, turn.toolCalls.length > 0 ? 'tool_use' : 'end_turn', usage, provenance, historyDelta);
226
398
  if (abortController.signal.aborted) {
227
399
  stopReason = 'aborted';
228
400
  break;
@@ -231,6 +403,44 @@ export class OpenRouterAdapter {
231
403
  if (stopReason === undefined)
232
404
  stopReason = 'iteration_limit';
233
405
  }
406
+ catch (err) {
407
+ // Best-effort partial flush: capture whatever the current turn
408
+ // managed to stream before the throw. NullTurnRecorder no-ops
409
+ // this; real recorders durably persist it for the chain walker
410
+ // to read. We swallow no errors — the upstream throw proceeds
411
+ // after the (synchronous) flushPartial returns.
412
+ //
413
+ // §2.1.1 truncation rule: only count tool_use blocks whose
414
+ // streamed `arguments` parse as clean JSON. A tool call cut off
415
+ // mid-args (unparseable) is NOT counted and NOT replayed — model
416
+ // B re-decides whether to call it. `text` is whatever streamed.
417
+ if (activeTurnIdx >= 0 && activeAcc && !activeTurnSseComplete) {
418
+ // Only a genuine mid-stream interruption gets a partial. By the
419
+ // time we flush, any non-abort failure is an upstream/network
420
+ // interruption (a socket drop surfaces as a bare TypeError from
421
+ // consumeSSE's reader, NOT an UpstreamError — so the old
422
+ // `err.name === 'UpstreamError'` check mislabeled those as
423
+ // 'timeout'). Collapse to abort-vs-upstream.
424
+ const reason = abortController.signal.aborted ? 'abort' : 'upstream';
425
+ recorder.flushPartial(activeTurnIdx, activeAcc.text, countParsedToolUses(activeAcc.toolCalls), reason);
426
+ // §H3 burn sentinel: record a `stopReason:'burned'` assistant-end for
427
+ // the interrupted turn so crash-resume replays it deterministically.
428
+ // On replay startTurn sees this end → the replay-skip branch re-issues
429
+ // the recorded tool sub-effects (advancing the cursor), re-appends
430
+ // historyDelta, then re-throws so chain-fallback re-derives the SAME
431
+ // model→turn mapping it had live — independent of whether the
432
+ // transient upstream error has since cleared. Without it a recovered
433
+ // model would complete the turn live (writing a NEW assistant-end) and
434
+ // collide with the recorded continuation turn → DeterminismViolation.
435
+ // Only genuine upstream burns get a sentinel; an abort (cancellation)
436
+ // must stay resumable as a fresh turn. usage:{} so the per-model cost
437
+ // rollup prices the burn via the partial (output estimate), not twice.
438
+ if (reason === 'upstream') {
439
+ await recorder.endTurn(activeTurnIdx, activeAcc.text, 'burned', { inputTokens: 0, outputTokens: 0 }, { segments: [] }, activeHistoryDelta);
440
+ }
441
+ }
442
+ throw err;
443
+ }
234
444
  finally {
235
445
  this.activeControllers.delete(abortController);
236
446
  }
@@ -287,7 +497,11 @@ export class OpenRouterAdapter {
287
497
  };
288
498
  }
289
499
  // -- Per-turn round-trip --------------------------------------------------
290
- async runOneTurn(apiKey, messages, tools, config, output, signal) {
500
+ async runOneTurn(apiKey, messages, tools, config, output, signal,
501
+ /** Live working state — written as deltas stream so a mid-stream
502
+ * throw still leaves the partial text/tool_calls readable by the
503
+ * caller's catch block. */
504
+ acc) {
291
505
  const url = `${this.getBaseUrl()}/chat/completions`;
292
506
  const body = {
293
507
  model: config.model,
@@ -302,6 +516,7 @@ export class OpenRouterAdapter {
302
516
  if (typeof config.maxOutputTokens === 'number' && config.maxOutputTokens > 0) {
303
517
  body.max_tokens = config.maxOutputTokens;
304
518
  }
519
+ const poolId = this.provider;
305
520
  let response;
306
521
  try {
307
522
  response = await fetch(url, {
@@ -313,6 +528,8 @@ export class OpenRouterAdapter {
313
528
  },
314
529
  body: JSON.stringify(body),
315
530
  signal,
531
+ // @ts-expect-error — undici dispatcher accepted by Node fetch at runtime
532
+ dispatcher: getFetchPool(poolId),
316
533
  });
317
534
  }
318
535
  catch (err) {
@@ -325,6 +542,9 @@ export class OpenRouterAdapter {
325
542
  // retryable; the run was intentionally cancelled.
326
543
  if (signal?.aborted)
327
544
  throw err;
545
+ // Fire-and-forget pool recycle — heals zombie sockets for the next
546
+ // chain entry. We still throw so the walker advances.
547
+ void recycleFetchPoolOnFailure(poolId, err);
328
548
  const msg = err instanceof Error ? err.message : String(err);
329
549
  throw new _UpstreamError(0, `fetch failed: ${msg}`, { provider: this.provider, retryable: true });
330
550
  }
@@ -334,15 +554,14 @@ export class OpenRouterAdapter {
334
554
  }
335
555
  if (!response.body)
336
556
  throw new _UpstreamError(0, `${this.provider} returned no response body`, { provider: this.provider });
337
- return this.consumeSSE(response, output);
557
+ return this.consumeSSE(response, output, signal, acc);
338
558
  }
339
559
  /**
340
560
  * Drain the SSE stream. Reassembles `tool_calls` from streamed deltas
341
561
  * (OpenAI sends arguments as multiple chunks indexed by tool-call
342
562
  * `index`). Emits text deltas to the output stream as they arrive.
343
563
  */
344
- async consumeSSE(response, output) {
345
- let text = '';
564
+ async consumeSSE(response, output, signal, acc) {
346
565
  let reasoning = '';
347
566
  const reasoningDetails = [];
348
567
  let inputTokens = 0;
@@ -351,7 +570,9 @@ export class OpenRouterAdapter {
351
570
  let reasoningTokens = 0;
352
571
  let cost = 0;
353
572
  let finishReason;
354
- const toolCallsByIndex = new Map();
573
+ // Text + tool_calls live on the shared accumulator (not locals) so a
574
+ // mid-stream throw leaves them readable by run()'s catch (§2.1 / §2.5).
575
+ const toolCallsByIndex = acc.toolCalls;
355
576
  const reader = response.body.getReader();
356
577
  const decoder = new TextDecoder();
357
578
  let buffer = '';
@@ -376,6 +597,14 @@ export class OpenRouterAdapter {
376
597
  const lines = buffer.split('\n');
377
598
  buffer = lines.pop() ?? '';
378
599
  for (const line of lines) {
600
+ // Abort latch (§2.1.2): once the per-call signal has aborted,
601
+ // drop every remaining delta. A pull-reader normally rejects on
602
+ // abort, but a final frame can still be buffered in `lines` from
603
+ // the last successful read() — this guarantees post-abort deltas
604
+ // never mutate the accumulator (which would corrupt the partial
605
+ // we're about to flush).
606
+ if (signal.aborted)
607
+ break;
379
608
  const trimmed = line.trim();
380
609
  if (!trimmed || trimmed.startsWith(':'))
381
610
  continue; // empty / SSE comment
@@ -394,7 +623,7 @@ export class OpenRouterAdapter {
394
623
  const choice = chunk.choices?.[0];
395
624
  const delta = choice?.delta;
396
625
  if (delta?.content) {
397
- text += delta.content;
626
+ acc.text += delta.content;
398
627
  pendingText += delta.content;
399
628
  // Split the accumulated buffer on newlines so the flush is
400
629
  // always anchored at a natural line boundary; emit each
@@ -477,7 +706,7 @@ export class OpenRouterAdapter {
477
706
  .sort(([a], [b]) => a - b)
478
707
  .map(([, v]) => v);
479
708
  return {
480
- text,
709
+ text: acc.text,
481
710
  reasoning,
482
711
  reasoningDetails: reasoningDetails.filter(Boolean),
483
712
  toolCalls,
@@ -537,4 +766,56 @@ function countToolCalls(messages) {
537
766
  }
538
767
  return n;
539
768
  }
769
+ /**
770
+ * §2.1.1 mid-`tool_use` truncation rule. Counts only the streamed
771
+ * tool_calls whose `arguments` parse as clean, complete JSON AND that
772
+ * carry a non-empty name. A tool call cut off mid-args (e.g. the stream
773
+ * died at `{"path": "src/fo`) is unparseable and excluded — it must NOT
774
+ * be replayed against partial JSON; the next model re-decides. Empty
775
+ * `arguments` is treated as the valid empty-object call `{}`.
776
+ */
777
+ function countParsedToolUses(toolCalls) {
778
+ let n = 0;
779
+ for (const tc of toolCalls.values()) {
780
+ if (!tc.function.name)
781
+ continue;
782
+ const raw = tc.function.arguments;
783
+ if (raw === '') {
784
+ n += 1;
785
+ continue;
786
+ }
787
+ try {
788
+ const parsed = JSON.parse(raw);
789
+ if (parsed !== null && typeof parsed === 'object')
790
+ n += 1;
791
+ }
792
+ catch {
793
+ // unparseable / truncated args — drop per §2.1.1
794
+ }
795
+ }
796
+ return n;
797
+ }
798
+ /**
799
+ * §2.7 provenance. Without a prefill: one `live` segment covering the
800
+ * model's full output. WITH a prefill (a chain-fallback resume): two
801
+ * segments over the LOGICAL combined text — `[0, prefill.len)` attributed
802
+ * to the source model as `prefill`, `[prefill.len, prefill.len+live.len)`
803
+ * attributed to the live model. Ranges are CHARACTER offsets, contiguous
804
+ * and non-overlapping (replay reads them back verbatim). An empty live
805
+ * continuation yields a zero-width live segment, which is valid.
806
+ */
807
+ function buildProvenance(model, provider, liveText, prefill) {
808
+ if (prefill && prefill.text.length > 0) {
809
+ const cut = prefill.text.length;
810
+ return {
811
+ segments: [
812
+ { model: prefill.sourceModel ?? 'unknown', provider: prefill.sourceProvider, range: [0, cut], source: 'prefill' },
813
+ { model, provider, range: [cut, cut + liveText.length], source: 'live' },
814
+ ],
815
+ };
816
+ }
817
+ return {
818
+ segments: [{ model, provider, range: [0, liveText.length], source: 'live' }],
819
+ };
820
+ }
540
821
  //# sourceMappingURL=openrouter-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter-adapter.js","sourceRoot":"","sources":["../src/openrouter-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openrouter-adapter.js","sourceRoot":"","sources":["../src/openrouter-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAWzC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAgB,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAElC;;;;;GAKG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EACL,YAAY,EACZ,yBAAyB,GAE1B,MAAM,iBAAiB,CAAC;AAEzB,0EAA0E;AAC1E,uEAAuE;AACvE,wEAAwE;AACxE,wEAAwE;AACxE,gDAAgD;AAChD,0EAA0E;AAE1E,MAAM,kBAAkB,GAAqC;IAC3D,SAAS;IACT,eAAe,EAA2B,CAAC,GAAG,EAAE,IAAI,CAAC;IACrD,oBAAoB,EAAsB,CAAC,IAAI,EAAE,IAAI,CAAC;IACtD,oBAAoB,EAAsB,CAAC,IAAI,EAAE,IAAI,CAAC;IACtD,WAAW,EAA+B,CAAC,IAAI,EAAE,IAAI,CAAC;IACtD,WAAW,EAA+B,CAAC,IAAI,EAAE,IAAI,CAAC;IACtD,gBAAgB,EAA0B,CAAC,GAAG,EAAE,GAAG,CAAC;IACpD,iCAAiC;IACjC,4BAA4B,EAAc,CAAC,GAAG,EAAE,GAAG,CAAC;IACpD,6BAA6B,EAAa,CAAC,GAAG,EAAE,IAAI,CAAC;IACrD,6BAA6B,EAAa,CAAC,GAAG,EAAE,IAAI,CAAC;IACrD,2BAA2B,EAAe,CAAC,IAAI,EAAE,IAAI,CAAC;IACtD,SAAS;IACT,yBAAyB,EAAiB,CAAC,IAAI,EAAE,IAAI,CAAC;IACtD,uBAAuB,EAAmB,CAAC,IAAI,EAAE,IAAI,CAAC;IACtD,OAAO;IACP,mCAAmC,EAAO,CAAC,IAAI,EAAE,IAAI,CAAC;IACtD,WAAW;IACX,sBAAsB,EAAoB,CAAC,IAAI,EAAE,IAAI,CAAC;CACvD,CAAC;AA+FF,0EAA0E;AAC1E,UAAU;AACV,0EAA0E;AAE1E,MAAM,OAAO,iBAAiB;IACnB,QAAQ,GAAiB,YAAY,CAAC;IAEtC,YAAY,GAAyB;QAC5C,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;QACpB,aAAa,EAAE,IAAI,EAAa,6CAA6C;QAC7E,KAAK,EAAE,MAAM;QACb,eAAe,EAAE,GAAG;QACpB,gBAAgB,EAAE,QAAQ;QAC1B,eAAe,EAAE,IAAI;KACtB,CAAC;IAEF;;;;;;;;;;OAUG;IACK,iBAAiB,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEvD,4EAA4E;IAElE,SAAS;QACjB,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IACxC,CAAC;IAES,UAAU;QAClB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,8BAA8B,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjG,CAAC;IAED;;;;;;;;;;;;;OAaG;IACO,kBAAkB;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAES,eAAe;QACvB,OAAO;YACL,gEAAgE;YAChE,qCAAqC;YACrC,cAAc,EAAE,mBAAmB;YACnC,SAAS,EAAE,OAAO;SACnB,CAAC;IACJ,CAAC;IAED,4EAA4E;IAE5E,aAAa,CAAC,OAAe;QAC3B,oEAAoE;QACpE,0DAA0D;QAC1D,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,eAAe,CAAC,OAAe;QAC7B,OAAO,kBAAkB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;QAC9E,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,IAAI;QACF,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACxC,IAAI,CAAC;gBAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAA0B,EAAE,MAA6B;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAE9D,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE3B,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,aAAa;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3F,wEAAwE;QACxE,uEAAuE;QACvE,oEAAoE;QACpE,mEAAmE;QACnE,oEAAoE;QACpE,IAAI,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,GAAI,qBAAqB,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAmB,CAAC,CAAC;QAClG,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAE5D,iEAAiE;QACjE,4DAA4D;QAC5D,6DAA6D;QAC7D,kEAAkE;QAClE,+DAA+D;QAC/D,mEAAmE;QACnE,kEAAkE;QAClE,+BAA+B;QAC/B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAkB,CAAC;YACxF,MAAM,IAAI,GAAG,cAAc,CAAC,YAAY,EAAE;gBACxC,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc;gBAC7C,cAAc,EAAE,IAAI,CAAC,QAAQ;aAC9B,CAAkB,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtG,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAiB,IAAI,sBAAsB,CAAC;QAEnE,iEAAiE;QACjE,mEAAmE;QACnE,kEAAkE;QAClE,qEAAqE;QACrE,uEAAuE;QACvE,sEAAsE;QACtE,iBAAiB;QACjB,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,IAAI,sBAAsB,CAAC;YAC7D,KAAK,EAAE,MAAM,CAAC,SAAS;YACvB,MAAM,EAAE,MAAM,CAAC,KAAK;SACrB,CAAC,CAAC;QAEH,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAC9B,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,UAA8B,CAAC;QACnC,IAAI,oBAAwC,CAAC;QAC7C,gEAAgE;QAChE,qEAAqE;QACrE,qEAAqE;QACrE,qEAAqE;QACrE,oEAAoE;QACpE,oEAAoE;QACpE,qEAAqE;QACrE,kEAAkE;QAClE,iEAAiE;QACjE,kEAAkE;QAClE,oEAAoE;QACpE,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;QACvB,IAAI,SAAS,GAA2B,IAAI,CAAC;QAC7C,IAAI,qBAAqB,GAAG,KAAK,CAAC;QAClC,yEAAyE;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,yEAAyE;QACzE,IAAI,kBAAkB,GAAc,EAAE,CAAC;QAEvC,IAAI,CAAC;YACH,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;gBAC1C,mEAAmE;gBACnE,iEAAiE;gBACjE,gEAAgE;gBAChE,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;gBAE5D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC;oBAC3D,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,MAAM,EAAE,MAAM,CAAC,aAAa;oBAC5B,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE;oBAC1B,OAAO,EAAE,WAAW;oBACpB,oEAAoE;oBACpE,gEAAgE;oBAChE,oEAAoE;oBACpE,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,CAAC,CAAC;gBACH,aAAa,GAAG,OAAO,CAAC;gBAExB,iEAAiE;gBACjE,+DAA+D;gBAC/D,oEAAoE;gBACpE,oEAAoE;gBACpE,oEAAoE;gBACpE,uEAAuE;gBACvE,qEAAqE;gBACrE,iEAAiE;gBACjE,mDAAmD;gBACnD,IAAI,QAAQ,EAAE,CAAC;oBACb,qBAAqB,GAAG,IAAI,CAAC,CAAC,iCAAiC;oBAE/D,gEAAgE;oBAChE,mEAAmE;oBACnE,mEAAmE;oBACnE,8DAA8D;oBAC9D,iEAAiE;oBACjE,kEAAkE;oBAClE,iEAAiE;oBACjE,mEAAmE;oBACnE,IAAI,QAAQ,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;wBACrC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,YAAY;4BAAE,QAAQ,CAAC,IAAI,CAAC,CAAgB,CAAC,CAAC;wBACvE,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;4BACnC,MAAM,QAAQ,CAAC,OAAO,CACpB,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,EACjD,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,4DAA4D,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CACxG,CAAC;wBACJ,CAAC;wBACD,MAAM,QAAQ,CAAC,OAAO,CACpB,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAChC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAC3D,CAAC;wBACF,MAAM,IAAI,cAAc,CACtB,GAAG,EACH,GAAG,IAAI,CAAC,QAAQ,uBAAuB,MAAM,CAAC,KAAK,uCAAuC,EAC1F,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAC7C,CAAC;oBACJ,CAAC;oBAED,cAAc,IAAI,QAAQ,CAAC,IAAI,CAAC;oBAChC,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;oBACtC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;oBACxC,qBAAqB,IAAI,QAAQ,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC;oBAC7D,IAAI,QAAQ,CAAC,IAAI;wBAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAEtD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;wBAC3D,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;wBACjC,MAAM,QAAQ,CAAC,OAAO,CACpB,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,EAC3C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAC3D,CAAC;wBACF,MAAM;oBACR,CAAC;oBAED,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,YAAY;wBAAE,QAAQ,CAAC,IAAI,CAAC,CAAgB,CAAC,CAAC;oBACvE,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;wBACnC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;wBAClD,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,OAAO,CAC9B,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,EACjD,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,gDAAgD,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAC5F,CAAC;wBACF,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;wBACjF,cAAc,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC5E,CAAC;oBACD,MAAM,QAAQ,CAAC,OAAO,CACpB,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,EAC3C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAC3D,CAAC;oBACF,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBAAC,UAAU,GAAG,SAAS,CAAC;wBAAC,MAAM;oBAAC,CAAC;oBACtE,SAAS;gBACX,CAAC;gBAED,qBAAqB,GAAG,KAAK,CAAC;gBAC9B,kBAAkB,GAAG,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;gBAChE,SAAS,GAAG,GAAG,CAAC;gBAEhB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACzG,iEAAiE;gBACjE,mEAAmE;gBACnE,wDAAwD;gBACxD,qBAAqB,GAAG,IAAI,CAAC;gBAC7B,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC;gBAC5B,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC;gBAC5B,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC;gBAC9B,qBAAqB,IAAI,IAAI,CAAC,gBAAgB,CAAC;gBAC/C,oBAAoB,IAAI,IAAI,CAAC,eAAe,CAAC;gBAC7C,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC;gBAC5B,IAAI,IAAI,CAAC,YAAY;oBAAE,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC;gBAEhE,gEAAgE;gBAChE,mEAAmE;gBACnE,mEAAmE;gBACnE,mEAAmE;gBACnE,MAAM,KAAK,GAAmB;oBAC5B,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,eAAe,EAAE,IAAI,CAAC,gBAAgB;oBACtC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3E,CAAC;gBACF,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAExF,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;oBACxD,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC;oBAC5E,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;oBAC1E,MAAM;gBACR,CAAC;gBAED,6DAA6D;gBAC7D,6DAA6D;gBAC7D,6DAA6D;gBAC7D,+DAA+D;gBAC/D,2DAA2D;gBAC3D,SAAS;gBACT,EAAE;gBACF,gEAAgE;gBAChE,2DAA2D;gBAC3D,+DAA+D;gBAC/D,4DAA4D;gBAC5D,gEAAgE;gBAChE,oBAAoB;gBACpB,EAAE;gBACF,iEAAiE;gBACjE,gEAAgE;gBAChE,+DAA+D;gBAC/D,yDAAyD;gBACzD,oEAAoE;gBACpE,6DAA6D;gBAC7D,gEAAgE;gBAChE,kEAAkE;gBAClE,MAAM,YAAY,GAAc,kBAAkB,CAAC;gBACnD,MAAM,YAAY,GAAgB;oBAChC,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;oBAC1B,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE;wBAC3B,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;4BAChC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,EAAE;4BAC9C,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC5D,UAAU,EAAE,IAAI,CAAC,SAAS;iBAC3B,CAAC;gBACF,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5B,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAEhC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChC,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM,IAAI,GAAa,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;oBAC9E,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;oBAE5C,MAAM,cAAc,GAAG,mBAAmB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACjF,MAAM,aAAa,GAAsB,MAAM,QAAQ,CAAC,OAAO,CAC7D,OAAO,EACP,IAAI,CAAC,IAAI,EACT,IAAI,EACJ,cAAc,EACd,KAAK,IAAI,EAAE;wBACT,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,YAAa,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;wBAClG,OAAO;4BACL,SAAS,EAAE,EAAE,CAAC,EAAE;4BAChB,QAAQ,EAAE,IAAI,CAAC,IAAI;4BACnB,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO;4BACd,OAAO,EAAE,CAAC,CAAC,OAAO;yBACnB,CAAC;oBACJ,CAAC,CACF,CAAC;oBAEF,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,OAAO,KAAK,QAAQ;wBAC7D,CAAC,CAAC,aAAa,CAAC,OAAO;wBACvB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oBAC1C,cAAc,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;oBAEjG,MAAM,OAAO,GAAgB;wBAC3B,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,aAAa;wBACtB,YAAY,EAAE,EAAE,CAAC,EAAE;qBACpB,CAAC;oBACF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACvB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7B,CAAC;gBAED,MAAM,QAAQ,CAAC,OAAO,CACpB,OAAO,EACP,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EACnD,KAAK,EACL,UAAU,EACV,YAAY,CACb,CAAC;gBAEF,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnC,UAAU,GAAG,SAAS,CAAC;oBACvB,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,UAAU,KAAK,SAAS;gBAAE,UAAU,GAAG,iBAAiB,CAAC;QAC/D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,+DAA+D;YAC/D,8DAA8D;YAC9D,+DAA+D;YAC/D,8DAA8D;YAC9D,gDAAgD;YAChD,EAAE;YACF,2DAA2D;YAC3D,gEAAgE;YAChE,iEAAiE;YACjE,gEAAgE;YAChE,IAAI,aAAa,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,gEAAgE;gBAChE,8DAA8D;gBAC9D,gEAAgE;gBAChE,yDAAyD;gBACzD,2DAA2D;gBAC3D,6CAA6C;gBAC7C,MAAM,MAAM,GAAyB,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC3F,QAAQ,CAAC,YAAY,CACnB,aAAa,EACb,SAAS,CAAC,IAAI,EACd,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,EACxC,MAAM,CACP,CAAC;gBACF,sEAAsE;gBACtE,qEAAqE;gBACrE,uEAAuE;gBACvE,mEAAmE;gBACnE,qEAAqE;gBACrE,8DAA8D;gBAC9D,qEAAqE;gBACrE,uEAAuE;gBACvE,sEAAsE;gBACtE,sEAAsE;gBACtE,sEAAsE;gBACtE,uEAAuE;gBACvE,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;oBAC1B,MAAM,QAAQ,CAAC,OAAO,CACpB,aAAa,EACb,SAAS,CAAC,IAAI,EACd,QAAQ,EACR,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EACnC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAChB,kBAAkB,CACnB,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;QAExC,mEAAmE;QACnE,qEAAqE;QACrE,mEAAmE;QACnE,6CAA6C;QAC7C,IAAI,OAAO,GAAG,cAAc,CAAC;QAC7B,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,+CAA+C;QAC/C,MAAM,oBAAoB,GAAG,UAAU,KAAK,UAAU,IAAI,oBAAoB,KAAK,QAAQ;YACzF,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,UAAU,CAAC;QAEf,oEAAoE;QACpE,oEAAoE;QACpE,mEAAmE;QACnE,mEAAmE;QACnE,gEAAgE;QAChE,EAAE;QACF,mEAAmE;QACnE,iEAAiE;QACjE,wDAAwD;QACxD,mDAAmD;QACnD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,iBAAiB,EAAE,CAAC;YAC3F,MAAM,IAAI,cAAc,CACtB,GAAG,EACH,GAAG,IAAI,CAAC,QAAQ,WAAW,MAAM,CAAC,KAAK,2CAA2C,UAAU,kBAAkB,QAAQ,eAAe,cAAc,CAAC,QAAQ,CAAC,GAAG,EAChK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAC7C,CAAC;QACJ,CAAC;QAED,UAAU,CAAC,MAAM,EAAE;YACjB,IAAI,EAAE,cAAc;YACpB,OAAO;YACP,WAAW,EAAE,OAAO;YACpB,YAAY,EAAE,QAAQ;YACtB,UAAU;YACV,eAAe,EAAE,qBAAqB;SACvC,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,WAAW,EAAE,OAAO;YACpB,YAAY,EAAE,QAAQ;YACtB,OAAO;YACP,UAAU;YACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,oBAAoB;YAChC,eAAe,EAAE,qBAAqB,IAAI,SAAS;YACnD,eAAe,EAAE,oBAAoB,IAAI,SAAS;YAClD,aAAa,EAAE,cAAc,CAAC,QAAQ,CAAC;SACxC,CAAC;IACJ,CAAC;IAED,4EAA4E;IAEpE,KAAK,CAAC,UAAU,CACtB,MAAc,EACd,QAAuB,EACvB,KAAkC,EAClC,MAA0B,EAC1B,MAA6B,EAC7B,MAAmB;IACnB;;gCAE4B;IAC5B,GAAoB;QAapB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC;QACpD,MAAM,IAAI,GAA4B;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ;YACR,MAAM,EAAE,IAAI;YACZ,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;SACxC,CAAC;QACF,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC5B,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YAC7E,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;QAC3C,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAsB,CAAC;QAC3C,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC1B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU,MAAM,EAAE;oBACjC,GAAG,IAAI,CAAC,eAAe,EAAE;iBAC1B;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,MAAM;gBACN,yEAAyE;gBACzE,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC;aACjC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kEAAkE;YAClE,gEAAgE;YAChE,gEAAgE;YAChE,+DAA+D;YAC/D,gEAAgE;YAChE,8DAA8D;YAC9D,kDAAkD;YAClD,IAAI,MAAM,EAAE,OAAO;gBAAE,MAAM,GAAG,CAAC;YAC/B,mEAAmE;YACnE,sDAAsD;YACtD,KAAK,yBAAyB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC5C,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,IAAI,cAAc,CAAC,CAAC,EAAE,iBAAiB,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpG,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,4BAA4B,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE3H,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,UAAU,CACtB,QAAkB,EAClB,MAA6B,EAC7B,MAAmB,EACnB,GAAoB;QAapB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,MAAM,gBAAgB,GAAsB,EAAE,CAAC;QAC/C,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,YAAgC,CAAC;QACrC,qEAAqE;QACrE,wEAAwE;QACxE,MAAM,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC;QAEvC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAK,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,mEAAmE;QACnE,gEAAgE;QAChE,gEAAgE;QAChE,gEAAgE;QAChE,kEAAkE;QAClE,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,MAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YACrC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACjC,WAAW,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC;QAEF,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAEhB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,8DAA8D;gBAC9D,gEAAgE;gBAChE,iEAAiE;gBACjE,iEAAiE;gBACjE,gEAAgE;gBAChE,yBAAyB;gBACzB,IAAI,MAAM,CAAC,OAAO;oBAAE,MAAM;gBAE1B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,SAAS,CAAU,sBAAsB;gBAClF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAAE,SAAS;gBAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjC,IAAI,OAAO,KAAK,QAAQ;oBAAE,SAAS;gBAEnC,IAAI,KAA0B,CAAC;gBAC/B,IAAI,CAAC;oBACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC9B,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;gBAED,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC;gBAC5B,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;oBACnB,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC1B,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC7B,2DAA2D;oBAC3D,wDAAwD;oBACxD,mDAAmD;oBACnD,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBAClC,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBACrC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;wBAC1C,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;wBAC1B,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC1C,CAAC;oBACD,0DAA0D;oBAC1D,qDAAqD;oBACrD,4CAA4C;oBAC5C,IAAI,WAAW,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC;wBAC1C,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;wBACjC,WAAW,GAAG,EAAE,CAAC;oBACnB,CAAC;gBACH,CAAC;gBACD,IAAI,KAAK,EAAE,SAAS,EAAE,CAAC;oBACrB,6DAA6D;oBAC7D,+DAA+D;oBAC/D,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC;gBAC/B,CAAC;gBACD,IAAI,KAAK,EAAE,iBAAiB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACvE,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;wBACzC,0DAA0D;wBAC1D,6CAA6C;wBAC7C,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC;wBAC9E,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;wBACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACd,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;wBACzD,CAAC;6BAAM,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;4BACnB,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;wBAClD,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,KAAK,EAAE,UAAU,EAAE,CAAC;oBACtB,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;wBACvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACd,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE;gCAClC,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,UAAU,EAAE;gCAC9B,IAAI,EAAE,UAAU;gCAChB,QAAQ,EAAE;oCACR,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE;oCAClC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE;iCAC7C;6BACF,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,IAAI,OAAO,CAAC,EAAE;gCAAE,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;4BACzC,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI;gCAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAC5E,IAAI,OAAO,CAAC,QAAQ,EAAE,SAAS;gCAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;wBAC7F,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,OAAO,MAAM,EAAE,aAAa,KAAK,QAAQ,EAAE,CAAC;oBAC9C,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;gBACtC,CAAC;gBAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,IAAI,WAAW,CAAC;oBACvD,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,IAAI,YAAY,CAAC;oBAC7D,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,EAAE,aAAa,IAAI,gBAAgB,CAAC;oBACxF,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,yBAAyB,EAAE,gBAAgB,IAAI,eAAe,CAAC;oBAC7F,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;wBAAE,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;gBACpE,CAAC;YACH,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,0DAA0D;QAC1D,YAAY,EAAE,CAAC;QAEf,iEAAiE;QACjE,mCAAmC;QACnC,MAAM,SAAS,GAAG,CAAC,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC;aAC9C,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;aACzB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAErB,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS;YACT,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC;YAClD,SAAS;YACT,WAAW;YACX,YAAY;YACZ,gBAAgB;YAChB,eAAe;YACf,IAAI;YACJ,YAAY;SACb,CAAC;IACJ,CAAC;CACF;AAED,0EAA0E;AAC1E,UAAU;AACV,0EAA0E;AAE1E,SAAS,kBAAkB,CAAC,OAAqB;IAC/C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,UAAU,EAAE,CAAC,CAAC,WAAW;SAC1B;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAE,MAAkC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAC7G,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,QAA0B,EAC1B,IAAc,EACd,UAAkB,EAClB,WAAwB;IAExB,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,EAAE,OAAO,EAAE,yBAAyB,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACpE,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,QAAuB;IAC7C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,UAAU;YAAE,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;IACvE,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,SAA2C;IACtE,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI;YAAE,SAAS;QAChC,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QAClC,IAAI,GAAG,KAAK,EAAE,EAAG,CAAC;YAAC,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,eAAe,CACtB,KAAa,EACb,QAAsB,EACtB,QAAgB,EAChB,OAA8E;IAE9E,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAChC,OAAO;YACL,QAAQ,EAAE;gBACR,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,IAAI,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE;gBACjH,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;aACzE;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;KAC7E,CAAC;AACJ,CAAC"}