@prisma-next/family-sql 0.5.0-dev.67 → 0.5.0-dev.69

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,4 +1,4 @@
1
- import { T as SqlPlanTargetDetails, p as SqlMigrationPlanOperation } from "./types-Ds4dJyTI.mjs";
1
+ import { A as SqlPlanTargetDetails, v as SqlMigrationPlanOperation } from "./types-CIdiS2QK.mjs";
2
2
  import { Migration } from "@prisma-next/migration-tools/migration";
3
3
 
4
4
  //#region src/core/sql-migration.d.ts
@@ -1,5 +1,5 @@
1
1
  import { i as verifySqlSchema, n as NativeTypeNormalizer, r as VerifySqlSchemaOptions } from "./verify-sql-schema-CPHiuYHR.mjs";
2
- import { i as ComponentDatabaseDependency } from "./types-Ds4dJyTI.mjs";
2
+ import { i as ComponentDatabaseDependency } from "./types-CIdiS2QK.mjs";
3
3
  import { SchemaIssue, SchemaVerificationNode } from "@prisma-next/framework-components/control";
4
4
  import { SqlIndexIR, SqlSchemaIR, SqlUniqueIR } from "@prisma-next/sql-schema-ir/types";
5
5
  //#region src/core/schema-verify/verify-helpers.d.ts
@@ -3,7 +3,7 @@ import { Result } from "@prisma-next/utils/result";
3
3
  import { Contract } from "@prisma-next/contract/types";
4
4
  import { SqlSchemaIR } from "@prisma-next/sql-schema-ir/types";
5
5
  import { TargetBoundComponentDescriptor } from "@prisma-next/framework-components/components";
6
- import { SqlStorage, StorageTypeInstance } from "@prisma-next/sql-contract/types";
6
+ import { SqlStorage, StorageColumn, StorageTable, StorageTypeInstance } from "@prisma-next/sql-contract/types";
7
7
  import { TypesImportSpec } from "@prisma-next/framework-components/emission";
8
8
  import { PslDocumentAst } from "@prisma-next/framework-components/psl-ast";
9
9
  import { SqlOperationDescriptor } from "@prisma-next/sql-operations";
@@ -43,6 +43,21 @@ interface SqlControlFamilyInstance extends ControlFamilyInstance<'sql', SqlSchem
43
43
  readonly configPath?: string;
44
44
  }): Promise<VerifyDatabaseResult>;
45
45
  schemaVerify(options: SchemaVerifyOptions): Promise<VerifyDatabaseSchemaResult>;
46
+ /**
47
+ * Verify a contract against an already-introspected schema slice.
48
+ *
49
+ * Used by the aggregate verifier to invoke per-member verification
50
+ * with the live schema pre-projected to the member's claimed slice
51
+ * via `projectSchemaToSpace`. Closes F23 — without per-member
52
+ * pre-projection, single-contract verifiers see other-space tables
53
+ * as `extras`.
54
+ */
55
+ schemaVerifyAgainstSchema(options: {
56
+ readonly contract: unknown;
57
+ readonly schema: SqlSchemaIR;
58
+ readonly strict: boolean;
59
+ readonly frameworkComponents: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>;
60
+ }): VerifyDatabaseSchemaResult;
46
61
  sign(options: {
47
62
  readonly driver: ControlDriverInstance<'sql', string>;
48
63
  readonly contract: unknown;
@@ -95,6 +110,39 @@ interface ResolveIdentityValueInput {
95
110
  readonly codecId?: string;
96
111
  readonly typeParams?: Record<string, unknown>;
97
112
  }
113
+ /**
114
+ * Per-field lifecycle event a codec hook can react to.
115
+ *
116
+ * Fired during app-space migration emission as the SQL family diffs the
117
+ * prior contract against the new contract.
118
+ *
119
+ * - `'added'` — the field is present in the new contract but not the prior.
120
+ * - `'dropped'` — the field is present in the prior contract but not the new.
121
+ * - `'altered'` — the field is present in both and any property other than
122
+ * `codecId` differs. Codec-id changes are a v1 non-goal:
123
+ * when only `codecId` differs, no `'altered'` event fires.
124
+ */
125
+ type FieldEvent = 'added' | 'dropped' | 'altered';
126
+ /**
127
+ * Context passed to {@link CodecControlHooks.onFieldEvent}.
128
+ *
129
+ * `tableName` and `fieldName` are always populated; `priorTable` /
130
+ * `priorField` carry the prior contract's view of the table and column
131
+ * (present for `'dropped'` and `'altered'`); `newTable` / `newField`
132
+ * carry the new contract's view (present for `'added'` and `'altered'`).
133
+ *
134
+ * The hook only ever receives app-space contract IR — extension-space
135
+ * fields are scoped out by the API: the hook is wired at the
136
+ * application emitter only.
137
+ */
138
+ interface FieldEventContext {
139
+ readonly tableName: string;
140
+ readonly fieldName: string;
141
+ readonly priorTable?: StorageTable;
142
+ readonly newTable?: StorageTable;
143
+ readonly priorField?: StorageColumn;
144
+ readonly newField?: StorageColumn;
145
+ }
98
146
  interface CodecControlHooks<TTargetDetails = unknown> {
99
147
  planTypeOperations?: (options: {
100
148
  readonly typeName: string;
@@ -135,6 +183,18 @@ interface CodecControlHooks<TTargetDetails = unknown> {
135
183
  * - undefined: no opinion; planner may use built-in fallbacks
136
184
  */
137
185
  resolveIdentityValue?: (input: ResolveIdentityValueInput) => string | null | undefined;
186
+ /**
187
+ * Reacts to per-field added / dropped / altered events as the app-space
188
+ * emitter diffs the prior contract against the new contract. Returned
189
+ * ops are inlined into the app-space migration's `ops.json` alongside
190
+ * the user's structural ops.
191
+ *
192
+ * Synchronous. Each returned op must carry its own `invariantId`. Hooks
193
+ * are dispatched per `(table, field)` based on the field's `codecId`
194
+ * (the new field's codec for `'added'` / `'altered'`; the prior field's
195
+ * codec for `'dropped'`).
196
+ */
197
+ onFieldEvent?: (event: FieldEvent, ctx: FieldEventContext) => readonly SqlMigrationPlanOperation<TTargetDetails>[];
138
198
  }
139
199
  interface SqlControlExtensionDescriptor<TTargetId extends string> extends ControlExtensionDescriptor<'sql', TTargetId> {
140
200
  readonly databaseDependencies?: ComponentDatabaseDependencies<unknown>;
@@ -303,6 +363,14 @@ interface SqlMigrationRunnerExecuteCallbacks<TTargetDetails> {
303
363
  interface SqlMigrationRunnerExecuteOptions<TTargetDetails> {
304
364
  readonly plan: SqlMigrationPlan<TTargetDetails>;
305
365
  readonly driver: ControlDriverInstance<'sql', string>;
366
+ /**
367
+ * Logical contract space this plan applies to. When omitted the
368
+ * runner derives the space from {@link SqlMigrationPlan.spaceId};
369
+ * when supplied, the runner asserts it matches `plan.spaceId` so a
370
+ * caller cannot accidentally write the marker row for a different
371
+ * space than the plan was produced for.
372
+ */
373
+ readonly space?: string;
306
374
  /**
307
375
  * Destination contract IR.
308
376
  * Must correspond to `plan.destination` and is used for schema verification and marker/ledger writes.
@@ -337,8 +405,54 @@ interface SqlMigrationRunnerFailure extends MigrationRunnerFailure {
337
405
  interface SqlMigrationRunnerSuccessValue extends MigrationRunnerSuccessValue {}
338
406
  type SqlMigrationRunnerResult = Result<SqlMigrationRunnerSuccessValue, SqlMigrationRunnerFailure>;
339
407
  interface SqlMigrationRunner<TTargetDetails> {
408
+ /**
409
+ * Apply a single migration plan, opening and managing its own
410
+ * transaction (and any target-specific connection-level setup, e.g.
411
+ * SQLite's `PRAGMA foreign_keys` toggle). Existing single-space
412
+ * callers route through here.
413
+ */
340
414
  execute(options: SqlMigrationRunnerExecuteOptions<TTargetDetails>): Promise<SqlMigrationRunnerResult>;
415
+ /**
416
+ * Apply a single migration plan against an already-open connection
417
+ * **without** opening a transaction. The caller is responsible for
418
+ * wrapping the call (and any siblings) in `BEGIN` / `COMMIT` /
419
+ * `ROLLBACK`. Used by the per-space runner wiring to fan out across
420
+ * contract spaces inside one outer transaction so a mid-apply
421
+ * failure rolls back every space's writes.
422
+ *
423
+ * Idempotent control-table setup (`prisma_contract.*`) and marker
424
+ * writes use `options.space` to address the per-space marker row.
425
+ */
426
+ executeOnConnection(options: SqlMigrationRunnerExecuteOptions<TTargetDetails>): Promise<SqlMigrationRunnerResult>;
427
+ /**
428
+ * Apply per-space plans across multiple contract spaces inside a
429
+ * single outer transaction. The caller orders the input list
430
+ * (typically via the aggregate planner's `applyOrder`: extensions
431
+ * alphabetical, then app); the runner is responsible for opening
432
+ * / committing the outer
433
+ * transaction (and any target-specific connection-level setup such
434
+ * as the SQLite FK pragma toggle). A failure on any space rolls
435
+ * back every space's writes.
436
+ *
437
+ * Each space's `SqlMigrationRunnerExecuteOptions` must reference the
438
+ * same `driver` (the connection the outer transaction is open on).
439
+ * Per-space marker writes use `options.space` to address the row.
440
+ */
441
+ executeAcrossSpaces(options: {
442
+ readonly driver: ControlDriverInstance<'sql', string>;
443
+ readonly perSpaceOptions: ReadonlyArray<SqlMigrationRunnerExecuteOptions<TTargetDetails>>;
444
+ }): Promise<MultiSpaceRunnerResult>;
445
+ }
446
+ interface MultiSpaceRunnerSuccessValue {
447
+ readonly perSpaceResults: ReadonlyArray<{
448
+ readonly space: string;
449
+ readonly value: SqlMigrationRunnerSuccessValue;
450
+ }>;
451
+ }
452
+ interface MultiSpaceRunnerFailure extends SqlMigrationRunnerFailure {
453
+ readonly failingSpace: string;
341
454
  }
455
+ type MultiSpaceRunnerResult = Result<MultiSpaceRunnerSuccessValue, MultiSpaceRunnerFailure>;
342
456
  interface SqlControlTargetDescriptor<TTargetId extends string, TTargetDetails> extends MigratableTargetDescriptor<'sql', TTargetId, SqlControlFamilyInstance> {
343
457
  readonly queryOperations?: () => ReadonlyArray<SqlOperationDescriptor>;
344
458
  createPlanner(family: SqlControlFamilyInstance): SqlMigrationPlanner<TTargetDetails>;
@@ -362,5 +476,5 @@ interface CreateSqlMigrationPlanOptions<TTargetDetails> {
362
476
  readonly meta?: AnyRecord;
363
477
  }
364
478
  //#endregion
365
- export { SqlPlannerResult as A, SqlMigrationRunnerResult as C, SqlPlannerConflictKind as D, SqlPlannerConflict as E, SchemaVerifyOptions as F, SqlControlFamilyInstance as I, StorageTypePlanResult as M, collectInitDependencies as N, SqlPlannerConflictLocation as O, isDatabaseDependencyProvider as P, SqlMigrationRunnerFailure as S, SqlPlanTargetDetails as T, SqlMigrationPlannerPlanOptions as _, CreateSqlMigrationPlanOptions as a, SqlMigrationRunnerExecuteCallbacks as b, SqlControlAdapterDescriptor as c, SqlMigrationPlan as d, SqlMigrationPlanContractInfo as f, SqlMigrationPlanner as g, SqlMigrationPlanOperationTarget as h, ComponentDatabaseDependency as i, SqlPlannerSuccessResult as j, SqlPlannerFailureResult as k, SqlControlExtensionDescriptor as l, SqlMigrationPlanOperationStep as m, CodecControlHooks as n, ExpandNativeTypeInput as o, SqlMigrationPlanOperation as p, ComponentDatabaseDependencies as r, ResolveIdentityValueInput as s, AnyRecord as t, SqlControlTargetDescriptor as u, SqlMigrationRunner as v, SqlMigrationRunnerSuccessValue as w, SqlMigrationRunnerExecuteOptions as x, SqlMigrationRunnerErrorCode as y };
366
- //# sourceMappingURL=types-Ds4dJyTI.d.mts.map
479
+ export { SqlPlanTargetDetails as A, SchemaVerifyOptions as B, SqlMigrationRunner as C, SqlMigrationRunnerFailure as D, SqlMigrationRunnerExecuteOptions as E, SqlPlannerResult as F, SqlPlannerSuccessResult as I, StorageTypePlanResult as L, SqlPlannerConflictKind as M, SqlPlannerConflictLocation as N, SqlMigrationRunnerResult as O, SqlPlannerFailureResult as P, collectInitDependencies as R, SqlMigrationPlannerPlanOptions as S, SqlMigrationRunnerExecuteCallbacks as T, SqlControlFamilyInstance as V, SqlMigrationPlanContractInfo as _, CreateSqlMigrationPlanOptions as a, SqlMigrationPlanOperationTarget as b, FieldEventContext as c, MultiSpaceRunnerSuccessValue as d, ResolveIdentityValueInput as f, SqlMigrationPlan as g, SqlControlTargetDescriptor as h, ComponentDatabaseDependency as i, SqlPlannerConflict as j, SqlMigrationRunnerSuccessValue as k, MultiSpaceRunnerFailure as l, SqlControlExtensionDescriptor as m, CodecControlHooks as n, ExpandNativeTypeInput as o, SqlControlAdapterDescriptor as p, ComponentDatabaseDependencies as r, FieldEvent as s, AnyRecord as t, MultiSpaceRunnerResult as u, SqlMigrationPlanOperation as v, SqlMigrationRunnerErrorCode as w, SqlMigrationPlanner as x, SqlMigrationPlanOperationStep as y, isDatabaseDependencyProvider as z };
480
+ //# sourceMappingURL=types-CIdiS2QK.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-CIdiS2QK.d.mts","names":[],"sources":["../src/core/control-instance.ts","../src/core/migrations/types.ts"],"mappings":";;;;;;;;;;;UAkKU,eAAA;EAAA,SACC,MAAA;EAAA,SACA,QAAA;EAAA,SACA,QAAA;EAAA,SACA,UAAA;AAAA;AAAA,KAGN,uBAAA,GAA0B,GAAA,SAAY,eAAA;AAAA,UAEjC,sBAAA;EAAA,SACC,gBAAA,EAAkB,aAAA,CAAc,eAAA;EAAA,SAChC,oBAAA,EAAsB,aAAA,CAAc,eAAA;EAAA,SACpC,YAAA,EAAc,aAAA;EAAA,SACd,oBAAA,EAAsB,uBAAA;AAAA;AAAA,UAGhB,mBAAA;EAAA,SACN,MAAA,EAAQ,qBAAA;EAAA,SACR,QAAA;EAAA,SACA,MAAA;EAAA,SACA,OAAA,GAAU,gBAAA;EAbU;;AAA2B;;EAA3B,SAkBpB,mBAAA,EAAqB,aAAA,CAAc,8BAAA;AAAA;AAAA,UAG7B,wBAAA,SACP,qBAAA,QAA6B,WAAA,GACnC,iBAAA,CAAkB,WAAA,GAClB,uBAAA,CAAwB,WAAA,GACxB,uBAAA,EACA,sBAAA;EACF,gBAAA,CAAiB,YAAA,YAAwB,QAAA;EAEzC,MAAA,CAAO,OAAA;IAAA,SACI,MAAA,EAAQ,qBAAA;IAAA,SACR,QAAA;IAAA,SACA,gBAAA;IAAA,SACA,YAAA;IAAA,SACA,UAAA;EAAA,IACP,OAAA,CAAQ,oBAAA;EAEZ,YAAA,CAAa,OAAA,EAAS,mBAAA,GAAsB,OAAA,CAAQ,0BAAA;EAjC3C;;;;;;;;;EA4CT,yBAAA,CAA0B,OAAA;IAAA,SACf,QAAA;IAAA,SACA,MAAA,EAAQ,WAAA;IAAA,SACR,MAAA;IAAA,SACA,mBAAA,EAAqB,aAAA,CAAc,8BAAA;EAAA,IAC1C,0BAAA;EAEJ,IAAA,CAAK,OAAA;IAAA,SACM,MAAA,EAAQ,qBAAA;IAAA,SACR,QAAA;IAAA,SACA,YAAA;IAAA,SACA,UAAA;EAAA,IACP,OAAA,CAAQ,kBAAA;EAEZ,UAAA,CAAW,OAAA;IAAA,SACA,MAAA,EAAQ,qBAAA;IAAA,SACR,QAAA;EAAA,IACP,OAAA,CAAQ,WAAA;EAEZ,gBAAA,CAAiB,QAAA,EAAU,WAAA,GAAc,cAAA;EAEzC,kBAAA,CAAmB,UAAA,WAAqB,sBAAA,KAA2B,gBAAA;AAAA;;;KC/MzD,SAAA,GAAY,QAAA,CAAS,MAAA;AAAA,UAEhB,2BAAA;EAAA,SACN,EAAA;EAAA,SACA,KAAA;EAAA,SACA,OAAA,WAAkB,yBAAA,CAA0B,cAAA;AAAA;AAAA,UAGtC,6BAAA;EAAA,SACN,IAAA,YAAgB,2BAAA,CAA4B,cAAA;AAAA;AAAA,UAGtC,0BAAA;EAAA,SACN,oBAAA,GAAuB,6BAAA;AAAA;AAAA,iBAGlB,4BAAA,CAA6B,KAAA,YAAiB,KAAA,IAAS,0BAAA;AAAA,iBAIvD,uBAAA,CACd,UAAA,EAAY,aAAA,qBACF,2BAAA;AAAA,UAWK,qBAAA;EAAA,SACN,UAAA,WAAqB,yBAAA,CAA0B,cAAA;AAAA;;ADwGA;;UClGzC,qBAAA;EAAA,SACN,UAAA;EAAA,SACA,OAAA;EAAA,SACA,UAAA,GAAa,MAAA;AAAA;;;;;;;;UAUP,yBAAA;EAAA,SACN,UAAA;EAAA,SACA,OAAA;EAAA,SACA,UAAA,GAAa,MAAA;AAAA;;;;;AD2FxB;;;;;;;;KC5EY,UAAA;;;;;;;;;;;;ADwFZ;UC1EiB,iBAAA;EAAA,SACN,SAAA;EAAA,SACA,SAAA;EAAA,SACA,UAAA,GAAa,YAAA;EAAA,SACb,QAAA,GAAW,YAAA;EAAA,SACX,UAAA,GAAa,aAAA;EAAA,SACb,QAAA,GAAW,aAAA;AAAA;AAAA,UAGL,iBAAA;EACf,kBAAA,IAAsB,OAAA;IAAA,SACX,QAAA;IAAA,SACA,YAAA,EAAc,mBAAA;IAAA,SACd,QAAA,EAAU,QAAA,CAAS,UAAA;IAAA,SACnB,MAAA,EAAQ,WAAA;IAAA,SACR,UAAA;IAAA,SACA,MAAA,EAAQ,wBAAA;EAAA,MACb,qBAAA,CAAsB,cAAA;EAC5B,UAAA,IAAc,OAAA;IAAA,SACH,QAAA;IAAA,SACA,YAAA,EAAc,mBAAA;IAAA,SACd,MAAA,EAAQ,WAAA;IAAA,SACR,UAAA;EAAA,eACI,WAAA;EACf,eAAA,IAAmB,OAAA;IAAA,SACR,MAAA,EAAQ,qBAAA;IAAA,SACR,UAAA;EAAA,MACL,OAAA,CAAQ,MAAA,SAAe,mBAAA;EDiD3B;;;;;;;;;;ECtCF,gBAAA,IAAoB,KAAA,EAAO,qBAAA;EDuCD;;;;;;;;;EC7B1B,oBAAA,IAAwB,KAAA,EAAO,yBAAA;EDqCpB;;;;;;;;;;;ECzBX,YAAA,IACE,KAAA,EAAO,UAAA,EACP,GAAA,EAAK,iBAAA,cACO,yBAAA,CAA0B,cAAA;AAAA;AAAA,UAGzB,6BAAA,mCACP,0BAAA,QAAkC,SAAA;EAAA,SACjC,oBAAA,GAAuB,6BAAA;EAAA,SACvB,eAAA,SAAwB,aAAA,CAAc,sBAAA;EDoCpC;;;;;;;;;;;;;EAAA,SCtBF,aAAA,GAAgB,aAAA,CAAc,QAAA,CAAS,UAAA;AAAA;AAAA,UAGjC,2BAAA,mCACP,wBAAA,QAAgC,SAAA;EAAA,SAC/B,eAAA,SAAwB,aAAA,CAAc,sBAAA;AAAA;AAAA,UAGhC,6BAAA;EAAA,SACN,WAAA;EAAA,SACA,GAAA;ED2BT;;;;;;;;EAAA,SClBS,MAAA;EAAA,SACA,IAAA,GAAO,SAAA;AAAA;;;AA5LlB;;;;;UAsMiB,oBAAA;EAAA,SACN,MAAA;EAAA,SACA,IAAA;AAAA;AAAA,UAGM,+BAAA;EAAA,SACN,EAAA;EAAA,SACA,OAAA,GAAU,cAAA;AAAA;AAAA,UAGJ,yBAAA,yBAAkD,sBAAA;EAAA,SACxD,OAAA;EAAA,SACA,MAAA,EAAQ,+BAAA,CAAgC,cAAA;EAAA,SACxC,QAAA,WAAmB,6BAAA;EAAA,SACnB,OAAA,WAAkB,6BAAA;EAAA,SAClB,SAAA,WAAoB,6BAAA;EAAA,SACpB,IAAA,GAAO,SAAA;AAAA;AAAA,UAGD,4BAAA;EAAA,SACN,WAAA;EAAA,SACA,WAAA;AAAA;AAAA,UAGM,gBAAA,yBAAyC,aAAA;EArNW;AAGrE;;;;;AAIA;;;;;;;;EAPqE,SAoO1D,OAAA;EAzNK;;;;EAAA,SA8NL,MAAA,GAAS,4BAAA;EA7NlB;;;EAAA,SAiOS,WAAA,EAAa,4BAAA;EAAA,SACb,UAAA,WAAqB,yBAAA,CAA0B,cAAA;EAtNpB;;;;;;;;EAAA,SA+N3B,kBAAA;EAAA,SACA,IAAA,GAAO,SAAA;AAAA;AAAA,KAGN,sBAAA;AAAA,UAQK,0BAAA;EAAA,SACN,KAAA;EAAA,SACA,MAAA;EAAA,SACA,KAAA;EAAA,SACA,UAAA;EAAA,SACA,IAAA;AAAA;AAAA,UAGM,kBAAA,SAA2B,wBAAA;EAAA,SACjC,IAAA,EAAM,sBAAA;EAAA,SACN,QAAA,GAAW,0BAAA;EAAA,SACX,IAAA,GAAO,SAAA;AAAA;AAAA,UAGD,uBAAA,yBACP,IAAA,CAAK,6BAAA;EAAA,SACJ,IAAA;EAAA,SACA,IAAA,EAAM,gBAAA,CAAiB,cAAA;AAAA;AAAA,UAGjB,uBAAA,SAAgC,IAAA,CAAK,6BAAA;EAAA,SAC3C,IAAA;EAAA,SACA,SAAA,WAAoB,kBAAA;AAAA;AAAA,KAGnB,gBAAA,mBACR,uBAAA,CAAwB,cAAA,IACxB,uBAAA;AAAA,UAEa,8BAAA;EAAA,SACN,QAAA,EAAU,QAAA,CAAS,UAAA;EAAA,SACnB,MAAA,EAAQ,WAAA;EAAA,SACR,MAAA,EAAQ,wBAAA;EAAA,SACR,UAAA;EApNW;;;;;;;EAAA,SA4NX,OAAA;EA7Na;;;;;;;;;AAMxB;;;;;;EANwB,SA6Ob,YAAA,EAAc,QAAA,CAAS,UAAA;EAhOb;;;;;EAAA,SAsOV,mBAAA,EAAqB,aAAA,CAAc,8BAAA;AAAA;AAAA,UAG7B,mBAAA;EACf,IAAA,CAAK,OAAA,EAAS,8BAAA,GAAiC,gBAAA,CAAiB,cAAA;AAAA;AAAA,UAGjD,kCAAA;EACf,gBAAA,EAAkB,SAAA,EAAW,yBAAA,CAA0B,cAAA;EACvD,mBAAA,EAAqB,SAAA,EAAW,yBAAA,CAA0B,cAAA;AAAA;AAAA,UAG3C,gCAAA;EAAA,SACN,IAAA,EAAM,gBAAA,CAAiB,cAAA;EAAA,SACvB,MAAA,EAAQ,qBAAA;EArMsB;;;;;;;EAAA,SA6M9B,KAAA;EA/PqB;;;;EAAA,SAoQrB,mBAAA,EAAqB,QAAA,CAAS,UAAA;EAjQpB;;;;EAAA,SAsQV,MAAA,EAAQ,wBAAA;EAAA,SACR,UAAA;EAAA,SACA,kBAAA;EAAA,SACA,SAAA,GAAY,kCAAA,CAAmC,cAAA;EAAA,SAC/C,OAAA,GAAU,gBAAA;EArQA;;;;EAAA,SA0QV,eAAA,GAAkB,8BAAA;EAtQhB;;;;;EAAA,SA4QF,mBAAA,EAAqB,aAAA,CAAc,8BAAA;AAAA;AAAA,KAGlC,2BAAA;AAAA,UAWK,yBAAA,SAAkC,sBAAA;EAAA,SACxC,IAAA,EAAM,2BAAA;EAAA,SACN,IAAA,GAAO,SAAA;AAAA;AAAA,UAGD,8BAAA,SAAuC,2BAAA;AAAA,KAE5C,wBAAA,GAA2B,MAAA,CACrC,8BAAA,EACA,yBAAA;AAAA,UAGe,kBAAA;EAjQR;;;;;;EAwQP,OAAA,CACE,OAAA,EAAS,gCAAA,CAAiC,cAAA,IACzC,OAAA,CAAQ,wBAAA;EAtQiC;;;;;;;;;;;EAmR5C,mBAAA,CACE,OAAA,EAAS,gCAAA,CAAiC,cAAA,IACzC,OAAA,CAAQ,wBAAA;EArRkC;;;;;;;;;;;;;;EAqS7C,mBAAA,CAAoB,OAAA;IAAA,SACT,MAAA,EAAQ,qBAAA;IAAA,SACR,eAAA,EAAiB,aAAA,CAAc,gCAAA,CAAiC,cAAA;EAAA,IACvE,OAAA,CAAQ,sBAAA;AAAA;AAAA,UAGG,4BAAA;EAAA,SACN,eAAA,EAAiB,aAAA;IAAA,SACf,KAAA;IAAA,SACA,KAAA,EAAO,8BAAA;EAAA;AAAA;AAAA,UAIH,uBAAA,SAAgC,yBAAA;EAAA,SACtC,YAAA;AAAA;AAAA,KAGC,sBAAA,GAAyB,MAAA,CAAO,4BAAA,EAA8B,uBAAA;AAAA,UAEzD,0BAAA,mDACP,0BAAA,QAAkC,SAAA,EAAW,wBAAA;EAAA,SAC5C,eAAA,SAAwB,aAAA,CAAc,sBAAA;EAC/C,aAAA,CAAc,MAAA,EAAQ,wBAAA,GAA2B,mBAAA,CAAoB,cAAA;EACrE,YAAA,CAAa,MAAA,EAAQ,wBAAA,GAA2B,kBAAA,CAAmB,cAAA;AAAA;AAAA,UAGpD,6BAAA;EAAA,SACN,QAAA;EArSA;;;EAAA,SAySA,OAAA;EAAA,SACA,MAAA,GAAS,4BAAA;EAAA,SACT,WAAA,EAAa,4BAAA;EAAA,SACb,UAAA,WAAqB,yBAAA,CAA0B,cAAA;EAxRrB;;;;AAKrC;EALqC,SA8R1B,kBAAA;EAAA,SACA,IAAA,GAAO,SAAA;AAAA"}