node-av 6.1.1 → 6.2.0-beta.1

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.
@@ -272,13 +272,17 @@ export declare class FilterComplexAPI implements Disposable {
272
272
  * Process frame streams from multiple inputs and yield frames from specified output.
273
273
  *
274
274
  * High-level async generator for multi-input filtering.
275
- * Filter is only flushed when EOF (null) is explicitly sent to any input.
275
+ * Inputs may end at different times - shorter inputs are flushed individually
276
+ * while the remaining inputs keep flowing, matching ffmpeg CLI behaviour.
276
277
  *
277
278
  * **EOF Handling:**
278
- * - Filter is only flushed when EOF (null) is explicitly sent to ANY input
279
- * - Generator yields null after flushing when null is received
280
- * - No automatic flushing - filter stays open until EOF or close()
281
- * - Iterator completion without null does not trigger flush
279
+ * - EOF (null) from one input flushes only that input; the others continue.
280
+ * The filter decides what happens (e.g. overlay's `eof_action`, default
281
+ * `repeat`, keeps compositing the last overlay frame)
282
+ * - When ALL inputs have ended and at least one signaled EOF, the graph is
283
+ * finalized and the generator yields null
284
+ * - Iterator completion without null does not trigger a flush - the filter
285
+ * stays open until EOF or close()
282
286
  *
283
287
  * @param outLabel - Output label to receive frames from
284
288
  *
@@ -350,13 +354,15 @@ export declare class FilterComplexAPI implements Disposable {
350
354
  * Synchronous version of frames.
351
355
  *
352
356
  * High-level sync generator for multi-input filtering.
353
- * Filter is only flushed when EOF (null) is explicitly sent to any input.
357
+ * Inputs may end at different times - shorter inputs are flushed individually
358
+ * while the remaining inputs keep flowing, matching ffmpeg CLI behaviour.
354
359
  *
355
360
  * **EOF Handling:**
356
- * - Filter is only flushed when EOF (null) is explicitly sent to ANY input
357
- * - Generator yields null after flushing when null is received
358
- * - No automatic flushing - filter stays open until EOF or close()
359
- * - Iterator completion without null does not trigger flush
361
+ * - EOF (null) from one input flushes only that input; the others continue
362
+ * - When ALL inputs have ended and at least one signaled EOF, the graph is
363
+ * finalized and the generator yields null
364
+ * - Iterator completion without null does not trigger a flush - the filter
365
+ * stays open until EOF or close()
360
366
  *
361
367
  * @param outLabel - Output label to receive frames from
362
368
  *
@@ -377,13 +377,17 @@ export class FilterComplexAPI {
377
377
  * Process frame streams from multiple inputs and yield frames from specified output.
378
378
  *
379
379
  * High-level async generator for multi-input filtering.
380
- * Filter is only flushed when EOF (null) is explicitly sent to any input.
380
+ * Inputs may end at different times - shorter inputs are flushed individually
381
+ * while the remaining inputs keep flowing, matching ffmpeg CLI behaviour.
381
382
  *
382
383
  * **EOF Handling:**
383
- * - Filter is only flushed when EOF (null) is explicitly sent to ANY input
384
- * - Generator yields null after flushing when null is received
385
- * - No automatic flushing - filter stays open until EOF or close()
386
- * - Iterator completion without null does not trigger flush
384
+ * - EOF (null) from one input flushes only that input; the others continue.
385
+ * The filter decides what happens (e.g. overlay's `eof_action`, default
386
+ * `repeat`, keeps compositing the last overlay frame)
387
+ * - When ALL inputs have ended and at least one signaled EOF, the graph is
388
+ * finalized and the generator yields null
389
+ * - Iterator completion without null does not trigger a flush - the filter
390
+ * stays open until EOF or close()
387
391
  *
388
392
  * @param outLabel - Output label to receive frames from
389
393
  *
@@ -460,10 +464,8 @@ export class FilterComplexAPI {
460
464
  throw new Error(`Input '${label}' not found in filter complex configuration`);
461
465
  }
462
466
  }
463
- // Helper to process a single frame and yield output
464
- const processFrame = async function* (label, frame) {
465
- await this.process(label, frame);
466
- // Try to receive output frames
467
+ // Helper to drain all currently available output frames
468
+ const drainOutput = async function* () {
467
469
  while (true) {
468
470
  const outFrame = await this.receive(outLabel);
469
471
  if (!outFrame || outFrame === EOF) {
@@ -472,6 +474,11 @@ export class FilterComplexAPI {
472
474
  yield outFrame;
473
475
  }
474
476
  }.bind(this);
477
+ // Helper to process a single frame and yield output
478
+ const processFrame = async function* (label, frame) {
479
+ await this.process(label, frame);
480
+ yield* drainOutput();
481
+ }.bind(this);
475
482
  // Helper to finalize (flush all inputs and yield remaining frames)
476
483
  const finalize = async function* () {
477
484
  for await (const frame of this.flushFrames(outLabel)) {
@@ -519,60 +526,85 @@ export class FilterComplexAPI {
519
526
  }
520
527
  // Track which inputs have finished
521
528
  const finishedInputs = new Set();
522
- let shouldFinalize = flushInputs.size > 0; // True if any single input was null
523
- // Process frames from iterable inputs in parallel
524
- while (finishedInputs.size < iterableInputs.size) {
525
- // Read one frame from each active input
526
- const readPromises = [];
527
- for (const [label, iterator] of iterableInputs) {
528
- if (!finishedInputs.has(label)) {
529
- readPromises.push(iterator.next().then((result) => ({
530
- label,
531
- result,
532
- })));
533
- }
534
- }
535
- // Wait for all reads to complete
536
- const results = await Promise.all(readPromises);
537
- // Process each result
538
- for (const { label, result } of results) {
539
- if (result.done) {
540
- // Iterator finished without explicit null - no automatic flush
541
- finishedInputs.add(label);
542
- continue;
543
- }
544
- const frame = result.value;
545
- if (frame === null) {
546
- // Explicit null from input stream - flush this input
547
- await this.flush(label);
548
- shouldFinalize = true;
549
- finishedInputs.add(label);
529
+ let sawEof = flushInputs.size > 0; // True once any input signaled EOF (null)
530
+ // Inputs given as explicit null: signal EOF on that leg right away.
531
+ for (const label of flushInputs) {
532
+ await this.flush(label);
533
+ }
534
+ try {
535
+ // Process frames from iterable inputs in parallel
536
+ while (finishedInputs.size < iterableInputs.size) {
537
+ // Read one frame from each active input
538
+ const readPromises = [];
539
+ for (const [label, iterator] of iterableInputs) {
540
+ if (!finishedInputs.has(label)) {
541
+ readPromises.push(iterator.next().then((result) => ({
542
+ label,
543
+ result,
544
+ })));
545
+ }
550
546
  }
551
- else {
552
- // Send frame to input
553
- yield* processFrame(label, frame);
547
+ // Wait for all reads to complete
548
+ const results = await Promise.all(readPromises);
549
+ // Process each result
550
+ for (const { label, result } of results) {
551
+ if (result.done) {
552
+ // Iterator finished without explicit null - no automatic flush
553
+ finishedInputs.add(label);
554
+ continue;
555
+ }
556
+ const frame = result.value;
557
+ if (frame === null) {
558
+ // EOF for THIS input only: signal it downstream and keep the other
559
+ // inputs flowing. What happens next is the filter's decision - e.g.
560
+ // overlay's eof_action (default `repeat`) keeps compositing the last
561
+ // overlay frame while the main input continues (matches ffmpeg CLI).
562
+ await this.flush(label);
563
+ sawEof = true;
564
+ finishedInputs.add(label);
565
+ yield* drainOutput();
566
+ }
567
+ else {
568
+ // Send frame to input
569
+ yield* processFrame(label, frame);
570
+ }
554
571
  }
555
572
  }
556
- // If we got null from stream, finalize and return
557
- if (shouldFinalize) {
573
+ // All inputs ended. If any signaled EOF explicitly, finalize the graph
574
+ // (flush remaining legs, drain buffered output) and yield null. Iterators
575
+ // that merely completed without a null do not trigger a flush.
576
+ if (sawEof) {
558
577
  yield* finalize();
559
- return;
560
578
  }
561
579
  }
562
- // Iterators finished without explicit null - no automatic flush
580
+ finally {
581
+ // Close input iterators that are still open. The inputs are driven via
582
+ // manual iterators (not for-await), so an early consumer stop
583
+ // (generator.return) would otherwise leave the upstream generators
584
+ // (decoders, demuxer packet queues) registered and running - a full
585
+ // demuxer queue then blocks the shared read loop and starves the other
586
+ // stream's consumers (teardown deadlock).
587
+ for (const [label, iterator] of iterableInputs) {
588
+ if (!finishedInputs.has(label)) {
589
+ await iterator.return?.(undefined);
590
+ }
591
+ }
592
+ }
563
593
  }
564
594
  /**
565
595
  * Process frame streams from multiple inputs and yield frames from specified output synchronously.
566
596
  * Synchronous version of frames.
567
597
  *
568
598
  * High-level sync generator for multi-input filtering.
569
- * Filter is only flushed when EOF (null) is explicitly sent to any input.
599
+ * Inputs may end at different times - shorter inputs are flushed individually
600
+ * while the remaining inputs keep flowing, matching ffmpeg CLI behaviour.
570
601
  *
571
602
  * **EOF Handling:**
572
- * - Filter is only flushed when EOF (null) is explicitly sent to ANY input
573
- * - Generator yields null after flushing when null is received
574
- * - No automatic flushing - filter stays open until EOF or close()
575
- * - Iterator completion without null does not trigger flush
603
+ * - EOF (null) from one input flushes only that input; the others continue
604
+ * - When ALL inputs have ended and at least one signaled EOF, the graph is
605
+ * finalized and the generator yields null
606
+ * - Iterator completion without null does not trigger a flush - the filter
607
+ * stays open until EOF or close()
576
608
  *
577
609
  * @param outLabel - Output label to receive frames from
578
610
  *
@@ -645,10 +677,8 @@ export class FilterComplexAPI {
645
677
  if (!this.initialized) {
646
678
  throw new Error('FilterComplexAPI not initialized. Use async frames() method for lazy initialization.');
647
679
  }
648
- // Helper to process a single frame and yield output
649
- const processFrame = function* (label, frame) {
650
- this.processSync(label, frame);
651
- // Try to receive output frames
680
+ // Helper to drain all currently available output frames
681
+ const drainOutput = function* () {
652
682
  while (true) {
653
683
  const outFrame = this.receiveSync(outLabel);
654
684
  if (!outFrame || outFrame === EOF) {
@@ -657,6 +687,11 @@ export class FilterComplexAPI {
657
687
  yield outFrame;
658
688
  }
659
689
  }.bind(this);
690
+ // Helper to process a single frame and yield output
691
+ const processFrame = function* (label, frame) {
692
+ this.processSync(label, frame);
693
+ yield* drainOutput();
694
+ }.bind(this);
660
695
  // Helper to finalize (flush all inputs and yield remaining frames)
661
696
  const finalize = function* () {
662
697
  for (const frame of this.flushFramesSync(outLabel)) {
@@ -704,39 +739,52 @@ export class FilterComplexAPI {
704
739
  }
705
740
  // Track which inputs have finished
706
741
  const finishedInputs = new Set();
707
- let shouldFinalize = flushInputs.size > 0; // True if any single input was null
708
- // Process frames from iterable inputs in round-robin fashion
709
- while (finishedInputs.size < iterableInputs.size) {
710
- // Read one frame from each active input
711
- for (const [label, iterator] of iterableInputs) {
712
- if (finishedInputs.has(label)) {
713
- continue;
714
- }
715
- const result = iterator.next();
716
- if (result.done) {
717
- // Iterator finished without explicit null - no automatic flush
718
- finishedInputs.add(label);
719
- continue;
720
- }
721
- const frame = result.value;
722
- if (frame === null) {
723
- // Explicit null from input stream - flush this input
724
- this.flushSync(label);
725
- shouldFinalize = true;
726
- finishedInputs.add(label);
727
- }
728
- else {
729
- // Send frame to input
730
- yield* processFrame(label, frame);
742
+ let sawEof = flushInputs.size > 0; // True once any input signaled EOF (null)
743
+ // Inputs given as explicit null: signal EOF on that leg right away.
744
+ for (const label of flushInputs) {
745
+ this.flushSync(label);
746
+ }
747
+ try {
748
+ // Process frames from iterable inputs in round-robin fashion
749
+ while (finishedInputs.size < iterableInputs.size) {
750
+ // Read one frame from each active input
751
+ for (const [label, iterator] of iterableInputs) {
752
+ if (finishedInputs.has(label)) {
753
+ continue;
754
+ }
755
+ const result = iterator.next();
756
+ if (result.done) {
757
+ // Iterator finished without explicit null - no automatic flush
758
+ finishedInputs.add(label);
759
+ continue;
760
+ }
761
+ const frame = result.value;
762
+ if (frame === null) {
763
+ // EOF for THIS input only - see frames() for the semantics.
764
+ this.flushSync(label);
765
+ sawEof = true;
766
+ finishedInputs.add(label);
767
+ yield* drainOutput();
768
+ }
769
+ else {
770
+ // Send frame to input
771
+ yield* processFrame(label, frame);
772
+ }
731
773
  }
732
774
  }
733
- // If we got null from stream, finalize and return
734
- if (shouldFinalize) {
775
+ // All inputs ended - finalize only if any input signaled EOF explicitly.
776
+ if (sawEof) {
735
777
  yield* finalize();
736
- return;
737
778
  }
738
779
  }
739
- // Iterators finished without explicit null - no automatic flush
780
+ finally {
781
+ // Close input iterators that are still open - see frames() for why.
782
+ for (const [label, iterator] of iterableInputs) {
783
+ if (!finishedInputs.has(label)) {
784
+ iterator.return?.(undefined);
785
+ }
786
+ }
787
+ }
740
788
  }
741
789
  /**
742
790
  * Flush input(s) and signal end-of-stream.
@@ -1 +1 @@
1
- {"version":3,"file":"filter-complex.js","sourceRoot":"","sources":["../../src/api/filter-complex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter-complex.js","sourceRoot":"","sources":["../../src/api/filter-complex.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAClB,GAAG,GACJ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAqGrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,gBAAgB;IACnB,KAAK,CAAc;IACnB,WAAW,CAAS;IACpB,OAAO,CAAuB;IAEtC,qBAAqB;IACb,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IACvC,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEjD,uBAAuB;IACf,WAAW,GAAG,KAAK,CAAC;IACpB,QAAQ,GAAG,KAAK,CAAC;IACjB,iBAAiB,GAAyB,IAAI,CAAC;IAEvD,wCAAwC;IAChC,KAAK,GAAU,IAAI,KAAK,EAAE,CAAC;IAEnC;;;;;;;;OAQG;IACH,YAAoB,KAAkB,EAAE,WAAmB,EAAE,OAA6B;QACxF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,MAAM,CAAC,MAAM,CAAC,WAAwC,EAAE,OAA6B;QACnF,6EAA6E;QAC7E,MAAM,iBAAiB,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAE9F,8BAA8B;QAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,mCAAmC;QACnC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,oCAAoC;QACpC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,eAAe;QACf,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;QAChC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,sBAAsB;QACtB,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;QACpC,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAEzE,0BAA0B;QAC1B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;gBAC/B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,SAAS,EAAE,IAAI;gBACf,YAAY,EAAE,EAAE;aACjB,CAAC,CAAC;QACL,CAAC;QAED,2BAA2B;QAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE;gBACjC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,IAAI,MAAM;QACR,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,SAAS;QACX,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mCAAmC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACvD,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,GAAG,WAAW,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC;QAC3D,oDAAoD;QACpD,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kCAAkC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACvD,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,WAAW,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,KAAY;QACzC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,kBAAkB;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,aAAa,CAAC,CAAC;QAClD,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YACD,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAErC,8CAA8C;YAC9C,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;gBAC9B,gEAAgE;gBAChE,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAC7D,MAAM,IAAI,CAAC,iBAAiB,CAAC;YAC/B,CAAC;YAED,OAAO;QACT,CAAC;QAED,4CAA4C;QAC5C,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,6BAA6B,CAAC,CAAC;QAClE,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAElE,0BAA0B;QAC1B,uFAAuF;QACvF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,sBAAsB,GAAG,0BAA0B,CAAoB,CAAC,CAAC;QAC1I,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,iCAAiC,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,WAAW,CAAC,OAAe,EAAE,KAAY;QACvC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,kBAAkB;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,aAAa,CAAC,CAAC;QAClD,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YACD,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAErC,8CAA8C;YAC9C,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;gBAC9B,8EAA8E;gBAC9E,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACxC,CAAC;YAED,OAAO;QACT,CAAC;QAED,4CAA4C;QAC5C,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,6BAA6B,CAAC,CAAC;QAClE,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAElE,0BAA0B;QAC1B,uFAAuF;QACvF,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC,sBAAsB,GAAG,0BAA0B,CAAoB,CAAC,CAAC;QACxI,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,iCAAiC,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+EG;IACH,KAAK,CAAC,CAAC,MAAM,CAAC,QAAgB,EAAE,MAAkE;QAChG,wBAAwB;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,aAAa,CAAC,CAAC;QACpD,CAAC;QAED,kCAAkC;QAClC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,6CAA6C,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,wDAAwD;QACxD,MAAM,WAAW,GAAG,KAAK,SAAS,CAAC;YACjC,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;oBAClC,MAAM;gBACR,CAAC;gBACD,MAAM,QAAQ,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,oDAAoD;QACpD,MAAM,YAAY,GAAG,KAAK,SAAS,CAAC,EAA0B,KAAa,EAAE,KAAY;YACvF,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACjC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,mEAAmE;QACnE,MAAM,QAAQ,GAAG,KAAK,SAAS,CAAC;YAC9B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,CAAC;QACb,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,0BAA0B;QAC1B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAuC,CAAC;QACtE,MAAM,iBAAiB,GAAsC,EAAE,CAAC;QAChE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,8BAA8B;QAErE,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,0BAA0B;gBAC1B,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;iBAAM,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;gBACnC,eAAe;gBACf,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,gBAAgB;gBAChB,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC9B,wBAAwB;YACxB,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,iBAAiB,EAAE,CAAC;gBACjD,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACpC,CAAC;YAED,8BAA8B;YAC9B,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YAED,yCAAyC;YACzC,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YACpB,CAAC;YACD,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,iBAAiB,EAAE,CAAC;YACjD,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,mCAAmC;QACnC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACzC,IAAI,MAAM,GAAG,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,0CAA0C;QAE7E,oEAAoE;QACpE,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC;YACH,kDAAkD;YAClD,OAAO,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;gBACjD,wCAAwC;gBACxC,MAAM,YAAY,GAAuE,EAAE,CAAC;gBAE5F,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,cAAc,EAAE,CAAC;oBAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC/B,YAAY,CAAC,IAAI,CACf,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;4BAChC,KAAK;4BACL,MAAM;yBACP,CAAC,CAAC,CACJ,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,iCAAiC;gBACjC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAEhD,sBAAsB;gBACtB,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;oBACxC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBAChB,+DAA+D;wBAC/D,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAC1B,SAAS;oBACX,CAAC;oBAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;oBAE3B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBACnB,mEAAmE;wBACnE,oEAAoE;wBACpE,qEAAqE;wBACrE,qEAAqE;wBACrE,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACxB,MAAM,GAAG,IAAI,CAAC;wBACd,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAC1B,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBACvB,CAAC;yBAAM,CAAC;wBACN,sBAAsB;wBACtB,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,uEAAuE;YACvE,0EAA0E;YAC1E,+DAA+D;YAC/D,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,uEAAuE;YACvE,8DAA8D;YAC9D,mEAAmE;YACnE,oEAAoE;YACpE,uEAAuE;YACvE,0CAA0C;YAC1C,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/B,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsEG;IACH,CAAC,UAAU,CAAC,QAAgB,EAAE,MAA6D;QACzF,wBAAwB;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,aAAa,CAAC,CAAC;QACpD,CAAC;QAED,kCAAkC;QAClC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,6CAA6C,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,yDAAyD;QACzD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAC1G,CAAC;QAED,wDAAwD;QACxD,MAAM,WAAW,GAAG,QAAQ,CAAC;YAC3B,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;oBAClC,MAAM;gBACR,CAAC;gBACD,MAAM,QAAQ,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,oDAAoD;QACpD,MAAM,YAAY,GAAG,QAAQ,CAAC,EAA0B,KAAa,EAAE,KAAY;YACjF,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC/B,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,mEAAmE;QACnE,MAAM,QAAQ,GAAG,QAAQ,CAAC;YACxB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,CAAC;QACb,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,0BAA0B;QAC1B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkC,CAAC;QACjE,MAAM,iBAAiB,GAAsC,EAAE,CAAC;QAChE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,8BAA8B;QAErE,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,0BAA0B;gBAC1B,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;iBAAM,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;gBACnC,eAAe;gBACf,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,WAAW;gBACX,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC9B,wBAAwB;YACxB,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,iBAAiB,EAAE,CAAC;gBACjD,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACpC,CAAC;YAED,8BAA8B;YAC9B,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YAED,yCAAyC;YACzC,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YACpB,CAAC;YACD,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,iBAAiB,EAAE,CAAC;YACjD,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,mCAAmC;QACnC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACzC,IAAI,MAAM,GAAG,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,0CAA0C;QAE7E,oEAAoE;QACpE,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,CAAC;YACH,6DAA6D;YAC7D,OAAO,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;gBACjD,wCAAwC;gBACxC,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,cAAc,EAAE,CAAC;oBAC/C,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC9B,SAAS;oBACX,CAAC;oBAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAE/B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBAChB,+DAA+D;wBAC/D,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAC1B,SAAS;oBACX,CAAC;oBAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;oBAE3B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBACnB,4DAA4D;wBAC5D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBACtB,MAAM,GAAG,IAAI,CAAC;wBACd,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAC1B,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBACvB,CAAC;yBAAM,CAAC;wBACN,sBAAsB;wBACtB,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,yEAAyE;YACzE,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,oEAAoE;YACpE,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/B,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,KAAK,CAAC,KAAK,CAAC,OAAgB;QAC1B,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,uBAAuB;YACvB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,aAAa,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;gBACvF,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;oBACnC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,yBAAyB,OAAO,EAAE,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,mBAAmB;YACnB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,IAAI,CAAC,UAAU,CAAC,SAAS;oBAAE,SAAS;gBAEpC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;gBACvF,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;oBACnC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,yBAAyB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,SAAS,CAAC,OAAgB;QACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,uBAAuB;YACvB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,aAAa,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;gBACrF,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;oBACnC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,yBAAyB,OAAO,EAAE,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,mBAAmB;YACnB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,IAAI,CAAC,UAAU,CAAC,SAAS;oBAAE,SAAS;gBAEpC,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;gBACrF,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;oBACnC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,yBAAyB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,KAAK,CAAC,CAAC,WAAW,CAAC,QAAgB;QACjC,mBAAmB;QACnB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAEnB,yCAAyC;QACzC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM;YACR,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,CAAC,eAAe,CAAC,QAAgB;QAC/B,mBAAmB;QACnB,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,yCAAyC;QACzC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM;YACR,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC5B,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mBAAmB;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,gCAAgC,CAAC,CAAC;QACvE,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEnB,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExE,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,4CAA4C;YAC5C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;YAClC,kBAAkB;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,gBAAgB;YAChB,OAAO,GAAG,CAAC;QACb,CAAC;aAAM,CAAC;YACN,mBAAmB;YACnB,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,gCAAgC,QAAQ,EAAE,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,WAAW,CAAC,QAAgB;QAC1B,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mBAAmB;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,gCAAgC,CAAC,CAAC;QACvE,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEnB,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtE,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,4CAA4C;YAC5C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;YAClC,kBAAkB;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,gBAAgB;YAChB,OAAO,GAAG,CAAC;QACb,CAAC;aAAM,CAAC;YACN,mBAAmB;YACnB,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,gCAAgC,QAAQ,EAAE,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,kBAAkB;QACxB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,iFAAiF;YACjF,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;gBAClE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACK,KAAK,CAAC,0BAA0B;QACtC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,2DAA2D;QAC3D,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,2CAA2C,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAE9C,qDAAqD;YACrD,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAEnE,sDAAsD;YACtD,UAAU,CAAC,cAAc,GAAG;gBAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,QAAQ,EAAE,UAAU,CAAC,aAAa,EAAE,UAAU,IAAI,CAAC;aACpD,CAAC;YAEF,0BAA0B;YAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAC5F,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;QACnC,CAAC;QAED,2CAA2C;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QACtD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAC/D,CAAC;QAED,iEAAiE;QACjE,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAErC,8BAA8B;QAC9B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACtC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,0CAA0C,CAAC,CAAC;QAE1E,8CAA8C;QAC9C,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;gBAC5D,SAAS;YACX,CAAC;YAED,2CAA2C;YAC3C,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;gBAC5C,kCAAkC;gBAClC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;gBAElE,oBAAoB;gBACpB,uFAAuF;gBACvF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,sBAAsB,GAAG,0BAA0B,CAAoB,CAAC,CAAC;gBAC1I,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,kCAAkC,KAAK,EAAE,CAAC,CAAC;gBAEzE,iBAAiB;gBACjB,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,CAAC;YAED,mCAAmC;YACnC,UAAU,CAAC,YAAY,GAAG,EAAE,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;;;;;OASG;IACK,8BAA8B;QACpC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,2DAA2D;QAC3D,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,2CAA2C,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAE9C,qDAAqD;YACrD,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAEnE,sDAAsD;YACtD,UAAU,CAAC,cAAc,GAAG;gBAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,QAAQ,EAAE,UAAU,CAAC,aAAa,EAAE,UAAU,IAAI,CAAC;aACpD,CAAC;YAEF,0BAA0B;YAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAC5F,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;QACnC,CAAC;QAED,2CAA2C;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QACtD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAC/D,CAAC;QAED,iEAAiE;QACjE,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAErC,8BAA8B;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACpC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,0CAA0C,CAAC,CAAC;QAE1E,8CAA8C;QAC9C,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;gBAC5D,SAAS;YACX,CAAC;YAED,2CAA2C;YAC3C,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;gBAC5C,kCAAkC;gBAClC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;gBAElE,oBAAoB;gBACpB,uFAAuF;gBACvF,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC,sBAAsB,GAAG,0BAA0B,CAAoB,CAAC,CAAC;gBACxI,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,kCAAkC,KAAK,EAAE,CAAC,CAAC;gBAEzE,iBAAiB;gBACjB,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,CAAC;YAED,mCAAmC;YACnC,UAAU,CAAC,YAAY,GAAG,EAAE,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,iBAAiB,CAAC,KAAY;QACpC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,mCAAmC;YACnC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,wBAAwB;YACxB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,wDAAwD;gBACxD,kEAAkE;gBAClE,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAU,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,iCAAiC;gBACjC,OAAO,KAAK,CAAC,QAAQ,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACK,sBAAsB,CAAC,KAAY,EAAE,kBAA6B;QACxE,MAAM,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC;QACxC,KAAK,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;QACxE,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;QAClF,KAAK,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,kBAAkB,CAAC,KAAa,EAAE,KAAY,EAAE,QAAmB;QACzE,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,mBAAmB,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,YAAkC,CAAC;QAEvC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,mCAAmC;YACnC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,GAAG,GAAG,YAAY,CAAC,sBAAsB,CAAC;gBAC9C,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;gBACjC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gBAC1C,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC,CAAC;YACH,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,8CAA8C,KAAK,EAAE,CAAC,CAAC;YAErF,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,0CAA0C,KAAK,EAAE,CAAC,CAAC;QACvF,CAAC;aAAM,CAAC;YACN,iCAAiC;YACjC,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAwB,CAAC,CAAC;YACtE,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnI,MAAM,IAAI,GAAG,aAAa,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,gBAAgB,KAAK,CAAC,UAAU,eAAe,UAAU,mBAAmB,aAAa,EAAE,CAAC;YAElJ,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;YAC1E,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,4CAA4C,KAAK,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,gBAAgB,CAAC,KAAa,EAAE,OAAgB;QACtD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;QAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,mBAAmB,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAChF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACK,sBAAsB;QAC5B,sDAAsD;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,MAA+B,CAAC;QACpC,IAAI,OAAgC,CAAC;QAErC,IAAI,CAAC;YACH,6DAA6D;YAC7D,IAAI,GAAG,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;YAClC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,qCAAqC,CAAC,CAAC;YAErE,0EAA0E;YAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACnC,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrC,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;oBAChC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;oBAChC,IAAI,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;wBAC7C,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;wBAE5D,mCAAmC;wBACnC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;4BAC/E,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;wBACvD,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,mCAAmC;YACnC,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YAC1B,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,oCAAoC,CAAC,CAAC;YAEpE,qDAAqD;YACrD,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC3B,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAE5B,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACrC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;YAEzD,mDAAmD;YACnD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE/B,qDAAqD;YACrD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;gBAAS,CAAC;YACT,2EAA2E;YAC3E,2EAA2E;YAC3E,MAAM,EAAE,IAAI,EAAE,CAAC;YACf,OAAO,EAAE,IAAI,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,iBAAiB,CAAC,MAAmB;QAC3C,IAAI,OAAO,GAAuB,MAAM,CAAC;QAEzC,OAAO,OAAO,EAAE,IAAI,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAE1C,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,GAAG,CAAC,CAAC;YACnE,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,GAAG,CAAC,CAAC;YACtE,CAAC;YAED,iCAAiC;YACjC,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAC5E,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,6BAA6B,KAAK,cAAc,CAAC,CAAC;YAEhF,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,eAAe,CAAC,OAAoB;QAC1C,IAAI,OAAO,GAAuB,OAAO,CAAC;QAE1C,6CAA6C;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACrD,MAAM,cAAc,GAAG,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,sCAAsC;QAE/G,OAAO,OAAO,EAAE,IAAI,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;YAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAE5C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,GAAG,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,2CAA2C,KAAK,GAAG,CAAC,CAAC;YACvE,CAAC;YAED,yEAAyE;YACzE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;YACzE,IAAI,OAAO,GAAG,cAAc,CAAC;YAE7B,IAAI,YAAY,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC1C,OAAO,GAAG,YAAY,CAAC,SAAS,KAAK,kBAAkB,CAAC;YAC1D,CAAC;YAED,2BAA2B;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACzD,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC;YAEpC,mCAAmC;YACnC,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;YAClE,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,yCAAyC,KAAK,GAAG,CAAC,CAAC;YAEjF,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,sBAAsB,CAAC,KAAY,EAAE,UAAyB;QACpE,oFAAoF;QACpF,6EAA6E;QAC7E,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,qBAAqB,EAAE,CAAC;QAEpD,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,UAAU,CAAC,sBAAsB,EAAE,CAAC;YACtD,IAAI,SAAS,CAAC,GAAG,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;gBAC3C,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;gBAC5C,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,CAAC;YACD,UAAU,CAAC,YAAY,GAAG,EAAE,CAAC;YAC7B,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;YAC7B,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,WAAW,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;YAC/B,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAElB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;CACF"}
@@ -685,17 +685,31 @@ export type FilterComplexLabels = string | string[];
685
685
  */
686
686
  export declare class FilterComplexGraph {
687
687
  private chains;
688
+ private hardware?;
688
689
  /**
689
690
  * Create a new filter-complex graph builder.
690
691
  *
692
+ * @param hardware - Optional hardware context. Each {@link chain} then builds
693
+ * with hardware-aware filter selection (e.g. `scale` → `scale_vaapi`,
694
+ * `overlay` → `overlay_vaapi`), like {@link FilterPreset.chain}.
695
+ *
691
696
  * @returns A new builder instance
692
697
  *
693
698
  * @example
694
699
  * ```typescript
695
700
  * const graph = FilterComplexGraph.create();
696
701
  * ```
702
+ *
703
+ * @example
704
+ * ```typescript
705
+ * // Hardware-aware graph (scale_vaapi / overlay_vaapi etc.)
706
+ * const hw = HardwareContext.auto();
707
+ * const graph = FilterComplexGraph.create(hw)
708
+ * .chain({ inputs: '1:v', outputs: 'pip' }, (c) => c.scale(320, 240))
709
+ * .chain({ inputs: ['0:v', 'pip'], outputs: 'out' }, (c) => c.overlay(10, 10));
710
+ * ```
697
711
  */
698
- static create(): FilterComplexGraph;
712
+ static create(hardware?: HardwareContext | null): FilterComplexGraph;
699
713
  /**
700
714
  * Add a labeled filter chain to the graph.
701
715
  *
@@ -734,7 +734,9 @@ export class FilterPreset {
734
734
  if (this.hardware) {
735
735
  // Special handling for RKMPP which uses RGA
736
736
  const filterName = this.hardware.deviceType === AV_HWDEVICE_TYPE_RKMPP ? 'overlay_rkrga' : `overlay_${this.hardware.deviceTypeName}`;
737
- let filter = `${filterName}=${x}:${y}`;
737
+ // Use named options: some hardware overlays (overlay_videotoolbox) accept
738
+ // no positional shorthand, and x=/y= is valid for every overlay variant.
739
+ let filter = `${filterName}=x=${x}:y=${y}`;
738
740
  if (options) {
739
741
  for (const [key, value] of Object.entries(options)) {
740
742
  filter += `:${key}=${value}`;
@@ -743,7 +745,7 @@ export class FilterPreset {
743
745
  this.add(filter);
744
746
  }
745
747
  else {
746
- let filter = `overlay=${x}:${y}`;
748
+ let filter = `overlay=x=${x}:y=${y}`;
747
749
  if (options) {
748
750
  for (const [key, value] of Object.entries(options)) {
749
751
  filter += `:${key}=${value}`;
@@ -1381,18 +1383,34 @@ export class FilterPreset {
1381
1383
  */
1382
1384
  export class FilterComplexGraph {
1383
1385
  chains = [];
1386
+ hardware;
1384
1387
  /**
1385
1388
  * Create a new filter-complex graph builder.
1386
1389
  *
1390
+ * @param hardware - Optional hardware context. Each {@link chain} then builds
1391
+ * with hardware-aware filter selection (e.g. `scale` → `scale_vaapi`,
1392
+ * `overlay` → `overlay_vaapi`), like {@link FilterPreset.chain}.
1393
+ *
1387
1394
  * @returns A new builder instance
1388
1395
  *
1389
1396
  * @example
1390
1397
  * ```typescript
1391
1398
  * const graph = FilterComplexGraph.create();
1392
1399
  * ```
1400
+ *
1401
+ * @example
1402
+ * ```typescript
1403
+ * // Hardware-aware graph (scale_vaapi / overlay_vaapi etc.)
1404
+ * const hw = HardwareContext.auto();
1405
+ * const graph = FilterComplexGraph.create(hw)
1406
+ * .chain({ inputs: '1:v', outputs: 'pip' }, (c) => c.scale(320, 240))
1407
+ * .chain({ inputs: ['0:v', 'pip'], outputs: 'out' }, (c) => c.overlay(10, 10));
1408
+ * ```
1393
1409
  */
1394
- static create() {
1395
- return new FilterComplexGraph();
1410
+ static create(hardware) {
1411
+ const graph = new FilterComplexGraph();
1412
+ graph.hardware = hardware;
1413
+ return graph;
1396
1414
  }
1397
1415
  /**
1398
1416
  * Add a labeled filter chain to the graph.
@@ -1418,7 +1436,7 @@ export class FilterComplexGraph {
1418
1436
  * ```
1419
1437
  */
1420
1438
  chain(labels, build) {
1421
- const preset = FilterPreset.chain();
1439
+ const preset = FilterPreset.chain(this.hardware);
1422
1440
  const filterString = build(preset).build();
1423
1441
  this.chains.push(`${this.renderLabels(labels.inputs)}${filterString}${this.renderLabels(labels.outputs)}`);
1424
1442
  return this;