@auto-engineer/pipeline 1.71.0 → 1.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
 
2
- > @auto-engineer/pipeline@1.71.0 build /home/runner/work/auto-engineer/auto-engineer/packages/pipeline
2
+ > @auto-engineer/pipeline@1.72.0 build /home/runner/work/auto-engineer/auto-engineer/packages/pipeline
3
3
  > tsc && tsx ../../scripts/fix-esm-imports.ts
4
4
 
5
5
  Fixed ESM imports in dist/
@@ -1,14 +1,14 @@
1
1
 
2
- > @auto-engineer/pipeline@1.70.0 test /home/runner/work/auto-engineer/auto-engineer/packages/pipeline
2
+ > @auto-engineer/pipeline@1.71.0 test /home/runner/work/auto-engineer/auto-engineer/packages/pipeline
3
3
  > vitest run --reporter=dot
4
4
 
5
5
 
6
6
   RUN  v3.2.4 /home/runner/work/auto-engineer/auto-engineer/packages/pipeline
7
7
 
8
- ·································································································································································································································································································································································································································································································································
8
+ ···············································································································································································································································································································································································································································································································································
9
9
 
10
-  Test Files  39 passed (39)
11
-  Tests  513 passed (513)
12
-  Start at  12:05:55
13
-  Duration  30.22s (transform 7.27s, setup 0ms, collect 14.65s, tests 23.97s, environment 38ms, prepare 20.58s)
10
+  Test Files  40 passed (40)
11
+  Tests  527 passed (527)
12
+  Start at  15:38:33
13
+  Duration  34.75s (transform 8.50s, setup 0ms, collect 14.77s, tests 29.19s, environment 69ms, prepare 23.32s)
14
14
 
@@ -1,4 +1,4 @@
1
1
 
2
- > @auto-engineer/pipeline@1.70.0 type-check /home/runner/work/auto-engineer/auto-engineer/packages/pipeline
2
+ > @auto-engineer/pipeline@1.71.0 type-check /home/runner/work/auto-engineer/auto-engineer/packages/pipeline
3
3
  > tsc --noEmit
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,47 @@
1
1
  # @auto-engineer/pipeline
2
2
 
3
+ ## 1.72.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`cb7de6a`](https://github.com/BeOnAuto/auto-engineer/commit/cb7de6a5a8c42bf1849a7b4f602d8334d5399895) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **pipeline**: wire command gate into processCommand with signal suppression
8
+
9
+ - [`cddce02`](https://github.com/BeOnAuto/auto-engineer/commit/cddce020109adcbb7aa422ab89bc14805ef9f39a) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: generate real commandSender.send() in react scaffold
10
+ - **server-generator-apollo-emmett**: generate aggregateStream for Given states
11
+ - **pipeline**: add command gate concurrency control to ketchup plan
12
+ - **server-generator-apollo-emmett**: mark Burst 3 done in ketchup plan
13
+ - **server-generator-apollo-emmett**: add Burst 3 to ketchup plan for commandSender.send generation
14
+
15
+ - [`ebc98fa`](https://github.com/BeOnAuto/auto-engineer/commit/ebc98fa1e38404bcb4dbaad28b9281ed25c9b27b) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **pipeline**: add cancel-in-progress strategy to command gate
16
+
17
+ - [`27f3e77`](https://github.com/BeOnAuto/auto-engineer/commit/27f3e777b871a4cc5679331e445fe991cd2bfc8f) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **pipeline**: add signal to PipelineContext and registerConcurrency to server
18
+
19
+ - [`c00b253`](https://github.com/BeOnAuto/auto-engineer/commit/c00b25354839afb1b506c27d19795da3fdc24280) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **pipeline**: create command gate with registration and passthrough
20
+
21
+ - [`59b9032`](https://github.com/BeOnAuto/auto-engineer/commit/59b903255b34a3beb6579d91f656530b05fef807) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **pipeline**: add queue strategy to command gate
22
+
23
+ - [`80f544e`](https://github.com/BeOnAuto/auto-engineer/commit/80f544ebc7617ffe83d880cfb34c11f31ca8a340) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **server-generator-apollo-emmett**: generate real commandSender.send() in react scaffold
24
+ - **server-generator-apollo-emmett**: generate aggregateStream for Given states
25
+ - **server-generator-apollo-emmett**: seed event store with Given state data in react specs template
26
+ - **global**: version packages
27
+ - **server-generator-apollo-emmett**: mark Burst 3 done in ketchup plan
28
+
29
+ ### Patch Changes
30
+
31
+ - [`c5ce884`](https://github.com/BeOnAuto/auto-engineer/commit/c5ce884e233a8d9eec5c76db41b166bb86b09e70) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **global**: wire config-level concurrency for command gate
32
+
33
+ - [`090b856`](https://github.com/BeOnAuto/auto-engineer/commit/090b8569ce5eb62b680b48fbc909cbbad12ff377) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **pipeline**: mark command gate concurrency control done in ketchup plan
34
+
35
+ - [`5e8b6a8`](https://github.com/BeOnAuto/auto-engineer/commit/5e8b6a8ec6502c6e9b955eab93d4d332c5a8def9) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **pipeline**: verify cancel-in-progress suppresses events through server
36
+
37
+ - [`e4b956c`](https://github.com/BeOnAuto/auto-engineer/commit/e4b956cd2751ea78e9b8a4725f9be755abf2bb24) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **pipeline**: verify queue concurrency and sendCommand gate integration
38
+
39
+ - [`1b7cb23`](https://github.com/BeOnAuto/auto-engineer/commit/1b7cb230b570c763e24c6a0eb99b39901e671500) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: call start/close lifecycle on reactor in ReactorSpecification
40
+
41
+ - Updated dependencies [[`cb7de6a`](https://github.com/BeOnAuto/auto-engineer/commit/cb7de6a5a8c42bf1849a7b4f602d8334d5399895), [`cddce02`](https://github.com/BeOnAuto/auto-engineer/commit/cddce020109adcbb7aa422ab89bc14805ef9f39a), [`ebc98fa`](https://github.com/BeOnAuto/auto-engineer/commit/ebc98fa1e38404bcb4dbaad28b9281ed25c9b27b), [`27f3e77`](https://github.com/BeOnAuto/auto-engineer/commit/27f3e777b871a4cc5679331e445fe991cd2bfc8f), [`c5ce884`](https://github.com/BeOnAuto/auto-engineer/commit/c5ce884e233a8d9eec5c76db41b166bb86b09e70), [`c00b253`](https://github.com/BeOnAuto/auto-engineer/commit/c00b25354839afb1b506c27d19795da3fdc24280), [`59b9032`](https://github.com/BeOnAuto/auto-engineer/commit/59b903255b34a3beb6579d91f656530b05fef807), [`090b856`](https://github.com/BeOnAuto/auto-engineer/commit/090b8569ce5eb62b680b48fbc909cbbad12ff377), [`5e8b6a8`](https://github.com/BeOnAuto/auto-engineer/commit/5e8b6a8ec6502c6e9b955eab93d4d332c5a8def9), [`80f544e`](https://github.com/BeOnAuto/auto-engineer/commit/80f544ebc7617ffe83d880cfb34c11f31ca8a340), [`e4b956c`](https://github.com/BeOnAuto/auto-engineer/commit/e4b956cd2751ea78e9b8a4725f9be755abf2bb24), [`1b7cb23`](https://github.com/BeOnAuto/auto-engineer/commit/1b7cb230b570c763e24c6a0eb99b39901e671500)]:
42
+ - @auto-engineer/file-store@1.72.0
43
+ - @auto-engineer/message-bus@1.72.0
44
+
3
45
  ## 1.71.0
4
46
 
5
47
  ### Minor Changes
@@ -14,6 +14,7 @@ export { AwaitTracker } from './runtime/await-tracker';
14
14
  export type { PipelineContext, RuntimeConfig } from './runtime/context';
15
15
  export { EventCommandMapper } from './runtime/event-command-map';
16
16
  export { PipelineRuntime } from './runtime/pipeline-runtime';
17
+ export type { ConcurrencyConfig } from './server/command-gate';
17
18
  export type { CommandHandlerWithMetadata, PipelineServerConfig } from './server/pipeline-server';
18
19
  export { PipelineServer } from './server/pipeline-server';
19
20
  export { SSEManager } from './server/sse-manager';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC9F,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,cAAc,EACd,QAAQ,EACR,eAAe,EACf,UAAU,EACV,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtF,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7E,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,YAAY,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC9F,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,cAAc,EACd,QAAQ,EACR,eAAe,EACf,UAAU,EACV,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtF,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7E,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,YAAY,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAmB,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAgBtF,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAmB,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAgBtF,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG7D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC"}
@@ -5,6 +5,7 @@ export interface PipelineContext {
5
5
  emit: (type: string, data: unknown) => Promise<void>;
6
6
  sendCommand: (type: string, data: unknown, correlationId?: string) => Promise<void>;
7
7
  correlationId: string;
8
+ signal?: AbortSignal;
8
9
  startPhased?: (handler: ForEachPhasedDescriptor, event: Event) => Promise<void>;
9
10
  eventStore?: InMemoryEventStore;
10
11
  messageBus?: MessageBus;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/runtime/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/runtime/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,9 @@
1
+ export interface ConcurrencyConfig {
2
+ strategy: 'cancel-in-progress' | 'queue';
3
+ groupKey?: (data: unknown) => string;
4
+ }
5
+ export declare function createCommandGate(): {
6
+ register(commandType: string, config: ConcurrencyConfig): void;
7
+ run(commandType: string, data: unknown, executeFn: (signal: AbortSignal) => Promise<void>): Promise<void>;
8
+ };
9
+ //# sourceMappingURL=command-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-gate.d.ts","sourceRoot":"","sources":["../../../src/server/command-gate.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC;CACtC;AAcD,wBAAgB,iBAAiB;0BA+BP,MAAM,UAAU,iBAAiB,GAAG,IAAI;qBAIvC,MAAM,QAAQ,OAAO,aAAa,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;EA8ClH"}
@@ -0,0 +1,71 @@
1
+ export function createCommandGate() {
2
+ const configs = new Map();
3
+ const running = new Map();
4
+ const queues = new Map();
5
+ const queueRunning = new Map();
6
+ function resolveGroupKey(commandType, data) {
7
+ const config = configs.get(commandType);
8
+ if (config?.groupKey) {
9
+ return `${commandType}:${config.groupKey(data)}`;
10
+ }
11
+ return commandType;
12
+ }
13
+ function drain(groupKey) {
14
+ const queue = queues.get(groupKey);
15
+ if (!queue || queue.length === 0) {
16
+ queueRunning.delete(groupKey);
17
+ return;
18
+ }
19
+ const next = queue.shift();
20
+ const controller = new AbortController();
21
+ next
22
+ .executeFn(controller.signal)
23
+ .then(() => next.resolve())
24
+ .catch((error) => next.reject(error))
25
+ .finally(() => drain(groupKey));
26
+ }
27
+ return {
28
+ register(commandType, config) {
29
+ configs.set(commandType, config);
30
+ },
31
+ async run(commandType, data, executeFn) {
32
+ const config = configs.get(commandType);
33
+ if (!config) {
34
+ const controller = new AbortController();
35
+ await executeFn(controller.signal);
36
+ return;
37
+ }
38
+ if (config.strategy === 'cancel-in-progress') {
39
+ const groupKey = resolveGroupKey(commandType, data);
40
+ const existing = running.get(groupKey);
41
+ const generation = (existing?.generation ?? 0) + 1;
42
+ if (existing) {
43
+ existing.controller.abort();
44
+ }
45
+ const controller = new AbortController();
46
+ const promise = executeFn(controller.signal).finally(() => {
47
+ const current = running.get(groupKey);
48
+ if (current?.generation === generation) {
49
+ running.delete(groupKey);
50
+ }
51
+ });
52
+ running.set(groupKey, { controller, generation, promise });
53
+ await promise;
54
+ return;
55
+ }
56
+ const groupKey = resolveGroupKey(commandType, data);
57
+ if (!queueRunning.get(groupKey)) {
58
+ queueRunning.set(groupKey, true);
59
+ const controller = new AbortController();
60
+ await executeFn(controller.signal).finally(() => drain(groupKey));
61
+ return;
62
+ }
63
+ return new Promise((resolve, reject) => {
64
+ const queue = queues.get(groupKey) ?? [];
65
+ queue.push({ executeFn, resolve, reject });
66
+ queues.set(groupKey, queue);
67
+ });
68
+ },
69
+ };
70
+ }
71
+ //# sourceMappingURL=command-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-gate.js","sourceRoot":"","sources":["../../../src/server/command-gate.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEhD,SAAS,eAAe,CAAC,WAAmB,EAAE,IAAa;QACzD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;YACrB,OAAO,GAAG,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,SAAS,KAAK,CAAC,QAAgB;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC5B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI;aACD,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;aAC5B,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aAC1B,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC7C,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,OAAO;QACL,QAAQ,CAAC,WAAmB,EAAE,MAAyB;YACrD,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,WAAmB,EAAE,IAAa,EAAE,SAAiD;YAC7F,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;gBACzC,MAAM,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACnC,OAAO;YACT,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACvC,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAEnD,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC9B,CAAC;gBAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;oBACxD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACtC,IAAI,OAAO,EAAE,UAAU,KAAK,UAAU,EAAE,CAAC;wBACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC3B,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC3D,MAAM,OAAO,CAAC;gBACd,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAEpD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACjC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;gBACzC,MAAM,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAClE,OAAO;YACT,CAAC;YAED,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC3C,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -4,6 +4,7 @@ import express from 'express';
4
4
  import type { Pipeline } from '../builder/define';
5
5
  import type { PipelineContext } from '../runtime/context';
6
6
  import type { EventDefinition } from '../runtime/event-command-map';
7
+ import { type ConcurrencyConfig } from './command-gate';
7
8
  export type { EventDefinition };
8
9
  export interface CommandHandlerWithMetadata extends CommandHandler {
9
10
  alias?: string;
@@ -33,6 +34,7 @@ export declare class PipelineServer {
33
34
  private readonly sseManager;
34
35
  private readonly eventStoreContext;
35
36
  private readonly itemKeyExtractors;
37
+ private readonly commandGate;
36
38
  private readonly middleware;
37
39
  private readonly storeFileName?;
38
40
  private sqliteEventStore?;
@@ -44,6 +46,7 @@ export declare class PipelineServer {
44
46
  registerCommandHandlers(handlers: CommandHandlerWithMetadata[]): void;
45
47
  getRegisteredCommands(): string[];
46
48
  registerItemKeyExtractor(commandType: string, extractor: (data: unknown) => string | undefined): void;
49
+ registerConcurrency(commandType: string, config: ConcurrencyConfig): void;
47
50
  registerPipeline(pipeline: Pipeline): void;
48
51
  getPipelineNames(): string[];
49
52
  use(handler: express.RequestHandler): this;
@@ -84,6 +87,7 @@ export declare class PipelineServer {
84
87
  private normalizeNodeId;
85
88
  private addMermaidStyles;
86
89
  private processCommand;
90
+ private executeCommand;
87
91
  private getStatusFromEvents;
88
92
  private dispatchFromSettled;
89
93
  private handlePhasedComplete;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-server.d.ts","sourceRoot":"","sources":["../../../src/server/pipeline-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline-server.d.ts","sourceRoot":"","sources":["../../../src/server/pipeline-server.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { filterGraph } from '../graph/filter-graph.js';
9
9
  import { EventCommandMapper } from '../runtime/event-command-map.js';
10
10
  import { PipelineRuntime } from '../runtime/pipeline-runtime.js';
11
11
  import { createPipelineEventStore } from '../store/pipeline-event-store.js';
12
+ import { createCommandGate } from './command-gate.js';
12
13
  import { createPhasedBridge } from './phased-bridge.js';
13
14
  import { SSEManager } from './sse-manager.js';
14
15
  import { createV2RuntimeBridge } from './v2-runtime-bridge.js';
@@ -44,6 +45,7 @@ export class PipelineServer {
44
45
  },
45
46
  });
46
47
  this.sseManager = new SSEManager();
48
+ this.commandGate = createCommandGate();
47
49
  }
48
50
  get port() {
49
51
  return this.actualPort;
@@ -67,6 +69,9 @@ export class PipelineServer {
67
69
  registerItemKeyExtractor(commandType, extractor) {
68
70
  this.itemKeyExtractors.set(commandType, extractor);
69
71
  }
72
+ registerConcurrency(commandType, config) {
73
+ this.commandGate.register(commandType, config);
74
+ }
70
75
  registerPipeline(pipeline) {
71
76
  this.pipelines.set(pipeline.descriptor.name, pipeline);
72
77
  this.runtimes.set(pipeline.descriptor.name, new PipelineRuntime(pipeline.descriptor));
@@ -761,11 +766,16 @@ export class PipelineServer {
761
766
  const handler = this.commandHandlers.get(command.type);
762
767
  if (!handler)
763
768
  return;
769
+ await this.commandGate.run(command.type, command.data, async (signal) => {
770
+ await this.executeCommand(command, handler, signal);
771
+ });
772
+ }
773
+ async executeCommand(command, handler, signal) {
764
774
  const itemKey = this.extractItemKey(command.type, command.data, command.requestId);
765
775
  await this.getOrCreateItemStatus(this.currentSessionId, command.type, itemKey, command.requestId);
766
776
  await this.updateNodeStatus(this.currentSessionId, command.type, 'running');
767
777
  this.settledBridge.onCommandStarted(command, this.currentSessionId);
768
- const ctx = this.createContext(command.correlationId);
778
+ const ctx = this.createContext(command.correlationId, signal);
769
779
  let events;
770
780
  try {
771
781
  const resultEvent = await handler.handle(command, ctx);
@@ -786,6 +796,8 @@ export class PipelineServer {
786
796
  },
787
797
  ];
788
798
  }
799
+ if (signal.aborted)
800
+ return;
789
801
  const finalStatus = this.getStatusFromEvents(events);
790
802
  await this.updateItemStatus(this.currentSessionId, command.type, itemKey, finalStatus);
791
803
  await this.updateNodeStatus(this.currentSessionId, command.type, finalStatus);
@@ -843,9 +855,10 @@ export class PipelineServer {
843
855
  const runtimes = Array.from(this.runtimes.values());
844
856
  await Promise.all(runtimes.map((runtime) => runtime.handleEvent(event, ctx)));
845
857
  }
846
- createContext(correlationId) {
858
+ createContext(correlationId, signal) {
847
859
  return {
848
860
  correlationId,
861
+ signal,
849
862
  emit: async (type, data) => {
850
863
  const requestId = `req-${nanoid()}`;
851
864
  const event = {
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-server.js","sourceRoot":"","sources":["../../../src/server/pipeline-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA6B,MAAM,WAAW,CAAC;AACpE,OAAO,EAGL,gBAAgB,GAGjB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC1G,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAkC,MAAM,+BAA+B,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAuB5D,MAAM,OAAO,cAAc;IAoBzB,YAAY,MAA4B;QAhBvB,oBAAe,GAA4C,IAAI,GAAG,EAAE,CAAC;QACrE,cAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;QAC7C,aAAQ,GAAiC,IAAI,GAAG,EAAE,CAAC;QAQnD,sBAAiB,GAAG,IAAI,GAAG,EAAiD,CAAC;QAC7E,eAAU,GAA6B,EAAE,CAAC;QAGnD,qBAAgB,GAAG,EAAE,CAAC;QAG5B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,gBAAgB,EAAE,CAAC;QACrC,IAAI,CAAC,iBAAiB,GAAG,wBAAwB,EAAE,CAAC;QACpD,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAC;YACzC,UAAU,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE;gBAC/C,KAAK,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;YAClE,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC;YACrC,UAAU,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE;gBAC/C,KAAK,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;YAClE,CAAC;YACD,gBAAgB,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;gBACzC,KAAK,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YACvD,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IACrC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,uBAAuB,CAAC,QAAsC;QAC5D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,qBAAqB;QACnB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,wBAAwB,CAAC,WAAmB,EAAE,SAAgD;QAC5F,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,gBAAgB,CAAC,QAAkB;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QAEtF,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACnD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC9C,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC7C,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG,CAAC,OAA+B;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,MAAM,OAAO,EAAE,CAAC;QACpC,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;gBAC3C,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,gBAAgB,GAAG,mBAAmB,CAAC;gBAC1C,QAAQ,EAAE,IAAI,CAAC,aAAa;gBAC5B,MAAM,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE;aAC5C,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAEpC,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAChH,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,GAAG,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;gBACvF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBACjE,MAAM,IAAI,CAAC,gBAAiB,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAChE,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC;QAC1F,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,CAAC,gBAAgB,GAAG,iBAAiB,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAgB,GAAG,WAAW,MAAM,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAClC,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAc,EAAE,CAAC,CAAC;QACvE,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE;oBAC9E,KAAK,EAAE,YAAY;oBACnB,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;gBACH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM;gBAEjC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,MAAM,QAAQ,GAA4B,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;oBACjE,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,iBAAiB,CAAC;oBAC5D,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE;wBACjE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;qBAC3C,CAAC,CAAC;gBACL,CAAC;gBACD,YAAY,GAAG,qBAAqB,CAAC;YACvC,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,cAAc,GAAG,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACzF,IAAI,CAAC,cAAc;gBAAE,MAAM,KAAK,CAAC;QACnC,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,MAAM,aAAa,GAAG,WAAW,MAAM,EAAE,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;YAC7C,aAAa;SACd,CAAC;QACF,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACpC,GAAG,CAAC,IAAI,CAAC;gBACP,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;gBACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACtC,MAAM,aAAa,GAAa,EAAE,CAAC;YACnC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC/C,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACnD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC7D,SAAS;oBACX,CAAC;oBACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC/C,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE;gBAC9F,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;gBACpC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;gBAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YACnE,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,IAAI,CAAC;gBACP,aAAa;gBACb,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;gBACxD,oBAAoB;gBACpB,KAAK,EAAE,EAAE;aACV,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACrC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAC7E,MAAM,eAAe,GAAG,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;gBACpG,MAAM,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;gBACxE,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;gBAClE,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACzD,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBAChE,MAAM,aAAa,GAAI,GAAG,CAAC,KAAK,CAAC,aAAoC,IAAI,IAAI,CAAC,gBAAgB,CAAC;gBAC/F,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBAEzF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC;gBAClF,GAAG,CAAC,IAAI,CAAC;oBACP,KAAK,EAAE,eAAe,CAAC,KAAK;oBAC5B,KAAK,EAAE,eAAe,CAAC,KAAK;oBAC5B,SAAS;iBACV,CAAC,CAAC;YACL,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YAClE,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACrC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,OAAO,GAAG,GAAG,CAAC,IAAe,CAAC;gBAEpC,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACvC,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC;oBAChD,IAAI,CAAC,gBAAgB,GAAG,WAAW,MAAM,EAAE,EAAE,CAAC;oBAC9C,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,EAAE,CAAC;oBACpC,MAAM,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;oBACjF,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE,mBAAmB,EAAE;wBACvF,aAAa,EAAE,IAAI,CAAC,gBAAgB;wBACpC,iBAAiB;qBAClB,CAAC,CAAC;oBACH,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;oBAC9D,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,MAAM,EAAE,MAAM;wBACd,KAAK,EAAE,8BAA8B,OAAO,CAAC,IAAI,EAAE;qBACpD,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,MAAM,EAAE,EAAE,CAAC;gBACzD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,QAAQ,MAAM,EAAE,EAAE,CAAC;gBAClE,MAAM,cAAc,GAA2D;oBAC7E,GAAG,OAAO;oBACV,SAAS;oBACT,aAAa;iBACd,CAAC;gBAEF,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;gBAErG,KAAK,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;gBAEzC,GAAG,CAAC,IAAI,CAAC;oBACP,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,cAAc,CAAC,SAAS;oBACnC,aAAa,EAAE,cAAc,CAAC,aAAa;oBAC3C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;YACL,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACtC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;gBACtE,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC7C,OAAO,EAAE;wBACP,IAAI,EAAE,CAAC,CAAC,WAAW;wBACnB,IAAI,EAAE,CAAC,CAAC,WAAW;wBACnB,aAAa,EAAE,CAAC,CAAC,aAAa;wBAC9B,SAAS,EAAE,CAAC,CAAC,SAAS;qBACvB;oBACD,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC;oBACvB,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC;iBACxB,CAAC,CAAC,CAAC;gBACJ,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvB,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACnC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAChE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACnC,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,EAAE,CAAC;YACnC,MAAM,mBAAmB,GAAG,GAAG,CAAC,KAAK,CAAC,aAAmC,CAAC;YAC1E,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACrC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAGhC,CAAC;gBAEF,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,OAAO,EAAE,EAAE,CAAC,CAAC;oBAC/D,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC3E,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;oBACxE,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBAE7B,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC5E,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;oBAE/D,GAAG,CAAC,IAAI,CAAC;wBACP,KAAK,EAAE,eAAe;wBACtB,IAAI,EAAE;4BACJ,WAAW,EAAE,OAAO,CAAC,IAAI;4BACzB,OAAO;4BACP,KAAK,EAAE,YAAY;4BACnB,KAAK;yBACN;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB;QACxB,MAAM,aAAa,GAAY,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YACjC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACrB,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;YACD,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC;IAEO,mBAAmB,CAAC,KAAc;QACxC,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC5B,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrD,IAAI,OAAO,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;oBACvC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;YACjD,CAAC,CAAC;YACF,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,KAAc;QACtC,MAAM,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACxD,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC1B,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC9B,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;YACzC,CAAC,CAAC;YACF,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,KAAc,EAAE,aAAsB;QAC1E,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CACH,CAAC;QACF,OAAO;YACL,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,IAAe,EAAE,aAAsB;QAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAoB,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QACnF,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QACzE,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,KAAK,CAAC,eAAe;YAC7B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAAC,IAAe,EAAE,aAAsB;QACpE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAoB,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QACnF,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,YAAY,YAAY,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC5E,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,aAAqB,EACrB,WAAmB,EACnB,OAAe,EACf,SAAiB,EACjB,MAAuC,EACvC,YAAoB;QAEpB,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,aAAa,EAAE,EAAE;YAClF;gBACE,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE;oBACJ,aAAa;oBACb,WAAW;oBACX,OAAO;oBACP,SAAS;oBACT,MAAM;oBACN,YAAY;iBACb;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,aAAqB,EACrB,WAAmB,EACnB,MAAkB,EAClB,cAA0B;QAE1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QACzE,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,aAAa,EAAE,EAAE;YAClF;gBACE,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE;oBACJ,aAAa;oBACb,WAAW;oBACX,MAAM,EAAE,OAAO,WAAW,EAAE;oBAC5B,MAAM;oBACN,cAAc;oBACd,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,UAAU,EAAE,KAAK,CAAC,UAAU;iBAC7B;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,aAAqB,EACrB,SAAiB,EACjB,WAAmB,EACnB,WAAoC;QAEpC,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,aAAa,EAAE,EAAE;YAClF;gBACE,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE;oBACJ,aAAa;oBACb,SAAS;oBACT,WAAW;oBACX,WAAW;oBACX,SAAS,EAAE,IAAI,IAAI,EAAE;iBACtB;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,aAAqB,EACrB,SAAiB,EACjB,SAAiB,EACjB,SAAkC;QAElC,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,aAAa,EAAE,EAAE;YAClF;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE;oBACJ,aAAa;oBACb,SAAS;oBACT,SAAS;oBACT,SAAS;oBACT,SAAS,EAAE,IAAI,IAAI,EAAE;iBACtB;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,aAAqB,EAAE,cAAsB;QAChF,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,aAAa,EAAE,EAAE;YAClF;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE;oBACJ,aAAa;oBACb,cAAc;iBACf;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,aAAqB,EAAE,WAAmB,EAAE,MAAkB;QAC3F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAClG,MAAM,cAAc,GAAe,QAAQ,EAAE,MAAM,IAAI,MAAM,CAAC;QAC9D,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QACrF,MAAM,IAAI,CAAC,0BAA0B,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5F,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACtC,aAAqB,EACrB,WAAmB,EACnB,MAAkB,EAClB,cAA0B;QAE1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QACzE,MAAM,KAAK,GAAsC;YAC/C,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE;gBACJ,MAAM,EAAE,OAAO,WAAW,EAAE;gBAC5B,MAAM;gBACN,cAAc;gBACd,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B;YACD,aAAa;SACd,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAC,aAAqB,EAAE,cAAsB;QACrF,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QACjE,MAAM,KAAK,GAAsC;YAC/C,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,EAAE,aAAa,EAAE,cAAc,EAAE;YACvC,aAAa;SACd,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAEO,cAAc,CAAC,WAAmB,EAAE,IAAa,EAAE,SAAiB;QAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,GAAG,CAAC;QACpC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,aAAqB,EACrB,WAAmB,EACnB,OAAe,EACf,SAAiB;QAEjB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC3G,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAEvD,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QAE1G,OAAO,EAAE,YAAY,EAAE,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,aAAqB,EACrB,WAAmB,EACnB,OAAe,EACf,MAAuC;QAEvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC3G,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,qBAAqB,CAC9B,aAAa,EACb,WAAW,EACX,OAAO,EACP,QAAQ,CAAC,gBAAgB,EACzB,MAAM,EACN,QAAQ,CAAC,YAAY,CACtB,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,aAAqB,EACrB,WAAmB;QAEnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,mBAAmB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC1F,CAAC;IAEO,YAAY,CAAC,KAAsB;QACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACxD,CAAC;IAEO,oBAAoB;QAC1B,MAAM,eAAe,GAA6B,EAAE,CAAC;QACrD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7D,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClE,eAAe,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,sBAAsB;QAC5B,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACpD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YACpD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACjE,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAEO,kBAAkB,CAAC,KAA8B;QACvD,MAAM,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAAC;QAC7C,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC;QAE/C,MAAM,YAAY,GAAe,EAAE,CAAC;QACpC,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1E,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBACxD,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,kBAAkB,KAAK,MAAM,CAAC;QAEpD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;IACzC,CAAC;IAEO,mBAAmB,CAAC,aAA4B;QACtD,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAC7E,MAAM,eAAe,GAAG,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QACpG,MAAM,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,WAAW,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QACxD,MAAM,KAAK,GAAa,CAAC,cAAc,CAAC,CAAC;QAEzC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,MAAM,WAAW,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,eAAe,EAAE,EAAc,EAAE,CAAC;QAElE,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QAClF,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;QAElG,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,2BAA2B,CACjC,KAAc,EACd,eAAyC,EACzC,cAA2B;QAE3B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACnH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjG,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAElC,KAAK,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YACpE,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;gBACjF,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAChC,CAAC;YAED,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,OAAO,SAAS,EAAE,CAAC;gBACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBAChE,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChC,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAEO,aAAa,CAAC,KAAc;QAClC,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAsD,CAAC;QAChG,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC,CAAC;YACnE,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;gBACxG,IAAI,eAAe,EAAE,CAAC;oBACpB,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACrC,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IACpD,CAAC;IAEO,2BAA2B,CACjC,IAAY,EACZ,MAAc,EACd,aAAsE;QAEtE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;QAErB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;YAC/B,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAErB,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACnD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBACtD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,qBAAqB,CAAC,KAAc,EAAE,eAAyC;QACrF,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QAEzC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChE,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;oBACvC,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;oBAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACzB,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;4BAC/B,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBAChC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,sBAAsB,CAC5B,KAAc,EACd,KAAe,EACf,UAAuB,EACvB,YAAyB,EACzB,YAAyB;QAEzB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC9C,MAAM,MAAM,GAAG,OAAO,SAAS,EAAE,CAAC;gBAClC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;YAC7C,CAAC;iBAAM,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAChD,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChE,MAAM,MAAM,GAAG,WAAW,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnD,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAEO,sBAAsB,CAC5B,KAAc,EACd,KAAe,EACf,WAAyD;QAEzD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBAC1C,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE,EAAE,CAAC,CAAC;YACpC,CAAC;YACD,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,MAAc;QACpC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,OAAO,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAC7C,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/D,OAAO,WAAW,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC7C,CAAC;IAEO,gBAAgB,CACtB,KAAe,EACf,UAAuB,EACvB,YAAyB,EACzB,YAAyB,EACzB,eAAyB;QAEzB,MAAM,YAAY,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzF,MAAM,YAAY,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE1F,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAC/E,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAE7D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,WAAW,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,WAAW,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,eAAe,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,OAA+D;QAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACnF,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAElG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5E,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEpE,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACtD,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACvD,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAE/D,MAAM,GAAG;gBACP;oBACE,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE;wBACJ,WAAW,EAAE,OAAO,CAAC,IAAI;wBACzB,OAAO,EAAE,OAAO,CAAC,IAAI;wBACrB,KAAK,EAAE,YAAY;wBACnB,KAAK;qBACN;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACvF,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE9E,MAAM,aAAa,GAA2B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACnE,GAAG,KAAK;YACR,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC,CAAC;QAEJ,MAAM,OAAO,CAAC,GAAG,CACf,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACtB,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAA+B,CAAC,CAC3G,CACF,CAAC;QAEF,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAClF,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC5E,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACjG,CAAC;YAED,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEO,mBAAmB,CAAC,MAAe;QACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,oFAAoF;IAC5E,KAAK,CAAC,mBAAmB,CAAC,WAAmB,EAAE,IAAa,EAAE,aAAqB;QACzF,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,EAAE,CAAC;QACpC,MAAM,OAAO,GAA2D;YACtE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,IAA+B;YACrC,aAAa;YACb,SAAS;SACV,CAAC;QACF,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,IAA+B,CAAC,CAAC;QACzG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,gFAAgF;IACxE,KAAK,CAAC,oBAAoB,CAAC,KAAY,EAAE,aAAqB;QACpE,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,EAAE,CAAC;QACpC,MAAM,YAAY,GAAyB;YACzC,GAAG,KAAK;YACR,aAAa;SACd,CAAC;QACF,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAA+B,CAAC,CAAC;QAC/G,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,KAA2B;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IAEO,aAAa,CAAC,aAAqB;QACzC,OAAO;YACL,aAAa;YACb,IAAI,EAAE,KAAK,EAAE,IAAY,EAAE,IAAa,EAAE,EAAE;gBAC1C,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAyB;oBAClC,IAAI;oBACJ,IAAI,EAAE,IAA+B;oBACrC,aAAa;iBACd,CAAC;gBACF,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,IAA+B,CAAC,CAAC;gBACnG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjC,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,WAAW,EAAE,KAAK,EAAE,IAAY,EAAE,IAAa,EAAE,qBAA8B,EAAE,EAAE;gBACjF,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,EAAE,CAAC;gBACpC,MAAM,sBAAsB,GAAG,qBAAqB,IAAI,aAAa,CAAC;gBACtE,MAAM,OAAO,GAA2D;oBACtE,IAAI;oBACJ,IAAI,EAAE,IAA+B;oBACrC,aAAa,EAAE,sBAAsB;oBACrC,SAAS;iBACV,CAAC;gBACF,MAAM,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,EAAE,SAAS,EAAE,IAAI,EAAE,IAA+B,CAAC,CAAC;gBAC3G,KAAK,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;YACD,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;gBACpC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;YAC/D,CAAC;YACD,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU;YAC7C,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;IAEO,0BAA0B,CAAC,KAA2B;QAC5D,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACnD,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;oBACtC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAClD,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,iBAAyB;QAChD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCT,iBAAiB;;;;QAIX,CAAC;IACP,CAAC;CACF"}
1
+ {"version":3,"file":"pipeline-server.js","sourceRoot":"","sources":["../../../src/server/pipeline-server.ts"],"names":[],"mappings":"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"}