@bjornpagen/bumbledb 0.1.0 → 0.2.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/COOKBOOK.md +1394 -0
- package/README.md +4 -0
- package/dist/closed.d.ts +60 -37
- package/dist/closed.d.ts.map +1 -1
- package/dist/closed.js +159 -40
- package/dist/closed.js.map +1 -1
- package/dist/count.d.ts +64 -17
- package/dist/count.d.ts.map +1 -1
- package/dist/count.js +37 -14
- package/dist/count.js.map +1 -1
- package/dist/db.d.ts +15 -7
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +13 -5
- package/dist/db.js.map +1 -1
- package/dist/exhume.d.ts +12 -11
- package/dist/exhume.d.ts.map +1 -1
- package/dist/exhume.js +7 -6
- package/dist/exhume.js.map +1 -1
- package/dist/face.d.ts +79 -19
- package/dist/face.d.ts.map +1 -1
- package/dist/face.js +14 -15
- package/dist/face.js.map +1 -1
- package/dist/fields.d.ts +158 -129
- package/dist/fields.d.ts.map +1 -1
- package/dist/fields.js +80 -81
- package/dist/fields.js.map +1 -1
- package/dist/index.d.ts +21 -21
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -12
- package/dist/index.js.map +1 -1
- package/dist/lower.d.ts +6 -3
- package/dist/lower.d.ts.map +1 -1
- package/dist/lower.js +48 -17
- package/dist/lower.js.map +1 -1
- package/dist/marshal.d.ts +36 -21
- package/dist/marshal.d.ts.map +1 -1
- package/dist/marshal.js +41 -25
- package/dist/marshal.js.map +1 -1
- package/dist/native.js +2 -2
- package/dist/query/atom.d.ts +332 -174
- package/dist/query/atom.d.ts.map +1 -1
- package/dist/query/atom.js +72 -172
- package/dist/query/atom.js.map +1 -1
- package/dist/query/lower.d.ts +295 -107
- package/dist/query/lower.d.ts.map +1 -1
- package/dist/query/lower.js +860 -388
- package/dist/query/lower.js.map +1 -1
- package/dist/query/predicate.d.ts +69 -88
- package/dist/query/predicate.d.ts.map +1 -1
- package/dist/query/predicate.js +118 -72
- package/dist/query/predicate.js.map +1 -1
- package/dist/query/run.d.ts +19 -16
- package/dist/query/run.d.ts.map +1 -1
- package/dist/query/run.js +31 -24
- package/dist/query/run.js.map +1 -1
- package/dist/query/scope.d.ts +139 -123
- package/dist/query/scope.d.ts.map +1 -1
- package/dist/query/scope.js +71 -115
- package/dist/query/scope.js.map +1 -1
- package/dist/query/select.d.ts +102 -80
- package/dist/query/select.d.ts.map +1 -1
- package/dist/query/select.js +39 -34
- package/dist/query/select.js.map +1 -1
- package/dist/relation.d.ts +33 -36
- package/dist/relation.d.ts.map +1 -1
- package/dist/relation.js +15 -16
- package/dist/relation.js.map +1 -1
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +19 -8
- package/dist/schema.js.map +1 -1
- package/dist/spec.d.ts +6 -5
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js.map +1 -1
- package/dist/statements.d.ts +56 -31
- package/dist/statements.d.ts.map +1 -1
- package/dist/statements.js +38 -13
- package/dist/statements.js.map +1 -1
- package/package.json +4 -3
- package/src/closed.ts +271 -93
- package/src/count.ts +112 -18
- package/src/db.ts +22 -12
- package/src/exhume.ts +12 -11
- package/src/face.ts +114 -22
- package/src/fields.ts +261 -217
- package/src/index.ts +50 -59
- package/src/lower.ts +62 -20
- package/src/marshal.ts +48 -30
- package/src/native.ts +2 -2
- package/src/query/atom.ts +480 -376
- package/src/query/lower.ts +1341 -542
- package/src/query/predicate.ts +198 -161
- package/src/query/run.ts +35 -25
- package/src/query/scope.ts +188 -218
- package/src/query/select.ts +168 -93
- package/src/relation.ts +38 -44
- package/src/schema.ts +22 -12
- package/src/spec.ts +6 -5
- package/src/statements.ts +69 -26
- package/dist/brand.d.ts +0 -59
- package/dist/brand.d.ts.map +0 -1
- package/dist/brand.js +0 -47
- package/dist/brand.js.map +0 -1
- package/src/brand.ts +0 -82
package/dist/query/atom.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../../src/query/atom.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../../src/query/atom.ts"],"names":[],"mappings":"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"}
|
package/dist/query/atom.js
CHANGED
|
@@ -1,153 +1,64 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* mirroring the engine IR variant for variant
|
|
2
|
+
* Atoms and conditions, STRUCTURAL edition — the body vocabulary of a
|
|
3
|
+
* rule, mirroring the engine IR variant for variant
|
|
4
4
|
* (`bumbledb/crates/bumbledb/src/ir.rs`, the bijection target;
|
|
5
|
-
* `docs/architecture/20-query-ir.md` normative)
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* and `
|
|
12
|
-
*
|
|
5
|
+
* `docs/architecture/20-query-ir.md` normative). A `match` binding record
|
|
6
|
+
* binds fields to vars, params, ∈-set params, or bare structural literals
|
|
7
|
+
* (unmentioned fields ARE the wildcard — no wildcard value exists);
|
|
8
|
+
* `not(Rel, {...})` is negation-as-position (anti-join); `eq`/`ne` and the
|
|
9
|
+
* order roster, `pointIn`/`covers` (both spellings of `ir::CmpOp::PointIn`,
|
|
10
|
+
* always lowered interval-left), `allen` (the 13-bit mask pair
|
|
11
|
+
* comparison), and `and`/`or` (the input condition-tree grammar) complete
|
|
12
|
+
* the roster. Nothing beyond the IR exists here — and the walls the engine
|
|
13
|
+
* enforces at prepare are TYPES first: a var joins only domain-equal
|
|
14
|
+
* fields (`JoinOk`, checked against the rule environment AND against the
|
|
15
|
+
* binding record's own same-named siblings — two first occurrences of one
|
|
16
|
+
* name inside one record are a join too), an
|
|
17
|
+
* interval-typed var under a non-`pointIn` comparison is unwritable, and a
|
|
18
|
+
* negated atom's variables must be positively bound (env membership IS the
|
|
19
|
+
* safety rule). Every condition value carries its operands raw — the
|
|
20
|
+
* runtime representation is the type-inference carrier, no phantoms.
|
|
21
|
+
*
|
|
22
|
+
* This module also owns the plain runtime DATA a built rule is made of
|
|
23
|
+
* (`RuleData`/`RecData` and friends): frozen values the lowering walks —
|
|
24
|
+
* pure data, so lowering stays a pure, stable function of the query value.
|
|
13
25
|
*/
|
|
14
26
|
import * as errors from "@superbuilders/errors";
|
|
15
|
-
import {
|
|
16
|
-
import { isTerm, term } from "#query/scope.ts";
|
|
17
|
-
/** Narrows an `oneOf` literal set (the detection rule `where()` uses). */
|
|
18
|
-
function isOneOf(value) {
|
|
19
|
-
return typeof value === "object" && value !== null && "literals" in value && Array.isArray(value.literals);
|
|
20
|
-
}
|
|
21
|
-
/** Resolves one binding value to its runtime term. */
|
|
22
|
-
function bindingTermOf(context, value) {
|
|
23
|
-
if (isTerm(value)) {
|
|
24
|
-
if (value[term] === "maskParam") {
|
|
25
|
-
throw errors.new(`${context}: an Allen-mask param is not a field-typed value — masks live in allen() conditions only`);
|
|
26
|
-
}
|
|
27
|
-
return Object.freeze({ kind: "term", value });
|
|
28
|
-
}
|
|
29
|
-
if (isOneOf(value)) {
|
|
30
|
-
return Object.freeze({ kind: "oneOf", values: Object.freeze([...value.literals]) });
|
|
31
|
-
}
|
|
32
|
-
return Object.freeze({ kind: "literal", value });
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Resolves a bindings record against an ordered field roster (shared by
|
|
36
|
-
* relation atoms here and predicate atoms in `#query/predicate.ts`), in
|
|
37
|
-
* the record's written order.
|
|
38
|
-
*/
|
|
39
|
-
function resolveBindings(context, fields, bindings) {
|
|
40
|
-
const entries = [];
|
|
41
|
-
for (const [fieldName, value] of Object.entries(bindings)) {
|
|
42
|
-
if (value === undefined) {
|
|
43
|
-
continue;
|
|
44
|
-
}
|
|
45
|
-
const declared = fields.find(function byName(candidate) {
|
|
46
|
-
return candidate.name === fieldName;
|
|
47
|
-
});
|
|
48
|
-
if (declared === undefined) {
|
|
49
|
-
throw errors.new(`${context} has no field ${fieldName}`);
|
|
50
|
-
}
|
|
51
|
-
entries.push(Object.freeze({
|
|
52
|
-
field: fieldName,
|
|
53
|
-
data: declared.field,
|
|
54
|
-
term: bindingTermOf(`${context}.${fieldName}`, value)
|
|
55
|
-
}));
|
|
56
|
-
}
|
|
57
|
-
return Object.freeze(entries);
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* The named-field atom — the semantic twin of `query!`'s `Node(id: c)`:
|
|
61
|
-
* fields bind vars, params, branded literals, `oneOf` sets, or (interval
|
|
62
|
-
* fields) point terms; unmentioned fields are wildcards; a zero-binding
|
|
63
|
-
* atom is a nonemptiness gate on the relation (IR-legal, so writable).
|
|
64
|
-
*/
|
|
65
|
-
function match(relation, bindings) {
|
|
66
|
-
return Object.freeze({
|
|
67
|
-
item: "atom",
|
|
68
|
-
negated: false,
|
|
69
|
-
source: Object.freeze({ kind: "relation", relation }),
|
|
70
|
-
bindings: resolveBindings(`relation ${relation.name}`, relation.data.fields, Object.fromEntries(Object.entries(bindings)))
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Negation — anti-join over sets, no null trick: a binding satisfies the
|
|
75
|
-
* negated atom iff NO fact matches it. Safety (every negated var bound
|
|
76
|
-
* positively) is validated at `query()` construction with an error naming
|
|
77
|
-
* the variable; the negated atom binds nothing, only rejects. An `oneOf`
|
|
78
|
-
* binding is refused HERE, at construction: it lowers to a synthetic
|
|
79
|
-
* variable bound only inside the atom plus a rule-level OR — which is
|
|
80
|
-
* exactly the shape the safety rule rejects, and semantically wrong for
|
|
81
|
-
* negation anyway (¬∃(f = a ∨ f = b) is a CONJUNCTION of negated atoms,
|
|
82
|
-
* ¬∃(f = a) ∧ ¬∃(f = b), never one negated atom's OR).
|
|
83
|
-
*/
|
|
84
|
-
function not(atom) {
|
|
85
|
-
if (atom.item !== "atom" || atom.negated) {
|
|
86
|
-
throw errors.new("negation is a position in the rule, not an operator — not() takes one positive atom");
|
|
87
|
-
}
|
|
88
|
-
for (const binding of atom.bindings) {
|
|
89
|
-
if (binding.term.kind === "oneOf") {
|
|
90
|
-
const source = atom.source.kind === "relation" ? atom.source.relation.name : `predicate ${atom.source.pred.name}`;
|
|
91
|
-
throw errors.new(`negated ${source} atom binds ${binding.field} with oneOf(...) — ¬∃(${binding.field} = a ∨ ${binding.field} = b) means ¬∃(${binding.field} = a) ∧ ¬∃(${binding.field} = b): write one not(match(...)) per literal, or bind a paramSet`);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return Object.freeze({
|
|
95
|
-
item: "atom",
|
|
96
|
-
negated: true,
|
|
97
|
-
source: atom.source,
|
|
98
|
-
bindings: atom.bindings
|
|
99
|
-
});
|
|
100
|
-
}
|
|
27
|
+
import { isTerm } from "#query/scope.ts";
|
|
101
28
|
/** Builds one comparison value. */
|
|
102
|
-
function comparison(op, lhs, rhs) {
|
|
103
|
-
return Object.freeze({
|
|
104
|
-
}
|
|
105
|
-
/** Narrows a `duration()` value. */
|
|
106
|
-
function isDuration(value) {
|
|
107
|
-
return typeof value === "object" && value !== null && "measure" in value && !isTerm(value);
|
|
108
|
-
}
|
|
109
|
-
/** Resolves one comparison side to its runtime term. */
|
|
110
|
-
function cmpTermOf(value) {
|
|
111
|
-
if (isTerm(value)) {
|
|
112
|
-
return Object.freeze({ kind: "term", value });
|
|
113
|
-
}
|
|
114
|
-
if (isDuration(value)) {
|
|
115
|
-
return Object.freeze({ kind: "measure", over: value.measure });
|
|
116
|
-
}
|
|
117
|
-
return Object.freeze({ kind: "literal", value });
|
|
29
|
+
function comparison(op, lhs, rhs, mask) {
|
|
30
|
+
return Object.freeze({ cond: "cmp", op, lhs, rhs, mask });
|
|
118
31
|
}
|
|
119
32
|
/**
|
|
120
33
|
* Rejects a comparison with no term side: it is constant-valued, the
|
|
121
|
-
* engine's own validation refuses it, and the lowering has no
|
|
34
|
+
* engine's own validation refuses it, and the lowering has no anchored
|
|
122
35
|
* position to type the literals by — fail here with the same verdict.
|
|
123
36
|
*/
|
|
124
37
|
function assertTermSide(op, lhs, rhs) {
|
|
125
|
-
if (lhs
|
|
38
|
+
if (!isTerm(lhs) && !isTerm(rhs)) {
|
|
126
39
|
throw errors.new(`${op}: a comparison without a variable or parameter side is constant-valued — write the query you mean`);
|
|
127
40
|
}
|
|
128
41
|
}
|
|
129
42
|
/**
|
|
130
|
-
* The equality
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
*
|
|
43
|
+
* The equality comparison (`ir::CmpOp::Eq`) — a bound variable against a
|
|
44
|
+
* variable (var-to-var unification, domain-equal by the environment
|
|
45
|
+
* check), a param (typed by the variable), an ∈-set param (`Eq`-only, the
|
|
46
|
+
* IR's set rule), or a bare literal of the variable's own value type.
|
|
47
|
+
* Prefer direct placement in `match` where punning applies.
|
|
135
48
|
*/
|
|
136
|
-
function
|
|
137
|
-
return comparison(
|
|
49
|
+
function eq(left, right) {
|
|
50
|
+
return comparison("eq", left, right, undefined);
|
|
138
51
|
}
|
|
139
52
|
/** Typed disequality (`ir::CmpOp::Ne`). "Not in set" has no operator — write a negated atom. */
|
|
140
53
|
function ne(left, right) {
|
|
141
|
-
return comparison(
|
|
54
|
+
return comparison("ne", left, right, undefined);
|
|
142
55
|
}
|
|
143
56
|
/** The shared order-comparison constructor. */
|
|
144
57
|
function order(op, left, right) {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
assertTermSide(op, lhs, rhs);
|
|
148
|
-
return comparison(Object.freeze({ kind: op }), lhs, rhs);
|
|
58
|
+
assertTermSide(op, left, right);
|
|
59
|
+
return comparison(op, left, right, undefined);
|
|
149
60
|
}
|
|
150
|
-
/** Strict less-than (`ir::CmpOp::Lt`). */
|
|
61
|
+
/** Strict less-than (`ir::CmpOp::Lt`) — orderable sides only, never intervals/bytes/strings/bools. */
|
|
151
62
|
function lt(left, right) {
|
|
152
63
|
return order("lt", left, right);
|
|
153
64
|
}
|
|
@@ -164,17 +75,26 @@ function ge(left, right) {
|
|
|
164
75
|
return order("ge", left, right);
|
|
165
76
|
}
|
|
166
77
|
/**
|
|
167
|
-
* Point membership as a predicate (`ir::CmpOp::PointIn`)
|
|
168
|
-
* holds iff `
|
|
169
|
-
*
|
|
170
|
-
*
|
|
171
|
-
|
|
78
|
+
* Point membership as a predicate (`ir::CmpOp::PointIn`), membership
|
|
79
|
+
* spelling: `pointIn(t, w)` holds iff `w.start ≤ t < w.end`. The IR
|
|
80
|
+
* orders the operands interval-left, point-right; the value stores them
|
|
81
|
+
* that way whatever the surface spelling.
|
|
82
|
+
*/
|
|
83
|
+
function pointIn(point, interval) {
|
|
84
|
+
assertTermSide("pointIn", point, interval);
|
|
85
|
+
return comparison("pointIn", interval, point, undefined);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Point membership, coverage spelling — `covers(w, t)` is `pointIn(t, w)`
|
|
89
|
+
* with the interval written first (the IR's own operand order; a literal
|
|
90
|
+
* `span(...)` left operand is legal and tags by the point sibling's
|
|
91
|
+
* element domain — the bug-hunt fix, now also a type-level guarantee).
|
|
92
|
+
* Interval ⊇ interval is NOT this operator; that predicate is
|
|
93
|
+
* `allen(a, ALLEN.covers, b)`.
|
|
172
94
|
*/
|
|
173
95
|
function covers(interval, point) {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
assertTermSide("covers", lhs, rhs);
|
|
177
|
-
return comparison(Object.freeze({ kind: "pointIn" }), lhs, rhs);
|
|
96
|
+
assertTermSide("covers", interval, point);
|
|
97
|
+
return comparison("pointIn", interval, point, undefined);
|
|
178
98
|
}
|
|
179
99
|
/**
|
|
180
100
|
* The 13-bit mask range: bits above the low 13 are unrepresentable in the
|
|
@@ -217,28 +137,16 @@ const ALLEN = Object.freeze({
|
|
|
217
137
|
* THE interval-pair comparison (`ir::CmpOp::Allen`): two interval terms of
|
|
218
138
|
* one element type, satisfied iff the pair's classification is in the
|
|
219
139
|
* 13-bit mask — a literal built from the `ALLEN` constants, or a mask
|
|
220
|
-
* parameter (
|
|
140
|
+
* parameter (`r.maskParam`). Vacuous masks (empty/full) are the engine's
|
|
221
141
|
* two distinct typed rejections; nothing is pre-judged here beyond the
|
|
222
142
|
* representable bit range.
|
|
223
143
|
*/
|
|
224
144
|
function allen(left, mask, right) {
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
const maskValue = mask;
|
|
229
|
-
if (typeof maskValue === "number") {
|
|
230
|
-
if (!Number.isInteger(maskValue) || maskValue < 0 || maskValue > ALLEN_ALL_BITS) {
|
|
231
|
-
throw errors.new(`allen mask ${maskValue} is not a 13-bit mask — build masks from the ALLEN constants (bumbledb allen.rs: bits above the low 13 are unrepresentable)`);
|
|
232
|
-
}
|
|
233
|
-
return comparison(Object.freeze({
|
|
234
|
-
kind: "allen",
|
|
235
|
-
mask: Object.freeze({ kind: "literal", mask: maskValue })
|
|
236
|
-
}), lhs, rhs);
|
|
145
|
+
assertTermSide("allen", left, right);
|
|
146
|
+
if (typeof mask === "number" && (!Number.isInteger(mask) || mask < 0 || mask > ALLEN_ALL_BITS)) {
|
|
147
|
+
throw errors.new(`allen mask ${mask} is not a 13-bit mask — build masks from the ALLEN constants (bumbledb allen.rs: bits above the low 13 are unrepresentable)`);
|
|
237
148
|
}
|
|
238
|
-
return comparison(
|
|
239
|
-
kind: "allen",
|
|
240
|
-
mask: Object.freeze({ kind: "param", param: maskValue })
|
|
241
|
-
}), lhs, rhs);
|
|
149
|
+
return comparison("allen", left, right, mask);
|
|
242
150
|
}
|
|
243
151
|
/**
|
|
244
152
|
* Conjunction node of the input condition grammar (`ConditionTree::And`).
|
|
@@ -247,11 +155,7 @@ function allen(left, mask, right) {
|
|
|
247
155
|
* reading (`And([])` is true).
|
|
248
156
|
*/
|
|
249
157
|
function and(...children) {
|
|
250
|
-
return Object.freeze({
|
|
251
|
-
item: "tree",
|
|
252
|
-
op: "and",
|
|
253
|
-
children: Object.freeze([...children])
|
|
254
|
-
});
|
|
158
|
+
return Object.freeze({ cond: "tree", op: "and", children: Object.freeze(children) });
|
|
255
159
|
}
|
|
256
160
|
/**
|
|
257
161
|
* Disjunction node of the input condition grammar (`ConditionTree::Or`) —
|
|
@@ -260,22 +164,18 @@ function and(...children) {
|
|
|
260
164
|
* its algebraic reading (false: the rule denotes nothing).
|
|
261
165
|
*/
|
|
262
166
|
function or(...children) {
|
|
263
|
-
return Object.freeze({
|
|
264
|
-
item: "tree",
|
|
265
|
-
op: "or",
|
|
266
|
-
children: Object.freeze([...children])
|
|
267
|
-
});
|
|
167
|
+
return Object.freeze({ cond: "tree", op: "or", children: Object.freeze(children) });
|
|
268
168
|
}
|
|
269
169
|
/**
|
|
270
|
-
*
|
|
271
|
-
*
|
|
272
|
-
*
|
|
170
|
+
* Negation — anti-join over sets: `not(Rel, { field: r.var("x"), ... })`
|
|
171
|
+
* rejects every binding some matching fact extends. A negated atom binds
|
|
172
|
+
* nothing, only rejects: every variable it names must be positively bound
|
|
173
|
+
* in the rule, which `.where`'s environment check makes a COMPILE error
|
|
174
|
+
* (the engine's safety refusal stands behind it).
|
|
273
175
|
*/
|
|
274
|
-
function
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
}
|
|
278
|
-
return Object.freeze({ measure: over });
|
|
176
|
+
function not(relation, bindings) {
|
|
177
|
+
const value = { cond: "not", relation, bindings };
|
|
178
|
+
return Object.freeze(value);
|
|
279
179
|
}
|
|
280
|
-
export { ALLEN, allen, and, covers,
|
|
180
|
+
export { ALLEN, allen, and, comparison, covers, eq, ge, gt, le, lt, ne, not, or, pointIn };
|
|
281
181
|
//# sourceMappingURL=atom.js.map
|
package/dist/query/atom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atom.js","sourceRoot":"","sources":["../../src/query/atom.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"atom.js","sourceRoot":"","sources":["../../src/query/atom.ts"],"names":[],"mappings":"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"}
|