@typeonce/effect-machine 0.2.0 → 0.4.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.
Files changed (150) hide show
  1. package/README.md +345 -42
  2. package/dist/Machine.d.ts +1273 -347
  3. package/dist/Machine.d.ts.map +1 -1
  4. package/dist/Machine.js +161 -426
  5. package/dist/Machine.js.map +1 -1
  6. package/dist/internal/machine/activities.d.ts +57 -0
  7. package/dist/internal/machine/activities.d.ts.map +1 -0
  8. package/dist/internal/machine/activities.js +49 -0
  9. package/dist/internal/machine/activities.js.map +1 -0
  10. package/dist/internal/machine/atom.d.ts +69 -0
  11. package/dist/internal/machine/atom.d.ts.map +1 -0
  12. package/dist/{AtomMachine.js → internal/machine/atom.js} +19 -94
  13. package/dist/internal/machine/atom.js.map +1 -0
  14. package/dist/internal/machine/cluster.d.ts +63 -0
  15. package/dist/internal/machine/cluster.d.ts.map +1 -0
  16. package/dist/{ClusterMachine.js → internal/machine/cluster.js} +15 -119
  17. package/dist/internal/machine/cluster.js.map +1 -0
  18. package/dist/internal/machine/command.d.ts +16 -0
  19. package/dist/internal/machine/command.d.ts.map +1 -0
  20. package/dist/internal/machine/command.js +45 -0
  21. package/dist/internal/machine/command.js.map +1 -0
  22. package/dist/internal/machine/commandRuntime.d.ts +13 -0
  23. package/dist/internal/machine/commandRuntime.d.ts.map +1 -0
  24. package/dist/internal/machine/commandRuntime.js +16 -0
  25. package/dist/internal/machine/commandRuntime.js.map +1 -0
  26. package/dist/internal/{machineModel.d.ts → machine/configuration.d.ts} +32 -38
  27. package/dist/internal/machine/configuration.d.ts.map +1 -0
  28. package/dist/internal/machine/configuration.js +965 -0
  29. package/dist/internal/machine/configuration.js.map +1 -0
  30. package/dist/internal/{machineErrors.d.ts → machine/errors.d.ts} +3 -3
  31. package/dist/internal/machine/errors.d.ts.map +1 -0
  32. package/dist/internal/{machineErrors.js → machine/errors.js} +1 -1
  33. package/dist/internal/machine/errors.js.map +1 -0
  34. package/dist/internal/machine/executionPlan.d.ts +49 -0
  35. package/dist/internal/machine/executionPlan.d.ts.map +1 -0
  36. package/dist/internal/machine/executionPlan.js +667 -0
  37. package/dist/internal/machine/executionPlan.js.map +1 -0
  38. package/dist/internal/machine/invocation.d.ts +23 -0
  39. package/dist/internal/machine/invocation.d.ts.map +1 -0
  40. package/dist/internal/machine/invocation.js +77 -0
  41. package/dist/internal/machine/invocation.js.map +1 -0
  42. package/dist/internal/machine/machine.d.ts +183 -0
  43. package/dist/internal/machine/machine.d.ts.map +1 -0
  44. package/dist/internal/machine/machine.js +552 -0
  45. package/dist/internal/machine/machine.js.map +1 -0
  46. package/dist/internal/machine/planner.d.ts +182 -0
  47. package/dist/internal/machine/planner.d.ts.map +1 -0
  48. package/dist/internal/machine/planner.js +1082 -0
  49. package/dist/internal/machine/planner.js.map +1 -0
  50. package/dist/internal/{machineProcess.d.ts → machine/process.d.ts} +10 -4
  51. package/dist/internal/machine/process.d.ts.map +1 -0
  52. package/dist/internal/machine/process.js +446 -0
  53. package/dist/internal/machine/process.js.map +1 -0
  54. package/dist/internal/machine/protocol.d.ts +34 -0
  55. package/dist/internal/machine/protocol.d.ts.map +1 -0
  56. package/dist/internal/machine/protocol.js +182 -0
  57. package/dist/internal/machine/protocol.js.map +1 -0
  58. package/dist/internal/machine/readiness.d.ts +4 -0
  59. package/dist/internal/machine/readiness.d.ts.map +1 -0
  60. package/dist/internal/machine/readiness.js +2 -0
  61. package/dist/internal/machine/readiness.js.map +1 -0
  62. package/dist/internal/{machineRuntime.d.ts → machine/runtime.d.ts} +104 -2
  63. package/dist/internal/machine/runtime.d.ts.map +1 -0
  64. package/dist/internal/machine/runtime.js +1381 -0
  65. package/dist/internal/machine/runtime.js.map +1 -0
  66. package/dist/internal/machine/serialization.d.ts +14 -0
  67. package/dist/internal/machine/serialization.d.ts.map +1 -0
  68. package/dist/internal/machine/serialization.js +338 -0
  69. package/dist/internal/machine/serialization.js.map +1 -0
  70. package/dist/internal/machine/stateDefinition.d.ts +15 -0
  71. package/dist/internal/machine/stateDefinition.d.ts.map +1 -0
  72. package/dist/internal/machine/stateDefinition.js +210 -0
  73. package/dist/internal/machine/stateDefinition.js.map +1 -0
  74. package/dist/internal/machine/symbols.d.ts +3 -0
  75. package/dist/internal/machine/symbols.d.ts.map +1 -0
  76. package/dist/internal/machine/symbols.js +3 -0
  77. package/dist/internal/machine/symbols.js.map +1 -0
  78. package/dist/internal/machine/topology.d.ts +98 -0
  79. package/dist/internal/machine/topology.d.ts.map +1 -0
  80. package/dist/internal/machine/topology.js +347 -0
  81. package/dist/internal/machine/topology.js.map +1 -0
  82. package/dist/internal/testing/machine/arbitrary.d.ts +36 -0
  83. package/dist/internal/testing/machine/arbitrary.d.ts.map +1 -0
  84. package/dist/internal/testing/machine/arbitrary.js +68 -0
  85. package/dist/internal/testing/machine/arbitrary.js.map +1 -0
  86. package/dist/internal/testing/machine/finiteModel.d.ts +322 -0
  87. package/dist/internal/testing/machine/finiteModel.d.ts.map +1 -0
  88. package/dist/internal/testing/machine/finiteModel.js +976 -0
  89. package/dist/internal/testing/machine/finiteModel.js.map +1 -0
  90. package/dist/internal/testing/machine/referenceModel.d.ts +203 -0
  91. package/dist/internal/testing/machine/referenceModel.d.ts.map +1 -0
  92. package/dist/internal/testing/machine/referenceModel.js +1012 -0
  93. package/dist/internal/testing/machine/referenceModel.js.map +1 -0
  94. package/dist/internal/testing/machine/runtime.d.ts +328 -0
  95. package/dist/internal/testing/machine/runtime.d.ts.map +1 -0
  96. package/dist/internal/testing/machine/runtime.js +437 -0
  97. package/dist/internal/testing/machine/runtime.js.map +1 -0
  98. package/dist/internal/testing/machine/verification.d.ts +33 -0
  99. package/dist/internal/testing/machine/verification.d.ts.map +1 -0
  100. package/dist/internal/testing/machine/verification.js +1446 -0
  101. package/dist/internal/testing/machine/verification.js.map +1 -0
  102. package/dist/testing/MachineTest.d.ts +606 -0
  103. package/dist/testing/MachineTest.d.ts.map +1 -0
  104. package/dist/testing/MachineTest.js +102 -0
  105. package/dist/testing/MachineTest.js.map +1 -0
  106. package/dist/testing/index.d.ts +7 -0
  107. package/dist/testing/index.d.ts.map +1 -0
  108. package/dist/testing/index.js +7 -0
  109. package/dist/testing/index.js.map +1 -0
  110. package/dist/{ClusterMachine.d.ts → unstable/cluster/ClusterMachine.d.ts} +22 -30
  111. package/dist/unstable/cluster/ClusterMachine.d.ts.map +1 -0
  112. package/dist/unstable/cluster/ClusterMachine.js +126 -0
  113. package/dist/unstable/cluster/ClusterMachine.js.map +1 -0
  114. package/dist/{cluster.js → unstable/cluster/index.d.ts} +1 -1
  115. package/dist/unstable/cluster/index.d.ts.map +1 -0
  116. package/dist/{cluster.d.ts → unstable/cluster/index.js} +1 -1
  117. package/dist/unstable/cluster/index.js.map +1 -0
  118. package/dist/{AtomMachine.d.ts → unstable/reactivity/AtomMachine.d.ts} +40 -23
  119. package/dist/unstable/reactivity/AtomMachine.d.ts.map +1 -0
  120. package/dist/unstable/reactivity/AtomMachine.js +113 -0
  121. package/dist/unstable/reactivity/AtomMachine.js.map +1 -0
  122. package/dist/{reactivity.js → unstable/reactivity/index.d.ts} +1 -1
  123. package/dist/unstable/reactivity/index.d.ts.map +1 -0
  124. package/dist/{reactivity.d.ts → unstable/reactivity/index.js} +1 -1
  125. package/dist/unstable/reactivity/index.js.map +1 -0
  126. package/docs/agent-guide.md +271 -38
  127. package/package.json +23 -13
  128. package/dist/AtomMachine.d.ts.map +0 -1
  129. package/dist/AtomMachine.js.map +0 -1
  130. package/dist/ClusterMachine.d.ts.map +0 -1
  131. package/dist/ClusterMachine.js.map +0 -1
  132. package/dist/cluster.d.ts.map +0 -1
  133. package/dist/cluster.js.map +0 -1
  134. package/dist/internal/machineErrors.d.ts.map +0 -1
  135. package/dist/internal/machineErrors.js.map +0 -1
  136. package/dist/internal/machineModel.d.ts.map +0 -1
  137. package/dist/internal/machineModel.js +0 -766
  138. package/dist/internal/machineModel.js.map +0 -1
  139. package/dist/internal/machinePlanner.d.ts +0 -74
  140. package/dist/internal/machinePlanner.d.ts.map +0 -1
  141. package/dist/internal/machinePlanner.js +0 -621
  142. package/dist/internal/machinePlanner.js.map +0 -1
  143. package/dist/internal/machineProcess.d.ts.map +0 -1
  144. package/dist/internal/machineProcess.js +0 -181
  145. package/dist/internal/machineProcess.js.map +0 -1
  146. package/dist/internal/machineRuntime.d.ts.map +0 -1
  147. package/dist/internal/machineRuntime.js +0 -365
  148. package/dist/internal/machineRuntime.js.map +0 -1
  149. package/dist/reactivity.d.ts.map +0 -1
  150. package/dist/reactivity.js.map +0 -1
@@ -0,0 +1,606 @@
1
+ /**
2
+ * Property-based scenario generation and planner trace utilities.
3
+ *
4
+ * @since 4.0.0
5
+ */
6
+ import type * as Effect from "effect/Effect";
7
+ import type * as Graph from "effect/Graph";
8
+ import type * as Schema from "effect/Schema";
9
+ import type { FastCheck } from "effect/testing";
10
+ import type { EnsureExecutable } from "../internal/machine/readiness.js";
11
+ import type { SchemaArbitraryReport } from "../internal/testing/machine/arbitrary.js";
12
+ import type { FiniteModel } from "../internal/testing/machine/finiteModel.js";
13
+ import type * as ReferenceModel from "../internal/testing/machine/referenceModel.js";
14
+ import type { VerificationError } from "../internal/testing/machine/verification.js";
15
+ import type * as Machine from "../Machine.js";
16
+ export { advanceCommand, checkpointCommand, formatRuntimeTranscript, runRuntimeCommands, type RuntimeAssertionContext, type RuntimeCommand, type RuntimeCommandActual, RuntimeCommandFailure, type RuntimeCommandRecord, type RuntimeCommandResult, type RuntimeCommands, runtimeCommands, type RuntimeCommandsDiagnostics, type RuntimeCommandsOptions, type RuntimeInspectionContext, type RuntimeModelOptions, type RuntimeModelStep, RuntimeObservationError, RuntimeSynchronization, type RuntimeTranscript, sendCommand, stopCommand } from "../internal/testing/machine/verification.js";
17
+ export type { SchemaArbitraryOpaqueFilterWarning, SchemaArbitraryReport, SchemaArbitraryWarning } from "../internal/testing/machine/verification.js";
18
+ export { compileModel, type FiniteAtomicState, type FiniteAutomaticTransition, type FiniteCompoundState, type FiniteEventTransition, type FiniteFinalState, type FiniteHistoryMutation, type FiniteHistoryScenario, type FiniteHistoryState, type FiniteHistoryTransfer, type FiniteModel, type FiniteModelDiagnostics, type FiniteModelOptions, type FiniteModels, finiteModels, type FiniteParallelState, type FiniteState, type FiniteTransition, type FiniteTransitionTrigger } from "../internal/testing/machine/verification.js";
19
+ export { ModelVerificationError, type ModelVerificationField, type ModelVerificationLocation, type ModelVerificationMismatch, type ReferenceCompletion, type ReferenceHistoryRecord, type ReferenceInitialStep, type ReferenceMicrostep, type ReferenceState, type ReferenceStateValue, type ReferenceStep, type ReferenceTrace, type ReferenceTransition } from "../internal/testing/machine/verification.js";
20
+ /**
21
+ * Purely interprets a finite hierarchical model without compiling a
22
+ * machine.
23
+ *
24
+ * @category verification
25
+ * @since 4.0.0
26
+ */
27
+ export declare const interpretModel: (model: FiniteModel, events: ReadonlyArray<string>) => ReferenceModel.ReferenceTrace;
28
+ type AnyMachine = Machine.Machine.Any;
29
+ type InputValue<M extends AnyMachine> = Machine.Machine.Input<M>["Type"];
30
+ type StatePath<M extends AnyMachine> = Machine.Machine.StateIdentifier<Machine.Machine.States<M>>;
31
+ type StateNodePath<M extends AnyMachine> = Machine.Machine.StateNodeIdentifier<Machine.Machine.States<M>>;
32
+ type IsAny<A> = 0 extends (1 & A) ? true : false;
33
+ type ReadyMachine<M extends AnyMachine> = M & EnsureExecutable<Machine.Machine.States<M>, Machine.Machine.UnhandledStates<M>, Machine.Machine.OutputStates<M>>;
34
+ /**
35
+ * A generated public-input scenario for a machine.
36
+ *
37
+ * Machines without an input schema omit `input`; machines with one retain its
38
+ * exact decoded type. Events use only the public input protocol.
39
+ *
40
+ * @category models
41
+ * @since 4.0.0
42
+ */
43
+ export type Scenario<M extends AnyMachine> = Machine.Machine.Input<M> extends typeof Schema.Void ? {
44
+ readonly events: ReadonlyArray<Machine.Machine.InputEvent<M>>;
45
+ } : {
46
+ readonly input: InputValue<M>;
47
+ readonly events: ReadonlyArray<Machine.Machine.InputEvent<M>>;
48
+ };
49
+ /**
50
+ * Options for schema-derived scenario generation.
51
+ *
52
+ * `inputArbitrary` and `eventsArbitrary` replace their complete generated
53
+ * value. An events override therefore owns its own length distribution.
54
+ *
55
+ * @category models
56
+ * @since 4.0.0
57
+ */
58
+ export type ScenarioOptions<M extends AnyMachine> = {
59
+ readonly minEvents?: number;
60
+ readonly maxEvents?: number;
61
+ readonly eventsArbitrary?: FastCheck.Arbitrary<ReadonlyArray<Machine.Machine.InputEvent<M>>>;
62
+ } & (Machine.Machine.Input<M> extends typeof Schema.Void ? {
63
+ readonly inputArbitrary?: never;
64
+ } : {
65
+ readonly inputArbitrary?: FastCheck.Arbitrary<InputValue<M>>;
66
+ });
67
+ /**
68
+ * Diagnostics for one schema-derived arbitrary.
69
+ *
70
+ * @category models
71
+ * @since 4.0.0
72
+ */
73
+ export interface SchemaArbitraryDiagnostic {
74
+ readonly boundary: "input" | "event";
75
+ readonly index: number | undefined;
76
+ readonly report: SchemaArbitraryReport;
77
+ }
78
+ /**
79
+ * Diagnostics describing how a scenario arbitrary was assembled.
80
+ *
81
+ * @category models
82
+ * @since 4.0.0
83
+ */
84
+ export interface ScenarioDiagnostics {
85
+ readonly input: "none" | "schema" | "override";
86
+ readonly events: "empty" | "schema" | "override";
87
+ readonly schemas: ReadonlyArray<SchemaArbitraryDiagnostic>;
88
+ }
89
+ /**
90
+ * A scenario arbitrary together with schema-derivation diagnostics.
91
+ *
92
+ * @category models
93
+ * @since 4.0.0
94
+ */
95
+ export interface Scenarios<M extends AnyMachine> {
96
+ readonly arbitrary: FastCheck.Arbitrary<Scenario<M>>;
97
+ readonly diagnostics: ScenarioDiagnostics;
98
+ }
99
+ /**
100
+ * Derives valid machine inputs and public events from their schemas.
101
+ *
102
+ * Unsupported schema derivations fail immediately through `Schema.toArbitrary`.
103
+ * Non-fatal derivation warnings are returned instead of being hidden.
104
+ *
105
+ * @category constructors
106
+ * @since 4.0.0
107
+ */
108
+ export declare const scenarios: <M extends AnyMachine>(machine: M, options?: ScenarioOptions<M>) => Scenarios<M>;
109
+ /**
110
+ * Completion information retained by an initial or event plan.
111
+ *
112
+ * @category models
113
+ * @since 4.0.0
114
+ */
115
+ export type PlanCompletion<M extends AnyMachine> = {
116
+ readonly done: true;
117
+ readonly output: Machine.Machine.Output<M>;
118
+ } | {
119
+ readonly done: false;
120
+ readonly output: undefined;
121
+ };
122
+ /**
123
+ * One public planned microstep, including retained post-conflict transitions.
124
+ *
125
+ * @category models
126
+ * @since 4.0.0
127
+ */
128
+ export interface Microstep<M extends AnyMachine, Requirements = Machine.Machine.Services<M>> {
129
+ readonly next: Machine.Machine.Snapshot<Machine.Machine.States<M>>;
130
+ readonly event: Machine.Machine.Event<M> | Machine.InitialEvent;
131
+ readonly transitions: ReadonlyArray<Machine.Machine.RetainedTransition<StatePath<M>, Machine.Machine.TagOf<Machine.Machine.Events<M>[number]>, StateNodePath<M>>>;
132
+ readonly commands: ReadonlyArray<Machine.Command>;
133
+ readonly raisedEvents: ReadonlyArray<Machine.Machine.Event<M>>;
134
+ readonly emittedEvents: ReadonlyArray<Machine.Machine.Emit<M>>;
135
+ readonly exitPaths: ReadonlyArray<string>;
136
+ readonly entryPaths: ReadonlyArray<string>;
137
+ readonly changed: boolean;
138
+ }
139
+ /**
140
+ * The complete data returned while planning machine startup.
141
+ *
142
+ * @category models
143
+ * @since 4.0.0
144
+ */
145
+ export type InitialPlan<M extends AnyMachine> = {
146
+ readonly startingState: Machine.Machine.Snapshot<Machine.Machine.States<M>>;
147
+ readonly initialEntryPaths: ReadonlyArray<StatePath<M>>;
148
+ readonly state: Machine.Machine.Snapshot<Machine.Machine.States<M>>;
149
+ readonly commands: ReadonlyArray<Machine.Command>;
150
+ readonly emittedEvents: ReadonlyArray<Machine.Machine.Emit<M>>;
151
+ readonly microsteps: ReadonlyArray<Microstep<M, Machine.Machine.InitialServices<M> | Machine.Machine.Services<M>>>;
152
+ } & PlanCompletion<M>;
153
+ /**
154
+ * The complete data returned while planning one public event.
155
+ *
156
+ * @category models
157
+ * @since 4.0.0
158
+ */
159
+ export type EventPlan<M extends AnyMachine> = {
160
+ readonly next: Machine.Machine.Snapshot<Machine.Machine.States<M>>;
161
+ readonly commands: ReadonlyArray<Machine.Command>;
162
+ readonly emittedEvents: ReadonlyArray<Machine.Machine.Emit<M>>;
163
+ readonly microsteps: ReadonlyArray<Microstep<M>>;
164
+ } & PlanCompletion<M>;
165
+ /**
166
+ * Startup portion of an executable planner trace.
167
+ *
168
+ * @category models
169
+ * @since 4.0.0
170
+ */
171
+ export interface InitialTrace<M extends AnyMachine> {
172
+ readonly plan: InitialPlan<M>;
173
+ readonly startingState: Machine.Machine.Snapshot<Machine.Machine.States<M>>;
174
+ readonly startingConfiguration: ReadonlyArray<StatePath<M>>;
175
+ readonly initialEntryPaths: ReadonlyArray<StatePath<M>>;
176
+ readonly configuration: ReadonlyArray<StatePath<M>>;
177
+ }
178
+ /**
179
+ * One event portion of an executable planner trace.
180
+ *
181
+ * @category models
182
+ * @since 4.0.0
183
+ */
184
+ export interface TraceStep<M extends AnyMachine> {
185
+ readonly index: number;
186
+ readonly before: Machine.Machine.Snapshot<Machine.Machine.States<M>>;
187
+ readonly beforeConfiguration: ReadonlyArray<StatePath<M>>;
188
+ readonly event: Machine.Machine.InputEvent<M>;
189
+ readonly plan: EventPlan<M>;
190
+ readonly after: Machine.Machine.Snapshot<Machine.Machine.States<M>>;
191
+ readonly afterConfiguration: ReadonlyArray<StatePath<M>>;
192
+ }
193
+ /**
194
+ * A scenario and every plan produced by executing it without running actions.
195
+ *
196
+ * @category models
197
+ * @since 4.0.0
198
+ */
199
+ export interface Trace<M extends AnyMachine> {
200
+ readonly scenario: Scenario<M>;
201
+ readonly initial: InitialTrace<M>;
202
+ readonly steps: ReadonlyArray<TraceStep<M>>;
203
+ readonly final: Machine.Machine.Snapshot<Machine.Machine.States<M>>;
204
+ readonly finalConfiguration: ReadonlyArray<StatePath<M>>;
205
+ }
206
+ /**
207
+ * Checks a real planner trace against the independent finite statechart model
208
+ * interpreter.
209
+ *
210
+ * The oracle does not import the machine compiler, planner, snapshot helpers,
211
+ * or target builders. It compares semantic projections of the public trace
212
+ * and accumulates every disagreement in one structured error.
213
+ *
214
+ * @category verification
215
+ * @since 4.0.0
216
+ */
217
+ export declare const verifyModel: <M extends AnyMachine>(model: FiniteModel, actualTrace: Trace<M>) => Effect.Effect<void, ReferenceModel.ModelVerificationError>;
218
+ /**
219
+ * A typed planning failure together with every successfully completed trace
220
+ * segment preceding it.
221
+ *
222
+ * @category models
223
+ * @since 4.0.0
224
+ */
225
+ export type RunFailure<Cause, M extends AnyMachine = AnyMachine> = {
226
+ readonly _tag: "MachineTestRunFailure";
227
+ readonly scenario: Scenario<M>;
228
+ readonly phase: "initial";
229
+ readonly eventIndex: undefined;
230
+ readonly event: undefined;
231
+ readonly initial: undefined;
232
+ readonly steps: readonly [];
233
+ readonly cause: Cause;
234
+ } | {
235
+ readonly _tag: "MachineTestRunFailure";
236
+ readonly scenario: Scenario<M>;
237
+ readonly phase: "event";
238
+ readonly eventIndex: number;
239
+ readonly event: Machine.Machine.InputEvent<M>;
240
+ readonly initial: InitialTrace<M>;
241
+ readonly steps: ReadonlyArray<TraceStep<M>>;
242
+ readonly cause: Cause;
243
+ };
244
+ /**
245
+ * Errors that can be produced while planning a complete scenario.
246
+ *
247
+ * @category errors
248
+ * @since 4.0.0
249
+ */
250
+ export type RunError<M extends AnyMachine> = Machine.Machine.InitialError<M> | Machine.Machine.Error<M> | Machine.InfiniteTransitionError | Machine.MachineSchemaDecodeError | Machine.StartupError;
251
+ /**
252
+ * Services required while planning a complete scenario.
253
+ *
254
+ * Scenario execution delegates exclusively to the service-free `planInitial`
255
+ * and `plan` APIs. Invoke services and managed runtime capabilities belong to
256
+ * later execution, not synchronous planning.
257
+ *
258
+ * @category models
259
+ * @since 4.0.0
260
+ */
261
+ export type RunServices<M extends AnyMachine> = IsAny<Machine.PlanningServices<Machine.Machine.InitialServices<M> | Machine.Machine.Services<M>>> extends true ? Machine.PlanningServices<Machine.Machine.InitialServices<M> | Machine.Machine.Services<M>> : never;
262
+ /**
263
+ * Executes a generated scenario exclusively through `planInitial` and `plan`.
264
+ *
265
+ * Staged actions are retained in each plan but are never executed. Every event
266
+ * is planned, including events that occur after a terminal configuration.
267
+ * Typed planning errors retain the scenario and successfully completed prefix
268
+ * in a `RunFailure`.
269
+ *
270
+ * @category constructors
271
+ * @since 4.0.0
272
+ */
273
+ export declare const run: <M extends AnyMachine>(machine: ReadyMachine<M>, scenario: Scenario<M>) => Effect.Effect<Trace<M>, RunFailure<RunError<M>, M>, RunServices<M>>;
274
+ /**
275
+ * A deterministic hit/miss summary for a finite set declared by a machine.
276
+ *
277
+ * @category models
278
+ * @since 4.0.0
279
+ */
280
+ export interface CoverageSummary<Item> {
281
+ readonly total: number;
282
+ readonly hit: number;
283
+ readonly missing: number;
284
+ readonly hits: ReadonlyArray<Item>;
285
+ readonly misses: ReadonlyArray<Item>;
286
+ }
287
+ /**
288
+ * One active (non-history) state node in a state coverage summary.
289
+ *
290
+ * @category models
291
+ * @since 4.0.0
292
+ */
293
+ export interface StateCoverageItem<Path extends string = string> {
294
+ readonly path: Path;
295
+ readonly type: Exclude<Machine.Machine.StateNode["type"], "history">;
296
+ }
297
+ /**
298
+ * State activation and lifecycle coverage.
299
+ *
300
+ * @category models
301
+ * @since 4.0.0
302
+ */
303
+ export interface StateCoverage<Path extends string = string> {
304
+ readonly activation: CoverageSummary<StateCoverageItem<Path>>;
305
+ readonly entry: CoverageSummary<StateCoverageItem<Path>>;
306
+ readonly exit: CoverageSummary<StateCoverageItem<Path>>;
307
+ }
308
+ /**
309
+ * One stable transition-definition identity in definition order.
310
+ *
311
+ * @category models
312
+ * @since 4.0.0
313
+ */
314
+ export interface TransitionCoverageItem<SourcePath extends string = string, EventTag extends PropertyKey = PropertyKey, TargetPath extends string = SourcePath> {
315
+ readonly id: string;
316
+ readonly index: number;
317
+ readonly source: SourcePath;
318
+ readonly trigger: Machine.Machine.TransitionTrigger<EventTag>;
319
+ readonly reenter: boolean;
320
+ readonly targets: Machine.Machine.TransitionTargets<TargetPath>;
321
+ }
322
+ /**
323
+ * One public event tag declared by the machine.
324
+ *
325
+ * @category models
326
+ * @since 4.0.0
327
+ */
328
+ export interface EventCoverageItem<Tag extends PropertyKey = PropertyKey> {
329
+ readonly tag: Tag;
330
+ readonly count: number;
331
+ }
332
+ /**
333
+ * Public event coverage, including events that no transition retained.
334
+ *
335
+ * @category models
336
+ * @since 4.0.0
337
+ */
338
+ export type EventCoverage<Tag extends PropertyKey = PropertyKey> = {
339
+ readonly available: true;
340
+ readonly total: number;
341
+ readonly hit: number;
342
+ readonly missing: number;
343
+ readonly hits: ReadonlyArray<EventCoverageItem<Tag>>;
344
+ readonly misses: ReadonlyArray<EventCoverageItem<Tag>>;
345
+ readonly observed: ReadonlyArray<EventCoverageItem<Tag>>;
346
+ readonly diagnostics: readonly [];
347
+ } | {
348
+ readonly available: false;
349
+ readonly total: undefined;
350
+ readonly hit: undefined;
351
+ readonly missing: undefined;
352
+ readonly hits: undefined;
353
+ readonly misses: undefined;
354
+ readonly observed: ReadonlyArray<EventCoverageItem<Tag>>;
355
+ readonly diagnostics: ReadonlyArray<{
356
+ readonly schemaIndex: number;
357
+ readonly message: string;
358
+ }>;
359
+ };
360
+ /**
361
+ * Trace-derived scenario counts. There is no finite declared scenario space.
362
+ *
363
+ * @category models
364
+ * @since 4.0.0
365
+ */
366
+ export interface ScenarioCoverage {
367
+ readonly traces: number;
368
+ readonly events: number;
369
+ readonly empty: number;
370
+ }
371
+ /**
372
+ * Trace-derived logical configuration counts. There is no claimed exhaustive total.
373
+ *
374
+ * @category models
375
+ * @since 4.0.0
376
+ */
377
+ export interface LogicalConfigurationCoverage {
378
+ readonly observations: number;
379
+ readonly hit: number;
380
+ readonly identities: ReadonlyArray<string>;
381
+ }
382
+ /**
383
+ * Directly observed startup and microstep evidence.
384
+ *
385
+ * @category models
386
+ * @since 4.0.0
387
+ */
388
+ export interface MicrostepCoverageEvidence {
389
+ readonly total: number;
390
+ readonly changed: number;
391
+ readonly targetless: number;
392
+ readonly raised: number;
393
+ readonly emitted: number;
394
+ readonly eventTriggered: number;
395
+ readonly alwaysTriggered: number;
396
+ readonly doneTriggered: number;
397
+ readonly choiceTriggered: number;
398
+ }
399
+ /**
400
+ * Directly observed completion evidence.
401
+ *
402
+ * @category models
403
+ * @since 4.0.0
404
+ */
405
+ export interface CompletionCoverageEvidence<Path extends string = string> {
406
+ readonly donePlans: number;
407
+ readonly recordObservations: number;
408
+ readonly paths: ReadonlyArray<Path>;
409
+ }
410
+ /**
411
+ * Directly observed history records and history-target transitions.
412
+ *
413
+ * @category models
414
+ * @since 4.0.0
415
+ */
416
+ export interface HistoryCoverageEvidence<Path extends string = string> {
417
+ readonly recordObservations: number;
418
+ readonly recorded: ReadonlyArray<{
419
+ readonly path: Path;
420
+ readonly modes: ReadonlyArray<"shallow" | "deep">;
421
+ }>;
422
+ readonly targets: number;
423
+ readonly resolvedTargets: number;
424
+ }
425
+ /**
426
+ * Coverage computed only from observable machine definitions and planner traces.
427
+ *
428
+ * @category models
429
+ * @since 4.0.0
430
+ */
431
+ export interface Coverage<M extends AnyMachine> {
432
+ readonly states: StateCoverage<StatePath<M>>;
433
+ readonly transitions: CoverageSummary<TransitionCoverageItem<StateNodePath<M>, Machine.Machine.TagOf<Machine.Machine.Events<M>[number]>, StateNodePath<M>>>;
434
+ readonly events: EventCoverage<Machine.Machine.TagOf<Machine.Machine.InputEvents<M>[number]>>;
435
+ readonly scenarios: ScenarioCoverage;
436
+ readonly logicalConfigurations: LogicalConfigurationCoverage;
437
+ readonly startup: {
438
+ readonly traces: number;
439
+ readonly withMicrosteps: number;
440
+ };
441
+ readonly microsteps: MicrostepCoverageEvidence;
442
+ readonly completion: CompletionCoverageEvidence<StatePath<M>>;
443
+ readonly history: HistoryCoverageEvidence<StateNodePath<M>>;
444
+ }
445
+ /**
446
+ * Computes deterministic, definition-aware coverage from completed planner
447
+ * traces. Finite declared sets report hits and misses; scenarios and logical
448
+ * configurations report observations only because their complete spaces are
449
+ * generally infinite.
450
+ *
451
+ * @category verification
452
+ * @since 4.0.0
453
+ */
454
+ export declare const coverage: <M extends AnyMachine>(machine: M, traceOrTraces: Trace<M> | ReadonlyArray<Trace<M>>) => Coverage<M>;
455
+ /**
456
+ * The observation roles summarized for one logical graph node.
457
+ *
458
+ * @category models
459
+ * @since 4.0.0
460
+ */
461
+ export interface ObservedGraphNodeObservations {
462
+ readonly total: number;
463
+ readonly startup: number;
464
+ readonly event: number;
465
+ readonly microstep: number;
466
+ }
467
+ /**
468
+ * One full encoded logical snapshot stored in the observed Effect graph.
469
+ *
470
+ * @category models
471
+ * @since 4.0.0
472
+ */
473
+ export interface ObservedGraphNode<M extends AnyMachine> {
474
+ readonly id: string;
475
+ readonly snapshot: Machine.Machine.Snapshot<Machine.Machine.States<M>>;
476
+ readonly encoded: Machine.Machine.EncodedSnapshot;
477
+ readonly configuration: ReadonlyArray<StatePath<M>>;
478
+ readonly observations: ObservedGraphNodeObservations;
479
+ }
480
+ /**
481
+ * Retained evidence for one microstep inside an observed graph edge.
482
+ *
483
+ * @category models
484
+ * @since 4.0.0
485
+ */
486
+ export interface ObservedGraphMicrostep<M extends AnyMachine> {
487
+ readonly next: string;
488
+ readonly event: Machine.Machine.Event<M> | Machine.InitialEvent;
489
+ readonly transitions: Microstep<M, any>["transitions"];
490
+ readonly raisedEvents: ReadonlyArray<Machine.Machine.Event<M>>;
491
+ readonly emittedEvents: ReadonlyArray<Machine.Machine.Emit<M>>;
492
+ readonly exitPaths: ReadonlyArray<StatePath<M>>;
493
+ readonly entryPaths: ReadonlyArray<StatePath<M>>;
494
+ readonly changed: boolean;
495
+ }
496
+ /**
497
+ * A startup or public-event macrostep retained by the observed graph.
498
+ *
499
+ * @category models
500
+ * @since 4.0.0
501
+ */
502
+ export type ObservedGraphEdge<M extends AnyMachine> = {
503
+ readonly _tag: "Startup";
504
+ readonly traceIndex: number;
505
+ readonly microsteps: ReadonlyArray<ObservedGraphMicrostep<M>>;
506
+ readonly completion: PlanCompletion<M>;
507
+ } | {
508
+ readonly _tag: "Event";
509
+ readonly traceIndex: number;
510
+ readonly eventIndex: number;
511
+ readonly event: Machine.Machine.InputEvent<M>;
512
+ readonly microsteps: ReadonlyArray<ObservedGraphMicrostep<M>>;
513
+ readonly completion: PlanCompletion<M>;
514
+ };
515
+ /**
516
+ * An Effect directed graph plus stable indexes useful to graph algorithms.
517
+ *
518
+ * @category models
519
+ * @since 4.0.0
520
+ */
521
+ export interface ObservedGraph<M extends AnyMachine> {
522
+ readonly graph: Graph.DirectedGraph<ObservedGraphNode<M>, ObservedGraphEdge<M>>;
523
+ readonly nodesById: ReadonlyMap<string, Graph.NodeIndex>;
524
+ /** Settled post-startup nodes from which public event paths begin. */
525
+ readonly starts: ReadonlyArray<Graph.NodeIndex>;
526
+ /** Pre-settled startup sources connected to `starts` by `Startup` edges. */
527
+ readonly startupSources: ReadonlyArray<Graph.NodeIndex>;
528
+ }
529
+ /**
530
+ * Converts concrete planner traces into an observed logical-state graph.
531
+ * Nodes are deduplicated by the public snapshot encoding and every edge is a
532
+ * concrete startup or public-event macrostep. This intentionally does not
533
+ * claim to be a static or exhaustive graph of the machine.
534
+ *
535
+ * @category verification
536
+ * @since 4.0.0
537
+ */
538
+ export declare const observedGraph: <M extends AnyMachine>(machine: M, traceOrTraces: Trace<M> | ReadonlyArray<Trace<M>>) => Effect.Effect<ObservedGraph<M>, Machine.MachineSchemaEncodeError, Machine.Machine.SnapshotEncodingServices<Machine.Machine.States<M>>>;
539
+ /**
540
+ * Independently checked families of planner laws.
541
+ *
542
+ * @category models
543
+ * @since 4.0.0
544
+ */
545
+ export type VerificationLawGroup = "configuration" | "microsteps" | "completion" | "history" | "targetBounds";
546
+ /**
547
+ * Stable identifiers for individual planner laws.
548
+ *
549
+ * @category models
550
+ * @since 4.0.0
551
+ */
552
+ export type VerificationLaw = "configuration.shape" | "configuration.path" | "configuration.schema" | "configuration.hierarchy" | "configuration.compound" | "configuration.parallel" | "configuration.duplicate" | "configuration.trace" | "microsteps.unique" | "microsteps.order" | "microsteps.activeBefore" | "microsteps.activeAfter" | "microsteps.changed" | "microsteps.continuity" | "microsteps.reentry" | "completion.record" | "completion.output" | "completion.done" | "history.record" | "history.mode" | "history.path" | "history.value" | "history.shallow" | "history.deep" | "targetBounds.definition" | "targetBounds.target";
553
+ /**
554
+ * One independently observed violation in a planner trace.
555
+ *
556
+ * @category models
557
+ * @since 4.0.0
558
+ */
559
+ export interface VerificationViolation {
560
+ readonly law: VerificationLaw;
561
+ /** `undefined` identifies startup; otherwise this is the scenario event index. */
562
+ readonly eventIndex: number | undefined;
563
+ readonly microstepIndex?: number;
564
+ readonly path?: string;
565
+ readonly message: string;
566
+ }
567
+ /**
568
+ * All violations found while checking one trace.
569
+ *
570
+ * @category errors
571
+ * @since 4.0.0
572
+ */
573
+ export { VerificationError } from "../internal/testing/machine/verification.js";
574
+ /**
575
+ * Selects law families for the single canonical verifier. All run by default.
576
+ *
577
+ * @category models
578
+ * @since 4.0.0
579
+ */
580
+ export interface VerifyOptions {
581
+ readonly laws?: ReadonlyArray<VerificationLawGroup>;
582
+ }
583
+ /**
584
+ * Verifies an executed trace using only public machine inspection and raw
585
+ * snapshot data. The verifier deliberately does not reuse planner
586
+ * normalization, encoding, finality, or other internal helpers.
587
+ *
588
+ * Every selected law is evaluated and returned in one structured error so a
589
+ * shrunk property-test counterexample retains all relevant evidence.
590
+ *
591
+ * @category verification
592
+ * @since 4.0.0
593
+ */
594
+ export declare const verify: <M extends AnyMachine>(machine: M, trace: Trace<M>, options?: VerifyOptions) => Effect.Effect<void, VerificationError>;
595
+ /**
596
+ * Formats a trace as deterministic, line-oriented counterexample evidence.
597
+ *
598
+ * Object keys and map/set entries are canonicalized. Deferred effects are
599
+ * represented by counts so formatting never evaluates or inspects actions.
600
+ * Failures include their original cause and every available successful prefix.
601
+ *
602
+ * @category formatting
603
+ * @since 4.0.0
604
+ */
605
+ export declare const formatTrace: <M extends AnyMachine, Cause>(trace: Trace<M> | RunFailure<Cause, M>) => string;
606
+ //# sourceMappingURL=MachineTest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MachineTest.d.ts","sourceRoot":"","sources":["../../src/testing/MachineTest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAA;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAA;AAC7E,OAAO,KAAK,KAAK,cAAc,MAAM,+CAA+C,CAAA;AAEpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AACpF,OAAO,KAAK,KAAK,OAAO,MAAM,eAAe,CAAA;AAE7C,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,qBAAqB,EACrB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,eAAe,EACf,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,WAAW,EACX,WAAW,EACZ,MAAM,6CAA6C,CAAA;AAEpD,YAAY,EACV,kCAAkC,EAClC,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,6CAA6C,CAAA;AAEpD,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,YAAY,EACZ,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC7B,MAAM,6CAA6C,CAAA;AAEpD,OAAO,EACL,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACzB,MAAM,6CAA6C,CAAA;AAEpD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,cAAc,CAAC,cAC1E,CAAA;AAEzB,KAAK,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAA;AAErC,KAAK,UAAU,CAAC,CAAC,SAAS,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAExE,KAAK,SAAS,CAAC,CAAC,SAAS,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAEjG,KAAK,aAAa,CAAC,CAAC,SAAS,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAEzG,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAA;AAEhD,KAAK,YAAY,CAAC,CAAC,SAAS,UAAU,IAClC,CAAC,GACD,gBAAgB,CAChB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAClC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAChC,CAAA;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,OAAO,MAAM,CAAC,IAAI,GAAG;IAC/F,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;CAC9D,GACC;IACA,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;CAC9D,CAAA;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,UAAU,IAC5C;IACA,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;CAC7F,GACC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,OAAO,MAAM,CAAC,IAAI,GAAG;IACrD,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAA;CAChC,GACC;IACA,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;CAC7D,CAAC,CAAA;AAEN;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAA;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAA;CACvC;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAA;IAC9C,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAA;IAChD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,yBAAyB,CAAC,CAAA;CAC3D;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,UAAU;IAC7C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IACpD,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAA;CAC1C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,SAAS,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CACnF,CAAA;AAEpB;;;;;GAKG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,UAAU,IAC3C;IACA,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CAC3C,GACC;IACA,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAC3B,CAAA;AAEH;;;;;GAKG;AACH,MAAM,WAAW,SAAS,CACxB,CAAC,SAAS,UAAU,EACpB,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE1C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAClE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAA;IAC/D,QAAQ,CAAC,WAAW,EAAE,aAAa,CACjC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAChC,SAAS,CAAC,CAAC,CAAC,EACZ,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EACxD,aAAa,CAAC,CAAC,CAAC,CACjB,CACF,CAAA;IACD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACjD,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9D,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9D,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACzC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC1C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,UAAU,IACxC;IACA,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3E,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACjD,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9D,QAAQ,CAAC,UAAU,EAAE,aAAa,CAChC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC/E,CAAA;CACF,GACC,cAAc,CAAC,CAAC,CAAC,CAAA;AAErB;;;;;GAKG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,UAAU,IACtC;IACA,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAClE,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACjD,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9D,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;CACjD,GACC,cAAc,CAAC,CAAC,CAAC,CAAA;AAErB;;;;;GAKG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,UAAU;IAChD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IAC7B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3E,QAAQ,CAAC,qBAAqB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3D,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;CACpD;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,UAAU;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACpE,QAAQ,CAAC,mBAAmB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IACzD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IAC7C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;CACzD;AAED;;;;;GAKG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS,UAAU;IACzC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;IACjC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;CACzD;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,SAAS,UAAU,EAC7C,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,KAClB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,sBAAsB,CAAwB,CAAA;AAEtF;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,SAAS,UAAU,GAAG,UAAU,IAC3D;IACA,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAA;IACtC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CACtB,GACC;IACA,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAA;IACtC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IAC7C,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;IACjC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CACtB,CAAA;AAEH;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,UAAU,IACrC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAC/B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,uBAAuB,GAC/B,OAAO,CAAC,wBAAwB,GAChC,OAAO,CAAC,YAAY,CAAA;AAExB;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,UAAU,IAAI,KAAK,CACnD,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC3F,SAAS,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;AAEnH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,GAAG,EAAE,CAAC,CAAC,SAAS,UAAU,EACrC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,KAClB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAgB,CAAA;AAEvF;;;;;GAKG;AACH,MAAM,WAAW,eAAe,CAAC,IAAI;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;CACrC;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IAC7D,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAA;CACrE;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IACzD,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7D,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAA;IACxD,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAA;CACxD;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB,CACrC,UAAU,SAAS,MAAM,GAAG,MAAM,EAClC,QAAQ,SAAS,WAAW,GAAG,WAAW,EAC1C,UAAU,SAAS,MAAM,GAAG,UAAU;IAEtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAC7D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;CAChE;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB,CAAC,GAAG,SAAS,WAAW,GAAG,WAAW;IACtE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CAAC,GAAG,SAAS,WAAW,GAAG,WAAW,IAC3D;IACA,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;IACpD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;IACtD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;IACxD,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,CAAA;CAClC,GACC;IACA,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;IACxD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;QAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KACzB,CAAC,CAAA;CACH,CAAA;AAEH;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC3C;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IACtE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;CACpC;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IACnE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;QAC/B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;QACnB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC,CAAA;KAClD,CAAC,CAAA;IACF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,UAAU;IAC5C,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5C,QAAQ,CAAC,WAAW,EAAE,eAAe,CACnC,sBAAsB,CACpB,aAAa,CAAC,CAAC,CAAC,EAChB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EACxD,aAAa,CAAC,CAAC,CAAC,CACjB,CACF,CAAA;IACD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC7F,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAA;IACpC,QAAQ,CAAC,qBAAqB,EAAE,4BAA4B,CAAA;IAC5D,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;KAChC,CAAA;IACD,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAA;IAC9C,QAAQ,CAAC,UAAU,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7D,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;CAC5D;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,EAAE,CAAC,CAAC,SAAS,UAAU,EAC1C,OAAO,EAAE,CAAC,EACV,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAC9C,QAAQ,CAAC,CAAC,CAAqB,CAAA;AAEpC;;;;;GAKG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,UAAU;IACrD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACtE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe,CAAA;IACjD,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,QAAQ,CAAC,YAAY,EAAE,6BAA6B,CAAA;CACrD;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,UAAU;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAA;IAC/D,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC,CAAA;IACtD,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9D,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9D,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,UAAU,IAC9C;IACA,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7D,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,CAAA;CACvC,GACC;IACA,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IAC7C,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7D,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,CAAA;CACvC,CAAA;AAEH;;;;;GAKG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,UAAU;IACjD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/E,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IACxD,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAC/C,4EAA4E;IAC5E,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;CACxD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,SAAS,UAAU,EAC/C,OAAO,EAAE,CAAC,EACV,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAC9C,MAAM,CAAC,MAAM,CAChB,aAAa,CAAC,CAAC,CAAC,EAChB,OAAO,CAAC,wBAAwB,EAChC,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC3C,CAAA;AAE1B;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAC5B,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,cAAc,CAAA;AAElB;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GACvB,qBAAqB,GACrB,oBAAoB,GACpB,sBAAsB,GACtB,yBAAyB,GACzB,wBAAwB,GACxB,wBAAwB,GACxB,yBAAyB,GACzB,qBAAqB,GACrB,mBAAmB,GACnB,kBAAkB,GAClB,yBAAyB,GACzB,wBAAwB,GACxB,oBAAoB,GACpB,uBAAuB,GACvB,oBAAoB,GACpB,mBAAmB,GACnB,mBAAmB,GACnB,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,eAAe,GACf,iBAAiB,GACjB,cAAc,GACd,yBAAyB,GACzB,qBAAqB,CAAA;AAEzB;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAA;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED;;;;;GAKG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AAE/E;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAA;CACpD;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,SAAS,UAAU,EACxC,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,OAAO,CAAC,EAAE,aAAa,KACpB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAmB,CAAA;AAE7D;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,MAC7E,CAAA"}