@jrichman/ink 6.5.1-beta.3 → 6.5.1-beta.5

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 (70) hide show
  1. package/build/colorize.d.ts +2 -0
  2. package/build/colorize.js +24 -0
  3. package/build/colorize.js.map +1 -1
  4. package/build/debug-log.js +3 -2
  5. package/build/debug-log.js.map +1 -1
  6. package/build/index.d.ts +1 -1
  7. package/build/index.js +1 -1
  8. package/build/index.js.map +1 -1
  9. package/build/ink.js +3 -0
  10. package/build/ink.js.map +1 -1
  11. package/build/measure-text.d.ts +0 -1
  12. package/build/measure-text.js +8 -36
  13. package/build/measure-text.js.map +1 -1
  14. package/build/output.js +11 -15
  15. package/build/output.js.map +1 -1
  16. package/build/render-background.js +16 -4
  17. package/build/render-background.js.map +1 -1
  18. package/build/render-node-to-output.js +2 -0
  19. package/build/render-node-to-output.js.map +1 -1
  20. package/build/render-scrollbar.d.ts +1 -2
  21. package/build/render-scrollbar.js +14 -28
  22. package/build/render-scrollbar.js.map +1 -1
  23. package/build/render-text-node.js +14 -11
  24. package/build/render-text-node.js.map +1 -1
  25. package/build/selection.js +29 -44
  26. package/build/selection.js.map +1 -1
  27. package/build/styled-line.d.ts +13 -2
  28. package/build/styled-line.js +309 -75
  29. package/build/styled-line.js.map +1 -1
  30. package/build/text-wrap.d.ts +5 -0
  31. package/build/text-wrap.js +78 -92
  32. package/build/text-wrap.js.map +1 -1
  33. package/build/tokenize.d.ts +1 -1
  34. package/build/tokenize.js +2 -2
  35. package/build/tokenize.js.map +1 -1
  36. package/build/worker/canvas.d.ts +1 -1
  37. package/build/worker/canvas.js +4 -5
  38. package/build/worker/canvas.js.map +1 -1
  39. package/build/worker/compositor.js +9 -23
  40. package/build/worker/compositor.js.map +1 -1
  41. package/build/worker/terminal-writer.js +1 -2
  42. package/build/worker/terminal-writer.js.map +1 -1
  43. package/package.json +1 -1
  44. package/build/render-worker.d.ts +0 -25
  45. package/build/render-worker.js +0 -370
  46. package/build/render-worker.js.map +0 -1
  47. package/build/styled-lines.d.ts +0 -29
  48. package/build/styled-lines.js +0 -110
  49. package/build/styled-lines.js.map +0 -1
  50. package/build/terminal-writer.d.ts +0 -69
  51. package/build/terminal-writer.js +0 -546
  52. package/build/terminal-writer.js.map +0 -1
  53. package/build/web/ansi-to-css.d.ts +0 -16
  54. package/build/web/ansi-to-css.js +0 -147
  55. package/build/web/ansi-to-css.js.map +0 -1
  56. package/build/web/client.d.ts +0 -51
  57. package/build/web/client.js +0 -315
  58. package/build/web/client.js.map +0 -1
  59. package/build/web/server.d.ts +0 -1
  60. package/build/web/server.js +0 -179
  61. package/build/web/server.js.map +0 -1
  62. package/build/worker/dump-replay.d.ts +0 -1
  63. package/build/worker/dump-replay.js +0 -15
  64. package/build/worker/dump-replay.js.map +0 -1
  65. package/build/worker/replay.d.ts +0 -55
  66. package/build/worker/replay.js +0 -133
  67. package/build/worker/replay.js.map +0 -1
  68. package/build/wrap-text.d.ts +0 -6
  69. package/build/wrap-text.js +0 -120
  70. package/build/wrap-text.js.map +0 -1
@@ -1,52 +1,52 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
1
6
  import { FULL_WIDTH_MASK, INVERSE_MASK } from './tokenize.js';
7
+ const MAX_SAFE_OFFSET = 0x7f_ff;
2
8
  export class StyledLine {
3
9
  static empty(length) {
10
+ const safeLength = Math.min(length, MAX_SAFE_OFFSET);
11
+ if (safeLength <= 0) {
12
+ return new StyledLine();
13
+ }
14
+ const cached = StyledLine.emptyCache.get(safeLength);
15
+ if (cached) {
16
+ return cached.clone();
17
+ }
4
18
  const line = new StyledLine();
5
- line.length = length;
6
- line.text = ' '.repeat(length);
7
- line.charData = new Uint16Array(Math.max(length, 16));
8
- for (let i = 0; i < length; i++) {
19
+ line.length = safeLength;
20
+ line.text = ' '.repeat(safeLength);
21
+ line.charData = new Uint16Array(Math.max(safeLength, 16));
22
+ for (let i = 0; i < safeLength; i++) {
9
23
  line.charData[i] = i;
10
24
  }
11
- line.spans = length > 0 ? [{ length, formatFlags: 0 }] : [];
25
+ line.spans = [{ length: safeLength, formatFlags: 0 }];
26
+ if (StyledLine.emptyCache.size > 100) {
27
+ StyledLine.emptyCache.clear();
28
+ }
29
+ Object.freeze(line.spans[0]);
30
+ Object.freeze(line.spans);
31
+ Object.freeze(line);
32
+ StyledLine.emptyCache.set(safeLength, line);
33
+ return line.clone();
34
+ }
35
+ static legacyCreateStyledLine(values = [], spans = []) {
36
+ const line = new StyledLine();
37
+ line.applyValuesAndSpans(values, spans);
12
38
  return line;
13
39
  }
40
+ static emptyCache = new Map();
14
41
  length;
15
42
  text;
16
43
  charData;
17
44
  spans;
18
- constructor(values = [], spans = []) {
19
- this.length = values.length;
20
- this.text = values.join('');
21
- this.charData = new Uint16Array(Math.max(this.length, 16));
22
- let currentOffset = 0;
23
- let spanIdx = 0;
24
- let spanPos = 0;
25
- for (let i = 0; i < this.length; i++) {
26
- const val = values[i];
27
- let isFullWidth = false;
28
- if (spans.length > 0 && spanIdx < spans.length) {
29
- const span = spans[spanIdx];
30
- if ((span.formatFlags & FULL_WIDTH_MASK) !== 0) {
31
- isFullWidth = true;
32
- }
33
- spanPos++;
34
- if (spanPos >= span.length) {
35
- spanIdx++;
36
- spanPos = 0;
37
- }
38
- }
39
- this.charData[i] = currentOffset | (isFullWidth ? 0x80_00 : 0);
40
- currentOffset += val.length;
41
- }
42
- this.spans = spans.map(s => ({
43
- ...s,
44
- formatFlags: s.formatFlags & ~FULL_WIDTH_MASK,
45
- }));
46
- this.mergeSpans();
45
+ constructor() {
46
+ this.length = 0;
47
47
  }
48
48
  getValue(index) {
49
- if (index < 0 || index >= this.length)
49
+ if (this.text === undefined || index < 0 || index >= this.length)
50
50
  return '';
51
51
  const start = this.charData[index] & 0x7f_ff;
52
52
  const end = index + 1 < this.length
@@ -55,7 +55,7 @@ export class StyledLine {
55
55
  return this.text.slice(start, end);
56
56
  }
57
57
  getSpan(index) {
58
- if (index < 0 || index >= this.length)
58
+ if (this.spans === undefined || index < 0 || index >= this.length)
59
59
  return undefined;
60
60
  let current = 0;
61
61
  for (const span of this.spans) {
@@ -66,7 +66,7 @@ export class StyledLine {
66
66
  return undefined;
67
67
  }
68
68
  getFullWidth(index) {
69
- if (index < 0 || index >= this.length)
69
+ if (this.charData === undefined || index < 0 || index >= this.length)
70
70
  return false;
71
71
  return (this.charData[index] & 0x80_00) !== 0;
72
72
  }
@@ -98,6 +98,7 @@ export class StyledLine {
98
98
  setInverted(index, inverted) {
99
99
  if (index < 0 || index >= this.length)
100
100
  return;
101
+ this.ensureInitialized();
101
102
  this.splitSpansAt(index);
102
103
  this.splitSpansAt(index + 1);
103
104
  let current = 0;
@@ -118,6 +119,7 @@ export class StyledLine {
118
119
  setBackgroundColor(index, color) {
119
120
  if (index < 0 || index >= this.length)
120
121
  return;
122
+ this.ensureInitialized();
121
123
  this.splitSpansAt(index);
122
124
  this.splitSpansAt(index + 1);
123
125
  let current = 0;
@@ -133,6 +135,7 @@ export class StyledLine {
133
135
  setForegroundColor(index, color) {
134
136
  if (index < 0 || index >= this.length)
135
137
  return;
138
+ this.ensureInitialized();
136
139
  this.splitSpansAt(index);
137
140
  this.splitSpansAt(index + 1);
138
141
  let current = 0;
@@ -149,6 +152,7 @@ export class StyledLine {
149
152
  setChar(index, value, formatFlags, fgColor, bgColor, link) {
150
153
  if (index < 0 || index >= this.length)
151
154
  return;
155
+ this.ensureInitialized();
152
156
  const isFullWidth = (formatFlags & FULL_WIDTH_MASK) !== 0;
153
157
  const cleanFormatFlags = formatFlags & ~FULL_WIDTH_MASK;
154
158
  const start = this.charData[index] & 0x7f_ff;
@@ -156,12 +160,16 @@ export class StyledLine {
156
160
  ? this.charData[index + 1] & 0x7f_ff
157
161
  : this.text.length;
158
162
  const oldLen = end - start;
159
- const newLen = value.length;
163
+ let newValue = value;
164
+ if (this.text.length - oldLen + value.length > MAX_SAFE_OFFSET) {
165
+ newValue = value.slice(0, Math.max(0, MAX_SAFE_OFFSET - (this.text.length - oldLen)));
166
+ }
167
+ const newLen = newValue.length;
160
168
  if (oldLen === newLen) {
161
- this.text = this.text.slice(0, start) + value + this.text.slice(end);
169
+ this.text = this.text.slice(0, start) + newValue + this.text.slice(end);
162
170
  }
163
171
  else {
164
- this.text = this.text.slice(0, start) + value + this.text.slice(end);
172
+ this.text = this.text.slice(0, start) + newValue + this.text.slice(end);
165
173
  const diff = newLen - oldLen;
166
174
  for (let i = index + 1; i < this.length; i++) {
167
175
  const data = this.charData[i];
@@ -192,9 +200,19 @@ export class StyledLine {
192
200
  }
193
201
  // eslint-disable-next-line max-params
194
202
  pushChar(value, formatFlags, fgColor, bgColor, link) {
203
+ this.ensureInitialized();
195
204
  const isFullWidth = (formatFlags & FULL_WIDTH_MASK) !== 0;
196
205
  const cleanFormatFlags = formatFlags & ~FULL_WIDTH_MASK;
197
206
  const offset = this.text.length;
207
+ if (value !== '…' && offset + value.length > MAX_SAFE_OFFSET - 1) {
208
+ if (offset < MAX_SAFE_OFFSET && !this.text.endsWith('…')) {
209
+ this.pushChar('…', formatFlags, fgColor, bgColor, link);
210
+ }
211
+ return;
212
+ }
213
+ if (offset + value.length > MAX_SAFE_OFFSET) {
214
+ return;
215
+ }
198
216
  this.text += value;
199
217
  if (this.length >= this.charData.length) {
200
218
  const newData = new Uint16Array(this.charData.length * 2 || 16);
@@ -222,6 +240,8 @@ export class StyledLine {
222
240
  this.length++;
223
241
  }
224
242
  clone() {
243
+ if (this.charData === undefined)
244
+ return new StyledLine();
225
245
  const result = new StyledLine();
226
246
  result.length = this.length;
227
247
  result.text = this.text;
@@ -230,10 +250,12 @@ export class StyledLine {
230
250
  return result;
231
251
  }
232
252
  slice(start, end) {
253
+ if (this.charData === undefined)
254
+ return new StyledLine();
233
255
  const actualStart = Math.max(0, start);
234
256
  const actualEnd = end === undefined ? this.length : Math.min(this.length, end);
235
257
  if (actualStart >= actualEnd)
236
- return new StyledLine([], []);
258
+ return new StyledLine();
237
259
  if (actualStart === 0 && actualEnd === this.length) {
238
260
  return this.clone();
239
261
  }
@@ -272,68 +294,143 @@ export class StyledLine {
272
294
  result.mergeSpans();
273
295
  return result;
274
296
  }
275
- concat(other) {
297
+ combine(...others) {
298
+ if (others.length === 0)
299
+ return this.clone();
300
+ const allLines = [this, ...others].filter(l => l.length > 0);
301
+ if (allLines.length === 0)
302
+ return new StyledLine();
303
+ if (allLines.length === 1)
304
+ return allLines[0].clone();
305
+ let totalTextLen = 0;
306
+ let totalChars = 0;
307
+ for (const line of allLines) {
308
+ totalTextLen += line.getText().length;
309
+ totalChars += line.length;
310
+ }
311
+ if (totalTextLen > MAX_SAFE_OFFSET) {
312
+ let result = this.clone();
313
+ for (const other of others) {
314
+ result = result.instanceConcat(other);
315
+ }
316
+ return result;
317
+ }
276
318
  const result = new StyledLine();
277
- result.length = this.length + other.length;
278
- result.text = this.text + other.text;
279
- result.charData = new Uint16Array(Math.max(result.length, 16));
280
- result.charData.set(this.charData.subarray(0, this.length), 0);
281
- const textOffset = this.text.length;
282
- for (let i = 0; i < other.length; i++) {
283
- const oldData = other.charData[i];
284
- const oldOffset = oldData & 0x7f_ff;
285
- const fw = oldData & 0x80_00;
286
- result.charData[this.length + i] = (oldOffset + textOffset) | fw;
319
+ result.length = totalChars;
320
+ result.text = allLines.map(l => l.getText()).join('');
321
+ result.charData = new Uint16Array(Math.max(totalChars, 16));
322
+ let currentChar = 0;
323
+ let currentOffset = 0;
324
+ for (const line of allLines) {
325
+ const lineCharData = line.charData;
326
+ const lineText = line.getText();
327
+ if (lineCharData) {
328
+ for (let i = 0; i < line.length; i++) {
329
+ const data = lineCharData[i];
330
+ const offset = data & 0x7f_ff;
331
+ const fw = data & 0x80_00;
332
+ result.charData[currentChar + i] = (currentOffset + offset) | fw;
333
+ }
334
+ }
335
+ else {
336
+ for (let i = 0; i < line.length; i++) {
337
+ result.charData[currentChar + i] = currentOffset + i;
338
+ }
339
+ }
340
+ currentChar += line.length;
341
+ currentOffset += lineText.length;
287
342
  }
288
- result.spans = [...this.spans, ...other.spans.map(s => ({ ...s }))];
343
+ result.spans = allLines.flatMap(l => l.getSpans().map(s => ({ ...s })));
289
344
  result.mergeSpans();
290
345
  return result;
291
346
  }
292
- trimEnd() {
293
- let i = this.length - 1;
294
- while (i >= 0 && this.getValue(i) === ' ' && !this.hasStyles(i)) {
295
- i--;
347
+ getTrimmedLength() {
348
+ if (this.length === 0)
349
+ return 0;
350
+ if (this.text === undefined || this.charData === undefined)
351
+ return 0;
352
+ let currentIdx = this.length - 1;
353
+ if (this.spans) {
354
+ for (let s = this.spans.length - 1; s >= 0; s--) {
355
+ const span = this.spans[s];
356
+ const hasStyles = (span.formatFlags & ~FULL_WIDTH_MASK) !== 0 ||
357
+ span.fgColor !== undefined ||
358
+ span.bgColor !== undefined ||
359
+ span.link !== undefined;
360
+ if (hasStyles) {
361
+ return currentIdx + 1;
362
+ }
363
+ for (let i = 0; i < span.length; i++) {
364
+ const start = this.charData[currentIdx] & 0x7f_ff;
365
+ const end = currentIdx + 1 < this.length
366
+ ? this.charData[currentIdx + 1] & 0x7f_ff
367
+ : this.text.length;
368
+ if (end - start !== 1 || this.text[start] !== ' ') {
369
+ return currentIdx + 1;
370
+ }
371
+ currentIdx--;
372
+ }
373
+ }
296
374
  }
297
- return this.slice(0, i + 1);
375
+ return 0;
376
+ }
377
+ trimEnd() {
378
+ const trimmedLength = this.getTrimmedLength();
379
+ if (trimmedLength === this.length)
380
+ return this;
381
+ if (trimmedLength === 0)
382
+ return new StyledLine();
383
+ return this.slice(0, trimmedLength);
298
384
  }
299
385
  equals(other) {
300
386
  if (this.length !== other.length)
301
387
  return false;
302
- if (this.text !== other.text)
388
+ if (this.length === 0)
389
+ return true;
390
+ if (this.getText() !== other.getText())
303
391
  return false;
304
- if (this.spans.length !== other.spans.length)
392
+ const s1 = this.getSpans();
393
+ const s2 = other.getSpans();
394
+ if (s1.length !== s2.length)
305
395
  return false;
306
- for (let i = 0; i < this.spans.length; i++) {
307
- const s1 = this.spans[i];
308
- const s2 = other.spans[i];
309
- if (s1.length !== s2.length ||
310
- s1.formatFlags !== s2.formatFlags ||
311
- s1.fgColor !== s2.fgColor ||
312
- s1.bgColor !== s2.bgColor ||
313
- s1.link !== s2.link) {
396
+ for (let i = 0; i < s1.length; i++) {
397
+ const sp1 = s1[i];
398
+ const sp2 = s2[i];
399
+ if (sp1.length !== sp2.length ||
400
+ sp1.formatFlags !== sp2.formatFlags ||
401
+ sp1.fgColor !== sp2.fgColor ||
402
+ sp1.bgColor !== sp2.bgColor ||
403
+ sp1.link !== sp2.link) {
314
404
  return false;
315
405
  }
316
406
  }
317
- for (let i = 0; i < this.length; i++) {
318
- if (this.charData[i] !== other.charData[i])
319
- return false;
407
+ const thisCharData = this.charData;
408
+ const otherCharData = other.charData;
409
+ if (thisCharData && otherCharData) {
410
+ for (let i = 0; i < this.length; i++) {
411
+ if (thisCharData[i] !== otherCharData[i])
412
+ return false;
413
+ }
320
414
  }
321
415
  return true;
322
416
  }
323
417
  getText() {
324
- return this.text;
418
+ return this.text ?? '';
325
419
  }
326
420
  getSpans() {
327
- return this.spans;
421
+ return this.spans ?? [];
328
422
  }
329
423
  getValues() {
330
424
  return Array.from({ length: this.length }, (_, i) => this.getValue(i));
331
425
  }
332
426
  *[Symbol.iterator]() {
427
+ if (this.length === 0)
428
+ return;
333
429
  let currentSpanIdx = 0;
334
430
  let currentSpanPos = 0;
431
+ const spans = this.getSpans();
335
432
  for (let i = 0; i < this.length; i++) {
336
- const span = this.spans[currentSpanIdx];
433
+ const span = spans[currentSpanIdx];
337
434
  const formatFlags = span ? span.formatFlags : 0;
338
435
  const isFullWidth = this.getFullWidth(i);
339
436
  yield {
@@ -357,8 +454,143 @@ export class StyledLine {
357
454
  }
358
455
  }
359
456
  }
457
+ ensureInitialized(initialCapacity = 16) {
458
+ if (this.charData === undefined) {
459
+ this.text = '';
460
+ this.charData = new Uint16Array(Math.max(this.length, initialCapacity));
461
+ this.spans =
462
+ this.length > 0 ? [{ length: this.length, formatFlags: 0 }] : [];
463
+ if (this.length > 0 && this.text.length === 0) {
464
+ this.text = ' '.repeat(this.length);
465
+ for (let i = 0; i < this.length; i++) {
466
+ this.charData[i] = i;
467
+ }
468
+ }
469
+ }
470
+ }
471
+ applyValuesAndSpans(values, spans) {
472
+ let totalTextLen = 0;
473
+ let visibleChars = 0;
474
+ for (const val of values) {
475
+ if (totalTextLen + val.length > MAX_SAFE_OFFSET - 1) {
476
+ break;
477
+ }
478
+ totalTextLen += val.length;
479
+ visibleChars++;
480
+ }
481
+ const truncated = visibleChars < values.length;
482
+ this.length = visibleChars + (truncated ? 1 : 0);
483
+ this.text = values.slice(0, visibleChars).join('') + (truncated ? '…' : '');
484
+ this.charData = new Uint16Array(Math.max(this.length, 16));
485
+ let currentOffset = 0;
486
+ let spanIdx = 0;
487
+ let spanPos = 0;
488
+ for (let i = 0; i < visibleChars; i++) {
489
+ const val = values[i];
490
+ let isFullWidth = false;
491
+ if (spans.length > 0 && spanIdx < spans.length) {
492
+ const span = spans[spanIdx];
493
+ if ((span.formatFlags & FULL_WIDTH_MASK) !== 0) {
494
+ isFullWidth = true;
495
+ }
496
+ spanPos++;
497
+ if (spanPos >= span.length) {
498
+ spanIdx++;
499
+ spanPos = 0;
500
+ }
501
+ }
502
+ this.charData[i] = currentOffset | (isFullWidth ? 0x80_00 : 0);
503
+ currentOffset += val.length;
504
+ }
505
+ if (truncated) {
506
+ this.charData[visibleChars] = currentOffset;
507
+ }
508
+ if (truncated) {
509
+ const newSpans = [];
510
+ let remaining = visibleChars;
511
+ let sIdx = 0;
512
+ while (remaining > 0 && sIdx < spans.length) {
513
+ const span = spans[sIdx];
514
+ const take = Math.min(remaining, span.length);
515
+ newSpans.push({ ...span, length: take });
516
+ remaining -= take;
517
+ sIdx++;
518
+ }
519
+ newSpans.push({ length: 1, formatFlags: 0 });
520
+ this.spans = newSpans;
521
+ }
522
+ else {
523
+ this.spans = spans.map(s => ({
524
+ ...s,
525
+ formatFlags: s.formatFlags & ~FULL_WIDTH_MASK,
526
+ }));
527
+ }
528
+ this.mergeSpans();
529
+ }
530
+ instanceConcat(other) {
531
+ const spaceForOther = MAX_SAFE_OFFSET - 1 - this.getText().length;
532
+ if (spaceForOther <= 0) {
533
+ if (this.getText().length < MAX_SAFE_OFFSET &&
534
+ !this.getText().endsWith('…')) {
535
+ const result = this.clone();
536
+ result.pushChar('…', 0);
537
+ return result;
538
+ }
539
+ return this.clone();
540
+ }
541
+ let otherTextLenToTake = 0;
542
+ let otherCharsToTake = 0;
543
+ for (let i = 0; i < other.length; i++) {
544
+ const val = other.getValue(i);
545
+ if (otherTextLenToTake + val.length > spaceForOther) {
546
+ break;
547
+ }
548
+ otherTextLenToTake += val.length;
549
+ otherCharsToTake++;
550
+ }
551
+ const truncated = otherCharsToTake < other.length;
552
+ const result = new StyledLine();
553
+ result.length = this.length + otherCharsToTake + (truncated ? 1 : 0);
554
+ result.text =
555
+ this.getText() +
556
+ other.getText().slice(0, otherTextLenToTake) +
557
+ (truncated ? '…' : '');
558
+ result.charData = new Uint16Array(Math.max(result.length, 16));
559
+ if (this.charData) {
560
+ result.charData.set(this.charData.subarray(0, this.length), 0);
561
+ }
562
+ const textOffset = this.getText().length;
563
+ const otherCharData = other.charData;
564
+ if (otherCharData) {
565
+ for (let i = 0; i < otherCharsToTake; i++) {
566
+ const oldData = otherCharData[i];
567
+ const oldOffset = oldData & 0x7f_ff;
568
+ const fw = oldData & 0x80_00;
569
+ result.charData[this.length + i] = (oldOffset + textOffset) | fw;
570
+ }
571
+ }
572
+ if (truncated) {
573
+ result.charData[this.length + otherCharsToTake] =
574
+ this.getText().length + otherTextLenToTake;
575
+ }
576
+ const otherSpans = [];
577
+ let remaining = otherCharsToTake;
578
+ for (const span of other.getSpans()) {
579
+ if (remaining <= 0)
580
+ break;
581
+ const take = Math.min(remaining, span.length);
582
+ otherSpans.push({ ...span, length: take });
583
+ remaining -= take;
584
+ }
585
+ result.spans = [...this.getSpans(), ...otherSpans];
586
+ if (truncated) {
587
+ result.spans.push({ length: 1, formatFlags: 0 });
588
+ }
589
+ result.mergeSpans();
590
+ return result;
591
+ }
360
592
  splitSpansAt(index) {
361
- if (index <= 0 || index >= this.length)
593
+ if (this.spans === undefined || index <= 0 || index >= this.length)
362
594
  return;
363
595
  let current = 0;
364
596
  for (let i = 0; i < this.spans.length; i++) {
@@ -373,6 +605,8 @@ export class StyledLine {
373
605
  }
374
606
  }
375
607
  mergeSpans() {
608
+ if (this.spans === undefined)
609
+ return;
376
610
  const newSpans = [];
377
611
  for (const span of this.spans) {
378
612
  if (span.length === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"styled-line.js","sourceRoot":"","sources":["../src/styled-line.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"styled-line.js","sourceRoot":"","sources":["../src/styled-line.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,eAAe,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAU5D,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC,MAAM,OAAO,UAAU;IACtB,MAAM,CAAC,KAAK,CAAC,MAAc;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACrD,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,UAAU,EAAE,CAAC;QACzB,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,MAAM,EAAE,CAAC;YACZ,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,CAAC,EAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,EAAC,CAAC,CAAC;QAEpD,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;YACtC,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEpB,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,sBAAsB,CAC5B,SAAmB,EAAE,EACrB,QAAqB,EAAE;QAEvB,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAExC,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,MAAM,CAAU,UAAU,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE5D,MAAM,CAAS;IACd,IAAI,CAAqB;IACzB,QAAQ,CAA0B;IAClC,KAAK,CAA0B;IAEvC;QACC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,KAAa;QACrB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,QAAS,CAAC,KAAK,CAAE,GAAG,OAAO,CAAC;QAC/C,MAAM,GAAG,GACR,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;YACtB,CAAC,CAAC,IAAI,CAAC,QAAS,CAAC,KAAK,GAAG,CAAC,CAAE,GAAG,OAAO;YACtC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,KAAa;QACpB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM;YAChE,OAAO,SAAS,CAAC;QAClB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YAC/C,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC;QACxB,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,YAAY,CAAC,KAAa;QACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM;YACnE,OAAO,KAAK,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,SAAS,CAAC,KAAa;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,OAAO,CACN,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC;YAC3C,IAAI,CAAC,OAAO,KAAK,SAAS;YAC1B,IAAI,CAAC,OAAO,KAAK,SAAS;YAC1B,IAAI,CAAC,IAAI,KAAK,SAAS,CACvB,CAAC;IACH,CAAC;IAED,cAAc,CAAC,KAAa;QAC3B,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,IAAI,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,KAAK,IAAI,eAAe,CAAC;QAC1B,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAED,UAAU,CAAC,KAAa;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACrC,CAAC;IAED,UAAU,CAAC,KAAa;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;IAClC,CAAC;IAED,WAAW,CAAC,KAAa,EAAE,QAAiB;QAC3C,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAC9C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAM,EAAE,CAAC;YAChC,IAAI,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5C,IAAI,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,WAAW,IAAI,YAAY,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,CAAC;gBACnC,CAAC;gBAED,MAAM;YACP,CAAC;YAED,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAED,kBAAkB,CAAC,KAAa,EAAE,KAAyB;QAC1D,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAC9C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAM,EAAE,CAAC;YAChC,IAAI,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,MAAM;YACP,CAAC;YAED,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAED,kBAAkB,CAAC,KAAa,EAAE,KAAyB;QAC1D,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAC9C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAM,EAAE,CAAC;YAChC,IAAI,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,MAAM;YACP,CAAC;YAED,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAED,sCAAsC;IACtC,OAAO,CACN,KAAa,EACb,KAAa,EACb,WAAmB,EACnB,OAAgB,EAChB,OAAgB,EAChB,IAAa;QAEb,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAC9C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,MAAM,WAAW,GAAG,CAAC,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,gBAAgB,GAAG,WAAW,GAAG,CAAC,eAAe,CAAC;QAExD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAS,CAAC,KAAK,CAAE,GAAG,OAAO,CAAC;QAC/C,MAAM,GAAG,GACR,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;YACtB,CAAC,CAAC,IAAI,CAAC,QAAS,CAAC,KAAK,GAAG,CAAC,CAAE,GAAG,OAAO;YACtC,CAAC,CAAC,IAAI,CAAC,IAAK,CAAC,MAAM,CAAC;QACtB,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC;QAE3B,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,IAAI,CAAC,IAAK,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;YACjE,QAAQ,GAAG,KAAK,CAAC,KAAK,CACrB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,IAAI,CAAC,IAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAC3D,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAE/B,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,IAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,IAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1E,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;YAC7B,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAS,CAAC,CAAC,CAAE,CAAC;gBAChC,MAAM,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC;gBACjC,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC;gBAC1B,IAAI,CAAC,QAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7C,CAAC;QACF,CAAC;QAED,IAAI,CAAC,QAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5D,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAM,CAAC,CAAC,CAAE,CAAC;YAC7B,IAAI,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,KAAM,CAAC,CAAC,CAAC,GAAG;oBAChB,MAAM,EAAE,CAAC;oBACT,WAAW,EAAE,gBAAgB;oBAC7B,OAAO;oBACP,OAAO;oBACP,IAAI;iBACJ,CAAC;gBACF,MAAM;YACP,CAAC;YAED,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAED,sCAAsC;IACtC,QAAQ,CACP,KAAa,EACb,WAAmB,EACnB,OAAgB,EAChB,OAAgB,EAChB,IAAa;QAEb,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,CAAC,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,gBAAgB,GAAG,WAAW,GAAG,CAAC,eAAe,CAAC;QAExD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAK,CAAC,MAAM,CAAC;QACjC,IAAI,KAAK,KAAK,GAAG,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,eAAe,GAAG,CAAC,EAAE,CAAC;YAClE,IAAI,MAAM,GAAG,eAAe,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACzD,CAAC;YAED,OAAO;QACR,CAAC;QAED,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;YAC7C,OAAO;QACR,CAAC;QAED,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;QAEnB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAS,CAAC,MAAM,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,QAAS,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAS,CAAC,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,QAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpC,IACC,QAAQ;YACR,QAAQ,CAAC,WAAW,KAAK,gBAAgB;YACzC,QAAQ,CAAC,OAAO,KAAK,OAAO;YAC5B,QAAQ,CAAC,OAAO,KAAK,OAAO;YAC5B,QAAQ,CAAC,IAAI,KAAK,IAAI,EACrB,CAAC;YACF,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnB,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,KAAM,CAAC,IAAI,CAAC;gBAChB,MAAM,EAAE,CAAC;gBACT,WAAW,EAAE,gBAAgB;gBAC7B,OAAO;gBACP,OAAO;gBACP,IAAI;aACJ,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACJ,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,IAAI,UAAU,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAC,GAAG,IAAI,EAAC,CAAC,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,KAAK,CAAC,KAAa,EAAE,GAAY;QAChC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,IAAI,UAAU,EAAE,CAAC;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACvC,MAAM,SAAS,GACd,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9D,IAAI,WAAW,IAAI,SAAS;YAAE,OAAO,IAAI,UAAU,EAAE,CAAC;QAEtD,IAAI,WAAW,KAAK,CAAC,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;QACxC,MAAM,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QAE/D,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAE,GAAG,OAAO,CAAC;QACxD,MAAM,OAAO,GACZ,SAAS,GAAG,IAAI,CAAC,MAAM;YACtB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAE,GAAG,OAAO;YACrC,CAAC,CAAC,IAAI,CAAC,IAAK,CAAC,MAAM,CAAC;QACtB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAK,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAE,CAAC;YAChD,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;YACpC,MAAM,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC;YAC7B,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;QACnD,CAAC;QAED,MAAM,QAAQ,GAAgB,EAAE,CAAC;QACjC,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAM,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,OAAO,CAAC;YAC1B,MAAM,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;YAEtC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YACxD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAElD,IAAI,cAAc,GAAG,YAAY,EAAE,CAAC;gBACnC,QAAQ,CAAC,IAAI,CAAC;oBACb,GAAG,IAAI;oBACP,MAAM,EAAE,YAAY,GAAG,cAAc;iBACrC,CAAC,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC;YACvB,IAAI,OAAO,IAAI,SAAS;gBAAE,MAAM;QACjC,CAAC;QAED,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;QACxB,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,OAAO,CAAC,GAAG,MAAoB;QAC9B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;QAE7C,MAAM,QAAQ,GAAG,CAAC,IAAkB,EAAE,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,UAAU,EAAE,CAAC;QACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC,CAAC,CAAE,CAAC,KAAK,EAAE,CAAC;QAEvD,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC7B,YAAY,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;YACtC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC;QAC3B,CAAC;QAED,IAAI,YAAY,GAAG,eAAe,EAAE,CAAC;YACpC,IAAI,MAAM,GAAe,IAAI,CAAC,KAAK,EAAE,CAAC;YACtC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC5B,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;YAED,OAAO,MAAM,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC;QAC3B,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,MAAM,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QAE5D,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAI,IAAY,CAAC,QAAmC,CAAC;YACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,YAAY,EAAE,CAAC;gBAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;oBAC9B,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC;oBAC1B,MAAM,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;gBAClE,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,MAAM,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC;gBACtD,CAAC;YACF,CAAC;YAED,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC;YAC3B,aAAa,IAAI,QAAQ,CAAC,MAAM,CAAC;QAClC,CAAC;QAED,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,gBAAgB;QACf,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QAErE,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAEjC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;gBAC5B,MAAM,SAAS,GACd,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC;oBAC3C,IAAI,CAAC,OAAO,KAAK,SAAS;oBAC1B,IAAI,CAAC,OAAO,KAAK,SAAS;oBAC1B,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;gBAEzB,IAAI,SAAS,EAAE,CAAC;oBACf,OAAO,UAAU,GAAG,CAAC,CAAC;gBACvB,CAAC;gBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAE,GAAG,OAAO,CAAC;oBACnD,MAAM,GAAG,GACR,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;wBAC3B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAE,GAAG,OAAO;wBAC1C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBAErB,IAAI,GAAG,GAAG,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;wBACnD,OAAO,UAAU,GAAG,CAAC,CAAC;oBACvB,CAAC;oBAED,UAAU,EAAE,CAAC;gBACd,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,CAAC,CAAC;IACV,CAAC;IAED,OAAO;QACN,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C,IAAI,aAAa,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,aAAa,KAAK,CAAC;YAAE,OAAO,IAAI,UAAU,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,KAAiB;QACvB,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE;YAAE,OAAO,KAAK,CAAC;QACrD,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC;YACnB,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC;YACnB,IACC,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;gBACzB,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,WAAW;gBACnC,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO;gBAC3B,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO;gBAC3B,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EACpB,CAAC;gBACF,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;QACnC,MAAM,aAAa,GAAI,KAAa,CAAC,QAAmC,CAAC;QACzE,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;YACxD,CAAC;QACF,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,QAAQ;QACP,OAAO,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,SAAS;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QACjB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC9B,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAEzC,MAAM;gBACL,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACvB,WAAW,EAAE,WAAW,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9D,OAAO,EAAE,IAAI,EAAE,OAAO;gBACtB,OAAO,EAAE,IAAI,EAAE,OAAO;gBACtB,IAAI,EAAE,IAAI,EAAE,IAAI;gBAChB,SAAS,EAAE,WAAW;gBACtB,SAAS,EACR,CAAC,WAAW,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC;oBACtC,IAAI,EAAE,OAAO,KAAK,SAAS;oBAC3B,IAAI,EAAE,OAAO,KAAK,SAAS;oBAC3B,IAAI,EAAE,IAAI,KAAK,SAAS;aACzB,CAAC;YAEF,IAAI,IAAI,EAAE,CAAC;gBACV,cAAc,EAAE,CAAC;gBACjB,IAAI,cAAc,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACnC,cAAc,EAAE,CAAC;oBACjB,cAAc,GAAG,CAAC,CAAC;gBACpB,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAEO,iBAAiB,CAAC,eAAe,GAAG,EAAE;QAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,KAAK;gBACT,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAEO,mBAAmB,CAAC,MAAgB,EAAE,KAAkB;QAC/D,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YAC1B,IAAI,YAAY,GAAG,GAAG,CAAC,MAAM,GAAG,eAAe,GAAG,CAAC,EAAE,CAAC;gBACrD,MAAM;YACP,CAAC;YAED,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC;YAC3B,YAAY,EAAE,CAAC;QAChB,CAAC;QAED,MAAM,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,YAAY,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QAE3D,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;YACvB,IAAI,WAAW,GAAG,KAAK,CAAC;YAExB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAChD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChD,WAAW,GAAG,IAAI,CAAC;gBACpB,CAAC;gBAED,OAAO,EAAE,CAAC;gBACV,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC5B,OAAO,EAAE,CAAC;oBACV,OAAO,GAAG,CAAC,CAAC;gBACb,CAAC;YACF,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,aAAa,IAAI,GAAG,CAAC,MAAM,CAAC;QAC7B,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC;QAC7C,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACf,MAAM,QAAQ,GAAgB,EAAE,CAAC;YACjC,IAAI,SAAS,GAAG,YAAY,CAAC;YAC7B,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,OAAO,SAAS,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9C,QAAQ,CAAC,IAAI,CAAC,EAAC,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC;gBACvC,SAAS,IAAI,IAAI,CAAC;gBAClB,IAAI,EAAE,CAAC;YACR,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACvB,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5B,GAAG,CAAC;gBACJ,WAAW,EAAE,CAAC,CAAC,WAAW,GAAG,CAAC,eAAe;aAC7C,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAEO,cAAc,CAAC,KAAiB;QACvC,MAAM,aAAa,GAAG,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;QAClE,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;YACxB,IACC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,eAAe;gBACvC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC5B,CAAC;gBACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC5B,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACxB,OAAO,MAAM,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,kBAAkB,GAAG,GAAG,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;gBACrD,MAAM;YACP,CAAC;YAED,kBAAkB,IAAI,GAAG,CAAC,MAAM,CAAC;YACjC,gBAAgB,EAAE,CAAC;QACpB,CAAC;QAED,MAAM,SAAS,GAAG,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,gBAAgB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,CAAC,IAAI;YACV,IAAI,CAAC,OAAO,EAAE;gBACd,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC;gBAC5C,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxB,MAAM,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QAE/D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;QACzC,MAAM,aAAa,GAAI,KAAa,CAAC,QAAmC,CAAC;QACzE,IAAI,aAAa,EAAE,CAAC;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;gBACpC,MAAM,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC;gBAC7B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;YAClE,CAAC;QACF,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC;gBAC9C,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,kBAAkB,CAAC;QAC7C,CAAC;QAED,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,IAAI,SAAS,GAAG,gBAAgB,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrC,IAAI,SAAS,IAAI,CAAC;gBAAE,MAAM;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9C,UAAU,CAAC,IAAI,CAAC,EAAC,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC;YACzC,SAAS,IAAI,IAAI,CAAC;QACnB,CAAC;QAED,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,UAAU,CAAC,CAAC;QACnD,IAAI,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAC,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IACf,CAAC;IAEO,YAAY,CAAC,KAAa;QACjC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAC3E,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YAC5B,IAAI,KAAK,GAAG,OAAO,IAAI,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtD,MAAM,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;gBAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;gBACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAChB,CAAC,EACD,CAAC,EACD,EAAC,GAAG,IAAI,EAAE,MAAM,EAAE,OAAO,EAAC,EAC1B,EAAC,GAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAC,CAC3B,CAAC;gBACF,OAAO;YACR,CAAC;YAED,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC;QACxB,CAAC;IACF,CAAC;IAEO,UAAU;QACjB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO;QACrC,MAAM,QAAQ,GAAgB,EAAE,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,IACC,IAAI;gBACJ,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW;gBACrC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO;gBAC7B,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO;gBAC7B,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EACtB,CAAC;gBACF,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACP,QAAQ,CAAC,IAAI,CAAC,EAAC,GAAG,IAAI,EAAC,CAAC,CAAC;YAC1B,CAAC;QACF,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;IACvB,CAAC"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
1
6
  import { StyledLine } from './styled-line.js';
2
7
  export declare const sliceStyledChars: (line: StyledLine, begin: number, end?: number) => StyledLine;
3
8
  export declare const truncateStyledChars: (line: StyledLine, columns: number, options?: {