@plumile/filter-query 0.1.19 → 0.1.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -33,8 +33,8 @@ npm install @plumile/filter-query
33
33
 
34
34
  | Category | Operators | Syntax | Notes |
35
35
  | ------------------ | ------------------------------------- | -------------------------- | --------------------------------------------------------------------------------- |
36
- | Numeric comparison | `gt`, `gte`, `lt`, `lte`, `eq`, `neq` | `price.gt=10` | Last write wins per operator. |
37
- | Textual comparison | `eq`, `neq` | `title.eq=foo` | Works for strings too. |
36
+ | Numeric comparison | `gt`, `gte`, `lt`, `lte`, `eq`, `neq` | `price.gt=10` | Last write wins per operator. `price=5` is implicit `eq`. |
37
+ | Textual comparison | `eq`, `neq` | `title.eq=foo` | Works for strings too; `title=foo` is implicit `eq`. |
38
38
  | Text search | `contains`, `sw`, `ew` | `title.contains=foo%20bar` | Raw values URL-decoded. |
39
39
  | Range | `between` | `price.between=10,100` | Only first valid occurrence kept; duplicates yield `DuplicateBetween` diagnostic. |
40
40
  | Inclusion lists | `in` | `id.in=1,2,3` | Multi-occurrences merge: `id.in=1,2&id.in=3` → `[1,2,3]`. |
@@ -161,12 +161,14 @@ mergeFilters(base, patch); // shallow merge per field
161
161
  3. Operators with no value / empty arrays are skipped.
162
162
  4. List operators keep insertion order across multi-occurrences.
163
163
  5. Output omits leading `?` (caller decides how to prefix).
164
+ 6. Implicit equality: when an `eq` value exists it is serialized as `field=value` (no `.eq`).
164
165
 
165
166
  ## Edge Cases & Examples
166
167
 
167
168
  | Input | Result | Diagnostics |
168
169
  | ------------------------------------- | -------------------------- | ------------------------------------------- |
169
170
  | `price.gt=abc` | `filters.price?.gt` absent | `InvalidValue` |
171
+ | `price=10` | `filters.price?.eq === 10` | none |
170
172
  | `price.between=1,2,3` | none stored | `InvalidArity` |
171
173
  | `price.between=1,5&price.between=2,6` | `[1,5]` | `DuplicateBetween` |
172
174
  | `price.in=` | ignored | none (empty split produces no valid values) |
@@ -191,6 +193,12 @@ const minimal = defineSchema({ price: numberField(['gt', 'lt']) });
191
193
  **Q: Why not support arbitrary operator names?**
192
194
  To keep type inference precise and predictable. Add new core operators via a PR if they are broadly useful.
193
195
 
196
+ **Q: How does implicit equality work?**
197
+ Supplying `field=value` without an explicit operator is parsed as `field.eq=value` internally. Serialization emits the implicit short form again for stability.
198
+
199
+ **Q: How does this integrate with @plumile/router?**
200
+ The router consumes the same schema (as `querySchema`) and builds a unified filters object accessible via its hooks. Equality remains implicit in the URL (`page=2` ⇔ `page.eq=2` internally).
201
+
194
202
  **Q: How do I clear everything?**
195
203
  Just use an empty object `{}` or parse an empty string and replace your state reference.
196
204
 
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMN,WAAW,EACZ,MAAM,YAAY,CAAC;AAmKpB,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,CAAC,GACR,WAAW,CAAC,CAAC,CAAC,CA8ChB"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMN,WAAW,EACZ,MAAM,YAAY,CAAC;AAmKpB,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,CAAC,GACR,WAAW,CAAC,CAAC,CAAC,CA8DhB"}
package/lib/esm/parse.js CHANGED
@@ -127,14 +127,14 @@ export function parse(rawSearch, schema) {
127
127
  const rawKey = seg.slice(0, eqIdx);
128
128
  const rawVal = seg.slice(eqIdx + 1);
129
129
  const lastDot = rawKey.lastIndexOf('.');
130
- const keyShapeOk = !(lastDot <= 0 || lastDot === rawKey.length - 1);
131
- if (keyShapeOk) {
130
+ const explicitShape = !(lastDot <= 0 || lastDot === rawKey.length - 1);
131
+ if (explicitShape) {
132
132
  const field = rawKey.slice(0, lastDot);
133
133
  const operator = rawKey.slice(lastDot + 1);
134
134
  const descriptor = schema[field];
135
135
  const descOk = descriptor?.operators.includes(operator) === true;
136
136
  if (!descOk) {
137
- if (descriptor === undefined) {
137
+ if (descriptor == null) {
138
138
  acc.diagnostics.push({ kind: 'UnknownField', field });
139
139
  }
140
140
  else {
@@ -157,8 +157,25 @@ export function parse(rawSearch, schema) {
157
157
  }
158
158
  }
159
159
  }
160
+ else if (lastDot === -1) {
161
+ const field = rawKey;
162
+ const operator = 'eq';
163
+ const descriptor = schema[field];
164
+ if (descriptor == null) {
165
+ acc.diagnostics.push({ kind: 'UnknownField', field });
166
+ }
167
+ else if (!descriptor.operators.includes(operator)) {
168
+ acc.diagnostics.push({ kind: 'UnknownOperator', field, operator });
169
+ }
170
+ else {
171
+ const decoded = decodeValue(rawVal, field, operator, acc.diagnostics);
172
+ if (decoded !== undefined) {
173
+ handleScalar(descriptor, decoded, field, operator, acc);
174
+ }
175
+ }
176
+ }
160
177
  }
161
178
  }
162
179
  return acc;
163
180
  }
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsTUFBTSxPQUFPLEdBQW9CLFNBQVMsQ0FBQztBQUMzQyxNQUFNLFFBQVEsR0FBNEIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFReEQsU0FBUyxpQkFBaUIsQ0FDeEIsT0FBd0IsRUFDeEIsS0FBYTtJQUViLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFnQixDQUU1QixDQUFDO0lBQ2QsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDM0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFDRCxNQUFNLEtBQUssR0FBb0IsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQzlDLE1BQU0sT0FBTyxHQUE0QixFQUFFLENBQUM7SUFDM0MsS0FBaUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUM7SUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQy9DLENBQUM7QUFHRCxTQUFTLFdBQVcsQ0FDbEIsS0FBYSxFQUNiLEtBQWEsRUFDYixRQUFnQixFQUNoQixXQUF5QjtJQUV6QixJQUFJLENBQUM7UUFDSCxPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSSxFQUFFLGFBQWE7WUFDbkIsS0FBSztZQUNMLFFBQVE7WUFDUixNQUFNLEVBQUUsa0JBQWtCO1NBQzNCLENBQUMsQ0FBQztRQUNILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7QUFDSCxDQUFDO0FBR0QsU0FBUyxnQkFBZ0IsQ0FDdkIsVUFBMkIsRUFDM0IsR0FBVztJQUVY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TyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7d0JBQzNELENBQUM7NkJBQU0sSUFBSSxNQUFNLEVBQUUsQ0FBQzs0QkFDbEIsVUFBVSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQzt3QkFDeEQsQ0FBQzs2QkFBTSxDQUFDOzRCQUNOLFlBQVksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7d0JBQzFELENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBTY2hlbWEsXG4gIE9wZXJhdG9yLFxuICBMaXN0T3BlcmF0b3IsXG4gIEJldHdlZW5PcGVyYXRvcixcbiAgSW5mZXJGaWx0ZXJzLFxuICBGaWVsZERlc2NyaXB0b3IsXG4gIFBhcnNlUmVzdWx0LFxufSBmcm9tICcuL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgRGlhZ25vc3RpYyB9IGZyb20gJy4vZXJyb3JzLmpzJztcblxuY29uc3QgQkVUV0VFTjogQmV0d2Vlbk9wZXJhdG9yID0gJ2JldHdlZW4nO1xuY29uc3QgTElTVF9PUFM6IHJlYWRvbmx5IExpc3RPcGVyYXRvcltdID0gWydpbicsICduaW4nXTtcblxuaW50ZXJmYWNlIEludGVybmFsQWNjdW11bGF0b3I8UyBleHRlbmRzIFNjaGVtYT4ge1xuICBmaWx0ZXJzOiBJbmZlckZpbHRlcnM8Uz47XG4gIGRpYWdub3N0aWNzOiBEaWFnbm9zdGljW107XG59XG5cbi8qKiBTaGFsbG93IGNsb25lIHBsdXMgZW5zdXJlIGZpZWxkIG9iamVjdCBoZWxwZXIgKGltbXV0YWJsZSB1cGRhdGUpLiAqL1xuZnVuY3Rpb24gZW5zdXJlRmllbGRPYmplY3Q8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGZpbHRlcnM6IEluZmVyRmlsdGVyczxTPixcbiAgZmllbGQ6IHN0cmluZyxcbik6IHsgY29udGFpbmVyOiBJbmZlckZpbHRlcnM8Uz47IHRhcmdldDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfSB7XG4gIGNvbnN0IGV4aXN0aW5nID0gZmlsdGVyc1tmaWVsZCBhcyBrZXlvZiBTXSBhc1xuICAgIHwgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICB8IHVuZGVmaW5lZDtcbiAgaWYgKGV4aXN0aW5nICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4geyBjb250YWluZXI6IGZpbHRlcnMsIHRhcmdldDogZXhpc3RpbmcgfTtcbiAgfVxuICBjb25zdCBjbG9uZTogSW5mZXJGaWx0ZXJzPFM+ID0geyAuLi5maWx0ZXJzIH07XG4gIGNvbnN0IGNyZWF0ZWQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gIChjbG9uZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbZmllbGRdID0gY3JlYXRlZDtcbiAgcmV0dXJuIHsgY29udGFpbmVyOiBjbG9uZSwgdGFyZ2V0OiBjcmVhdGVkIH07XG59XG5cbi8qKiBEZWNvZGUgY29tcG9uZW50LCByZWNvcmRpbmcgYSBkaWFnbm9zdGljIG9uIGZhaWx1cmUuICovXG5mdW5jdGlvbiBkZWNvZGVWYWx1ZShcbiAgdmFsdWU6IHN0cmluZyxcbiAgZmllbGQ6IHN0cmluZyxcbiAgb3BlcmF0b3I6IHN0cmluZyxcbiAgZGlhZ25vc3RpY3M6IERpYWdub3N0aWNbXSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh2YWx1ZSk7XG4gIH0gY2F0Y2gge1xuICAgIGRpYWdub3N0aWNzLnB1c2goe1xuICAgICAga2luZDogJ0RlY29kZUVycm9yJyxcbiAgICAgIGZpZWxkLFxuICAgICAgb3BlcmF0b3IsXG4gICAgICBkZXRhaWw6ICdGYWlsZWQgdG8gZGVjb2RlJyxcbiAgICB9KTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKiBQYXJzZSBhIHNpbmdsZSByYXcgdmFsdWUgYWNjb3JkaW5nIHRvIGZpZWxkIGtpbmQuICovXG5mdW5jdGlvbiBwYXJzZVNpbmdsZVZhbHVlKFxuICBkZXNjcmlwdG9yOiBGaWVsZERlc2NyaXB0b3IsXG4gIHJhdzogc3RyaW5nLFxuKTogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgaWYgKGRlc2NyaXB0b3Iua2luZCA9PT0gJ251bWJlcicpIHtcbiAgICBpZiAocmF3ID09PSAnJykge1xuICAgICAgLy8gVHJlYXQgZW1wdHkgc3RyaW5nIGFzIGludmFsaWQgZm9yIG51bWVyaWMgZmllbGRzIChyZWplY3QgaW5zdGVhZCBvZiBjb2VyY2luZyB0byAwKVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgbiA9IE51bWJlcihyYXcpO1xuICAgIGlmICghTnVtYmVyLmlzRmluaXRlKG4pKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gbjtcbiAgfVxuICByZXR1cm4gcmF3O1xufVxuXG4vKiogSGFuZGxlIGEgYmV0d2VlbiBvcGVyYXRvciB2YWx1ZS4gKi9cbmZ1bmN0aW9uIGhhbmRsZUJldHdlZW48UyBleHRlbmRzIFNjaGVtYT4oXG4gIGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvcixcbiAgZGVjb2RlZDogc3RyaW5nLFxuICBmaWVsZDogc3RyaW5nLFxuICBvcGVyYXRvcjogc3RyaW5nLFxuICBhY2M6IEludGVybmFsQWNjdW11bGF0b3I8Uz4sXG4pOiB2b2lkIHtcbiAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gZGVjb2RlZC5zcGxpdCgnLCcpO1xuICBpZiAocGFydHMubGVuZ3RoICE9PSAyKSB7XG4gICAgYWNjLmRpYWdub3N0aWNzLnB1c2goe1xuICAgICAga2luZDogJ0ludmFsaWRBcml0eScsXG4gICAgICBmaWVsZCxcbiAgICAgIG9wZXJhdG9yLFxuICAgICAgZGV0YWlsOiAnRXhwZWN0ZWQgZXhhY3RseSAyIHZhbHVlcycsXG4gICAgfSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IFthUmF3LCBiUmF3XSA9IHBhcnRzIGFzIFtzdHJpbmcsIHN0cmluZ107XG4gIGNvbnN0IGEgPSBwYXJzZVNpbmdsZVZhbHVlKGRlc2NyaXB0b3IsIGFSYXcpO1xuICBjb25zdCBiID0gcGFyc2VTaW5nbGVWYWx1ZShkZXNjcmlwdG9yLCBiUmF3KTtcbiAgaWYgKGEgPT09IHVuZGVmaW5lZCB8fCBiID09PSB1bmRlZmluZWQpIHtcbiAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7XG4gICAgICBraW5kOiAnSW52YWxpZFZhbHVlJyxcbiAgICAgIGZpZWxkLFxuICAgICAgb3BlcmF0b3IsXG4gICAgICBkZXRhaWw6ICdPbmUgb2YgdGhlIGJldHdlZW4gdmFsdWVzIGludmFsaWQnLFxuICAgIH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBlbnN1cmVkID0gZW5zdXJlRmllbGRPYmplY3QoYWNjLmZpbHRlcnMsIGZpZWxkKTtcbiAgYWNjLmZpbHRlcnMgPSBlbnN1cmVkLmNvbnRhaW5lcjtcbiAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlbnN1cmVkLnRhcmdldCwgJ2JldHdlZW4nKSkge1xuICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHsga2luZDogJ0R1cGxpY2F0ZUJldHdlZW4nLCBmaWVsZCB9KTtcbiAgICByZXR1cm47XG4gIH1cbiAgZW5zdXJlZC50YXJnZXQuYmV0d2VlbiA9IFthLCBiXSBhcyB1bmtub3duO1xufVxuXG4vKiogSGFuZGxlIGxpc3Qgb3BlcmF0b3JzIChpbiwgbmluKS4gKi9cbmZ1bmN0aW9uIGhhbmRsZUxpc3Q8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvcixcbiAgZGVjb2RlZDogc3RyaW5nLFxuICBmaWVsZDogc3RyaW5nLFxuICBvcGVyYXRvcjogc3RyaW5nLFxuICBhY2M6IEludGVybmFsQWNjdW11bGF0b3I8Uz4sXG4pOiB2b2lkIHtcbiAgY29uc3QgbGlzdFJhdyA9IGRlY29kZWQuc3BsaXQoJywnKTtcbiAgY29uc3QgcGFyc2VkTGlzdDogKHN0cmluZyB8IG51bWJlcilbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGl0ZW0gb2YgbGlzdFJhdykge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlU2luZ2xlVmFsdWUoZGVzY3JpcHRvciwgaXRlbSk7XG4gICAgaWYgKHBhcnNlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7XG4gICAgICAgIGtpbmQ6ICdJbnZhbGlkVmFsdWUnLFxuICAgICAgICBmaWVsZCxcbiAgICAgICAgb3BlcmF0b3IsXG4gICAgICAgIGRldGFpbDogJ0xpc3QgaXRlbSBpbnZhbGlkJyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJzZWRMaXN0LnB1c2gocGFyc2VkKTtcbiAgICB9XG4gIH1cbiAgaWYgKHBhcnNlZExpc3QubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGVuc3VyZWQgPSBlbnN1cmVGaWVsZE9iamVjdChhY2MuZmlsdGVycywgZmllbGQpO1xuICBhY2MuZmlsdGVycyA9IGVuc3VyZWQuY29udGFpbmVyO1xuICBjb25zdCB0YXJnZXRPYmo6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gZW5zdXJlZC50YXJnZXQ7XG4gIGNvbnN0IGV4aXN0aW5nID0gdGFyZ2V0T2JqW29wZXJhdG9yXTtcbiAgaWYgKEFycmF5LmlzQXJyYXkoZXhpc3RpbmcpKSB7XG4gICAgdGFyZ2V0T2JqW29wZXJhdG9yXSA9IFsuLi5leGlzdGluZywgLi4ucGFyc2VkTGlzdF07XG4gIH0gZWxzZSB7XG4gICAgdGFyZ2V0T2JqW29wZXJhdG9yXSA9IHBhcnNlZExpc3Q7XG4gIH1cbn1cblxuLyoqIEhhbmRsZSBzY2FsYXIgb3BlcmF0b3IgdmFsdWVzLiAqL1xuZnVuY3Rpb24gaGFuZGxlU2NhbGFyPFMgZXh0ZW5kcyBTY2hlbWE+KFxuICBkZXNjcmlwdG9yOiBGaWVsZERlc2NyaXB0b3IsXG4gIGRlY29kZWQ6IHN0cmluZyxcbiAgZmllbGQ6IHN0cmluZyxcbiAgb3BlcmF0b3I6IHN0cmluZyxcbiAgYWNjOiBJbnRlcm5hbEFjY3VtdWxhdG9yPFM+LFxuKTogdm9pZCB7XG4gIGNvbnN0IHNjYWxhciA9IHBhcnNlU2luZ2xlVmFsdWUoZGVzY3JpcHRvciwgZGVjb2RlZCk7XG4gIGlmIChzY2FsYXIgPT09IHVuZGVmaW5lZCkge1xuICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHsga2luZDogJ0ludmFsaWRWYWx1ZScsIGZpZWxkLCBvcGVyYXRvciB9KTtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgZW5zdXJlZCA9IGVuc3VyZUZpZWxkT2JqZWN0KGFjYy5maWx0ZXJzLCBmaWVsZCk7XG4gIGFjYy5maWx0ZXJzID0gZW5zdXJlZC5jb250YWluZXI7XG4gIGNvbnN0IHNjYWxhclRhcmdldDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBlbnN1cmVkLnRhcmdldDtcbiAgc2NhbGFyVGFyZ2V0W29wZXJhdG9yXSA9IHNjYWxhcjtcbn1cblxuLyoqIFBhcnNlIGEgcmF3IHNlYXJjaCBzdHJpbmcgKGxlYWRpbmcgPyBvcHRpb25hbCkgYWNjb3JkaW5nIHRvIHRoZSBwcm92aWRlZCBzY2hlbWEuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2U8UyBleHRlbmRzIFNjaGVtYT4oXG4gIHJhd1NlYXJjaDogc3RyaW5nLFxuICBzY2hlbWE6IFMsXG4pOiBQYXJzZVJlc3VsdDxTPiB7XG4gIGNvbnN0IGFjYzogSW50ZXJuYWxBY2N1bXVsYXRvcjxTPiA9IHsgZmlsdGVyczoge30sIGRpYWdub3N0aWNzOiBbXSB9O1xuICBsZXQgc2VhcmNoID0gcmF3U2VhcmNoO1xuICBpZiAoc2VhcmNoLnN0YXJ0c1dpdGgoJz8nKSkge1xuICAgIHNlYXJjaCA9IHNlYXJjaC5zbGljZSgxKTtcbiAgfVxuICBpZiAoc2VhcmNoLnRyaW0oKSA9PT0gJycpIHtcbiAgICByZXR1cm4gYWNjO1xuICB9XG4gIGNvbnN0IHNlZ21lbnRzID0gc2VhcmNoLnNwbGl0KCcmJyk7XG4gIGZvciAoY29uc3Qgc2VnIG9mIHNlZ21lbnRzKSB7XG4gICAgY29uc3QgZXFJZHggPSBzZWcuaW5kZXhPZignPScpO1xuICAgIGNvbnN0IHZhbGlkQmFzaWMgPSBzZWcgIT09ICcnICYmIGVxSWR4ICE9PSAtMTtcbiAgICBpZiAodmFsaWRCYXNpYykge1xuICAgICAgY29uc3QgcmF3S2V5ID0gc2VnLnNsaWNlKDAsIGVxSWR4KTtcbiAgICAgIGNvbnN0IHJhd1ZhbCA9IHNlZy5zbGljZShlcUlkeCArIDEpO1xuICAgICAgY29uc3QgbGFzdERvdCA9IHJhd0tleS5sYXN0SW5kZXhPZignLicpO1xuICAgICAgY29uc3Qga2V5U2hhcGVPayA9ICEobGFzdERvdCA8PSAwIHx8IGxhc3REb3QgPT09IHJhd0tleS5sZW5ndGggLSAxKTtcbiAgICAgIGlmIChrZXlTaGFwZU9rKSB7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gcmF3S2V5LnNsaWNlKDAsIGxhc3REb3QpO1xuICAgICAgICBjb25zdCBvcGVyYXRvciA9IHJhd0tleS5zbGljZShsYXN0RG90ICsgMSkgYXMgT3BlcmF0b3I7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBzY2hlbWFbZmllbGRdO1xuICAgICAgICBjb25zdCBkZXNjT2sgPSBkZXNjcmlwdG9yPy5vcGVyYXRvcnMuaW5jbHVkZXMob3BlcmF0b3IpID09PSB0cnVlO1xuICAgICAgICBpZiAoIWRlc2NPaykge1xuICAgICAgICAgIGlmIChkZXNjcmlwdG9yID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHsga2luZDogJ1Vua25vd25GaWVsZCcsIGZpZWxkIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7IGtpbmQ6ICdVbmtub3duT3BlcmF0b3InLCBmaWVsZCwgb3BlcmF0b3IgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGRlY29kZWQgPSBkZWNvZGVWYWx1ZShyYXdWYWwsIGZpZWxkLCBvcGVyYXRvciwgYWNjLmRpYWdub3N0aWNzKTtcbiAgICAgICAgICBpZiAoZGVjb2RlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zdCBpc0xpc3QgPSAoTElTVF9PUFMgYXMgcmVhZG9ubHkgc3RyaW5nW10pLmluY2x1ZGVzKG9wZXJhdG9yKTtcbiAgICAgICAgICAgIGlmIChvcGVyYXRvciA9PT0gQkVUV0VFTikge1xuICAgICAgICAgICAgICBoYW5kbGVCZXR3ZWVuKGRlc2NyaXB0b3IsIGRlY29kZWQsIGZpZWxkLCBvcGVyYXRvciwgYWNjKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNMaXN0KSB7XG4gICAgICAgICAgICAgIGhhbmRsZUxpc3QoZGVzY3JpcHRvciwgZGVjb2RlZCwgZmllbGQsIG9wZXJhdG9yLCBhY2MpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaGFuZGxlU2NhbGFyKGRlc2NyaXB0b3IsIGRlY29kZWQsIGZpZWxkLCBvcGVyYXRvciwgYWNjKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGFjYztcbn1cbiJdfQ==
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsTUFBTSxPQUFPLEdBQW9CLFNBQVMsQ0FBQztBQUMzQyxNQUFNLFFBQVEsR0FBNEIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFReEQsU0FBUyxpQkFBaUIsQ0FDeEIsT0FBd0IsRUFDeEIsS0FBYTtJQUViLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFnQixDQUU1QixDQUFDO0lBQ2QsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDM0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFDRCxNQUFNLEtBQUssR0FBb0IsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQzlDLE1BQU0sT0FBTyxHQUE0QixFQUFFLENBQUM7SUFDM0MsS0FBaUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUM7SUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQy9DLENBQUM7QUFHRCxTQUFTLFdBQVcsQ0FDbEIsS0FBYSxFQUNiLEtBQWEsRUFDYixRQUFnQixFQUNoQixXQUF5QjtJQUV6QixJQUFJLENBQUM7UUFDSCxPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSSxFQUFFLGFBQWE7WUFDbkIsS0FBSztZQUNMLFFBQVE7WUFDUixNQUFNLEVBQUUsa0JBQWtCO1NBQzNCLENBQUMsQ0FBQztRQUNILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7QUFDSCxDQUFDO0FBR0QsU0FBUyxnQkFBZ0IsQ0FDdkIsVUFBMkIsRUFDM0IsR0FBVztJQUVY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VSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUMxRCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIFNjaGVtYSxcbiAgT3BlcmF0b3IsXG4gIExpc3RPcGVyYXRvcixcbiAgQmV0d2Vlbk9wZXJhdG9yLFxuICBJbmZlckZpbHRlcnMsXG4gIEZpZWxkRGVzY3JpcHRvcixcbiAgUGFyc2VSZXN1bHQsXG59IGZyb20gJy4vdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBEaWFnbm9zdGljIH0gZnJvbSAnLi9lcnJvcnMuanMnO1xuXG5jb25zdCBCRVRXRUVOOiBCZXR3ZWVuT3BlcmF0b3IgPSAnYmV0d2Vlbic7XG5jb25zdCBMSVNUX09QUzogcmVhZG9ubHkgTGlzdE9wZXJhdG9yW10gPSBbJ2luJywgJ25pbiddO1xuXG5pbnRlcmZhY2UgSW50ZXJuYWxBY2N1bXVsYXRvcjxTIGV4dGVuZHMgU2NoZW1hPiB7XG4gIGZpbHRlcnM6IEluZmVyRmlsdGVyczxTPjtcbiAgZGlhZ25vc3RpY3M6IERpYWdub3N0aWNbXTtcbn1cblxuLyoqIFNoYWxsb3cgY2xvbmUgcGx1cyBlbnN1cmUgZmllbGQgb2JqZWN0IGhlbHBlciAoaW1tdXRhYmxlIHVwZGF0ZSkuICovXG5mdW5jdGlvbiBlbnN1cmVGaWVsZE9iamVjdDxTIGV4dGVuZHMgU2NoZW1hPihcbiAgZmlsdGVyczogSW5mZXJGaWx0ZXJzPFM+LFxuICBmaWVsZDogc3RyaW5nLFxuKTogeyBjb250YWluZXI6IEluZmVyRmlsdGVyczxTPjsgdGFyZ2V0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB9IHtcbiAgY29uc3QgZXhpc3RpbmcgPSBmaWx0ZXJzW2ZpZWxkIGFzIGtleW9mIFNdIGFzXG4gICAgfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgIHwgdW5kZWZpbmVkO1xuICBpZiAoZXhpc3RpbmcgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB7IGNvbnRhaW5lcjogZmlsdGVycywgdGFyZ2V0OiBleGlzdGluZyB9O1xuICB9XG4gIGNvbnN0IGNsb25lOiBJbmZlckZpbHRlcnM8Uz4gPSB7IC4uLmZpbHRlcnMgfTtcbiAgY29uc3QgY3JlYXRlZDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgKGNsb25lIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtmaWVsZF0gPSBjcmVhdGVkO1xuICByZXR1cm4geyBjb250YWluZXI6IGNsb25lLCB0YXJnZXQ6IGNyZWF0ZWQgfTtcbn1cblxuLyoqIERlY29kZSBjb21wb25lbnQsIHJlY29yZGluZyBhIGRpYWdub3N0aWMgb24gZmFpbHVyZS4gKi9cbmZ1bmN0aW9uIGRlY29kZVZhbHVlKFxuICB2YWx1ZTogc3RyaW5nLFxuICBmaWVsZDogc3RyaW5nLFxuICBvcGVyYXRvcjogc3RyaW5nLFxuICBkaWFnbm9zdGljczogRGlhZ25vc3RpY1tdLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHZhbHVlKTtcbiAgfSBjYXRjaCB7XG4gICAgZGlhZ25vc3RpY3MucHVzaCh7XG4gICAgICBraW5kOiAnRGVjb2RlRXJyb3InLFxuICAgICAgZmllbGQsXG4gICAgICBvcGVyYXRvcixcbiAgICAgIGRldGFpbDogJ0ZhaWxlZCB0byBkZWNvZGUnLFxuICAgIH0pO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqIFBhcnNlIGEgc2luZ2xlIHJhdyB2YWx1ZSBhY2NvcmRpbmcgdG8gZmllbGQga2luZC4gKi9cbmZ1bmN0aW9uIHBhcnNlU2luZ2xlVmFsdWUoXG4gIGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvcixcbiAgcmF3OiBzdHJpbmcsXG4pOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQge1xuICBpZiAoZGVzY3JpcHRvci5raW5kID09PSAnbnVtYmVyJykge1xuICAgIGlmIChyYXcgPT09ICcnKSB7XG4gICAgICAvLyBUcmVhdCBlbXB0eSBzdHJpbmcgYXMgaW52YWxpZCBmb3IgbnVtZXJpYyBmaWVsZHMgKHJlamVjdCBpbnN0ZWFkIG9mIGNvZXJjaW5nIHRvIDApXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBuID0gTnVtYmVyKHJhdyk7XG4gICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUobikpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBuO1xuICB9XG4gIHJldHVybiByYXc7XG59XG5cbi8qKiBIYW5kbGUgYSBiZXR3ZWVuIG9wZXJhdG9yIHZhbHVlLiAqL1xuZnVuY3Rpb24gaGFuZGxlQmV0d2VlbjxTIGV4dGVuZHMgU2NoZW1hPihcbiAgZGVzY3JpcHRvcjogRmllbGREZXNjcmlwdG9yLFxuICBkZWNvZGVkOiBzdHJpbmcsXG4gIGZpZWxkOiBzdHJpbmcsXG4gIG9wZXJhdG9yOiBzdHJpbmcsXG4gIGFjYzogSW50ZXJuYWxBY2N1bXVsYXRvcjxTPixcbik6IHZvaWQge1xuICBjb25zdCBwYXJ0czogc3RyaW5nW10gPSBkZWNvZGVkLnNwbGl0KCcsJyk7XG4gIGlmIChwYXJ0cy5sZW5ndGggIT09IDIpIHtcbiAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7XG4gICAgICBraW5kOiAnSW52YWxpZEFyaXR5JyxcbiAgICAgIGZpZWxkLFxuICAgICAgb3BlcmF0b3IsXG4gICAgICBkZXRhaWw6ICdFeHBlY3RlZCBleGFjdGx5IDIgdmFsdWVzJyxcbiAgICB9KTtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgW2FSYXcsIGJSYXddID0gcGFydHMgYXMgW3N0cmluZywgc3RyaW5nXTtcbiAgY29uc3QgYSA9IHBhcnNlU2luZ2xlVmFsdWUoZGVzY3JpcHRvciwgYVJhdyk7XG4gIGNvbnN0IGIgPSBwYXJzZVNpbmdsZVZhbHVlKGRlc2NyaXB0b3IsIGJSYXcpO1xuICBpZiAoYSA9PT0gdW5kZWZpbmVkIHx8IGIgPT09IHVuZGVmaW5lZCkge1xuICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHtcbiAgICAgIGtpbmQ6ICdJbnZhbGlkVmFsdWUnLFxuICAgICAgZmllbGQsXG4gICAgICBvcGVyYXRvcixcbiAgICAgIGRldGFpbDogJ09uZSBvZiB0aGUgYmV0d2VlbiB2YWx1ZXMgaW52YWxpZCcsXG4gICAgfSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGVuc3VyZWQgPSBlbnN1cmVGaWVsZE9iamVjdChhY2MuZmlsdGVycywgZmllbGQpO1xuICBhY2MuZmlsdGVycyA9IGVuc3VyZWQuY29udGFpbmVyO1xuICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGVuc3VyZWQudGFyZ2V0LCAnYmV0d2VlbicpKSB7XG4gICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnRHVwbGljYXRlQmV0d2VlbicsIGZpZWxkIH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBlbnN1cmVkLnRhcmdldC5iZXR3ZWVuID0gW2EsIGJdIGFzIHVua25vd247XG59XG5cbi8qKiBIYW5kbGUgbGlzdCBvcGVyYXRvcnMgKGluLCBuaW4pLiAqL1xuZnVuY3Rpb24gaGFuZGxlTGlzdDxTIGV4dGVuZHMgU2NoZW1hPihcbiAgZGVzY3JpcHRvcjogRmllbGREZXNjcmlwdG9yLFxuICBkZWNvZGVkOiBzdHJpbmcsXG4gIGZpZWxkOiBzdHJpbmcsXG4gIG9wZXJhdG9yOiBzdHJpbmcsXG4gIGFjYzogSW50ZXJuYWxBY2N1bXVsYXRvcjxTPixcbik6IHZvaWQge1xuICBjb25zdCBsaXN0UmF3ID0gZGVjb2RlZC5zcGxpdCgnLCcpO1xuICBjb25zdCBwYXJzZWRMaXN0OiAoc3RyaW5nIHwgbnVtYmVyKVtdID0gW107XG4gIGZvciAoY29uc3QgaXRlbSBvZiBsaXN0UmF3KSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGFyc2VTaW5nbGVWYWx1ZShkZXNjcmlwdG9yLCBpdGVtKTtcbiAgICBpZiAocGFyc2VkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHtcbiAgICAgICAga2luZDogJ0ludmFsaWRWYWx1ZScsXG4gICAgICAgIGZpZWxkLFxuICAgICAgICBvcGVyYXRvcixcbiAgICAgICAgZGV0YWlsOiAnTGlzdCBpdGVtIGludmFsaWQnLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlZExpc3QucHVzaChwYXJzZWQpO1xuICAgIH1cbiAgfVxuICBpZiAocGFyc2VkTGlzdC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgZW5zdXJlZCA9IGVuc3VyZUZpZWxkT2JqZWN0KGFjYy5maWx0ZXJzLCBmaWVsZCk7XG4gIGFjYy5maWx0ZXJzID0gZW5zdXJlZC5jb250YWluZXI7XG4gIGNvbnN0IHRhcmdldE9iajogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBlbnN1cmVkLnRhcmdldDtcbiAgY29uc3QgZXhpc3RpbmcgPSB0YXJnZXRPYmpbb3BlcmF0b3JdO1xuICBpZiAoQXJyYXkuaXNBcnJheShleGlzdGluZykpIHtcbiAgICB0YXJnZXRPYmpbb3BlcmF0b3JdID0gWy4uLmV4aXN0aW5nLCAuLi5wYXJzZWRMaXN0XTtcbiAgfSBlbHNlIHtcbiAgICB0YXJnZXRPYmpbb3BlcmF0b3JdID0gcGFyc2VkTGlzdDtcbiAgfVxufVxuXG4vKiogSGFuZGxlIHNjYWxhciBvcGVyYXRvciB2YWx1ZXMuICovXG5mdW5jdGlvbiBoYW5kbGVTY2FsYXI8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvcixcbiAgZGVjb2RlZDogc3RyaW5nLFxuICBmaWVsZDogc3RyaW5nLFxuICBvcGVyYXRvcjogc3RyaW5nLFxuICBhY2M6IEludGVybmFsQWNjdW11bGF0b3I8Uz4sXG4pOiB2b2lkIHtcbiAgY29uc3Qgc2NhbGFyID0gcGFyc2VTaW5nbGVWYWx1ZShkZXNjcmlwdG9yLCBkZWNvZGVkKTtcbiAgaWYgKHNjYWxhciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnSW52YWxpZFZhbHVlJywgZmllbGQsIG9wZXJhdG9yIH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBlbnN1cmVkID0gZW5zdXJlRmllbGRPYmplY3QoYWNjLmZpbHRlcnMsIGZpZWxkKTtcbiAgYWNjLmZpbHRlcnMgPSBlbnN1cmVkLmNvbnRhaW5lcjtcbiAgY29uc3Qgc2NhbGFyVGFyZ2V0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IGVuc3VyZWQudGFyZ2V0O1xuICBzY2FsYXJUYXJnZXRbb3BlcmF0b3JdID0gc2NhbGFyO1xufVxuXG4vKiogUGFyc2UgYSByYXcgc2VhcmNoIHN0cmluZyAobGVhZGluZyA/IG9wdGlvbmFsKSBhY2NvcmRpbmcgdG8gdGhlIHByb3ZpZGVkIHNjaGVtYS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZTxTIGV4dGVuZHMgU2NoZW1hPihcbiAgcmF3U2VhcmNoOiBzdHJpbmcsXG4gIHNjaGVtYTogUyxcbik6IFBhcnNlUmVzdWx0PFM+IHtcbiAgY29uc3QgYWNjOiBJbnRlcm5hbEFjY3VtdWxhdG9yPFM+ID0geyBmaWx0ZXJzOiB7fSwgZGlhZ25vc3RpY3M6IFtdIH07XG4gIGxldCBzZWFyY2ggPSByYXdTZWFyY2g7XG4gIGlmIChzZWFyY2guc3RhcnRzV2l0aCgnPycpKSB7XG4gICAgc2VhcmNoID0gc2VhcmNoLnNsaWNlKDEpO1xuICB9XG4gIGlmIChzZWFyY2gudHJpbSgpID09PSAnJykge1xuICAgIHJldHVybiBhY2M7XG4gIH1cbiAgY29uc3Qgc2VnbWVudHMgPSBzZWFyY2guc3BsaXQoJyYnKTtcbiAgZm9yIChjb25zdCBzZWcgb2Ygc2VnbWVudHMpIHtcbiAgICBjb25zdCBlcUlkeCA9IHNlZy5pbmRleE9mKCc9Jyk7XG4gICAgY29uc3QgdmFsaWRCYXNpYyA9IHNlZyAhPT0gJycgJiYgZXFJZHggIT09IC0xO1xuICAgIGlmICh2YWxpZEJhc2ljKSB7XG4gICAgICBjb25zdCByYXdLZXkgPSBzZWcuc2xpY2UoMCwgZXFJZHgpO1xuICAgICAgY29uc3QgcmF3VmFsID0gc2VnLnNsaWNlKGVxSWR4ICsgMSk7XG4gICAgICBjb25zdCBsYXN0RG90ID0gcmF3S2V5Lmxhc3RJbmRleE9mKCcuJyk7XG4gICAgICAvLyBDYXNlIDE6IGtleSB3aXRoIGV4cGxpY2l0IG9wZXJhdG9yIChmaWVsZC5vcClcbiAgICAgIGNvbnN0IGV4cGxpY2l0U2hhcGUgPSAhKGxhc3REb3QgPD0gMCB8fCBsYXN0RG90ID09PSByYXdLZXkubGVuZ3RoIC0gMSk7XG4gICAgICBpZiAoZXhwbGljaXRTaGFwZSkge1xuICAgICAgICBjb25zdCBmaWVsZCA9IHJhd0tleS5zbGljZSgwLCBsYXN0RG90KTtcbiAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSByYXdLZXkuc2xpY2UobGFzdERvdCArIDEpIGFzIE9wZXJhdG9yO1xuICAgICAgICBjb25zdCBkZXNjcmlwdG9yID0gc2NoZW1hW2ZpZWxkXTtcbiAgICAgICAgY29uc3QgZGVzY09rID0gZGVzY3JpcHRvcj8ub3BlcmF0b3JzLmluY2x1ZGVzKG9wZXJhdG9yKSA9PT0gdHJ1ZTtcbiAgICAgICAgaWYgKCFkZXNjT2spIHtcbiAgICAgICAgICBpZiAoZGVzY3JpcHRvciA9PSBudWxsKSB7XG4gICAgICAgICAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7IGtpbmQ6ICdVbmtub3duRmllbGQnLCBmaWVsZCB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnVW5rbm93bk9wZXJhdG9yJywgZmllbGQsIG9wZXJhdG9yIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBkZWNvZGVkID0gZGVjb2RlVmFsdWUocmF3VmFsLCBmaWVsZCwgb3BlcmF0b3IsIGFjYy5kaWFnbm9zdGljcyk7XG4gICAgICAgICAgaWYgKGRlY29kZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgaXNMaXN0ID0gKExJU1RfT1BTIGFzIHJlYWRvbmx5IHN0cmluZ1tdKS5pbmNsdWRlcyhvcGVyYXRvcik7XG4gICAgICAgICAgICBpZiAob3BlcmF0b3IgPT09IEJFVFdFRU4pIHtcbiAgICAgICAgICAgICAgaGFuZGxlQmV0d2VlbihkZXNjcmlwdG9yLCBkZWNvZGVkLCBmaWVsZCwgb3BlcmF0b3IsIGFjYyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzTGlzdCkge1xuICAgICAgICAgICAgICBoYW5kbGVMaXN0KGRlc2NyaXB0b3IsIGRlY29kZWQsIGZpZWxkLCBvcGVyYXRvciwgYWNjKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNjYWxhcihkZXNjcmlwdG9yLCBkZWNvZGVkLCBmaWVsZCwgb3BlcmF0b3IsIGFjYyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGxhc3REb3QgPT09IC0xKSB7XG4gICAgICAgIC8vIGltcGxpY2l0IGVxdWFsaXR5IChubyBkb3QpID0+IG9wZXJhdG9yICdlcSdcbiAgICAgICAgY29uc3QgZmllbGQgPSByYXdLZXk7XG4gICAgICAgIGNvbnN0IG9wZXJhdG9yOiBPcGVyYXRvciA9ICdlcSc7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBzY2hlbWFbZmllbGRdO1xuICAgICAgICBpZiAoZGVzY3JpcHRvciA9PSBudWxsKSB7XG4gICAgICAgICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnVW5rbm93bkZpZWxkJywgZmllbGQgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoIWRlc2NyaXB0b3Iub3BlcmF0b3JzLmluY2x1ZGVzKG9wZXJhdG9yKSkge1xuICAgICAgICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHsga2luZDogJ1Vua25vd25PcGVyYXRvcicsIGZpZWxkLCBvcGVyYXRvciB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBkZWNvZGVkID0gZGVjb2RlVmFsdWUocmF3VmFsLCBmaWVsZCwgb3BlcmF0b3IsIGFjYy5kaWFnbm9zdGljcyk7XG4gICAgICAgICAgaWYgKGRlY29kZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGFuZGxlU2NhbGFyKGRlc2NyaXB0b3IsIGRlY29kZWQsIGZpZWxkLCBvcGVyYXRvciwgYWNjKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGFjYztcbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../../src/stringify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAY,MAAM,YAAY,CAAC;AAQjE,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EACxC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,MAAM,EAAE,CAAC,GACR,MAAM,CAgDR"}
1
+ {"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../../src/stringify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAY,MAAM,YAAY,CAAC;AASjE,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EACxC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,MAAM,EAAE,CAAC,GACR,MAAM,CA8DR"}
@@ -1,4 +1,6 @@
1
1
  function encodeKey(field, op) {
2
+ if (op === 'eq')
3
+ return field;
2
4
  return `${field}.${op}`;
3
5
  }
4
6
  export function stringify(filters, schema) {
@@ -10,7 +12,18 @@ export function stringify(filters, schema) {
10
12
  }
11
13
  else {
12
14
  for (const op of descriptor.operators) {
13
- if (op === 'between') {
15
+ if (op === 'eq') {
16
+ const scalar = value[op];
17
+ if (scalar !== undefined) {
18
+ let printable = scalar;
19
+ if (typeof printable !== 'string' &&
20
+ typeof printable !== 'number') {
21
+ printable = JSON.stringify(printable);
22
+ }
23
+ parts.push(`${encodeKey(field, op)}=${encodeURIComponent(String(printable))}`);
24
+ }
25
+ }
26
+ else if (op === 'between') {
14
27
  const tuple = value.between;
15
28
  if (Array.isArray(tuple) && tuple.length === 2) {
16
29
  const first = encodeURIComponent(String(tuple[0]));
@@ -47,4 +60,4 @@ export function stringify(filters, schema) {
47
60
  }
48
61
  return parts.join('&');
49
62
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmluZ2lmeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxTQUFTLFNBQVMsQ0FBQyxLQUFhLEVBQUUsRUFBWTtJQUM1QyxPQUFPLEdBQUcsS0FBSyxJQUFJLEVBQUUsRUFBRSxDQUFDO0FBQzFCLENBQUM7QUFHRCxNQUFNLFVBQVUsU0FBUyxDQUN2QixPQUF3QixFQUN4QixNQUFTO0lBRVQsTUFBTSxLQUFLLEdBQWEsRUFBRSxDQUFDO0lBQzNCLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFnQixDQUFDLENBQUM7UUFDeEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7UUFFdEQsQ0FBQzthQUFNLENBQUM7WUFDTixLQUFLLE1BQU0sRUFBRSxJQUFJLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxFQUFFLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQ3JCLE1BQU0sS0FBSyxHQUFJLEtBQWlDLENBQUMsT0FFcEMsQ0FBQztvQkFDZCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQzt3QkFDL0MsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ25ELE1BQU0sTUFBTSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNwRCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUMsQ0FBQztvQkFDM0QsQ0FBQztnQkFDSCxDQUFDO3FCQUFNLElBQUksRUFBRSxLQUFLLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxFQUFFLENBQUM7b0JBQ3ZDLE1BQU0sSUFBSSxHQUFJLEtBQWlDLENBQUMsRUFBRSxDQUVyQyxDQUFDO29CQUNkLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUMzQyxNQUFNLFlBQVksR0FBRyxJQUFJOzZCQUN0QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTs0QkFDVCxPQUFPLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUN2QyxDQUFDLENBQUM7NkJBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUNiLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDLENBQUM7b0JBQ3hELENBQUM7Z0JBQ0gsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE1BQU0sTUFBTSxHQUFJLEtBQWlDLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ3RELElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO3dCQUN6QixJQUFJLFNBQWtCLENBQUM7d0JBQ3ZCLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDOzRCQUM3RCxTQUFTLEdBQUcsTUFBTSxDQUFDO3dCQUNyQixDQUFDOzZCQUFNLENBQUM7NEJBQ04sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQ3JDLENBQUM7d0JBQ0QsS0FBSyxDQUFDLElBQUksQ0FDUixHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksa0JBQWtCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FDbkUsQ0FBQztvQkFDSixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW5mZXJGaWx0ZXJzLCBTY2hlbWEsIE9wZXJhdG9yIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbi8qKiBCdWlsZCBlbmNvZGVkIGtleSBwb3J0aW9uIGZpZWxkLm9wICovXG5mdW5jdGlvbiBlbmNvZGVLZXkoZmllbGQ6IHN0cmluZywgb3A6IE9wZXJhdG9yKTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke2ZpZWxkfS4ke29wfWA7XG59XG5cbi8qKiBTZXJpYWxpemUgZmlsdGVycyBvYmplY3QgaW50byBhIHF1ZXJ5IHN0cmluZy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnk8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGZpbHRlcnM6IEluZmVyRmlsdGVyczxTPixcbiAgc2NoZW1hOiBTLFxuKTogc3RyaW5nIHtcbiAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gW107XG4gIGZvciAoY29uc3QgZmllbGQgb2YgT2JqZWN0LmtleXMoc2NoZW1hKSkge1xuICAgIGNvbnN0IHZhbHVlID0gZmlsdGVyc1tmaWVsZCBhcyBrZXlvZiBTXTtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gc2NoZW1hW2ZpZWxkXTtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCBkZXNjcmlwdG9yID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIHNraXAgYWJzZW50XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvciAoY29uc3Qgb3Agb2YgZGVzY3JpcHRvci5vcGVyYXRvcnMpIHtcbiAgICAgICAgaWYgKG9wID09PSAnYmV0d2VlbicpIHtcbiAgICAgICAgICBjb25zdCB0dXBsZSA9ICh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikuYmV0d2VlbiBhc1xuICAgICAgICAgICAgfCB1bmtub3duW11cbiAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHR1cGxlKSAmJiB0dXBsZS5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0ID0gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyh0dXBsZVswXSkpO1xuICAgICAgICAgICAgY29uc3Qgc2Vjb25kID0gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyh0dXBsZVsxXSkpO1xuICAgICAgICAgICAgcGFydHMucHVzaChgJHtlbmNvZGVLZXkoZmllbGQsIG9wKX09JHtmaXJzdH0sJHtzZWNvbmR9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKG9wID09PSAnaW4nIHx8IG9wID09PSAnbmluJykge1xuICAgICAgICAgIGNvbnN0IGxpc3QgPSAodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW29wXSBhc1xuICAgICAgICAgICAgfCB1bmtub3duW11cbiAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxpc3QpICYmIGxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZW5jb2RlZEl0ZW1zID0gbGlzdFxuICAgICAgICAgICAgICAubWFwKCh2KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChTdHJpbmcodikpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuam9pbignLCcpO1xuICAgICAgICAgICAgcGFydHMucHVzaChgJHtlbmNvZGVLZXkoZmllbGQsIG9wKX09JHtlbmNvZGVkSXRlbXN9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHNjYWxhciA9ICh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbb3BdO1xuICAgICAgICAgIGlmIChzY2FsYXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbGV0IHByaW50YWJsZTogdW5rbm93bjtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc2NhbGFyID09PSAnc3RyaW5nJyB8fCB0eXBlb2Ygc2NhbGFyID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICBwcmludGFibGUgPSBzY2FsYXI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwcmludGFibGUgPSBKU09OLnN0cmluZ2lmeShzY2FsYXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFydHMucHVzaChcbiAgICAgICAgICAgICAgYCR7ZW5jb2RlS2V5KGZpZWxkLCBvcCl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhwcmludGFibGUpKX1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHBhcnRzLmpvaW4oJyYnKTtcbn1cbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmluZ2lmeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxTQUFTLFNBQVMsQ0FBQyxLQUFhLEVBQUUsRUFBWTtJQUM1QyxJQUFJLEVBQUUsS0FBSyxJQUFJO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDOUIsT0FBTyxHQUFHLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQztBQUMxQixDQUFDO0FBR0QsTUFBTSxVQUFVLFNBQVMsQ0FDdkIsT0FBd0IsRUFDeEIsTUFBUztJQUVULE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztJQUMzQixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN4QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBZ0IsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksVUFBVSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBRXRELENBQUM7YUFBTSxDQUFDO1lBQ04sS0FBSyxNQUFNLEVBQUUsSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ3RDLElBQUksRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUNoQixNQUFNLE1BQU0sR0FBSSxLQUFpQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUN0RCxJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQzt3QkFDekIsSUFBSSxTQUFTLEdBQVksTUFBTSxDQUFDO3dCQUNoQyxJQUNFLE9BQU8sU0FBUyxLQUFLLFFBQVE7NEJBQzdCLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFDN0IsQ0FBQzs0QkFDRCxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQzt3QkFDeEMsQ0FBQzt3QkFDRCxLQUFLLENBQUMsSUFBSSxDQUNSLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUNuRSxDQUFDO29CQUNKLENBQUM7Z0JBQ0gsQ0FBQztxQkFBTSxJQUFJLEVBQUUsS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDNUIsTUFBTSxLQUFLLEdBQUksS0FBaUMsQ0FBQyxPQUVwQyxDQUFDO29CQUNkLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO3dCQUMvQyxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDbkQsTUFBTSxNQUFNLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ3BELEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUMzRCxDQUFDO2dCQUNILENBQUM7cUJBQU0sSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLEVBQUUsQ0FBQztvQkFDdkMsTUFBTSxJQUFJLEdBQUksS0FBaUMsQ0FBQyxFQUFFLENBRXJDLENBQUM7b0JBQ2QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7d0JBQzNDLE1BQU0sWUFBWSxHQUFHLElBQUk7NkJBQ3RCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFOzRCQUNULE9BQU8sa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ3ZDLENBQUMsQ0FBQzs2QkFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7d0JBQ2IsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQztvQkFDeEQsQ0FBQztnQkFDSCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sTUFBTSxNQUFNLEdBQUksS0FBaUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDdEQsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7d0JBQ3pCLElBQUksU0FBa0IsQ0FBQzt3QkFDdkIsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7NEJBQzdELFNBQVMsR0FBRyxNQUFNLENBQUM7d0JBQ3JCLENBQUM7NkJBQU0sQ0FBQzs0QkFDTixTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDckMsQ0FBQzt3QkFDRCxLQUFLLENBQUMsSUFBSSxDQUNSLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUNuRSxDQUFDO29CQUNKLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJbmZlckZpbHRlcnMsIFNjaGVtYSwgT3BlcmF0b3IgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuLyoqIEJ1aWxkIGVuY29kZWQga2V5IHBvcnRpb24gZm9yIG5vbi1lcSBvcGVyYXRvcnMgKi9cbmZ1bmN0aW9uIGVuY29kZUtleShmaWVsZDogc3RyaW5nLCBvcDogT3BlcmF0b3IpOiBzdHJpbmcge1xuICBpZiAob3AgPT09ICdlcScpIHJldHVybiBmaWVsZDsgLy8gaW1wbGljaXQgZXF1YWxpdHkgZm9ybVxuICByZXR1cm4gYCR7ZmllbGR9LiR7b3B9YDtcbn1cblxuLyoqIFNlcmlhbGl6ZSBmaWx0ZXJzIG9iamVjdCBpbnRvIGEgcXVlcnkgc3RyaW5nLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ2lmeTxTIGV4dGVuZHMgU2NoZW1hPihcbiAgZmlsdGVyczogSW5mZXJGaWx0ZXJzPFM+LFxuICBzY2hlbWE6IFMsXG4pOiBzdHJpbmcge1xuICBjb25zdCBwYXJ0czogc3RyaW5nW10gPSBbXTtcbiAgZm9yIChjb25zdCBmaWVsZCBvZiBPYmplY3Qua2V5cyhzY2hlbWEpKSB7XG4gICAgY29uc3QgdmFsdWUgPSBmaWx0ZXJzW2ZpZWxkIGFzIGtleW9mIFNdO1xuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBzY2hlbWFbZmllbGRdO1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGRlc2NyaXB0b3IgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gc2tpcCBhYnNlbnRcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yIChjb25zdCBvcCBvZiBkZXNjcmlwdG9yLm9wZXJhdG9ycykge1xuICAgICAgICBpZiAob3AgPT09ICdlcScpIHtcbiAgICAgICAgICBjb25zdCBzY2FsYXIgPSAodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW29wXTtcbiAgICAgICAgICBpZiAoc2NhbGFyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxldCBwcmludGFibGU6IHVua25vd24gPSBzY2FsYXI7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIHR5cGVvZiBwcmludGFibGUgIT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICAgIHR5cGVvZiBwcmludGFibGUgIT09ICdudW1iZXInXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgcHJpbnRhYmxlID0gSlNPTi5zdHJpbmdpZnkocHJpbnRhYmxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcnRzLnB1c2goXG4gICAgICAgICAgICAgIGAke2VuY29kZUtleShmaWVsZCwgb3ApfT0ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcocHJpbnRhYmxlKSl9YCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKG9wID09PSAnYmV0d2VlbicpIHtcbiAgICAgICAgICBjb25zdCB0dXBsZSA9ICh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikuYmV0d2VlbiBhc1xuICAgICAgICAgICAgfCB1bmtub3duW11cbiAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHR1cGxlKSAmJiB0dXBsZS5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0ID0gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyh0dXBsZVswXSkpO1xuICAgICAgICAgICAgY29uc3Qgc2Vjb25kID0gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyh0dXBsZVsxXSkpO1xuICAgICAgICAgICAgcGFydHMucHVzaChgJHtlbmNvZGVLZXkoZmllbGQsIG9wKX09JHtmaXJzdH0sJHtzZWNvbmR9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKG9wID09PSAnaW4nIHx8IG9wID09PSAnbmluJykge1xuICAgICAgICAgIGNvbnN0IGxpc3QgPSAodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW29wXSBhc1xuICAgICAgICAgICAgfCB1bmtub3duW11cbiAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxpc3QpICYmIGxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZW5jb2RlZEl0ZW1zID0gbGlzdFxuICAgICAgICAgICAgICAubWFwKCh2KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChTdHJpbmcodikpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuam9pbignLCcpO1xuICAgICAgICAgICAgcGFydHMucHVzaChgJHtlbmNvZGVLZXkoZmllbGQsIG9wKX09JHtlbmNvZGVkSXRlbXN9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHNjYWxhciA9ICh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbb3BdO1xuICAgICAgICAgIGlmIChzY2FsYXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbGV0IHByaW50YWJsZTogdW5rbm93bjtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc2NhbGFyID09PSAnc3RyaW5nJyB8fCB0eXBlb2Ygc2NhbGFyID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICBwcmludGFibGUgPSBzY2FsYXI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwcmludGFibGUgPSBKU09OLnN0cmluZ2lmeShzY2FsYXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFydHMucHVzaChcbiAgICAgICAgICAgICAgYCR7ZW5jb2RlS2V5KGZpZWxkLCBvcCl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhwcmludGFibGUpKX1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHBhcnRzLmpvaW4oJyYnKTtcbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMN,WAAW,EACZ,MAAM,YAAY,CAAC;AAmKpB,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,CAAC,GACR,WAAW,CAAC,CAAC,CAAC,CA8ChB"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMN,WAAW,EACZ,MAAM,YAAY,CAAC;AAmKpB,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,CAAC,GACR,WAAW,CAAC,CAAC,CAAC,CA8DhB"}
package/lib/parse.js CHANGED
@@ -127,14 +127,14 @@ export function parse(rawSearch, schema) {
127
127
  const rawKey = seg.slice(0, eqIdx);
128
128
  const rawVal = seg.slice(eqIdx + 1);
129
129
  const lastDot = rawKey.lastIndexOf('.');
130
- const keyShapeOk = !(lastDot <= 0 || lastDot === rawKey.length - 1);
131
- if (keyShapeOk) {
130
+ const explicitShape = !(lastDot <= 0 || lastDot === rawKey.length - 1);
131
+ if (explicitShape) {
132
132
  const field = rawKey.slice(0, lastDot);
133
133
  const operator = rawKey.slice(lastDot + 1);
134
134
  const descriptor = schema[field];
135
135
  const descOk = descriptor?.operators.includes(operator) === true;
136
136
  if (!descOk) {
137
- if (descriptor === undefined) {
137
+ if (descriptor == null) {
138
138
  acc.diagnostics.push({ kind: 'UnknownField', field });
139
139
  }
140
140
  else {
@@ -157,8 +157,25 @@ export function parse(rawSearch, schema) {
157
157
  }
158
158
  }
159
159
  }
160
+ else if (lastDot === -1) {
161
+ const field = rawKey;
162
+ const operator = 'eq';
163
+ const descriptor = schema[field];
164
+ if (descriptor == null) {
165
+ acc.diagnostics.push({ kind: 'UnknownField', field });
166
+ }
167
+ else if (!descriptor.operators.includes(operator)) {
168
+ acc.diagnostics.push({ kind: 'UnknownOperator', field, operator });
169
+ }
170
+ else {
171
+ const decoded = decodeValue(rawVal, field, operator, acc.diagnostics);
172
+ if (decoded !== undefined) {
173
+ handleScalar(descriptor, decoded, field, operator, acc);
174
+ }
175
+ }
176
+ }
160
177
  }
161
178
  }
162
179
  return acc;
163
180
  }
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcGFyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsTUFBTSxPQUFPLEdBQW9CLFNBQVMsQ0FBQztBQUMzQyxNQUFNLFFBQVEsR0FBNEIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFReEQsU0FBUyxpQkFBaUIsQ0FDeEIsT0FBd0IsRUFDeEIsS0FBYTtJQUViLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFnQixDQUU1QixDQUFDO0lBQ2QsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDM0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFDRCxNQUFNLEtBQUssR0FBb0IsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQzlDLE1BQU0sT0FBTyxHQUE0QixFQUFFLENBQUM7SUFDM0MsS0FBaUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUM7SUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQy9DLENBQUM7QUFHRCxTQUFTLFdBQVcsQ0FDbEIsS0FBYSxFQUNiLEtBQWEsRUFDYixRQUFnQixFQUNoQixXQUF5QjtJQUV6QixJQUFJLENBQUM7UUFDSCxPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSSxFQUFFLGFBQWE7WUFDbkIsS0FBSztZQUNMLFFBQVE7WUFDUixNQUFNLEVBQUUsa0JBQWtCO1NBQzNCLENBQUMsQ0FBQztRQUNILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7QUFDSCxDQUFDO0FBR0QsU0FBUyxnQkFBZ0IsQ0FDdkIsVUFBMkIsRUFDM0IsR0FBVztJQUVYLElB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QUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7d0JBQzNELENBQUM7NkJBQU0sSUFBSSxNQUFNLEVBQUUsQ0FBQzs0QkFDbEIsVUFBVSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQzt3QkFDeEQsQ0FBQzs2QkFBTSxDQUFDOzRCQUNOLFlBQVksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7d0JBQzFELENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBTY2hlbWEsXG4gIE9wZXJhdG9yLFxuICBMaXN0T3BlcmF0b3IsXG4gIEJldHdlZW5PcGVyYXRvcixcbiAgSW5mZXJGaWx0ZXJzLFxuICBGaWVsZERlc2NyaXB0b3IsXG4gIFBhcnNlUmVzdWx0LFxufSBmcm9tICcuL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgRGlhZ25vc3RpYyB9IGZyb20gJy4vZXJyb3JzLmpzJztcblxuY29uc3QgQkVUV0VFTjogQmV0d2Vlbk9wZXJhdG9yID0gJ2JldHdlZW4nO1xuY29uc3QgTElTVF9PUFM6IHJlYWRvbmx5IExpc3RPcGVyYXRvcltdID0gWydpbicsICduaW4nXTtcblxuaW50ZXJmYWNlIEludGVybmFsQWNjdW11bGF0b3I8UyBleHRlbmRzIFNjaGVtYT4ge1xuICBmaWx0ZXJzOiBJbmZlckZpbHRlcnM8Uz47XG4gIGRpYWdub3N0aWNzOiBEaWFnbm9zdGljW107XG59XG5cbi8qKiBTaGFsbG93IGNsb25lIHBsdXMgZW5zdXJlIGZpZWxkIG9iamVjdCBoZWxwZXIgKGltbXV0YWJsZSB1cGRhdGUpLiAqL1xuZnVuY3Rpb24gZW5zdXJlRmllbGRPYmplY3Q8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGZpbHRlcnM6IEluZmVyRmlsdGVyczxTPixcbiAgZmllbGQ6IHN0cmluZyxcbik6IHsgY29udGFpbmVyOiBJbmZlckZpbHRlcnM8Uz47IHRhcmdldDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfSB7XG4gIGNvbnN0IGV4aXN0aW5nID0gZmlsdGVyc1tmaWVsZCBhcyBrZXlvZiBTXSBhc1xuICAgIHwgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICB8IHVuZGVmaW5lZDtcbiAgaWYgKGV4aXN0aW5nICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4geyBjb250YWluZXI6IGZpbHRlcnMsIHRhcmdldDogZXhpc3RpbmcgfTtcbiAgfVxuICBjb25zdCBjbG9uZTogSW5mZXJGaWx0ZXJzPFM+ID0geyAuLi5maWx0ZXJzIH07XG4gIGNvbnN0IGNyZWF0ZWQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gIChjbG9uZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbZmllbGRdID0gY3JlYXRlZDtcbiAgcmV0dXJuIHsgY29udGFpbmVyOiBjbG9uZSwgdGFyZ2V0OiBjcmVhdGVkIH07XG59XG5cbi8qKiBEZWNvZGUgY29tcG9uZW50LCByZWNvcmRpbmcgYSBkaWFnbm9zdGljIG9uIGZhaWx1cmUuICovXG5mdW5jdGlvbiBkZWNvZGVWYWx1ZShcbiAgdmFsdWU6IHN0cmluZyxcbiAgZmllbGQ6IHN0cmluZyxcbiAgb3BlcmF0b3I6IHN0cmluZyxcbiAgZGlhZ25vc3RpY3M6IERpYWdub3N0aWNbXSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh2YWx1ZSk7XG4gIH0gY2F0Y2gge1xuICAgIGRpYWdub3N0aWNzLnB1c2goe1xuICAgICAga2luZDogJ0RlY29kZUVycm9yJyxcbiAgICAgIGZpZWxkLFxuICAgICAgb3BlcmF0b3IsXG4gICAgICBkZXRhaWw6ICdGYWlsZWQgdG8gZGVjb2RlJyxcbiAgICB9KTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKiBQYXJzZSBhIHNpbmdsZSByYXcgdmFsdWUgYWNjb3JkaW5nIHRvIGZpZWxkIGtpbmQuICovXG5mdW5jdGlvbiBwYXJzZVNpbmdsZVZhbHVlKFxuICBkZXNjcmlwdG9yOiBGaWVsZERlc2NyaXB0b3IsXG4gIHJhdzogc3RyaW5nLFxuKTogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgaWYgKGRlc2NyaXB0b3Iua2luZCA9PT0gJ251bWJlcicpIHtcbiAgICBpZiAocmF3ID09PSAnJykge1xuICAgICAgLy8gVHJlYXQgZW1wdHkgc3RyaW5nIGFzIGludmFsaWQgZm9yIG51bWVyaWMgZmllbGRzIChyZWplY3QgaW5zdGVhZCBvZiBjb2VyY2luZyB0byAwKVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgbiA9IE51bWJlcihyYXcpO1xuICAgIGlmICghTnVtYmVyLmlzRmluaXRlKG4pKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gbjtcbiAgfVxuICByZXR1cm4gcmF3O1xufVxuXG4vKiogSGFuZGxlIGEgYmV0d2VlbiBvcGVyYXRvciB2YWx1ZS4gKi9cbmZ1bmN0aW9uIGhhbmRsZUJldHdlZW48UyBleHRlbmRzIFNjaGVtYT4oXG4gIGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvcixcbiAgZGVjb2RlZDogc3RyaW5nLFxuICBmaWVsZDogc3RyaW5nLFxuICBvcGVyYXRvcjogc3RyaW5nLFxuICBhY2M6IEludGVybmFsQWNjdW11bGF0b3I8Uz4sXG4pOiB2b2lkIHtcbiAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gZGVjb2RlZC5zcGxpdCgnLCcpO1xuICBpZiAocGFydHMubGVuZ3RoICE9PSAyKSB7XG4gICAgYWNjLmRpYWdub3N0aWNzLnB1c2goe1xuICAgICAga2luZDogJ0ludmFsaWRBcml0eScsXG4gICAgICBmaWVsZCxcbiAgICAgIG9wZXJhdG9yLFxuICAgICAgZGV0YWlsOiAnRXhwZWN0ZWQgZXhhY3RseSAyIHZhbHVlcycsXG4gICAgfSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IFthUmF3LCBiUmF3XSA9IHBhcnRzIGFzIFtzdHJpbmcsIHN0cmluZ107XG4gIGNvbnN0IGEgPSBwYXJzZVNpbmdsZVZhbHVlKGRlc2NyaXB0b3IsIGFSYXcpO1xuICBjb25zdCBiID0gcGFyc2VTaW5nbGVWYWx1ZShkZXNjcmlwdG9yLCBiUmF3KTtcbiAgaWYgKGEgPT09IHVuZGVmaW5lZCB8fCBiID09PSB1bmRlZmluZWQpIHtcbiAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7XG4gICAgICBraW5kOiAnSW52YWxpZFZhbHVlJyxcbiAgICAgIGZpZWxkLFxuICAgICAgb3BlcmF0b3IsXG4gICAgICBkZXRhaWw6ICdPbmUgb2YgdGhlIGJldHdlZW4gdmFsdWVzIGludmFsaWQnLFxuICAgIH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBlbnN1cmVkID0gZW5zdXJlRmllbGRPYmplY3QoYWNjLmZpbHRlcnMsIGZpZWxkKTtcbiAgYWNjLmZpbHRlcnMgPSBlbnN1cmVkLmNvbnRhaW5lcjtcbiAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlbnN1cmVkLnRhcmdldCwgJ2JldHdlZW4nKSkge1xuICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHsga2luZDogJ0R1cGxpY2F0ZUJldHdlZW4nLCBmaWVsZCB9KTtcbiAgICByZXR1cm47XG4gIH1cbiAgZW5zdXJlZC50YXJnZXQuYmV0d2VlbiA9IFthLCBiXSBhcyB1bmtub3duO1xufVxuXG4vKiogSGFuZGxlIGxpc3Qgb3BlcmF0b3JzIChpbiwgbmluKS4gKi9cbmZ1bmN0aW9uIGhhbmRsZUxpc3Q8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvcixcbiAgZGVjb2RlZDogc3RyaW5nLFxuICBmaWVsZDogc3RyaW5nLFxuICBvcGVyYXRvcjogc3RyaW5nLFxuICBhY2M6IEludGVybmFsQWNjdW11bGF0b3I8Uz4sXG4pOiB2b2lkIHtcbiAgY29uc3QgbGlzdFJhdyA9IGRlY29kZWQuc3BsaXQoJywnKTtcbiAgY29uc3QgcGFyc2VkTGlzdDogKHN0cmluZyB8IG51bWJlcilbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGl0ZW0gb2YgbGlzdFJhdykge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlU2luZ2xlVmFsdWUoZGVzY3JpcHRvciwgaXRlbSk7XG4gICAgaWYgKHBhcnNlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7XG4gICAgICAgIGtpbmQ6ICdJbnZhbGlkVmFsdWUnLFxuICAgICAgICBmaWVsZCxcbiAgICAgICAgb3BlcmF0b3IsXG4gICAgICAgIGRldGFpbDogJ0xpc3QgaXRlbSBpbnZhbGlkJyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJzZWRMaXN0LnB1c2gocGFyc2VkKTtcbiAgICB9XG4gIH1cbiAgaWYgKHBhcnNlZExpc3QubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGVuc3VyZWQgPSBlbnN1cmVGaWVsZE9iamVjdChhY2MuZmlsdGVycywgZmllbGQpO1xuICBhY2MuZmlsdGVycyA9IGVuc3VyZWQuY29udGFpbmVyO1xuICBjb25zdCB0YXJnZXRPYmo6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gZW5zdXJlZC50YXJnZXQ7XG4gIGNvbnN0IGV4aXN0aW5nID0gdGFyZ2V0T2JqW29wZXJhdG9yXTtcbiAgaWYgKEFycmF5LmlzQXJyYXkoZXhpc3RpbmcpKSB7XG4gICAgdGFyZ2V0T2JqW29wZXJhdG9yXSA9IFsuLi5leGlzdGluZywgLi4ucGFyc2VkTGlzdF07XG4gIH0gZWxzZSB7XG4gICAgdGFyZ2V0T2JqW29wZXJhdG9yXSA9IHBhcnNlZExpc3Q7XG4gIH1cbn1cblxuLyoqIEhhbmRsZSBzY2FsYXIgb3BlcmF0b3IgdmFsdWVzLiAqL1xuZnVuY3Rpb24gaGFuZGxlU2NhbGFyPFMgZXh0ZW5kcyBTY2hlbWE+KFxuICBkZXNjcmlwdG9yOiBGaWVsZERlc2NyaXB0b3IsXG4gIGRlY29kZWQ6IHN0cmluZyxcbiAgZmllbGQ6IHN0cmluZyxcbiAgb3BlcmF0b3I6IHN0cmluZyxcbiAgYWNjOiBJbnRlcm5hbEFjY3VtdWxhdG9yPFM+LFxuKTogdm9pZCB7XG4gIGNvbnN0IHNjYWxhciA9IHBhcnNlU2luZ2xlVmFsdWUoZGVzY3JpcHRvciwgZGVjb2RlZCk7XG4gIGlmIChzY2FsYXIgPT09IHVuZGVmaW5lZCkge1xuICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHsga2luZDogJ0ludmFsaWRWYWx1ZScsIGZpZWxkLCBvcGVyYXRvciB9KTtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgZW5zdXJlZCA9IGVuc3VyZUZpZWxkT2JqZWN0KGFjYy5maWx0ZXJzLCBmaWVsZCk7XG4gIGFjYy5maWx0ZXJzID0gZW5zdXJlZC5jb250YWluZXI7XG4gIGNvbnN0IHNjYWxhclRhcmdldDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBlbnN1cmVkLnRhcmdldDtcbiAgc2NhbGFyVGFyZ2V0W29wZXJhdG9yXSA9IHNjYWxhcjtcbn1cblxuLyoqIFBhcnNlIGEgcmF3IHNlYXJjaCBzdHJpbmcgKGxlYWRpbmcgPyBvcHRpb25hbCkgYWNjb3JkaW5nIHRvIHRoZSBwcm92aWRlZCBzY2hlbWEuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2U8UyBleHRlbmRzIFNjaGVtYT4oXG4gIHJhd1NlYXJjaDogc3RyaW5nLFxuICBzY2hlbWE6IFMsXG4pOiBQYXJzZVJlc3VsdDxTPiB7XG4gIGNvbnN0IGFjYzogSW50ZXJuYWxBY2N1bXVsYXRvcjxTPiA9IHsgZmlsdGVyczoge30sIGRpYWdub3N0aWNzOiBbXSB9O1xuICBsZXQgc2VhcmNoID0gcmF3U2VhcmNoO1xuICBpZiAoc2VhcmNoLnN0YXJ0c1dpdGgoJz8nKSkge1xuICAgIHNlYXJjaCA9IHNlYXJjaC5zbGljZSgxKTtcbiAgfVxuICBpZiAoc2VhcmNoLnRyaW0oKSA9PT0gJycpIHtcbiAgICByZXR1cm4gYWNjO1xuICB9XG4gIGNvbnN0IHNlZ21lbnRzID0gc2VhcmNoLnNwbGl0KCcmJyk7XG4gIGZvciAoY29uc3Qgc2VnIG9mIHNlZ21lbnRzKSB7XG4gICAgY29uc3QgZXFJZHggPSBzZWcuaW5kZXhPZignPScpO1xuICAgIGNvbnN0IHZhbGlkQmFzaWMgPSBzZWcgIT09ICcnICYmIGVxSWR4ICE9PSAtMTtcbiAgICBpZiAodmFsaWRCYXNpYykge1xuICAgICAgY29uc3QgcmF3S2V5ID0gc2VnLnNsaWNlKDAsIGVxSWR4KTtcbiAgICAgIGNvbnN0IHJhd1ZhbCA9IHNlZy5zbGljZShlcUlkeCArIDEpO1xuICAgICAgY29uc3QgbGFzdERvdCA9IHJhd0tleS5sYXN0SW5kZXhPZignLicpO1xuICAgICAgY29uc3Qga2V5U2hhcGVPayA9ICEobGFzdERvdCA8PSAwIHx8IGxhc3REb3QgPT09IHJhd0tleS5sZW5ndGggLSAxKTtcbiAgICAgIGlmIChrZXlTaGFwZU9rKSB7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gcmF3S2V5LnNsaWNlKDAsIGxhc3REb3QpO1xuICAgICAgICBjb25zdCBvcGVyYXRvciA9IHJhd0tleS5zbGljZShsYXN0RG90ICsgMSkgYXMgT3BlcmF0b3I7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBzY2hlbWFbZmllbGRdO1xuICAgICAgICBjb25zdCBkZXNjT2sgPSBkZXNjcmlwdG9yPy5vcGVyYXRvcnMuaW5jbHVkZXMob3BlcmF0b3IpID09PSB0cnVlO1xuICAgICAgICBpZiAoIWRlc2NPaykge1xuICAgICAgICAgIGlmIChkZXNjcmlwdG9yID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHsga2luZDogJ1Vua25vd25GaWVsZCcsIGZpZWxkIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7IGtpbmQ6ICdVbmtub3duT3BlcmF0b3InLCBmaWVsZCwgb3BlcmF0b3IgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGRlY29kZWQgPSBkZWNvZGVWYWx1ZShyYXdWYWwsIGZpZWxkLCBvcGVyYXRvciwgYWNjLmRpYWdub3N0aWNzKTtcbiAgICAgICAgICBpZiAoZGVjb2RlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zdCBpc0xpc3QgPSAoTElTVF9PUFMgYXMgcmVhZG9ubHkgc3RyaW5nW10pLmluY2x1ZGVzKG9wZXJhdG9yKTtcbiAgICAgICAgICAgIGlmIChvcGVyYXRvciA9PT0gQkVUV0VFTikge1xuICAgICAgICAgICAgICBoYW5kbGVCZXR3ZWVuKGRlc2NyaXB0b3IsIGRlY29kZWQsIGZpZWxkLCBvcGVyYXRvciwgYWNjKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNMaXN0KSB7XG4gICAgICAgICAgICAgIGhhbmRsZUxpc3QoZGVzY3JpcHRvciwgZGVjb2RlZCwgZmllbGQsIG9wZXJhdG9yLCBhY2MpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaGFuZGxlU2NhbGFyKGRlc2NyaXB0b3IsIGRlY29kZWQsIGZpZWxkLCBvcGVyYXRvciwgYWNjKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGFjYztcbn1cbiJdfQ==
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcGFyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsTUFBTSxPQUFPLEdBQW9CLFNBQVMsQ0FBQztBQUMzQyxNQUFNLFFBQVEsR0FBNEIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFReEQsU0FBUyxpQkFBaUIsQ0FDeEIsT0FBd0IsRUFDeEIsS0FBYTtJQUViLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFnQixDQUU1QixDQUFDO0lBQ2QsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDM0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFDRCxNQUFNLEtBQUssR0FBb0IsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQzlDLE1BQU0sT0FBTyxHQUE0QixFQUFFLENBQUM7SUFDM0MsS0FBaUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUM7SUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQy9DLENBQUM7QUFHRCxTQUFTLFdBQVcsQ0FDbEIsS0FBYSxFQUNiLEtBQWEsRUFDYixRQUFnQixFQUNoQixXQUF5QjtJQUV6QixJQUFJLENBQUM7UUFDSCxPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSSxFQUFFLGFBQWE7WUFDbkIsS0FBSztZQUNMLFFBQVE7WUFDUixNQUFNLEVBQUUsa0JBQWtCO1NBQzNCLENBQUMsQ0FBQztRQUNILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7QUFDSCxDQUFDO0FBR0QsU0FBUyxnQkFBZ0IsQ0FDdkIsVUFBMkIsRUFDM0IsR0FBVztJQUVYLElB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QUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUMxRCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIFNjaGVtYSxcbiAgT3BlcmF0b3IsXG4gIExpc3RPcGVyYXRvcixcbiAgQmV0d2Vlbk9wZXJhdG9yLFxuICBJbmZlckZpbHRlcnMsXG4gIEZpZWxkRGVzY3JpcHRvcixcbiAgUGFyc2VSZXN1bHQsXG59IGZyb20gJy4vdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBEaWFnbm9zdGljIH0gZnJvbSAnLi9lcnJvcnMuanMnO1xuXG5jb25zdCBCRVRXRUVOOiBCZXR3ZWVuT3BlcmF0b3IgPSAnYmV0d2Vlbic7XG5jb25zdCBMSVNUX09QUzogcmVhZG9ubHkgTGlzdE9wZXJhdG9yW10gPSBbJ2luJywgJ25pbiddO1xuXG5pbnRlcmZhY2UgSW50ZXJuYWxBY2N1bXVsYXRvcjxTIGV4dGVuZHMgU2NoZW1hPiB7XG4gIGZpbHRlcnM6IEluZmVyRmlsdGVyczxTPjtcbiAgZGlhZ25vc3RpY3M6IERpYWdub3N0aWNbXTtcbn1cblxuLyoqIFNoYWxsb3cgY2xvbmUgcGx1cyBlbnN1cmUgZmllbGQgb2JqZWN0IGhlbHBlciAoaW1tdXRhYmxlIHVwZGF0ZSkuICovXG5mdW5jdGlvbiBlbnN1cmVGaWVsZE9iamVjdDxTIGV4dGVuZHMgU2NoZW1hPihcbiAgZmlsdGVyczogSW5mZXJGaWx0ZXJzPFM+LFxuICBmaWVsZDogc3RyaW5nLFxuKTogeyBjb250YWluZXI6IEluZmVyRmlsdGVyczxTPjsgdGFyZ2V0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB9IHtcbiAgY29uc3QgZXhpc3RpbmcgPSBmaWx0ZXJzW2ZpZWxkIGFzIGtleW9mIFNdIGFzXG4gICAgfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgIHwgdW5kZWZpbmVkO1xuICBpZiAoZXhpc3RpbmcgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB7IGNvbnRhaW5lcjogZmlsdGVycywgdGFyZ2V0OiBleGlzdGluZyB9O1xuICB9XG4gIGNvbnN0IGNsb25lOiBJbmZlckZpbHRlcnM8Uz4gPSB7IC4uLmZpbHRlcnMgfTtcbiAgY29uc3QgY3JlYXRlZDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgKGNsb25lIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtmaWVsZF0gPSBjcmVhdGVkO1xuICByZXR1cm4geyBjb250YWluZXI6IGNsb25lLCB0YXJnZXQ6IGNyZWF0ZWQgfTtcbn1cblxuLyoqIERlY29kZSBjb21wb25lbnQsIHJlY29yZGluZyBhIGRpYWdub3N0aWMgb24gZmFpbHVyZS4gKi9cbmZ1bmN0aW9uIGRlY29kZVZhbHVlKFxuICB2YWx1ZTogc3RyaW5nLFxuICBmaWVsZDogc3RyaW5nLFxuICBvcGVyYXRvcjogc3RyaW5nLFxuICBkaWFnbm9zdGljczogRGlhZ25vc3RpY1tdLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHZhbHVlKTtcbiAgfSBjYXRjaCB7XG4gICAgZGlhZ25vc3RpY3MucHVzaCh7XG4gICAgICBraW5kOiAnRGVjb2RlRXJyb3InLFxuICAgICAgZmllbGQsXG4gICAgICBvcGVyYXRvcixcbiAgICAgIGRldGFpbDogJ0ZhaWxlZCB0byBkZWNvZGUnLFxuICAgIH0pO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqIFBhcnNlIGEgc2luZ2xlIHJhdyB2YWx1ZSBhY2NvcmRpbmcgdG8gZmllbGQga2luZC4gKi9cbmZ1bmN0aW9uIHBhcnNlU2luZ2xlVmFsdWUoXG4gIGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvcixcbiAgcmF3OiBzdHJpbmcsXG4pOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQge1xuICBpZiAoZGVzY3JpcHRvci5raW5kID09PSAnbnVtYmVyJykge1xuICAgIGlmIChyYXcgPT09ICcnKSB7XG4gICAgICAvLyBUcmVhdCBlbXB0eSBzdHJpbmcgYXMgaW52YWxpZCBmb3IgbnVtZXJpYyBmaWVsZHMgKHJlamVjdCBpbnN0ZWFkIG9mIGNvZXJjaW5nIHRvIDApXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBuID0gTnVtYmVyKHJhdyk7XG4gICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUobikpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBuO1xuICB9XG4gIHJldHVybiByYXc7XG59XG5cbi8qKiBIYW5kbGUgYSBiZXR3ZWVuIG9wZXJhdG9yIHZhbHVlLiAqL1xuZnVuY3Rpb24gaGFuZGxlQmV0d2VlbjxTIGV4dGVuZHMgU2NoZW1hPihcbiAgZGVzY3JpcHRvcjogRmllbGREZXNjcmlwdG9yLFxuICBkZWNvZGVkOiBzdHJpbmcsXG4gIGZpZWxkOiBzdHJpbmcsXG4gIG9wZXJhdG9yOiBzdHJpbmcsXG4gIGFjYzogSW50ZXJuYWxBY2N1bXVsYXRvcjxTPixcbik6IHZvaWQge1xuICBjb25zdCBwYXJ0czogc3RyaW5nW10gPSBkZWNvZGVkLnNwbGl0KCcsJyk7XG4gIGlmIChwYXJ0cy5sZW5ndGggIT09IDIpIHtcbiAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7XG4gICAgICBraW5kOiAnSW52YWxpZEFyaXR5JyxcbiAgICAgIGZpZWxkLFxuICAgICAgb3BlcmF0b3IsXG4gICAgICBkZXRhaWw6ICdFeHBlY3RlZCBleGFjdGx5IDIgdmFsdWVzJyxcbiAgICB9KTtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgW2FSYXcsIGJSYXddID0gcGFydHMgYXMgW3N0cmluZywgc3RyaW5nXTtcbiAgY29uc3QgYSA9IHBhcnNlU2luZ2xlVmFsdWUoZGVzY3JpcHRvciwgYVJhdyk7XG4gIGNvbnN0IGIgPSBwYXJzZVNpbmdsZVZhbHVlKGRlc2NyaXB0b3IsIGJSYXcpO1xuICBpZiAoYSA9PT0gdW5kZWZpbmVkIHx8IGIgPT09IHVuZGVmaW5lZCkge1xuICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHtcbiAgICAgIGtpbmQ6ICdJbnZhbGlkVmFsdWUnLFxuICAgICAgZmllbGQsXG4gICAgICBvcGVyYXRvcixcbiAgICAgIGRldGFpbDogJ09uZSBvZiB0aGUgYmV0d2VlbiB2YWx1ZXMgaW52YWxpZCcsXG4gICAgfSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGVuc3VyZWQgPSBlbnN1cmVGaWVsZE9iamVjdChhY2MuZmlsdGVycywgZmllbGQpO1xuICBhY2MuZmlsdGVycyA9IGVuc3VyZWQuY29udGFpbmVyO1xuICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGVuc3VyZWQudGFyZ2V0LCAnYmV0d2VlbicpKSB7XG4gICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnRHVwbGljYXRlQmV0d2VlbicsIGZpZWxkIH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBlbnN1cmVkLnRhcmdldC5iZXR3ZWVuID0gW2EsIGJdIGFzIHVua25vd247XG59XG5cbi8qKiBIYW5kbGUgbGlzdCBvcGVyYXRvcnMgKGluLCBuaW4pLiAqL1xuZnVuY3Rpb24gaGFuZGxlTGlzdDxTIGV4dGVuZHMgU2NoZW1hPihcbiAgZGVzY3JpcHRvcjogRmllbGREZXNjcmlwdG9yLFxuICBkZWNvZGVkOiBzdHJpbmcsXG4gIGZpZWxkOiBzdHJpbmcsXG4gIG9wZXJhdG9yOiBzdHJpbmcsXG4gIGFjYzogSW50ZXJuYWxBY2N1bXVsYXRvcjxTPixcbik6IHZvaWQge1xuICBjb25zdCBsaXN0UmF3ID0gZGVjb2RlZC5zcGxpdCgnLCcpO1xuICBjb25zdCBwYXJzZWRMaXN0OiAoc3RyaW5nIHwgbnVtYmVyKVtdID0gW107XG4gIGZvciAoY29uc3QgaXRlbSBvZiBsaXN0UmF3KSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGFyc2VTaW5nbGVWYWx1ZShkZXNjcmlwdG9yLCBpdGVtKTtcbiAgICBpZiAocGFyc2VkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHtcbiAgICAgICAga2luZDogJ0ludmFsaWRWYWx1ZScsXG4gICAgICAgIGZpZWxkLFxuICAgICAgICBvcGVyYXRvcixcbiAgICAgICAgZGV0YWlsOiAnTGlzdCBpdGVtIGludmFsaWQnLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlZExpc3QucHVzaChwYXJzZWQpO1xuICAgIH1cbiAgfVxuICBpZiAocGFyc2VkTGlzdC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgZW5zdXJlZCA9IGVuc3VyZUZpZWxkT2JqZWN0KGFjYy5maWx0ZXJzLCBmaWVsZCk7XG4gIGFjYy5maWx0ZXJzID0gZW5zdXJlZC5jb250YWluZXI7XG4gIGNvbnN0IHRhcmdldE9iajogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBlbnN1cmVkLnRhcmdldDtcbiAgY29uc3QgZXhpc3RpbmcgPSB0YXJnZXRPYmpbb3BlcmF0b3JdO1xuICBpZiAoQXJyYXkuaXNBcnJheShleGlzdGluZykpIHtcbiAgICB0YXJnZXRPYmpbb3BlcmF0b3JdID0gWy4uLmV4aXN0aW5nLCAuLi5wYXJzZWRMaXN0XTtcbiAgfSBlbHNlIHtcbiAgICB0YXJnZXRPYmpbb3BlcmF0b3JdID0gcGFyc2VkTGlzdDtcbiAgfVxufVxuXG4vKiogSGFuZGxlIHNjYWxhciBvcGVyYXRvciB2YWx1ZXMuICovXG5mdW5jdGlvbiBoYW5kbGVTY2FsYXI8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvcixcbiAgZGVjb2RlZDogc3RyaW5nLFxuICBmaWVsZDogc3RyaW5nLFxuICBvcGVyYXRvcjogc3RyaW5nLFxuICBhY2M6IEludGVybmFsQWNjdW11bGF0b3I8Uz4sXG4pOiB2b2lkIHtcbiAgY29uc3Qgc2NhbGFyID0gcGFyc2VTaW5nbGVWYWx1ZShkZXNjcmlwdG9yLCBkZWNvZGVkKTtcbiAgaWYgKHNjYWxhciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnSW52YWxpZFZhbHVlJywgZmllbGQsIG9wZXJhdG9yIH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBlbnN1cmVkID0gZW5zdXJlRmllbGRPYmplY3QoYWNjLmZpbHRlcnMsIGZpZWxkKTtcbiAgYWNjLmZpbHRlcnMgPSBlbnN1cmVkLmNvbnRhaW5lcjtcbiAgY29uc3Qgc2NhbGFyVGFyZ2V0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IGVuc3VyZWQudGFyZ2V0O1xuICBzY2FsYXJUYXJnZXRbb3BlcmF0b3JdID0gc2NhbGFyO1xufVxuXG4vKiogUGFyc2UgYSByYXcgc2VhcmNoIHN0cmluZyAobGVhZGluZyA/IG9wdGlvbmFsKSBhY2NvcmRpbmcgdG8gdGhlIHByb3ZpZGVkIHNjaGVtYS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZTxTIGV4dGVuZHMgU2NoZW1hPihcbiAgcmF3U2VhcmNoOiBzdHJpbmcsXG4gIHNjaGVtYTogUyxcbik6IFBhcnNlUmVzdWx0PFM+IHtcbiAgY29uc3QgYWNjOiBJbnRlcm5hbEFjY3VtdWxhdG9yPFM+ID0geyBmaWx0ZXJzOiB7fSwgZGlhZ25vc3RpY3M6IFtdIH07XG4gIGxldCBzZWFyY2ggPSByYXdTZWFyY2g7XG4gIGlmIChzZWFyY2guc3RhcnRzV2l0aCgnPycpKSB7XG4gICAgc2VhcmNoID0gc2VhcmNoLnNsaWNlKDEpO1xuICB9XG4gIGlmIChzZWFyY2gudHJpbSgpID09PSAnJykge1xuICAgIHJldHVybiBhY2M7XG4gIH1cbiAgY29uc3Qgc2VnbWVudHMgPSBzZWFyY2guc3BsaXQoJyYnKTtcbiAgZm9yIChjb25zdCBzZWcgb2Ygc2VnbWVudHMpIHtcbiAgICBjb25zdCBlcUlkeCA9IHNlZy5pbmRleE9mKCc9Jyk7XG4gICAgY29uc3QgdmFsaWRCYXNpYyA9IHNlZyAhPT0gJycgJiYgZXFJZHggIT09IC0xO1xuICAgIGlmICh2YWxpZEJhc2ljKSB7XG4gICAgICBjb25zdCByYXdLZXkgPSBzZWcuc2xpY2UoMCwgZXFJZHgpO1xuICAgICAgY29uc3QgcmF3VmFsID0gc2VnLnNsaWNlKGVxSWR4ICsgMSk7XG4gICAgICBjb25zdCBsYXN0RG90ID0gcmF3S2V5Lmxhc3RJbmRleE9mKCcuJyk7XG4gICAgICAvLyBDYXNlIDE6IGtleSB3aXRoIGV4cGxpY2l0IG9wZXJhdG9yIChmaWVsZC5vcClcbiAgICAgIGNvbnN0IGV4cGxpY2l0U2hhcGUgPSAhKGxhc3REb3QgPD0gMCB8fCBsYXN0RG90ID09PSByYXdLZXkubGVuZ3RoIC0gMSk7XG4gICAgICBpZiAoZXhwbGljaXRTaGFwZSkge1xuICAgICAgICBjb25zdCBmaWVsZCA9IHJhd0tleS5zbGljZSgwLCBsYXN0RG90KTtcbiAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSByYXdLZXkuc2xpY2UobGFzdERvdCArIDEpIGFzIE9wZXJhdG9yO1xuICAgICAgICBjb25zdCBkZXNjcmlwdG9yID0gc2NoZW1hW2ZpZWxkXTtcbiAgICAgICAgY29uc3QgZGVzY09rID0gZGVzY3JpcHRvcj8ub3BlcmF0b3JzLmluY2x1ZGVzKG9wZXJhdG9yKSA9PT0gdHJ1ZTtcbiAgICAgICAgaWYgKCFkZXNjT2spIHtcbiAgICAgICAgICBpZiAoZGVzY3JpcHRvciA9PSBudWxsKSB7XG4gICAgICAgICAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7IGtpbmQ6ICdVbmtub3duRmllbGQnLCBmaWVsZCB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnVW5rbm93bk9wZXJhdG9yJywgZmllbGQsIG9wZXJhdG9yIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBkZWNvZGVkID0gZGVjb2RlVmFsdWUocmF3VmFsLCBmaWVsZCwgb3BlcmF0b3IsIGFjYy5kaWFnbm9zdGljcyk7XG4gICAgICAgICAgaWYgKGRlY29kZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgaXNMaXN0ID0gKExJU1RfT1BTIGFzIHJlYWRvbmx5IHN0cmluZ1tdKS5pbmNsdWRlcyhvcGVyYXRvcik7XG4gICAgICAgICAgICBpZiAob3BlcmF0b3IgPT09IEJFVFdFRU4pIHtcbiAgICAgICAgICAgICAgaGFuZGxlQmV0d2VlbihkZXNjcmlwdG9yLCBkZWNvZGVkLCBmaWVsZCwgb3BlcmF0b3IsIGFjYyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzTGlzdCkge1xuICAgICAgICAgICAgICBoYW5kbGVMaXN0KGRlc2NyaXB0b3IsIGRlY29kZWQsIGZpZWxkLCBvcGVyYXRvciwgYWNjKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNjYWxhcihkZXNjcmlwdG9yLCBkZWNvZGVkLCBmaWVsZCwgb3BlcmF0b3IsIGFjYyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGxhc3REb3QgPT09IC0xKSB7XG4gICAgICAgIC8vIGltcGxpY2l0IGVxdWFsaXR5IChubyBkb3QpID0+IG9wZXJhdG9yICdlcSdcbiAgICAgICAgY29uc3QgZmllbGQgPSByYXdLZXk7XG4gICAgICAgIGNvbnN0IG9wZXJhdG9yOiBPcGVyYXRvciA9ICdlcSc7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBzY2hlbWFbZmllbGRdO1xuICAgICAgICBpZiAoZGVzY3JpcHRvciA9PSBudWxsKSB7XG4gICAgICAgICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnVW5rbm93bkZpZWxkJywgZmllbGQgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoIWRlc2NyaXB0b3Iub3BlcmF0b3JzLmluY2x1ZGVzKG9wZXJhdG9yKSkge1xuICAgICAgICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHsga2luZDogJ1Vua25vd25PcGVyYXRvcicsIGZpZWxkLCBvcGVyYXRvciB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBkZWNvZGVkID0gZGVjb2RlVmFsdWUocmF3VmFsLCBmaWVsZCwgb3BlcmF0b3IsIGFjYy5kaWFnbm9zdGljcyk7XG4gICAgICAgICAgaWYgKGRlY29kZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGFuZGxlU2NhbGFyKGRlc2NyaXB0b3IsIGRlY29kZWQsIGZpZWxkLCBvcGVyYXRvciwgYWNjKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGFjYztcbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../src/stringify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAY,MAAM,YAAY,CAAC;AAQjE,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EACxC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,MAAM,EAAE,CAAC,GACR,MAAM,CAgDR"}
1
+ {"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../src/stringify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAY,MAAM,YAAY,CAAC;AASjE,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EACxC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,MAAM,EAAE,CAAC,GACR,MAAM,CA8DR"}
package/lib/stringify.js CHANGED
@@ -1,4 +1,6 @@
1
1
  function encodeKey(field, op) {
2
+ if (op === 'eq')
3
+ return field;
2
4
  return `${field}.${op}`;
3
5
  }
4
6
  export function stringify(filters, schema) {
@@ -10,7 +12,18 @@ export function stringify(filters, schema) {
10
12
  }
11
13
  else {
12
14
  for (const op of descriptor.operators) {
13
- if (op === 'between') {
15
+ if (op === 'eq') {
16
+ const scalar = value[op];
17
+ if (scalar !== undefined) {
18
+ let printable = scalar;
19
+ if (typeof printable !== 'string' &&
20
+ typeof printable !== 'number') {
21
+ printable = JSON.stringify(printable);
22
+ }
23
+ parts.push(`${encodeKey(field, op)}=${encodeURIComponent(String(printable))}`);
24
+ }
25
+ }
26
+ else if (op === 'between') {
14
27
  const tuple = value.between;
15
28
  if (Array.isArray(tuple) && tuple.length === 2) {
16
29
  const first = encodeURIComponent(String(tuple[0]));
@@ -47,4 +60,4 @@ export function stringify(filters, schema) {
47
60
  }
48
61
  return parts.join('&');
49
62
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3N0cmluZ2lmeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxTQUFTLFNBQVMsQ0FBQyxLQUFhLEVBQUUsRUFBWTtJQUM1QyxPQUFPLEdBQUcsS0FBSyxJQUFJLEVBQUUsRUFBRSxDQUFDO0FBQzFCLENBQUM7QUFHRCxNQUFNLFVBQVUsU0FBUyxDQUN2QixPQUF3QixFQUN4QixNQUFTO0lBRVQsTUFBTSxLQUFLLEdBQWEsRUFBRSxDQUFDO0lBQzNCLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFnQixDQUFDLENBQUM7UUFDeEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7UUFFdEQsQ0FBQzthQUFNLENBQUM7WUFDTixLQUFLLE1BQU0sRUFBRSxJQUFJLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxFQUFFLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQ3JCLE1BQU0sS0FBSyxHQUFJLEtBQWlDLENBQUMsT0FFcEMsQ0FBQztvQkFDZCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQzt3QkFDL0MsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ25ELE1BQU0sTUFBTSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNwRCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUMsQ0FBQztvQkFDM0QsQ0FBQztnQkFDSCxDQUFDO3FCQUFNLElBQUksRUFBRSxLQUFLLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxFQUFFLENBQUM7b0JBQ3ZDLE1BQU0sSUFBSSxHQUFJLEtBQWlDLENBQUMsRUFBRSxDQUVyQyxDQUFDO29CQUNkLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUMzQyxNQUFNLFlBQVksR0FBRyxJQUFJOzZCQUN0QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTs0QkFDVCxPQUFPLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUN2QyxDQUFDLENBQUM7NkJBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUNiLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDLENBQUM7b0JBQ3hELENBQUM7Z0JBQ0gsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE1BQU0sTUFBTSxHQUFJLEtBQWlDLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ3RELElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO3dCQUN6QixJQUFJLFNBQWtCLENBQUM7d0JBQ3ZCLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDOzRCQUM3RCxTQUFTLEdBQUcsTUFBTSxDQUFDO3dCQUNyQixDQUFDOzZCQUFNLENBQUM7NEJBQ04sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQ3JDLENBQUM7d0JBQ0QsS0FBSyxDQUFDLElBQUksQ0FDUixHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksa0JBQWtCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FDbkUsQ0FBQztvQkFDSixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW5mZXJGaWx0ZXJzLCBTY2hlbWEsIE9wZXJhdG9yIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbi8qKiBCdWlsZCBlbmNvZGVkIGtleSBwb3J0aW9uIGZpZWxkLm9wICovXG5mdW5jdGlvbiBlbmNvZGVLZXkoZmllbGQ6IHN0cmluZywgb3A6IE9wZXJhdG9yKTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke2ZpZWxkfS4ke29wfWA7XG59XG5cbi8qKiBTZXJpYWxpemUgZmlsdGVycyBvYmplY3QgaW50byBhIHF1ZXJ5IHN0cmluZy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnk8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGZpbHRlcnM6IEluZmVyRmlsdGVyczxTPixcbiAgc2NoZW1hOiBTLFxuKTogc3RyaW5nIHtcbiAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gW107XG4gIGZvciAoY29uc3QgZmllbGQgb2YgT2JqZWN0LmtleXMoc2NoZW1hKSkge1xuICAgIGNvbnN0IHZhbHVlID0gZmlsdGVyc1tmaWVsZCBhcyBrZXlvZiBTXTtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gc2NoZW1hW2ZpZWxkXTtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCBkZXNjcmlwdG9yID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIHNraXAgYWJzZW50XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvciAoY29uc3Qgb3Agb2YgZGVzY3JpcHRvci5vcGVyYXRvcnMpIHtcbiAgICAgICAgaWYgKG9wID09PSAnYmV0d2VlbicpIHtcbiAgICAgICAgICBjb25zdCB0dXBsZSA9ICh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikuYmV0d2VlbiBhc1xuICAgICAgICAgICAgfCB1bmtub3duW11cbiAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHR1cGxlKSAmJiB0dXBsZS5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0ID0gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyh0dXBsZVswXSkpO1xuICAgICAgICAgICAgY29uc3Qgc2Vjb25kID0gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyh0dXBsZVsxXSkpO1xuICAgICAgICAgICAgcGFydHMucHVzaChgJHtlbmNvZGVLZXkoZmllbGQsIG9wKX09JHtmaXJzdH0sJHtzZWNvbmR9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKG9wID09PSAnaW4nIHx8IG9wID09PSAnbmluJykge1xuICAgICAgICAgIGNvbnN0IGxpc3QgPSAodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW29wXSBhc1xuICAgICAgICAgICAgfCB1bmtub3duW11cbiAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxpc3QpICYmIGxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZW5jb2RlZEl0ZW1zID0gbGlzdFxuICAgICAgICAgICAgICAubWFwKCh2KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChTdHJpbmcodikpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuam9pbignLCcpO1xuICAgICAgICAgICAgcGFydHMucHVzaChgJHtlbmNvZGVLZXkoZmllbGQsIG9wKX09JHtlbmNvZGVkSXRlbXN9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHNjYWxhciA9ICh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbb3BdO1xuICAgICAgICAgIGlmIChzY2FsYXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbGV0IHByaW50YWJsZTogdW5rbm93bjtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc2NhbGFyID09PSAnc3RyaW5nJyB8fCB0eXBlb2Ygc2NhbGFyID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICBwcmludGFibGUgPSBzY2FsYXI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwcmludGFibGUgPSBKU09OLnN0cmluZ2lmeShzY2FsYXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFydHMucHVzaChcbiAgICAgICAgICAgICAgYCR7ZW5jb2RlS2V5KGZpZWxkLCBvcCl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhwcmludGFibGUpKX1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHBhcnRzLmpvaW4oJyYnKTtcbn1cbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3N0cmluZ2lmeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxTQUFTLFNBQVMsQ0FBQyxLQUFhLEVBQUUsRUFBWTtJQUM1QyxJQUFJLEVBQUUsS0FBSyxJQUFJO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDOUIsT0FBTyxHQUFHLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQztBQUMxQixDQUFDO0FBR0QsTUFBTSxVQUFVLFNBQVMsQ0FDdkIsT0FBd0IsRUFDeEIsTUFBUztJQUVULE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztJQUMzQixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN4QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBZ0IsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksVUFBVSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBRXRELENBQUM7YUFBTSxDQUFDO1lBQ04sS0FBSyxNQUFNLEVBQUUsSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ3RDLElBQUksRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUNoQixNQUFNLE1BQU0sR0FBSSxLQUFpQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUN0RCxJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQzt3QkFDekIsSUFBSSxTQUFTLEdBQVksTUFBTSxDQUFDO3dCQUNoQyxJQUNFLE9BQU8sU0FBUyxLQUFLLFFBQVE7NEJBQzdCLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFDN0IsQ0FBQzs0QkFDRCxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQzt3QkFDeEMsQ0FBQzt3QkFDRCxLQUFLLENBQUMsSUFBSSxDQUNSLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUNuRSxDQUFDO29CQUNKLENBQUM7Z0JBQ0gsQ0FBQztxQkFBTSxJQUFJLEVBQUUsS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDNUIsTUFBTSxLQUFLLEdBQUksS0FBaUMsQ0FBQyxPQUVwQyxDQUFDO29CQUNkLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO3dCQUMvQyxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDbkQsTUFBTSxNQUFNLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ3BELEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUMzRCxDQUFDO2dCQUNILENBQUM7cUJBQU0sSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLEVBQUUsQ0FBQztvQkFDdkMsTUFBTSxJQUFJLEdBQUksS0FBaUMsQ0FBQyxFQUFFLENBRXJDLENBQUM7b0JBQ2QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7d0JBQzNDLE1BQU0sWUFBWSxHQUFHLElBQUk7NkJBQ3RCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFOzRCQUNULE9BQU8sa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ3ZDLENBQUMsQ0FBQzs2QkFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7d0JBQ2IsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQztvQkFDeEQsQ0FBQztnQkFDSCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sTUFBTSxNQUFNLEdBQUksS0FBaUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDdEQsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7d0JBQ3pCLElBQUksU0FBa0IsQ0FBQzt3QkFDdkIsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7NEJBQzdELFNBQVMsR0FBRyxNQUFNLENBQUM7d0JBQ3JCLENBQUM7NkJBQU0sQ0FBQzs0QkFDTixTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDckMsQ0FBQzt3QkFDRCxLQUFLLENBQUMsSUFBSSxDQUNSLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUNuRSxDQUFDO29CQUNKLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJbmZlckZpbHRlcnMsIFNjaGVtYSwgT3BlcmF0b3IgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuLyoqIEJ1aWxkIGVuY29kZWQga2V5IHBvcnRpb24gZm9yIG5vbi1lcSBvcGVyYXRvcnMgKi9cbmZ1bmN0aW9uIGVuY29kZUtleShmaWVsZDogc3RyaW5nLCBvcDogT3BlcmF0b3IpOiBzdHJpbmcge1xuICBpZiAob3AgPT09ICdlcScpIHJldHVybiBmaWVsZDsgLy8gaW1wbGljaXQgZXF1YWxpdHkgZm9ybVxuICByZXR1cm4gYCR7ZmllbGR9LiR7b3B9YDtcbn1cblxuLyoqIFNlcmlhbGl6ZSBmaWx0ZXJzIG9iamVjdCBpbnRvIGEgcXVlcnkgc3RyaW5nLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ2lmeTxTIGV4dGVuZHMgU2NoZW1hPihcbiAgZmlsdGVyczogSW5mZXJGaWx0ZXJzPFM+LFxuICBzY2hlbWE6IFMsXG4pOiBzdHJpbmcge1xuICBjb25zdCBwYXJ0czogc3RyaW5nW10gPSBbXTtcbiAgZm9yIChjb25zdCBmaWVsZCBvZiBPYmplY3Qua2V5cyhzY2hlbWEpKSB7XG4gICAgY29uc3QgdmFsdWUgPSBmaWx0ZXJzW2ZpZWxkIGFzIGtleW9mIFNdO1xuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBzY2hlbWFbZmllbGRdO1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGRlc2NyaXB0b3IgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gc2tpcCBhYnNlbnRcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yIChjb25zdCBvcCBvZiBkZXNjcmlwdG9yLm9wZXJhdG9ycykge1xuICAgICAgICBpZiAob3AgPT09ICdlcScpIHtcbiAgICAgICAgICBjb25zdCBzY2FsYXIgPSAodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW29wXTtcbiAgICAgICAgICBpZiAoc2NhbGFyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxldCBwcmludGFibGU6IHVua25vd24gPSBzY2FsYXI7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIHR5cGVvZiBwcmludGFibGUgIT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICAgIHR5cGVvZiBwcmludGFibGUgIT09ICdudW1iZXInXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgcHJpbnRhYmxlID0gSlNPTi5zdHJpbmdpZnkocHJpbnRhYmxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcnRzLnB1c2goXG4gICAgICAgICAgICAgIGAke2VuY29kZUtleShmaWVsZCwgb3ApfT0ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcocHJpbnRhYmxlKSl9YCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKG9wID09PSAnYmV0d2VlbicpIHtcbiAgICAgICAgICBjb25zdCB0dXBsZSA9ICh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikuYmV0d2VlbiBhc1xuICAgICAgICAgICAgfCB1bmtub3duW11cbiAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHR1cGxlKSAmJiB0dXBsZS5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0ID0gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyh0dXBsZVswXSkpO1xuICAgICAgICAgICAgY29uc3Qgc2Vjb25kID0gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyh0dXBsZVsxXSkpO1xuICAgICAgICAgICAgcGFydHMucHVzaChgJHtlbmNvZGVLZXkoZmllbGQsIG9wKX09JHtmaXJzdH0sJHtzZWNvbmR9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKG9wID09PSAnaW4nIHx8IG9wID09PSAnbmluJykge1xuICAgICAgICAgIGNvbnN0IGxpc3QgPSAodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW29wXSBhc1xuICAgICAgICAgICAgfCB1bmtub3duW11cbiAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxpc3QpICYmIGxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZW5jb2RlZEl0ZW1zID0gbGlzdFxuICAgICAgICAgICAgICAubWFwKCh2KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChTdHJpbmcodikpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuam9pbignLCcpO1xuICAgICAgICAgICAgcGFydHMucHVzaChgJHtlbmNvZGVLZXkoZmllbGQsIG9wKX09JHtlbmNvZGVkSXRlbXN9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHNjYWxhciA9ICh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbb3BdO1xuICAgICAgICAgIGlmIChzY2FsYXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbGV0IHByaW50YWJsZTogdW5rbm93bjtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc2NhbGFyID09PSAnc3RyaW5nJyB8fCB0eXBlb2Ygc2NhbGFyID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICBwcmludGFibGUgPSBzY2FsYXI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwcmludGFibGUgPSBKU09OLnN0cmluZ2lmeShzY2FsYXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFydHMucHVzaChcbiAgICAgICAgICAgICAgYCR7ZW5jb2RlS2V5KGZpZWxkLCBvcCl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhwcmludGFibGUpKX1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHBhcnRzLmpvaW4oJyYnKTtcbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/typescript/lib/lib.esnext.error.d.ts","../../../node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/@types/react/jsx-runtime.d.ts","../src/errors.ts","../src/types.ts","../src/schema.ts","../src/parse.ts","../src/stringify.ts","../src/mutate.ts","../src/index.ts","../../../node_modules/@types/deep-eql/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/utility.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client-stats.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/h2c-client.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/react-dom/index.d.ts","../../../node_modules/@types/relay-runtime/lib/util/RelayRuntimeTypes.d.ts","../../../node_modules/@types/relay-runtime/lib/handlers/connection/ConnectionInterface.d.ts","../../../node_modules/@types/relay-runtime/lib/util/JSResourceReference.d.ts","../../../node_modules/@types/relay-runtime/lib/util/NormalizationNode.d.ts","../../../node_modules/@types/relay-runtime/lib/util/ReaderNode.d.ts","../../../node_modules/@types/relay-runtime/lib/util/RelayConcreteNode.d.ts","../../../node_modules/@types/relay-runtime/lib/network/RelayObservable.d.ts","../../../node_modules/@types/relay-runtime/lib/network/RelayNetworkTypes.d.ts","../../../node_modules/@types/relay-runtime/lib/query/RelayModernGraphQLTag.d.ts","../../../node_modules/@types/relay-runtime/lib/mutations/RelayDeclarativeMutationConfig.d.ts","../../../node_modules/@types/relay-runtime/lib/mutations/commitMutation.d.ts","../../../node_modules/@types/relay-runtime/lib/util/getRequestIdentifier.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayModernStore.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayOperationTracker.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayRecordState.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayStoreTypes.d.ts","../../../node_modules/@types/relay-runtime/lib/handlers/connection/ConnectionHandler.d.ts","../../../node_modules/@types/relay-runtime/lib/mutations/applyOptimisticMutation.d.ts","../../../node_modules/@types/relay-runtime/lib/store/ClientID.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayResponseNormalizer.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayModernQueryExecutor.d.ts","../../../node_modules/@types/relay-runtime/lib/subscription/requestSubscription.d.ts","../../../node_modules/@types/relay-runtime/lib/util/RelayReplaySubject.d.ts","../../../node_modules/@types/relay-runtime/lib/network/RelayNetwork.d.ts","../../../node_modules/@types/relay-runtime/lib/handlers/RelayDefaultHandlerProvider.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayModernEnvironment.d.ts","../../../node_modules/@types/relay-runtime/lib/network/RelayQueryResponseCache.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayModernRecord.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayRecordSource.d.ts","../../../node_modules/@types/relay-runtime/lib/store/createFragmentSpecResolver.d.ts","../../../node_modules/@types/relay-runtime/lib/store/FragmentTypes.d.ts","../../../node_modules/@types/relay-runtime/lib/store/readInlineData.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayModernOperationDescriptor.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayModernSelector.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayStoreUtils.d.ts","../../../node_modules/@types/relay-runtime/lib/handlers/getRelayDefaultMissingFieldHandlers.d.ts","../../../node_modules/@types/relay-runtime/lib/handlers/connection/MutationHandlers.d.ts","../../../node_modules/@types/relay-runtime/lib/store/ViewerPattern.d.ts","../../../node_modules/@types/relay-runtime/lib/mutations/commitLocalUpdate.d.ts","../../../node_modules/@types/relay-runtime/lib/query/fetchQuery.d.ts","../../../node_modules/@types/relay-runtime/lib/query/fetchQuery_DEPRECATED.d.ts","../../../node_modules/@types/relay-runtime/lib/store/isRelayModernEnvironment.d.ts","../../../node_modules/@types/relay-runtime/lib/util/createPayloadFor3DField.d.ts","../../../node_modules/@types/relay-runtime/lib/util/getFragmentIdentifier.d.ts","../../../node_modules/@types/relay-runtime/lib/util/getPaginationMetadata.d.ts","../../../node_modules/@types/relay-runtime/lib/util/getPaginationVariables.d.ts","../../../node_modules/@types/relay-runtime/lib/util/getRefetchMetadata.d.ts","../../../node_modules/@types/relay-runtime/lib/util/getRelayHandleKey.d.ts","../../../node_modules/@types/relay-runtime/lib/util/getValueAtPath.d.ts","../../../node_modules/@types/relay-runtime/lib/util/handlePotentialSnapshotErrors.d.ts","../../../node_modules/@types/relay-runtime/lib/util/PreloadableQueryRegistry.d.ts","../../../node_modules/@types/relay-runtime/lib/util/RelayProfiler.d.ts","../../../node_modules/@types/relay-runtime/lib/util/RelayError.d.ts","../../../node_modules/@types/relay-runtime/lib/util/RelayFeatureFlags.d.ts","../../../node_modules/@types/relay-runtime/lib/util/deepFreeze.d.ts","../../../node_modules/@types/relay-runtime/lib/util/getPendingOperationsForFragment.d.ts","../../../node_modules/@types/relay-runtime/lib/util/isPromise.d.ts","../../../node_modules/@types/relay-runtime/lib/util/isScalarAndEqual.d.ts","../../../node_modules/@types/relay-runtime/lib/util/recycleNodesInto.d.ts","../../../node_modules/@types/relay-runtime/lib/util/stableCopy.d.ts","../../../node_modules/@types/relay-runtime/lib/query/fetchQueryInternal.d.ts","../../../node_modules/@types/relay-runtime/lib/util/withProvidedVariables.d.ts","../../../node_modules/@types/relay-runtime/lib/store/ResolverFragments.d.ts","../../../node_modules/@types/relay-runtime/index.d.ts","../../../node_modules/@types/react-relay/relay-hooks/helpers.d.ts","../../../node_modules/@types/react-relay/relay-hooks/EntryPointTypes.d.ts","../../../node_modules/@types/react-relay/relay-hooks/MatchContainer.d.ts","../../../node_modules/@types/react-relay/relay-hooks/ProfilerContext.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useLoadMoreFunction.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useMutation.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useQueryLoader.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useRefetchableFragmentNode.d.ts","../../../node_modules/@types/react-relay/relay-hooks/EntryPointContainer.react.d.ts","../../../node_modules/@types/react-relay/relay-hooks/RelayEnvironmentProvider.react.d.ts","../../../node_modules/@types/react-relay/relay-hooks/loadEntryPoint.d.ts","../../../node_modules/@types/react-relay/relay-hooks/loadQuery.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useClientQuery.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useEntryPointLoader.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useFragment.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useLazyLoadQuery.d.ts","../../../node_modules/@types/react-relay/relay-hooks/usePaginationFragment.d.ts","../../../node_modules/@types/react-relay/relay-hooks/usePreloadedQuery.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useRefetchableFragment.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useRelayEnvironment.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useSubscribeToInvalidationState.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useSubscription.d.ts","../../../node_modules/@types/react-relay/hooks.d.ts","../../../node_modules/@types/react-relay/ReactRelayTypes.d.ts","../../../node_modules/@types/react-relay/legacy.d.ts","../../../node_modules/@types/react-relay/index.d.ts","../../../node_modules/@types/whatwg-mimetype/index.d.ts"],"fileIdsList":[[99,107,153],[107,153],[107,150,153],[107,152,153],[153],[107,153,158,188],[107,153,154,159,165,173,185,196],[107,153,154,155,165,173],[107,153,156,197],[107,153,157,158,166,174],[107,153,158,185,193],[107,153,159,161,165,173],[107,152,153,160],[107,153,161,162],[107,153,163,165],[107,152,153,165],[107,153,165,166,167,185,196],[107,153,165,166,167,180,185,188],[107,148,153],[107,148,153,161,165,168,173,185,196],[107,153,165,166,168,169,173,185,193,196],[107,153,168,170,185,193,196],[105,106,107,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202],[107,153,165,171],[107,153,172,196],[107,153,161,165,173,185],[107,153,174],[107,153,175],[107,152,153,176],[107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202],[107,153,178],[107,153,179],[107,153,165,180,181],[107,153,180,182,197,199],[107,153,165,185,186,188],[107,153,187,188],[107,153,185,186],[107,153,188],[107,153,189],[107,150,153,185,190],[107,153,165,191,192],[107,153,191,192],[107,153,158,173,185,193],[107,153,194],[107,153,173,195],[107,153,168,179,196],[107,153,158,197],[107,153,185,198],[107,153,172,199],[107,153,200],[107,153,165,167,176,185,188,196,198,199,201],[107,153,185,202],[90,107,153],[90,107,153,269],[107,153,269,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291],[107,153,292,294],[90,107,153,269,293],[90,107,153,271],[90,107,153,269,270],[107,153,269,271],[107,153,270,271],[107,153,269],[107,153,269,270,271],[107,153,269,270],[107,153,269,270,274,277],[107,153,269,270,277],[88,89,107,153],[107,153,206,207,209,210,211,212,213,214,215,216,217,218,220,221,222,223,224,226,227,228,229,230,231,232,233,234,235,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268],[107,153,221],[107,153,206,221],[107,153,206],[107,153,206,211,221],[107,153,206,214,215,221],[107,153,206,213,214,215,221],[107,153,213],[107,153,206,211,212],[107,153,206,213],[107,153,210,211],[107,153,206,212,214,221],[107,153,212,213,217,221],[107,153,206,214,221],[107,153,206,212,213,219,221,225,226,230],[107,153,212,213,221,225],[107,153,206,209,210,221],[107,153,206,220,221],[107,153,213,221],[107,153,206,209,210,211,212,213,214,216,217,218,219,220],[107,153,206,209,210],[107,153,214,221,236],[107,153,214,236],[107,153,208,211],[107,153,206,211],[107,153,211,222],[107,153,212],[107,153,208,209],[107,153,210],[107,153,206,210],[107,153,210,221],[107,115,118,121,122,153,196],[107,118,153,185,196],[107,118,122,153,196],[107,153,185],[107,112,153],[107,116,153],[107,114,115,118,153,196],[107,153,173,193],[107,153,203],[107,112,153,203],[107,114,118,153,173,196],[107,109,110,111,113,117,153,165,185,196],[107,118,126,153],[107,110,116,153],[107,118,142,143,153],[107,110,113,118,153,188,196,203],[107,118,153],[107,114,118,153,196],[107,109,153],[107,112,113,114,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,143,144,145,146,147,153],[107,118,135,138,153,161],[107,118,126,127,128,153],[107,116,118,127,129,153],[107,117,153],[107,110,112,118,153],[107,118,122,127,129,153],[107,122,153],[107,116,118,121,153,196],[107,110,114,118,126,153],[107,118,135,153],[107,112,118,142,153,188,201,203],[87,91,107,153],[87,91,92,93,94,95,96,97,107,153],[87,91,93,107,153],[87,91,92,93,107,153],[87,91,92,107,153]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"2ab096661c711e4a81cc464fa1e6feb929a54f5340b46b0a07ac6bbf857471f0","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"4245fee526a7d1754529d19227ecbf3be066ff79ebb6a380d78e41648f2f224d","affectsGlobalScope":true,"impliedFormat":1},{"version":"73f78680d4c08509933daf80947902f6ff41b6230f94dd002ae372620adb0f60","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5239f5c01bcfa9cd32f37c496cf19c61d69d37e48be9de612b541aac915805b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"bde31fd423cd93b0eff97197a3f66df7c93e8c0c335cbeb113b7ff1ac35c23f4","impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"170d4db14678c68178ee8a3d5a990d5afb759ecb6ec44dbd885c50f6da6204f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","impliedFormat":1},{"version":"d3b51f31d37b98e93c1a0af2051fb6ac3ef39a09ebd287a488d655e996e4823c","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"00a5156ac244ffbab524172f196a827aa7f616dbb6effe59afc1391ce7b380c3","signature":"54e52fb5ec5001a17d5e14d779c15500ec4f365f49cabdfbd4ce9793b3a3e904"},{"version":"3a75e7cd6937e46e37cef44ae5df8edecf7b642ad5d5390ed0e941a6bcefdaed","signature":"10c742ae99579cd2522fa55ec5cbbcdea5f76fb6801b985a672f0fe717272195"},{"version":"3076f4c16812ca31f6337009c78eccef635aa6ab97f9e27b6c6e65b48c68b5a5","signature":"726c0af97474fb0338e679e60affbc6791a7db3329238de55e6b74ea945a5828"},{"version":"93098ebdfaad8fa8e27ea023fb5248a0d511f930012c87820ffacc93d3f92838","signature":"68b8ecf4307dec18bce9d0ea0ed31644888bbe05a92233748368977476db383a"},{"version":"a277f3f519936b083a347f7fc564d38d7d9e7ad68c626f9230a634d8d93669bb","signature":"38e065cd1cf89f24ca3e9255043e783c9fcf79a41ba2a5cccd88a1da7fa547ba"},{"version":"8a5f805835edbfcb75168f2cd269766d7c086e1c9da0cf488c54acf5794483a7","signature":"161b61310bb3154428097efb73008495bcb4b72ad63bc3d096ae5c7c1d060086"},"86905d2d44239c454966e3600ecb94907b6774c68aef7cc802e9c68edd625ee2",{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"c8905dbea83f3220676a669366cd8c1acef56af4d9d72a8b2241b1d044bb4302","affectsGlobalScope":true,"impliedFormat":99},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","impliedFormat":1},{"version":"fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0671b50bb99cc7ad46e9c68fa0e7f15ba4bc898b59c31a17ea4611fab5095da","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"e525f9e67f5ddba7b5548430211cae2479070b70ef1fd93550c96c10529457bd","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"4bc0794175abedf989547e628949888c1085b1efcd93fc482bccd77ee27f8b7c","impliedFormat":1},{"version":"3c8e93af4d6ce21eb4c8d005ad6dc02e7b5e6781f429d52a35290210f495a674","impliedFormat":1},{"version":"2c9875466123715464539bfd69bcaccb8ff6f3e217809428e0d7bd6323416d01","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"6c8e442ba33b07892169a14f7757321e49ab0f1032d676d321a1fdab8a67d40c","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"1cd673d367293fc5cb31cd7bf03d598eb368e4f31f39cf2b908abbaf120ab85a","impliedFormat":1},{"version":"af13e99445f37022c730bfcafcdc1761e9382ce1ea02afb678e3130b01ce5676","impliedFormat":1},{"version":"3825bf209f1662dfd039010a27747b73d0ef379f79970b1d05601ec8e8a4249f","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"da52342062e70c77213e45107921100ba9f9b3a30dd019444cf349e5fb3470c4","impliedFormat":1},{"version":"e9ace91946385d29192766bf783b8460c7dbcbfc63284aa3c9cae6de5155c8bc","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"1e30c045732e7db8f7a82cf90b516ebe693d2f499ce2250a977ec0d12e44a529","impliedFormat":1},{"version":"84b736594d8760f43400202859cda55607663090a43445a078963031d47e25e7","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"78b29846349d4dfdd88bd6650cc5d2baaa67f2e89dc8a80c8e26ef7995386583","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"e38d4fdf79e1eadd92ed7844c331dbaa40f29f21541cfee4e1acff4db09cda33","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"7c10a32ae6f3962672e6869ee2c794e8055d8225ef35c91c0228e354b4e5d2d3","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"99f569b42ea7e7c5fe404b2848c0893f3e1a56e0547c1cd0f74d5dbb9a9de27e","impliedFormat":1},{"version":"f4b4faedc57701ae727d78ba4a83e466a6e3bdcbe40efbf913b17e860642897c","affectsGlobalScope":true,"impliedFormat":1},{"version":"bbcfd9cd76d92c3ee70475270156755346c9086391e1b9cb643d072e0cf576b8","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"003ec918ec442c3a4db2c36dc0c9c766977ea1c8bcc1ca7c2085868727c3d3f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6310806c6aa3154773976dd083a15659d294700d9ad8f6b8a2e10c3dc461ff1","impliedFormat":1},{"version":"c4e8e8031808b158cfb5ac5c4b38d4a26659aec4b57b6a7e2ba0a141439c208c","impliedFormat":1},{"version":"2c91d8366ff2506296191c26fd97cc1990bab3ee22576275d28b654a21261a44","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"db39d9a16e4ddcd8a8f2b7b3292b362cc5392f92ad7ccd76f00bccf6838ac7de","affectsGlobalScope":true,"impliedFormat":1},{"version":"289e9894a4668c61b5ffed09e196c1f0c2f87ca81efcaebdf6357cfb198dac14","impliedFormat":1},{"version":"25a1105595236f09f5bce42398be9f9ededc8d538c258579ab662d509aa3b98e","impliedFormat":1},{"version":"5078cd62dbdf91ae8b1dc90b1384dec71a9c0932d62bdafb1a811d2a8e26bef2","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"ad1cc0ed328f3f708771272021be61ab146b32ecf2b78f3224959ff1e2cd2a5c","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"62f572306e0b173cc5dfc4c583471151f16ef3779cf27ab96922c92ec82a3bc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"622b67a408a881e15ab38043547563b9d29ca4b46f5b7a7e4a4fc3123d25d19f","impliedFormat":1},{"version":"2617f1d06b32c7b4dfd0a5c8bc7b5de69368ec56788c90f3d7f3e3d2f39f0253","impliedFormat":1},{"version":"bd8b644c5861b94926687618ec2c9e60ad054d334d6b7eb4517f23f53cb11f91","impliedFormat":1},{"version":"bcbabfaca3f6b8a76cb2739e57710daf70ab5c9479ab70f5351c9b4932abf6bd","impliedFormat":1},{"version":"77fced47f495f4ff29bb49c52c605c5e73cd9b47d50080133783032769a9d8a6","impliedFormat":1},{"version":"966dd0793b220e22344c944e0f15afafdc9b0c9201b6444ea0197cd176b96893","impliedFormat":1},{"version":"c54f0b30a787b3df16280f4675bd3d9d17bf983ae3cd40087409476bc50b922d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0f5cda0282e1d18198e2887387eb2f026372ebc4e11c4e4516fef8a19ee4d514","impliedFormat":1},{"version":"e99b0e71f07128fc32583e88ccd509a1aaa9524c290efb2f48c22f9bf8ba83b1","impliedFormat":1},{"version":"76957a6d92b94b9e2852cf527fea32ad2dc0ef50f67fe2b14bd027c9ceef2d86","impliedFormat":1},{"version":"5e9f8c1e042b0f598a9be018fc8c3cb670fe579e9f2e18e3388b63327544fe16","affectsGlobalScope":true,"impliedFormat":1},{"version":"a8a99a5e6ed33c4a951b67cc1fd5b64fd6ad719f5747845c165ca12f6c21ba16","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"de263f0089aefbfd73c89562fb7254a7468b1f33b61839aafc3f035d60766cb4","impliedFormat":1},{"version":"70b57b5529051497e9f6482b76d91c0dcbb103d9ead8a0549f5bab8f65e5d031","impliedFormat":1},{"version":"8c81fd4a110490c43d7c578e8c6f69b3af01717189196899a6a44f93daa57a3a","impliedFormat":1},{"version":"1013eb2e2547ad8c100aca52ef9df8c3f209edee32bb387121bb3227f7c00088","impliedFormat":1},{"version":"e07c573ac1971ea89e2c56ff5fd096f6f7bba2e6dbcd5681d39257c8d954d4a8","impliedFormat":1},{"version":"363eedb495912790e867da6ff96e81bf792c8cfe386321e8163b71823a35719a","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"dba28a419aec76ed864ef43e5f577a5c99a010c32e5949fe4e17a4d57c58dd11","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea713aa14a670b1ea0fbaaca4fd204e645f71ca7653a834a8ec07ee889c45de6","impliedFormat":1},{"version":"07199a85560f473f37363d8f1300fac361cda2e954caf8a40221f83a6bfa7ade","impliedFormat":1},{"version":"9705cd157ffbb91c5cab48bdd2de5a437a372e63f870f8a8472e72ff634d47c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"982efeb2573605d4e6d5df4dc7e40846bda8b9e678e058fc99522ab6165c479e","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"c9231cf03fd7e8cfd78307eecbd24ff3f0fa55d0f6d1108c4003c124d168adc4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2d5d50cd0667d9710d4d2f6e077cc4e0f9dc75e106cccaea59999b36873c5a0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"784490137935e1e38c49b9289110e74a1622baf8a8907888dcbe9e476d7c5e44","impliedFormat":1},{"version":"42180b657831d1b8fead051698618b31da623fb71ff37f002cb9d932cfa775f1","impliedFormat":1},{"version":"4f98d6fb4fe7cbeaa04635c6eaa119d966285d4d39f0eb55b2654187b0b27446","impliedFormat":1},{"version":"f8529fe0645fd9af7441191a4961497cc7638f75a777a56248eac6a079bb275d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4445f6ce6289c5b2220398138da23752fd84152c5c95bb8b58dedefc1758c036","impliedFormat":1},{"version":"a51f786b9f3c297668f8f322a6c58f85d84948ef69ade32069d5d63ec917221c","impliedFormat":1},{"version":"22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","impliedFormat":1},{"version":"a0acca63c9e39580f32a10945df231815f0fe554c074da96ba6564010ffbd2d8","impliedFormat":1},{"version":"49f788d87b0bfc75cc5e6d7b29878d7a591a37e6e2dcaedd4fd56a28c68b3dba","impliedFormat":1},{"version":"68fb03255bc665a6b0870f357e7ad30b06936fd23f953b7b3515593356fc7dc7","impliedFormat":1},{"version":"b74750114c90ed1eebcd8c401d58945715faee25d9bebaf1d38b7379ac0e8bee","impliedFormat":1},{"version":"a5eb5f5df53cfc2ac0e0fa574b87b063354bb60d83011a8a944592cb763a4ef3","impliedFormat":1},{"version":"c97de6c3d00976096e5daa16eb5353948bd1370bfdd34a3928d4356bc60b9951","impliedFormat":1},{"version":"2ae7031cbb8e51cad762dfc7105cd54f104a2ba474748bd7e51b93ef57efc4ec","impliedFormat":1},{"version":"eca586f8d5454be71352980b2f3632b950e5653853d23cfafa23c23ebf9f2214","impliedFormat":1},{"version":"a5c25f3eac00af3fa169d32a825529ab3744ab06bd12dc4863e5df906de0935d","impliedFormat":1},{"version":"d59606ee0fd367bb53ab4a7bdd725eb797935ac84d61b734b5b154d5e87b1f2a","impliedFormat":1},{"version":"333f54072f893459a9fd923ccc1d98a0a0f677b873da38bc6df6aaf53eb3c804","impliedFormat":1},{"version":"0a43ddb182f9f5cee949ea3e74201fcd3341532baaeeabc1bf7a7feddea8bf99","impliedFormat":1},{"version":"3e8ec1a5f5a843d37da7d4f5b0a5db3483090a1ec771af7bc9c97f23f3cb3fe8","impliedFormat":1},{"version":"4eaa57128c3df6a9887184deca5898e42014e2847497e3d5068a668e9205f224","impliedFormat":1},{"version":"bbb10beba8a6c537d321b20e9ad008f334e1c14750940325ff8123fb47d19fbc","impliedFormat":1},{"version":"1fb01c1871137ad0f67dc6a8cfb89738a830b383c0a6cbff33c1aeb9d903d4d7","impliedFormat":1},{"version":"51a945a07120b951c8cea08f040eb177334dba9c357c5b9e1de098ca8c06fe37","impliedFormat":1},{"version":"7b1caecce52025af2bbc26c36123af424ab847627d79555fa4c8ea614c31b65b","impliedFormat":1},{"version":"70af30a93501ecb81eb34f582fe0fa6372f4d63d1fbe75be23bbdc68af1ede84","impliedFormat":1},{"version":"2de1c9f7e89ce347521a6d24813f422e4525e6cb5e5431424dfa5667a536c1a9","impliedFormat":1},{"version":"4bc872351af9b7bfd689775bb8824968b87069b9f122edde77f608013afbb852","impliedFormat":1},{"version":"b10ab5fdd13c4b145b1ce9296a723be017537327a45b40fc51cdf5c6abd46779","impliedFormat":1},{"version":"148c11aff6b471c6b2d4ccb65df52b577cc2f83cfacccefb4beb7e88588ca306","impliedFormat":1},{"version":"eb91a545eb778025f40be24e8d2eb34e2c12517e5d25b89e629478bc28861a06","impliedFormat":1},{"version":"4e430af7adde77b6b7b0aedee795849792e7a3bb5eee7dde935e0962efcf8d14","impliedFormat":1},{"version":"d0c1fe405d9de15588912bd3664abcf037fe5ca42cab547e4149a762b09807aa","impliedFormat":1},{"version":"c3cf3329d1a783d3580ecd99347e179a8bcc7043df2d80f6cd04b001d27f6817","impliedFormat":1},{"version":"d04bba66913412483d48d39b03c13e157354558586579da8a54a45048d9afdd0","impliedFormat":1},{"version":"4a8b0d2aca39fe864ca5e7aabccfe7e427663cb740ef1c2035d317731fb26eb2","impliedFormat":1},{"version":"17e668c2886c3bccee0d4855565e34bae584c453a51ceb4408479165ea52b699","impliedFormat":1},{"version":"532a061935c095c1e8fbe85773f1bec27f31103db1184ed389b912e111d5671a","impliedFormat":1},{"version":"fed7cceea1b741f60b19440f48aab45413aebb93f02648d77f149517ccf125ae","impliedFormat":1},{"version":"f71a1cdb1da59997bb32e250a2c11b2d584a5bb620e1103ca5bbacc20b19ead7","impliedFormat":1},{"version":"93aca6e9c9b7ffe036bb428d455f19caf76e0da016054b67f591944af92368c5","impliedFormat":1},{"version":"bde6b509633fe50e8be1c7cad329ee5fa10437a283e51d110a17dc522e749790","impliedFormat":1},{"version":"5a14fc21e54f7a86e4ce82a2b0891c13d35dca6d7421cf95ea647ad30da256d1","impliedFormat":1},{"version":"2bd1f5a75232cc3ea3bad99e25d34ce2133c6434a335ee095399b20f18114235","impliedFormat":1},{"version":"83040b9a74c3a035e1b279a305bdc83f3d6e73566d6fe9fe7f6c4e5a8c1987d4","impliedFormat":1},{"version":"06726fb1e8db601bcfd20b53ee4c92cba2355e90c65ed1c67f2e1c11cc444b2f","impliedFormat":1},{"version":"f893df86ef5a2499fa27cde16ac1d0e5b8635ab8086ec50d84cac2268e42d5bc","impliedFormat":1},{"version":"9ad99c5ccf285d535a127f1fbcd231b9e273d043020813188b90277fc80f8e72","impliedFormat":1},{"version":"0c63371d59a6bc1d7babd3f25e7e46f5d1f97eb5a8fef877378de17b421f8184","impliedFormat":1},{"version":"f4037962b9690d52b6366708144f507e6e31a1ed16623d0d2c5e860e0a1728d2","impliedFormat":1},{"version":"379f6f178cf1cfab0f8175ffc2d76db236e977c25bcd7b820289924d6be1a8b0","impliedFormat":1},{"version":"1f30e8174c441f54db852e5f988e46e6d2b5b471bb4cd9a1937c866ef3b730f4","impliedFormat":1},{"version":"660e9e261663ecd6ed855b6cbd6f18d1b8fe3a54cb81405ed50d8199ecf16948","impliedFormat":1},{"version":"dea7340966b3808cf66f6d03e51f5a112e5d186f46949bb494a4a16182d4a7e2","impliedFormat":1},{"version":"4987cdb22c98512a8aad964a4b099615c5ac5139b1780c81e40afca974c1bbb7","impliedFormat":1},{"version":"742c322998429ea413d6ff5ecc0a9d8806c595b57c3b9a865fd39c21ed52d2a4","impliedFormat":1},{"version":"338e345832e49b9e90c91e1784ef06f996eda3911fb524d1fa8beb80c9ec7d14","impliedFormat":1},{"version":"131d7ddacacfb486f2ffe671cd1b20e205185cdf604a7d58ad26156444baf2c2","impliedFormat":1},{"version":"bfdeaa2d4b12395907f9ad65aafdfa227bdc5acd33f9d1073d9edb3cda99f4db","impliedFormat":1},{"version":"db49123b4a050d2e75c608c4ca295c0c3afcf55551f679f191a98af2ae332f89","impliedFormat":1},{"version":"8c1d4b0e346e51b5705d1bcfa735037468b9763b1d5607ab3fca9aa4d06395ff","impliedFormat":1},{"version":"024690a0d5b2279999eb943ba54ed358d71719265481eb2ca2990c8d22aef842","impliedFormat":1},{"version":"e63cefadbc88a116c1c929d31f86aa52691389adccda89944968134566273953","impliedFormat":1},{"version":"3a4ac9191e9ef93d08aed2082effba65da0c3d70f7cae435bc9b111d2f255017","impliedFormat":1},{"version":"a02f82c486321152429923e6a2ed1fd732ca9eb5be543572575baac1cd3a3fbd","impliedFormat":1},{"version":"14fcd8d8ef5369cbf117b197bfef87618d5df5c2bde6ff3fa5aa88edb5b5ab00","impliedFormat":1},{"version":"cfd2261a9b9808aa81b132ed9aa2b7094dc25fb468ac186fe4a46a017b0c5cbc","impliedFormat":1},{"version":"c1ecaaffc83a23641ea97d77ea3fe011d3691ea69daa35b042f52555ed01e079","impliedFormat":1},{"version":"21c2fb3096e4ab34eb95210498f4cebb3c1805e9db7f91a0de8f169e44333e24","impliedFormat":1},{"version":"bfec8414d2647afd3399322176dab03a9ae81272df52cf6de9c0eb89aca36eba","impliedFormat":1},{"version":"912db05ebe38f5ba6da1841f9e959171653cf61739caeab25cd867dc0490ac77","impliedFormat":1},{"version":"59ca6e5dc61b13e35d6ef1e45650b8bac8f9739ab2698b51ffa5cd0ecb2d4c64","impliedFormat":1},{"version":"f69ae5b16da5d1561d46e525539a9417a43fed9c381aced2729c5d5adfc560ff","impliedFormat":1},{"version":"e329946c3cf5e429c13a9981b4d2de9072255a185aea04a97950ccaa6107c9bd","impliedFormat":1},{"version":"6d15b5d17dcee2614d700956eb7528f0584f5be0111e8d42a5eabb184deb1691","impliedFormat":1},{"version":"143d5f3c2be43415f3c2cc10e6ee552051a23b93b588d8e7d79ea7d223e1acc3","impliedFormat":1},{"version":"cafddc723c8015f31dadc7f9e7c3f4505e713fb7accf3b624e523e51c46aa9e0","impliedFormat":1},{"version":"1525d225f7352ff803da8e23b07a13cf452712c7917f0c86c9d979dc44e54d18","impliedFormat":1},{"version":"97e2446789389a8b9d2b18afe04586e3cc9e59fa43ca5b661ef53949546cc5b1","impliedFormat":1},{"version":"ead6991d9ca6cac1eb507a2adb20f6c5df882c966dae02c67e8535b6817f9b2d","impliedFormat":1},{"version":"56211dfad4fad435c83ddf4974009e9d9fe8074740f1eaee06ba0009dcb6508e","impliedFormat":1},{"version":"32504791df03c7664ae10af27ec1ed4abd05a1594b1a980d2aa9838214227557","impliedFormat":1},{"version":"5e4fccb5e6b61bf9ac6d56afc44043991e1852b6738ce69c0e8952d516c0435f","impliedFormat":1},{"version":"4c325ee9ff980d5681bcd3a5d12cbcc7e4b3a2f6e385132b06164bad49c09538","impliedFormat":1},{"version":"3bebc9bdfca168dacbda3adeb07f88948a30f7c13ee0f975e8dd3580a3e9f798","impliedFormat":1},{"version":"d4c5e5769a72124b2a9e07ec3b5eedf4576c6f559d6fd49e6c36db58edc57454","impliedFormat":1},{"version":"ea3e7c74a6123d5d622a876176719fe4cd434d31bc626311586926cbce31d57f","impliedFormat":1},{"version":"f691b689e8ed9d4c93a3c7c32bb665df043bd338beb33cdfefec033b775a3bfb","impliedFormat":1},{"version":"1e95b0b895bf6eb414717b7839a78c1aa84b3b0033e52baca852ce187b41460a","impliedFormat":1},{"version":"5cd75541aad70d289d667010ccb55c2aa5804754c2b83c5a0ccac28faa880ced","impliedFormat":1},{"version":"bbd45caf6bfb1a33498353ac367eb587c5d7cf0c0ffbbf9c8e85f47cadea5118","impliedFormat":1},{"version":"6d3819f551e4e9d9581349dc5807cd2d8f26594e44a29b0c5eafceac74e82d3c","impliedFormat":1},{"version":"3a67ebc01c2ed45e71c33eebe6e8acfdf1dc2e583795fa50c6c23cd58fbb349b","impliedFormat":1},{"version":"68eaa1930aeb3b1e5a1a02187ed23fea718198f1d783d811f711585a8b40a957","impliedFormat":1},{"version":"6b4df9b04c5c7ac9ac72c6984847ea25a40599beb236b644e5c483fffd0af983","impliedFormat":1},{"version":"62dc050933f0ee29f692d8781194936e5018de9e003b0135014159770fe5ff8b","impliedFormat":1},{"version":"838ae7a351f381c396f1a694817623a203cd020d35d23b6802ccb00556a360ce","impliedFormat":1},{"version":"3a884f29d3f6c3f22f00488c1048bd9620038432b1bdead8b98684e59286b65f","impliedFormat":1},{"version":"18942319aff2c9619e05c379641b571f0958506472a4b539f906be08fcccf806","impliedFormat":1}],"root":[[92,98]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"importHelpers":true,"inlineSourceMap":true,"inlineSources":true,"jsx":4,"module":6,"noEmitHelpers":true,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitReturns":true,"noImplicitThis":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./esm","removeComments":true,"rootDir":"../src","skipLibCheck":true,"strict":true,"strictNullChecks":true,"target":99},"referencedMap":[[100,1],[99,2],[101,2],[102,2],[103,2],[104,2],[150,3],[151,3],[152,4],[107,5],[153,6],[154,7],[155,8],[105,2],[156,9],[157,10],[158,11],[159,12],[160,13],[161,14],[162,14],[164,2],[163,15],[165,16],[166,17],[167,18],[149,19],[106,2],[168,20],[169,21],[170,22],[203,23],[171,24],[172,25],[173,26],[174,27],[175,28],[176,29],[177,30],[178,31],[179,32],[180,33],[181,33],[182,34],[183,2],[184,2],[185,35],[187,36],[186,37],[188,38],[189,39],[190,40],[191,41],[192,42],[193,43],[194,44],[195,45],[196,46],[197,47],[198,48],[199,49],[200,50],[201,51],[202,52],[204,2],[205,53],[293,54],[292,55],[295,56],[294,57],[278,58],[271,59],[272,53],[273,53],[279,54],[270,60],[280,61],[281,60],[282,62],[283,63],[284,64],[285,62],[274,62],[275,62],[286,65],[287,60],[276,60],[288,66],[277,64],[289,62],[290,62],[291,62],[88,2],[90,67],[91,53],[269,68],[230,69],[222,70],[207,71],[242,69],[241,69],[215,72],[223,73],[244,69],[216,74],[229,75],[213,76],[212,2],[232,77],[214,78],[245,79],[266,80],[246,81],[224,71],[236,69],[231,82],[238,72],[226,83],[233,70],[239,84],[218,70],[219,69],[234,85],[220,2],[225,86],[221,87],[240,88],[268,89],[243,71],[235,69],[247,2],[237,90],[227,73],[208,2],[209,91],[256,92],[210,93],[211,88],[258,2],[259,71],[257,2],[228,94],[206,2],[248,95],[260,2],[249,96],[250,78],[251,97],[261,98],[252,78],[253,2],[217,92],[254,2],[255,69],[262,2],[263,2],[264,2],[265,2],[267,92],[296,2],[108,2],[89,2],[87,2],[84,2],[85,2],[15,2],[13,2],[14,2],[19,2],[18,2],[2,2],[20,2],[21,2],[22,2],[23,2],[24,2],[25,2],[26,2],[27,2],[3,2],[28,2],[29,2],[4,2],[30,2],[34,2],[31,2],[32,2],[33,2],[35,2],[36,2],[37,2],[5,2],[38,2],[39,2],[40,2],[41,2],[6,2],[45,2],[42,2],[43,2],[44,2],[46,2],[7,2],[47,2],[52,2],[53,2],[48,2],[49,2],[50,2],[51,2],[8,2],[57,2],[54,2],[55,2],[56,2],[58,2],[9,2],[59,2],[60,2],[61,2],[63,2],[62,2],[64,2],[65,2],[10,2],[66,2],[67,2],[68,2],[11,2],[69,2],[70,2],[71,2],[72,2],[73,2],[1,2],[74,2],[75,2],[12,2],[79,2],[77,2],[82,2],[81,2],[86,2],[76,2],[80,2],[78,2],[83,2],[17,2],[16,2],[126,99],[137,100],[124,101],[138,102],[147,103],[115,104],[116,105],[114,106],[146,107],[141,108],[145,109],[118,110],[134,111],[117,112],[144,113],[112,114],[113,108],[119,115],[120,2],[125,116],[123,115],[110,117],[148,118],[139,119],[129,120],[128,115],[130,121],[132,122],[127,123],[131,124],[142,107],[121,125],[122,126],[133,127],[111,102],[136,128],[135,115],[140,2],[109,2],[143,129],[92,130],[98,131],[97,132],[95,133],[94,132],[96,132],[93,134]],"latestChangedDtsFile":"./esm/index.d.ts","version":"5.9.2"}
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/typescript/lib/lib.esnext.error.d.ts","../../../node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/@types/react/jsx-runtime.d.ts","../src/errors.ts","../src/types.ts","../src/schema.ts","../src/parse.ts","../src/stringify.ts","../src/mutate.ts","../src/index.ts","../../../node_modules/@types/deep-eql/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/utility.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client-stats.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/h2c-client.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/react-dom/index.d.ts","../../../node_modules/@types/relay-runtime/lib/util/RelayRuntimeTypes.d.ts","../../../node_modules/@types/relay-runtime/lib/handlers/connection/ConnectionInterface.d.ts","../../../node_modules/@types/relay-runtime/lib/util/JSResourceReference.d.ts","../../../node_modules/@types/relay-runtime/lib/util/NormalizationNode.d.ts","../../../node_modules/@types/relay-runtime/lib/util/ReaderNode.d.ts","../../../node_modules/@types/relay-runtime/lib/util/RelayConcreteNode.d.ts","../../../node_modules/@types/relay-runtime/lib/network/RelayObservable.d.ts","../../../node_modules/@types/relay-runtime/lib/network/RelayNetworkTypes.d.ts","../../../node_modules/@types/relay-runtime/lib/query/RelayModernGraphQLTag.d.ts","../../../node_modules/@types/relay-runtime/lib/mutations/RelayDeclarativeMutationConfig.d.ts","../../../node_modules/@types/relay-runtime/lib/mutations/commitMutation.d.ts","../../../node_modules/@types/relay-runtime/lib/util/getRequestIdentifier.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayModernStore.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayOperationTracker.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayRecordState.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayStoreTypes.d.ts","../../../node_modules/@types/relay-runtime/lib/handlers/connection/ConnectionHandler.d.ts","../../../node_modules/@types/relay-runtime/lib/mutations/applyOptimisticMutation.d.ts","../../../node_modules/@types/relay-runtime/lib/store/ClientID.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayResponseNormalizer.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayModernQueryExecutor.d.ts","../../../node_modules/@types/relay-runtime/lib/subscription/requestSubscription.d.ts","../../../node_modules/@types/relay-runtime/lib/util/RelayReplaySubject.d.ts","../../../node_modules/@types/relay-runtime/lib/network/RelayNetwork.d.ts","../../../node_modules/@types/relay-runtime/lib/handlers/RelayDefaultHandlerProvider.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayModernEnvironment.d.ts","../../../node_modules/@types/relay-runtime/lib/network/RelayQueryResponseCache.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayModernRecord.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayRecordSource.d.ts","../../../node_modules/@types/relay-runtime/lib/store/createFragmentSpecResolver.d.ts","../../../node_modules/@types/relay-runtime/lib/store/FragmentTypes.d.ts","../../../node_modules/@types/relay-runtime/lib/store/readInlineData.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayModernOperationDescriptor.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayModernSelector.d.ts","../../../node_modules/@types/relay-runtime/lib/store/RelayStoreUtils.d.ts","../../../node_modules/@types/relay-runtime/lib/handlers/getRelayDefaultMissingFieldHandlers.d.ts","../../../node_modules/@types/relay-runtime/lib/handlers/connection/MutationHandlers.d.ts","../../../node_modules/@types/relay-runtime/lib/store/ViewerPattern.d.ts","../../../node_modules/@types/relay-runtime/lib/mutations/commitLocalUpdate.d.ts","../../../node_modules/@types/relay-runtime/lib/query/fetchQuery.d.ts","../../../node_modules/@types/relay-runtime/lib/query/fetchQuery_DEPRECATED.d.ts","../../../node_modules/@types/relay-runtime/lib/store/isRelayModernEnvironment.d.ts","../../../node_modules/@types/relay-runtime/lib/util/createPayloadFor3DField.d.ts","../../../node_modules/@types/relay-runtime/lib/util/getFragmentIdentifier.d.ts","../../../node_modules/@types/relay-runtime/lib/util/getPaginationMetadata.d.ts","../../../node_modules/@types/relay-runtime/lib/util/getPaginationVariables.d.ts","../../../node_modules/@types/relay-runtime/lib/util/getRefetchMetadata.d.ts","../../../node_modules/@types/relay-runtime/lib/util/getRelayHandleKey.d.ts","../../../node_modules/@types/relay-runtime/lib/util/getValueAtPath.d.ts","../../../node_modules/@types/relay-runtime/lib/util/handlePotentialSnapshotErrors.d.ts","../../../node_modules/@types/relay-runtime/lib/util/PreloadableQueryRegistry.d.ts","../../../node_modules/@types/relay-runtime/lib/util/RelayProfiler.d.ts","../../../node_modules/@types/relay-runtime/lib/util/RelayError.d.ts","../../../node_modules/@types/relay-runtime/lib/util/RelayFeatureFlags.d.ts","../../../node_modules/@types/relay-runtime/lib/util/deepFreeze.d.ts","../../../node_modules/@types/relay-runtime/lib/util/getPendingOperationsForFragment.d.ts","../../../node_modules/@types/relay-runtime/lib/util/isPromise.d.ts","../../../node_modules/@types/relay-runtime/lib/util/isScalarAndEqual.d.ts","../../../node_modules/@types/relay-runtime/lib/util/recycleNodesInto.d.ts","../../../node_modules/@types/relay-runtime/lib/util/stableCopy.d.ts","../../../node_modules/@types/relay-runtime/lib/query/fetchQueryInternal.d.ts","../../../node_modules/@types/relay-runtime/lib/util/withProvidedVariables.d.ts","../../../node_modules/@types/relay-runtime/lib/store/ResolverFragments.d.ts","../../../node_modules/@types/relay-runtime/index.d.ts","../../../node_modules/@types/react-relay/relay-hooks/helpers.d.ts","../../../node_modules/@types/react-relay/relay-hooks/EntryPointTypes.d.ts","../../../node_modules/@types/react-relay/relay-hooks/MatchContainer.d.ts","../../../node_modules/@types/react-relay/relay-hooks/ProfilerContext.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useLoadMoreFunction.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useMutation.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useQueryLoader.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useRefetchableFragmentNode.d.ts","../../../node_modules/@types/react-relay/relay-hooks/EntryPointContainer.react.d.ts","../../../node_modules/@types/react-relay/relay-hooks/RelayEnvironmentProvider.react.d.ts","../../../node_modules/@types/react-relay/relay-hooks/loadEntryPoint.d.ts","../../../node_modules/@types/react-relay/relay-hooks/loadQuery.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useClientQuery.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useEntryPointLoader.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useFragment.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useLazyLoadQuery.d.ts","../../../node_modules/@types/react-relay/relay-hooks/usePaginationFragment.d.ts","../../../node_modules/@types/react-relay/relay-hooks/usePreloadedQuery.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useRefetchableFragment.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useRelayEnvironment.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useSubscribeToInvalidationState.d.ts","../../../node_modules/@types/react-relay/relay-hooks/useSubscription.d.ts","../../../node_modules/@types/react-relay/hooks.d.ts","../../../node_modules/@types/react-relay/ReactRelayTypes.d.ts","../../../node_modules/@types/react-relay/legacy.d.ts","../../../node_modules/@types/react-relay/index.d.ts","../../../node_modules/@types/whatwg-mimetype/index.d.ts"],"fileIdsList":[[99,107,153],[107,153],[107,150,153],[107,152,153],[153],[107,153,158,188],[107,153,154,159,165,173,185,196],[107,153,154,155,165,173],[107,153,156,197],[107,153,157,158,166,174],[107,153,158,185,193],[107,153,159,161,165,173],[107,152,153,160],[107,153,161,162],[107,153,163,165],[107,152,153,165],[107,153,165,166,167,185,196],[107,153,165,166,167,180,185,188],[107,148,153],[107,148,153,161,165,168,173,185,196],[107,153,165,166,168,169,173,185,193,196],[107,153,168,170,185,193,196],[105,106,107,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202],[107,153,165,171],[107,153,172,196],[107,153,161,165,173,185],[107,153,174],[107,153,175],[107,152,153,176],[107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202],[107,153,178],[107,153,179],[107,153,165,180,181],[107,153,180,182,197,199],[107,153,165,185,186,188],[107,153,187,188],[107,153,185,186],[107,153,188],[107,153,189],[107,150,153,185,190],[107,153,165,191,192],[107,153,191,192],[107,153,158,173,185,193],[107,153,194],[107,153,173,195],[107,153,168,179,196],[107,153,158,197],[107,153,185,198],[107,153,172,199],[107,153,200],[107,153,165,167,176,185,188,196,198,199,201],[107,153,185,202],[90,107,153],[90,107,153,269],[107,153,269,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291],[107,153,292,294],[90,107,153,269,293],[90,107,153,271],[90,107,153,269,270],[107,153,269,271],[107,153,270,271],[107,153,269],[107,153,269,270,271],[107,153,269,270],[107,153,269,270,274,277],[107,153,269,270,277],[88,89,107,153],[107,153,206,207,209,210,211,212,213,214,215,216,217,218,220,221,222,223,224,226,227,228,229,230,231,232,233,234,235,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268],[107,153,221],[107,153,206,221],[107,153,206],[107,153,206,211,221],[107,153,206,214,215,221],[107,153,206,213,214,215,221],[107,153,213],[107,153,206,211,212],[107,153,206,213],[107,153,210,211],[107,153,206,212,214,221],[107,153,212,213,217,221],[107,153,206,214,221],[107,153,206,212,213,219,221,225,226,230],[107,153,212,213,221,225],[107,153,206,209,210,221],[107,153,206,220,221],[107,153,213,221],[107,153,206,209,210,211,212,213,214,216,217,218,219,220],[107,153,206,209,210],[107,153,214,221,236],[107,153,214,236],[107,153,208,211],[107,153,206,211],[107,153,211,222],[107,153,212],[107,153,208,209],[107,153,210],[107,153,206,210],[107,153,210,221],[107,115,118,121,122,153,196],[107,118,153,185,196],[107,118,122,153,196],[107,153,185],[107,112,153],[107,116,153],[107,114,115,118,153,196],[107,153,173,193],[107,153,203],[107,112,153,203],[107,114,118,153,173,196],[107,109,110,111,113,117,153,165,185,196],[107,118,126,153],[107,110,116,153],[107,118,142,143,153],[107,110,113,118,153,188,196,203],[107,118,153],[107,114,118,153,196],[107,109,153],[107,112,113,114,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,143,144,145,146,147,153],[107,118,135,138,153,161],[107,118,126,127,128,153],[107,116,118,127,129,153],[107,117,153],[107,110,112,118,153],[107,118,122,127,129,153],[107,122,153],[107,116,118,121,153,196],[107,110,114,118,126,153],[107,118,135,153],[107,112,118,142,153,188,201,203],[87,91,107,153],[87,91,92,93,94,95,96,97,107,153],[87,91,93,107,153],[87,91,92,93,107,153],[87,91,92,107,153]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"2ab096661c711e4a81cc464fa1e6feb929a54f5340b46b0a07ac6bbf857471f0","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"4245fee526a7d1754529d19227ecbf3be066ff79ebb6a380d78e41648f2f224d","affectsGlobalScope":true,"impliedFormat":1},{"version":"73f78680d4c08509933daf80947902f6ff41b6230f94dd002ae372620adb0f60","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5239f5c01bcfa9cd32f37c496cf19c61d69d37e48be9de612b541aac915805b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"bde31fd423cd93b0eff97197a3f66df7c93e8c0c335cbeb113b7ff1ac35c23f4","impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"170d4db14678c68178ee8a3d5a990d5afb759ecb6ec44dbd885c50f6da6204f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","impliedFormat":1},{"version":"d3b51f31d37b98e93c1a0af2051fb6ac3ef39a09ebd287a488d655e996e4823c","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"00a5156ac244ffbab524172f196a827aa7f616dbb6effe59afc1391ce7b380c3","signature":"54e52fb5ec5001a17d5e14d779c15500ec4f365f49cabdfbd4ce9793b3a3e904"},{"version":"3a75e7cd6937e46e37cef44ae5df8edecf7b642ad5d5390ed0e941a6bcefdaed","signature":"10c742ae99579cd2522fa55ec5cbbcdea5f76fb6801b985a672f0fe717272195"},{"version":"3076f4c16812ca31f6337009c78eccef635aa6ab97f9e27b6c6e65b48c68b5a5","signature":"726c0af97474fb0338e679e60affbc6791a7db3329238de55e6b74ea945a5828"},{"version":"56aeba5dafb909605b96f8640561d8cea2c0c23ad89a7285e268ba3911fc7667","signature":"68b8ecf4307dec18bce9d0ea0ed31644888bbe05a92233748368977476db383a"},{"version":"115bac94161af1e4600faeb30258ef3c14c78ca24402faf2705f40cfdfdb4904","signature":"38e065cd1cf89f24ca3e9255043e783c9fcf79a41ba2a5cccd88a1da7fa547ba"},{"version":"8a5f805835edbfcb75168f2cd269766d7c086e1c9da0cf488c54acf5794483a7","signature":"161b61310bb3154428097efb73008495bcb4b72ad63bc3d096ae5c7c1d060086"},"86905d2d44239c454966e3600ecb94907b6774c68aef7cc802e9c68edd625ee2",{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"c8905dbea83f3220676a669366cd8c1acef56af4d9d72a8b2241b1d044bb4302","affectsGlobalScope":true,"impliedFormat":99},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","impliedFormat":1},{"version":"fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0671b50bb99cc7ad46e9c68fa0e7f15ba4bc898b59c31a17ea4611fab5095da","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"e525f9e67f5ddba7b5548430211cae2479070b70ef1fd93550c96c10529457bd","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"4bc0794175abedf989547e628949888c1085b1efcd93fc482bccd77ee27f8b7c","impliedFormat":1},{"version":"3c8e93af4d6ce21eb4c8d005ad6dc02e7b5e6781f429d52a35290210f495a674","impliedFormat":1},{"version":"2c9875466123715464539bfd69bcaccb8ff6f3e217809428e0d7bd6323416d01","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"6c8e442ba33b07892169a14f7757321e49ab0f1032d676d321a1fdab8a67d40c","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"1cd673d367293fc5cb31cd7bf03d598eb368e4f31f39cf2b908abbaf120ab85a","impliedFormat":1},{"version":"af13e99445f37022c730bfcafcdc1761e9382ce1ea02afb678e3130b01ce5676","impliedFormat":1},{"version":"3825bf209f1662dfd039010a27747b73d0ef379f79970b1d05601ec8e8a4249f","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"da52342062e70c77213e45107921100ba9f9b3a30dd019444cf349e5fb3470c4","impliedFormat":1},{"version":"e9ace91946385d29192766bf783b8460c7dbcbfc63284aa3c9cae6de5155c8bc","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"1e30c045732e7db8f7a82cf90b516ebe693d2f499ce2250a977ec0d12e44a529","impliedFormat":1},{"version":"84b736594d8760f43400202859cda55607663090a43445a078963031d47e25e7","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"78b29846349d4dfdd88bd6650cc5d2baaa67f2e89dc8a80c8e26ef7995386583","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"e38d4fdf79e1eadd92ed7844c331dbaa40f29f21541cfee4e1acff4db09cda33","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"7c10a32ae6f3962672e6869ee2c794e8055d8225ef35c91c0228e354b4e5d2d3","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"99f569b42ea7e7c5fe404b2848c0893f3e1a56e0547c1cd0f74d5dbb9a9de27e","impliedFormat":1},{"version":"f4b4faedc57701ae727d78ba4a83e466a6e3bdcbe40efbf913b17e860642897c","affectsGlobalScope":true,"impliedFormat":1},{"version":"bbcfd9cd76d92c3ee70475270156755346c9086391e1b9cb643d072e0cf576b8","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"003ec918ec442c3a4db2c36dc0c9c766977ea1c8bcc1ca7c2085868727c3d3f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6310806c6aa3154773976dd083a15659d294700d9ad8f6b8a2e10c3dc461ff1","impliedFormat":1},{"version":"c4e8e8031808b158cfb5ac5c4b38d4a26659aec4b57b6a7e2ba0a141439c208c","impliedFormat":1},{"version":"2c91d8366ff2506296191c26fd97cc1990bab3ee22576275d28b654a21261a44","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"db39d9a16e4ddcd8a8f2b7b3292b362cc5392f92ad7ccd76f00bccf6838ac7de","affectsGlobalScope":true,"impliedFormat":1},{"version":"289e9894a4668c61b5ffed09e196c1f0c2f87ca81efcaebdf6357cfb198dac14","impliedFormat":1},{"version":"25a1105595236f09f5bce42398be9f9ededc8d538c258579ab662d509aa3b98e","impliedFormat":1},{"version":"5078cd62dbdf91ae8b1dc90b1384dec71a9c0932d62bdafb1a811d2a8e26bef2","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"ad1cc0ed328f3f708771272021be61ab146b32ecf2b78f3224959ff1e2cd2a5c","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"62f572306e0b173cc5dfc4c583471151f16ef3779cf27ab96922c92ec82a3bc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"622b67a408a881e15ab38043547563b9d29ca4b46f5b7a7e4a4fc3123d25d19f","impliedFormat":1},{"version":"2617f1d06b32c7b4dfd0a5c8bc7b5de69368ec56788c90f3d7f3e3d2f39f0253","impliedFormat":1},{"version":"bd8b644c5861b94926687618ec2c9e60ad054d334d6b7eb4517f23f53cb11f91","impliedFormat":1},{"version":"bcbabfaca3f6b8a76cb2739e57710daf70ab5c9479ab70f5351c9b4932abf6bd","impliedFormat":1},{"version":"77fced47f495f4ff29bb49c52c605c5e73cd9b47d50080133783032769a9d8a6","impliedFormat":1},{"version":"966dd0793b220e22344c944e0f15afafdc9b0c9201b6444ea0197cd176b96893","impliedFormat":1},{"version":"c54f0b30a787b3df16280f4675bd3d9d17bf983ae3cd40087409476bc50b922d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0f5cda0282e1d18198e2887387eb2f026372ebc4e11c4e4516fef8a19ee4d514","impliedFormat":1},{"version":"e99b0e71f07128fc32583e88ccd509a1aaa9524c290efb2f48c22f9bf8ba83b1","impliedFormat":1},{"version":"76957a6d92b94b9e2852cf527fea32ad2dc0ef50f67fe2b14bd027c9ceef2d86","impliedFormat":1},{"version":"5e9f8c1e042b0f598a9be018fc8c3cb670fe579e9f2e18e3388b63327544fe16","affectsGlobalScope":true,"impliedFormat":1},{"version":"a8a99a5e6ed33c4a951b67cc1fd5b64fd6ad719f5747845c165ca12f6c21ba16","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"de263f0089aefbfd73c89562fb7254a7468b1f33b61839aafc3f035d60766cb4","impliedFormat":1},{"version":"70b57b5529051497e9f6482b76d91c0dcbb103d9ead8a0549f5bab8f65e5d031","impliedFormat":1},{"version":"8c81fd4a110490c43d7c578e8c6f69b3af01717189196899a6a44f93daa57a3a","impliedFormat":1},{"version":"1013eb2e2547ad8c100aca52ef9df8c3f209edee32bb387121bb3227f7c00088","impliedFormat":1},{"version":"e07c573ac1971ea89e2c56ff5fd096f6f7bba2e6dbcd5681d39257c8d954d4a8","impliedFormat":1},{"version":"363eedb495912790e867da6ff96e81bf792c8cfe386321e8163b71823a35719a","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"dba28a419aec76ed864ef43e5f577a5c99a010c32e5949fe4e17a4d57c58dd11","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea713aa14a670b1ea0fbaaca4fd204e645f71ca7653a834a8ec07ee889c45de6","impliedFormat":1},{"version":"07199a85560f473f37363d8f1300fac361cda2e954caf8a40221f83a6bfa7ade","impliedFormat":1},{"version":"9705cd157ffbb91c5cab48bdd2de5a437a372e63f870f8a8472e72ff634d47c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"982efeb2573605d4e6d5df4dc7e40846bda8b9e678e058fc99522ab6165c479e","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"c9231cf03fd7e8cfd78307eecbd24ff3f0fa55d0f6d1108c4003c124d168adc4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2d5d50cd0667d9710d4d2f6e077cc4e0f9dc75e106cccaea59999b36873c5a0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"784490137935e1e38c49b9289110e74a1622baf8a8907888dcbe9e476d7c5e44","impliedFormat":1},{"version":"42180b657831d1b8fead051698618b31da623fb71ff37f002cb9d932cfa775f1","impliedFormat":1},{"version":"4f98d6fb4fe7cbeaa04635c6eaa119d966285d4d39f0eb55b2654187b0b27446","impliedFormat":1},{"version":"f8529fe0645fd9af7441191a4961497cc7638f75a777a56248eac6a079bb275d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4445f6ce6289c5b2220398138da23752fd84152c5c95bb8b58dedefc1758c036","impliedFormat":1},{"version":"a51f786b9f3c297668f8f322a6c58f85d84948ef69ade32069d5d63ec917221c","impliedFormat":1},{"version":"22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","impliedFormat":1},{"version":"a0acca63c9e39580f32a10945df231815f0fe554c074da96ba6564010ffbd2d8","impliedFormat":1},{"version":"49f788d87b0bfc75cc5e6d7b29878d7a591a37e6e2dcaedd4fd56a28c68b3dba","impliedFormat":1},{"version":"68fb03255bc665a6b0870f357e7ad30b06936fd23f953b7b3515593356fc7dc7","impliedFormat":1},{"version":"b74750114c90ed1eebcd8c401d58945715faee25d9bebaf1d38b7379ac0e8bee","impliedFormat":1},{"version":"a5eb5f5df53cfc2ac0e0fa574b87b063354bb60d83011a8a944592cb763a4ef3","impliedFormat":1},{"version":"c97de6c3d00976096e5daa16eb5353948bd1370bfdd34a3928d4356bc60b9951","impliedFormat":1},{"version":"2ae7031cbb8e51cad762dfc7105cd54f104a2ba474748bd7e51b93ef57efc4ec","impliedFormat":1},{"version":"eca586f8d5454be71352980b2f3632b950e5653853d23cfafa23c23ebf9f2214","impliedFormat":1},{"version":"a5c25f3eac00af3fa169d32a825529ab3744ab06bd12dc4863e5df906de0935d","impliedFormat":1},{"version":"d59606ee0fd367bb53ab4a7bdd725eb797935ac84d61b734b5b154d5e87b1f2a","impliedFormat":1},{"version":"333f54072f893459a9fd923ccc1d98a0a0f677b873da38bc6df6aaf53eb3c804","impliedFormat":1},{"version":"0a43ddb182f9f5cee949ea3e74201fcd3341532baaeeabc1bf7a7feddea8bf99","impliedFormat":1},{"version":"3e8ec1a5f5a843d37da7d4f5b0a5db3483090a1ec771af7bc9c97f23f3cb3fe8","impliedFormat":1},{"version":"4eaa57128c3df6a9887184deca5898e42014e2847497e3d5068a668e9205f224","impliedFormat":1},{"version":"bbb10beba8a6c537d321b20e9ad008f334e1c14750940325ff8123fb47d19fbc","impliedFormat":1},{"version":"1fb01c1871137ad0f67dc6a8cfb89738a830b383c0a6cbff33c1aeb9d903d4d7","impliedFormat":1},{"version":"51a945a07120b951c8cea08f040eb177334dba9c357c5b9e1de098ca8c06fe37","impliedFormat":1},{"version":"7b1caecce52025af2bbc26c36123af424ab847627d79555fa4c8ea614c31b65b","impliedFormat":1},{"version":"70af30a93501ecb81eb34f582fe0fa6372f4d63d1fbe75be23bbdc68af1ede84","impliedFormat":1},{"version":"2de1c9f7e89ce347521a6d24813f422e4525e6cb5e5431424dfa5667a536c1a9","impliedFormat":1},{"version":"4bc872351af9b7bfd689775bb8824968b87069b9f122edde77f608013afbb852","impliedFormat":1},{"version":"b10ab5fdd13c4b145b1ce9296a723be017537327a45b40fc51cdf5c6abd46779","impliedFormat":1},{"version":"148c11aff6b471c6b2d4ccb65df52b577cc2f83cfacccefb4beb7e88588ca306","impliedFormat":1},{"version":"eb91a545eb778025f40be24e8d2eb34e2c12517e5d25b89e629478bc28861a06","impliedFormat":1},{"version":"4e430af7adde77b6b7b0aedee795849792e7a3bb5eee7dde935e0962efcf8d14","impliedFormat":1},{"version":"d0c1fe405d9de15588912bd3664abcf037fe5ca42cab547e4149a762b09807aa","impliedFormat":1},{"version":"c3cf3329d1a783d3580ecd99347e179a8bcc7043df2d80f6cd04b001d27f6817","impliedFormat":1},{"version":"d04bba66913412483d48d39b03c13e157354558586579da8a54a45048d9afdd0","impliedFormat":1},{"version":"4a8b0d2aca39fe864ca5e7aabccfe7e427663cb740ef1c2035d317731fb26eb2","impliedFormat":1},{"version":"17e668c2886c3bccee0d4855565e34bae584c453a51ceb4408479165ea52b699","impliedFormat":1},{"version":"532a061935c095c1e8fbe85773f1bec27f31103db1184ed389b912e111d5671a","impliedFormat":1},{"version":"fed7cceea1b741f60b19440f48aab45413aebb93f02648d77f149517ccf125ae","impliedFormat":1},{"version":"f71a1cdb1da59997bb32e250a2c11b2d584a5bb620e1103ca5bbacc20b19ead7","impliedFormat":1},{"version":"93aca6e9c9b7ffe036bb428d455f19caf76e0da016054b67f591944af92368c5","impliedFormat":1},{"version":"bde6b509633fe50e8be1c7cad329ee5fa10437a283e51d110a17dc522e749790","impliedFormat":1},{"version":"5a14fc21e54f7a86e4ce82a2b0891c13d35dca6d7421cf95ea647ad30da256d1","impliedFormat":1},{"version":"2bd1f5a75232cc3ea3bad99e25d34ce2133c6434a335ee095399b20f18114235","impliedFormat":1},{"version":"83040b9a74c3a035e1b279a305bdc83f3d6e73566d6fe9fe7f6c4e5a8c1987d4","impliedFormat":1},{"version":"06726fb1e8db601bcfd20b53ee4c92cba2355e90c65ed1c67f2e1c11cc444b2f","impliedFormat":1},{"version":"f893df86ef5a2499fa27cde16ac1d0e5b8635ab8086ec50d84cac2268e42d5bc","impliedFormat":1},{"version":"9ad99c5ccf285d535a127f1fbcd231b9e273d043020813188b90277fc80f8e72","impliedFormat":1},{"version":"0c63371d59a6bc1d7babd3f25e7e46f5d1f97eb5a8fef877378de17b421f8184","impliedFormat":1},{"version":"f4037962b9690d52b6366708144f507e6e31a1ed16623d0d2c5e860e0a1728d2","impliedFormat":1},{"version":"379f6f178cf1cfab0f8175ffc2d76db236e977c25bcd7b820289924d6be1a8b0","impliedFormat":1},{"version":"1f30e8174c441f54db852e5f988e46e6d2b5b471bb4cd9a1937c866ef3b730f4","impliedFormat":1},{"version":"660e9e261663ecd6ed855b6cbd6f18d1b8fe3a54cb81405ed50d8199ecf16948","impliedFormat":1},{"version":"dea7340966b3808cf66f6d03e51f5a112e5d186f46949bb494a4a16182d4a7e2","impliedFormat":1},{"version":"4987cdb22c98512a8aad964a4b099615c5ac5139b1780c81e40afca974c1bbb7","impliedFormat":1},{"version":"742c322998429ea413d6ff5ecc0a9d8806c595b57c3b9a865fd39c21ed52d2a4","impliedFormat":1},{"version":"338e345832e49b9e90c91e1784ef06f996eda3911fb524d1fa8beb80c9ec7d14","impliedFormat":1},{"version":"131d7ddacacfb486f2ffe671cd1b20e205185cdf604a7d58ad26156444baf2c2","impliedFormat":1},{"version":"bfdeaa2d4b12395907f9ad65aafdfa227bdc5acd33f9d1073d9edb3cda99f4db","impliedFormat":1},{"version":"db49123b4a050d2e75c608c4ca295c0c3afcf55551f679f191a98af2ae332f89","impliedFormat":1},{"version":"8c1d4b0e346e51b5705d1bcfa735037468b9763b1d5607ab3fca9aa4d06395ff","impliedFormat":1},{"version":"024690a0d5b2279999eb943ba54ed358d71719265481eb2ca2990c8d22aef842","impliedFormat":1},{"version":"e63cefadbc88a116c1c929d31f86aa52691389adccda89944968134566273953","impliedFormat":1},{"version":"3a4ac9191e9ef93d08aed2082effba65da0c3d70f7cae435bc9b111d2f255017","impliedFormat":1},{"version":"a02f82c486321152429923e6a2ed1fd732ca9eb5be543572575baac1cd3a3fbd","impliedFormat":1},{"version":"14fcd8d8ef5369cbf117b197bfef87618d5df5c2bde6ff3fa5aa88edb5b5ab00","impliedFormat":1},{"version":"cfd2261a9b9808aa81b132ed9aa2b7094dc25fb468ac186fe4a46a017b0c5cbc","impliedFormat":1},{"version":"c1ecaaffc83a23641ea97d77ea3fe011d3691ea69daa35b042f52555ed01e079","impliedFormat":1},{"version":"21c2fb3096e4ab34eb95210498f4cebb3c1805e9db7f91a0de8f169e44333e24","impliedFormat":1},{"version":"bfec8414d2647afd3399322176dab03a9ae81272df52cf6de9c0eb89aca36eba","impliedFormat":1},{"version":"912db05ebe38f5ba6da1841f9e959171653cf61739caeab25cd867dc0490ac77","impliedFormat":1},{"version":"59ca6e5dc61b13e35d6ef1e45650b8bac8f9739ab2698b51ffa5cd0ecb2d4c64","impliedFormat":1},{"version":"f69ae5b16da5d1561d46e525539a9417a43fed9c381aced2729c5d5adfc560ff","impliedFormat":1},{"version":"e329946c3cf5e429c13a9981b4d2de9072255a185aea04a97950ccaa6107c9bd","impliedFormat":1},{"version":"6d15b5d17dcee2614d700956eb7528f0584f5be0111e8d42a5eabb184deb1691","impliedFormat":1},{"version":"143d5f3c2be43415f3c2cc10e6ee552051a23b93b588d8e7d79ea7d223e1acc3","impliedFormat":1},{"version":"cafddc723c8015f31dadc7f9e7c3f4505e713fb7accf3b624e523e51c46aa9e0","impliedFormat":1},{"version":"1525d225f7352ff803da8e23b07a13cf452712c7917f0c86c9d979dc44e54d18","impliedFormat":1},{"version":"97e2446789389a8b9d2b18afe04586e3cc9e59fa43ca5b661ef53949546cc5b1","impliedFormat":1},{"version":"ead6991d9ca6cac1eb507a2adb20f6c5df882c966dae02c67e8535b6817f9b2d","impliedFormat":1},{"version":"56211dfad4fad435c83ddf4974009e9d9fe8074740f1eaee06ba0009dcb6508e","impliedFormat":1},{"version":"32504791df03c7664ae10af27ec1ed4abd05a1594b1a980d2aa9838214227557","impliedFormat":1},{"version":"5e4fccb5e6b61bf9ac6d56afc44043991e1852b6738ce69c0e8952d516c0435f","impliedFormat":1},{"version":"4c325ee9ff980d5681bcd3a5d12cbcc7e4b3a2f6e385132b06164bad49c09538","impliedFormat":1},{"version":"3bebc9bdfca168dacbda3adeb07f88948a30f7c13ee0f975e8dd3580a3e9f798","impliedFormat":1},{"version":"d4c5e5769a72124b2a9e07ec3b5eedf4576c6f559d6fd49e6c36db58edc57454","impliedFormat":1},{"version":"ea3e7c74a6123d5d622a876176719fe4cd434d31bc626311586926cbce31d57f","impliedFormat":1},{"version":"f691b689e8ed9d4c93a3c7c32bb665df043bd338beb33cdfefec033b775a3bfb","impliedFormat":1},{"version":"1e95b0b895bf6eb414717b7839a78c1aa84b3b0033e52baca852ce187b41460a","impliedFormat":1},{"version":"5cd75541aad70d289d667010ccb55c2aa5804754c2b83c5a0ccac28faa880ced","impliedFormat":1},{"version":"bbd45caf6bfb1a33498353ac367eb587c5d7cf0c0ffbbf9c8e85f47cadea5118","impliedFormat":1},{"version":"6d3819f551e4e9d9581349dc5807cd2d8f26594e44a29b0c5eafceac74e82d3c","impliedFormat":1},{"version":"3a67ebc01c2ed45e71c33eebe6e8acfdf1dc2e583795fa50c6c23cd58fbb349b","impliedFormat":1},{"version":"68eaa1930aeb3b1e5a1a02187ed23fea718198f1d783d811f711585a8b40a957","impliedFormat":1},{"version":"6b4df9b04c5c7ac9ac72c6984847ea25a40599beb236b644e5c483fffd0af983","impliedFormat":1},{"version":"62dc050933f0ee29f692d8781194936e5018de9e003b0135014159770fe5ff8b","impliedFormat":1},{"version":"838ae7a351f381c396f1a694817623a203cd020d35d23b6802ccb00556a360ce","impliedFormat":1},{"version":"3a884f29d3f6c3f22f00488c1048bd9620038432b1bdead8b98684e59286b65f","impliedFormat":1},{"version":"18942319aff2c9619e05c379641b571f0958506472a4b539f906be08fcccf806","impliedFormat":1}],"root":[[92,98]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"importHelpers":true,"inlineSourceMap":true,"inlineSources":true,"jsx":4,"module":6,"noEmitHelpers":true,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitReturns":true,"noImplicitThis":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./esm","removeComments":true,"rootDir":"../src","skipLibCheck":true,"strict":true,"strictNullChecks":true,"target":99},"referencedMap":[[100,1],[99,2],[101,2],[102,2],[103,2],[104,2],[150,3],[151,3],[152,4],[107,5],[153,6],[154,7],[155,8],[105,2],[156,9],[157,10],[158,11],[159,12],[160,13],[161,14],[162,14],[164,2],[163,15],[165,16],[166,17],[167,18],[149,19],[106,2],[168,20],[169,21],[170,22],[203,23],[171,24],[172,25],[173,26],[174,27],[175,28],[176,29],[177,30],[178,31],[179,32],[180,33],[181,33],[182,34],[183,2],[184,2],[185,35],[187,36],[186,37],[188,38],[189,39],[190,40],[191,41],[192,42],[193,43],[194,44],[195,45],[196,46],[197,47],[198,48],[199,49],[200,50],[201,51],[202,52],[204,2],[205,53],[293,54],[292,55],[295,56],[294,57],[278,58],[271,59],[272,53],[273,53],[279,54],[270,60],[280,61],[281,60],[282,62],[283,63],[284,64],[285,62],[274,62],[275,62],[286,65],[287,60],[276,60],[288,66],[277,64],[289,62],[290,62],[291,62],[88,2],[90,67],[91,53],[269,68],[230,69],[222,70],[207,71],[242,69],[241,69],[215,72],[223,73],[244,69],[216,74],[229,75],[213,76],[212,2],[232,77],[214,78],[245,79],[266,80],[246,81],[224,71],[236,69],[231,82],[238,72],[226,83],[233,70],[239,84],[218,70],[219,69],[234,85],[220,2],[225,86],[221,87],[240,88],[268,89],[243,71],[235,69],[247,2],[237,90],[227,73],[208,2],[209,91],[256,92],[210,93],[211,88],[258,2],[259,71],[257,2],[228,94],[206,2],[248,95],[260,2],[249,96],[250,78],[251,97],[261,98],[252,78],[253,2],[217,92],[254,2],[255,69],[262,2],[263,2],[264,2],[265,2],[267,92],[296,2],[108,2],[89,2],[87,2],[84,2],[85,2],[15,2],[13,2],[14,2],[19,2],[18,2],[2,2],[20,2],[21,2],[22,2],[23,2],[24,2],[25,2],[26,2],[27,2],[3,2],[28,2],[29,2],[4,2],[30,2],[34,2],[31,2],[32,2],[33,2],[35,2],[36,2],[37,2],[5,2],[38,2],[39,2],[40,2],[41,2],[6,2],[45,2],[42,2],[43,2],[44,2],[46,2],[7,2],[47,2],[52,2],[53,2],[48,2],[49,2],[50,2],[51,2],[8,2],[57,2],[54,2],[55,2],[56,2],[58,2],[9,2],[59,2],[60,2],[61,2],[63,2],[62,2],[64,2],[65,2],[10,2],[66,2],[67,2],[68,2],[11,2],[69,2],[70,2],[71,2],[72,2],[73,2],[1,2],[74,2],[75,2],[12,2],[79,2],[77,2],[82,2],[81,2],[86,2],[76,2],[80,2],[78,2],[83,2],[17,2],[16,2],[126,99],[137,100],[124,101],[138,102],[147,103],[115,104],[116,105],[114,106],[146,107],[141,108],[145,109],[118,110],[134,111],[117,112],[144,113],[112,114],[113,108],[119,115],[120,2],[125,116],[123,115],[110,117],[148,118],[139,119],[129,120],[128,115],[130,121],[132,122],[127,123],[131,124],[142,107],[121,125],[122,126],[133,127],[111,102],[136,128],[135,115],[140,2],[109,2],[143,129],[92,130],[98,131],[97,132],[95,133],[94,132],[96,132],[93,134]],"latestChangedDtsFile":"./esm/index.d.ts","version":"5.9.2"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMN,WAAW,EACZ,MAAM,YAAY,CAAC;AAmKpB,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,CAAC,GACR,WAAW,CAAC,CAAC,CAAC,CA8ChB"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMN,WAAW,EACZ,MAAM,YAAY,CAAC;AAmKpB,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,CAAC,GACR,WAAW,CAAC,CAAC,CAAC,CA8DhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../../src/stringify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAY,MAAM,YAAY,CAAC;AAQjE,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EACxC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,MAAM,EAAE,CAAC,GACR,MAAM,CAgDR"}
1
+ {"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../../src/stringify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAY,MAAM,YAAY,CAAC;AASjE,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EACxC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,MAAM,EAAE,CAAC,GACR,MAAM,CA8DR"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumile/filter-query",
3
- "version": "0.1.19",
3
+ "version": "0.1.20",
4
4
  "description": "Typed filter query string parser and serializer for Plumile ecosystem",
5
5
  "type": "module",
6
6
  "main": "lib/esm/index.js",
@@ -39,5 +39,5 @@
39
39
  "publishConfig": {
40
40
  "access": "public"
41
41
  },
42
- "gitHead": "caf023d4bb55945413c9eb0c7fe622f70014bca2"
42
+ "gitHead": "3de78801029f2e5c01b25c365961ace20d4731b3"
43
43
  }
@@ -71,7 +71,7 @@ describe('additional coverage', () => {
71
71
 
72
72
  it('ignores segments without equal sign', () => {
73
73
  const { filters, diagnostics } = parse(
74
- 'price.gt=5&bogus&title.eq=abc',
74
+ 'price.gt=5&bogus&title=abc',
75
75
  baseSchema,
76
76
  );
77
77
  expect(filters.price?.gt).toBe(5);
@@ -78,15 +78,15 @@ describe('parse & stringify', () => {
78
78
  expect(s).toContain('price.nin=1,2,3,4,5');
79
79
  });
80
80
 
81
- it('supports eq / neq operators and overrides last-write', () => {
82
- const q = 'price.eq=10&price.eq=11&title.eq=foo&title.neq=bar';
81
+ it('supports implicit eq and explicit neq operators with last-write', () => {
82
+ const q = 'price=10&price=11&title=foo&title.neq=bar';
83
83
  const { filters } = parse(q, schema);
84
84
  expect(filters.price?.eq).toBe(11); // last write wins
85
85
  expect(filters.title?.eq).toBe('foo');
86
86
  expect(filters.title?.neq).toBe('bar');
87
87
  const s = stringify(filters, schema);
88
- expect(s).toContain('price.eq=11');
89
- expect(s).toMatch(/title\.eq=foo/);
88
+ expect(s).toContain('price=11');
89
+ expect(s).toMatch(/title=foo/);
90
90
  expect(s).toMatch(/title\.neq=bar/);
91
91
  });
92
92
 
@@ -19,11 +19,16 @@ describe('schema & parse edge cases', () => {
19
19
  ).toBe(true);
20
20
  });
21
21
 
22
- it('invalid key shapes are ignored silently', () => {
22
+ it('invalid key shapes or unknown implicit fields produce UnknownField only for unknown names', () => {
23
23
  const schema = defineSchema({ price: numberField(['gt']) });
24
24
  const { filters, diagnostics } = parse('pricegt=5&price.=6&.gt=7', schema);
25
25
  expect(filters).toEqual({});
26
- expect(diagnostics.length).toBe(0);
26
+ // pricegt becomes implicit eq -> UnknownField; the malformed keys with trailing/leading dot are ignored
27
+ expect(
28
+ diagnostics.filter((d) => {
29
+ return d.kind === 'UnknownField';
30
+ }).length,
31
+ ).toBe(1);
27
32
  });
28
33
 
29
34
  it('list operator keeps only valid numeric items and reports diagnostics for invalid + empty ones', () => {
package/src/parse.ts CHANGED
@@ -189,14 +189,15 @@ export function parse<S extends Schema>(
189
189
  const rawKey = seg.slice(0, eqIdx);
190
190
  const rawVal = seg.slice(eqIdx + 1);
191
191
  const lastDot = rawKey.lastIndexOf('.');
192
- const keyShapeOk = !(lastDot <= 0 || lastDot === rawKey.length - 1);
193
- if (keyShapeOk) {
192
+ // Case 1: key with explicit operator (field.op)
193
+ const explicitShape = !(lastDot <= 0 || lastDot === rawKey.length - 1);
194
+ if (explicitShape) {
194
195
  const field = rawKey.slice(0, lastDot);
195
196
  const operator = rawKey.slice(lastDot + 1) as Operator;
196
197
  const descriptor = schema[field];
197
198
  const descOk = descriptor?.operators.includes(operator) === true;
198
199
  if (!descOk) {
199
- if (descriptor === undefined) {
200
+ if (descriptor == null) {
200
201
  acc.diagnostics.push({ kind: 'UnknownField', field });
201
202
  } else {
202
203
  acc.diagnostics.push({ kind: 'UnknownOperator', field, operator });
@@ -214,6 +215,21 @@ export function parse<S extends Schema>(
214
215
  }
215
216
  }
216
217
  }
218
+ } else if (lastDot === -1) {
219
+ // implicit equality (no dot) => operator 'eq'
220
+ const field = rawKey;
221
+ const operator: Operator = 'eq';
222
+ const descriptor = schema[field];
223
+ if (descriptor == null) {
224
+ acc.diagnostics.push({ kind: 'UnknownField', field });
225
+ } else if (!descriptor.operators.includes(operator)) {
226
+ acc.diagnostics.push({ kind: 'UnknownOperator', field, operator });
227
+ } else {
228
+ const decoded = decodeValue(rawVal, field, operator, acc.diagnostics);
229
+ if (decoded !== undefined) {
230
+ handleScalar(descriptor, decoded, field, operator, acc);
231
+ }
232
+ }
217
233
  }
218
234
  }
219
235
  }
package/src/stringify.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import type { InferFilters, Schema, Operator } from './types.js';
2
2
 
3
- /** Build encoded key portion field.op */
3
+ /** Build encoded key portion for non-eq operators */
4
4
  function encodeKey(field: string, op: Operator): string {
5
+ if (op === 'eq') return field; // implicit equality form
5
6
  return `${field}.${op}`;
6
7
  }
7
8
 
@@ -18,7 +19,21 @@ export function stringify<S extends Schema>(
18
19
  // skip absent
19
20
  } else {
20
21
  for (const op of descriptor.operators) {
21
- if (op === 'between') {
22
+ if (op === 'eq') {
23
+ const scalar = (value as Record<string, unknown>)[op];
24
+ if (scalar !== undefined) {
25
+ let printable: unknown = scalar;
26
+ if (
27
+ typeof printable !== 'string' &&
28
+ typeof printable !== 'number'
29
+ ) {
30
+ printable = JSON.stringify(printable);
31
+ }
32
+ parts.push(
33
+ `${encodeKey(field, op)}=${encodeURIComponent(String(printable))}`,
34
+ );
35
+ }
36
+ } else if (op === 'between') {
22
37
  const tuple = (value as Record<string, unknown>).between as
23
38
  | unknown[]
24
39
  | undefined;