node-av 5.2.4 → 6.0.0-beta.10

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 (106) hide show
  1. package/README.md +15 -1
  2. package/dist/api/bitstream-filter.d.ts +110 -87
  3. package/dist/api/bitstream-filter.js +162 -102
  4. package/dist/api/bitstream-filter.js.map +1 -1
  5. package/dist/api/decoder.d.ts +87 -8
  6. package/dist/api/decoder.js +179 -4
  7. package/dist/api/decoder.js.map +1 -1
  8. package/dist/api/demuxer.d.ts +30 -24
  9. package/dist/api/demuxer.js +4 -5
  10. package/dist/api/demuxer.js.map +1 -1
  11. package/dist/api/device.js.map +1 -1
  12. package/dist/api/encoder-pool.d.ts +220 -0
  13. package/dist/api/encoder-pool.js +285 -0
  14. package/dist/api/encoder-pool.js.map +1 -0
  15. package/dist/api/encoder.d.ts +133 -7
  16. package/dist/api/encoder.js +392 -68
  17. package/dist/api/encoder.js.map +1 -1
  18. package/dist/api/filter-complex.d.ts +2 -1
  19. package/dist/api/filter-complex.js +11 -7
  20. package/dist/api/filter-complex.js.map +1 -1
  21. package/dist/api/filter-presets.d.ts +130 -654
  22. package/dist/api/filter-presets.js +180 -858
  23. package/dist/api/filter-presets.js.map +1 -1
  24. package/dist/api/filter.js +13 -8
  25. package/dist/api/filter.js.map +1 -1
  26. package/dist/api/fmp4-stream.js +1 -1
  27. package/dist/api/fmp4-stream.js.map +1 -1
  28. package/dist/api/index.d.ts +6 -6
  29. package/dist/api/index.js +8 -8
  30. package/dist/api/index.js.map +1 -1
  31. package/dist/api/muxer.d.ts +43 -15
  32. package/dist/api/muxer.js +79 -27
  33. package/dist/api/muxer.js.map +1 -1
  34. package/dist/api/pipeline.d.ts +50 -0
  35. package/dist/api/pipeline.js +138 -22
  36. package/dist/api/pipeline.js.map +1 -1
  37. package/dist/api/probe.d.ts +128 -0
  38. package/dist/api/probe.js +227 -0
  39. package/dist/api/probe.js.map +1 -0
  40. package/dist/api/rtp-stream.js +1 -1
  41. package/dist/api/rtp-stream.js.map +1 -1
  42. package/dist/api/scaler.d.ts +431 -0
  43. package/dist/api/scaler.js +620 -0
  44. package/dist/api/scaler.js.map +1 -0
  45. package/dist/api/utilities/async-queue.d.ts +27 -1
  46. package/dist/api/utilities/async-queue.js +38 -1
  47. package/dist/api/utilities/async-queue.js.map +1 -1
  48. package/dist/api/utilities/electron-shared-texture.d.ts +41 -1
  49. package/dist/api/utilities/electron-shared-texture.js +41 -4
  50. package/dist/api/utilities/electron-shared-texture.js.map +1 -1
  51. package/dist/api/utilities/index.d.ts +1 -1
  52. package/dist/api/utilities/index.js.map +1 -1
  53. package/dist/api/webrtc-stream.d.ts +0 -1
  54. package/dist/api/webrtc-stream.js +0 -1
  55. package/dist/api/webrtc-stream.js.map +1 -1
  56. package/dist/constants/bsf-options.d.ts +333 -0
  57. package/dist/constants/bsf-options.js +7 -0
  58. package/dist/constants/bsf-options.js.map +1 -0
  59. package/dist/constants/constants.d.ts +109 -0
  60. package/dist/constants/constants.js +110 -0
  61. package/dist/constants/constants.js.map +1 -1
  62. package/dist/constants/decoders.d.ts +636 -618
  63. package/dist/constants/decoders.js +1 -3
  64. package/dist/constants/decoders.js.map +1 -1
  65. package/dist/constants/encoders.d.ts +300 -282
  66. package/dist/constants/encoders.js +0 -2
  67. package/dist/constants/encoders.js.map +1 -1
  68. package/dist/constants/filter-options.d.ts +10915 -0
  69. package/dist/constants/filter-options.js +7 -0
  70. package/dist/constants/filter-options.js.map +1 -0
  71. package/dist/constants/format-options.d.ts +3056 -0
  72. package/dist/constants/format-options.js +7 -0
  73. package/dist/constants/format-options.js.map +1 -0
  74. package/dist/constants/formats.d.ts +18 -0
  75. package/dist/constants/formats.js +7 -0
  76. package/dist/constants/formats.js.map +1 -0
  77. package/dist/constants/index.d.ts +5 -0
  78. package/dist/constants/options.d.ts +4073 -0
  79. package/dist/constants/options.js +7 -0
  80. package/dist/constants/options.js.map +1 -0
  81. package/dist/lib/binding.d.ts +4 -1
  82. package/dist/lib/binding.js.map +1 -1
  83. package/dist/lib/codec.d.ts +36 -5
  84. package/dist/lib/codec.js +37 -4
  85. package/dist/lib/codec.js.map +1 -1
  86. package/dist/lib/dictionary.d.ts +1 -1
  87. package/dist/lib/dictionary.js.map +1 -1
  88. package/dist/lib/error.d.ts +69 -0
  89. package/dist/lib/error.js +92 -0
  90. package/dist/lib/error.js.map +1 -1
  91. package/dist/lib/frame.d.ts +46 -3
  92. package/dist/lib/frame.js +50 -3
  93. package/dist/lib/frame.js.map +1 -1
  94. package/dist/lib/index.d.ts +1 -1
  95. package/dist/lib/index.js.map +1 -1
  96. package/dist/lib/native-types.d.ts +68 -0
  97. package/dist/lib/packet.d.ts +17 -3
  98. package/dist/lib/packet.js +19 -3
  99. package/dist/lib/packet.js.map +1 -1
  100. package/dist/lib/utilities.d.ts +21 -0
  101. package/dist/lib/utilities.js +23 -0
  102. package/dist/lib/utilities.js.map +1 -1
  103. package/dist/webrtc/index.d.ts +3 -0
  104. package/dist/webrtc/index.js +7 -0
  105. package/dist/webrtc/index.js.map +1 -0
  106. package/package.json +32 -21
@@ -2,13 +2,15 @@ import { Writable } from 'node:stream';
2
2
  import { FormatContext } from '../lib/format-context.js';
3
3
  import { Packet } from '../lib/packet.js';
4
4
  import { Encoder } from './encoder.js';
5
+ import type { MuxerFormat, MuxerOptionsFor } from '../constants/index.js';
5
6
  import type { OutputFormat, Stream } from '../lib/index.js';
7
+ import type { BitStreamFilterAPI } from './bitstream-filter.js';
6
8
  import type { Demuxer, RTPDemuxer } from './demuxer.js';
7
9
  import type { IOOutputCallbacks } from './io-stream.js';
8
10
  /**
9
11
  * Options for Muxer creation.
10
12
  */
11
- export interface MuxerOptions {
13
+ export interface MuxerOptions<F extends MuxerFormat | (string & {}) = MuxerFormat | (string & {})> {
12
14
  /**
13
15
  * Input media for automatic metadata and property copying.
14
16
  *
@@ -28,8 +30,11 @@ export interface MuxerOptions {
28
30
  * Use this to override automatic format detection.
29
31
  *
30
32
  * Matches FFmpeg CLI's -f option.
33
+ *
34
+ * When given as a literal (e.g. `'mp4'`), `options` is strongly typed to that
35
+ * muxer's known options plus the generic AVFormatContext options.
31
36
  */
32
- format?: string;
37
+ format?: F;
33
38
  /**
34
39
  * Buffer size for I/O operations.
35
40
  *
@@ -163,10 +168,12 @@ export interface MuxerOptions {
163
168
  /**
164
169
  * FFmpeg format options passed directly to the output.
165
170
  *
166
- * Key-value pairs of FFmpeg AVFormatContext options.
167
- * These are passed directly to avformat_write_header().
171
+ * Key-value pairs of FFmpeg AVFormatContext / muxer-private options, applied
172
+ * before avformat_write_header(). When `format` is a known literal, these are
173
+ * typed to that muxer's options (autocomplete + value typing); arbitrary keys
174
+ * remain allowed so protocol/other options still pass.
168
175
  */
169
- options?: Record<string, string | number | boolean | bigint | undefined | null>;
176
+ options?: MuxerOptionsFor<F>;
170
177
  /**
171
178
  * AbortSignal for cancellation.
172
179
  *
@@ -309,12 +316,12 @@ export declare class Muxer implements AsyncDisposable, Disposable {
309
316
  * @see {@link MuxerOptions} For configuration options
310
317
  * @see {@link IOOutputCallbacks} For custom I/O interface
311
318
  */
312
- static open(target: string, options?: MuxerOptions): Promise<Muxer>;
313
- static open(target: IOOutputCallbacks, options: MuxerOptions & {
314
- format: string;
319
+ static open<const F extends MuxerFormat | (string & {}) = MuxerFormat | (string & {})>(target: string, options?: MuxerOptions<F>): Promise<Muxer>;
320
+ static open<const F extends MuxerFormat | (string & {})>(target: IOOutputCallbacks, options: MuxerOptions<F> & {
321
+ format: F;
315
322
  }): Promise<Muxer>;
316
- static open(target: Writable, options: MuxerOptions & {
317
- format: string;
323
+ static open<const F extends MuxerFormat | (string & {})>(target: Writable, options: MuxerOptions<F> & {
324
+ format: F;
318
325
  }): Promise<Muxer>;
319
326
  /**
320
327
  * Open muxer for writing synchronously.
@@ -352,12 +359,12 @@ export declare class Muxer implements AsyncDisposable, Disposable {
352
359
  *
353
360
  * @see {@link open} For async version
354
361
  */
355
- static openSync(target: string, options?: MuxerOptions): Muxer;
356
- static openSync(target: IOOutputCallbacks, options: MuxerOptions & {
357
- format: string;
362
+ static openSync<const F extends MuxerFormat | (string & {}) = MuxerFormat | (string & {})>(target: string, options?: MuxerOptions<F>): Muxer;
363
+ static openSync<const F extends MuxerFormat | (string & {})>(target: IOOutputCallbacks, options: MuxerOptions<F> & {
364
+ format: F;
358
365
  }): Muxer;
359
- static openSync(target: Writable, options: MuxerOptions & {
360
- format: string;
366
+ static openSync<const F extends MuxerFormat | (string & {})>(target: Writable, options: MuxerOptions<F> & {
367
+ format: F;
361
368
  }): Muxer;
362
369
  /**
363
370
  * Check if output is open.
@@ -462,6 +469,7 @@ export declare class Muxer implements AsyncDisposable, Disposable {
462
469
  */
463
470
  addStream(encoder: Encoder, options?: {
464
471
  inputStream?: Stream;
472
+ bsf?: BitStreamFilterAPI;
465
473
  }): number;
466
474
  /**
467
475
  * Add a stream to the output (stream copy or transcoding mode).
@@ -515,6 +523,7 @@ export declare class Muxer implements AsyncDisposable, Disposable {
515
523
  */
516
524
  addStream(stream: Stream, options?: {
517
525
  encoder?: Encoder;
526
+ bsf?: BitStreamFilterAPI;
518
527
  }): number;
519
528
  /**
520
529
  * Get output stream by index.
@@ -883,6 +892,25 @@ export declare class Muxer implements AsyncDisposable, Disposable {
883
892
  *
884
893
  * @internal
885
894
  */
895
+ /**
896
+ * Apply the configured `startTime` offset to an encoded packet, per stream.
897
+ *
898
+ * `startTime` exists to strip a device's boot-relative timestamp base (e.g. the
899
+ * mach uptime avfoundation reports). But audio encoders re-stamp their output to
900
+ * a ~0 baseline, so subtracting a large device startTime from them would push the
901
+ * timestamps hugely negative and produce a broken/overflowed edit list that strict
902
+ * players (QuickTime) reject. The effective offset is therefore decided once on the
903
+ * stream's first packet and clamped to what the stream actually carries —
904
+ * `min(startTime, max(0, firstPts))`: boot-relative streams normalize to zero,
905
+ * already-zero-based streams are left untouched.
906
+ *
907
+ * @param packet - Cloned packet to adjust in place
908
+ *
909
+ * @param streamInfo - Per-stream muxing state
910
+ *
911
+ * @internal
912
+ */
913
+ private applyStartTimeOffset;
886
914
  private ofStreamcopy;
887
915
  /**
888
916
  * Fix packet timestamps before muxing.
package/dist/api/muxer.js CHANGED
@@ -495,6 +495,7 @@ export class Muxer {
495
495
  outputStream: outStream,
496
496
  inputStream: stream,
497
497
  encoder,
498
+ bsf: options?.bsf,
498
499
  sourceTimeBase: undefined, // Will be set on initialization
499
500
  isStreamCopy: false,
500
501
  sqIdxMux: -1, // Will be set if sync queue is needed
@@ -701,6 +702,11 @@ export class Muxer {
701
702
  if (!encoder.isEncoderInitialized || !codecContext) {
702
703
  continue;
703
704
  }
705
+ // If a trailing bitstream filter is present, wait until it is initialized
706
+ // so its output parameters (e.g. modified extradata) are available.
707
+ if (streamInfo.bsf && !streamInfo.bsf.isInitialized) {
708
+ continue;
709
+ }
704
710
  // This encoder is ready, initialize it now
705
711
  // Read codecType from codecContext, not from stream (which is still uninitialized)
706
712
  // const codecType = codecContext.codecType;
@@ -716,6 +722,14 @@ export class Muxer {
716
722
  // 3. Copy codec parameters from encoder context
717
723
  const ret = streamInfo.outputStream.codecpar.fromContext(codecContext);
718
724
  FFmpegError.throwIfError(ret, 'Failed to copy codec parameters from encoder');
725
+ // 3b. Overlay the trailing bitstream filter's output parameters, so
726
+ // container-level fields (e.g. extradata/level rewritten by h264_metadata)
727
+ // reflect the filter's output rather than the raw encoder output.
728
+ const bsfParams = streamInfo.bsf?.outputCodecParameters;
729
+ if (bsfParams) {
730
+ const bsfRet = bsfParams.copy(streamInfo.outputStream.codecpar);
731
+ FFmpegError.throwIfError(bsfRet, 'Failed to copy codec parameters from bitstream filter');
732
+ }
719
733
  // 4. Copy metadata from input stream
720
734
  if (streamInfo.inputStream) {
721
735
  const metadata = streamInfo.inputStream.metadata;
@@ -806,18 +820,8 @@ export class Muxer {
806
820
  }
807
821
  }
808
822
  else if (this.options.startTime !== undefined) {
809
- // For encoded (non-streamcopy) streams, apply startTime offset.
810
- // Streamcopy handles this in ofStreamcopy; for encoding, the encoder preserves
811
- // decoded frame timestamps which may include a device-based offset (e.g., system
812
- // uptime from avfoundation). Subtract startTime to normalize timestamps to zero.
813
- const startTimeUs = BigInt(Math.floor(this.options.startTime * 1000000));
814
- const tsOffset = avRescaleQ(startTimeUs, AV_TIME_BASE_Q, clonedPacket.timeBase);
815
- if (clonedPacket.pts !== AV_NOPTS_VALUE) {
816
- clonedPacket.pts -= tsOffset;
817
- }
818
- if (clonedPacket.dts !== AV_NOPTS_VALUE) {
819
- clonedPacket.dts -= tsOffset;
820
- }
823
+ // For encoded (non-streamcopy) streams, strip the device's startTime base.
824
+ this.applyStartTimeOffset(clonedPacket, streamInfo);
821
825
  }
822
826
  // Check if any streams are still uninitialized or header is being written
823
827
  const uninitialized = Array.from(this._streams.values()).some((s) => !s.initialized);
@@ -986,6 +990,11 @@ export class Muxer {
986
990
  if (!encoder.isEncoderInitialized || !codecContext) {
987
991
  continue;
988
992
  }
993
+ // If a trailing bitstream filter is present, wait until it is initialized
994
+ // so its output parameters (e.g. modified extradata) are available.
995
+ if (streamInfo.bsf && !streamInfo.bsf.isInitialized) {
996
+ continue;
997
+ }
989
998
  // This encoder is ready, initialize it now
990
999
  // Read codecType from codecContext, not from stream (which is still uninitialized)
991
1000
  const codecType = codecContext.codecType;
@@ -1010,6 +1019,14 @@ export class Muxer {
1010
1019
  // 3. Copy codec parameters from encoder context
1011
1020
  const ret = streamInfo.outputStream.codecpar.fromContext(codecContext);
1012
1021
  FFmpegError.throwIfError(ret, 'Failed to copy codec parameters from encoder');
1022
+ // 3b. Overlay the trailing bitstream filter's output parameters, so
1023
+ // container-level fields (e.g. extradata/level rewritten by h264_metadata)
1024
+ // reflect the filter's output rather than the raw encoder output.
1025
+ const bsfParams = streamInfo.bsf?.outputCodecParameters;
1026
+ if (bsfParams) {
1027
+ const bsfRet = bsfParams.copy(streamInfo.outputStream.codecpar);
1028
+ FFmpegError.throwIfError(bsfRet, 'Failed to copy codec parameters from bitstream filter');
1029
+ }
1013
1030
  // 4. Copy metadata from input stream
1014
1031
  if (streamInfo.inputStream) {
1015
1032
  const metadata = streamInfo.inputStream.metadata;
@@ -1100,18 +1117,8 @@ export class Muxer {
1100
1117
  }
1101
1118
  }
1102
1119
  else if (this.options.startTime !== undefined) {
1103
- // For encoded (non-streamcopy) streams, apply startTime offset.
1104
- // Streamcopy handles this in ofStreamcopy; for encoding, the encoder preserves
1105
- // decoded frame timestamps which may include a device-based offset (e.g., system
1106
- // uptime from avfoundation). Subtract startTime to normalize timestamps to zero.
1107
- const startTimeUs = BigInt(Math.floor(this.options.startTime * 1000000));
1108
- const tsOffset = avRescaleQ(startTimeUs, AV_TIME_BASE_Q, clonedPacket.timeBase);
1109
- if (clonedPacket.pts !== AV_NOPTS_VALUE) {
1110
- clonedPacket.pts -= tsOffset;
1111
- }
1112
- if (clonedPacket.dts !== AV_NOPTS_VALUE) {
1113
- clonedPacket.dts -= tsOffset;
1114
- }
1120
+ // For encoded (non-streamcopy) streams, strip the device's startTime base.
1121
+ this.applyStartTimeOffset(clonedPacket, streamInfo);
1115
1122
  }
1116
1123
  // Check if any streams are still uninitialized
1117
1124
  const uninitialized = Array.from(this._streams.values()).some((s) => !s.initialized);
@@ -1753,6 +1760,46 @@ export class Muxer {
1753
1760
  *
1754
1761
  * @internal
1755
1762
  */
1763
+ /**
1764
+ * Apply the configured `startTime` offset to an encoded packet, per stream.
1765
+ *
1766
+ * `startTime` exists to strip a device's boot-relative timestamp base (e.g. the
1767
+ * mach uptime avfoundation reports). But audio encoders re-stamp their output to
1768
+ * a ~0 baseline, so subtracting a large device startTime from them would push the
1769
+ * timestamps hugely negative and produce a broken/overflowed edit list that strict
1770
+ * players (QuickTime) reject. The effective offset is therefore decided once on the
1771
+ * stream's first packet and clamped to what the stream actually carries —
1772
+ * `min(startTime, max(0, firstPts))`: boot-relative streams normalize to zero,
1773
+ * already-zero-based streams are left untouched.
1774
+ *
1775
+ * @param packet - Cloned packet to adjust in place
1776
+ *
1777
+ * @param streamInfo - Per-stream muxing state
1778
+ *
1779
+ * @internal
1780
+ */
1781
+ applyStartTimeOffset(packet, streamInfo) {
1782
+ if (this.options.startTime === undefined) {
1783
+ return;
1784
+ }
1785
+ if (streamInfo.startTimeOffset === undefined) {
1786
+ const startTimeUs = BigInt(Math.floor(this.options.startTime * 1000000));
1787
+ const requested = avRescaleQ(startTimeUs, AV_TIME_BASE_Q, packet.timeBase);
1788
+ const firstTs = packet.pts !== AV_NOPTS_VALUE ? packet.pts : packet.dts;
1789
+ const carried = firstTs !== AV_NOPTS_VALUE && firstTs > 0n ? firstTs : 0n;
1790
+ streamInfo.startTimeOffset = requested < carried ? requested : carried;
1791
+ }
1792
+ const offset = streamInfo.startTimeOffset;
1793
+ if (offset === 0n) {
1794
+ return;
1795
+ }
1796
+ if (packet.pts !== AV_NOPTS_VALUE) {
1797
+ packet.pts -= offset;
1798
+ }
1799
+ if (packet.dts !== AV_NOPTS_VALUE) {
1800
+ packet.dts -= offset;
1801
+ }
1802
+ }
1756
1803
  ofStreamcopy(pkt, streamInfo, streamIndex) {
1757
1804
  const outputStream = this.formatContext.streams[streamIndex];
1758
1805
  if (!outputStream) {
@@ -1917,9 +1964,14 @@ export class Muxer {
1917
1964
  }
1918
1965
  // Create new dictionary with filtered entries
1919
1966
  const metadata = Dictionary.fromObject(filteredEntries);
1920
- // Set metadata to format context
1921
- // This will copy the dictionary content via av_dict_copy
1922
- this.formatContext.metadata = metadata;
1967
+ // Set metadata to format context. The setter copies the content via
1968
+ // av_dict_copy, so the local dictionary must be freed afterwards.
1969
+ try {
1970
+ this.formatContext.metadata = metadata;
1971
+ }
1972
+ finally {
1973
+ metadata.free();
1974
+ }
1923
1975
  }
1924
1976
  this.containerMetadataCopied = true;
1925
1977
  }
@@ -1 +1 @@
1
- {"version":3,"file":"muxer.js","sourceRoot":"","sources":["../../src/api/muxer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"muxer.js","sourceRoot":"","sources":["../../src/api/muxer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAExC,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,wBAAwB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC1G,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AA0OxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,OAAO,KAAK;IACR,aAAa,CAAgB;IAC7B,OAAO,CAAe;IACtB,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;IAChD,SAAS,CAAa;IACtB,aAAa,GAAG,KAAK,CAAC;IACtB,kBAAkB,CAAiB;IACnC,cAAc,GAAG,KAAK,CAAC;IACvB,QAAQ,GAAG,KAAK,CAAC;IACjB,SAAS,CAAa,CAAC,qDAAqD;IAC5E,QAAQ,CAAU,CAAC,yCAAyC;IAC5D,uBAAuB,GAAG,KAAK,CAAC,CAAC,8CAA8C;IAC/E,UAAU,CAAwB,CAAC,6CAA6C;IAChF,kBAAkB,CAAiB,CAAC,4BAA4B;IAChE,MAAM,CAAe;IAE7B;;;;OAIG;IACH,YAAoB,OAAsB;QACxC,IAAI,CAAC,OAAO,GAAG;YACb,uBAAuB,EAAE,KAAK;YAC9B,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;YACnB,GAAG,OAAO;SACX,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAC3C,CAAC;IAuED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAA6C,EAAE,OAAsB;QACrF,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAElC,IAAI,CAAC;YACH,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,qEAAqE;gBACrE,+DAA+D;gBAC/D,MAAM,KAAK,GAAG,+BAA+B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3D,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAExD,wDAAwD;gBACxD,IAAI,CAAC,KAAK,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;oBAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;oBACpC,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxC,CAAC;gBACD,0BAA0B;gBAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,cAAc,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;gBACnI,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC;gBAEnE,iCAAiC;gBACjC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBACvD,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,+BAA+B,GAAG,GAAG,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;gBAED,8BAA8B;gBAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;gBAC7C,IAAI,cAAc,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBACjE,oEAAoE;oBACpE,gDAAgD;oBAChD,MAAM,CAAC,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;oBACnC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;oBAC9E,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,+BAA+B,cAAc,EAAE,CAAC,CAAC;oBACnF,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC7C,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,YAAY,QAAQ,EAAE,CAAC;gBACtC,uCAAuC;gBACvC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBACzE,CAAC;gBAED,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACjF,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC;gBAEnE,iCAAiC;gBACjC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBACvD,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,+BAA+B,GAAG,GAAG,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC1D,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC3C,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,gDAAgD;gBAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAC5D,CAAC;gBAED,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACjF,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC;gBAEnE,iCAAiC;gBACjC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBACvD,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,+BAA+B,GAAG,GAAG,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC1D,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC3C,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YACtD,CAAC;YAED,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBAChC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACjC,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mBAAmB;YACnB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;oBACvE,IAAI,UAAU,EAAE,CAAC;wBACf,+BAA+B;wBAC/B,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC;wBAC/B,iDAAiD;wBACjD,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;oBACjC,CAAC;yBAAM,CAAC;wBACN,2CAA2C;wBAC3C,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;oBAClC,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,gBAAgB;gBAClB,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;gBACrC,CAAC;gBAAC,MAAM,CAAC;oBACP,gBAAgB;gBAClB,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAyCD,MAAM,CAAC,QAAQ,CAAC,MAA6C,EAAE,OAAsB;QACnF,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAElC,IAAI,CAAC;YACH,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,qEAAqE;gBACrE,+DAA+D;gBAC/D,MAAM,KAAK,GAAG,+BAA+B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3D,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAExD,wDAAwD;gBACxD,IAAI,CAAC,KAAK,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;oBAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;oBACpC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtC,CAAC;gBACD,0BAA0B;gBAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,cAAc,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;gBACnI,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC;gBAEnE,iCAAiC;gBACjC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBACvD,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,+BAA+B,GAAG,GAAG,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;gBAED,8BAA8B;gBAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;gBAC7C,IAAI,cAAc,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBACjE,oEAAoE;oBACpE,gDAAgD;oBAChD,MAAM,CAAC,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;oBACnC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;oBAC5E,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,+BAA+B,cAAc,EAAE,CAAC,CAAC;oBACnF,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC7C,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,YAAY,QAAQ,EAAE,CAAC;gBACtC,uCAAuC;gBACvC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBACzE,CAAC;gBAED,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACjF,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC;gBAEnE,iCAAiC;gBACjC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBACvD,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,+BAA+B,GAAG,GAAG,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC1D,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC3C,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,gDAAgD;gBAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAC5D,CAAC;gBAED,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACjF,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC;gBAEnE,iCAAiC;gBACjC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBACvD,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,+BAA+B,GAAG,GAAG,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC1D,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC3C,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YACtD,CAAC;YAED,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBAChC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACjC,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mBAAmB;YACnB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;oBACvE,IAAI,UAAU,EAAE,CAAC;wBACf,+BAA+B;wBAC/B,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC;wBAC/B,iDAAiD;wBACjD,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;oBACjC,CAAC;yBAAM,CAAC;wBACN,2CAA2C;wBAC3C,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;oBAChC,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,gBAAgB;gBAClB,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;gBACrC,CAAC;gBAAC,MAAM,CAAC;oBACP,gBAAgB;gBAClB,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,IAAI,MAAM;QACR,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,kBAAkB;QACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;;;;;OASG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;IACpC,CAAC;IAED;;;;;;;;;OASG;IACH,IAAI,UAAU;QACZ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,IAAI,SAAS,CAAC;IACvD,CAAC;IAED;;;;;;;;;OASG;IACH,IAAI,cAAc;QAChB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,IAAI,gBAAgB,CAAC;IAClE,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC;IACtD,CAAC;IAsFD,SAAS,CAAC,eAAiC,EAAE,OAA+E;QAC1H,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,oDAAoD;QACpD,MAAM,cAAc,GAAG,eAAe,YAAY,OAAO,CAAC;QAE1D,IAAI,MAA0B,CAAC;QAC/B,IAAI,OAA4B,CAAC;QAEjC,IAAI,cAAc,EAAE,CAAC;YACnB,6BAA6B;YAC7B,OAAO,GAAG,eAAe,CAAC;YAC1B,MAAM,GAAG,OAAO,EAAE,WAAW,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,4BAA4B;YAC5B,MAAM,GAAG,eAAe,CAAC;YACzB,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;QAC7B,CAAC;QAED,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC;QAE9B,oDAAoD;QACpD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAC3C,IAAI,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC/D,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACrD,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,iCAAiC,CAAC,CAAC;YAEjE,oBAAoB;YACpB,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;YAEvC,SAAS,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAE5E,qCAAqC;YACrC,SAAS,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;YAC7C,IAAI,MAAM,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;gBACrC,SAAS,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;YACzD,CAAC;YACD,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YAEzC,gBAAgB;YAChB,IAAI,MAAM,CAAC,QAAQ,GAAG,EAAE,EAAE,CAAC;gBACzB,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YACvC,CAAC;YAED,gBAAgB;YAChB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YACjC,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAChC,CAAC;YAED,mBAAmB;YACnB,SAAS,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;YAE3C,0CAA0C;YAC1C,mDAAmD;YACnD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YAC1D,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;gBAC7B,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE;gBACjC,WAAW,EAAE,IAAI;gBACjB,YAAY,EAAE,SAAS;gBACvB,WAAW,EAAE,MAAM;gBACnB,OAAO,EAAE,SAAS;gBAClB,cAAc;gBACd,YAAY,EAAE,IAAI;gBAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,sCAAsC;gBACpD,WAAW,EAAE,EAAE;gBACf,mBAAmB,EAAE,CAAC;gBACtB,WAAW,EAAE,KAAK;gBAClB,UAAU,EAAE,cAAc;gBAC1B,kBAAkB,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE;gBAC7C,iBAAiB,EAAE,KAAK;aACzB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,sEAAsE;YACtE,2FAA2F;YAC3F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE;gBACjC,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,SAAS;gBACvB,WAAW,EAAE,MAAM;gBACnB,OAAO;gBACP,GAAG,EAAE,OAAO,EAAE,GAAG;gBACjB,cAAc,EAAE,SAAS,EAAE,gCAAgC;gBAC3D,YAAY,EAAE,KAAK;gBACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,sCAAsC;gBACpD,WAAW,EAAE,EAAE;gBACf,mBAAmB,EAAE,CAAC;gBACtB,WAAW,EAAE,KAAK;gBAClB,UAAU,EAAE,cAAc;gBAC1B,kBAAkB,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE;gBAC7C,iBAAiB,EAAE,KAAK;aACzB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC,KAAK,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,SAAS,CAAC,KAAa;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QAC3C,IAAI,CAAC,OAAO,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACrD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,KAAK,CAAC,KAAK,GAAG,CAAC;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/B,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,KAAK,kBAAkB,CAAC,CAAC;QACxF,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,KAAK,CAAC,KAAK,GAAG,CAAC;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/B,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,KAAK,kBAAkB,CAAC,CAAC;QACxF,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqDG;IACH,KAAK,CAAC,WAAW,CAAC,MAAiC,EAAE,WAAmB;QACtE,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;QAE9B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,gDAAgD;QAChD,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBAClD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;gBACnC,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;gBAE/C,gCAAgC;gBAChC,IAAI,CAAC,OAAO,CAAC,oBAAoB,IAAI,CAAC,YAAY,EAAE,CAAC;oBACnD,SAAS;gBACX,CAAC;gBAED,0EAA0E;gBAC1E,oEAAoE;gBACpE,IAAI,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;oBACpD,SAAS;gBACX,CAAC;gBAED,2CAA2C;gBAC3C,mFAAmF;gBACnF,4CAA4C;gBAE5C,yBAAyB;gBACzB,IAAI,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;oBAC3F,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC7D,UAAU,CAAC,YAAY,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;gBAClE,CAAC;gBAED,qEAAqE;gBACrE,MAAM,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC;gBAClC,UAAU,CAAC,YAAY,CAAC,YAAY,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;gBACpE,UAAU,CAAC,YAAY,CAAC,iBAAiB,GAAG,YAAY,CAAC,iBAAiB,CAAC;gBAE3E,gDAAgD;gBAChD,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACvE,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,8CAA8C,CAAC,CAAC;gBAE9E,oEAAoE;gBACpE,2EAA2E;gBAC3E,kEAAkE;gBAClE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,qBAAqB,CAAC;gBACxD,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAChE,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,uDAAuD,CAAC,CAAC;gBAC5F,CAAC;gBAED,qCAAqC;gBACrC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;oBAC3B,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC;oBACjD,IAAI,QAAQ,EAAE,CAAC;wBACb,UAAU,CAAC,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBAC9C,CAAC;oBAED,wCAAwC;oBACxC,UAAU,CAAC,YAAY,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC;oBAEzE,0CAA0C;oBAC1C,IAAI,UAAU,CAAC,WAAW,CAAC,QAAQ,GAAG,EAAE,EAAE,CAAC;wBACzC,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC;wBAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC;wBAClD,MAAM,gBAAgB,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;wBACxF,UAAU,CAAC,YAAY,CAAC,QAAQ,GAAG,gBAAgB,CAAC;oBACtD,CAAC;gBACH,CAAC;gBAED,qDAAqD;gBACrD,UAAU,CAAC,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC;gBAElD,sBAAsB;gBACtB,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;YAChC,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;QAEnD,yGAAyG;QACzG,qBAAqB;QACrB,2FAA2F;QAC3F,qEAAqE;QACrE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,8BAA8B;YAC9B,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;YAE9B,mEAAmE;YACnE,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAErF,mEAAmE;YACnE,iFAAiF;YACjF,IAAI,aAAa,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC7C,mDAAmD;gBACnD,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClC,OAAO;YACT,CAAC;YAED,iEAAiE;YACjE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YAED,+CAA+C;YAC/C,IAAI,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAC/C,wCAAwC;gBACxC,gEAAgE;gBAChE,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAE3D,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;oBACnC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;wBAC7B,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,kCAAkC,CAAC,CAAC;oBACpE,CAAC;gBACH,CAAC;gBAED,0DAA0D;gBAC1D,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAS,CAAC,CAAC;oBAC3D,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;wBAC/B,MAAM,CAAC,wBAAwB;oBACjC,CAAC;oBACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;wBAC5B,MAAM,CAAC,uBAAuB;oBAChC,CAAC;oBACD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;wBACjB,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;wBACnD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAS,CAAC,KAAK,EAAE,CAAC;wBACnC,IAAI,CAAC,GAAG,EAAE,CAAC;4BACT,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;wBAC5D,CAAC;wBACD,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;wBAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,CAAC,mCAAmC;QAC7C,CAAC;QAED,4EAA4E;QAC5E,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,8CAA8C;QAC9C,6DAA6D;QAC7D,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAC7E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,uCAAuC;gBAC5D,OAAO;YACT,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAChD,2EAA2E;YAC3E,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACtD,CAAC;QAED,0EAA0E;QAC1E,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAErF,8DAA8D;QAC9D,0FAA0F;QAC1F,iEAAiE;QACjE,IAAI,aAAa,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7C,2BAA2B;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,IAAI,qBAAqB,CAAC;YAC5E,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,IAAI,2BAA2B,CAAC;YAE3F,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC;YACrD,MAAM,YAAY,GAAG,UAAU,CAAC,mBAAmB,CAAC;YACpD,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC;YAErC,MAAM,gBAAgB,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,CAAC;YACnE,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAEpF,oEAAoE;YACpE,IAAI,cAAc,IAAI,mBAAmB,EAAE,CAAC;gBAC1C,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,0CAA0C;gBAC/D,MAAM,IAAI,KAAK;gBACb,8CAA8C;gBAC9C,+CAA+C,WAAW,cAAc,cAAc,YAAY,YAAY,gBAAgB,aAAa,UAAU,UAAU,GAAG,CACnK,CAAC;YACJ,CAAC;YAED,0CAA0C;YAC1C,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1C,UAAU,CAAC,mBAAmB,IAAI,UAAU,CAAC;YAE7C,OAAO,CAAC,oCAAoC;QAC9C,CAAC;QACD,gDAAgD;QAChD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,kBAAkB,KAAK,CAAC,KAAK,IAAI,EAAE;gBACtC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAChC,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAE7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;gBACnD,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;gBAExD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAE1B,2EAA2E;gBAC3E,2DAA2D;gBAC3D,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACjC,CAAC,CAAC,EAAE,CAAC;YAEL,MAAM,IAAI,CAAC,kBAAkB,CAAC;YAE9B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACtC,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,IAAI,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;YAC/C,wCAAwC;YACxC,+CAA+C;YAC/C,8FAA8F;YAE9F,4BAA4B;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAEnE,6BAA6B;YAC7B,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACZ,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;oBACxB,gDAAgD;oBAChD,OAAO;gBACT,CAAC;gBAED,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC7B,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,qCAAqC,CAAC,CAAC;gBACvE,CAAC;gBACD,OAAO;YACT,CAAC;YAED,6DAA6D;YAC7D,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAS,CAAC,CAAC;gBAC3D,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;oBAC/B,MAAM,CAAC,wBAAwB;gBACjC,CAAC;gBACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;oBAC5B,MAAM,CAAC,uBAAuB;gBAChC,CAAC;gBACD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;oBACjB,8BAA8B;oBAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;oBAEnD,wEAAwE;oBACxE,6DAA6D;oBAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAS,CAAC,KAAK,EAAE,CAAC;oBACnC,IAAI,CAAC,GAAG,EAAE,CAAC;wBACT,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;oBAC5D,CAAC;oBACD,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;oBAE1B,uCAAuC;oBACvC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,YAAY,CAAC,WAAW,GAAG,WAAW,CAAC;YACvC,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsDG;IACH,eAAe,CAAC,MAAiC,EAAE,WAAmB;QACpE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,gDAAgD;QAChD,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBAClD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;gBACnC,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;gBAE/C,gCAAgC;gBAChC,IAAI,CAAC,OAAO,CAAC,oBAAoB,IAAI,CAAC,YAAY,EAAE,CAAC;oBACnD,SAAS;gBACX,CAAC;gBAED,0EAA0E;gBAC1E,oEAAoE;gBACpE,IAAI,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;oBACpD,SAAS;gBACX,CAAC;gBAED,2CAA2C;gBAC3C,mFAAmF;gBACnF,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;gBAEzC,yBAAyB;gBACzB,+DAA+D;gBAC/D,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACxB,iCAAiC;oBACjC,UAAU,CAAC,YAAY,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpG,CAAC;qBAAM,CAAC;oBACN,kCAAkC;oBAClC,mFAAmF;oBACnF,UAAU,CAAC,YAAY,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACxG,CAAC;gBAED,qEAAqE;gBACrE,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;oBACrC,MAAM,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC;oBAClC,UAAU,CAAC,YAAY,CAAC,YAAY,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;oBACpE,UAAU,CAAC,YAAY,CAAC,UAAU,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;oBAClE,UAAU,CAAC,YAAY,CAAC,iBAAiB,GAAG,YAAY,CAAC,iBAAiB,CAAC;gBAC7E,CAAC;gBAED,gDAAgD;gBAChD,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACvE,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,8CAA8C,CAAC,CAAC;gBAE9E,oEAAoE;gBACpE,2EAA2E;gBAC3E,kEAAkE;gBAClE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,qBAAqB,CAAC;gBACxD,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAChE,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,uDAAuD,CAAC,CAAC;gBAC5F,CAAC;gBAED,qCAAqC;gBACrC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;oBAC3B,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC;oBACjD,IAAI,QAAQ,EAAE,CAAC;wBACb,UAAU,CAAC,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBAC9C,CAAC;oBAED,wCAAwC;oBACxC,UAAU,CAAC,YAAY,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC;oBAEzE,0CAA0C;oBAC1C,IAAI,UAAU,CAAC,WAAW,CAAC,QAAQ,GAAG,EAAE,EAAE,CAAC;wBACzC,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC;wBAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC;wBAClD,MAAM,gBAAgB,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;wBACxF,UAAU,CAAC,YAAY,CAAC,QAAQ,GAAG,gBAAgB,CAAC;oBACtD,CAAC;gBACH,CAAC;gBAED,qDAAqD;gBACrD,UAAU,CAAC,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC;gBAElD,sBAAsB;gBACtB,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;YAChC,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;QAEnD,yGAAyG;QACzG,qBAAqB;QACrB,2FAA2F;QAC3F,qEAAqE;QACrE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,8BAA8B;YAC9B,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;YAE9B,mEAAmE;YACnE,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAErF,mEAAmE;YACnE,iFAAiF;YACjF,IAAI,aAAa,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC7C,mDAAmD;gBACnD,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClC,OAAO;YACT,CAAC;YAED,iEAAiE;YACjE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YAED,+CAA+C;YAC/C,IAAI,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAC/C,wCAAwC;gBACxC,gEAAgE;gBAChE,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAE3D,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;oBACnC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;wBAC7B,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,kCAAkC,CAAC,CAAC;oBACpE,CAAC;gBACH,CAAC;gBAED,0DAA0D;gBAC1D,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAS,CAAC,CAAC;oBAC3D,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;wBAC/B,MAAM,CAAC,wBAAwB;oBACjC,CAAC;oBACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;wBAC5B,MAAM,CAAC,uBAAuB;oBAChC,CAAC;oBACD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;wBACjB,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;wBACnD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAS,CAAC,KAAK,EAAE,CAAC;wBACnC,IAAI,CAAC,GAAG,EAAE,CAAC;4BACT,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;wBAC5D,CAAC;wBACD,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;wBAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;oBAC/C,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,CAAC,mCAAmC;QAC7C,CAAC;QAED,4EAA4E;QAC5E,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,8CAA8C;QAC9C,6DAA6D;QAC7D,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAC7E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,uCAAuC;gBAC5D,OAAO;YACT,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAChD,2EAA2E;YAC3E,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACtD,CAAC;QAED,+CAA+C;QAC/C,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAErF,8DAA8D;QAC9D,0FAA0F;QAC1F,iEAAiE;QACjE,IAAI,aAAa,EAAE,CAAC;YAClB,2BAA2B;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,IAAI,qBAAqB,CAAC;YAC5E,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,IAAI,2BAA2B,CAAC;YAE3F,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC;YACrD,MAAM,YAAY,GAAG,UAAU,CAAC,mBAAmB,CAAC;YACpD,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC;YAErC,MAAM,gBAAgB,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,CAAC;YACnE,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAEpF,oEAAoE;YACpE,IAAI,cAAc,IAAI,mBAAmB,EAAE,CAAC;gBAC1C,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,0CAA0C;gBAC/D,MAAM,IAAI,KAAK;gBACb,8CAA8C;gBAC9C,+CAA+C,WAAW,cAAc,cAAc,YAAY,YAAY,gBAAgB,aAAa,UAAU,UAAU,GAAG,CACnK,CAAC;YACJ,CAAC;YAED,0CAA0C;YAC1C,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1C,UAAU,CAAC,mBAAmB,IAAI,UAAU,CAAC;YAE7C,OAAO,CAAC,oCAAoC;QAC9C,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;YACjD,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;YACxD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAE1B,2EAA2E;YAC3E,2DAA2D;YAC3D,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC;QAED,qDAAqD;QACrD,IAAI,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;YAC/C,wCAAwC;YACxC,+CAA+C;YAC/C,8FAA8F;YAE9F,4BAA4B;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAEnE,6BAA6B;YAC7B,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACZ,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;oBACxB,gDAAgD;oBAChD,OAAO;gBACT,CAAC;gBAED,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC7B,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,qCAAqC,CAAC,CAAC;gBACvE,CAAC;gBACD,OAAO;YACT,CAAC;YAED,6DAA6D;YAC7D,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAS,CAAC,CAAC;gBAC3D,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;oBAC/B,MAAM,CAAC,wBAAwB;gBACjC,CAAC;gBACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;oBAC5B,MAAM,CAAC,uBAAuB;gBAChC,CAAC;gBACD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;oBACjB,8BAA8B;oBAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;oBAEnD,wEAAwE;oBACxE,6DAA6D;oBAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAS,CAAC,KAAK,EAAE,CAAC;oBACnC,IAAI,CAAC,GAAG,EAAE,CAAC;wBACT,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;oBAC5D,CAAC;oBACD,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;oBAE1B,uCAAuC;oBACvC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,YAAY,CAAC,WAAW,GAAG,WAAW,CAAC;YACvC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,kDAAkD;QAClD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,kBAAkB,CAAC;QAChC,CAAC;QAED,2BAA2B;QAC3B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,kCAAkC;YAClC,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;gBACzC,GAAG,EAAE,IAAI,EAAE,CAAC;YACd,CAAC;YACD,UAAU,CAAC,WAAW,GAAG,EAAE,CAAC;QAC9B,CAAC;QAED,4BAA4B;QAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;QAED,gEAAgE;QAChE,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC/C,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;gBACxC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;QAED,qDAAqD;QACrD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC;QAC/B,CAAC;QAED,+DAA+D;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAErE,sDAAsD;QACtD,iDAAiD;QACjD,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB;YAClB,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB;YAClB,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,IAAI,IAAI,CAAC,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS;QACP,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,2BAA2B;QAC3B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,kCAAkC;YAClC,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;gBACzC,GAAG,EAAE,IAAI,EAAE,CAAC;YACd,CAAC;YACD,UAAU,CAAC,WAAW,GAAG,EAAE,CAAC;QAC9B,CAAC;QAED,4BAA4B;QAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;QAED,gEAAgE;QAChE,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC/C,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;gBACtC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;QAED,qDAAqD;QACrD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC;QAC/B,CAAC;QAED,+DAA+D;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAErE,sDAAsD;QACtD,iDAAiD;QACjD,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB;YAClB,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB;YAClB,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,IAAI,IAAI,CAAC,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;OAWG;IACK,eAAe;QACrB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,+CAA+C;QACzF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;QAEzF,oFAAoF;QACpF,uFAAuF;QACvF,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,aAAa,GAAG,OAAO,CAAC;QAE5E,IAAI,cAAc,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,oBAAoB;YACpB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,IAAI,oBAAoB,CAAC;YACpF,MAAM,SAAS,GAAG,cAAc,GAAG,OAAO,CAAC,CAAC,0BAA0B;YACtE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACpE,IAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAEtB,gCAAgC;YAChC,mEAAmE;YACnE,mEAAmE;YACnE,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBAChD,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB;YACxE,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7C,8CAA8C;YAC9C,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAE3B,2BAA2B;YAC3B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBAChD,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,iBAAiB;QAC7B,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,aAAa,GAA6B,IAAI,CAAC;YACnD,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;YACxB,IAAI,MAAM,GAAG,cAAc,CAAC;YAC5B,IAAI,WAAW,GAAc,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAEhD,2DAA2D;YAC3D,sEAAsE;YACtE,KAAK,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtD,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxC,SAAS;gBACX,CAAC;gBAED,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,qCAAqC;gBAE5E,mFAAmF;gBACnF,iDAAiD;gBACjD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,cAAc,EAAE,CAAC;oBACvC,aAAa,GAAG,UAAU,CAAC;oBAC3B,cAAc,GAAG,WAAW,CAAC;oBAC7B,MAAM;gBACR,CAAC;gBAED,mCAAmC;gBACnC,IAAI,MAAM,KAAK,cAAc,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7F,aAAa,GAAG,UAAU,CAAC;oBAC3B,cAAc,GAAG,WAAW,CAAC;oBAC7B,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC;oBACjB,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAC7B,CAAC;YACH,CAAC;YAED,wCAAwC;YACxC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM;YACR,CAAC;YAED,iEAAiE;YACjE,MAAM,GAAG,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,EAAG,CAAC;YAE/C,qCAAqC;YACrC,6DAA6D;YAC7D,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,0CAA0C;gBAC1C,IAAI,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;oBAClD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAC9D,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;wBACnC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;4BAC7B,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,2DAA2D,CAAC,CAAC;wBAC7F,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,uEAAuE;gBACvE,SAAS;YACX,CAAC;YAED,+CAA+C;YAC/C,aAAa,CAAC,mBAAmB,IAAI,GAAG,CAAC,IAAI,CAAC;YAE9C,yCAAyC;YACzC,GAAG,CAAC,WAAW,GAAG,cAAc,CAAC;YACjC,IAAI,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAClD,qCAAqC;gBACrC,sCAAsC;gBACtC,2EAA2E;gBAC3E,6DAA6D;gBAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAC7D,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;oBACnC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;wBAC7B,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,8DAA8D,CAAC,CAAC;oBAChG,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,0BAA0B;gBAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAS,CAAC,CAAC;gBAC3D,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;oBAC/B,MAAM,CAAC,wBAAwB;gBACjC,CAAC;gBACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;oBAC5B,MAAM,CAAC,uBAAuB;gBAChC,CAAC;gBACD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;oBACjB,8BAA8B;oBAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;oBAEnD,wEAAwE;oBACxE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAS,CAAC,KAAK,EAAE,CAAC;oBACnC,IAAI,CAAC,GAAG,EAAE,CAAC;wBACT,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;oBACrF,CAAC;oBACD,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;oBAE1B,uCAAuC;oBACvC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,qBAAqB;QAC3B,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,aAAa,GAA6B,IAAI,CAAC;YACnD,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;YACxB,IAAI,MAAM,GAAG,cAAc,CAAC;YAC5B,IAAI,WAAW,GAAc,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAEhD,2DAA2D;YAC3D,sEAAsE;YACtE,KAAK,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtD,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAElD,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,qCAAqC;gBAE5E,mFAAmF;gBACnF,iDAAiD;gBACjD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,cAAc,EAAE,CAAC;oBACvC,aAAa,GAAG,UAAU,CAAC;oBAC3B,cAAc,GAAG,WAAW,CAAC;oBAC7B,MAAM;gBACR,CAAC;gBAED,mCAAmC;gBACnC,IAAI,MAAM,KAAK,cAAc,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7F,aAAa,GAAG,UAAU,CAAC;oBAC3B,cAAc,GAAG,WAAW,CAAC;oBAC7B,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC;oBACjB,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAC7B,CAAC;YACH,CAAC;YAED,wCAAwC;YACxC,IAAI,CAAC,aAAa;gBAAE,MAAM;YAE1B,iEAAiE;YACjE,MAAM,GAAG,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,EAAG,CAAC;YAE/C,qCAAqC;YACrC,6DAA6D;YAC7D,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,0CAA0C;gBAC1C,IAAI,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;oBAClD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAC9D,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;wBACnC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;4BAC7B,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,2DAA2D,CAAC,CAAC;wBAC7F,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,uEAAuE;gBACvE,SAAS;YACX,CAAC;YAED,+CAA+C;YAC/C,aAAa,CAAC,mBAAmB,IAAI,GAAG,CAAC,IAAI,CAAC;YAE9C,yCAAyC;YACzC,GAAG,CAAC,WAAW,GAAG,cAAc,CAAC;YACjC,IAAI,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAClD,qCAAqC;gBACrC,sCAAsC;gBACtC,2EAA2E;gBAC3E,6DAA6D;gBAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAC7D,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;oBACnC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;wBAC7B,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,8DAA8D,CAAC,CAAC;oBAChG,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,0BAA0B;gBAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAS,CAAC,CAAC;gBAC3D,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;oBAC/B,MAAM,CAAC,wBAAwB;gBACjC,CAAC;gBACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;oBAC5B,MAAM,CAAC,uBAAuB;gBAChC,CAAC;gBACD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;oBACjB,8BAA8B;oBAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;oBAEnD,wEAAwE;oBACxE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAS,CAAC,KAAK,EAAE,CAAC;oBACnC,IAAI,CAAC,GAAG,EAAE,CAAC;wBACT,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;oBACrF,CAAC;oBACD,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;oBAE1B,uCAAuC;oBACvC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,UAA6B,EAAE,WAAmB;QACjF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,wCAAwC;YACxC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,qCAAqC;YACrC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,UAA6B,EAAE,WAAmB;QACzF,mEAAmE;QACnE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAE9C,6DAA6D;QAC7D,+EAA+E;QAC/E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAEhE,sBAAsB;QACtB,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC7B,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,KAAK,IAAI,UAAU,CAAW,CAAC,CAAC,CAAC,CAAC,kCAAkC;QAEnF,IAAI,CAAC,kBAAkB,KAAK,CAAC,KAAK,IAAI,EAAE;YACtC,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAW,CAAC,OAAO,EAAE,CAAC;gBAC7C,IAAI,CAAC,GAAG;oBAAE,MAAM,CAAC,eAAe;gBAChC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YACrE,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAED;;;;;;;;;;;OAWG;IACK,SAAS,CAAC,GAAW,EAAE,UAA6B,EAAE,WAAmB;QAC/E,mEAAmE;QACnE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAE9C,6DAA6D;QAC7D,+EAA+E;QAC/E,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;QAE9D,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IAEH;;;;;;;;;;;;;;;;;OAiBG;IACK,oBAAoB,CAAC,MAAc,EAAE,UAA6B;QACxE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,UAAU,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;YACzE,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3E,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACxE,MAAM,OAAO,GAAG,OAAO,KAAK,cAAc,IAAI,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,UAAU,CAAC,eAAe,GAAG,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QACzE,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC;QAC1C,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,MAAM,CAAC,GAAG,KAAK,cAAc,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC;QACvB,CAAC;QACD,IAAI,MAAM,CAAC,GAAG,KAAK,cAAc,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,GAAW,EAAE,UAA6B,EAAE,WAAmB;QAClF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,yCAAyC;QACzC,0BAA0B;QAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QAC5G,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QAEjI,iCAAiC;QACjC,MAAM,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,IAAI,KAAK,CAAC;QAC9E,IAAI,CAAC,UAAU,CAAC,iBAAiB,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjF,OAAO,KAAK,CAAC,CAAC,cAAc;QAC9B,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;YAClC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;YAEzD,0BAA0B;YAC1B,oFAAoF;YACpF,MAAM,WAAW,GAAG,WAAW,KAAK,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAEtE,kEAAkE;YAClE,IAAI,cAAc,KAAK,CAAC,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;gBAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAErG,IAAI,OAAO,KAAK,cAAc,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;oBACxD,OAAO,KAAK,CAAC,CAAC,cAAc;gBAC9B,CAAC;YACH,CAAC;YAED,mCAAmC;YACnC,IAAI,WAAW,KAAK,cAAc,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,GAAG,WAAW,EAAE,CAAC;gBAClF,OAAO,KAAK,CAAC,CAAC,cAAc;YAC9B,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,oFAAoF;QACpF,MAAM,cAAc,GAAG,WAAW,KAAK,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,EAAE,cAAc,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE1E,IAAI,GAAG,CAAC,GAAG,KAAK,cAAc,EAAE,CAAC;YAC/B,GAAG,CAAC,GAAG,IAAI,QAAQ,CAAC;QACtB,CAAC;QAED,IAAI,GAAG,CAAC,GAAG,KAAK,cAAc,EAAE,CAAC;YAC/B,wCAAwC;YACxC,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;gBAC3B,GAAG,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;aAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,KAAK,kBAAkB,EAAE,CAAC;YAClE,+BAA+B;YAC/B,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC;QAC/B,CAAC;QAED,IAAI,GAAG,CAAC,GAAG,KAAK,cAAc,EAAE,CAAC;YAC/B,GAAG,CAAC,GAAG,IAAI,QAAQ,CAAC;QACtB,CAAC;QAED,6BAA6B;QAC7B,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAEpC,OAAO,IAAI,CAAC,CAAC,2BAA2B;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACK,UAAU,CAAC,GAAW,EAAE,UAA6B,EAAE,WAAmB;QAChF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC7D,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC;QACpC,4CAA4C;QAE5C,iDAAiD;QACjD,qEAAqE;QACrE,IAAI,GAAG,CAAC,GAAG,KAAK,cAAc,IAAI,GAAG,CAAC,GAAG,KAAK,cAAc,EAAE,CAAC;YAC7D,uCAAuC;YACvC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;YACrB,OAAO;QACT,CAAC;QAED,+CAA+C;QAC/C,IAAI,SAAS,KAAK,kBAAkB,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YAChE,IAAI,QAAQ,GAAG,wBAAwB,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACpF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;YACxD,CAAC;YAED,MAAM,KAAK,GAAG,UAAU,CAAC,cAAe,CAAC;YACzC,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC/D,MAAM,IAAI,GAAc,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;YAEpD,GAAG,CAAC,GAAG,GAAG,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YAC/F,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YAElB,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,oDAAoD;YACpD,MAAM,KAAK,GAAG,UAAU,CAAC,cAAe,CAAC;YACzC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,yBAAyB;QACzB,oDAAoD;QACpD,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;QAErB,0CAA0C;QAC1C,uDAAuD;QACvD,IAAI,GAAG,CAAC,GAAG,KAAK,cAAc,IAAI,GAAG,CAAC,GAAG,KAAK,cAAc,IAAI,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;YAClF,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,KAAK,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YACpG,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YACpG,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;YACpD,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC;YACjB,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC;QACnB,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC,SAAS,KAAK,kBAAkB,IAAI,SAAS,KAAK,kBAAkB,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK,cAAc,IAAI,UAAU,CAAC,UAAU,KAAK,cAAc,EAAE,CAAC;YACrJ,sEAAsE;YACtE,8EAA8E;YAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC;YACtF,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBAClB,qDAAqD;gBACrD,IAAI,GAAG,CAAC,GAAG,KAAK,cAAc,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;oBACrD,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC1C,CAAC;gBACD,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;YAChB,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC;IAClC,CAAC;IAED;;;;;;;OAOG;IACK,qBAAqB;QAC3B,IAAI,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACxD,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAC9F,MAAM,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACtD,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC;QAElD,IAAI,aAAa,EAAE,CAAC;YAClB,yCAAyC;YACzC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC;YAE7G,iCAAiC;YACjC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;YAEvC,yCAAyC;YACzC,MAAM,eAAe,GAA2B,EAAE,CAAC;YACnD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,8CAA8C;YAC9C,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAExD,oEAAoE;YACpE,kEAAkE;YAClE,IAAI,CAAC;gBACH,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzC,CAAC;oBAAS,CAAC;gBACT,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACtC,CAAC;IAED;;;;;;;OAOG;IACK,wBAAwB;QAC9B,8BAA8B;QAC9B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;QAElD,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC7D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACnC,CAAC;YACD,aAAa,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9D,CAAC;QAED,mEAAmE;QACnE,sCAAsC;QACtC,KAAK,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YACnD,uCAAuC;YACvC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,SAAS;YACX,CAAC;YAED,sDAAsD;YACtD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAEjF,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,oDAAoD;gBACpD,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBAEhG,IAAI,mBAAmB,EAAE,CAAC;oBACxB,mDAAmD;oBACnD,mBAAmB,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACzB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;CACF"}
@@ -42,6 +42,43 @@ export interface PipelineControl {
42
42
  * Resolves when all processing is finished or the pipeline is stopped.
43
43
  */
44
44
  readonly completion: Promise<void>;
45
+ /**
46
+ * Latest progress snapshot.
47
+ *
48
+ * Reflects the output packets written so far. Poll this, or pass
49
+ * `onProgress` in {@link PipelineOptions} for push updates.
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * const control = pipeline(input, decoder, encoder, output);
54
+ * const timer = setInterval(() => console.log(control.progress.fps), 1000);
55
+ * await control.completion;
56
+ * clearInterval(timer);
57
+ * ```
58
+ */
59
+ readonly progress: PipelineProgress;
60
+ }
61
+ /**
62
+ * Progress statistics for a running pipeline.
63
+ *
64
+ * Derived from the packets written to the output, mirroring the figures
65
+ * FFmpeg's CLI reports (`frame= fps= bitrate= time= speed=`).
66
+ */
67
+ export interface PipelineProgress {
68
+ /** Number of output packets written so far. */
69
+ frames: number;
70
+ /** Total output bytes written so far. */
71
+ bytes: number;
72
+ /** Furthest output media timestamp reached, in seconds. */
73
+ time: number;
74
+ /** Output packets per wall-clock second. */
75
+ fps: number;
76
+ /** Output bitrate in bits per second (over media time). */
77
+ bitrate: number;
78
+ /** Processing speed relative to real time (media time / wall-clock time). */
79
+ speed: number;
80
+ /** Wall-clock seconds elapsed since the pipeline started. */
81
+ elapsed: number;
45
82
  }
46
83
  /**
47
84
  * Options for pipeline execution.
@@ -54,6 +91,19 @@ export interface PipelineOptions {
54
91
  * Equivalent to calling `control.stop()`.
55
92
  */
56
93
  signal?: AbortSignal;
94
+ /**
95
+ * Progress callback.
96
+ *
97
+ * Invoked with the latest {@link PipelineProgress} as output packets are
98
+ * written, throttled to `progressInterval`, plus a final call on completion.
99
+ */
100
+ onProgress?: (progress: PipelineProgress) => void;
101
+ /**
102
+ * Minimum interval between `onProgress` callbacks, in milliseconds.
103
+ *
104
+ * @default 250
105
+ */
106
+ progressInterval?: number;
57
107
  }
58
108
  /**
59
109
  * Full transcoding pipeline: input → decoder → encoder → output.