jtlt 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/CHANGES.md +15 -0
  2. package/README.md +100 -82
  3. package/demo/calltemplate-params-demo.js +29 -34
  4. package/demo/codemirror.esm.js +140 -70
  5. package/demo/codemirror.js +9 -5
  6. package/demo/index.js +2 -1
  7. package/demo/vendor/fontoxpath/dist/fontoxpath.esm.js +508 -499
  8. package/demo/vendor/jamilih/dist/jml.mjs +516 -225
  9. package/demo/vendor/jhtml/src/SAJJ/SAJJ.ObjectArrayDelegator.js +17 -17
  10. package/demo/vendor/jhtml/src/SAJJ/SAJJ.js +60 -61
  11. package/demo/vendor/jhtml/src/jhtml-browser.js +1 -0
  12. package/demo/vendor/jhtml/src/jhtml-node.js +1 -0
  13. package/demo/vendor/jhtml/src/jhtml.js +18 -15
  14. package/demo/vendor/jsonpath-plus/dist/index-browser-esm.js +11 -5
  15. package/dist/AbstractJoiningTransformer.d.ts +17 -25
  16. package/dist/AbstractJoiningTransformer.d.ts.map +1 -1
  17. package/dist/DOMJoiningTransformer.d.ts +502 -19
  18. package/dist/DOMJoiningTransformer.d.ts.map +1 -1
  19. package/dist/JSONJoiningTransformer.d.ts +41 -25
  20. package/dist/JSONJoiningTransformer.d.ts.map +1 -1
  21. package/dist/JSONPathTransformer.d.ts +30 -29
  22. package/dist/JSONPathTransformer.d.ts.map +1 -1
  23. package/dist/JSONPathTransformerContext.d.ts +152 -99
  24. package/dist/JSONPathTransformerContext.d.ts.map +1 -1
  25. package/dist/StringJoiningTransformer.d.ts +42 -28
  26. package/dist/StringJoiningTransformer.d.ts.map +1 -1
  27. package/dist/XPathTransformer.d.ts +20 -13
  28. package/dist/XPathTransformer.d.ts.map +1 -1
  29. package/dist/XPathTransformerContext.d.ts +92 -53
  30. package/dist/XPathTransformerContext.d.ts.map +1 -1
  31. package/dist/XSLTStyleJSONPathResolver.d.ts +1 -1
  32. package/dist/XSLTStyleJSONPathResolver.d.ts.map +1 -1
  33. package/dist/index-browser.d.ts +2 -2
  34. package/dist/index-browser.d.ts.map +1 -1
  35. package/dist/index-node.d.ts +2 -2
  36. package/dist/index-node.d.ts.map +1 -1
  37. package/dist/index.d.ts +224 -171
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/indexedDB.d.ts +107 -0
  40. package/dist/indexedDB.d.ts.map +1 -0
  41. package/dist/maybeAsync.d.ts +15 -0
  42. package/dist/maybeAsync.d.ts.map +1 -0
  43. package/docs/API.expanded.md +74 -22
  44. package/docs/API.md +34 -4
  45. package/docs/TO-DO.md +5 -3
  46. package/eslint.config.js +28 -4
  47. package/package.json +25 -22
  48. package/pnpm-workspace.yaml +41 -4
  49. package/rollup.config.js +42 -0
  50. package/src/AbstractJoiningTransformer.js +11 -4
  51. package/src/DOMJoiningTransformer.js +56 -27
  52. package/src/JSONJoiningTransformer.js +64 -44
  53. package/src/JSONPathTransformer.js +124 -85
  54. package/src/JSONPathTransformerContext.js +252 -70
  55. package/src/StringJoiningTransformer.js +48 -23
  56. package/src/XPathTransformer.js +50 -14
  57. package/src/XPathTransformerContext.js +309 -139
  58. package/src/index-browser.js +1 -0
  59. package/src/index-node.js +2 -0
  60. package/src/index.js +206 -72
  61. package/src/indexedDB.js +530 -0
  62. package/src/maybeAsync.js +44 -0
  63. package/test.html +17 -0
  64. package/test.js +45 -0
  65. package/tsconfig-prod.json +1 -0
  66. package/tsconfig.json +3 -2
  67. package/dist/types.d.ts +0 -204
  68. package/dist/types.d.ts.map +0 -1
@@ -1,11 +1,12 @@
1
- export default JSONJoiningTransformer;
2
- export type ObjectCallback = (this: JSONJoiningTransformer, obj: Record<string, unknown>) => void;
3
- export type ArrayCallback = (this: JSONJoiningTransformer, arr: any[]) => void;
4
- export type SimpleCallback<T = "json"> = (this: T extends "json" ? JSONJoiningTransformer : T extends "string" ? import("./StringJoiningTransformer.js").default : import("./DOMJoiningTransformer.js").default) => void;
5
- /**
6
- * Attributes object for element() allowing standard string attributes
7
- * plus special helpers: dataset (object) and $a (ordered attribute array).
8
- */
1
+ import AbstractJoiningTransformer from './AbstractJoiningTransformer.js';
2
+ export type ObjectCallback = (@this {JSONJoiningTransformer}
3
+ * : JSONJoiningTransformer, obj: Record<string, unknown>) => void;
4
+ export type ArrayCallback = (@this {JSONJoiningTransformer}
5
+ * : JSONJoiningTransformer, arr: any[]) => void;
6
+ export type SimpleCallback<T = "json"> = (@this {T extends "json" ? JSONJoiningTransformer :
7
+ * T extends "string" ? import('./StringJoiningTransformer.js').default
8
+ * : import('./DOMJoiningTransformer.js').default}
9
+ * : T extends "json" ? JSONJoiningTransformer : T extends "string" ? import('./StringJoiningTransformer.js').default : import('./DOMJoiningTransformer.js').default) => void;
9
10
  export type ElementAttributes = Record<string, unknown> & {
10
11
  dataset?: Record<string, string>;
11
12
  $a?: [string, string][];
@@ -56,14 +57,9 @@ export type ElementInfo = {
56
57
  * boolean/null add primitives accordingly. It does not perform HTML escaping
57
58
  * or string serialization; it builds real JS values.
58
59
  * @extends {AbstractJoiningTransformer<"json">}
60
+ * @template {import('./AbstractJoiningTransformer.js').JSONJoiningTransformerConfig} [TConfig=import('./AbstractJoiningTransformer.js').JSONJoiningTransformerConfig]
59
61
  */
60
- declare class JSONJoiningTransformer extends AbstractJoiningTransformer<"json"> {
61
- /**
62
- * @param {any[]|Record<string, unknown>} [o] - Initial object or array
63
- * @param {import('./AbstractJoiningTransformer.js').
64
- * JSONJoiningTransformerConfig} [cfg] - Configuration object
65
- */
66
- constructor(o?: any[] | Record<string, unknown>, cfg?: import("./AbstractJoiningTransformer.js").JSONJoiningTransformerConfig);
62
+ declare class JSONJoiningTransformer<TConfig extends import('./AbstractJoiningTransformer.js').JSONJoiningTransformerConfig = import('./AbstractJoiningTransformer.js').JSONJoiningTransformerConfig> extends AbstractJoiningTransformer<"json"> {
67
63
  /** @type {any[]|Record<string, unknown>} */
68
64
  _obj: any[] | Record<string, unknown>;
69
65
  /** @type {any} */
@@ -84,6 +80,21 @@ declare class JSONJoiningTransformer extends AbstractJoiningTransformer<"json">
84
80
  document: any;
85
81
  format?: string;
86
82
  }>;
83
+ root: any;
84
+ /** @type {any} */
85
+ _outputConfig: any;
86
+ /**
87
+ * @template {import('./AbstractJoiningTransformer.js').JSONJoiningTransformerConfig} T
88
+ * @param {any[]|Record<string, unknown>} [o] - Initial JSON object or array
89
+ * @param {T} [cfg] - Configuration options
90
+ * @returns {JSONJoiningTransformer<T>}
91
+ */
92
+ static create<T extends import('./AbstractJoiningTransformer.js').JSONJoiningTransformerConfig>(o?: any[] | Record<string, unknown>, cfg?: T): JSONJoiningTransformer<T>;
93
+ /**
94
+ * @param {any[]|Record<string, unknown>} [o] - Initial JSON object or array
95
+ * @param {import('./AbstractJoiningTransformer.js').JSONJoiningTransformerConfig} [cfg] - Configuration options
96
+ */
97
+ constructor(o?: any[] | Record<string, unknown>, cfg?: import('./AbstractJoiningTransformer.js').JSONJoiningTransformerConfig);
87
98
  /**
88
99
  * Directly appends an item to the internal array without checks.
89
100
  * @param {any} item - Item to append
@@ -106,9 +117,9 @@ declare class JSONJoiningTransformer extends AbstractJoiningTransformer<"json">
106
117
  * Gets the current object or array. If unwrapSingleResult config option is
107
118
  * enabled and the root array contains exactly one element, returns that
108
119
  * element directly (unwrapped).
109
- * @returns {any[]|Record<string, unknown>|any}
120
+ * @returns {TConfig['exposeDocuments'] extends true ? any[] : any[]|Record<string, unknown>|any}
110
121
  */
111
- get(): any[] | Record<string, unknown> | any;
122
+ get(): TConfig['exposeDocuments'] extends true ? any[] : any[] | Record<string, unknown> | any;
112
123
  /**
113
124
  * Sets a property value on the current object.
114
125
  * @param {string} prop - Property name
@@ -124,7 +135,7 @@ declare class JSONJoiningTransformer extends AbstractJoiningTransformer<"json">
124
135
  */
125
136
  mapEntry(prop: string, val: any): void;
126
137
  /**
127
- * @param {Record<string, unknown>|ObjectCallback} [objOrCb]
138
+ * @param {null|Record<string, unknown>|ObjectCallback} [objOrCb]
128
139
  * Seed object or callback.
129
140
  * @param {ObjectCallback|any[]} [cbOrUsePropertySets] Callback or sets.
130
141
  * @param {any[]|Record<string, unknown>} [usePropertySetsOrPropSets]
@@ -132,7 +143,7 @@ declare class JSONJoiningTransformer extends AbstractJoiningTransformer<"json">
132
143
  * @param {Record<string, unknown>} [propSets] Key-value pairs to add.
133
144
  * @returns {JSONJoiningTransformer}
134
145
  */
135
- object(objOrCb?: Record<string, unknown> | ObjectCallback, cbOrUsePropertySets?: ObjectCallback | any[], usePropertySetsOrPropSets?: any[] | Record<string, unknown>, propSets?: Record<string, unknown>): JSONJoiningTransformer;
146
+ object(objOrCb?: null | Record<string, unknown> | ObjectCallback, cbOrUsePropertySets?: ObjectCallback | any[], usePropertySetsOrPropSets?: any[] | Record<string, unknown>, propSets?: Record<string, unknown>): JSONJoiningTransformer;
136
147
  /**
137
148
  * Alias for object(). Build an object/map.
138
149
  * @param {Record<string, unknown>|ObjectCallback} [objOrCb]
@@ -146,11 +157,11 @@ declare class JSONJoiningTransformer extends AbstractJoiningTransformer<"json">
146
157
  map(objOrCb?: Record<string, unknown> | ObjectCallback, cbOrUsePropertySets?: ObjectCallback | any[], usePropertySetsOrPropSets?: any[] | Record<string, unknown>, propSets?: Record<string, unknown>): JSONJoiningTransformer;
147
158
  /**
148
159
  * Creates a new array and executes a callback in its context.
149
- * @param {any[]|ArrayCallback} [arrOrCb] Seed array or callback.
160
+ * @param {any[]|ArrayCallback|null} [arrOrCb] Seed array or callback.
150
161
  * @param {ArrayCallback} [cb] Callback when first arg was array.
151
162
  * @returns {JSONJoiningTransformer}
152
163
  */
153
- array(arrOrCb?: any[] | ArrayCallback, cb?: ArrayCallback): JSONJoiningTransformer;
164
+ array(arrOrCb?: any[] | ArrayCallback | null, cb?: ArrayCallback): JSONJoiningTransformer;
154
165
  /**
155
166
  * Appends a string value.
156
167
  * @param {string} str String value.
@@ -206,13 +217,18 @@ declare class JSONJoiningTransformer extends AbstractJoiningTransformer<"json">
206
217
  * @returns {JSONJoiningTransformer}
207
218
  */
208
219
  element(elem: string | Element, atts?: ElementAttributes | any[] | SimpleCallback, childNodes?: any[] | SimpleCallback, cb?: SimpleCallback, useAttributeSets?: string[]): JSONJoiningTransformer;
209
- root: any;
210
220
  /**
211
221
  * @param {string} prefix
212
222
  * @param {string} namespaceURI
213
223
  * @returns {JSONJoiningTransformer}
214
224
  */
215
225
  namespace(prefix: string, namespaceURI: string): JSONJoiningTransformer;
226
+ /**
227
+ * @param {string} prefix
228
+ * @returns {void}
229
+ * @override
230
+ */
231
+ _flushPendingNamespace(prefix: string): void;
216
232
  /**
217
233
  * Adds/updates an attribute for the most recently open element built via
218
234
  * a callback-driven element(). When not in an element callback context,
@@ -266,7 +282,7 @@ declare class JSONJoiningTransformer extends AbstractJoiningTransformer<"json">
266
282
  * Output configuration for the document (encoding, doctype, etc.)
267
283
  * @returns {JSONJoiningTransformer}
268
284
  */
269
- document(cb: (this: JSONJoiningTransformer) => void, cfg?: import("./StringJoiningTransformer.js").OutputConfig): JSONJoiningTransformer;
285
+ document(cb: (this: JSONJoiningTransformer) => void, cfg?: import('./StringJoiningTransformer.js').OutputConfig): JSONJoiningTransformer;
270
286
  /**
271
287
  * Creates a new result document with metadata (href, format).
272
288
  * Similar to XSLT's xsl:result-document, this allows templates to generate
@@ -280,7 +296,7 @@ declare class JSONJoiningTransformer extends AbstractJoiningTransformer<"json">
280
296
  * Output configuration for the document (encoding, doctype, format, etc.)
281
297
  * @returns {JSONJoiningTransformer}
282
298
  */
283
- resultDocument(href: string, cb: (this: JSONJoiningTransformer) => void, cfg?: import("./StringJoiningTransformer.js").OutputConfig): JSONJoiningTransformer;
299
+ resultDocument(href: string, cb: (this: JSONJoiningTransformer) => void, cfg?: import('./StringJoiningTransformer.js').OutputConfig): JSONJoiningTransformer;
284
300
  /**
285
301
  * Helper method to use property sets.
286
302
  * @param {Record<string, unknown>} obj - Object to which to apply
@@ -290,5 +306,5 @@ declare class JSONJoiningTransformer extends AbstractJoiningTransformer<"json">
290
306
  */
291
307
  _usePropertySets(obj: Record<string, unknown>, psName: string): Record<string, unknown>;
292
308
  }
293
- import AbstractJoiningTransformer from './AbstractJoiningTransformer.js';
309
+ export default JSONJoiningTransformer;
294
310
  //# sourceMappingURL=JSONJoiningTransformer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JSONJoiningTransformer.d.ts","sourceRoot":"","sources":["../src/JSONJoiningTransformer.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JSONJoiningTransformer.d.ts","sourceRoot":"","sources":["../src/JSONJoiningTransformer.js"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export default JSONPathTransformer;
1
+ import JSONPathTransformerContext from './JSONPathTransformerContext.js';
2
2
  /**
3
3
  * Applies named JSONPath-driven templates to JSON data.
4
4
  *
@@ -6,53 +6,52 @@ export default JSONPathTransformer;
6
6
  * optional `mode`), sorts by priority, and invokes the winning template.
7
7
  * If no template matches, built-in default rules emulate XSLT-like behavior
8
8
  * for objects, arrays, scalars, etc.
9
- * @template T
9
+ * @template {"json"|"string"|"dom"} [T="json"]
10
10
  */
11
- declare class JSONPathTransformer<T> {
12
- /**
13
- * @param {string} select - JSONPath selector
14
- * @returns {string} Absolute JSONPath
15
- */
16
- static makeJSONPathAbsolute(select: string): string;
11
+ declare class JSONPathTransformer<T extends "json" | "string" | "dom" = "json"> {
12
+ _config: import("./JSONPathTransformerContext.js").JSONPathTransformerContextConfig<T>;
13
+ /** @type {import('./index.js').JSONPathTemplateObject<T>[]} */
14
+ rootTemplates: import('./index.js').JSONPathTemplateObject<T>[];
15
+ templates: import("./index.js").JSONPathTemplateObject<T>[];
17
16
  static DefaultTemplateRules: {
18
17
  transformRoot: {
19
18
  /**
20
- * @template U
19
+ * @template {"json"|"string"|"dom"} U
21
20
  * @this {JSONPathTransformerContext<U>}
22
- * @param {any} value - Value
21
+ * @param {unknown} value - Value
23
22
  * @param {{mode?: string}} cfg - Configuration
24
23
  * @returns {void}
25
24
  */
26
- template<U>(this: JSONPathTransformerContext<U>, value: any, cfg: {
25
+ template<U extends "json" | "string" | "dom">(this: JSONPathTransformerContext<U>, value: unknown, cfg: {
27
26
  mode?: string;
28
27
  }): void;
29
28
  };
30
29
  transformPropertyNames: {
31
30
  /**
32
- * @param {any} value - Current context value
33
- * @returns {any}
31
+ * @param {unknown} value - Current context value
32
+ * @returns {unknown}
34
33
  */
35
- template(value: any): any;
34
+ template(value: unknown): unknown;
36
35
  };
37
36
  transformObjects: {
38
37
  /**
39
38
  * @this {JSONPathTransformerContext}
40
- * @param {any} value - Value
39
+ * @param {unknown} value - Value
41
40
  * @param {{mode?: string}} cfg - Configuration
42
41
  * @returns {void}
43
42
  */
44
- template(this: JSONPathTransformerContext<"json">, value: any, cfg: {
43
+ template(this: JSONPathTransformerContext, value: unknown, cfg: {
45
44
  mode?: string;
46
45
  }): void;
47
46
  };
48
47
  transformArrays: {
49
48
  /**
50
49
  * @this {JSONPathTransformerContext}
51
- * @param {any} value - Value
50
+ * @param {unknown} value - Value
52
51
  * @param {{mode?: string}} cfg - Configuration
53
52
  * @returns {void}
54
53
  */
55
- template(this: JSONPathTransformerContext<"json">, value: any, cfg: {
54
+ template(this: JSONPathTransformerContext, value: unknown, cfg: {
56
55
  mode?: string;
57
56
  }): void;
58
57
  };
@@ -61,25 +60,27 @@ declare class JSONPathTransformer<T> {
61
60
  * @this {JSONPathTransformerContext}
62
61
  * @returns {JSONPathTransformerContext}
63
62
  */
64
- template(this: JSONPathTransformerContext<"json">): JSONPathTransformerContext;
63
+ template(this: JSONPathTransformerContext): JSONPathTransformerContext;
65
64
  };
66
65
  transformFunctions: {
67
66
  /**
68
- * @param {( ...args: any[]) => any} value - Function at current context
69
- * @returns {any}
67
+ * @param {(...args: unknown[]) => unknown} value - Function at current
68
+ * context
69
+ * @returns {unknown}
70
70
  */
71
- template(value: (...args: any[]) => any): any;
71
+ template(value: (...args: unknown[]) => unknown): unknown;
72
72
  };
73
73
  };
74
+ /**
75
+ * @param {string} select - JSONPath selector
76
+ * @returns {string} Absolute JSONPath
77
+ */
78
+ static makeJSONPathAbsolute(select: string): string;
74
79
  /**
75
80
  * @param {import('./JSONPathTransformerContext.js').
76
81
  * JSONPathTransformerContextConfig<T>} config - Configuration object
77
82
  */
78
- constructor(config: import("./JSONPathTransformerContext.js").JSONPathTransformerContextConfig<T>);
79
- _config: import("./JSONPathTransformerContext.js").JSONPathTransformerContextConfig<T>;
80
- /** @type {import('./index.js').JSONPathTemplateObject<T>[]} */
81
- rootTemplates: import("./index.js").JSONPathTemplateObject<T>[];
82
- templates: import("./index.js").JSONPathTemplateObject<T>[];
83
+ constructor(config: import('./JSONPathTransformerContext.js').JSONPathTransformerContextConfig<T>);
83
84
  /**
84
85
  * @returns {void}
85
86
  */
@@ -88,7 +89,7 @@ declare class JSONPathTransformer<T> {
88
89
  * @param {string} [mode] - Transformation mode
89
90
  * @returns {import('./index.js').ResultType<T>} The transformation result
90
91
  */
91
- transform(mode?: string): import("./index.js").ResultType<T>;
92
+ transform(mode?: string): import('./index.js').ResultType<T>;
92
93
  }
93
- import JSONPathTransformerContext from './JSONPathTransformerContext.js';
94
+ export default JSONPathTransformer;
94
95
  //# sourceMappingURL=JSONPathTransformer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JSONPathTransformer.d.ts","sourceRoot":"","sources":["../src/JSONPathTransformer.js"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AACH,kCAFa,CAAC;IA4FZ;;;OAGG;IACH,oCAHW,MAAM,GACJ,MAAM,CAQlB;IAID;;YAEI;;;;;;eAMG;qBALU,CAAC,8CAEH,GAAG,OACH;gBAAC,IAAI,CAAC,EAAE,MAAM,CAAA;aAAC,GACb,IAAI;;;YAOjB;;;eAGG;4BAFQ,GAAG,GACD,GAAG;;;YAWhB;;;;;eAKG;sEAHQ,GAAG,OACH;gBAAC,IAAI,CAAC,EAAE,MAAM,CAAA;aAAC,GACb,IAAI;;;YAOjB;;;;;eAKG;sEAHQ,GAAG,OACH;gBAAC,IAAI,CAAC,EAAE,MAAM,CAAA;aAAC,GACb,IAAI;;;YAOjB;;;eAGG;gEADU,0BAA0B;;;YAOvC;;;eAGG;4BAFQ,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GACtB,GAAG;;MAOlB;IA1KF;;;OAGG;IACH,oBAHW,OAAO,iCAAiC,EAC9C,gCAAgC,CAAC,CAAC,CAAC,EAoCvC;IAhCC,uFAAqB;IACrB,+DAA+D;IAC/D,eADW,OAAO,YAAY,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAAE,CACpC;IAIvB,4DAaE;IAeJ;;OAEG;IACH,8BAFa,IAAI,CAShB;IAED;;;OAGG;IACH,iBAHW,MAAM,GACJ,OAAO,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAiC9C;CAoFF;uCAvLsC,iCAAiC"}
1
+ {"version":3,"file":"JSONPathTransformer.d.ts","sourceRoot":"","sources":["../src/JSONPathTransformer.js"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,MAAM,iCAAiC,CAAC;AAEzE;;;;;;;;GAQG;AACH,cAAM,mBAAmB,CAFa,CAAC,SAAzB,MAAM,GAAC,QAAQ,GAAC,KAAK,GAAK,MAAO;IA4FtC,OAAO;IACZ,+DAA+D;IAC1D,aAAa,EADP,OAAO,YAAY,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAAE;IAKtD,SAAS;IA9FhB,MAAM,CAAC,oBAAoB;QACzB,aAAa;YACX;;;;;;eAMG;YACH,QAAQ,CAN6B,CAAC,SAAxB,MAAM,GAAC,QAAQ,GAAC,KAAQ,QAC5B,0BAA0B,CAAC,CAAC,CAAC,SAC5B,OAAO,OACP;gBAAC,IAAI,CAAC,EAAE,MAAM,CAAA;aAAC,GACb,IAAI;;QAMnB,sBAAsB;YACpB;;;eAGG;YACH,QAAQ,QAHG,OAAO,GACL,OAAO;;QAUtB,gBAAgB;YACd;;;;;eAKG;YACH,QAAQ,OALE,0BAA0B,SACzB,OAAO,OACP;gBAAC,IAAI,CAAC,EAAE,MAAM,CAAA;aAAC,GACb,IAAI;;QAMnB,eAAe;YACb;;;;;eAKG;YACH,QAAQ,OALE,0BAA0B,SACzB,OAAO,OACP;gBAAC,IAAI,CAAC,EAAE,MAAM,CAAA;aAAC,GACb,IAAI;;QAMnB,gBAAgB;YACd;;;eAGG;YACH,QAAQ,OAHE,0BAA0B,GACvB,0BAA0B;;QAMzC,kBAAkB;YAChB;;;;eAIG;YACH,QAAQ,QAJG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAE7B,OAAO;;MAOtB;IAEF;;;OAGG;IACH,MAAM,CAAC,oBAAoB,CAAE,MAAM,EAHxB,MAGwB,GAFtB,MAAM,CAQlB;IAED;;;OAGG;IACH,YAAa,MAAM,EAHR,OAAO,iCAAiC,EAC9C,gCAAgC,CAAC,CAAC,CAEpB,EAoClB;IAED;;OAEG;IACH,0BAA0B,IAFb,IAAI,CAShB;IAED;;;OAGG;IACH,SAAS,CAAE,IAAI,AAHZ,CACA,EADQ,MAGI,GAFF,OAAO,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAsE9C;CACF;eAEc,mBAAmB"}