velocious 1.0.597 → 1.0.598
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.
- package/README.md +2 -2
- package/build/background-jobs/main.js +42 -32
- package/build/src/background-jobs/main.d.ts +15 -10
- package/build/src/background-jobs/main.d.ts.map +1 -1
- package/build/src/background-jobs/main.js +42 -34
- package/build/src/testing/factory/node/definition-reload-policy.d.ts +97 -0
- package/build/src/testing/factory/node/definition-reload-policy.d.ts.map +1 -0
- package/build/src/testing/factory/node/definition-reload-policy.js +133 -0
- package/build/src/testing/factory/node/load-definitions.d.ts +4 -1
- package/build/src/testing/factory/node/load-definitions.d.ts.map +1 -1
- package/build/src/testing/factory/node/load-definitions.js +27 -4
- package/build/src/testing/test-runner.js +7 -7
- package/build/testing/factory/node/definition-reload-policy.js +149 -0
- package/build/testing/factory/node/load-definitions.js +29 -5
- package/build/testing/test-runner.js +6 -6
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/src/background-jobs/main.js +42 -32
- package/src/testing/factory/node/definition-reload-policy.js +149 -0
- package/src/testing/factory/node/load-definitions.js +29 -5
- package/src/testing/test-runner.js +6 -6
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* Expo / Metro compatibility guidance and a real Expo export check (see [docs/expo-metro-compatibility.md](docs/expo-metro-compatibility.md))
|
|
26
26
|
* Gap-less positional lists with automatic reordering via `actsAsList`, including models with numeric, string, or UUID primary keys (see [docs/acts-as-list.md](docs/acts-as-list.md))
|
|
27
27
|
* Rails-style nested-attribute writes on frontend-model `save()` (see [docs/nested-attributes.md](docs/nested-attributes.md))
|
|
28
|
-
* Async-aware test-data factories with inherited traits, graph-first native association autosave, metadata-aware override precedence, callbacks, sequences, and
|
|
28
|
+
* Async-aware test-data factories with inherited traits, graph-first native association autosave, metadata-aware override precedence, callbacks, sequences, linting, and a process-global reload-retention budget that bounds cache-busted re-import memory (see [docs/factories.md](docs/factories.md))
|
|
29
29
|
* Per-row association counts via `.withCount(...)`, including cohort-safe intersected filters, safe batching of structurally identical aggregates, and automatic IN-list chunking for large parent sets, on frontend and backend queries (see [docs/with-count.md](docs/with-count.md))
|
|
30
30
|
* Consumer-defined per-row SQL aggregates/computations via `.queryData(...)`, with compatible projections sharing a roundtrip while preserving declared alias-overwrite order and automatic IN-list chunking for large parent sets, on frontend and backend queries (see [docs/query-data.md](docs/query-data.md))
|
|
31
31
|
* Per-record ability checks via `.abilities(...)` on frontend queries + `record.can(action)` (see [docs/abilities.md](docs/abilities.md))
|
|
@@ -2409,7 +2409,7 @@ const result = await MyJob.replaceScheduled({
|
|
|
2409
2409
|
await MyJob.cancelScheduled(`event:${eventId}:reminder:24h`)
|
|
2410
2410
|
```
|
|
2411
2411
|
|
|
2412
|
-
A queued owner is atomically cancelled during replacement/cancellation. A `previousStatus` or cancellation `outcome` of `"handed_off"` means the worker may already be running; Velocious removes or replaces key ownership but does not claim that JavaScript stopped. Store a generation/revision in application state, pass it to the job, and re-check it immediately before irreversible effects. Stable keys and full result shapes are documented in [Scheduling One-Off Background Jobs](docs/scheduled-background-job-enqueue.md#replacing-or-cancelling-a-logical-schedule).
|
|
2412
|
+
A queued owner is atomically cancelled during replacement/cancellation. Its acknowledgement waits for the corresponding dispatch drain lifecycle; if another drain is already active, the request coalesces and waits for its re-drain and future-job timer re-arm instead of acknowledging early. A `previousStatus` or cancellation `outcome` of `"handed_off"` means the worker may already be running; Velocious removes or replaces key ownership but does not claim that JavaScript stopped. Store a generation/revision in application state, pass it to the job, and re-check it immediately before irreversible effects. Stable keys and full result shapes are documented in [Scheduling One-Off Background Jobs](docs/scheduled-background-job-enqueue.md#replacing-or-cancelling-a-logical-schedule).
|
|
2413
2413
|
|
|
2414
2414
|
Set `deduplicateWhileQueued: true` to coalesce an enqueue onto the earliest identical queued job with the same job name, arguments, and queue when that existing job is scheduled no later than the new request. A retry backed off into the future does not suppress a new immediate enqueue, while repeated immediate triggers and equal or later schedules still coalesce.
|
|
2415
2415
|
|
|
@@ -127,6 +127,8 @@ export default class BackgroundJobsMain {
|
|
|
127
127
|
this.scheduler = undefined
|
|
128
128
|
this._draining = false
|
|
129
129
|
this._redrainQueued = false
|
|
130
|
+
/** @type {Promise<void> | undefined} */
|
|
131
|
+
this._drainPromise = undefined
|
|
130
132
|
this._stopped = false
|
|
131
133
|
/** @type {Promise<void> | undefined} */
|
|
132
134
|
this.stopPromise = undefined
|
|
@@ -645,9 +647,11 @@ export default class BackgroundJobsMain {
|
|
|
645
647
|
/**
|
|
646
648
|
* Removes a lost worker socket and releases only leases dispatched through it.
|
|
647
649
|
* @param {JsonSocket} worker - Disconnected worker socket.
|
|
650
|
+
* @param {object} [args] - Coordination options.
|
|
651
|
+
* @param {boolean} [args.queueRedrain] - Queue another pass instead of awaiting the active drain.
|
|
648
652
|
* @returns {Promise<void>} - Resolves after its active leases are released.
|
|
649
653
|
*/
|
|
650
|
-
async _handleWorkerSocketClosed(worker) {
|
|
654
|
+
async _handleWorkerSocketClosed(worker, {queueRedrain = false} = {}) {
|
|
651
655
|
this.workers.delete(worker)
|
|
652
656
|
this.readyWorkers.delete(worker)
|
|
653
657
|
|
|
@@ -657,7 +661,7 @@ export default class BackgroundJobsMain {
|
|
|
657
661
|
}
|
|
658
662
|
|
|
659
663
|
try {
|
|
660
|
-
await this._releaseWorkerHandoffs(worker)
|
|
664
|
+
await this._releaseWorkerHandoffs(worker, {queueRedrain})
|
|
661
665
|
} catch (error) {
|
|
662
666
|
this._reportHandoffReleaseError(error)
|
|
663
667
|
this._scheduleErrorRetry()
|
|
@@ -667,9 +671,11 @@ export default class BackgroundJobsMain {
|
|
|
667
671
|
/**
|
|
668
672
|
* Releases all leases still owned by one exact worker socket.
|
|
669
673
|
* @param {JsonSocket} worker - Worker socket.
|
|
674
|
+
* @param {object} [args] - Coordination options.
|
|
675
|
+
* @param {boolean} [args.queueRedrain] - Queue another pass instead of awaiting the active drain.
|
|
670
676
|
* @returns {Promise<void>} - Resolves after fenced releases and dispatch wake-up.
|
|
671
677
|
*/
|
|
672
|
-
async _releaseWorkerHandoffs(worker) {
|
|
678
|
+
async _releaseWorkerHandoffs(worker, {queueRedrain = false} = {}) {
|
|
673
679
|
const handoffs = this.workerHandoffs.get(worker)
|
|
674
680
|
|
|
675
681
|
if (!handoffs || handoffs.size === 0) {
|
|
@@ -683,7 +689,11 @@ export default class BackgroundJobsMain {
|
|
|
683
689
|
|
|
684
690
|
this.workerHandoffs.delete(worker)
|
|
685
691
|
this._notifyEnqueued()
|
|
686
|
-
|
|
692
|
+
if (queueRedrain) {
|
|
693
|
+
this._redrainQueued = true
|
|
694
|
+
} else {
|
|
695
|
+
await this._drain()
|
|
696
|
+
}
|
|
687
697
|
}
|
|
688
698
|
|
|
689
699
|
/**
|
|
@@ -1100,23 +1110,38 @@ export default class BackgroundJobsMain {
|
|
|
1100
1110
|
* @returns {Promise<void>}
|
|
1101
1111
|
*/
|
|
1102
1112
|
async _drain() {
|
|
1103
|
-
if (
|
|
1113
|
+
if (this._stopped) return
|
|
1104
1114
|
|
|
1105
|
-
|
|
1115
|
+
if (this._drainPromise) {
|
|
1116
|
+
this._redrainQueued = true
|
|
1117
|
+
await this._drainPromise
|
|
1118
|
+
return
|
|
1119
|
+
}
|
|
1120
|
+
|
|
1121
|
+
const drainPromise = this._drainToCompletion()
|
|
1106
1122
|
|
|
1107
|
-
|
|
1123
|
+
this._drainPromise = drainPromise
|
|
1124
|
+
await drainPromise
|
|
1108
1125
|
}
|
|
1109
1126
|
|
|
1110
1127
|
/**
|
|
1111
|
-
* Runs
|
|
1112
|
-
* @returns {
|
|
1128
|
+
* Runs one serialized drain lifecycle, including timer re-arming.
|
|
1129
|
+
* @returns {Promise<void>} - Resolves after every coalesced request is handled.
|
|
1113
1130
|
*/
|
|
1114
|
-
|
|
1115
|
-
if (this._stopped) return false
|
|
1116
|
-
if (this._queueDrainIfAlreadyRunning()) return false
|
|
1117
|
-
|
|
1131
|
+
async _drainToCompletion() {
|
|
1118
1132
|
this._draining = true
|
|
1119
|
-
|
|
1133
|
+
|
|
1134
|
+
try {
|
|
1135
|
+
let errored
|
|
1136
|
+
|
|
1137
|
+
do {
|
|
1138
|
+
errored = await this._drainUntilIdle()
|
|
1139
|
+
await this._finishDrain({errored})
|
|
1140
|
+
} while (!errored && this._redrainQueued && !this._stopped)
|
|
1141
|
+
} finally {
|
|
1142
|
+
this._draining = false
|
|
1143
|
+
this._drainPromise = undefined
|
|
1144
|
+
}
|
|
1120
1145
|
}
|
|
1121
1146
|
|
|
1122
1147
|
/**
|
|
@@ -1162,27 +1187,12 @@ export default class BackgroundJobsMain {
|
|
|
1162
1187
|
}
|
|
1163
1188
|
}
|
|
1164
1189
|
|
|
1165
|
-
/**
|
|
1166
|
-
* Runs queue drain if already running.
|
|
1167
|
-
* @returns {boolean} - Whether another drain is already in progress.
|
|
1168
|
-
*/
|
|
1169
|
-
_queueDrainIfAlreadyRunning() {
|
|
1170
|
-
if (!this._draining) return false
|
|
1171
|
-
|
|
1172
|
-
this._redrainQueued = true
|
|
1173
|
-
return true
|
|
1174
|
-
}
|
|
1175
|
-
|
|
1176
1190
|
/**
|
|
1177
1191
|
* Runs drain until idle.
|
|
1178
1192
|
* @returns {Promise<boolean>} - Whether the drain hit an error.
|
|
1179
1193
|
*/
|
|
1180
1194
|
async _drainUntilIdle() {
|
|
1181
|
-
|
|
1182
|
-
return await this._runDrainLoop()
|
|
1183
|
-
} finally {
|
|
1184
|
-
this._draining = false
|
|
1185
|
-
}
|
|
1195
|
+
return await this._runDrainLoop()
|
|
1186
1196
|
}
|
|
1187
1197
|
|
|
1188
1198
|
/**
|
|
@@ -1279,7 +1289,7 @@ export default class BackgroundJobsMain {
|
|
|
1279
1289
|
if (!handoffs || !this.workers.has(worker)) {
|
|
1280
1290
|
await this.store.markReturnedToQueue({handoffId: handoff.handoffId, jobId: job.id})
|
|
1281
1291
|
this._notifyEnqueued()
|
|
1282
|
-
|
|
1292
|
+
this._redrainQueued = true
|
|
1283
1293
|
continue
|
|
1284
1294
|
}
|
|
1285
1295
|
|
|
@@ -1307,7 +1317,7 @@ export default class BackgroundJobsMain {
|
|
|
1307
1317
|
} catch (closeError) {
|
|
1308
1318
|
this.logger.warn(() => ["Failed to close worker after job send failure:", closeError])
|
|
1309
1319
|
}
|
|
1310
|
-
await this._handleWorkerSocketClosed(worker)
|
|
1320
|
+
await this._handleWorkerSocketClosed(worker, {queueRedrain: true})
|
|
1311
1321
|
}
|
|
1312
1322
|
}
|
|
1313
1323
|
}
|
|
@@ -73,6 +73,8 @@ export default class BackgroundJobsMain {
|
|
|
73
73
|
scheduler: BackgroundJobsScheduler | undefined;
|
|
74
74
|
_draining: boolean;
|
|
75
75
|
_redrainQueued: boolean;
|
|
76
|
+
/** @type {Promise<void> | undefined} */
|
|
77
|
+
_drainPromise: Promise<void> | undefined;
|
|
76
78
|
_stopped: boolean;
|
|
77
79
|
/** @type {Promise<void> | undefined} */
|
|
78
80
|
stopPromise: Promise<void> | undefined;
|
|
@@ -284,15 +286,23 @@ export default class BackgroundJobsMain {
|
|
|
284
286
|
/**
|
|
285
287
|
* Removes a lost worker socket and releases only leases dispatched through it.
|
|
286
288
|
* @param {JsonSocket} worker - Disconnected worker socket.
|
|
289
|
+
* @param {object} [args] - Coordination options.
|
|
290
|
+
* @param {boolean} [args.queueRedrain] - Queue another pass instead of awaiting the active drain.
|
|
287
291
|
* @returns {Promise<void>} - Resolves after its active leases are released.
|
|
288
292
|
*/
|
|
289
|
-
_handleWorkerSocketClosed(worker: JsonSocket
|
|
293
|
+
_handleWorkerSocketClosed(worker: JsonSocket, { queueRedrain }?: {
|
|
294
|
+
queueRedrain?: boolean;
|
|
295
|
+
}): Promise<void>;
|
|
290
296
|
/**
|
|
291
297
|
* Releases all leases still owned by one exact worker socket.
|
|
292
298
|
* @param {JsonSocket} worker - Worker socket.
|
|
299
|
+
* @param {object} [args] - Coordination options.
|
|
300
|
+
* @param {boolean} [args.queueRedrain] - Queue another pass instead of awaiting the active drain.
|
|
293
301
|
* @returns {Promise<void>} - Resolves after fenced releases and dispatch wake-up.
|
|
294
302
|
*/
|
|
295
|
-
_releaseWorkerHandoffs(worker: JsonSocket
|
|
303
|
+
_releaseWorkerHandoffs(worker: JsonSocket, { queueRedrain }?: {
|
|
304
|
+
queueRedrain?: boolean;
|
|
305
|
+
}): Promise<void>;
|
|
296
306
|
/**
|
|
297
307
|
* Runs one idempotent conditional lease release.
|
|
298
308
|
* @param {object} args - Options.
|
|
@@ -494,10 +504,10 @@ export default class BackgroundJobsMain {
|
|
|
494
504
|
*/
|
|
495
505
|
_drain(): Promise<void>;
|
|
496
506
|
/**
|
|
497
|
-
* Runs
|
|
498
|
-
* @returns {
|
|
507
|
+
* Runs one serialized drain lifecycle, including timer re-arming.
|
|
508
|
+
* @returns {Promise<void>} - Resolves after every coalesced request is handled.
|
|
499
509
|
*/
|
|
500
|
-
|
|
510
|
+
_drainToCompletion(): Promise<void>;
|
|
501
511
|
/**
|
|
502
512
|
* Runs finish drain.
|
|
503
513
|
* @param {object} args - Options.
|
|
@@ -516,11 +526,6 @@ export default class BackgroundJobsMain {
|
|
|
516
526
|
* Runs clear error retry timer.
|
|
517
527
|
* @returns {void} */
|
|
518
528
|
_clearErrorRetryTimer(): void;
|
|
519
|
-
/**
|
|
520
|
-
* Runs queue drain if already running.
|
|
521
|
-
* @returns {boolean} - Whether another drain is already in progress.
|
|
522
|
-
*/
|
|
523
|
-
_queueDrainIfAlreadyRunning(): boolean;
|
|
524
529
|
/**
|
|
525
530
|
* Runs drain until idle.
|
|
526
531
|
* @returns {Promise<boolean>} - Whether the drain hit an error.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/main.js"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,UAAU,MAAM,kBAAkB,CAAA;AACzC,OAAO,uBAAuB,MAAM,gBAAgB,CAAA;AACpD,OAAO,mBAAmB,MAAM,YAAY,CAAA;AAC5C,OAAO,MAAM,MAAM,cAAc,CAAA;AAO9B,YAAkB,6BAA6B,GAC/C;;;;IAA4D,aAAa,EAA9D,OAAO,YAAY,EAAE,0BAA0B,CAC1D;;;;IAA4C,OAAO,EAAxC,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAC5C;CAAA,CAAA;AAsCD,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAa9B,aAAa;IACb,8BAA8B;IAC9B,SAAS,SALC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9B,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,cAAc;IACd,SAAS;IAGT,oBAAoB;IACpB,qBAAqB;IACrB,KAAK;IACL,MAAM;IACX;;iCAE6B;IACxB,OAAO,EADF,GAAG,CAAC,UAAU,CAAC;IAEzB;;iCAE6B;IACxB,YAAY,EADP,GAAG,CAAC,UAAU,CAAC;IAEzB;;sDAEkD;IAC7C,cAAc,EADT,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9C;;;oCAGgC;IAC3B,8BAA8B,EADzB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;wCAEoC;IAC/B,MAAM,EADD,GAAG,CAAC,MAAM,GAAG,SAAS;IAEhC;;2DAEuD;IAClD,UAAU,EADL,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,SAAS;IAEnD;;2DAEuD;IAClD,eAAe,EADV,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,SAAS;IAEnD;;2DAEuD;IAClD,gBAAgB,EADX,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,SAAS;IAEnD;;2DAEuD;IAClD,YAAY,EADP,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,SAAS;IAEnD;;4DAEwD;IACnD,iBAAiB,EADZ,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,SAAS;IAEpD;;qDAEiD;IAC5C,SAAS,EADJ,uBAAuB,GAAG,SAAS;IAExC,SAAS;IACT,cAAc;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/main.js"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,UAAU,MAAM,kBAAkB,CAAA;AACzC,OAAO,uBAAuB,MAAM,gBAAgB,CAAA;AACpD,OAAO,mBAAmB,MAAM,YAAY,CAAA;AAC5C,OAAO,MAAM,MAAM,cAAc,CAAA;AAO9B,YAAkB,6BAA6B,GAC/C;;;;IAA4D,aAAa,EAA9D,OAAO,YAAY,EAAE,0BAA0B,CAC1D;;;;IAA4C,OAAO,EAAxC,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAC5C;CAAA,CAAA;AAsCD,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAa9B,aAAa;IACb,8BAA8B;IAC9B,SAAS,SALC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9B,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,cAAc;IACd,SAAS;IAGT,oBAAoB;IACpB,qBAAqB;IACrB,KAAK;IACL,MAAM;IACX;;iCAE6B;IACxB,OAAO,EADF,GAAG,CAAC,UAAU,CAAC;IAEzB;;iCAE6B;IACxB,YAAY,EADP,GAAG,CAAC,UAAU,CAAC;IAEzB;;sDAEkD;IAC7C,cAAc,EADT,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9C;;;oCAGgC;IAC3B,8BAA8B,EADzB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;wCAEoC;IAC/B,MAAM,EADD,GAAG,CAAC,MAAM,GAAG,SAAS;IAEhC;;2DAEuD;IAClD,UAAU,EADL,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,SAAS;IAEnD;;2DAEuD;IAClD,eAAe,EADV,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,SAAS;IAEnD;;2DAEuD;IAClD,gBAAgB,EADX,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,SAAS;IAEnD;;2DAEuD;IAClD,YAAY,EADP,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,SAAS;IAEnD;;4DAEwD;IACnD,iBAAiB,EADZ,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,SAAS;IAEpD;;qDAEiD;IAC5C,SAAS,EADJ,uBAAuB,GAAG,SAAS;IAExC,SAAS;IACT,cAAc;IACnB,wCAAwC;IACnC,aAAa,EADP,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS;IAE/B,QAAQ;IACb,wCAAwC;IACnC,WAAW,EADL,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS;IAEpC;;0CAEsC;IACjC,kBAAkB,EADb,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;IAElC;;uFAEmF;IAC9E,qBAAqB,EADhB,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS;IAE/E;;sHAEkH;IAC7G,aAAa,EADR,OAAO,qBAAqB,EAAE,OAAO,GAAG,OAAO,gCAAgC,EAAE,OAAO,GAAG,SAAS;IAzFhH;;;;;;;;;;OAUG;IACH,YAAY,EAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,8BAAqC,EAAE,SAAS,EAAC,EARnI;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO,CAC7C;QAAsB,IAAI,AAA1B,CACA,EADQ,MAAM,CACd;QAAsB,IAAI,AAA1B,CACA,EADQ,MAAM,CACd;QAAsB,oBAAoB,AAA1C,CACA,EADQ,MAAM,CACd;QAAsB,qBAAqB,AAA3C,CACA,EADQ,MAAM,CACd;QAAuB,8BAA8B,AAArD,CACA,EADQ,OAAO,CACf;QAA0C,SAAS,AAAnD,CACF,EADU,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CACpC;KACqI,EAgFrI;IAED;;;OAGG;IACG,KAAK,IAFE,OAAO,CAAC,IAAI,CAAC,CA4EzB;IAED;;;OAGG;IACH,IAAI,IAFS,OAAO,CAAC,IAAI,CAAC,CAMzB;IAED;;;OAGG;IACG,KAAK,IAFE,OAAO,CAAC,IAAI,CAAC,CAmBzB;IAED;;yBAEqB;IACrB,aAAa,IADA,IAAI,CAKhB;IAED;;yBAEqB;IACrB,YAAY,IADC,IAAI,CAYhB;IAED;;yBAEqB;IACrB,yBAAyB,IADZ,IAAI,CAYhB;IAED;;kCAE8B;IACxB,oBAAoB,IADb,OAAO,CAAC,IAAI,CAAC,CAOzB;IAED;;kCAE8B;IACxB,kCAAkC,IAD3B,OAAO,CAAC,IAAI,CAAC,CAOzB;IAED;;kCAE8B;IACxB,YAAY,IADL,OAAO,CAAC,IAAI,CAAC,CAOzB;IAED;;;OAGG;IACH,OAAO,IAFM,MAAM,CAIlB;IAED;;;;;;;;;;OAUG;IACH,sBAAsB,IAFT,IAAI,CA2BhB;IAED;;;;;;OAMG;IACH,eAAe,IAFF,IAAI,CAiBhB;IAED;;;;OAIG;IACH,iBAAiB,CAAC,MAAM,EAHb,OAAO,KAAK,EAAE,MAGD,GAFX,IAAI,CA0BhB;IAED;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAC,EAL7C;QAAyB,UAAU,EAA3B,UAAU,CAClB;QAA8D,OAAO,EAA7D,OAAO,YAAY,EAAE,0BAA0B,CACvD;QAAkE,IAAI,EAA9D,OAAO,YAAY,EAAE,uBAAuB,GAAG,IAAI,CAC3D;KAE6C,GAFnC,OAAO,YAAY,EAAE,uBAAuB,GAAG,IAAI,CAS/D;IAED;;;;;;OAMG;IACH,4BAA4B,CAAC,EAAC,UAAU,EAAE,OAAO,EAAC,EAJ/C;QAAyB,UAAU,EAA3B,UAAU,CAClB;QAA8D,OAAO,EAA7D,OAAO,YAAY,EAAE,0BAA0B,CACvD;KAE+C,GAFrC,OAAO,YAAY,EAAE,uBAAuB,GAAG,IAAI,CAqB/D;IAED;;;;OAIG;IACH,2BAA2B,CAAC,UAAU,EAH3B,UAG2B,GAFzB,IAAI,CAOhB;IAED;;;OAGG;IACG,4BAA4B,IAFrB,OAAO,CAAC,IAAI,CAAC,CAMzB;IAED;;;;;;;;;;;;;OAaG;IACG,oBAAoB,CAAC,UAAU,EAH1B,UAG0B,GAFxB,OAAO,CAAC,IAAI,CAAC,CAqBzB;IAED;;;;;;OAMG;IACH,0BAA0B,CAAC,EAAC,UAAU,EAAE,OAAO,EAAC,EAJ7C;QAAyB,UAAU,EAA3B,UAAU,CAClB;QAA8D,OAAO,EAA7D,OAAO,YAAY,EAAE,0BAA0B,CACvD;KAE6C,GAFnC,IAAI,CAgBhB;IAED;;;;;;OAMG;IACH,0BAA0B,CAAC,EAAC,UAAU,EAAE,OAAO,EAAC,EAJ7C;QAAyB,UAAU,EAA3B,UAAU,CAClB;QAA8D,OAAO,EAA7D,OAAO,YAAY,EAAE,0BAA0B,CACvD;KAE6C,GAFnC,IAAI,CAsBhB;IAED;;;;;;OAMG;IACH,4BAA4B,CAAC,EAAC,UAAU,EAAE,OAAO,EAAC,EAJ/C;QAAyB,UAAU,EAA3B,UAAU,CAClB;QAA8D,OAAO,EAA7D,OAAO,YAAY,EAAE,0BAA0B,CACvD;KAE+C,GAFrC,IAAI,CAgBhB;IAED;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAC,UAAU,EAAE,OAAO,EAAC,EAJrC;QAAyB,UAAU,EAA3B,UAAU,CAClB;QAA6D,OAAO,EAA5D,OAAO,YAAY,EAAE,yBAAyB,CACtD;KAEqC,GAF3B,IAAI,CAahB;IAED;;;;;OAKG;IACH,qBAAqB,CAAC,EAAC,UAAU,EAAC,EAH/B;QAAyB,UAAU,EAA3B,UAAU,CAClB;KAE+B,GAFrB,IAAI,CAOhB;IAED;;;;;;OAMG;IACG,yBAAyB,CAAC,MAAM,EAL3B,UAK2B,EAAE,EAAC,YAAoB,EAAC,AAJ3D,CAEA,EADA;QAAuB,YAAY,AAAnC,CACA,EADQ,OAAO,CACf;KAEgE,GAFtD,OAAO,CAAC,IAAI,CAAC,CAiBzB;IAED;;;;;;OAMG;IACG,sBAAsB,CAAC,MAAM,EALxB,UAKwB,EAAE,EAAC,YAAoB,EAAC,AAJxD,CAEA,EADA;QAAuB,YAAY,AAAnC,CACA,EADQ,OAAO,CACf;KAE6D,GAFnD,OAAO,CAAC,IAAI,CAAC,CAqBzB;IAED;;;;;;;OAOG;IACG,eAAe,CAAC,EAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAC,EAL7C;QAAqB,SAAS,EAAtB,MAAM,CACd;QAAqB,KAAK,EAAlB,MAAM,CACd;QAAyB,MAAM,EAAvB,UAAU,CAClB;KAE6C,GAFnC,OAAO,CAAC,IAAI,CAAC,CAQzB;IAED;;;;;;OAMG;IACH,cAAc,CAAC,EAAC,SAAS,EAAE,KAAK,EAAC,EAJ9B;QAAqB,SAAS,EAAtB,MAAM,CACd;QAAqB,KAAK,EAAlB,MAAM,CACd;KAE8B,GAFpB,IAAI,CAUhB;IAED;;;;OAIG;IACH,0BAA0B,CAAC,KAAK,EAHrB,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAGP,GAFnB,IAAI,CAUhB;IAED;;;;;;OAMG;IACH,wBAAwB,CAAC,KAAK,EAHnB,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAGT,GAFjB,IAAI,CAUhB;IAED;;;;;;OAMG;IACG,cAAc,CAAC,EAAC,UAAU,EAAE,OAAO,EAAC,EAJvC;QAAyB,UAAU,EAA3B,UAAU,CAClB;QAA+D,OAAO,EAA9D,OAAO,YAAY,EAAE,2BAA2B,CACxD;KAEuC,GAF7B,OAAO,CAAC,IAAI,CAAC,CAuBzB;IAED;;;;;;OAMG;IACG,uBAAuB,CAAC,EAAC,UAAU,EAAE,OAAO,EAAC,EAJhD;QAAyB,UAAU,EAA3B,UAAU,CAClB;QAAwE,OAAO,EAAvE,OAAO,YAAY,EAAE,oCAAoC,CACjE;KAEgD,GAFtC,OAAO,CAAC,IAAI,CAAC,CAwBzB;IAED;;;;;;OAMG;IACG,sBAAsB,CAAC,EAAC,UAAU,EAAE,OAAO,EAAC,EAJ/C;QAAyB,UAAU,EAA3B,UAAU,CAClB;QAAuE,OAAO,EAAtE,OAAO,YAAY,EAAE,mCAAmC,CAChE;KAE+C,GAFrC,OAAO,CAAC,IAAI,CAAC,CAmBzB;IAED;;;;;;;;;;OAUG;IACH,0BAA0B,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAC,EAR/F;QAA4D,OAAO,EAA3D,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CACrD;QAA4C,KAAK,EAAzC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CACrC;QAAqB,eAAe,EAA5B,MAAM,CACd;QAAyB,UAAU,EAA3B,UAAU,CAClB;QAAqB,UAAU,EAAvB,MAAM,CACd;QAAqF,YAAY,EAAzF,eAAe,GAAG,yBAAyB,GAAG,wBAAwB,CAC9E;KAE+F,GAFrF,IAAI,CAgBhB;IAED;;;;;;OAMG;IACG,kBAAkB,CAAC,EAAC,UAAU,EAAE,OAAO,EAAC,EAJ3C;QAAyB,UAAU,EAA3B,UAAU,CAClB;QAAgE,OAAO,EAA/D,OAAO,YAAY,EAAE,4BAA4B,CACzD;KAE2C,GAFjC,OAAO,CAAC,IAAI,CAAC,CAkBzB;IAED;;;;;;OAMG;IACG,oBAAoB,CAAC,EAAC,UAAU,EAAE,OAAO,EAAC,EAJ7C;QAAyB,UAAU,EAA3B,UAAU,CAClB;QAAkE,OAAO,EAAjE,OAAO,YAAY,EAAE,8BAA8B,CAC3D;KAE6C,GAFnC,OAAO,CAAC,IAAI,CAAC,CA2BzB;IAED;;;;;;OAMG;IACG,gBAAgB,CAAC,EAAC,UAAU,EAAE,OAAO,EAAC,EAJzC;QAAyB,UAAU,EAA3B,UAAU,CAClB;QAA8D,OAAO,EAA7D,OAAO,YAAY,EAAE,0BAA0B,CACvD;KAEyC,GAF/B,OAAO,CAAC,IAAI,CAAC,CAkCzB;IAED;;;;OAIG;IACH,wBAAwB,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAC,EAH9D;QAAC,KAAK,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,YAAY,EAAE,gBAAgB,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAGlF,GAF5D,IAAI,CAyBhB;IAED;;;;;;;;OAQG;IACH,0BAA0B,CAAC,EAAC,GAAG,EAAC,EAHrB;QAAC,GAAG,EAAE,OAAO,YAAY,EAAE,gBAAgB,CAAA;KAGtB,GAFnB,IAAI,CAsBhB;IAED;;;;OAIG;IACH,sBAAsB,CAAC,KAAK,EAHjB,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAGX,GAFf,KAAK,CAMjB;IAED;;;;OAIG;IACH,wBAAwB,CAAC,KAAK,EAHnB,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAGT,GAFjB,KAAK,CASjB;IAED;;;;OAIG;IACH,0BAA0B,CAAC,KAAK,EAHrB,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAGP,GAFnB,MAAM,CAMlB;IAED;;;;OAIG;IACH,iBAAiB,CAAC,KAAK,EAHZ,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAGhB,GAFV,KAAK,IAAI,MAAM,CAI3B;IAED;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAC,KAAK,EAAE,eAAe,EAAC,EAJ7C;QAA4C,KAAK,EAAzC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CACrC;QAAoB,eAAe,EAA3B,KAAK,CACb;KAE6C,GAFnC,IAAI,CAIhB;IAED;;;;;;;;;;;;;;;;OAgBG;IACG,MAAM,IAFC,OAAO,CAAC,IAAI,CAAC,CAezB;IAED;;;OAGG;IACG,kBAAkB,IAFX,OAAO,CAAC,IAAI,CAAC,CAgBzB;IAED;;;;;OAKG;IACG,YAAY,CAAC,EAAC,OAAO,EAAC,EAHzB;QAAsB,OAAO,EAArB,OAAO,CACf;KAEyB,GAFf,OAAO,CAAC,IAAI,CAAC,CAOzB;IAED;;;OAGG;IACG,yBAAyB,IAFlB,OAAO,CAAC,IAAI,CAAC,CAYzB;IAED;;yBAEqB;IACrB,qBAAqB,IADR,IAAI,CAUhB;IAED;;;OAGG;IACG,eAAe,IAFR,OAAO,CAAC,OAAO,CAAC,CAI5B;IAED;;;OAGG;IACG,aAAa,IAFN,OAAO,CAAC,OAAO,CAAC,CAW5B;IAED;;;OAGG;IACG,yBAAyB,IAFlB,OAAO,CAAC,OAAO,CAAC,CAU5B;IAED;;;;;;OAMG;IACH,mBAAmB,IAFN,IAAI,CAWhB;IAED;;;OAGG;IACG,gBAAgB,IAFT,OAAO,CAAC,IAAI,CAAC,CAgBzB;IAED;;;;OAIG;IACG,UAAU,IAFH,OAAO,CAAC,IAAI,CAAC,CAuDzB;IAED;;;OAGG;IACG,+BAA+B,IAFxB,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC,CASjE;IAED;;;OAGG;IACH,yBAAyB,IAFZ,OAAO,YAAY,EAAE,0BAA0B,EAAE,CAU7D;IAED;;;;;;OAMG;IACH,0BAA0B,CAAC,EAAC,cAAc,EAAE,MAAM,EAAC,EAJhD;QAAmE,cAAc,EAAzE,GAAG,CAAC,OAAO,YAAY,EAAE,0BAA0B,CAAC,CAC5D;QAAyB,MAAM,EAAvB,UAAU,CAClB;KAEgD,GAFtC,IAAI,CAQhB;IAED;;;;OAIG;IACH,iBAAiB,CAAC,GAAG,EAHV,OAAO,YAAY,EAAE,gBAGX,GAFR,UAAU,GAAG,SAAS,CAMlC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAC,GAAG,EAAE,MAAM,EAAC,EAJ5B;QAAoD,GAAG,EAA/C,OAAO,YAAY,EAAE,gBAAgB,CAC7C;QAAyB,MAAM,EAAvB,UAAU,CAClB;KAE4B,GAFlB,OAAO,CAUnB;IAED;;;;;;OAMG;IACG,kBAAkB,IAFX,OAAO,CAAC,IAAI,CAAC,CA+BzB;IAEK,aAAa,kBA0BlB;IAED;;;;;;;;OAQG;IACG,kBAAkB,IAFX,OAAO,CAAC,IAAI,CAAC,CAgCzB;CACF"}
|