@altopelago/aeon-aes 0.12.0 → 0.13.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 (59) hide show
  1. package/README.md +31 -2
  2. package/dist/events.d.ts +5 -0
  3. package/dist/events.d.ts.map +1 -1
  4. package/dist/events.js +3 -0
  5. package/dist/events.js.map +1 -1
  6. package/dist/film-internal.d.ts +137 -0
  7. package/dist/film-internal.d.ts.map +1 -0
  8. package/dist/film-internal.js +702 -0
  9. package/dist/film-internal.js.map +1 -0
  10. package/dist/film.d.ts +64 -0
  11. package/dist/film.d.ts.map +1 -0
  12. package/dist/film.js +22 -0
  13. package/dist/film.js.map +1 -0
  14. package/dist/index.d.ts +3 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +3 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/modes.d.ts.map +1 -1
  19. package/dist/modes.js +14 -8
  20. package/dist/modes.js.map +1 -1
  21. package/dist/paths.d.ts +1 -0
  22. package/dist/paths.d.ts.map +1 -1
  23. package/dist/paths.js +33 -29
  24. package/dist/paths.js.map +1 -1
  25. package/dist/portable.d.ts +98 -0
  26. package/dist/portable.d.ts.map +1 -0
  27. package/dist/portable.js +524 -0
  28. package/dist/portable.js.map +1 -0
  29. package/dist/references.d.ts.map +1 -1
  30. package/dist/references.js +9 -4
  31. package/dist/references.js.map +1 -1
  32. package/dist/resolve.d.ts.map +1 -1
  33. package/dist/resolve.js +52 -2
  34. package/dist/resolve.js.map +1 -1
  35. package/dist/sha256.d.ts +3 -0
  36. package/dist/sha256.d.ts.map +1 -0
  37. package/dist/sha256.js +82 -0
  38. package/dist/sha256.js.map +1 -0
  39. package/dist/telex-datatype-internal.d.ts +12 -0
  40. package/dist/telex-datatype-internal.d.ts.map +1 -0
  41. package/dist/telex-datatype-internal.js +323 -0
  42. package/dist/telex-datatype-internal.js.map +1 -0
  43. package/dist/telex-incremental-internal.d.ts +50 -0
  44. package/dist/telex-incremental-internal.d.ts.map +1 -0
  45. package/dist/telex-incremental-internal.js +422 -0
  46. package/dist/telex-incremental-internal.js.map +1 -0
  47. package/dist/telex-internal.d.ts +86 -0
  48. package/dist/telex-internal.d.ts.map +1 -0
  49. package/dist/telex-internal.js +1134 -0
  50. package/dist/telex-internal.js.map +1 -0
  51. package/dist/telex-limits-internal.d.ts +35 -0
  52. package/dist/telex-limits-internal.d.ts.map +1 -0
  53. package/dist/telex-limits-internal.js +70 -0
  54. package/dist/telex-limits-internal.js.map +1 -0
  55. package/dist/telex.d.ts +130 -0
  56. package/dist/telex.d.ts.map +1 -0
  57. package/dist/telex.js +46 -0
  58. package/dist/telex.js.map +1 -0
  59. package/package.json +3 -3
@@ -0,0 +1,323 @@
1
+ // @ts-nocheck
2
+ // Kept behaviorally aligned with the published Telex v1 reference codec.
3
+ import { normalizeDatatypeLimits } from './telex-limits-internal.js';
4
+ const DATATYPE_NAME = /^[A-Za-z_][A-Za-z0-9_]*$/u;
5
+ const NUMBER = /^[+-]?(?:(?:[0-9]+(?:\.[0-9]*)?)|(?:\.[0-9]+))(?:[eE][+-]?[0-9]+)?$/u;
6
+ /**
7
+ * Decode the compact datatype descriptor used by telex.aes into the
8
+ * transport-neutral AES datatype fields.
9
+ */
10
+ export function parseDatatypeDescriptor(input, options = {}) {
11
+ if (typeof input !== 'string') {
12
+ throw new TypeError('Datatype descriptor must be a string');
13
+ }
14
+ const limits = normalizeDatatypeLimits(options);
15
+ if (DATATYPE_NAME.test(input) && limits.maxDatatypeComponents >= 1) {
16
+ return { datatype: input, generics: [], clarifiers: [] };
17
+ }
18
+ const parser = new DatatypeParser(input, limits);
19
+ const descriptor = parser.parseDescriptor(0);
20
+ parser.skipWhitespace();
21
+ if (!parser.atEnd())
22
+ parser.fail('Unexpected trailing datatype syntax');
23
+ return descriptor;
24
+ }
25
+ /**
26
+ * Encode the transport-neutral AES datatype fields as one canonical Telex
27
+ * datatype descriptor.
28
+ */
29
+ export function formatDatatypeDescriptor(descriptor, options = {}) {
30
+ const limits = normalizeDatatypeLimits(options);
31
+ if (isSimpleDatatypeDescriptor(descriptor) && limits.maxDatatypeComponents >= 1) {
32
+ return descriptor.datatype;
33
+ }
34
+ assertDatatypeDescriptor(descriptor, limits);
35
+ return formatCheckedDatatypeDescriptor(descriptor);
36
+ }
37
+ function isSimpleDatatypeDescriptor(descriptor) {
38
+ return descriptor !== null
39
+ && typeof descriptor === 'object'
40
+ && !Array.isArray(descriptor)
41
+ && typeof descriptor.datatype === 'string'
42
+ && DATATYPE_NAME.test(descriptor.datatype)
43
+ && Array.isArray(descriptor.generics)
44
+ && descriptor.generics.length === 0
45
+ && Array.isArray(descriptor.clarifiers)
46
+ && descriptor.clarifiers.length === 0
47
+ && hasExactKeys(descriptor, ['datatype', 'generics', 'clarifiers']);
48
+ }
49
+ function formatCheckedDatatypeDescriptor(descriptor) {
50
+ const generics = descriptor.generics.length === 0
51
+ ? ''
52
+ : `<${descriptor.generics.map(formatGenericArgument).join(', ')}>`;
53
+ const clarifiers = descriptor.clarifiers.length === 0
54
+ ? ''
55
+ : `[${descriptor.clarifiers.map(formatClarifier).join(', ')}]`;
56
+ return `${descriptor.datatype}${generics}${clarifiers}`;
57
+ }
58
+ export function assertDatatypeDescriptor(descriptor, options = {}) {
59
+ const limits = normalizeDatatypeLimits(options);
60
+ assertDatatypeDescriptorAtDepth(descriptor, limits, { items: 0 }, 0);
61
+ }
62
+ function assertDatatypeDescriptorAtDepth(descriptor, limits, state, depth) {
63
+ if (descriptor === null || typeof descriptor !== 'object' || Array.isArray(descriptor)) {
64
+ throw new TypeError('Datatype descriptor must be an object');
65
+ }
66
+ if (typeof descriptor.datatype !== 'string' || !DATATYPE_NAME.test(descriptor.datatype)) {
67
+ throw new TypeError('Datatype must be an ASCII identifier');
68
+ }
69
+ if (!hasExactKeys(descriptor, ['datatype', 'generics', 'clarifiers'])) {
70
+ throw new TypeError('Datatype descriptor has unknown or missing fields');
71
+ }
72
+ if (!Array.isArray(descriptor.generics)) {
73
+ throw new TypeError('Datatype generics must be an array');
74
+ }
75
+ if (!Array.isArray(descriptor.clarifiers)) {
76
+ throw new TypeError('Datatype clarifiers must be an array');
77
+ }
78
+ countLogicalItem(state, limits);
79
+ if (descriptor.generics.length > limits.maxGenericArguments) {
80
+ throw datatypeValidationError(limitMessage('max_generic_arguments', descriptor.generics.length, limits.maxGenericArguments), 'AES_DATATYPE_LIMIT', 'max_generic_arguments', descriptor.generics.length, limits.maxGenericArguments);
81
+ }
82
+ if (descriptor.clarifiers.length > limits.maxClarifierValues) {
83
+ throw datatypeValidationError(limitMessage('max_clarifier_values', descriptor.clarifiers.length, limits.maxClarifierValues), 'AES_DATATYPE_LIMIT', 'max_clarifier_values', descriptor.clarifiers.length, limits.maxClarifierValues);
84
+ }
85
+ if (descriptor.generics.length > 0 && depth > limits.maxGenericDepth) {
86
+ throw datatypeValidationError(limitMessage('max_generic_depth', depth, limits.maxGenericDepth), 'AES_DATATYPE_DEPTH', 'max_generic_depth', depth, limits.maxGenericDepth);
87
+ }
88
+ for (const argument of descriptor.generics) {
89
+ assertGenericArgument(argument, limits, state, depth);
90
+ }
91
+ for (const clarifier of descriptor.clarifiers) {
92
+ countLogicalItem(state, limits);
93
+ assertTaggedLiteral(clarifier, 'clarifier');
94
+ }
95
+ }
96
+ function assertGenericArgument(argument, limits, state, depth) {
97
+ if (argument !== null
98
+ && typeof argument === 'object'
99
+ && !Array.isArray(argument)
100
+ && Object.hasOwn(argument, 'datatype')) {
101
+ assertDatatypeDescriptorAtDepth(argument, limits, state, depth + 1);
102
+ return;
103
+ }
104
+ countLogicalItem(state, limits);
105
+ assertTaggedLiteral(argument, 'generic argument', new Set(['NumberLiteral']));
106
+ }
107
+ function assertTaggedLiteral(literal, label, allowedKinds = new Set(['StringLiteral', 'NumberLiteral'])) {
108
+ if (literal === null || typeof literal !== 'object' || Array.isArray(literal)) {
109
+ throw new TypeError(`Datatype ${label} must be a tagged literal`);
110
+ }
111
+ if (!hasExactKeys(literal, ['kind', 'value'])) {
112
+ throw new TypeError(`Datatype ${label} has unknown or missing fields`);
113
+ }
114
+ if (!allowedKinds.has(literal.kind) || typeof literal.value !== 'string') {
115
+ throw new TypeError(`Invalid datatype ${label}`);
116
+ }
117
+ if (!hasOnlyUnicodeScalars(literal.value)) {
118
+ throw new TypeError(`Datatype ${label} must contain only Unicode scalar values`);
119
+ }
120
+ if (literal.kind === 'NumberLiteral' && !NUMBER.test(literal.value)) {
121
+ throw new TypeError(`Invalid numeric datatype ${label}`);
122
+ }
123
+ }
124
+ function formatGenericArgument(argument) {
125
+ return Object.hasOwn(argument, 'datatype')
126
+ ? formatCheckedDatatypeDescriptor(argument)
127
+ : formatNumberLiteral(argument, 'generic argument');
128
+ }
129
+ function formatClarifier(clarifier) {
130
+ if (clarifier.kind === 'StringLiteral')
131
+ return JSON.stringify(clarifier.value);
132
+ return formatNumberLiteral(clarifier, 'clarifier');
133
+ }
134
+ function formatNumberLiteral(literal, label) {
135
+ assertTaggedLiteral(literal, label, new Set(['NumberLiteral']));
136
+ return literal.value;
137
+ }
138
+ class DatatypeParser {
139
+ constructor(input, options) {
140
+ this.input = input;
141
+ this.cursor = 0;
142
+ const limits = normalizeDatatypeLimits(options);
143
+ this.maxGenericDepth = limits.maxGenericDepth;
144
+ this.maxGenericArguments = limits.maxGenericArguments;
145
+ this.maxClarifierValues = limits.maxClarifierValues;
146
+ this.maxDatatypeComponents = limits.maxDatatypeComponents;
147
+ this.items = 0;
148
+ }
149
+ parseDescriptor(depth) {
150
+ this.countItem();
151
+ this.skipWhitespace();
152
+ const datatype = this.parseName();
153
+ this.skipWhitespace();
154
+ if (this.peek() === '<' && depth > this.maxGenericDepth) {
155
+ this.failLimit('max_generic_depth', depth, this.maxGenericDepth);
156
+ }
157
+ const generics = this.peek() === '<' ? this.parseGenerics(depth) : [];
158
+ this.skipWhitespace();
159
+ const clarifiers = this.peek() === '[' ? this.parseClarifiers() : [];
160
+ return { datatype, generics, clarifiers };
161
+ }
162
+ parseName() {
163
+ const match = this.input.slice(this.cursor).match(/^[A-Za-z_][A-Za-z0-9_]*/u);
164
+ if (match === null)
165
+ this.fail('Expected datatype name');
166
+ this.cursor += match[0].length;
167
+ return match[0];
168
+ }
169
+ parseGenerics(depth) {
170
+ this.consume('<');
171
+ this.skipWhitespace();
172
+ if (this.peek() === '>')
173
+ this.fail('Generic argument list must not be empty');
174
+ const values = [];
175
+ while (true) {
176
+ values.push(this.parseGenericArgument(depth));
177
+ if (values.length > this.maxGenericArguments) {
178
+ this.failLimit('max_generic_arguments', values.length, this.maxGenericArguments);
179
+ }
180
+ this.skipWhitespace();
181
+ if (this.peek() === '>') {
182
+ this.cursor += 1;
183
+ return values;
184
+ }
185
+ this.consume(',');
186
+ this.skipWhitespace();
187
+ }
188
+ }
189
+ parseGenericArgument(depth) {
190
+ this.skipWhitespace();
191
+ if (/[A-Za-z_]/u.test(this.peek() ?? ''))
192
+ return this.parseDescriptor(depth + 1);
193
+ this.countItem();
194
+ return { kind: 'NumberLiteral', value: this.parseNumber(',>') };
195
+ }
196
+ parseClarifiers() {
197
+ this.consume('[');
198
+ this.skipWhitespace();
199
+ if (this.peek() === ']')
200
+ this.fail('Clarifier list must not be empty');
201
+ const values = [];
202
+ while (true) {
203
+ this.countItem();
204
+ values.push(this.peek() === '"'
205
+ ? { kind: 'StringLiteral', value: this.parseString() }
206
+ : { kind: 'NumberLiteral', value: this.parseNumber(',]') });
207
+ if (values.length > this.maxClarifierValues) {
208
+ this.failLimit('max_clarifier_values', values.length, this.maxClarifierValues);
209
+ }
210
+ this.skipWhitespace();
211
+ if (this.peek() === ']') {
212
+ this.cursor += 1;
213
+ return values;
214
+ }
215
+ this.consume(',');
216
+ this.skipWhitespace();
217
+ }
218
+ }
219
+ parseString() {
220
+ const start = this.cursor;
221
+ this.cursor += 1;
222
+ let escaped = false;
223
+ while (!this.atEnd()) {
224
+ const character = this.input[this.cursor];
225
+ this.cursor += 1;
226
+ if (escaped) {
227
+ escaped = false;
228
+ }
229
+ else if (character === '\\') {
230
+ escaped = true;
231
+ }
232
+ else if (character === '"') {
233
+ const encoded = this.input.slice(start, this.cursor);
234
+ try {
235
+ const value = JSON.parse(encoded);
236
+ if (typeof value !== 'string')
237
+ this.fail('Expected string clarifier');
238
+ if (!hasOnlyUnicodeScalars(value))
239
+ this.fail('Invalid Unicode scalar in string clarifier');
240
+ return value;
241
+ }
242
+ catch {
243
+ this.fail('Invalid string clarifier');
244
+ }
245
+ }
246
+ }
247
+ this.fail('Unterminated string clarifier');
248
+ }
249
+ parseNumber(delimiters) {
250
+ const start = this.cursor;
251
+ while (!this.atEnd() && !delimiters.includes(this.peek()) && !/\s/u.test(this.peek())) {
252
+ this.cursor += 1;
253
+ }
254
+ const value = this.input.slice(start, this.cursor);
255
+ if (!NUMBER.test(value))
256
+ this.fail('Expected numeric datatype argument');
257
+ return value;
258
+ }
259
+ consume(expected) {
260
+ this.skipWhitespace();
261
+ if (this.peek() !== expected)
262
+ this.fail(`Expected '${expected}'`);
263
+ this.cursor += 1;
264
+ }
265
+ skipWhitespace() {
266
+ while (!this.atEnd() && /[ \t\r\n]/u.test(this.peek()))
267
+ this.cursor += 1;
268
+ }
269
+ peek() {
270
+ return this.input[this.cursor];
271
+ }
272
+ atEnd() {
273
+ return this.cursor >= this.input.length;
274
+ }
275
+ countItem() {
276
+ this.items += 1;
277
+ if (this.items > this.maxDatatypeComponents) {
278
+ this.failLimit('max_datatype_components', this.items, this.maxDatatypeComponents);
279
+ }
280
+ }
281
+ failLimit(counter, observed, limit) {
282
+ this.fail(limitMessage(counter, observed, limit), 'TELEX_DATATYPE_LIMIT', {
283
+ counter,
284
+ observed,
285
+ limit,
286
+ });
287
+ }
288
+ fail(message, code = 'TELEX_INVALID_DATATYPE', details = {}) {
289
+ const error = new TypeError(`${message} at datatype offset ${this.cursor}`);
290
+ error.code = code;
291
+ Object.assign(error, details);
292
+ throw error;
293
+ }
294
+ }
295
+ function hasOnlyUnicodeScalars(value) {
296
+ for (const character of value) {
297
+ const scalar = character.codePointAt(0);
298
+ if (scalar >= 0xd800 && scalar <= 0xdfff)
299
+ return false;
300
+ }
301
+ return true;
302
+ }
303
+ function hasExactKeys(value, expected) {
304
+ const keys = Object.keys(value);
305
+ return keys.length === expected.length && expected.every((key) => Object.hasOwn(value, key));
306
+ }
307
+ function countLogicalItem(state, limits) {
308
+ state.items += 1;
309
+ if (state.items > limits.maxDatatypeComponents) {
310
+ throw datatypeValidationError(limitMessage('max_datatype_components', state.items, limits.maxDatatypeComponents), 'AES_DATATYPE_LIMIT', 'max_datatype_components', state.items, limits.maxDatatypeComponents);
311
+ }
312
+ }
313
+ function datatypeValidationError(message, code, counter, observed, limit) {
314
+ const error = new TypeError(message);
315
+ error.code = code;
316
+ if (counter !== undefined)
317
+ Object.assign(error, { counter, observed, limit });
318
+ return error;
319
+ }
320
+ function limitMessage(counter, observed, limit) {
321
+ return `${counter} observed value ${observed} exceeds configured limit ${limit}`;
322
+ }
323
+ //# sourceMappingURL=telex-datatype-internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telex-datatype-internal.js","sourceRoot":"","sources":["../src/telex-datatype-internal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import type { ParsedTelex, TelexLimitOptions, TelexRecord, TelexValidationOptions, TelexValidationResult } from './telex.js';
2
+ export type IncrementalTelexProgress = 'need-more-input' | 'provisional-records' | 'syntax-complete';
3
+ export interface IncrementalTelexContext {
4
+ readonly profile: string;
5
+ readonly profileExplicit: boolean;
6
+ readonly projection: string | null;
7
+ readonly projectionExplicit: boolean;
8
+ }
9
+ export interface IncrementalTelexCompletion extends IncrementalTelexContext {
10
+ readonly canonical: boolean;
11
+ }
12
+ export interface IncrementalTelexUpdate {
13
+ readonly firstRecord: number;
14
+ readonly records: readonly TelexRecord[];
15
+ readonly context?: IncrementalTelexContext;
16
+ readonly totalInputBytes: number;
17
+ readonly decodedPayloadBytes: number;
18
+ readonly canonicalSoFar: boolean;
19
+ readonly progress: IncrementalTelexProgress;
20
+ readonly completion?: IncrementalTelexCompletion;
21
+ }
22
+ export interface IncrementalTelexPushOptions {
23
+ readonly final?: boolean;
24
+ }
25
+ /**
26
+ * Internal byte-oriented Telex decoder used to verify the language-neutral
27
+ * incremental contract. Records are provisional until AES finalization.
28
+ */
29
+ export declare class IncrementalTelexDecoder {
30
+ #private;
31
+ constructor(options?: TelexLimitOptions);
32
+ push(input: Uint8Array, options?: IncrementalTelexPushOptions): IncrementalTelexUpdate;
33
+ }
34
+ export interface FinalizedIncrementalTelexStream {
35
+ readonly records: readonly TelexRecord[];
36
+ readonly validation: TelexValidationResult;
37
+ }
38
+ /** Internal semantic sink for ordered provisional Telex record batches. */
39
+ export declare class IncrementalAesAccumulator {
40
+ #private;
41
+ constructor(context: IncrementalTelexContext, options?: Omit<TelexValidationOptions, 'profile' | 'projection'>);
42
+ pushBatch(firstRecord: number, records: readonly TelexRecord[]): void;
43
+ /** Accept records whose ownership has already crossed an isolation boundary. */
44
+ acceptOwnedBatch(firstRecord: number, records: readonly TelexRecord[]): void;
45
+ finish(): FinalizedIncrementalTelexStream;
46
+ }
47
+ /** Test helper that assembles an incremental result without exposing it publicly. */
48
+ export declare function parseTelexInChunks(input: Uint8Array, splitPoints: readonly number[], options?: TelexLimitOptions): ParsedTelex;
49
+ export declare function validateTelexInChunks(input: Uint8Array, splitPoints: readonly number[], options?: TelexValidationOptions): FinalizedIncrementalTelexStream;
50
+ //# sourceMappingURL=telex-incremental-internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telex-incremental-internal.d.ts","sourceRoot":"","sources":["../src/telex-incremental-internal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,WAAW,EACX,iBAAiB,EAEjB,WAAW,EAEX,sBAAsB,EACtB,qBAAqB,EACxB,MAAM,YAAY,CAAC;AAsBpB,MAAM,MAAM,wBAAwB,GAC9B,iBAAiB,GACjB,qBAAqB,GACrB,iBAAiB,CAAC;AAExB,MAAM,WAAW,uBAAuB;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IACvE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAC3C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,0BAA0B,CAAC;CACpD;AAED,MAAM,WAAW,2BAA2B;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC5B;AAID;;;GAGG;AACH,qBAAa,uBAAuB;;IA2BhC,YAAY,OAAO,GAAE,iBAAsB,EAE1C;IAED,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,2BAAgC,GAAG,sBAAsB,CAmBzF;CAmXJ;AAED,MAAM,WAAW,+BAA+B;IAC5C,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;CAC9C;AAED,2EAA2E;AAC3E,qBAAa,yBAAyB;;IAKlC,YACI,OAAO,EAAE,uBAAuB,EAChC,OAAO,GAAE,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,YAAY,CAAM,EAOvE;IAED,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI,CAEpE;IAED,gFAAgF;IAChF,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI,CAE3E;IAeD,MAAM,IAAI,+BAA+B,CAQxC;CACJ;AAED,qFAAqF;AACrF,wBAAgB,kBAAkB,CAC9B,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,OAAO,GAAE,iBAAsB,GAChC,WAAW,CAyBb;AAED,wBAAgB,qBAAqB,CACjC,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,OAAO,GAAE,sBAA2B,GACrC,+BAA+B,CA4BjC"}