@gaunt-sloth/core 2.0.0-alpha.35 → 2.0.0-alpha.37

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 (95) hide show
  1. package/dist/config/configDiscovery.d.ts +79 -0
  2. package/dist/config/configDiscovery.js +80 -0
  3. package/dist/config/configDiscovery.js.map +1 -0
  4. package/dist/config/loader.d.ts +6 -5
  5. package/dist/config/loader.js +229 -92
  6. package/dist/config/loader.js.map +1 -1
  7. package/dist/config/schema.d.ts +3 -2
  8. package/dist/config/schema.js +57 -9
  9. package/dist/config/schema.js.map +1 -1
  10. package/dist/config/shell-policy.d.ts +58 -26
  11. package/dist/config/shell-policy.js +60 -27
  12. package/dist/config/shell-policy.js.map +1 -1
  13. package/dist/config/tool-descriptions.d.ts +6 -6
  14. package/dist/config/tool-descriptions.js +7 -7
  15. package/dist/config/tool-descriptions.js.map +1 -1
  16. package/dist/config/types.d.ts +34 -31
  17. package/dist/config/types.js.map +1 -1
  18. package/dist/config.d.ts +3 -0
  19. package/dist/config.js +3 -0
  20. package/dist/config.js.map +1 -1
  21. package/dist/core/GthAbstractAgent.d.ts +11 -13
  22. package/dist/core/GthAbstractAgent.js +9 -11
  23. package/dist/core/GthAbstractAgent.js.map +1 -1
  24. package/dist/core/GthAgentRunner.d.ts +17 -33
  25. package/dist/core/GthAgentRunner.js +31 -41
  26. package/dist/core/GthAgentRunner.js.map +1 -1
  27. package/dist/core/GthLangChainAgent.js +25 -34
  28. package/dist/core/GthLangChainAgent.js.map +1 -1
  29. package/dist/core/approvals/toolAnnotationSources.d.ts +4 -4
  30. package/dist/core/approvals/toolAnnotationSources.js +8 -8
  31. package/dist/core/debugCapture.d.ts +2 -3
  32. package/dist/core/debugCapture.js +1 -2
  33. package/dist/core/debugCapture.js.map +1 -1
  34. package/dist/core/gthLeanAgentFactory.d.ts +4 -4
  35. package/dist/core/gthLeanAgentFactory.js +4 -4
  36. package/dist/core/launchBanner.d.ts +10 -0
  37. package/dist/core/launchBanner.js +6 -1
  38. package/dist/core/launchBanner.js.map +1 -1
  39. package/dist/core/reasoningBlocks.d.ts +7 -2
  40. package/dist/core/reasoningBlocks.js +7 -2
  41. package/dist/core/reasoningBlocks.js.map +1 -1
  42. package/dist/core/shell/ShellCommandFailedError.d.ts +3 -4
  43. package/dist/core/shell/ShellCommandFailedError.js +3 -4
  44. package/dist/core/shell/ShellCommandFailedError.js.map +1 -1
  45. package/dist/core/shell/approvalStop.d.ts +68 -29
  46. package/dist/core/shell/approvalStop.js +178 -28
  47. package/dist/core/shell/approvalStop.js.map +1 -1
  48. package/dist/core/shell/hardline.d.ts +22 -0
  49. package/dist/core/shell/hardline.js +81 -0
  50. package/dist/core/shell/hardline.js.map +1 -1
  51. package/dist/core/shell/negotiation.d.ts +81 -2
  52. package/dist/core/shell/negotiation.js +144 -11
  53. package/dist/core/shell/negotiation.js.map +1 -1
  54. package/dist/core/shell/rater.d.ts +7 -69
  55. package/dist/core/shell/rater.js +5 -24
  56. package/dist/core/shell/rater.js.map +1 -1
  57. package/dist/core/shell/raterVocabulary.d.ts +119 -0
  58. package/dist/core/shell/raterVocabulary.js +114 -0
  59. package/dist/core/shell/raterVocabulary.js.map +1 -0
  60. package/dist/core/types.d.ts +17 -3
  61. package/dist/providers/anthropic.js +12 -0
  62. package/dist/providers/anthropic.js.map +1 -1
  63. package/dist/providers/configurationPassthrough.d.ts +107 -0
  64. package/dist/providers/configurationPassthrough.js +148 -0
  65. package/dist/providers/configurationPassthrough.js.map +1 -0
  66. package/dist/providers/geminiThinking.d.ts +8 -0
  67. package/dist/providers/geminiThinking.js +33 -13
  68. package/dist/providers/geminiThinking.js.map +1 -1
  69. package/dist/providers/google-genai.js +11 -0
  70. package/dist/providers/google-genai.js.map +1 -1
  71. package/dist/providers/groq.js +12 -0
  72. package/dist/providers/groq.js.map +1 -1
  73. package/dist/providers/ollama.js +12 -0
  74. package/dist/providers/ollama.js.map +1 -1
  75. package/dist/providers/openrouter.d.ts +23 -0
  76. package/dist/providers/openrouter.js +71 -4
  77. package/dist/providers/openrouter.js.map +1 -1
  78. package/dist/providers/vertexai.js +12 -0
  79. package/dist/providers/vertexai.js.map +1 -1
  80. package/dist/providers/xai.js +20 -0
  81. package/dist/providers/xai.js.map +1 -1
  82. package/dist/runtime/conversation.d.ts +2 -2
  83. package/dist/runtime/conversation.js +19 -4
  84. package/dist/runtime/conversation.js.map +1 -1
  85. package/dist/runtime/singleShot.d.ts +2 -3
  86. package/dist/runtime/singleShot.js +22 -7
  87. package/dist/runtime/singleShot.js.map +1 -1
  88. package/dist/utils/systemPromptNotes.d.ts +17 -20
  89. package/dist/utils/systemPromptNotes.js +22 -24
  90. package/dist/utils/systemPromptNotes.js.map +1 -1
  91. package/dist/utils/untrustedText.d.ts +24 -4
  92. package/dist/utils/untrustedText.js +25 -4
  93. package/dist/utils/untrustedText.js.map +1 -1
  94. package/package.json +4 -4
  95. package/schema/gsloth-config.schema.json +0 -1
@@ -137,13 +137,22 @@ export declare class ShellNegotiationState {
137
137
  * **The round is appended BEFORE either bound is tested**, so the rating that escalates is itself
138
138
  * on the transcript the human sees. §5.6's escalation example turns on this: what matters on the
139
139
  * screen is that the agent proposed the same command three times, and the third proposal is the
140
- * one being escalated.
140
+ * one being escalated. {@link renderNegotiationRows} marks that last round as the pending request
141
+ * rather than as a prior one, which is the half of this the reader needs and cannot derive.
141
142
  */
142
143
  recordRejection(round: RaterNegotiationRound): NegotiationVerdict;
143
144
  /**
144
145
  * §5.3 — a tool call the gate let through. Resets the consecutive counter **and clears the
145
146
  * transcript with it**; the reachability bound is deliberately untouched.
146
147
  *
148
+ * **What it must NOT truncate is the human's record of how hard the agent pushed.** The counter's
149
+ * reset is §5.3's and is sound; the reader at an escalation is asking a different question, and
150
+ * the answer to theirs is {@link NegotiationCounters.rejectionsSinceHuman}, which this leaves
151
+ * standing. {@link renderNegotiationRows} reports that count rather than the surviving rounds, so
152
+ * an argument this erased is still declared even though its rounds are gone; every erased round
153
+ * itself survives whole in [[TUI-C27]]'s archive, which captures per RATING CALL and so is not
154
+ * truncated by anything here.
155
+ *
147
156
  * **"Approved" is what the gate can observe, and it is not quite §5.3's "successful".** The
148
157
  * decision site sees whether a call was allowed to run, never whether it then exited zero — and
149
158
  * the honest alternatives were worse: a tool-result stream carries the *rejected* call's own
@@ -190,6 +199,10 @@ export declare class ShellNegotiationState {
190
199
  * was rejected"* and *"the call was the third consecutive rejection, so the next one goes to a
191
200
  * person"* are different facts, and a bug report carrying only the first invites the wrong
192
201
  * conclusion about why a session started interrupting.
202
+ *
203
+ * **`rejectionsSinceHuman` is also what the escalation prompt COUNTS**, and that is the one place
204
+ * it faces a person rather than a debugging archive. It is read at the escalation site before
205
+ * {@link humanReached} spends it; reading it after would report zero.
193
206
  */
194
207
  counters(): NegotiationCounters;
195
208
  /** Drop everything, including the user messages — the TUI's `/clear` rotates the thread. */
@@ -211,6 +224,31 @@ export interface NegotiationRow {
211
224
  voice: NegotiationVoice;
212
225
  text: string;
213
226
  }
227
+ /**
228
+ * Terminal rows one element of a round — the command, the justification, the rater's answer — may
229
+ * occupy on a screen before the rest of it is elided.
230
+ *
231
+ * **MEASURED, and it is the height bound this block needs rather than a cap on rounds.** At 80
232
+ * columns three rounds of paragraph-length argument cost 37 rows, of which one round was 12; the
233
+ * whole prompt was 64 rows against a 20-row budget, so the human saw the command and the verdict
234
+ * and neither the later rounds nor the menu line. A cap on the NUMBER of rounds would have changed
235
+ * none of that — §5.3 already bounds the transcript at
236
+ * {@link MAX_CONSECUTIVE_REJECTIONS} — because the cost is per row, not per round. Bounding each
237
+ * element keeps every round structurally on the screen, which is what §5.6 calls the most important
238
+ * thing on it, and pays for it out of the tail of a paragraph the reader was never going to need in
239
+ * full: the archive keeps every round whole ([[TUI-C27]]'s capture is per rating call).
240
+ *
241
+ * Two rather than one so a wrapped command keeps the continuation that shows how it differs from
242
+ * the round above it — the comparison the block exists to make.
243
+ */
244
+ export declare const NEGOTIATION_MAX_ROWS_PER_ELEMENT = 2;
245
+ /**
246
+ * Rounds a screen shows, newest last. A backstop rather than today's binding constraint: §5.3
247
+ * escalates at {@link MAX_CONSECUTIVE_REJECTIONS}, so a transcript reaching a human is never longer
248
+ * than this — and an unscrollable prompt must not acquire an unbounded section the moment that
249
+ * number is raised. What is dropped is said out loud in the heading, which carries the true count.
250
+ */
251
+ export declare const NEGOTIATION_MAX_ROUNDS_SHOWN = 3;
214
252
  /**
215
253
  * §6/§5.4 — render a negotiation for the human being asked to rule on it, one terminal row per
216
254
  * element, each tagged with the voice speaking it.
@@ -233,9 +271,46 @@ export interface NegotiationRow {
233
271
  * A wrapped row keeps the voice of the row it continues. A continuation painted as chrome would put
234
272
  * the rater's words in the agent's colour at exactly the width where a long argument is hardest to
235
273
  * read, which is the confusion §5.4 exists to remove.
274
+ *
275
+ * ## The three things this block must not get wrong about its own exchange
276
+ *
277
+ * Every label here sits over data that is already correct, so a label that lies does so silently —
278
+ * and each of these lied toward approving, at the moment a human was deciding whether to overrule
279
+ * a refusal.
280
+ *
281
+ * - **`attempts` is the count, and it is not `rounds.length`.** §5.3 clears the transcript on an
282
+ * approved call, so the rounds handed over are the attempts since the last *approval*, while the
283
+ * fact the reader is weighing is how hard the agent pushed since the last *human* — the caller's
284
+ * `rejectionsSinceHuman`. A measured escalation attempted the same command five times and
285
+ * rendered three. Omit it and this falls back to `rounds.length`, which is the honest reading of
286
+ * a caller that has no better number rather than a claim that none were erased.
287
+ * - **The last round IS the pending rating, not a prior one.** {@link
288
+ * ShellNegotiationState.recordRejection} appends before either bound is tested, deliberately, so
289
+ * that the rating being escalated is on the transcript the human sees. The old heading called
290
+ * them all prior rounds, which both under-reported the argument and put the pending command on
291
+ * the screen twice with nothing saying they were the same call.
292
+ * - **The first round was rated on the command alone.** A cleared transcript IS the round-1 case
293
+ * (see {@link ShellNegotiationState.contextFor}), so §5.1 withheld the justification and the user
294
+ * messages from that rating — while {@link ShellNegotiationState.recordRejection} stores the
295
+ * justification the agent supplied whatever the round. Printed unmarked, the round reads as a
296
+ * rater brushing past a direct answer to its own objection, which is the opposite of what
297
+ * happened and makes the rater look stubborn exactly where the reader is deciding whether to
298
+ * overrule it. The withholding is correct and is not what this marks. The same marker answers
299
+ * *"were the user's own words in view when this was rated?"* — a justification claiming the user
300
+ * asked for a command is exactly what a round-1 rating cannot check, and the user's messages are
301
+ * several rows on a surface with none to spare.
302
+ *
303
+ * **The prompt this feeds does not scroll and nothing else on it can give up rows**, so the height
304
+ * bound is {@link NEGOTIATION_MAX_ROWS_PER_ELEMENT} and every fact above is carried by a row that
305
+ * already exists.
236
306
  */
237
307
  export declare function renderNegotiationRows(rounds: readonly RaterNegotiationRound[], options?: {
238
308
  width?: number;
309
+ /**
310
+ * Rejected attempts since a human was last involved — `rejectionsSinceHuman` from {@link
311
+ * ShellNegotiationState.counters}, read BEFORE the escalation spends it.
312
+ */
313
+ attempts?: number;
239
314
  }): NegotiationRow[];
240
315
  /**
241
316
  * The same transcript as one string, for a consumer with no screen to lay it out on: §6.2's
@@ -245,5 +320,9 @@ export declare function renderNegotiationRows(rounds: readonly RaterNegotiationR
245
320
  * Defined as {@link renderNegotiationRows} joined, so the string and the rows can never come to
246
321
  * describe one exchange two ways — the whole reason there is one renderer and two surfaces.
247
322
  * `null` when there is nothing to show.
323
+ *
324
+ * `attempts` carries the same fact it carries on a screen. It is the one thing a caller must pass
325
+ * for this message to be true, because the count it defaults to is the one an approved call
326
+ * truncated.
248
327
  */
249
- export declare function renderNegotiationTranscript(rounds: readonly RaterNegotiationRound[]): string | null;
328
+ export declare function renderNegotiationTranscript(rounds: readonly RaterNegotiationRound[], attempts?: number): string | null;
@@ -153,7 +153,8 @@ export class ShellNegotiationState {
153
153
  * **The round is appended BEFORE either bound is tested**, so the rating that escalates is itself
154
154
  * on the transcript the human sees. §5.6's escalation example turns on this: what matters on the
155
155
  * screen is that the agent proposed the same command three times, and the third proposal is the
156
- * one being escalated.
156
+ * one being escalated. {@link renderNegotiationRows} marks that last round as the pending request
157
+ * rather than as a prior one, which is the half of this the reader needs and cannot derive.
157
158
  */
158
159
  recordRejection(round) {
159
160
  this.rounds.push(round);
@@ -169,6 +170,14 @@ export class ShellNegotiationState {
169
170
  * §5.3 — a tool call the gate let through. Resets the consecutive counter **and clears the
170
171
  * transcript with it**; the reachability bound is deliberately untouched.
171
172
  *
173
+ * **What it must NOT truncate is the human's record of how hard the agent pushed.** The counter's
174
+ * reset is §5.3's and is sound; the reader at an escalation is asking a different question, and
175
+ * the answer to theirs is {@link NegotiationCounters.rejectionsSinceHuman}, which this leaves
176
+ * standing. {@link renderNegotiationRows} reports that count rather than the surviving rounds, so
177
+ * an argument this erased is still declared even though its rounds are gone; every erased round
178
+ * itself survives whole in [[TUI-C27]]'s archive, which captures per RATING CALL and so is not
179
+ * truncated by anything here.
180
+ *
172
181
  * **"Approved" is what the gate can observe, and it is not quite §5.3's "successful".** The
173
182
  * decision site sees whether a call was allowed to run, never whether it then exited zero — and
174
183
  * the honest alternatives were worse: a tool-result stream carries the *rejected* call's own
@@ -236,6 +245,10 @@ export class ShellNegotiationState {
236
245
  * was rejected"* and *"the call was the third consecutive rejection, so the next one goes to a
237
246
  * person"* are different facts, and a bug report carrying only the first invites the wrong
238
247
  * conclusion about why a session started interrupting.
248
+ *
249
+ * **`rejectionsSinceHuman` is also what the escalation prompt COUNTS**, and that is the one place
250
+ * it faces a person rather than a debugging archive. It is read at the escalation site before
251
+ * {@link humanReached} spends it; reading it after would report zero.
239
252
  */
240
253
  counters() {
241
254
  return {
@@ -262,6 +275,31 @@ export class ShellNegotiationState {
262
275
  * rest: a continuation cannot be read as a turn that was never taken, whatever it contains.
263
276
  */
264
277
  const CONTINUATION_PREFIX = ' ┊ ';
278
+ /**
279
+ * Terminal rows one element of a round — the command, the justification, the rater's answer — may
280
+ * occupy on a screen before the rest of it is elided.
281
+ *
282
+ * **MEASURED, and it is the height bound this block needs rather than a cap on rounds.** At 80
283
+ * columns three rounds of paragraph-length argument cost 37 rows, of which one round was 12; the
284
+ * whole prompt was 64 rows against a 20-row budget, so the human saw the command and the verdict
285
+ * and neither the later rounds nor the menu line. A cap on the NUMBER of rounds would have changed
286
+ * none of that — §5.3 already bounds the transcript at
287
+ * {@link MAX_CONSECUTIVE_REJECTIONS} — because the cost is per row, not per round. Bounding each
288
+ * element keeps every round structurally on the screen, which is what §5.6 calls the most important
289
+ * thing on it, and pays for it out of the tail of a paragraph the reader was never going to need in
290
+ * full: the archive keeps every round whole ([[TUI-C27]]'s capture is per rating call).
291
+ *
292
+ * Two rather than one so a wrapped command keeps the continuation that shows how it differs from
293
+ * the round above it — the comparison the block exists to make.
294
+ */
295
+ export const NEGOTIATION_MAX_ROWS_PER_ELEMENT = 2;
296
+ /**
297
+ * Rounds a screen shows, newest last. A backstop rather than today's binding constraint: §5.3
298
+ * escalates at {@link MAX_CONSECUTIVE_REJECTIONS}, so a transcript reaching a human is never longer
299
+ * than this — and an unscrollable prompt must not acquire an unbounded section the moment that
300
+ * number is raised. What is dropped is said out loud in the heading, which carries the true count.
301
+ */
302
+ export const NEGOTIATION_MAX_ROUNDS_SHOWN = 3;
265
303
  /**
266
304
  * §6/§5.4 — render a negotiation for the human being asked to rule on it, one terminal row per
267
305
  * element, each tagged with the voice speaking it.
@@ -284,37 +322,128 @@ const CONTINUATION_PREFIX = ' ┊ ';
284
322
  * A wrapped row keeps the voice of the row it continues. A continuation painted as chrome would put
285
323
  * the rater's words in the agent's colour at exactly the width where a long argument is hardest to
286
324
  * read, which is the confusion §5.4 exists to remove.
325
+ *
326
+ * ## The three things this block must not get wrong about its own exchange
327
+ *
328
+ * Every label here sits over data that is already correct, so a label that lies does so silently —
329
+ * and each of these lied toward approving, at the moment a human was deciding whether to overrule
330
+ * a refusal.
331
+ *
332
+ * - **`attempts` is the count, and it is not `rounds.length`.** §5.3 clears the transcript on an
333
+ * approved call, so the rounds handed over are the attempts since the last *approval*, while the
334
+ * fact the reader is weighing is how hard the agent pushed since the last *human* — the caller's
335
+ * `rejectionsSinceHuman`. A measured escalation attempted the same command five times and
336
+ * rendered three. Omit it and this falls back to `rounds.length`, which is the honest reading of
337
+ * a caller that has no better number rather than a claim that none were erased.
338
+ * - **The last round IS the pending rating, not a prior one.** {@link
339
+ * ShellNegotiationState.recordRejection} appends before either bound is tested, deliberately, so
340
+ * that the rating being escalated is on the transcript the human sees. The old heading called
341
+ * them all prior rounds, which both under-reported the argument and put the pending command on
342
+ * the screen twice with nothing saying they were the same call.
343
+ * - **The first round was rated on the command alone.** A cleared transcript IS the round-1 case
344
+ * (see {@link ShellNegotiationState.contextFor}), so §5.1 withheld the justification and the user
345
+ * messages from that rating — while {@link ShellNegotiationState.recordRejection} stores the
346
+ * justification the agent supplied whatever the round. Printed unmarked, the round reads as a
347
+ * rater brushing past a direct answer to its own objection, which is the opposite of what
348
+ * happened and makes the rater look stubborn exactly where the reader is deciding whether to
349
+ * overrule it. The withholding is correct and is not what this marks. The same marker answers
350
+ * *"were the user's own words in view when this was rated?"* — a justification claiming the user
351
+ * asked for a command is exactly what a round-1 rating cannot check, and the user's messages are
352
+ * several rows on a surface with none to spare.
353
+ *
354
+ * **The prompt this feeds does not scroll and nothing else on it can give up rows**, so the height
355
+ * bound is {@link NEGOTIATION_MAX_ROWS_PER_ELEMENT} and every fact above is carried by a row that
356
+ * already exists.
287
357
  */
288
358
  export function renderNegotiationRows(rounds, options) {
289
359
  if (rounds.length === 0)
290
360
  return [];
361
+ const width = options?.width;
362
+ // A screen shows the newest rounds; a consumer with no screen (§6.2's exception message) shows
363
+ // them all, for the same reason it is handed no width.
364
+ const shown = width === undefined ? rounds : rounds.slice(-NEGOTIATION_MAX_ROUNDS_SHOWN);
365
+ // Never fewer attempts than rounds on the screen: a caller that passes a stale or smaller number
366
+ // must not be able to make this block claim less argument than it is about to print.
367
+ const attempts = Math.max(options?.attempts ?? rounds.length, rounds.length);
368
+ // The shown rounds are the most recent ones, so they are attempts `attempts - shown + 1` … N.
369
+ // Numbering them by their true attempt number is what stops the heading's count and the rounds
370
+ // beneath it describing two different exchanges.
371
+ const firstNumber = attempts - shown.length + 1;
372
+ // How many of the transcript's own rounds this screen had to drop, so a marker keyed on a
373
+ // POSITION IN THE TRANSCRIPT (round one, the pending round) stays keyed on it after the slice.
374
+ const dropped = rounds.length - shown.length;
291
375
  const rows = [
292
376
  {
293
377
  voice: 'chrome',
294
- text: `The agent argued with the auto-rater ${rounds.length} ${rounds.length === 1 ? 'time' : 'times'} before this:`,
378
+ text: attempts > shown.length
379
+ ? `The agent argued with the auto-rater ${attempts} times; the last ${shown.length} of them:`
380
+ : `The agent argued with the auto-rater ${attempts} ${attempts === 1 ? 'time' : 'times'}:`,
295
381
  },
296
382
  ];
297
- rounds.forEach((round, index) => {
298
- rows.push({ voice: 'agent', text: ` Round ${index + 1}: ${oneLine(round.command)}` });
383
+ shown.forEach((round, index) => {
384
+ // **Each marker rides the row whose reading it corrects, and no other.** Put on the `Round`
385
+ // row they would be paid for in the one thing that row is for — the command, and how it
386
+ // compares with the round above it — which at a narrow width is most of what fits on it.
387
+ const pending = dropped + index === rounds.length - 1 ? ' (this request)' : '';
388
+ // A cleared transcript IS the round-1 case, so the transcript's FIRST round is the one §5.1
389
+ // rated on the command alone. Derived from the position rather than carried on the round
390
+ // because it is a property of the transcript, not of the rating — but that makes it a fact a
391
+ // reset could quietly invalidate, so it is pinned against a real run rather than by reading.
392
+ const roundOne = dropped + index === 0;
393
+ rows.push({
394
+ voice: 'agent',
395
+ text: ` Round ${firstNumber + index}${pending}: ${oneLine(round.command)}`,
396
+ });
299
397
  const justification = round.justification?.trim();
300
398
  if (justification) {
301
- rows.push({ voice: 'agent', text: ` agent justified: ${oneLine(justification)}` });
399
+ rows.push({
400
+ voice: 'agent',
401
+ text: ` agent justified${roundOne ? ' (not shown to the rater)' : ''}: ${oneLine(justification)}`,
402
+ });
302
403
  }
303
404
  const reason = round.reason.trim();
304
405
  rows.push({
305
406
  voice: 'rater',
306
- text: ` rater answered: ${round.outcome}${reason ? ` — ${oneLine(reason)}` : ''}`,
407
+ text: ` rater answered${roundOne ? ' (on the command alone)' : ''}: ${round.outcome}${reason ? ` — ${oneLine(reason)}` : ''}`,
307
408
  });
308
409
  });
309
- const width = options?.width;
310
410
  if (width === undefined)
311
411
  return rows;
312
412
  return rows.flatMap((row) => wrapRow(row, width));
313
413
  }
314
- /** One logical row as the terminal rows it needs, continuations marked and voice preserved. */
414
+ /**
415
+ * One logical row as the terminal rows it needs, continuations marked and voice preserved — and
416
+ * never more than {@link NEGOTIATION_MAX_ROWS_PER_ELEMENT} of them.
417
+ *
418
+ * The elision is stated on the last row it keeps rather than on one of its own: a row spent saying
419
+ * a row was dropped saves nothing on a surface whose whole problem is rows.
420
+ */
315
421
  function wrapRow(row, width) {
316
422
  const budget = Math.max(MIN_CONTENT_WIDTH, width - maxDisplayWidth(CONTINUATION_PREFIX));
317
- const [head, ...rest] = wrapToWidth(row.text, budget);
423
+ const lines = wrapToWidth(row.text, budget);
424
+ // **The heading WRAPS but is never clamped, and the distinction is the same one
425
+ // `approvalStop`'s rows make**: the row bound exists to stop agent-authored prose spending a
426
+ // screen that cannot scroll, and the heading is this renderer's own sentence — nothing can forge
427
+ // it, so it may wrap like ordinary prose, and clamping it buys nothing. It costs, though: the
428
+ // heading is where the attempt count lives, and at {@link MIN_FRAME_WIDTH} a clamp lands inside
429
+ // the number, deleting the single most decision-relevant fact on the block to save one row.
430
+ const kept = row.voice === 'chrome' ? [...lines] : lines.slice(0, NEGOTIATION_MAX_ROWS_PER_ELEMENT);
431
+ const hidden = lines.length - kept.length;
432
+ if (hidden > 0 && kept.length > 0) {
433
+ const marker = ` … +${hidden} ${hidden === 1 ? 'row' : 'rows'}`;
434
+ const last = kept.length - 1;
435
+ // **The marker is the fact; the tail of the sentence it truncates is not.** On a frame too
436
+ // narrow to hold both, the content gives way rather than the row overrunning — and the joined
437
+ // row is re-bound afterwards, because `wrapToWidth` can only bind text it was given, and it was
438
+ // never given these two pieces joined. A row measured as fitting that does not fit is a row the
439
+ // terminal wraps back to column 0, which is the one thing every row here is bound to prevent.
440
+ const room = budget - maxDisplayWidth(marker);
441
+ const head = room >= MIN_CONTENT_WIDTH ? (wrapToWidth(kept[last], room)[0] ?? '') : '';
442
+ const composed = `${head}${marker}`;
443
+ kept[last] =
444
+ maxDisplayWidth(composed) <= budget ? composed : (wrapToWidth(composed, budget)[0] ?? '');
445
+ }
446
+ const [head, ...rest] = kept;
318
447
  return [
319
448
  { voice: row.voice, text: head },
320
449
  ...rest.map((text) => ({ voice: row.voice, text: `${CONTINUATION_PREFIX}${text}` })),
@@ -328,9 +457,13 @@ function wrapRow(row, width) {
328
457
  * Defined as {@link renderNegotiationRows} joined, so the string and the rows can never come to
329
458
  * describe one exchange two ways — the whole reason there is one renderer and two surfaces.
330
459
  * `null` when there is nothing to show.
460
+ *
461
+ * `attempts` carries the same fact it carries on a screen. It is the one thing a caller must pass
462
+ * for this message to be true, because the count it defaults to is the one an approved call
463
+ * truncated.
331
464
  */
332
- export function renderNegotiationTranscript(rounds) {
333
- const rows = renderNegotiationRows(rounds);
465
+ export function renderNegotiationTranscript(rounds, attempts) {
466
+ const rows = renderNegotiationRows(rounds, attempts === undefined ? undefined : { attempts });
334
467
  if (rows.length === 0)
335
468
  return null;
336
469
  return rows.map((row) => row.text).join('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"negotiation.js","sourceRoot":"","sources":["../../../src/core/shell/negotiation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"negotiation.js","sourceRoot":"","sources":["../../../src/core/shell/negotiation.ts"],"names":[],"mappings":"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"}
@@ -40,34 +40,14 @@ import * as z from 'zod';
40
40
  import type { ApprovalRung, GrantedToolSummary, GthConfig } from '#src/config.js';
41
41
  import type { EffectiveToolAnnotations } from '#src/core/approvals/matcher.js';
42
42
  import { type RaterCallCapture } from '#src/core/shell/approvalCapture.js';
43
+ import type { PreflightFloorKind, RaterAction, RaterOutcome } from '#src/core/shell/raterVocabulary.js';
43
44
  /**
44
- * CFG-28 (spec §4.1) the **four** outcomes the rater may return. The retired third outcome named
45
- * the halt trigger by *mechanism* while positioning it as the top *severity*; the rescale (§11.1)
46
- * splits that into two outcomes asking two different questions. There is no
47
- * ordering knob and no threshold: each outcome's consequence is fixed by the rung
48
- * ({@link mapVerdictToAction}).
49
- *
50
- * - `safe` — no harmful effect.
51
- * - `destructive` — **the catch-all**: harmful, but recoverable from inside the session, and not
52
- * an attack — **and anything the rater cannot assess**. The rating prompt defines it *by
53
- * exclusion* ("not safe, not catastrophic and not an attack") precisely so no command can fall
54
- * outside the four.
55
- * - `catastrophic` — *can this be undone from inside the session?* Irreversible without something
56
- * OUTSIDE the session: rescue media, a backup, a re-provision, a restore from a third party.
57
- * Escalates at both rated rungs; never negotiable and never sticky (§4.2).
58
- * - `attack` — *is something hostile acting here?* The command's own **structure** evidences
59
- * compromise (§4.1.1: credential targeting, privilege escalation / permission weakening,
60
- * persistence, deception, obfuscation). It is the only outcome that HALTS the run.
61
- *
62
- * **`catastrophic` and `attack` are not ranked against each other** — they ask different
63
- * questions, and the spec says so explicitly. A command can be both; `attack` wins the
64
- * *consequence* (a manipulated session cannot be trusted to continue) but MUST NOT swallow the
65
- * finding — see the §6.1 clause in {@link buildRaterSystemPrompt}. Nothing here may be written as
66
- * a severity comparison between the two.
67
- */
68
- export declare const RATER_OUTCOMES: readonly ['safe', 'destructive', 'catastrophic', 'attack'];
69
- /** One outcome of {@link RATER_OUTCOMES}. */
70
- export type RaterOutcome = (typeof RATER_OUTCOMES)[number];
45
+ * The gate's closed vocabularies are defined in {@link ./raterVocabulary.js} a leaf module with no
46
+ * imports, so a checker can read the words without loading this file's model layer. They are
47
+ * re-exported here, where their meaning lives, so a caller needs only one import either way.
48
+ */
49
+ export { PREFLIGHT_FLOOR_KINDS, RATER_ACTIONS, RATER_OUTCOMES, } from '#src/core/shell/raterVocabulary.js';
50
+ export type { PreflightFloorKind, RaterAction, RaterOutcome, } from '#src/core/shell/raterVocabulary.js';
71
51
  /**
72
52
  * Structured verdict the rater model must return: one outcome plus one short sentence. There is
73
53
  * deliberately nothing else — no severity number, no booleans to recombine into a compound
@@ -699,46 +679,6 @@ export declare function rateShellCommand(command: string, config: GthConfig, opt
699
679
  /** [[TUI-C27]] — `approvals.rater`, recorded on the capture so a dump names WHO rated. */
700
680
  raterProfile?: string;
701
681
  }): Promise<ShellSafetyVerdict>;
702
- /**
703
- * The action the approvals gate resolves to for a single gated call, BEFORE the human prompt.
704
- *
705
- * - `approve` — approve ONCE; do not touch the human or the allow-list.
706
- * - `escalate` — fall through to the human approval callback, carrying the verdict when one
707
- * exists. Where there is no human, §6.2 turns this into an immediate non-zero exit — that
708
- * translation belongs to the runner, not here.
709
- * - `halt` — **end the agent loop** (§4.2). Reserved for `attack`. It is not a rejection the
710
- * model can respond to and offers it no moves; no rung except `bypass` can turn it into
711
- * anything else.
712
- * - `reject` — [[EXT-29]] (§5): hand the rater's explanation back to the **agent** as the refused
713
- * call's tool result (§7), opening a round of the negotiation. Returned for `destructive` at
714
- * `auto` and nowhere else.
715
- *
716
- * **`reject` says the outcome is negotiable, NOT that the negotiation may continue.** This mapping
717
- * is keyed on the rung and knows nothing about how many rounds have been spent; §5.3's consecutive
718
- * cap and the reachability bound live with the state they count, in the runner, which turns a
719
- * `reject` into an escalation once either is spent. Putting the counters in here would make a pure
720
- * rung-keyed table depend on session history, and would give the eval target
721
- * (`@gaunt-sloth/batch`'s `raterTarget`) an action that varies with something it does not model.
722
- *
723
- * **[[EXT-81]] retired the fourth arm, `abstain`.** A command whose target the gate could not
724
- * statically resolve used to skip the rating call entirely and return that action instead. Under
725
- * §6.1's rule — *deterministic checks fire only where we are confident something is a threat; where
726
- * we cannot tell, the model decides* — a parser reporting that it could not resolve a string is not
727
- * a detection, so it no longer earns an action of its own. What it earns is a neutral note in the
728
- * rating prompt ({@link buildParserPreflightNote}) and a real rating, which is also what restores
729
- * the ceiling: `catastrophic` and `attack` were UNREACHABLE for that whole class while nobody rated
730
- * it, so `pwd && rm -rf ~` could only ever be floored at `destructive`.
731
- *
732
- * There is deliberately **no `refuse` arm for `catastrophic`** (settled 2026-07-27c, §4.2). The
733
- * deterministic members of that class — fork bomb, `mkfs`, `rm -rf /`, `dd` to a block device — are
734
- * already refused unappealably by the §8 hardline floor under every rung including `bypass`, so a
735
- * refusing `catastrophic` would add nothing for the commands that motivate the idea. What it would
736
- * newly refuse is the remainder the floor cannot reach, every member of which has routine
737
- * legitimate use (a staging database, an ephemeral `terraform destroy`, a preview namespace). An
738
- * unmeasured classifier belongs behind a human who can correct it; a refusal has no correction
739
- * path.
740
- */
741
- export type RaterAction = 'approve' | 'escalate' | 'halt' | 'reject';
742
682
  /** Inputs to the decision mapping: just the rung. Each rung fully determines behaviour (§1). */
743
683
  export interface RaterDecisionOptions {
744
684
  /** The rung in force for this session. */
@@ -822,8 +762,6 @@ export declare function applyDestructiveFloor(verdict: ShellSafetyVerdict | unde
822
762
  * the same direction as the fail-closed default it would otherwise have returned.
823
763
  */
824
764
  export declare function openWorldToolFloorReason(annotations: EffectiveToolAnnotations | undefined): string | null;
825
- /** Which of the two deterministic preflights fired. See {@link preflightFloorFinding}. */
826
- export type PreflightFloorKind = 'script-env-leak' | 'open-world';
827
765
  /** A preflight finding: which arm fired, and the reason it floors the command with. */
828
766
  export interface PreflightFloorFinding {
829
767
  kind: PreflightFloorKind;
@@ -45,34 +45,15 @@ import { buildParserPreflightNote } from '#src/core/shell/abstention.js';
45
45
  import { describeRaterNegotiation, raterModelLabel, } from '#src/core/shell/approvalCapture.js';
46
46
  import { normalizeCommand } from '#src/core/shell/normalize.js';
47
47
  import { buildComposedOpenWorldNote, findOpenWorldHostLiterals, } from '#src/core/shell/openWorld.js';
48
+ import { RATER_OUTCOMES } from '#src/core/shell/raterVocabulary.js';
48
49
  import { structuredOutputBoundary } from '#src/runtime/structuredOutput.js';
49
50
  import { debugLog, debugLogError } from '#src/utils/debugUtils.js';
50
51
  /**
51
- * CFG-28 (spec §4.1) the **four** outcomes the rater may return. The retired third outcome named
52
- * the halt trigger by *mechanism* while positioning it as the top *severity*; the rescale (§11.1)
53
- * splits that into two outcomes asking two different questions. There is no
54
- * ordering knob and no threshold: each outcome's consequence is fixed by the rung
55
- * ({@link mapVerdictToAction}).
56
- *
57
- * - `safe` — no harmful effect.
58
- * - `destructive` — **the catch-all**: harmful, but recoverable from inside the session, and not
59
- * an attack — **and anything the rater cannot assess**. The rating prompt defines it *by
60
- * exclusion* ("not safe, not catastrophic and not an attack") precisely so no command can fall
61
- * outside the four.
62
- * - `catastrophic` — *can this be undone from inside the session?* Irreversible without something
63
- * OUTSIDE the session: rescue media, a backup, a re-provision, a restore from a third party.
64
- * Escalates at both rated rungs; never negotiable and never sticky (§4.2).
65
- * - `attack` — *is something hostile acting here?* The command's own **structure** evidences
66
- * compromise (§4.1.1: credential targeting, privilege escalation / permission weakening,
67
- * persistence, deception, obfuscation). It is the only outcome that HALTS the run.
68
- *
69
- * **`catastrophic` and `attack` are not ranked against each other** — they ask different
70
- * questions, and the spec says so explicitly. A command can be both; `attack` wins the
71
- * *consequence* (a manipulated session cannot be trusted to continue) but MUST NOT swallow the
72
- * finding — see the §6.1 clause in {@link buildRaterSystemPrompt}. Nothing here may be written as
73
- * a severity comparison between the two.
52
+ * The gate's closed vocabularies are defined in {@link ./raterVocabulary.js} a leaf module with no
53
+ * imports, so a checker can read the words without loading this file's model layer. They are
54
+ * re-exported here, where their meaning lives, so a caller needs only one import either way.
74
55
  */
75
- export const RATER_OUTCOMES = ['safe', 'destructive', 'catastrophic', 'attack'];
56
+ export { PREFLIGHT_FLOOR_KINDS, RATER_ACTIONS, RATER_OUTCOMES, } from '#src/core/shell/raterVocabulary.js';
76
57
  /**
77
58
  * Structured verdict the rater model must return: one outcome plus one short sentence. There is
78
59
  * deliberately nothing else — no severity number, no booleans to recombine into a compound
@@ -1 +1 @@
1
- {"version":3,"file":"rater.js","sourceRoot":"","sources":["../../../src/core/shell/rater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rater.js","sourceRoot":"","sources":["../../../src/core/shell/rater.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAGH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAGzB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIlF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,iGAAiG;AACjG,gGAAgG;AAChG,qCAAqC;AACrC,OAAO,EACL,wBAAwB,EAExB,eAAe,GAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAMpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEnE;;;;GAIG;AACH,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,cAAc,GACf,MAAM,oCAAoC,CAAC;AAO5C;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,CAAC;SACP,IAAI,CAAC,cAAc,CAAC;SACpB,QAAQ,CACP,+CAA+C;QAC7C,4BAA4B;QAC5B,sFAAsF;QACtF,yDAAyD;QACzD,oFAAoF;QACpF,wFAAwF;QACxF,sFAAsF;QACtF,SAAS,CACZ;IACH,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,CACP,0FAA0F;QACxF,8EAA8E;QAC9E,yFAAyF;QACzF,iEAAiE,CACpE;IACH,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,4FAA4F;QAC1F,0FAA0F;QAC1F,uFAAuF;QACvF,uFAAuF;QACvF,6BAA6B,CAChC;CACJ,CAAC,CAAC;AASH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,+BAA+B,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,kCAAkC,CAAC;AAE5E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,+BAA+B,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAuB;IACrD,OAAO,EAAE,aAAa;IACtB,MAAM,EAAE,GAAG,uBAAuB,yCAAyC;CAC5E,CAAC;AAmBF;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAsB,EAAE,SAAkB;IAC1E,MAAM,MAAM,GAAoC;QAC9C,UAAU,EAAE,+DAA+D;QAC3E,OAAO,EAAE,wCAAwC,SAAS,IAAI,wBAAwB,4JAA4J;QAClP,WAAW,EAAE,uEAAuE;QACpF,KAAK,EAAE,6BAA6B;KACrC,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,uBAAuB,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;AAC5F,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,OAAuC;IAClE,OAAO,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,uBAAuB,CAAC,KAAK,IAAI,CAAC;AACvE,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,cAAc,CAAC,OAAuC;IACpE,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,KAAK,IAAI,CAAC;AAC9F,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,mDAAmD;IACnD,2FAA2F;IAC3F,EAAE;IACF,sCAAsC;IACtC,sFAAsF;IACtF,yFAAyF;IACzF,wFAAwF;IACxF,gGAAgG;IAChG,+FAA+F;IAC/F,qCAAqC;CACtC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,iGAAiG;IACjG,gGAAgG;IAChG,qEAAqE;IACrE,+EAA+E;IAC/E,iGAAiG;IACjG,4FAA4F;IAC5F,iGAAiG;CAClG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,8FAA8F;IAC9F,kGAAkG;IAClG,0FAA0F;IAC1F,8FAA8F;IAC9F,kGAAkG;IAClG,uFAAuF;IACvF,6EAA6E;IAC7E,qEAAqE;IACrE,0FAA0F;IAC1F,+FAA+F;IAC/F,2FAA2F;IAC3F,6FAA6F;IAC7F,kEAAkE;IAClE,yFAAyF;IACzF,0EAA0E;IAC1E,8FAA8F;IAC9F,mBAAmB;IACnB,8FAA8F;IAC9F,iGAAiG;IACjG,gGAAgG;IAChG,6FAA6F;IAC7F,2FAA2F;IAC3F,EAAE;IACF,gGAAgG;IAChG,iGAAiG;IACjG,iGAAiG;IACjG,kGAAkG;IAClG,+FAA+F;IAC/F,EAAE;IACF,0FAA0F;IAC1F,gGAAgG;IAChG,+FAA+F;IAC/F,2EAA2E;CAC5E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,2EAA2E;IAC3E,oFAAoF;IACpF,iGAAiG;IACjG,+FAA+F;IAC/F,4DAA4D;IAC5D,iGAAiG;IACjG,+FAA+F;IAC/F,8FAA8F;IAC9F,+FAA+F;IAC/F,+FAA+F;IAC/F,mBAAmB;IACnB,6FAA6F;IAC7F,6FAA6F;IAC7F,gGAAgG;IAChG,gGAAgG;IAChG,qDAAqD;IACrD,iGAAiG;IACjG,yFAAyF;CAC1F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,yFAAyF;IACzF,uFAAuF;IACvF,4FAA4F;IAC5F,kGAAkG;IAClG,+FAA+F;IAC/F,6FAA6F;IAC7F,uBAAuB;IACvB,4FAA4F;IAC5F,4FAA4F;IAC5F,mGAAmG;IACnG,gGAAgG;IAChG,iGAAiG;IACjG,+FAA+F;IAC/F,kGAAkG;IAClG,2CAA2C;IAC3C,iGAAiG;IACjG,iEAAiE;IACjE,mGAAmG;IACnG,kGAAkG;CACnG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG;IACjD,iGAAiG;IACjG,mGAAmG;IACnG,uFAAuF;IACvF,EAAE;IACF,mGAAmG;IACnG,kGAAkG;IAClG,iFAAiF;IACjF,iGAAiG;IACjG,yEAAyE;IACzE,6FAA6F;IAC7F,gGAAgG;IAChG,8DAA8D;CAC/D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,yBAAyB,CACvC,YAAuD;IAEvD,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,OAAO;QACL,6FAA6F;QAC7F,qFAAqF;QACrF,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;QACpE,EAAE;QACF,2FAA2F;QAC3F,8FAA8F;QAC9F,iBAAiB;QACjB,4FAA4F;QAC5F,2FAA2F;QAC3F,+FAA+F;QAC/F,kDAAkD;QAClD,6FAA6F;QAC7F,6FAA6F;QAC7F,wCAAwC;KACzC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,sBAAsB,CACpC,YAA4C,EAC5C,OAAmE;IAEnE,MAAM,eAAe,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAChE,OAAO;QACL,qBAAqB;QACrB,EAAE;QACF,2FAA2F;QAC3F,cAAc;QACd,EAAE;QACF,yFAAyF;QACzF,uEAAuE;QACvE,EAAE;QACF,2BAA2B;QAC3B,EAAE;QACF,qBAAqB;QACrB,EAAE;QACF,+FAA+F;QAC/F,sEAAsE;QACtE,wBAAwB;QACxB,EAAE;QACF,+FAA+F;QAC/F,8FAA8F;QAC9F,gGAAgG;QAChG,4FAA4F;QAC5F,+FAA+F;QAC/F,sBAAsB;QACtB,EAAE;QACF,QAAQ;QACR,6FAA6F;QAC7F,uEAAuE;QACvE,+FAA+F;QAC/F,kBAAkB;QAClB,6FAA6F;QAC7F,wEAAwE;QACxE,0FAA0F;QAC1F,gGAAgG;QAChG,8FAA8F;QAC9F,sFAAsF;QACtF,4FAA4F;QAC5F,8FAA8F;QAC9F,8FAA8F;QAC9F,8FAA8F;QAC9F,iEAAiE;QACjE,wFAAwF;QACxF,8FAA8F;QAC9F,+BAA+B;QAC/B,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,wFAAwF;QACxF,GAAG,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,kCAAkC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,8FAA8F;QAC9F,kFAAkF;QAClF,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,mCAAmC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,iBAAyB;IAC5D,MAAM,YAAY,GAAG,oEAAoE,CAAC,IAAI,CAC5F,iBAAiB,CAClB,CAAC;IACF,IAAI,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC;IAChC,yFAAyF;IACzF,4FAA4F;IAC5F,MAAM,YAAY,GAChB,iDAAiD,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACzE,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACvC,IAAI,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC;IAChC,4FAA4F;IAC5F,6FAA6F;IAC7F,MAAM,YAAY,GAAG,yBAAyB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACvE,OAAO,YAAY,IAAI,YAAY,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,IAAwB;IACpE,IAAI,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC;IAC1B,4FAA4F;IAC5F,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AACtE,CAAC;AA6DD;;;GAGG;AACH,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAExC;;;;;GAKG;AACH,MAAM,kCAAkC,GAAG,IAAI,CAAC;AAEhD,+FAA+F;AAC/F,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,OAAe;IAC1C,IAAI,OAAO,CAAC,MAAM,IAAI,kCAAkC;QAAE,OAAO,OAAO,CAAC;IACzE,IAAI,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,kCAAkC,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC9F,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClD,IAAI,QAAQ,IAAI,MAAM,IAAI,QAAQ,IAAI,MAAM;QAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,IAAI,GAAG,oBAAoB,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,mGAAmG;AACnG,mGAAmG;AACnG,6FAA6F;AAC7F,MAAM,sBAAsB,GAAG,kDAAkD,CAAC;AAElF,4FAA4F;AAC5F,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,GAAW;IAC5D,6FAA6F;IAC7F,wFAAwF;IACxF,8EAA8E;IAC9E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IAC7E,OAAO,SAAS,CAAC,OAAO,CACtB,IAAI,MAAM,CAAC,aAAa,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,EAC1D,sBAAsB,GAAG,OAAO,CACjC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,IAAY,EAAE,GAAW,EAAE,IAAwB;IACxE,OAAO,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,UAAU,4BAA4B,CAC1C,WAAgD,EAChD,IAAa;IAEb,MAAM,gBAAgB,GAAG,WAAW,EAAE,aAAa,IAAI,EAAE,CAAC;IAC1D,8FAA8F;IAC9F,gGAAgG;IAChG,kGAAkG;IAClG,gGAAgG;IAChG,2FAA2F;IAC3F,wCAAwC;IACxC,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAC7C,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,aAAa,CAAC,gBAAgB,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,CAAC,WAAW,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3F,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,YAAY,IAAI,EAAE,CAAC;SACnD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACtC,KAAK,CAAC,CAAC,6BAA6B,CAAC;QACtC,+FAA+F;QAC/F,gFAAgF;SAC/E,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAExF,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpF,MAAM,KAAK,GAAa;QACtB,8FAA8F;KAC/F,CAAC;IACF,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CACR,EAAE,EACF,6CAA6C,EAC7C,iBAAiB,EACjB,aAAa,EACb,kBAAkB,CACnB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CACR,EAAE,EACF,8FAA8F,EAC9F,sBAAsB,CACvB,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,2FAA2F;YAC3F,8FAA8F;YAC9F,4BAA4B;YAC5B,MAAM,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;YACvF,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;YACzE,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC;YAC/C,IAAI,kBAAkB,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACvD,KAAK,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,uFAAuF;YACvF,wEAAwE;YACxE,KAAK,CAAC,IAAI,CACR,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;gBACnB,CAAC,CAAC,mBAAmB,KAAK,CAAC,OAAO,EAAE;gBACpC,CAAC,CAAC,mBAAmB,KAAK,CAAC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAC/D,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CACR,EAAE;QACF,8FAA8F;QAC9F,0FAA0F;QAC1F,0FAA0F;QAC1F,8FAA8F;QAC9F,qCAAqC;QACrC,sEAAsE;YACpE,GAAG,6BAA6B,oBAAoB,kCAAkC,GAAG;YACzF,cAAc,EAChB,iBAAiB,EACjB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,EAChD,kBAAkB,CACnB,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAe,EACf,OAwBC;IAED,MAAM,UAAU,GAAG,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACpD,6FAA6F;IAC7F,6FAA6F;IAC7F,MAAM,cAAc,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAE1D,kGAAkG;IAClG,mGAAmG;IACnG,mGAAmG;IACnG,gEAAgE;IAChE,EAAE;IACF,iGAAiG;IACjG,oGAAoG;IACpG,oGAAoG;IACpG,8FAA8F;IAC9F,8BAA8B;IAC9B,EAAE;IACF,8FAA8F;IAC9F,6FAA6F;IAC7F,kGAAkG;IAClG,sEAAsE;IACtE,EAAE;IACF,iGAAiG;IACjG,8FAA8F;IAC9F,oDAAoD;IACpD,MAAM,aAAa,GAAG,oBAAoB,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAE9E,MAAM,SAAS,GAAG;QAChB,8EAA8E;QAC9E,EAAE;QACF,uBAAuB;QACvB,aAAa;QACb,wBAAwB;KACzB,CAAC;IACF,IAAI,UAAU,EAAE,CAAC;QACf,SAAS,CAAC,IAAI,CACZ,EAAE,EACF,sFAAsF;YACpF,uFAAuF;YACvF,+DAA+D,CAClE,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,6FAA6F;QAC7F,+FAA+F;QAC/F,+FAA+F;QAC/F,8FAA8F;QAC9F,gDAAgD;QAChD,SAAS,CAAC,IAAI,CACZ,EAAE,EACF,8CAA8C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB;YACvF,mGAAmG;YACnG,uFAAuF;YACvF,2FAA2F;YAC3F,0FAA0F;YAC1F,4FAA4F;YAC5F,2CAA2C,CAC9C,CAAC;IACJ,CAAC;IACD,gGAAgG;IAChG,8FAA8F;IAC9F,0FAA0F;IAC1F,6DAA6D;IAC7D,MAAM,UAAU,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACjC,CAAC;IACD,8FAA8F;IAC9F,iGAAiG;IACjG,gGAAgG;IAChG,sCAAsC;IACtC,MAAM,YAAY,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IACnC,CAAC;IACD,kGAAkG;IAClG,+FAA+F;IAC/F,8FAA8F;IAC9F,8FAA8F;IAC9F,kEAAkE;IAClE,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3F,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC9B,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACvC,CAAC;IACD,OAAO;QACL,0FAA0F;QAC1F,+FAA+F;QAC/F,6FAA6F;QAC7F,6FAA6F;QAC7F,iGAAiG;QACjG,+FAA+F;QAC/F,8FAA8F;QAC9F,gGAAgG;QAChG,MAAM,EAAE,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE;YACpD,qBAAqB,EAAE,gBAAgB,KAAK,IAAI;YAChD,UAAU,EAAE,OAAO,EAAE,UAAU,KAAK,IAAI;SACzC,CAAC;QACF,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,qBAAqB,CAC5B,OAA2B,EAC3B,YAAuD;IAEvD,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAC3C,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAAE,OAAO,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,CAAC;IAClE,QAAQ,CAAC,6CAA6C,aAAa,yBAAyB,CAAC,CAAC;IAC9F,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAe,EACf,MAAiB,EACjB,OA0CC;IAED,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC;IAC3C,gGAAgG;IAChG,4FAA4F;IAC5F,uEAAuE;IACvE,iGAAiG;IACjG,8FAA8F;IAC9F,sFAAsF;IACtF,MAAM,SAAS,GACb,OAAO,EAAE,SAAS;QAClB,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,cAAc;QAClD,wBAAwB,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,OAAO,EAAE;QACjD,IAAI,EAAE,OAAO,EAAE,IAAI;QACnB,YAAY,EAAE,OAAO,EAAE,YAAY;QACnC,WAAW,EAAE,OAAO,EAAE,WAAW;QACjC,UAAU,EAAE,OAAO,EAAE,UAAU;KAChC,CAAC,CAAC;IAEH,+FAA+F;IAC/F,iGAAiG;IACjG,4DAA4D;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAiC,OAAO,EAAE,SAAS;QAC9D,CAAC,CAAC;YACE,EAAE,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;YACnC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,SAAS;YACT,UAAU,EAAE,OAAO,CAAC,UAAU,KAAK,IAAI;YACvC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;YACxB,WAAW,EAAE,wBAAwB,CAAC,OAAO,CAAC,WAAW,CAAC;SAC3D;QACH,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,OAAO;QAAE,OAAO,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;IAC3C,6EAA6E;IAC7E,MAAM,MAAM,GAAG,CAAC,OAA2B,EAAE,KAAuB,EAAsB,EAAE;QAC1F,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;YAC1C,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC1B,IAAI,KAAK;gBAAE,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;QACxC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,IAAI,KAAgD,CAAC;IACrD,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,oBAAoB,KAAK,UAAU,EAAE,CAAC;YAC/D,QAAQ,CAAC,uEAAuE,CAAC,CAAC;YAClF,OAAO,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;QAC3D,CAAC;QAED,+FAA+F;QAC/F,2FAA2F;QAC3F,MAAM,QAAQ,GAAG,wBAAwB,CAAC,wBAAwB,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE5F,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QACxC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,EAAE;YAC7D,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;QACjE,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACtB,QAAQ,CAAC,2CAA2C,SAAS,qBAAqB,CAAC,CAAC;YACpF,OAAO,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;QACpE,CAAC;QACD,+FAA+F;QAC/F,gGAAgG;QAChG,8DAA8D;QAC9D,IAAI,OAAO;YAAE,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzC,+FAA+F;QAC/F,yFAAyF;QACzF,8FAA8F;QAC9F,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,QAAQ,CAAC,sEAAsE,CAAC,CAAC;YACjF,OAAO,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,aAAa,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;YAAS,CAAC;QACT,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAqBD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,uBAAuB,GAA4C;IACvE,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,KAAK;IACnB,MAAM,EAAE,KAAK;CACd,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAqB;IAC3D,OAAO,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnG,CAAC;AAkCD,MAAM,UAAU,qBAAqB,CACnC,OAAuC,EACvC,MAAqB;IAErB,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IACpC,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACvF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,wBAAwB,CACtC,WAAiD;IAEjD,IAAI,WAAW,EAAE,aAAa,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACtD,OAAO,GAAG,yBAAyB,qBAAqB,0BAA0B,EAAE,CAAC;AACvF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,SAAS,oBAAoB,CAAC,OAAe;IAC3C,OAAO,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC;AACxD,CAAC;AAQD;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACpD,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,MAAM,EACJ,GAAG,uBAAuB,4DAA4D;gBACtF,mBAAmB;SACtB,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,8FAA8F;QAC9F,iGAAiG;QACjG,gGAAgG;QAChG,wFAAwF;QACxF,+EAA+E;QAC/E,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,GAAG,mBAAmB,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,0BAA0B,EAAE;SACtH,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,OAAuC,EACvC,IAA0B;IAE1B,gCAAgC;IAChC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IACxC,CAAC;IAED,wFAAwF;IACxF,iCAAiC;IACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACpD,CAAC;IAED,2FAA2F;IAC3F,kGAAkG;IAClG,0FAA0F;IAC1F,kGAAkG;IAClG,4FAA4F;IAC5F,gBAAgB;IAChB,MAAM,SAAS,GAAuB,qBAAqB,CACzD,OAAO,IAAI,mBAAmB,EAC9B,oBAAoB,CAAC,OAAO,CAAC,CAC9B,CAAC;IAEF,yEAAyE;IACzE,IAAI,SAAS,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAChD,CAAC;IAED,gGAAgG;IAChG,+FAA+F;IAC/F,4FAA4F;IAC5F,+FAA+F;IAC/F,2FAA2F;IAC3F,0BAA0B;IAC1B,IAAI,SAAS,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;QACzC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACpD,CAAC;IAED,4FAA4F;IAC5F,+FAA+F;IAC/F,8FAA8F;IAC9F,8FAA8F;IAC9F,gGAAgG;IAChG,iFAAiF;IACjF,IAAI,SAAS,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QACjC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACnD,CAAC;IAED,0FAA0F;IAC1F,EAAE;IACF,iGAAiG;IACjG,4FAA4F;IAC5F,kFAAkF;IAClF,EAAE;IACF,8FAA8F;IAC9F,8FAA8F;IAC9F,wBAAwB;IACxB,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAClD,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAAuC;IAEvC,MAAM,SAAS,GAAuB,OAAO,IAAI,mBAAmB,CAAC;IACrE,IAAI,SAAS,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAClF,IAAI,SAAS,CAAC,OAAO,KAAK,cAAc;QAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAC5F,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACnD,CAAC"}