@rocicorp/zero 0.6.2024112101 → 0.7.2024112700
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/out/advanced.js +1 -1
- package/out/{chunk-5UY46OAF.js → chunk-C7M3BJ3Z.js} +16 -8
- package/out/chunk-C7M3BJ3Z.js.map +7 -0
- package/out/{chunk-MPEWBBGZ.js → chunk-HDEKBM3G.js} +686 -660
- package/out/{chunk-MPEWBBGZ.js.map → chunk-HDEKBM3G.js.map} +4 -4
- package/out/shared/src/expand.js +2 -0
- package/out/shared/src/expand.js.map +1 -0
- package/out/shared/src/immutable.js +2 -0
- package/out/shared/src/immutable.js.map +1 -0
- package/out/{zero-cache/src/config/config.d.ts → shared/src/options.d.ts} +3 -5
- package/out/shared/src/options.d.ts.map +1 -0
- package/out/{zero-cache/src/config/config.js → shared/src/options.js} +26 -26
- package/out/shared/src/options.js.map +1 -0
- package/out/shared/src/sorted-entries.js +6 -0
- package/out/shared/src/sorted-entries.js.map +1 -0
- package/out/shared/src/writable.js +2 -0
- package/out/shared/src/writable.js.map +1 -0
- package/out/solid.js +2 -2
- package/out/zero/src/build-schema.d.ts +3 -0
- package/out/zero/src/build-schema.d.ts.map +1 -0
- package/out/zero/src/build-schema.js +3 -0
- package/out/zero/src/build-schema.js.map +1 -0
- package/out/zero-cache/src/auth/load-schema.d.ts +8 -0
- package/out/zero-cache/src/auth/load-schema.d.ts.map +1 -0
- package/out/zero-cache/src/auth/load-schema.js +34 -0
- package/out/zero-cache/src/auth/load-schema.js.map +1 -0
- package/out/zero-cache/src/auth/write-authorizer.d.ts +20 -0
- package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -0
- package/out/zero-cache/src/auth/write-authorizer.js +320 -0
- package/out/zero-cache/src/auth/write-authorizer.js.map +1 -0
- package/out/zero-cache/src/config/zero-config.d.ts +14 -4
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +27 -14
- package/out/zero-cache/src/config/zero-config.js.map +1 -1
- package/out/zero-cache/src/server/main.js +7 -0
- package/out/zero-cache/src/server/main.js.map +1 -1
- package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/server/replicator.js +4 -3
- package/out/zero-cache/src/server/replicator.js.map +1 -1
- package/out/zero-cache/src/server/runtime.d.ts +3 -0
- package/out/zero-cache/src/server/runtime.d.ts.map +1 -0
- package/out/zero-cache/src/server/runtime.js +19 -0
- package/out/zero-cache/src/server/runtime.js.map +1 -0
- package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/server/syncer.js +7 -6
- package/out/zero-cache/src/server/syncer.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts +6 -5
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js +19 -33
- package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
- package/out/zero-cache/src/services/replicator/replicator.d.ts +1 -1
- package/out/zero-cache/src/services/replicator/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/replicator.js +2 -2
- package/out/zero-cache/src/services/replicator/replicator.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +1 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.js +11 -8
- package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +17 -8
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.js +357 -94
- package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts +6 -9
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.js +36 -22
- package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +2 -2
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts +22 -0
- package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/cvr.js +33 -7
- package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/init.js +44 -5
- package/out/zero-cache/src/services/view-syncer/schema/init.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +1 -0
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/types.js +3 -0
- package/out/zero-cache/src/services/view-syncer/schema/types.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/snapshotter.js +5 -0
- package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +69 -19
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/types/row-key.d.ts +6 -0
- package/out/zero-cache/src/types/row-key.d.ts.map +1 -1
- package/out/zero-cache/src/types/row-key.js +16 -1
- package/out/zero-cache/src/types/row-key.js.map +1 -1
- package/out/zero-cache/src/workers/connection.d.ts +1 -1
- package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
- package/out/zero-cache/src/workers/connection.js.map +1 -1
- package/out/zero-cache/src/workers/replicator.d.ts +3 -1
- package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/workers/replicator.js +2 -0
- package/out/zero-cache/src/workers/replicator.js.map +1 -1
- package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/workers/syncer.js +8 -3
- package/out/zero-cache/src/workers/syncer.js.map +1 -1
- package/out/zero-client/src/client/options.d.ts +37 -8
- package/out/zero-client/src/client/options.d.ts.map +1 -1
- package/out/zero-client/src/client/reload-error-handler.d.ts +16 -1
- package/out/zero-client/src/client/reload-error-handler.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.d.ts +7 -55
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-client/src/mod.d.ts +1 -1
- package/out/zero-client/src/mod.d.ts.map +1 -1
- package/out/zero-protocol/src/ast-hash.js +14 -0
- package/out/zero-protocol/src/ast-hash.js.map +1 -0
- package/out/zero-protocol/src/down.d.ts +4 -4
- package/out/zero-protocol/src/poke.d.ts +16 -8
- package/out/zero-protocol/src/poke.d.ts.map +1 -1
- package/out/zero-protocol/src/poke.js +8 -2
- package/out/zero-protocol/src/poke.js.map +1 -1
- package/out/zero-schema/src/authorization.d.ts +12 -5
- package/out/zero-schema/src/authorization.d.ts.map +1 -1
- package/out/zero-schema/src/build-schema.d.ts +14 -0
- package/out/zero-schema/src/build-schema.d.ts.map +1 -0
- package/out/zero-schema/src/build-schema.js +55 -0
- package/out/zero-schema/src/build-schema.js.map +1 -0
- package/out/zero-schema/src/compiled-authorization.d.ts +213 -294
- package/out/zero-schema/src/compiled-authorization.d.ts.map +1 -1
- package/out/zero-schema/src/compiled-authorization.js +9 -4
- package/out/zero-schema/src/compiled-authorization.js.map +1 -1
- package/out/zero-schema/src/normalize-table-schema.d.ts +2 -11
- package/out/zero-schema/src/normalize-table-schema.d.ts.map +1 -1
- package/out/zero-schema/src/normalize-table-schema.js +108 -0
- package/out/zero-schema/src/normalize-table-schema.js.map +1 -0
- package/out/zero-schema/src/normalized-schema.js +31 -0
- package/out/zero-schema/src/normalized-schema.js.map +1 -0
- package/out/zero-schema/src/schema-config.d.ts +325 -0
- package/out/zero-schema/src/schema-config.d.ts.map +1 -0
- package/out/zero-schema/src/schema-config.js +41 -0
- package/out/zero-schema/src/schema-config.js.map +1 -0
- package/out/zero-schema/src/schema.js +4 -0
- package/out/zero-schema/src/schema.js.map +1 -0
- package/out/zero-schema/src/table-schema.d.ts +6 -15
- package/out/zero-schema/src/table-schema.d.ts.map +1 -1
- package/out/zero-schema/src/table-schema.js.map +1 -1
- package/out/zero.js +2 -2
- package/out/zql/src/builder/builder.d.ts +2 -2
- package/out/zql/src/builder/builder.d.ts.map +1 -1
- package/out/zql/src/builder/builder.js +19 -20
- package/out/zql/src/builder/builder.js.map +1 -1
- package/out/zql/src/builder/filter.d.ts +25 -2
- package/out/zql/src/builder/filter.d.ts.map +1 -1
- package/out/zql/src/builder/filter.js +91 -1
- package/out/zql/src/builder/filter.js.map +1 -1
- package/out/zql/src/ivm/array-view.js +70 -0
- package/out/zql/src/ivm/array-view.js.map +1 -0
- package/out/zql/src/ivm/change.d.ts +18 -6
- package/out/zql/src/ivm/change.d.ts.map +1 -1
- package/out/zql/src/ivm/change.js +1 -1
- package/out/zql/src/ivm/change.js.map +1 -1
- package/out/zql/src/ivm/constraint.d.ts +14 -0
- package/out/zql/src/ivm/constraint.d.ts.map +1 -0
- package/out/zql/src/ivm/constraint.js +60 -0
- package/out/zql/src/ivm/constraint.js.map +1 -0
- package/out/zql/src/ivm/exists.d.ts.map +1 -1
- package/out/zql/src/ivm/exists.js +19 -2
- package/out/zql/src/ivm/exists.js.map +1 -1
- package/out/zql/src/ivm/join.d.ts +11 -5
- package/out/zql/src/ivm/join.d.ts.map +1 -1
- package/out/zql/src/ivm/join.js +49 -95
- package/out/zql/src/ivm/join.js.map +1 -1
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts.map +1 -1
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.js +4 -13
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -1
- package/out/zql/src/ivm/memory-source.d.ts +5 -22
- package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
- package/out/zql/src/ivm/memory-source.js +58 -80
- package/out/zql/src/ivm/memory-source.js.map +1 -1
- package/out/zql/src/ivm/operator.d.ts +7 -10
- package/out/zql/src/ivm/operator.d.ts.map +1 -1
- package/out/zql/src/ivm/operator.js +1 -1
- package/out/zql/src/ivm/operator.js.map +1 -1
- package/out/zql/src/ivm/take.d.ts +3 -1
- package/out/zql/src/ivm/take.d.ts.map +1 -1
- package/out/zql/src/ivm/take.js +95 -95
- package/out/zql/src/ivm/take.js.map +1 -1
- package/out/zql/src/ivm/view-apply-change.d.ts.map +1 -1
- package/out/zql/src/ivm/view-apply-change.js +168 -0
- package/out/zql/src/ivm/view-apply-change.js.map +1 -0
- package/out/zql/src/ivm/view.js +2 -0
- package/out/zql/src/ivm/view.js.map +1 -0
- package/out/zql/src/query/auth-query.d.ts +3 -1
- package/out/zql/src/query/auth-query.d.ts.map +1 -1
- package/out/zql/src/query/auth-query.js +34 -0
- package/out/zql/src/query/auth-query.js.map +1 -0
- package/out/zql/src/query/dnf.js +57 -0
- package/out/zql/src/query/dnf.js.map +1 -0
- package/out/zql/src/query/expression.js +155 -0
- package/out/zql/src/query/expression.js.map +1 -0
- package/out/zql/src/query/query-impl.d.ts +4 -1
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.js +359 -0
- package/out/zql/src/query/query-impl.js.map +1 -0
- package/out/zql/src/query/query-internal.js +2 -0
- package/out/zql/src/query/query-internal.js.map +1 -0
- package/out/zql/src/query/query.js +3 -0
- package/out/zql/src/query/query.js.map +1 -0
- package/out/zql/src/query/typed-view.js +2 -0
- package/out/zql/src/query/typed-view.js.map +1 -0
- package/out/zqlite/src/table-source.d.ts +2 -11
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js +28 -80
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +5 -3
- package/out/chunk-5UY46OAF.js.map +0 -7
- package/out/zero-cache/src/auth/load-authorization.d.ts +0 -4
- package/out/zero-cache/src/auth/load-authorization.d.ts.map +0 -1
- package/out/zero-cache/src/auth/load-authorization.js +0 -20
- package/out/zero-cache/src/auth/load-authorization.js.map +0 -1
- package/out/zero-cache/src/config/config.d.ts.map +0 -1
- package/out/zero-cache/src/config/config.js.map +0 -1
- package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts +0 -21
- package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts.map +0 -1
- package/out/zero-cache/src/services/mutagen/write-authorizer.js +0 -168
- package/out/zero-cache/src/services/mutagen/write-authorizer.js.map +0 -1
package/out/zql/src/ivm/take.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { assert, unreachable } from '../../../shared/src/asserts.js';
|
|
2
|
+
import { hasOwn } from '../../../shared/src/has-own.js';
|
|
2
3
|
import { must } from '../../../shared/src/must.js';
|
|
3
4
|
import { assertOrderingIncludesPK } from '../builder/builder.js';
|
|
4
5
|
import { rowForChange, } from './change.js';
|
|
5
|
-
import {
|
|
6
|
+
import { compareValues } from './data.js';
|
|
6
7
|
import { first, take } from './stream.js';
|
|
7
8
|
const MAX_BOUND_KEY = 'maxBound';
|
|
8
9
|
/**
|
|
@@ -18,15 +19,18 @@ export class Take {
|
|
|
18
19
|
#storage;
|
|
19
20
|
#limit;
|
|
20
21
|
#partitionKey;
|
|
22
|
+
#partitionKeyComparator;
|
|
21
23
|
#output = null;
|
|
22
24
|
constructor(input, storage, limit, partitionKey) {
|
|
25
|
+
assert(limit >= 0);
|
|
26
|
+
assertOrderingIncludesPK(input.getSchema().sort, input.getSchema().primaryKey);
|
|
27
|
+
input.setOutput(this);
|
|
23
28
|
this.#input = input;
|
|
24
29
|
this.#storage = storage;
|
|
25
30
|
this.#limit = limit;
|
|
26
31
|
this.#partitionKey = partitionKey;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
input.setOutput(this);
|
|
32
|
+
this.#partitionKeyComparator =
|
|
33
|
+
partitionKey && makePartitionKeyComparator(partitionKey);
|
|
30
34
|
}
|
|
31
35
|
setOutput(output) {
|
|
32
36
|
this.#output = output;
|
|
@@ -35,10 +39,10 @@ export class Take {
|
|
|
35
39
|
return this.#input.getSchema();
|
|
36
40
|
}
|
|
37
41
|
*fetch(req) {
|
|
38
|
-
if (this.#partitionKey
|
|
39
|
-
req.constraint
|
|
40
|
-
|
|
41
|
-
const takeStateKey = getTakeStateKey(
|
|
42
|
+
if (!this.#partitionKey ||
|
|
43
|
+
(req.constraint &&
|
|
44
|
+
constraintMatchesPartitionKey(req.constraint, this.#partitionKey))) {
|
|
45
|
+
const takeStateKey = getTakeStateKey(this.#partitionKey, req.constraint);
|
|
42
46
|
const takeState = this.#storage.get(takeStateKey);
|
|
43
47
|
if (!takeState) {
|
|
44
48
|
yield* this.#initialFetch(req);
|
|
@@ -69,8 +73,7 @@ export class Take {
|
|
|
69
73
|
if (this.getSchema().compareRows(inputNode.row, maxBound) > 0) {
|
|
70
74
|
return;
|
|
71
75
|
}
|
|
72
|
-
const
|
|
73
|
-
const takeStateKey = getTakeStateKey(partitionValue);
|
|
76
|
+
const takeStateKey = getTakeStateKey(this.#partitionKey, inputNode.row);
|
|
74
77
|
const takeState = this.#storage.get(takeStateKey);
|
|
75
78
|
if (takeState?.bound !== undefined &&
|
|
76
79
|
this.getSchema().compareRows(takeState.bound, inputNode.row) >= 0) {
|
|
@@ -80,14 +83,14 @@ export class Take {
|
|
|
80
83
|
}
|
|
81
84
|
*#initialFetch(req) {
|
|
82
85
|
assert(req.start === undefined);
|
|
83
|
-
assert(this.#partitionKey
|
|
84
|
-
(req.constraint
|
|
85
|
-
|
|
86
|
+
assert(!this.#partitionKey ||
|
|
87
|
+
(req.constraint &&
|
|
88
|
+
// TODO: Compound keys
|
|
89
|
+
constraintMatchesPartitionKey(req.constraint, this.#partitionKey)));
|
|
86
90
|
if (this.#limit === 0) {
|
|
87
91
|
return;
|
|
88
92
|
}
|
|
89
|
-
const
|
|
90
|
-
const takeStateKey = getTakeStateKey(partitionValue);
|
|
93
|
+
const takeStateKey = getTakeStateKey(this.#partitionKey, req.constraint);
|
|
91
94
|
assert(this.#storage.get(takeStateKey) === undefined);
|
|
92
95
|
let size = 0;
|
|
93
96
|
let bound;
|
|
@@ -114,15 +117,20 @@ export class Take {
|
|
|
114
117
|
}
|
|
115
118
|
*cleanup(req) {
|
|
116
119
|
assert(req.start === undefined);
|
|
117
|
-
assert(this.#partitionKey
|
|
118
|
-
(req.constraint
|
|
119
|
-
|
|
120
|
+
assert(!this.#partitionKey ||
|
|
121
|
+
(req.constraint &&
|
|
122
|
+
// TODO: Compound keys
|
|
123
|
+
constraintMatchesPartitionKey(req.constraint, this.#partitionKey)));
|
|
120
124
|
let takeState;
|
|
121
125
|
if (this.#limit > 0) {
|
|
122
|
-
const
|
|
123
|
-
const takeStateKey = getTakeStateKey(partitionValue);
|
|
126
|
+
const takeStateKey = getTakeStateKey(this.#partitionKey, req.constraint);
|
|
124
127
|
takeState = this.#storage.get(takeStateKey);
|
|
125
|
-
assert(takeState !== undefined
|
|
128
|
+
assert(takeState !== undefined, 'takeStateKey was: ' +
|
|
129
|
+
takeStateKey +
|
|
130
|
+
', partitionKey was: ' +
|
|
131
|
+
this.#partitionKey +
|
|
132
|
+
', constraint was: ' +
|
|
133
|
+
JSON.stringify(req.constraint));
|
|
126
134
|
this.#storage.del(takeStateKey);
|
|
127
135
|
}
|
|
128
136
|
for (const inputNode of this.#input.cleanup(req)) {
|
|
@@ -134,20 +142,15 @@ export class Take {
|
|
|
134
142
|
}
|
|
135
143
|
}
|
|
136
144
|
#getStateAndConstraint(row) {
|
|
137
|
-
const
|
|
138
|
-
const takeStateKey = getTakeStateKey(partitionValue);
|
|
145
|
+
const takeStateKey = getTakeStateKey(this.#partitionKey, row);
|
|
139
146
|
const takeState = this.#storage.get(takeStateKey);
|
|
140
147
|
let maxBound;
|
|
141
148
|
let constraint;
|
|
142
|
-
// The partition key was never fetched, so this push can be discarded.
|
|
143
149
|
if (takeState) {
|
|
144
150
|
maxBound = this.#storage.get(MAX_BOUND_KEY);
|
|
145
|
-
constraint =
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
value: partitionValue,
|
|
149
|
-
}
|
|
150
|
-
: undefined;
|
|
151
|
+
constraint =
|
|
152
|
+
this.#partitionKey &&
|
|
153
|
+
Object.fromEntries(this.#partitionKey.map(key => [key, row[key]]));
|
|
151
154
|
}
|
|
152
155
|
return { takeState, takeStateKey, maxBound, constraint };
|
|
153
156
|
}
|
|
@@ -218,45 +221,33 @@ export class Take {
|
|
|
218
221
|
// change is after bound
|
|
219
222
|
return;
|
|
220
223
|
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
},
|
|
238
|
-
constraint,
|
|
239
|
-
}), 2);
|
|
240
|
-
}
|
|
241
|
-
else {
|
|
242
|
-
[beforeBoundNode, , afterBoundNode] = take(this.#input.fetch({
|
|
243
|
-
start: {
|
|
244
|
-
row: takeState.bound,
|
|
245
|
-
basis: 'before',
|
|
246
|
-
},
|
|
247
|
-
constraint,
|
|
248
|
-
}), 3);
|
|
224
|
+
let newBound;
|
|
225
|
+
for (const node of this.#input.fetch({
|
|
226
|
+
start: {
|
|
227
|
+
row: takeState.bound,
|
|
228
|
+
basis: 'before',
|
|
229
|
+
},
|
|
230
|
+
constraint,
|
|
231
|
+
})) {
|
|
232
|
+
const push = compareRows(node.row, takeState.bound) > 0;
|
|
233
|
+
newBound = {
|
|
234
|
+
node,
|
|
235
|
+
push,
|
|
236
|
+
};
|
|
237
|
+
if (push) {
|
|
238
|
+
break;
|
|
239
|
+
}
|
|
249
240
|
}
|
|
250
|
-
if (
|
|
251
|
-
this.#setTakeState(takeStateKey, takeState.size,
|
|
241
|
+
if (newBound?.push) {
|
|
242
|
+
this.#setTakeState(takeStateKey, takeState.size, newBound.node.row, maxBound);
|
|
252
243
|
this.#output.push(change);
|
|
253
244
|
this.#output.push({
|
|
254
245
|
type: 'add',
|
|
255
|
-
node:
|
|
246
|
+
node: newBound.node,
|
|
256
247
|
});
|
|
257
248
|
return;
|
|
258
249
|
}
|
|
259
|
-
this.#setTakeState(takeStateKey, takeState.size - 1,
|
|
250
|
+
this.#setTakeState(takeStateKey, takeState.size - 1, newBound?.node.row, maxBound);
|
|
260
251
|
this.#output.push(change);
|
|
261
252
|
}
|
|
262
253
|
else if (change.type === 'child') {
|
|
@@ -269,8 +260,8 @@ export class Take {
|
|
|
269
260
|
}
|
|
270
261
|
#pushEditChange(change) {
|
|
271
262
|
assert(this.#output, 'Output not set');
|
|
272
|
-
if (this.#
|
|
273
|
-
change.
|
|
263
|
+
if (this.#partitionKeyComparator &&
|
|
264
|
+
this.#partitionKeyComparator(change.oldNode.row, change.node.row) !== 0) {
|
|
274
265
|
// different partition key so fall back to remove/add.
|
|
275
266
|
// TODO: So in some cases these don't need to be transformed into a remove
|
|
276
267
|
// + add.
|
|
@@ -279,33 +270,26 @@ export class Take {
|
|
|
279
270
|
// newRow is <= the bound of the new partition value, this can be sent as
|
|
280
271
|
// an edit, as the row is present in the output of this operator before
|
|
281
272
|
// and after applying this push.
|
|
282
|
-
// We do not need the relationships because Take comes before Join
|
|
283
273
|
this.push({
|
|
284
274
|
type: 'remove',
|
|
285
|
-
node:
|
|
286
|
-
row: change.oldRow,
|
|
287
|
-
relationships: {},
|
|
288
|
-
},
|
|
275
|
+
node: change.oldNode,
|
|
289
276
|
});
|
|
290
277
|
this.push({
|
|
291
278
|
type: 'add',
|
|
292
|
-
node:
|
|
293
|
-
row: change.row,
|
|
294
|
-
relationships: {},
|
|
295
|
-
},
|
|
279
|
+
node: change.node,
|
|
296
280
|
});
|
|
297
281
|
return;
|
|
298
282
|
}
|
|
299
|
-
const { takeState, takeStateKey, maxBound, constraint } = this.#getStateAndConstraint(change.
|
|
283
|
+
const { takeState, takeStateKey, maxBound, constraint } = this.#getStateAndConstraint(change.oldNode.row);
|
|
300
284
|
if (!takeState) {
|
|
301
285
|
return;
|
|
302
286
|
}
|
|
303
287
|
assert(takeState.bound, 'Bound should be set');
|
|
304
288
|
const { compareRows } = this.getSchema();
|
|
305
|
-
const oldCmp = compareRows(change.
|
|
306
|
-
const newCmp = compareRows(change.row, takeState.bound);
|
|
289
|
+
const oldCmp = compareRows(change.oldNode.row, takeState.bound);
|
|
290
|
+
const newCmp = compareRows(change.node.row, takeState.bound);
|
|
307
291
|
const replaceBoundAndForwardChange = () => {
|
|
308
|
-
this.#setTakeState(takeStateKey, takeState.size, change.row, maxBound);
|
|
292
|
+
this.#setTakeState(takeStateKey, takeState.size, change.node.row, maxBound);
|
|
309
293
|
this.#output.push(change);
|
|
310
294
|
};
|
|
311
295
|
// The bounds row was changed.
|
|
@@ -346,7 +330,7 @@ export class Take {
|
|
|
346
330
|
})));
|
|
347
331
|
// The next row is the new row. We can replace the bounds and keep the
|
|
348
332
|
// edit change.
|
|
349
|
-
if (compareRows(newBoundNode.row, change.row) === 0) {
|
|
333
|
+
if (compareRows(newBoundNode.row, change.node.row) === 0) {
|
|
350
334
|
replaceBoundAndForwardChange();
|
|
351
335
|
return;
|
|
352
336
|
}
|
|
@@ -355,10 +339,7 @@ export class Take {
|
|
|
355
339
|
this.#setTakeState(takeStateKey, takeState.size, newBoundNode.row, maxBound);
|
|
356
340
|
this.#output.push({
|
|
357
341
|
type: 'remove',
|
|
358
|
-
node:
|
|
359
|
-
row: change.oldRow,
|
|
360
|
-
relationships: {},
|
|
361
|
-
},
|
|
342
|
+
node: change.oldNode,
|
|
362
343
|
});
|
|
363
344
|
this.#output.push({
|
|
364
345
|
type: 'add',
|
|
@@ -386,13 +367,9 @@ export class Take {
|
|
|
386
367
|
type: 'remove',
|
|
387
368
|
node: oldBoundNode,
|
|
388
369
|
});
|
|
389
|
-
// We do not need the relationships because Take comes before Join
|
|
390
370
|
this.#output.push({
|
|
391
371
|
type: 'add',
|
|
392
|
-
node:
|
|
393
|
-
row: change.row,
|
|
394
|
-
relationships: {},
|
|
395
|
-
},
|
|
372
|
+
node: change.node,
|
|
396
373
|
});
|
|
397
374
|
return;
|
|
398
375
|
}
|
|
@@ -415,18 +392,14 @@ export class Take {
|
|
|
415
392
|
constraint,
|
|
416
393
|
})));
|
|
417
394
|
// The new row is the new bound. Use an edit change.
|
|
418
|
-
if (compareRows(afterBoundNode.row, change.row) === 0) {
|
|
395
|
+
if (compareRows(afterBoundNode.row, change.node.row) === 0) {
|
|
419
396
|
replaceBoundAndForwardChange();
|
|
420
397
|
return;
|
|
421
398
|
}
|
|
422
399
|
this.#setTakeState(takeStateKey, takeState.size, afterBoundNode.row, maxBound);
|
|
423
|
-
// We do not need the relationships because Take comes before Join
|
|
424
400
|
this.#output.push({
|
|
425
401
|
type: 'remove',
|
|
426
|
-
node:
|
|
427
|
-
row: change.oldRow,
|
|
428
|
-
relationships: {},
|
|
429
|
-
},
|
|
402
|
+
node: change.oldNode,
|
|
430
403
|
});
|
|
431
404
|
this.#output.push({
|
|
432
405
|
type: 'add',
|
|
@@ -451,7 +424,34 @@ export class Take {
|
|
|
451
424
|
this.#input.destroy();
|
|
452
425
|
}
|
|
453
426
|
}
|
|
454
|
-
function getTakeStateKey(
|
|
455
|
-
|
|
427
|
+
function getTakeStateKey(partitionKey, rowOrConstraint) {
|
|
428
|
+
// The order must be consistent. We always use the order as defined by the
|
|
429
|
+
// partition key.
|
|
430
|
+
const partitionValues = [];
|
|
431
|
+
if (partitionKey && rowOrConstraint) {
|
|
432
|
+
for (const key of partitionKey) {
|
|
433
|
+
partitionValues.push(rowOrConstraint[key]);
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
return JSON.stringify(['take', ...partitionValues]);
|
|
437
|
+
}
|
|
438
|
+
function constraintMatchesPartitionKey(constraint, partitionKey) {
|
|
439
|
+
for (const key of partitionKey) {
|
|
440
|
+
if (!hasOwn(constraint, key)) {
|
|
441
|
+
return false;
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
return true;
|
|
445
|
+
}
|
|
446
|
+
function makePartitionKeyComparator(partitionKey) {
|
|
447
|
+
return (a, b) => {
|
|
448
|
+
for (const key of partitionKey) {
|
|
449
|
+
const cmp = compareValues(a[key], b[key]);
|
|
450
|
+
if (cmp !== 0) {
|
|
451
|
+
return cmp;
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
return 0;
|
|
455
|
+
};
|
|
456
456
|
}
|
|
457
457
|
//# sourceMappingURL=take.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"take.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/take.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"take.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/take.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-apply-change.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/view-apply-change.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAC,KAAK,EAAa,MAAM,EAAC,MAAM,WAAW,CAAC;AAExD,wBAAgB,WAAW,CACzB,WAAW,EAAE,KAAK,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"view-apply-change.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/view-apply-change.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAC,KAAK,EAAa,MAAM,EAAC,MAAM,WAAW,CAAC;AAExD,wBAAgB,WAAW,CACzB,WAAW,EAAE,KAAK,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,QAmMf"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { assert, assertArray, assertObject, assertUndefined, unreachable, } from '../../../shared/src/asserts.js';
|
|
2
|
+
import { must } from '../../../shared/src/must.js';
|
|
3
|
+
export function applyChange(parentEntry, change, schema, relationship, format) {
|
|
4
|
+
if (schema.isHidden) {
|
|
5
|
+
switch (change.type) {
|
|
6
|
+
case 'add':
|
|
7
|
+
case 'remove':
|
|
8
|
+
for (const [relationship, children] of Object.entries(change.node.relationships)) {
|
|
9
|
+
const childSchema = must(schema.relationships[relationship]);
|
|
10
|
+
for (const node of children) {
|
|
11
|
+
applyChange(parentEntry, { type: change.type, node }, childSchema, relationship, format);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return;
|
|
15
|
+
case 'edit':
|
|
16
|
+
// If hidden at this level it means that the hidden row was changed. If
|
|
17
|
+
// the row was changed in such a way that it would change the
|
|
18
|
+
// relationships then the edit would have been split into remove and
|
|
19
|
+
// add.
|
|
20
|
+
return;
|
|
21
|
+
case 'child': {
|
|
22
|
+
const childSchema = must(schema.relationships[change.child.relationshipName]);
|
|
23
|
+
applyChange(parentEntry, change.child.change, childSchema, relationship, format);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
default:
|
|
27
|
+
unreachable(change);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const { singular, relationships: childFormats } = format;
|
|
31
|
+
switch (change.type) {
|
|
32
|
+
case 'add': {
|
|
33
|
+
// TODO: Only create a new entry if we need to mutate the existing one.
|
|
34
|
+
const newEntry = {
|
|
35
|
+
...change.node.row,
|
|
36
|
+
};
|
|
37
|
+
if (singular) {
|
|
38
|
+
assertUndefined(parentEntry[relationship], 'single output already exists');
|
|
39
|
+
parentEntry[relationship] = newEntry;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
const view = parentEntry[relationship];
|
|
43
|
+
assertArray(view);
|
|
44
|
+
const { pos, found } = binarySearch(view, newEntry, schema.compareRows);
|
|
45
|
+
assert(!found, 'node already exists');
|
|
46
|
+
view.splice(pos, 0, newEntry);
|
|
47
|
+
}
|
|
48
|
+
for (const [relationship, children] of Object.entries(change.node.relationships)) {
|
|
49
|
+
// TODO: Is there a flag to make TypeScript complain that dictionary access might be undefined?
|
|
50
|
+
const childSchema = must(schema.relationships[relationship]);
|
|
51
|
+
const childFormat = childFormats[relationship];
|
|
52
|
+
if (childFormat === undefined) {
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
const newView = childFormat.singular ? undefined : [];
|
|
56
|
+
newEntry[relationship] = newView;
|
|
57
|
+
for (const node of children) {
|
|
58
|
+
applyChange(newEntry, { type: 'add', node }, childSchema, relationship, childFormat);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
case 'remove': {
|
|
64
|
+
if (singular) {
|
|
65
|
+
assertObject(parentEntry[relationship]);
|
|
66
|
+
parentEntry[relationship] = undefined;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
assertArray(parentEntry[relationship]);
|
|
70
|
+
const view = parentEntry[relationship];
|
|
71
|
+
const { pos, found } = binarySearch(view, change.node.row, schema.compareRows);
|
|
72
|
+
assert(found, 'node does not exist');
|
|
73
|
+
view.splice(pos, 1);
|
|
74
|
+
}
|
|
75
|
+
// Needed to ensure cleanup of operator state is fully done.
|
|
76
|
+
drainStreams(change.node);
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
case 'child': {
|
|
80
|
+
let existing;
|
|
81
|
+
if (singular) {
|
|
82
|
+
assertObject(parentEntry[relationship]);
|
|
83
|
+
existing = parentEntry[relationship];
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
assertArray(parentEntry[relationship]);
|
|
87
|
+
const list = parentEntry[relationship];
|
|
88
|
+
const { pos, found } = binarySearch(list, change.row, schema.compareRows);
|
|
89
|
+
assert(found, 'node does not exist');
|
|
90
|
+
existing = list[pos];
|
|
91
|
+
}
|
|
92
|
+
const childSchema = must(schema.relationships[change.child.relationshipName]);
|
|
93
|
+
const childFormat = must(format.relationships[change.child.relationshipName]);
|
|
94
|
+
applyChange(existing, change.child.change, childSchema, change.child.relationshipName, childFormat);
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
case 'edit': {
|
|
98
|
+
if (singular) {
|
|
99
|
+
assertObject(parentEntry[relationship]);
|
|
100
|
+
parentEntry[relationship] = {
|
|
101
|
+
...parentEntry[relationship],
|
|
102
|
+
...change.node.row,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
assertArray(parentEntry[relationship]);
|
|
107
|
+
const view = parentEntry[relationship];
|
|
108
|
+
// If the order changed due to the edit, we need to remove and reinsert.
|
|
109
|
+
if (schema.compareRows(change.oldNode.row, change.node.row) === 0) {
|
|
110
|
+
const { pos, found } = binarySearch(view, change.oldNode.row, schema.compareRows);
|
|
111
|
+
assert(found, 'node does not exists');
|
|
112
|
+
view[pos] = makeEntryPreserveRelationships(change.node.row, view[pos], schema.relationships);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
// Remove
|
|
116
|
+
const { pos, found } = binarySearch(view, change.oldNode.row, schema.compareRows);
|
|
117
|
+
assert(found, 'node does not exists');
|
|
118
|
+
const oldEntry = view[pos];
|
|
119
|
+
view.splice(pos, 1);
|
|
120
|
+
// Insert
|
|
121
|
+
{
|
|
122
|
+
const { pos, found } = binarySearch(view, change.node.row, schema.compareRows);
|
|
123
|
+
assert(!found, 'node already exists');
|
|
124
|
+
view.splice(pos, 0, makeEntryPreserveRelationships(change.node.row, oldEntry, schema.relationships));
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
default:
|
|
131
|
+
unreachable(change);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
// TODO: Do not return an object. It puts unnecessary pressure on the GC.
|
|
135
|
+
function binarySearch(view, target, comparator) {
|
|
136
|
+
let low = 0;
|
|
137
|
+
let high = view.length - 1;
|
|
138
|
+
while (low <= high) {
|
|
139
|
+
const mid = (low + high) >>> 1;
|
|
140
|
+
const comparison = comparator(view[mid], target);
|
|
141
|
+
if (comparison < 0) {
|
|
142
|
+
low = mid + 1;
|
|
143
|
+
}
|
|
144
|
+
else if (comparison > 0) {
|
|
145
|
+
high = mid - 1;
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
return { pos: mid, found: true };
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return { pos: low, found: false };
|
|
152
|
+
}
|
|
153
|
+
function makeEntryPreserveRelationships(row, entry, relationships) {
|
|
154
|
+
const result = { ...row };
|
|
155
|
+
for (const relationship in relationships) {
|
|
156
|
+
assert(!(relationship in row), 'Relationship already exists');
|
|
157
|
+
result[relationship] = entry[relationship];
|
|
158
|
+
}
|
|
159
|
+
return result;
|
|
160
|
+
}
|
|
161
|
+
function drainStreams(node) {
|
|
162
|
+
for (const stream of Object.values(node.relationships)) {
|
|
163
|
+
for (const node of stream) {
|
|
164
|
+
drainStreams(node);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=view-apply-change.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-apply-change.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/view-apply-change.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/view.ts"],"names":[],"mappings":""}
|
|
@@ -2,16 +2,18 @@ import type { AST } from '../../../zero-protocol/src/ast.js';
|
|
|
2
2
|
import { type NormalizedTableSchema } from '../../../zero-schema/src/normalize-table-schema.js';
|
|
3
3
|
import type { TableSchema } from '../../../zero-schema/src/table-schema.js';
|
|
4
4
|
import type { Format } from '../ivm/view.js';
|
|
5
|
+
import { ExpressionBuilder } from './expression.js';
|
|
5
6
|
import { AbstractQuery } from './query-impl.js';
|
|
6
7
|
import type { DefaultQueryResultRow, Query, QueryType, Smash } from './query.js';
|
|
7
8
|
import type { TypedView } from './typed-view.js';
|
|
8
|
-
export declare function authQuery<TSchema extends TableSchema>(schema: TSchema):
|
|
9
|
+
export declare function authQuery<TSchema extends TableSchema>(schema: TSchema): Query<TSchema>;
|
|
9
10
|
/**
|
|
10
11
|
* This class will replace `config-query` once we have moved all
|
|
11
12
|
* authorization logic out of the config.
|
|
12
13
|
*/
|
|
13
14
|
export declare class AuthQuery<TTableSchema extends TableSchema, TReturn extends QueryType = DefaultQueryResultRow<TTableSchema>> extends AbstractQuery<TTableSchema, TReturn> {
|
|
14
15
|
constructor(schema: NormalizedTableSchema, ast?: AST, format?: Format | undefined);
|
|
16
|
+
expressionBuilder(): ExpressionBuilder<TableSchema>;
|
|
15
17
|
protected _newQuery<TSchema extends TableSchema, TReturn extends QueryType>(schema: NormalizedTableSchema, ast: AST, format: Format | undefined): Query<TSchema, TReturn>;
|
|
16
18
|
get ast(): AST;
|
|
17
19
|
materialize(): TypedView<Smash<TReturn>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-query.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/auth-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,oDAAoD,CAAC;AAC5D,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAC1E,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAC,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAC,MAAM,YAAY,CAAC;AAC/E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE/C,wBAAgB,SAAS,CAAC,OAAO,SAAS,WAAW,
|
|
1
|
+
{"version":3,"file":"auth-query.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/auth-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,oDAAoD,CAAC;AAC5D,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAC1E,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAC,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAC,MAAM,YAAY,CAAC;AAC/E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE/C,wBAAgB,SAAS,CAAC,OAAO,SAAS,WAAW,EACnD,MAAM,EAAE,OAAO,GACd,KAAK,CAAC,OAAO,CAAC,CAEhB;AAED;;;GAGG;AACH,qBAAa,SAAS,CACpB,YAAY,SAAS,WAAW,EAChC,OAAO,SAAS,SAAS,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAC/D,SAAQ,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC;gBAE1C,MAAM,EAAE,qBAAqB,EAC7B,GAAG,GAAE,GAA+B,EACpC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAK7B,iBAAiB;IAIjB,SAAS,CAAC,SAAS,CAAC,OAAO,SAAS,WAAW,EAAE,OAAO,SAAS,SAAS,EACxE,MAAM,EAAE,qBAAqB,EAC7B,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAI1B,IAAI,GAAG,QAEN;IAED,WAAW,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAIxC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC;IAIrB,OAAO,IAAI;QACT,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB;CAGF"}
|