@verdant-web/store 3.12.1 → 4.0.0-next.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.
- package/dist/bundle/index.js +11 -13
- package/dist/bundle/index.js.map +4 -4
- package/dist/esm/__tests__/batching.test.js +5 -5
- package/dist/esm/__tests__/batching.test.js.map +1 -1
- package/dist/esm/__tests__/entities.test.js +1 -1
- package/dist/esm/__tests__/entities.test.js.map +1 -1
- package/dist/esm/__tests__/fixtures/testStorage.d.ts +1 -3
- package/dist/esm/__tests__/fixtures/testStorage.js +3 -3
- package/dist/esm/__tests__/fixtures/testStorage.js.map +1 -1
- package/dist/esm/__tests__/queries.test.js.map +1 -1
- package/dist/esm/backup.d.ts +3 -4
- package/dist/esm/backup.js.map +1 -1
- package/dist/esm/client/Client.d.ts +28 -33
- package/dist/esm/client/Client.js +50 -161
- package/dist/esm/client/Client.js.map +1 -1
- package/dist/esm/client/ClientDescriptor.d.ts +8 -11
- package/dist/esm/client/ClientDescriptor.js +39 -141
- package/dist/esm/client/ClientDescriptor.js.map +1 -1
- package/dist/esm/context/Time.d.ts +13 -0
- package/dist/esm/context/Time.js +27 -0
- package/dist/esm/context/Time.js.map +1 -0
- package/dist/esm/context/context.d.ts +170 -0
- package/dist/esm/{context.js.map → context/context.js.map} +1 -1
- package/dist/esm/entities/DocumentManager.js.map +1 -1
- package/dist/esm/entities/Entity.d.ts +4 -5
- package/dist/esm/entities/Entity.js +5 -3
- package/dist/esm/entities/Entity.js.map +1 -1
- package/dist/esm/entities/Entity.test.js +4 -3
- package/dist/esm/entities/Entity.test.js.map +1 -1
- package/dist/esm/entities/EntityCache.d.ts +0 -3
- package/dist/esm/entities/EntityCache.js +0 -9
- package/dist/esm/entities/EntityCache.js.map +1 -1
- package/dist/esm/entities/EntityMetadata.d.ts +1 -1
- package/dist/esm/entities/EntityMetadata.js +6 -5
- package/dist/esm/entities/EntityMetadata.js.map +1 -1
- package/dist/esm/entities/EntityStore.d.ts +2 -6
- package/dist/esm/entities/EntityStore.js +22 -16
- package/dist/esm/entities/EntityStore.js.map +1 -1
- package/dist/esm/entities/OperationBatcher.d.ts +2 -5
- package/dist/esm/entities/OperationBatcher.js +9 -7
- package/dist/esm/entities/OperationBatcher.js.map +1 -1
- package/dist/esm/errors.d.ts +8 -0
- package/dist/esm/errors.js +12 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/files/EntityFile.d.ts +6 -3
- package/dist/esm/files/EntityFile.js +22 -19
- package/dist/esm/files/EntityFile.js.map +1 -1
- package/dist/esm/files/FileManager.d.ts +8 -39
- package/dist/esm/files/FileManager.js +15 -170
- package/dist/esm/files/FileManager.js.map +1 -1
- package/dist/esm/files/utils.d.ts +0 -1
- package/dist/esm/files/utils.js +0 -14
- package/dist/esm/files/utils.js.map +1 -1
- package/dist/esm/index.d.ts +1 -2
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{metadata → persistence}/MessageCreator.d.ts +5 -6
- package/dist/esm/{metadata → persistence}/MessageCreator.js +31 -38
- package/dist/esm/persistence/MessageCreator.js.map +1 -0
- package/dist/esm/persistence/PersistenceFiles.d.ts +48 -0
- package/dist/esm/persistence/PersistenceFiles.js +160 -0
- package/dist/esm/persistence/PersistenceFiles.js.map +1 -0
- package/dist/esm/persistence/PersistenceMetadata.d.ts +69 -0
- package/dist/esm/persistence/PersistenceMetadata.js +302 -0
- package/dist/esm/persistence/PersistenceMetadata.js.map +1 -0
- package/dist/esm/persistence/PersistenceQueries.d.ts +34 -0
- package/dist/esm/persistence/PersistenceQueries.js +15 -0
- package/dist/esm/persistence/PersistenceQueries.js.map +1 -0
- package/dist/esm/persistence/PersistenceRebaser.d.ts +32 -0
- package/dist/esm/persistence/PersistenceRebaser.js +120 -0
- package/dist/esm/persistence/PersistenceRebaser.js.map +1 -0
- package/dist/esm/{IDBService.d.ts → persistence/idb/IdbService.d.ts} +9 -7
- package/dist/esm/{IDBService.js → persistence/idb/IdbService.js} +29 -8
- package/dist/esm/persistence/idb/IdbService.js.map +1 -0
- package/dist/esm/persistence/idb/files/IdbPersistenceFileDb.d.ts +58 -0
- package/dist/esm/{files/FileStorage.js → persistence/idb/files/IdbPersistenceFileDb.js} +85 -50
- package/dist/esm/persistence/idb/files/IdbPersistenceFileDb.js.map +1 -0
- package/dist/esm/persistence/idb/idbPersistence.d.ts +19 -0
- package/dist/esm/persistence/idb/idbPersistence.js +80 -0
- package/dist/esm/persistence/idb/idbPersistence.js.map +1 -0
- package/dist/esm/persistence/idb/metadata/IdbMetadataDb.d.ts +72 -0
- package/dist/esm/persistence/idb/metadata/IdbMetadataDb.js +235 -0
- package/dist/esm/persistence/idb/metadata/IdbMetadataDb.js.map +1 -0
- package/dist/esm/{metadata → persistence/idb/metadata}/openMetadataDatabase.d.ts +3 -1
- package/dist/esm/{metadata → persistence/idb/metadata}/openMetadataDatabase.js +12 -3
- package/dist/esm/persistence/idb/metadata/openMetadataDatabase.js.map +1 -0
- package/dist/esm/persistence/idb/queries/IdbQueryDb.d.ts +41 -0
- package/dist/esm/persistence/idb/queries/IdbQueryDb.js +174 -0
- package/dist/esm/persistence/idb/queries/IdbQueryDb.js.map +1 -0
- package/dist/esm/{migration → persistence/idb/queries/migration}/db.d.ts +1 -1
- package/dist/esm/{migration → persistence/idb/queries/migration}/db.js +10 -48
- package/dist/esm/persistence/idb/queries/migration/db.js.map +1 -0
- package/dist/esm/persistence/idb/queries/migration/engine.d.ts +12 -0
- package/dist/esm/{migration → persistence/idb/queries/migration}/engine.js +29 -46
- package/dist/esm/persistence/idb/queries/migration/engine.js.map +1 -0
- package/dist/esm/{migration → persistence/idb/queries/migration}/migrations.d.ts +1 -3
- package/dist/esm/{migration → persistence/idb/queries/migration}/migrations.js +11 -10
- package/dist/esm/persistence/idb/queries/migration/migrations.js.map +1 -0
- package/dist/esm/{migration → persistence/idb/queries/migration}/openQueryDatabase.d.ts +1 -3
- package/dist/esm/{migration → persistence/idb/queries/migration}/openQueryDatabase.js +4 -7
- package/dist/esm/persistence/idb/queries/migration/openQueryDatabase.js.map +1 -0
- package/dist/esm/{migration → persistence/idb/queries/migration}/paths.js +2 -2
- package/dist/esm/persistence/idb/queries/migration/paths.js.map +1 -0
- package/dist/esm/persistence/idb/queries/migration/paths.test.js.map +1 -0
- package/dist/esm/persistence/idb/queries/migration/types.d.ts +6 -0
- package/dist/esm/persistence/idb/queries/migration/types.js.map +1 -0
- package/dist/esm/persistence/idb/queries/ranges.d.ts +2 -0
- package/dist/esm/persistence/idb/queries/ranges.js +66 -0
- package/dist/esm/persistence/idb/queries/ranges.js.map +1 -0
- package/dist/esm/{idb.d.ts → persistence/idb/util.d.ts} +11 -0
- package/dist/esm/{idb.js → persistence/idb/util.js} +58 -1
- package/dist/esm/persistence/idb/util.js.map +1 -0
- package/dist/esm/persistence/interfaces.d.ts +181 -0
- package/dist/esm/persistence/interfaces.js +2 -0
- package/dist/esm/persistence/interfaces.js.map +1 -0
- package/dist/esm/persistence/persistence.d.ts +4 -0
- package/dist/esm/persistence/persistence.js +126 -0
- package/dist/esm/persistence/persistence.js.map +1 -0
- package/dist/esm/queries/BaseQuery.d.ts +2 -1
- package/dist/esm/queries/BaseQuery.js +3 -0
- package/dist/esm/queries/BaseQuery.js.map +1 -1
- package/dist/esm/queries/CollectionQueries.d.ts +1 -1
- package/dist/esm/queries/FindAllQuery.js +1 -3
- package/dist/esm/queries/FindAllQuery.js.map +1 -1
- package/dist/esm/queries/FindInfiniteQuery.js +2 -5
- package/dist/esm/queries/FindInfiniteQuery.js.map +1 -1
- package/dist/esm/queries/FindOneQuery.js +1 -3
- package/dist/esm/queries/FindOneQuery.js.map +1 -1
- package/dist/esm/queries/FindPageQuery.js +1 -3
- package/dist/esm/queries/FindPageQuery.js.map +1 -1
- package/dist/esm/queries/QueryCache.d.ts +1 -1
- package/dist/esm/queries/QueryCache.js +4 -0
- package/dist/esm/queries/QueryCache.js.map +1 -1
- package/dist/esm/sync/FileSync.d.ts +23 -8
- package/dist/esm/sync/FileSync.js +76 -28
- package/dist/esm/sync/FileSync.js.map +1 -1
- package/dist/esm/sync/PresenceManager.d.ts +4 -3
- package/dist/esm/sync/PresenceManager.js +2 -2
- package/dist/esm/sync/PresenceManager.js.map +1 -1
- package/dist/esm/sync/PushPullSync.d.ts +4 -6
- package/dist/esm/sync/PushPullSync.js +13 -12
- package/dist/esm/sync/PushPullSync.js.map +1 -1
- package/dist/esm/sync/Sync.d.ts +9 -11
- package/dist/esm/sync/Sync.js +34 -29
- package/dist/esm/sync/Sync.js.map +1 -1
- package/dist/esm/sync/WebSocketSync.d.ts +4 -6
- package/dist/esm/sync/WebSocketSync.js +20 -22
- package/dist/esm/sync/WebSocketSync.js.map +1 -1
- package/dist/esm/utils/Disposable.d.ts +5 -2
- package/dist/esm/utils/Disposable.js +3 -2
- package/dist/esm/utils/Disposable.js.map +1 -1
- package/dist/esm/utils/wip.d.ts +2 -0
- package/dist/esm/utils/wip.js +5 -0
- package/dist/esm/utils/wip.js.map +1 -0
- package/package.json +2 -2
- package/src/__tests__/batching.test.ts +6 -6
- package/src/__tests__/entities.test.ts +1 -1
- package/src/__tests__/fixtures/testStorage.ts +2 -10
- package/src/__tests__/queries.test.ts +1 -1
- package/src/backup.ts +3 -4
- package/src/client/Client.ts +69 -226
- package/src/client/ClientDescriptor.ts +53 -184
- package/src/context/Time.ts +35 -0
- package/src/context/context.ts +200 -0
- package/src/entities/DocumentManager.ts +0 -3
- package/src/entities/Entity.test.ts +9 -9
- package/src/entities/Entity.ts +6 -12
- package/src/entities/EntityCache.ts +0 -9
- package/src/entities/EntityMetadata.ts +4 -4
- package/src/entities/EntityStore.ts +26 -29
- package/src/entities/OperationBatcher.ts +9 -11
- package/src/errors.ts +13 -0
- package/src/files/EntityFile.ts +16 -5
- package/src/files/FileManager.ts +18 -245
- package/src/files/utils.ts +0 -15
- package/src/index.ts +2 -1
- package/src/{metadata → persistence}/MessageCreator.ts +46 -36
- package/src/persistence/PersistenceFiles.ts +227 -0
- package/src/persistence/PersistenceMetadata.ts +425 -0
- package/src/persistence/PersistenceQueries.ts +22 -0
- package/src/persistence/PersistenceRebaser.ts +171 -0
- package/src/{IDBService.ts → persistence/idb/IdbService.ts} +45 -12
- package/src/{files/FileStorage.ts → persistence/idb/files/IdbPersistenceFileDb.ts} +128 -86
- package/src/persistence/idb/idbPersistence.ts +116 -0
- package/src/persistence/idb/metadata/IdbMetadataDb.ts +460 -0
- package/src/{metadata → persistence/idb/metadata}/openMetadataDatabase.ts +21 -4
- package/src/persistence/idb/queries/IdbQueryDb.ts +251 -0
- package/src/{migration → persistence/idb/queries/migration}/db.ts +18 -72
- package/src/{migration → persistence/idb/queries/migration}/engine.ts +39 -62
- package/src/{migration → persistence/idb/queries/migration}/migrations.ts +13 -18
- package/src/{migration → persistence/idb/queries/migration}/openQueryDatabase.ts +5 -14
- package/src/{migration → persistence/idb/queries/migration}/paths.ts +4 -3
- package/src/persistence/idb/queries/migration/types.ts +8 -0
- package/src/persistence/idb/queries/ranges.ts +107 -0
- package/src/{idb.ts → persistence/idb/util.ts} +75 -0
- package/src/persistence/interfaces.ts +240 -0
- package/src/persistence/persistence.ts +223 -0
- package/src/queries/BaseQuery.ts +5 -1
- package/src/queries/CollectionQueries.ts +2 -2
- package/src/queries/FindAllQuery.ts +1 -3
- package/src/queries/FindInfiniteQuery.ts +2 -5
- package/src/queries/FindOneQuery.ts +1 -3
- package/src/queries/FindPageQuery.ts +1 -3
- package/src/queries/QueryCache.ts +20 -1
- package/src/sync/FileSync.ts +93 -30
- package/src/sync/PresenceManager.ts +5 -7
- package/src/sync/PushPullSync.ts +23 -19
- package/src/sync/Sync.ts +45 -36
- package/src/sync/WebSocketSync.ts +41 -27
- package/src/utils/Disposable.ts +7 -4
- package/src/utils/wip.ts +5 -0
- package/dist/esm/IDBService.js.map +0 -1
- package/dist/esm/__tests__/legacyOids.test.d.ts +0 -1
- package/dist/esm/__tests__/legacyOids.test.js +0 -352
- package/dist/esm/__tests__/legacyOids.test.js.map +0 -1
- package/dist/esm/context.d.ts +0 -45
- package/dist/esm/files/FileStorage.d.ts +0 -47
- package/dist/esm/files/FileStorage.js.map +0 -1
- package/dist/esm/idb.js.map +0 -1
- package/dist/esm/metadata/AckInfoStore.d.ts +0 -10
- package/dist/esm/metadata/AckInfoStore.js +0 -22
- package/dist/esm/metadata/AckInfoStore.js.map +0 -1
- package/dist/esm/metadata/BaselinesStore.d.ts +0 -40
- package/dist/esm/metadata/BaselinesStore.js +0 -102
- package/dist/esm/metadata/BaselinesStore.js.map +0 -1
- package/dist/esm/metadata/LocalReplicaStore.d.ts +0 -19
- package/dist/esm/metadata/LocalReplicaStore.js +0 -56
- package/dist/esm/metadata/LocalReplicaStore.js.map +0 -1
- package/dist/esm/metadata/MessageCreator.js.map +0 -1
- package/dist/esm/metadata/Metadata.d.ts +0 -146
- package/dist/esm/metadata/Metadata.js +0 -452
- package/dist/esm/metadata/Metadata.js.map +0 -1
- package/dist/esm/metadata/OperationsStore.d.ts +0 -62
- package/dist/esm/metadata/OperationsStore.js +0 -175
- package/dist/esm/metadata/OperationsStore.js.map +0 -1
- package/dist/esm/metadata/SchemaStore.d.ts +0 -9
- package/dist/esm/metadata/SchemaStore.js +0 -35
- package/dist/esm/metadata/SchemaStore.js.map +0 -1
- package/dist/esm/metadata/openMetadataDatabase.js.map +0 -1
- package/dist/esm/migration/db.js.map +0 -1
- package/dist/esm/migration/engine.d.ts +0 -15
- package/dist/esm/migration/engine.js.map +0 -1
- package/dist/esm/migration/errors.d.ts +0 -5
- package/dist/esm/migration/errors.js +0 -8
- package/dist/esm/migration/errors.js.map +0 -1
- package/dist/esm/migration/migrations.js.map +0 -1
- package/dist/esm/migration/openQueryDatabase.js.map +0 -1
- package/dist/esm/migration/openWIPDatabase.d.ts +0 -11
- package/dist/esm/migration/openWIPDatabase.js +0 -65
- package/dist/esm/migration/openWIPDatabase.js.map +0 -1
- package/dist/esm/migration/paths.js.map +0 -1
- package/dist/esm/migration/paths.test.js.map +0 -1
- package/dist/esm/migration/types.d.ts +0 -3
- package/dist/esm/migration/types.js.map +0 -1
- package/dist/esm/queries/QueryableStorage.d.ts +0 -20
- package/dist/esm/queries/QueryableStorage.js +0 -90
- package/dist/esm/queries/QueryableStorage.js.map +0 -1
- package/dist/esm/queries/dbQueries.d.ts +0 -22
- package/dist/esm/queries/dbQueries.js +0 -130
- package/dist/esm/queries/dbQueries.js.map +0 -1
- package/src/__tests__/legacyOids.test.ts +0 -375
- package/src/context.ts +0 -55
- package/src/metadata/AckInfoStore.ts +0 -30
- package/src/metadata/BaselinesStore.ts +0 -188
- package/src/metadata/LocalReplicaStore.ts +0 -79
- package/src/metadata/Metadata.ts +0 -685
- package/src/metadata/OperationsStore.ts +0 -332
- package/src/metadata/SchemaStore.ts +0 -47
- package/src/migration/errors.ts +0 -7
- package/src/migration/openWIPDatabase.ts +0 -97
- package/src/migration/types.ts +0 -4
- package/src/queries/QueryableStorage.ts +0 -122
- package/src/queries/dbQueries.ts +0 -161
- /package/dist/esm/{context.js → context/context.js} +0 -0
- /package/dist/esm/{migration → persistence/idb/queries/migration}/paths.d.ts +0 -0
- /package/dist/esm/{migration → persistence/idb/queries/migration}/paths.test.d.ts +0 -0
- /package/dist/esm/{migration → persistence/idb/queries/migration}/paths.test.js +0 -0
- /package/dist/esm/{migration → persistence/idb/queries/migration}/types.js +0 -0
- /package/src/{migration → persistence/idb/queries/migration}/paths.test.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientDescriptor.js","sourceRoot":"","sources":["../../../src/client/ClientDescriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,
|
|
1
|
+
{"version":3,"file":"ClientDescriptor.js","sourceRoot":"","sources":["../../../src/client/ClientDescriptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TimestampProvider } from '@verdant-web/common';
|
|
2
|
+
export declare class Time {
|
|
3
|
+
private base;
|
|
4
|
+
private version;
|
|
5
|
+
private overrideNow?;
|
|
6
|
+
constructor(base: TimestampProvider, version: number);
|
|
7
|
+
get now(): string;
|
|
8
|
+
withMigrationTime: (version: number, run: () => Promise<void>) => Promise<void>;
|
|
9
|
+
update: (remoteTimestamp: string) => void;
|
|
10
|
+
nowWithVersion: (version: number) => string;
|
|
11
|
+
get zero(): string;
|
|
12
|
+
zeroWithVersion: (version: number) => string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export class Time {
|
|
2
|
+
constructor(base, version) {
|
|
3
|
+
this.base = base;
|
|
4
|
+
this.version = version;
|
|
5
|
+
this.withMigrationTime = async (version, run) => {
|
|
6
|
+
this.overrideNow = () => {
|
|
7
|
+
return this.base.zero(version);
|
|
8
|
+
};
|
|
9
|
+
await run();
|
|
10
|
+
this.overrideNow = undefined;
|
|
11
|
+
};
|
|
12
|
+
this.update = this.base.update.bind(this.base);
|
|
13
|
+
this.nowWithVersion = (version) => {
|
|
14
|
+
return this.base.now(version);
|
|
15
|
+
};
|
|
16
|
+
this.zeroWithVersion = (version) => {
|
|
17
|
+
return this.base.zero(version);
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
get now() {
|
|
21
|
+
return this.overrideNow ? this.overrideNow() : this.base.now(this.version);
|
|
22
|
+
}
|
|
23
|
+
get zero() {
|
|
24
|
+
return this.base.zero(this.version);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=Time.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Time.js","sourceRoot":"","sources":["../../../src/context/Time.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,IAAI;IAEhB,YACS,IAAuB,EACvB,OAAe;QADf,SAAI,GAAJ,IAAI,CAAmB;QACvB,YAAO,GAAP,OAAO,CAAQ;QAOxB,sBAAiB,GAAG,KAAK,EAAE,OAAe,EAAE,GAAwB,EAAE,EAAE;YACvE,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE;gBACvB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC,CAAC;YACF,MAAM,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC9B,CAAC,CAAC;QAEF,WAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1C,mBAAc,GAAG,CAAC,OAAe,EAAE,EAAE;YACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC;QAMF,oBAAe,GAAG,CAAC,OAAe,EAAE,EAAE;YACrC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC,CAAC;IA1BC,CAAC;IAEJ,IAAI,GAAG;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5E,CAAC;IAgBD,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;CAKD"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { ClientMessage, EventSubscriber, FileData, FileRef, Migration, ObjectIdentifier, Operation, PatchCreator, StorageSchema } from '@verdant-web/common';
|
|
2
|
+
import { UndoHistory } from '../UndoHistory.js';
|
|
3
|
+
import { Time } from './Time.js';
|
|
4
|
+
import type { PersistenceQueries } from '../persistence/PersistenceQueries.js';
|
|
5
|
+
import type { PersistenceMetadata } from '../persistence/PersistenceMetadata.js';
|
|
6
|
+
import { PersistenceFiles } from '../persistence/PersistenceFiles.js';
|
|
7
|
+
import { PersistedFileData, PersistenceImplementation } from '../persistence/interfaces.js';
|
|
8
|
+
/**
|
|
9
|
+
* Common components utilized across various client
|
|
10
|
+
* services.
|
|
11
|
+
*/
|
|
12
|
+
export interface Context {
|
|
13
|
+
namespace: string;
|
|
14
|
+
/**
|
|
15
|
+
* when in WIP mode, namespace might be set to a temporary value. This will always point to the
|
|
16
|
+
* namespace the user passed in.
|
|
17
|
+
*/
|
|
18
|
+
originalNamespace: string;
|
|
19
|
+
time: Time;
|
|
20
|
+
meta: PersistenceMetadata;
|
|
21
|
+
queries: PersistenceQueries;
|
|
22
|
+
files: PersistenceFiles;
|
|
23
|
+
undoHistory: UndoHistory;
|
|
24
|
+
schema: StorageSchema;
|
|
25
|
+
oldSchemas: StorageSchema[];
|
|
26
|
+
log: (level: 'debug' | 'info' | 'warn' | 'error' | 'critical', ...args: any[]) => void;
|
|
27
|
+
entityEvents: EventSubscriber<{
|
|
28
|
+
collectionsChanged: (names: string[]) => void;
|
|
29
|
+
documentChanged: (oid: ObjectIdentifier) => void;
|
|
30
|
+
}>;
|
|
31
|
+
internalEvents: EventSubscriber<{
|
|
32
|
+
/**
|
|
33
|
+
* Fired when persisted data changes fundamentally, like resetting to 0,
|
|
34
|
+
* or importing different data.
|
|
35
|
+
*/
|
|
36
|
+
persistenceReset: () => void;
|
|
37
|
+
filesDeleted: (files: FileRef[]) => void;
|
|
38
|
+
fileAdded: (file: FileData) => void;
|
|
39
|
+
[ev: `fileUploaded:${string}`]: () => void;
|
|
40
|
+
}>;
|
|
41
|
+
globalEvents: EventSubscriber<{
|
|
42
|
+
/**
|
|
43
|
+
* A change from a future version of the application has been
|
|
44
|
+
* witnessed. These changes are not applied but it indicates
|
|
45
|
+
* the app has been updated and we should prompt the user
|
|
46
|
+
* to reload or have their app user manually reload.
|
|
47
|
+
*
|
|
48
|
+
* The parameter is the timestamp of the future change.
|
|
49
|
+
*/
|
|
50
|
+
futureSeen: (timestamp: string) => void;
|
|
51
|
+
/**
|
|
52
|
+
* The server requested this replica reset its state
|
|
53
|
+
* completely. This can happen when the replica has
|
|
54
|
+
* been offline for too long and reconnects.
|
|
55
|
+
*/
|
|
56
|
+
resetToServer: () => void;
|
|
57
|
+
/**
|
|
58
|
+
* An operation has been processed by the system. This could be a locally sourced
|
|
59
|
+
* operation or a remote operation from sync.
|
|
60
|
+
*/
|
|
61
|
+
operation: (operation: Operation) => void;
|
|
62
|
+
/**
|
|
63
|
+
* Emitted when storage rebases history. This should never actually affect application behavior
|
|
64
|
+
* or stored data, but is useful for debugging and testing.
|
|
65
|
+
*/
|
|
66
|
+
rebase: () => void;
|
|
67
|
+
}>;
|
|
68
|
+
weakRef<T extends object>(value: T): WeakRef<T>;
|
|
69
|
+
migrations: Migration<any>[];
|
|
70
|
+
closing: boolean;
|
|
71
|
+
patchCreator: PatchCreator;
|
|
72
|
+
config: {
|
|
73
|
+
files?: FileConfig;
|
|
74
|
+
sync?: SyncConfig;
|
|
75
|
+
persistence?: PersistenceConfig;
|
|
76
|
+
};
|
|
77
|
+
persistence: PersistenceImplementation;
|
|
78
|
+
}
|
|
79
|
+
export interface FileConfig {
|
|
80
|
+
/**
|
|
81
|
+
* Override the heuristic for deciding when a deleted file can be cleaned up.
|
|
82
|
+
* By default this waits 3 days since deletion, then deletes the file data.
|
|
83
|
+
* If the file has been synchronized to a server, it could still be restored
|
|
84
|
+
* if the server has not yet deleted it.
|
|
85
|
+
*/
|
|
86
|
+
canCleanupDeletedFile?: (file: PersistedFileData) => boolean;
|
|
87
|
+
}
|
|
88
|
+
export interface ServerSyncEndpointProviderConfig {
|
|
89
|
+
/**
|
|
90
|
+
* The location of the endpoint used to retrieve an
|
|
91
|
+
* authorization token for the client.
|
|
92
|
+
*/
|
|
93
|
+
authEndpoint?: string;
|
|
94
|
+
/**
|
|
95
|
+
* A custom function to retrieve authorization
|
|
96
|
+
* data. Use whatever fetching mechanism you want.
|
|
97
|
+
*/
|
|
98
|
+
fetchAuth?: () => Promise<{
|
|
99
|
+
accessToken: string;
|
|
100
|
+
}>;
|
|
101
|
+
/**
|
|
102
|
+
* A spec-compliant fetch implementation. If not provided,
|
|
103
|
+
* the global fetch will be used. authEndpoint will
|
|
104
|
+
* be used to fetch the token.
|
|
105
|
+
*/
|
|
106
|
+
fetch?: typeof fetch;
|
|
107
|
+
}
|
|
108
|
+
export type SyncTransportMode = 'realtime' | 'pull';
|
|
109
|
+
export interface SyncConfig<Profile = any, Presence = any> extends ServerSyncEndpointProviderConfig {
|
|
110
|
+
/**
|
|
111
|
+
* When a client first connects, it will use this presence value.
|
|
112
|
+
*/
|
|
113
|
+
initialPresence: Presence;
|
|
114
|
+
/**
|
|
115
|
+
* Before connecting to the server, the local client will have
|
|
116
|
+
* this value for their profile data. You can either cache and store
|
|
117
|
+
* profile data from a previous connection or provide defaults like
|
|
118
|
+
* empty strings.
|
|
119
|
+
*/
|
|
120
|
+
defaultProfile: Profile;
|
|
121
|
+
/**
|
|
122
|
+
* Provide `false` to disable transport selection. Transport selection
|
|
123
|
+
* automatically switches between HTTP and WebSocket based sync depending
|
|
124
|
+
* on the number of peers connected. If a user is alone, they will use
|
|
125
|
+
* HTTP push/pull to sync changes. If another user joins, both users will
|
|
126
|
+
* be upgraded to websockets.
|
|
127
|
+
*
|
|
128
|
+
* Provide `peers-only` to only automatically use websockets if other
|
|
129
|
+
* users connect, but not if another device for the current user connects.
|
|
130
|
+
* By default, automatic transport selection will upgrade to websockets if
|
|
131
|
+
* another device from the current user connects, but if realtime sync is
|
|
132
|
+
* not necessary for such cases, you can save bandwidth by disabling this.
|
|
133
|
+
*
|
|
134
|
+
* Turning off this feature allows you more control over the transport
|
|
135
|
+
* which can be useful for low-power devices or to save server traffic.
|
|
136
|
+
* To modify transport modes manually, utilize `client.sync.setMode`.
|
|
137
|
+
* The built-in behavior is essentially switching modes based on
|
|
138
|
+
* the number of peers detected by client.sync.presence.
|
|
139
|
+
*/
|
|
140
|
+
automaticTransportSelection?: boolean | 'peers-only';
|
|
141
|
+
initialTransport?: SyncTransportMode;
|
|
142
|
+
autoStart?: boolean;
|
|
143
|
+
/**
|
|
144
|
+
* Optionally specify an interval, in milliseconds, to poll the server
|
|
145
|
+
* when in pull mode.
|
|
146
|
+
*/
|
|
147
|
+
pullInterval?: number;
|
|
148
|
+
/**
|
|
149
|
+
* Presence updates are batched to reduce number of requests / messages
|
|
150
|
+
* sent to the server. You can specify the batching time slice, in milliseconds,
|
|
151
|
+
*/
|
|
152
|
+
presenceUpdateBatchTimeout?: number;
|
|
153
|
+
/**
|
|
154
|
+
* Experimental: sync messages over a broadcast channel between tabs.
|
|
155
|
+
* Fixes tabs not reactively updating to changes when other tabs are open,
|
|
156
|
+
* but is not yet thoroughly vetted.
|
|
157
|
+
*/
|
|
158
|
+
useBroadcastChannel?: boolean;
|
|
159
|
+
/**
|
|
160
|
+
* Listen for outgoing messages from the client to the server.
|
|
161
|
+
* Not sure why you want to do this, but be careful.
|
|
162
|
+
*/
|
|
163
|
+
onOutgoingMessage?: (message: ClientMessage) => void;
|
|
164
|
+
EXPERIMENTAL_backgroundSync?: boolean;
|
|
165
|
+
}
|
|
166
|
+
export interface PersistenceConfig {
|
|
167
|
+
disableRebasing?: boolean;
|
|
168
|
+
rebaseTimeout?: number;
|
|
169
|
+
}
|
|
170
|
+
export type InitialContext = Omit<Context, 'queries' | 'meta' | 'files'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/context/context.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentManager.js","sourceRoot":"","sources":["../../../src/entities/DocumentManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,gBAAgB,EAChB,eAAe,EACf,MAAM,EACN,SAAS,EAKT,SAAS,GAET,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"DocumentManager.js","sourceRoot":"","sources":["../../../src/entities/DocumentManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,gBAAgB,EAChB,eAAe,EACf,MAAM,EACN,SAAS,EAKT,SAAS,GAET,MAAM,qBAAqB,CAAC;AAI7B;;;;GAIG;AACH,MAAM,OAAO,eAAe;IAC3B,YACS,MAAc,EACd,QAAqB;QADrB,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAa;QAGtB,WAAM,GAAG,CAAC,UAAkB,EAAE,IAAS,EAAE,EAAE;YAClD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;iBACxD,UAGD,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;YACxC,MAAM,CACL,UAAU,EACV,qCAAqC,cAAc,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,SAAS,CACrF,IAAI,CACJ,GAAG,CACJ,CAAC;YACF,OAAO,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC;QAEM,gBAAW,GAAG,CAAC,cAAsB,EAAE,IAAS,EAAE,EAAE;YAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CACzC,cAAc,CACa,CAAC;YAC7B,OAAO,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEM,aAAQ,GAAG,CAAC,cAAsB,EAAE,IAAS,EAAE,EAAE;YACxD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CACzC,cAAc,CACa,CAAC;YAC7B,OAAO,eAAe,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,WAAM,GAAG,KAAK,EACb,UAAkB,EAClB,IAAS,EACT,UAII,EAAE,EACL,EAAE;YACH,MAAM,cAAc,GAAG,OAA8B,CAAC;YACtD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAE/C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC7D,IACC,OAAO,CAAC,MAAM,KAAK,QAAQ;oBAC3B,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;oBACjC,CAAC,OAAO,CAAC,yCAAyC,EACjD,CAAC;oBACF,mEAAmE;oBACnE,8EAA8E;oBAC9E,qDAAqD;oBACrD,OAAO,CAAC,IAAI,CACX,sMAAsM,CACtM,CAAC;gBACH,CAAC;gBACD,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACxC,CAAC;YAED,2CAA2C;YAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,cAAc,CAAQ,CAAC;QACpE,CAAC,CAAC;QAEF,WAAM,GAAG,KAAK,EACb,UAAkB,EAClB,UAAkB,EAClB,UAAkC,EAAE,EACnC,EAAE;YACH,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,cAAS,GAAG,KAAK,EAChB,GAAuB,EACvB,UAAkC,EAAE,EACnC,EAAE;YACH,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC7B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,EACxE,OAAO,CACP,CAAC;QACH,CAAC,CAAC;QAEF,4BAAuB,GAAG,KAAK,EAC9B,UAAkB,EAClB,GAAa,EACb,UAAkC,EAAE,EACnC,EAAE;YACH,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC7B,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,EAC1D,OAAO,CACP,CAAC;QACH,CAAC,CAAC;QAEF,UAAK,GAAG,KAAK,EACZ,UAAkB,EAClB,MAA8B,EAC9B,UAII,EAAE,EACL,EAAE;YACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACpD,CAAC;YACD,2BAA2B;YAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YACtC,yBAAyB;YACzB,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC7D,OAAO,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC7C,mEAAmE;YACnE,oCAAoC;YACpC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;gBACnE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CACd,0CAA0C,UAAU,mHAAmH,CACvK,CAAC;gBACH,CAAC;gBACD,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;YAC5D,CAAC;YACD,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC;IA7HC,CAAC;CA8HJ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { EntityValidationProblem, EventSubscriber, ObjectIdentifier, Operation,
|
|
2
|
-
import { Context } from '../context.js';
|
|
1
|
+
import { EntityValidationProblem, EventSubscriber, ObjectIdentifier, Operation, StorageFieldSchema } from '@verdant-web/common';
|
|
2
|
+
import { Context } from '../context/context.js';
|
|
3
3
|
import { FileManager } from '../files/FileManager.js';
|
|
4
4
|
import { EntityCache } from './EntityCache.js';
|
|
5
5
|
import { EntityFamilyMetadata, EntityMetadataView } from './EntityMetadata.js';
|
|
@@ -15,7 +15,6 @@ export interface EntityInit {
|
|
|
15
15
|
files: FileManager;
|
|
16
16
|
readonlyKeys?: string[];
|
|
17
17
|
fieldPath?: (string | number)[];
|
|
18
|
-
patchCreator: PatchCreator;
|
|
19
18
|
storeEvents: EntityStoreEvents;
|
|
20
19
|
deleteSelf: () => void;
|
|
21
20
|
}
|
|
@@ -29,7 +28,6 @@ export declare class Entity<Init = any, KeyValue extends BaseEntityValue = any,
|
|
|
29
28
|
private parent;
|
|
30
29
|
private ctx;
|
|
31
30
|
private files;
|
|
32
|
-
private patchCreator;
|
|
33
31
|
private storeEvents;
|
|
34
32
|
private _viewData;
|
|
35
33
|
private validationError;
|
|
@@ -37,11 +35,12 @@ export declare class Entity<Init = any, KeyValue extends BaseEntityValue = any,
|
|
|
37
35
|
private wasDeletedLastChange;
|
|
38
36
|
private cachedView;
|
|
39
37
|
private _deleteSelf;
|
|
40
|
-
constructor({ oid, schema, entityFamily: childCache, parent, ctx, metadataFamily, readonlyKeys, files,
|
|
38
|
+
constructor({ oid, schema, entityFamily: childCache, parent, ctx, metadataFamily, readonlyKeys, files, storeEvents, deleteSelf, }: EntityInit);
|
|
41
39
|
private onAdd;
|
|
42
40
|
private onReplace;
|
|
43
41
|
private onResetAll;
|
|
44
42
|
private get metadata();
|
|
43
|
+
private get patchCreator();
|
|
45
44
|
/**
|
|
46
45
|
* The view of this Entity, not including nested
|
|
47
46
|
* entities (that's the snapshot - see #getSnapshot())
|
|
@@ -4,7 +4,7 @@ import { EntityFile } from '../index.js';
|
|
|
4
4
|
import { EntityCache } from './EntityCache.js';
|
|
5
5
|
import { entityFieldSubscriber } from './entityFieldSubscriber.js';
|
|
6
6
|
export class Entity extends EventSubscriber {
|
|
7
|
-
constructor({ oid, schema, entityFamily: childCache, parent, ctx, metadataFamily, readonlyKeys, files,
|
|
7
|
+
constructor({ oid, schema, entityFamily: childCache, parent, ctx, metadataFamily, readonlyKeys, files, storeEvents, deleteSelf, }) {
|
|
8
8
|
super();
|
|
9
9
|
this.fieldPath = [];
|
|
10
10
|
// an internal representation of this Entity.
|
|
@@ -215,7 +215,6 @@ export class Entity extends EventSubscriber {
|
|
|
215
215
|
ctx: this.ctx,
|
|
216
216
|
files: this.files,
|
|
217
217
|
fieldPath: [...this.fieldPath, key],
|
|
218
|
-
patchCreator: this.patchCreator,
|
|
219
218
|
storeEvents: this.storeEvents,
|
|
220
219
|
deleteSelf: this.delete.bind(this, key),
|
|
221
220
|
});
|
|
@@ -248,6 +247,7 @@ export class Entity extends EventSubscriber {
|
|
|
248
247
|
}
|
|
249
248
|
const file = this.files.get(child.id, {
|
|
250
249
|
downloadRemote: !!fieldSchema.downloadRemote,
|
|
250
|
+
ctx: this.ctx,
|
|
251
251
|
});
|
|
252
252
|
// FIXME: this seems bad and inconsistent
|
|
253
253
|
file.subscribe('change', () => {
|
|
@@ -577,7 +577,6 @@ export class Entity extends EventSubscriber {
|
|
|
577
577
|
new EntityCache({
|
|
578
578
|
initial: [this],
|
|
579
579
|
});
|
|
580
|
-
this.patchCreator = patchCreator;
|
|
581
580
|
this.metadataFamily = metadataFamily;
|
|
582
581
|
this.storeEvents = storeEvents;
|
|
583
582
|
this.parent = parent;
|
|
@@ -592,6 +591,9 @@ export class Entity extends EventSubscriber {
|
|
|
592
591
|
get metadata() {
|
|
593
592
|
return this.metadataFamily.get(this.oid);
|
|
594
593
|
}
|
|
594
|
+
get patchCreator() {
|
|
595
|
+
return this.ctx.patchCreator;
|
|
596
|
+
}
|
|
595
597
|
/**
|
|
596
598
|
* The view of this Entity, not including nested
|
|
597
599
|
* entities (that's the snapshot - see #getSnapshot())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.js","sourceRoot":"","sources":["../../../src/entities/Entity.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Entity.js","sourceRoot":"","sources":["../../../src/entities/Entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,eAAe,EAIf,MAAM,EACN,SAAS,EACT,SAAS,EACT,WAAW,EACX,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,SAAS,EACT,MAAM,EACN,UAAU,EACV,QAAQ,EACR,KAAK,EACL,WAAW,EACX,UAAU,EACV,wCAAwC,EACxC,mBAAmB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAa/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAgBnE,MAAM,OAAO,MAKZ,SAAQ,eAA6B;IAgCrC,YAAY,EACX,GAAG,EACH,MAAM,EACN,YAAY,EAAE,UAAU,EACxB,MAAM,EACN,GAAG,EACH,cAAc,EACd,YAAY,EACZ,KAAK,EACL,WAAW,EACX,UAAU,GACE;QACZ,KAAK,EAAE,CAAC;QArCD,cAAS,GAAwB,EAAE,CAAC;QAW5C,6CAA6C;QAC7C,wDAAwD;QACxD,4DAA4D;QAC5D,YAAY;QACJ,cAAS,GAAmC,SAAS,CAAC;QACtD,oBAAe,GAAwC,SAAS,CAAC;QACjE,wBAAmB,GAAkB,IAAI,CAAC;QAClD,6DAA6D;QACrD,yBAAoB,GAAG,KAAK,CAAC;QAC7B,eAAU,GAAoB,SAAS,CAAC;QA4CxC,UAAK,GAAG,CAAC,MAAW,EAAE,IAA0B,EAAE,EAAE;YAC3D,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC3B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACF,CAAC,CAAC;QACM,cAAS,GAAG,CAAC,MAAW,EAAE,IAA0B,EAAE,EAAE;YAC/D,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC,CAAC;QACM,eAAU,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,YAAY,EAAE,CAAC;QACrB,CAAC,CAAC;QA0JM,gBAAW,GAAG,CAAC,KAAU,EAAE,EAAE;YACpC,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC7B,OAAO,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,CAAC;YACtD,CAAC;YACD,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;QAC9C,CAAC,CAAC;QAsFF;;WAEG;QACH,mBAAc,GAAG,CAAC,GAAQ,EAAsB,EAAE;YACjD,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC1D,MAAM,CAAC,WAAW,EAAE,qBAAqB,GAAG,EAAE,CAAC,CAAC;YAChD,OAAO,WAAW,CAAC;QACpB,CAAC,CAAC;QAEF;;;;WAIG;QACO,aAAQ,GAAG,UAAU,CAC9B,GAAG,EAAE;;YACJ,IAAI,CAAC,eAAe;gBACnB,MAAA,mBAAmB,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,MAAM;oBAClB,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,KAAK,EAAE,CAAC;iBACR,CAAC,mCAAI,SAAS,CAAC;YACjB,OAAO,IAAI,CAAC,eAAe,CAAC;QAC7B,CAAC,EACD,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACrB,CAAC;QAEM,2BAAsB,GAAG,CAChC,MAA2C,EAC1C,EAAE;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACb,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjC,IAAI,KAAK,YAAY,MAAM,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;wBAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;oBACtB,CAAC;yBAAM,CAAC;wBACP,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC,CAAC,CAAC;gBACH,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,OAAO,MAAM,CAAC;YACf,CAAC;iBAAM,CAAC;gBACP,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBAChE,IAAI,KAAK,YAAY,MAAM,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;wBAC5D,GAAG,CAAC,GAAU,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBACjC,CAAC;yBAAM,CAAC;wBACP,GAAG,CAAC,GAAU,CAAC,GAAG,KAAK,CAAC;oBACzB,CAAC;oBACD,OAAO,GAAG,CAAC;gBACZ,CAAC,EAAE,EAAS,CAAC,CAAC;gBACd,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,OAAO,MAAM,CAAC;YACf,CAAC;QACF,CAAC,CAAC;QAEF;;;WAGG;QACH,gBAAW,GAAG,GAAQ,EAAE;YACvB,OAAO,IAAI,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACpE,CAAC,CAAC;QAEF,gDAAgD;QACxC,yBAAoB,GAAG,CAAC,UAAuB,EAAE,EAAE;YAC1D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,mCAAmC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAErE,gCAAgC;YAChC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;oBAC7B,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;gBACxB,CAAC;YACF,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAC/D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;QACF,CAAC,CAAC;QAEM,qBAAgB,GAAG,CAAC,IAA0B,EAAE,EAAE;YACzD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,+BAA+B,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC3D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;QACF,CAAC,CAAC;QAEM,mBAAc,GAAG,CAAC,IAA0B,EAAE,EAAE;YACvD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,4BAA4B,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACzD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;QACF,CAAC,CAAC;QAEM,iBAAY,GAAG,GAAG,EAAE;YAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,4BAA4B,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACvD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;QACF,CAAC,CAAC;QAEM,yBAAoB,GAAG,GAAG,EAAE;YACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC7B,CAAC,CAAC;QAEM,WAAM,GAAG,CAAC,EAAgB,EAAE,EAAE;YACrC,IAAI,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;gBACzB,oBAAoB;gBACpB,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBAClB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACrB,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBACvB,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,0DAA0D;gBAC1D,yCAAyC;gBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;gBAClD,IAAI,KAAK,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;oBACtC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAClB,CAAC;YACF,CAAC;QACF,CAAC,CAAC;QACM,eAAU,GAAG,CAAC,EAAgB,EAAE,EAAE;YACzC,kEAAkE;YAClE,2BAA2B;YAC3B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;oBAClD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC7C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBAClC,CAAC;gBACD,+BAA+B;YAChC,CAAC;iBAAM,CAAC;gBACP,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;oBACnD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC9C,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBACnC,CAAC;gBACD,uBAAuB;gBACvB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC1B,+BAA+B;gBAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9C,CAAC;QACF,CAAC,CAAC;QACM,iBAAY,GAAG,CAAC,EAAgB,EAAE,EAAE;YAC3C,+BAA+B;YAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1B,+BAA+B;YAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC;QACQ,eAAU,GAAG,CAAC,MAAc,EAAE,EAAgB,EAAE,EAAE;;YAC3D,sDAAsD;YACtD,kCAAkC;YAClC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,wDAAwD;YACxD,oDAAoD;YACpD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YACpC,MAAA,IAAI,CAAC,MAAM,0CAAE,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC;QAEM,aAAQ,GAAG,CAAC,GAAQ,EAAE,GAAqB,EAAE,EAAE;YACtD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CACd,qBAAqB,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACpE,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;gBAC5B,GAAG;gBACH,MAAM;gBACN,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,MAAM,EAAE,IAAI;gBACZ,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC;gBACnC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;aACvC,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,qBAAgB,GAAG,CAClB,GAAM,EACN,KAAe,EAAE,yCAAyC;QAC1D,QAGS,EACR,EAAE;YACH,OAAO,qBAAqB,CAAc,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAChE,CAAC,CAAC;QAEF,yBAAyB;QACzB;;;;WAIG;QACH,QAAG,GAAG,CAA6B,GAAQ,EAAiB,EAAE;YAC7D,eAAe,CAAC,GAAG,CAAC,CAAC;YAErB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACd,6BAA6B,GAAG,sBAAsB,IAAI,CAAC,GAAG,EAAE,CAChE,CAAC;YACH,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAU,CAAC,CAAC;YAC/B,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CACd,qBAAqB,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACpE,CAAC;YACH,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClB,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACjC,MAAM,IAAI,KAAK,CACd,gCAAgC,MAAM,CAAC,GAAG,CAAC,SAC1C,WAAW,CAAC,IACb,EAAE,CACF,CAAC;oBACH,CAAC;oBACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE;wBACrC,cAAc,EAAE,CAAC,CAAC,WAAW,CAAC,cAAc;wBAC5C,GAAG,EAAE,IAAI,CAAC,GAAG;qBACb,CAAC,CAAC;oBAEH,yCAAyC;oBACzC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE;wBAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC1D,CAAC,CAAC,CAAC;oBAEH,OAAO,IAAqB,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACP,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAkB,CAAC;gBACtD,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,4CAA4C;gBAC5C,qBAAqB;gBACrB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACvD,OAAO,SAA0B,CAAC;gBACnC,CAAC;gBACD,iCAAiC;gBACjC,IACC,mBAAmB,CAAC;oBACnB,KAAK,EAAE,WAAW;oBAClB,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC;oBACnC,KAAK,EAAE,CAAC;oBACR,eAAe,EAAE,IAAI;iBACrB,CAAC,EACD,CAAC;oBACF,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC7B,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC;oBAChC,CAAC;oBACD,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC7B,OAAO,IAAW,CAAC;oBACpB,CAAC;oBACD,OAAO,SAAgB,CAAC;gBACzB,CAAC;gBACD,OAAO,KAAsB,CAAC;YAC/B,CAAC;QACF,CAAC,CAAC;QAEF;;;;;;;;;;;;WAYG;QACH,aAAQ,GAAG,CACV,GAAQ,EACR,IAAe,EACC,EAAE;YAClB,eAAe,CAAC,GAAG,CAAC,CAAC;YACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,GAAU,EAAE,IAAI,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC;QAEM,sBAAiB,GAAG,CAAC,KAAU,EAAE,GAAQ,EAAE,EAAE;YACpD,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAa,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,kEAAkE;YAClE,yDAAyD;YACzD,gBAAgB;YAChB,gEAAgE;YAChE,kCAAkC;YAClC,6CAA6C;YAC7C,KAAK;YACL,+BAA+B;YAC/B,gCAAgC;YAChC,gCAAgC;YAChC,0DAA0D;YAC1D,iEAAiE;YACjE,+DAA+D;YAC/D,2BAA2B;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACjC,CAAC;YACD,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC1D,IAAI,WAAW,EAAE,CAAC;gBACjB,wCAAwC,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC7D,MAAM,eAAe,GAAG,mBAAmB,CAAC;oBAC3C,KAAK,EAAE,WAAW;oBAClB,KAAK;oBACL,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC;iBACnC,CAAC,CAAC;gBACH,IAAI,eAAe,EAAE,CAAC;oBACrB,yFAAyF;oBACzF,uDAAuD;oBACvD,MAAM,IAAI,KAAK,CAAC,qBAAqB,eAAe,CAAC,OAAO,EAAE,EAAE;wBAC/D,KAAK,EAAE,eAAe;qBACtB,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YACD,OAAO,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC,CAAC;QAEM,kBAAa,GAAG,CAAC,GAAQ,EAAE,EAAE;YACpC,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,OAAO,KAAK,CAAC;YACd,CAAC;YACD,0CAA0C;YAC1C,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC9D,OAAO,QAAQ,CAAC;YACjB,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACf,8CAA8C;oBAC9C,oBAAoB;oBACpB,OAAO,QAAQ,CAAC;gBACjB,CAAC;gBACD,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK;oBAAE,OAAO,QAAQ,CAAC;gBAC7C,uCAAuC;gBACvC,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK;oBAAE,OAAO,KAAK,CAAC;gBAC1C,IAAI,QAAQ,CAAC,QAAQ;oBAAE,OAAO,MAAM,CAAC;YACtC,CAAC;YACD,+BAA+B;YAC/B,OAAO,KAAK,CAAC;QACd,CAAC,CAAC;QAEF;;;;;WAKG;QACK,oBAAe,GAAG,CAAC,IAAS,EAAE,EAAE;YACvC,IAAI,IAAI,YAAY,MAAM,EAAE,CAAC;gBAC5B,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;gBAChC,OAAO,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjD,MAAM,IAAI,KAAK,CACd,sBAAsB,IAAI,CAAC,SAAS,CACnC,IAAI,CACJ,oCAAoC,CACrC,CAAC;gBACH,CAAC;gBACD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC,CAAC;QAEF,QAAG,GAAG,CACL,GAAQ,EACR,KAAU,EACV,OAWC,EACA,EAAE;YACH,eAAe,CAAC,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAA,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK;gBAAE,OAAO;YAEvD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,IAAI,CAAC,oBAAoB,CACxB,IAAI,CAAC,YAAY,CAAC,aAAa,CAC9B,IAAI,CAAC,GAAG,EACR,GAAG,EACH,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAClC,CACD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,oBAAoB,CACxB,IAAI,CAAC,YAAY,CAAC,SAAS,CAC1B,IAAI,CAAC,GAAG,EACR,GAAG,EACH,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAClC,CACD,CAAC;YACH,CAAC;QACF,CAAC,CAAC;QAEF;;;WAGG;QACH,WAAM,GAAG,GAAa,EAAE;YACvB,OAAO,IAAI,CAAC,IAAI,CAAC;QAClB,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,GAAQ,EAAE,EAAE;YACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,YAAY,CAAC,GAAG,CAAC,CAAC;gBAClB,IAAI,CAAC,oBAAoB,CACxB,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CACjD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,2DAA2D;gBAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CACd,qBAAqB,GAAG,CAAC,QAAQ,EAAE,0DAA0D,CAC7F,CAAC;gBACH,CAAC;gBACD,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;oBAC7B,IAAI,CAAC,oBAAoB,CACxB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAC7C,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,oBAAoB,CACxB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAChD,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC,CAAC;QAEF,wBAAwB;QACxB,SAAI,GAAG,GAAa,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,YAAO,GAAG,GAA6D,EAAE;YACxE,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,WAAM,GAAG,GAAmD,EAAE;YAC7D,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC;QASF,WAAM,GAAG,CACR,IAAS,EACT,EACC,KAAK,GAAG,IAAI,EACZ,iBAAiB,GAAG,KAAK,EACzB,iBAAiB,GAAG,KAAK,MAKtB,EAAE,EACC,EAAE;YACT,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACxE,MAAM,IAAI,KAAK,CACd,iIAAiI,CACjI,CAAC;YACH,CAAC;YACD,MAAM,OAAO,GAAQ,EAAE,CAAC;YACxB,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAU,CAAC,EAAE,CAAC;oBAC5C,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBACD,4CAA4C;gBAC5C,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,iBAAiB;oBAAE,SAAS;gBAExD,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC1D,IAAI,WAAW,EAAE,CAAC;oBACjB,wCAAwC,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC9D,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,CAAC,oBAAoB,CACxB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE;gBACzD,mBAAmB,EAAE,CAAC,iBAAiB;gBACvC,gBAAgB,EAAE,KAAK;aACvB,CAAC,CACF,CAAC;QACH,CAAC,CAAC;QAOF,SAAI,GAAG,CAAC,KAAyB,EAAQ,EAAE;YAC1C,IAAI,CAAC,oBAAoB,CACxB,IAAI,CAAC,YAAY,CAAC,cAAc,CAC/B,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAC/C,CACD,CAAC;QACH,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,KAAa,EAAE,KAAyB,EAAQ,EAAE;YAC3D,IAAI,CAAC,oBAAoB,CACxB,IAAI,CAAC,YAAY,CAAC,gBAAgB,CACjC,IAAI,CAAC,GAAG,EACR,KAAK,EACL,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CACpC,CACD,CAAC;QACH,CAAC,CAAC;QAEF,SAAI,GAAG,CAAC,IAAY,EAAE,EAAU,EAAQ,EAAE;YACzC,IAAI,CAAC,oBAAoB,CACxB,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAC3D,CAAC;QACH,CAAC,CAAC;QAEF,aAAQ,GAAG,CAAC,IAA6B,EAAE,EAAU,EAAQ,EAAE;YAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,oBAAoB,CACxB,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAC5D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CACd,oBAAoB,IAAI,CAAC,SAAS,CACjC,IAAI,CACJ,oCAAoC,CACrC,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACtB,CAAC;QACF,CAAC,CAAC;QAEF,QAAG,GAAG,CAAC,KAA8B,EAAQ,EAAE;YAC9C,IAAI,CAAC,oBAAoB,CACxB,IAAI,CAAC,YAAY,CAAC,aAAa,CAC9B,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAC/C,CACD,CAAC;QACH,CAAC,CAAC;QAEF,cAAS,GAAG,CAAC,IAA6B,EAAQ,EAAE;YACnD,IAAI,CAAC,oBAAoB,CACxB,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CACxE,CAAC;QACH,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,IAA6B,EAAQ,EAAE;YACrD,IAAI,CAAC,oBAAoB,CACxB,IAAI,CAAC,YAAY,CAAC,gBAAgB,CACjC,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAC1B,OAAO,CACP,CACD,CAAC;QACH,CAAC,CAAC;QAEF,eAAU,GAAG,CAAC,IAA6B,EAAQ,EAAE;YACpD,IAAI,CAAC,oBAAoB,CACxB,IAAI,CAAC,YAAY,CAAC,gBAAgB,CACjC,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAC1B,MAAM,CACN,CACD,CAAC;QACH,CAAC,CAAC;QAuBF,QAAG,GAAG,CACL,QAA8D,EACxD,EAAE;YACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,WAAM,GAAG,CACR,QAAoE,EACxC,EAAE;YAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC;QAEF,QAAG,GAAG,CAAC,KAA8B,EAAW,EAAE;YACjD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC7D,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;oBACnC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBACjB,OAAO,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACnC,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;QACF,CAAC,CAAC;QAEF,YAAO,GAAG,CACT,QAAiE,EAC1D,EAAE;YACT,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,WAAM,GAAG,CACR,QAIM,EACN,YAAe,EACX,EAAE;YACN,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,SAAI,GAAG,CAAC,SAAsD,EAAW,EAAE;YAC1E,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,UAAK,GAAG,CAAC,SAAsD,EAAW,EAAE;YAC3E,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC,CAAC;QAEF,SAAI,GAAG,CACN,SAAsD,EAChB,EAAE;YACxC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,aAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;QAEpB;;;;;;;;;;WAUG;QACH,eAAU,GAAG,GAAG,EAAE;YACjB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC;QAEF,8CAA8C;QAC9C,oBAAe,GAAG,CAAC,GAAqB,EAAE,IAA6B,EAAE,EAAE;YAC1E,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACvE,CAAC,CAAC;QACF,sBAAiB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QAE3D,gCAA2B,GAAG,CAAC,SAAoB,EAAE,EAAE;YACtD,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC7B,CAAC,CAAC;QA3+BD,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QAEjC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY;YAChB,UAAU;gBACV,IAAI,WAAW,CAAC;oBACf,OAAO,EAAE,CAAC,IAAI,CAAC;iBACf,CAAC,CAAC;QACJ,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAE9B,8DAA8D;QAC9D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC;IACF,CAAC;IAgBD,IAAY,QAAQ;QACnB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,IAAY,YAAY;QACvB,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,IAAY,QAAQ;QACnB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,2CAA2C;IAC3C,IAAY,OAAO;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,IAAY,IAAI;QACf,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,UAAU,CAAC;QACxB,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACb,CAAC;QACD,4DAA4D;QAC5D,gBAAgB;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,MAAM,eAAe,GACpB,CAAC,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC;gBAC7D,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAEtB,IAAI,eAAe,EAAE,CAAC;YACrB,uCAAuC;YACvC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;YACD,mDAAmD;YACnD,OAAO,IAAW,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb;;;;mBAIG;gBACH,IAAI,CAAC,GAAG,CAAC,GAAG,CACX,OAAO,EACP,wCAAwC,EACxC,IAAI,CAAC,GAAG,CACR,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;wBACpD,IAAI,CAAC,GAAG,CAAC,GAAG,CACX,OAAO,EACP,qCAAqC,EACrC,IAAI,CAAC,GAAG,EACR,QAAQ,EACR,CAAC,CACD,CAAC;wBAEF,4BAA4B;oBAC7B,CAAC;yBAAM,CAAC;wBACP,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC7B,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;aAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,yDAAyD;YACzD,2CAA2C;YAC3C,MAAM,IAAI,GACT,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAC5B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;gBACrC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACrD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACb;;;;;;uBAMG;oBACH,IAAI,CAAC,GAAG,CAAC,GAAG,CACX,OAAO,EACP,gDAAgD,EAChD,GAAG,CACH,CAAC;oBACF,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;wBAChC,yCAAyC;wBACzC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;oBACtB,CAAC;yBAAM,CAAC;wBACP,+BAA+B;wBAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACxB,CAAC;oBACD,MAAM;gBACP,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAU,CAAC,CAAC;gBACnC,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpD,IAAI,CAAC,GAAG,CAAC,GAAG,CACX,OAAO,EACP,gDAAgD,EAChD,IAAI,CAAC,GAAG,EACR,MAAM,EACN,GAAG,CACH,CAAC;oBACF;;;;;uBAKG;oBACH,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;wBAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;wBACvB,MAAM;oBACP,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC9B,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAUD,IAAI,GAAG;QACN,OAAO,IAAI,CAAC,GAAG,CAAC;IACjB,CAAC;IAED,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;IACpD,CAAC;IAED,IAAI,OAAO;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,MAAM;QACT,gEAAgE;QAChE,iCAAiC;QACjC,OAAO,CACN,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAK,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAS,CAC1E,CAAC;IACH,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;IAChC,CAAC;IAED,IAAI,aAAa;QAChB,IAAI,IAAI,CAAC,mBAAmB;YAAE,OAAO,IAAI,CAAC,mBAAmB,CAAC;QAC9D,0DAA0D;QAC1D,IAAI,MAAM,GAAkB,IAAI,CAAC,SAAS,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;gBAC3B,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;oBAC7B,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC;oBAC3C,IAAI,cAAc,IAAI,CAAC,CAAC,MAAM,IAAI,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC;wBAC5D,MAAM,GAAG,cAAc,CAAC;oBACzB,CAAC;gBACF,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC/B,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;oBAC7B,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC;oBAC3C,IAAI,cAAc,IAAI,CAAC,CAAC,MAAM,IAAI,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC;wBAC5D,MAAM,GAAG,cAAc,CAAC;oBACzB,CAAC;gBACF,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;QAClC,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,IAAI,iBAAiB;QACpB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD,IAAI,YAAY;QACf,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACtB,CAAC;IAqeD,IAAI,IAAI;QACP,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;IAC3B,CAAC;IA0CD,uBAAuB;IACvB,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACzB,CAAC;IAiFD,0DAA0D;IAC1D,WAAW;IACX,CAAC,MAAM,CAAC,QAAQ,CAAC;;QAChB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,MAAM,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC;QAC/B,OAAO;YACN,IAAI,EAAE,GAAG,EAAE;gBACV,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC;oBACpB,OAAO;wBACN,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAA4B;wBACnD,IAAI,EAAE,KAAK;qBACF,CAAC;gBACZ,CAAC;gBACD,OAAO;oBACN,KAAK,EAAE,SAAS;oBAChB,IAAI,EAAE,IAAI;iBACD,CAAC;YACZ,CAAC;SACD,CAAC;IACH,CAAC;CAwFD;AAED,SAAS,eAAe,CAAI,GAAM;IACjC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,YAAY,CAAC,GAAY;IACjC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAC1B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;AACrE,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { Entity } from './Entity.js';
|
|
|
3
3
|
import { EntityFamilyMetadata } from './EntityMetadata.js';
|
|
4
4
|
import { WeakEvent } from 'weak-event';
|
|
5
5
|
import { NaiveTimestampProvider, PatchCreator, groupPatchesByOid, } from '@verdant-web/common';
|
|
6
|
+
import { Time } from '../context/Time.js';
|
|
6
7
|
describe('Entity', () => {
|
|
7
8
|
const schema = {
|
|
8
9
|
type: 'object',
|
|
@@ -48,11 +49,12 @@ describe('Entity', () => {
|
|
|
48
49
|
resetAll: new WeakEvent(),
|
|
49
50
|
};
|
|
50
51
|
const time = new NaiveTimestampProvider();
|
|
52
|
+
const patchCreator = new PatchCreator(() => time.now(1));
|
|
51
53
|
const mockContext = {
|
|
52
54
|
log: vi.fn(),
|
|
53
|
-
|
|
55
|
+
time: new Time(time, 1),
|
|
56
|
+
patchCreator,
|
|
54
57
|
};
|
|
55
|
-
const patchCreator = new PatchCreator(() => time.now(1));
|
|
56
58
|
const entity = new Entity({
|
|
57
59
|
oid: 'test/1',
|
|
58
60
|
schema,
|
|
@@ -67,7 +69,6 @@ describe('Entity', () => {
|
|
|
67
69
|
add: vi.fn(),
|
|
68
70
|
get: vi.fn(),
|
|
69
71
|
},
|
|
70
|
-
patchCreator,
|
|
71
72
|
readonlyKeys: ['id'],
|
|
72
73
|
deleteSelf: vi.fn(),
|
|
73
74
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.test.js","sourceRoot":"","sources":["../../../src/entities/Entity.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EACN,sBAAsB,EACtB,YAAY,
|
|
1
|
+
{"version":3,"file":"Entity.test.js","sourceRoot":"","sources":["../../../src/entities/Entity.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,5 @@ export declare class EntityCache {
|
|
|
8
8
|
});
|
|
9
9
|
get: (init: EntityInit) => Entity;
|
|
10
10
|
has: (oid: ObjectIdentifier) => boolean;
|
|
11
|
-
getFile: (id: string, options: {
|
|
12
|
-
downloadRemote: boolean;
|
|
13
|
-
}) => EntityFile;
|
|
14
11
|
getCached: (oid: string) => Entity<any, any, any> | EntityFile | undefined;
|
|
15
12
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Entity } from './Entity.js';
|
|
2
|
-
import { EntityFile } from '../files/EntityFile.js';
|
|
3
2
|
export class EntityCache {
|
|
4
3
|
constructor({ initial } = {}) {
|
|
5
4
|
this.cache = new Map();
|
|
@@ -14,14 +13,6 @@ export class EntityCache {
|
|
|
14
13
|
this.has = (oid) => {
|
|
15
14
|
return this.cache.has(oid);
|
|
16
15
|
};
|
|
17
|
-
this.getFile = (id, options) => {
|
|
18
|
-
if (this.cache.has(id)) {
|
|
19
|
-
return this.cache.get(id);
|
|
20
|
-
}
|
|
21
|
-
const file = new EntityFile(id, options);
|
|
22
|
-
this.cache.set(id, file);
|
|
23
|
-
return file;
|
|
24
|
-
};
|
|
25
16
|
this.getCached = (oid) => {
|
|
26
17
|
return this.cache.get(oid);
|
|
27
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityCache.js","sourceRoot":"","sources":["../../../src/entities/EntityCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"EntityCache.js","sourceRoot":"","sources":["../../../src/entities/EntityCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,aAAa,CAAC;AAIjD,MAAM,OAAO,WAAW;IAGvB,YAAY,EAAE,OAAO,KAA6B,EAAE;QAF5C,UAAK,GAAG,IAAI,GAAG,EAA+B,CAAC;QAUvD,QAAG,GAAG,CAAC,IAAgB,EAAU,EAAE;YAClC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAY,CAAC;YAC5C,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACjC,OAAO,MAAM,CAAC;QACf,CAAC,CAAC;QAEF,QAAG,GAAG,CAAC,GAAqB,EAAE,EAAE;YAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,cAAS,GAAG,CAAC,GAAW,EAAE,EAAE;YAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,CAAC;QAtBD,IAAI,OAAO,EAAE,CAAC;YACb,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;QACF,CAAC;IACF,CAAC;CAkBD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DocumentBaseline, ObjectIdentifier, Operation } from '@verdant-web/common';
|
|
2
|
-
import { Context } from '../context.js';
|
|
2
|
+
import { Context } from '../context/context.js';
|
|
3
3
|
import { EntityChange } from './types.js';
|
|
4
4
|
export type EntityMetadataView = {
|
|
5
5
|
view: any;
|