@hyperscale0/hsx 1.0.342 → 1.0.350

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 (144) hide show
  1. package/README.md +1 -1
  2. package/bases/cards.hsx +0 -1
  3. package/bases/collections.hsx +0 -2
  4. package/bases/escrow.hsx +0 -1
  5. package/bases/financing.hsx +0 -1
  6. package/bases/insurance.hsx +0 -1
  7. package/bases/lending.hsx +0 -3
  8. package/bases/marketplace.hsx +0 -2
  9. package/bases/money.hsx +0 -1
  10. package/bases/reporting.hsx +0 -2
  11. package/bases/savings.hsx +0 -1
  12. package/bases/wallet.hsx +0 -1
  13. package/dist/bin/hsx.d.ts.map +1 -1
  14. package/dist/bin/hsx.js.map +1 -1
  15. package/dist/src/ast.d.ts +57 -7
  16. package/dist/src/ast.d.ts.map +1 -1
  17. package/dist/src/ast.js.map +1 -1
  18. package/dist/src/attachment-economics.d.ts.map +1 -1
  19. package/dist/src/attachment-economics.js.map +1 -1
  20. package/dist/src/bases-bundle.d.ts.map +1 -1
  21. package/dist/src/bases-bundle.js +11 -11
  22. package/dist/src/bases-bundle.js.map +1 -1
  23. package/dist/src/bases.d.ts.map +1 -1
  24. package/dist/src/bases.js.map +1 -1
  25. package/dist/src/catalog-program.d.ts +1 -1
  26. package/dist/src/catalog-program.d.ts.map +1 -1
  27. package/dist/src/catalog-program.js +0 -13
  28. package/dist/src/catalog-program.js.map +1 -1
  29. package/dist/src/checks.d.ts +60 -0
  30. package/dist/src/checks.d.ts.map +1 -0
  31. package/dist/src/checks.js +240 -0
  32. package/dist/src/checks.js.map +1 -0
  33. package/dist/src/cli.d.ts.map +1 -1
  34. package/dist/src/cli.js +6 -25
  35. package/dist/src/cli.js.map +1 -1
  36. package/dist/src/compile.d.ts +29 -12
  37. package/dist/src/compile.d.ts.map +1 -1
  38. package/dist/src/compile.js +414 -316
  39. package/dist/src/compile.js.map +1 -1
  40. package/dist/src/cost.d.ts.map +1 -1
  41. package/dist/src/cost.js.map +1 -1
  42. package/dist/src/diagnostics.d.ts +14 -1
  43. package/dist/src/diagnostics.d.ts.map +1 -1
  44. package/dist/src/diagnostics.js +31 -0
  45. package/dist/src/diagnostics.js.map +1 -1
  46. package/dist/src/examples-bundle.d.ts.map +1 -1
  47. package/dist/src/examples-bundle.js +15 -15
  48. package/dist/src/examples-bundle.js.map +1 -1
  49. package/dist/src/examples.d.ts.map +1 -1
  50. package/dist/src/examples.js.map +1 -1
  51. package/dist/src/format.d.ts.map +1 -1
  52. package/dist/src/format.js.map +1 -1
  53. package/dist/src/header-source.d.ts +30 -0
  54. package/dist/src/header-source.d.ts.map +1 -1
  55. package/dist/src/header-source.js +120 -9
  56. package/dist/src/header-source.js.map +1 -1
  57. package/dist/src/headers.d.ts +9 -18
  58. package/dist/src/headers.d.ts.map +1 -1
  59. package/dist/src/headers.js +25 -23
  60. package/dist/src/headers.js.map +1 -1
  61. package/dist/src/index.d.ts +4 -3
  62. package/dist/src/index.d.ts.map +1 -1
  63. package/dist/src/index.js +2 -2
  64. package/dist/src/index.js.map +1 -1
  65. package/dist/src/keywords.d.ts +2 -4
  66. package/dist/src/keywords.d.ts.map +1 -1
  67. package/dist/src/keywords.js +6 -5
  68. package/dist/src/keywords.js.map +1 -1
  69. package/dist/src/language.d.ts +3 -4
  70. package/dist/src/language.d.ts.map +1 -1
  71. package/dist/src/language.js +123 -60
  72. package/dist/src/language.js.map +1 -1
  73. package/dist/src/lex.d.ts +1 -1
  74. package/dist/src/lex.d.ts.map +1 -1
  75. package/dist/src/lex.js +3 -5
  76. package/dist/src/lex.js.map +1 -1
  77. package/dist/src/parse.d.ts +3 -1
  78. package/dist/src/parse.d.ts.map +1 -1
  79. package/dist/src/parse.js +234 -22
  80. package/dist/src/parse.js.map +1 -1
  81. package/dist/src/std-bundle.d.ts +2 -1
  82. package/dist/src/std-bundle.d.ts.map +1 -1
  83. package/dist/src/std-bundle.js +16 -15
  84. package/dist/src/std-bundle.js.map +1 -1
  85. package/dist/src/template-guide.d.ts +3 -9
  86. package/dist/src/template-guide.d.ts.map +1 -1
  87. package/dist/src/template-guide.js +16 -23
  88. package/dist/src/template-guide.js.map +1 -1
  89. package/dist/src/toolchain.d.ts +23 -0
  90. package/dist/src/toolchain.d.ts.map +1 -0
  91. package/dist/src/toolchain.js +29 -0
  92. package/dist/src/toolchain.js.map +1 -0
  93. package/dist/src/tunables.d.ts.map +1 -1
  94. package/dist/src/tunables.js.map +1 -1
  95. package/docs/README.md +69 -28
  96. package/examples/camera-rental.hsx +0 -1
  97. package/examples/cards.hsx +0 -1
  98. package/examples/collections.hsx +0 -2
  99. package/examples/escrow.hsx +0 -1
  100. package/examples/financing.hsx +0 -1
  101. package/examples/insurance.hsx +0 -2
  102. package/examples/lending.hsx +0 -3
  103. package/examples/library.hsx +0 -3
  104. package/examples/marketplace.hsx +0 -2
  105. package/examples/money.hsx +0 -1
  106. package/examples/rental-hire.hsx +0 -1
  107. package/examples/reporting.hsx +0 -2
  108. package/examples/savings.hsx +0 -1
  109. package/examples/serviced.hsx +0 -4
  110. package/examples/wallet.hsx +0 -1
  111. package/package.json +8 -8
  112. package/src/ast.ts +56 -3
  113. package/src/bases-bundle.ts +11 -11
  114. package/src/catalog-program.ts +0 -13
  115. package/src/checks.ts +386 -0
  116. package/src/cli.ts +6 -25
  117. package/src/compile.ts +583 -438
  118. package/src/diagnostics.ts +49 -1
  119. package/src/examples-bundle.ts +15 -15
  120. package/src/header-source.ts +187 -11
  121. package/src/headers.ts +31 -32
  122. package/src/index.ts +10 -4
  123. package/src/keywords.ts +6 -5
  124. package/src/language.ts +153 -68
  125. package/src/lex.ts +3 -5
  126. package/src/parse.ts +216 -24
  127. package/src/std-bundle.ts +17 -15
  128. package/src/template-guide.ts +17 -34
  129. package/src/toolchain.ts +51 -0
  130. package/std/booking.hsx +14 -1
  131. package/std/collections.hsx +12 -2
  132. package/std/financing.hsx +10 -16
  133. package/std/money.hsx +2 -3
  134. package/std/reporting.hsx +10 -1
  135. package/dist/src/binding-contract.d.ts +0 -22
  136. package/dist/src/binding-contract.d.ts.map +0 -1
  137. package/dist/src/binding-contract.js +0 -80
  138. package/dist/src/binding-contract.js.map +0 -1
  139. package/dist/src/std-library.d.ts +0 -5
  140. package/dist/src/std-library.d.ts.map +0 -1
  141. package/dist/src/std-library.js +0 -5
  142. package/dist/src/std-library.js.map +0 -1
  143. package/src/binding-contract.ts +0 -111
  144. package/src/std-library.ts +0 -7
package/dist/src/parse.js CHANGED
@@ -13,6 +13,7 @@ export function parseProgram(source) {
13
13
  currency: "SAR",
14
14
  header: false,
15
15
  decls: [],
16
+ checks: [],
16
17
  span: { start: 0, end: source.length },
17
18
  };
18
19
  if (new TextEncoder().encode(source).length > 262144)
@@ -54,6 +55,20 @@ export function parseProgram(source) {
54
55
  throw error;
55
56
  }
56
57
  }
58
+ /** One value as a header parameter takes it, such as `10%`; undefined if it is not one. */
59
+ export function parseExpression(source) {
60
+ const result = lex(source);
61
+ if (result.diagnostics.length)
62
+ return undefined;
63
+ try {
64
+ return new Parser(result.tokens).value();
65
+ }
66
+ catch (error) {
67
+ if (error instanceof ParseFailure)
68
+ return undefined;
69
+ throw error;
70
+ }
71
+ }
57
72
  class Parser {
58
73
  tokens;
59
74
  index = 0;
@@ -108,6 +123,12 @@ class Parser {
108
123
  span(start) {
109
124
  return { start, end: this.tokens[Math.max(0, this.index - 1)].span.end };
110
125
  }
126
+ value() {
127
+ const value = this.expression();
128
+ if (this.peek().kind !== "eof")
129
+ this.fail("expected one value", "write one value");
130
+ return value;
131
+ }
111
132
  program(program) {
112
133
  if (this.eat("header"))
113
134
  program.header = true;
@@ -133,14 +154,6 @@ class Parser {
133
154
  program.currency = this.identifier();
134
155
  continue;
135
156
  }
136
- if (this.eat("use")) {
137
- program.decls.push({
138
- kind: "use",
139
- name: this.identifier(),
140
- span: this.span(start),
141
- });
142
- continue;
143
- }
144
157
  if (this.eat("party")) {
145
158
  const name = this.identifier();
146
159
  this.expect(":");
@@ -155,17 +168,20 @@ class Parser {
155
168
  });
156
169
  continue;
157
170
  }
158
- if (this.at("expose") || this.at("hide")) {
159
- const kind = this.take().text;
171
+ if (this.eat("expose")) {
160
172
  const target = this.path();
161
- let name;
162
- if (kind === "expose") {
163
- this.expect("as");
164
- name = this.identifier();
165
- }
166
- program.decls.push(kind === "expose"
167
- ? { kind, target, name: name, span: this.span(start) }
168
- : { kind, target, span: this.span(start) });
173
+ this.expect("as");
174
+ const name = this.identifier();
175
+ program.decls.push({
176
+ kind: "expose",
177
+ target,
178
+ name,
179
+ span: this.span(start),
180
+ });
181
+ continue;
182
+ }
183
+ if (this.at("check") && this.tokens[this.index + 1]?.kind === "string") {
184
+ program.checks.push(this.check());
169
185
  continue;
170
186
  }
171
187
  if (this.eat("instrument")) {
@@ -210,6 +226,147 @@ class Parser {
210
226
  }
211
227
  return program;
212
228
  }
229
+ named() {
230
+ const span = this.peek().span;
231
+ return { name: this.identifier(), span };
232
+ }
233
+ text() {
234
+ if (this.peek().kind !== "string")
235
+ this.fail("expected a quoted name", 'write a name in quotes, as "Alice"');
236
+ return JSON.parse(this.take().text);
237
+ }
238
+ /**
239
+ * `check "Name" { ... }`: customers, steps in order, then `expect`. A step
240
+ * is `clock`, `object`, `close` or `[actor] object.action ... -> state`.
241
+ */
242
+ check() {
243
+ const start = this.take().span.start;
244
+ const name = this.text();
245
+ this.expect("{");
246
+ const statements = [];
247
+ while (!this.eat("}")) {
248
+ this.separators();
249
+ if (this.eat("}"))
250
+ break;
251
+ if (this.peek().kind === "eof")
252
+ this.fail("unclosed check, expected }", "add }");
253
+ const at = this.peek().span.start;
254
+ const statement = this.checkStatement();
255
+ if (statement.kind !== "customer" && this.eat("balances"))
256
+ statement.balances = this.block();
257
+ statement.span = this.span(at);
258
+ statements.push(statement);
259
+ this.separators();
260
+ }
261
+ return { name, statements, span: this.span(start) };
262
+ }
263
+ checkStatement() {
264
+ const span = this.peek().span;
265
+ if (this.eat("customer")) {
266
+ const id = this.named();
267
+ const title = this.text();
268
+ const organization = this.eat("organization");
269
+ const fund = this.eat("funded") ? this.atom() : undefined;
270
+ const binds = [];
271
+ while (this.eat("binds"))
272
+ binds.push(this.named());
273
+ return {
274
+ kind: "customer",
275
+ id,
276
+ title,
277
+ organization,
278
+ ...(fund ? { fund } : {}),
279
+ binds,
280
+ span,
281
+ };
282
+ }
283
+ if (this.eat("clock")) {
284
+ const at = this.atom();
285
+ if (!this.eat("until"))
286
+ return { kind: "clock", at, span };
287
+ const object = this.named();
288
+ const attachment = this.eat(".") ? this.named() : undefined;
289
+ const recordPath = this.eat("record") ? this.path() : undefined;
290
+ this.expect("is");
291
+ const state = this.named();
292
+ return {
293
+ kind: "clock",
294
+ at,
295
+ until: {
296
+ object,
297
+ ...(attachment ? { attachment } : {}),
298
+ ...(recordPath ? { recordPath } : {}),
299
+ state,
300
+ },
301
+ span,
302
+ };
303
+ }
304
+ if (this.eat("object")) {
305
+ const id = this.named();
306
+ this.expect(":");
307
+ const objectKind = this.named();
308
+ if (!this.eat("for"))
309
+ this.fail("an object needs its owner", "write for <customer>");
310
+ const owner = this.named();
311
+ const fields = this.at("{") ? this.block() : undefined;
312
+ return {
313
+ kind: "object",
314
+ id,
315
+ objectKind,
316
+ owner,
317
+ ...(fields ? { fields } : {}),
318
+ span,
319
+ };
320
+ }
321
+ if (this.eat("close"))
322
+ return { kind: "close", customer: this.named(), span };
323
+ if (this.eat("expect")) {
324
+ const statement = {
325
+ kind: "expect",
326
+ span,
327
+ };
328
+ for (;;) {
329
+ if (this.eat("balances"))
330
+ statement.balances = this.block();
331
+ else if (this.eat("held"))
332
+ statement.held = this.atom();
333
+ else if (this.eat("pending"))
334
+ statement.pending = this.block();
335
+ else
336
+ break;
337
+ }
338
+ return statement;
339
+ }
340
+ const first = this.named();
341
+ const actor = this.at(".") ? undefined : first;
342
+ const object = actor ? this.named() : first;
343
+ this.expect(".");
344
+ const action = this.named();
345
+ const statement = {
346
+ kind: "action",
347
+ ...(actor ? { actor } : {}),
348
+ object,
349
+ action,
350
+ span,
351
+ };
352
+ if (this.at("{"))
353
+ statement.input = this.block();
354
+ if (this.eat("fields"))
355
+ statement.fields = this.block();
356
+ if (this.eat("on"))
357
+ statement.instance = this.named();
358
+ if (this.eat("remember"))
359
+ statement.remember = this.named();
360
+ this.expect("->");
361
+ if (this.eat("status")) {
362
+ statement.status = this.atom();
363
+ if (this.peek().kind === "string")
364
+ statement.code = this.text();
365
+ }
366
+ else
367
+ statement.state = this.named();
368
+ return statement;
369
+ }
213
370
  entries(end) {
214
371
  const entries = [];
215
372
  while (!this.eat(end)) {
@@ -285,6 +442,11 @@ class Parser {
285
442
  this.separators();
286
443
  continue;
287
444
  }
445
+ if (key === "checks" && this.at("{")) {
446
+ entries.push({ key, value: this.checks(), span: this.span(start) });
447
+ this.separators();
448
+ continue;
449
+ }
288
450
  if (key === "action" && !this.at(":"))
289
451
  key += " " + this.identifier();
290
452
  if (key === "economics" && !this.at(":") && !this.at("{"))
@@ -332,8 +494,17 @@ class Parser {
332
494
  span,
333
495
  };
334
496
  }
335
- operand() {
497
+ operand(sums = false) {
336
498
  const value = this.atom();
499
+ // A header check may add tunables, as in `first + second <= limit`.
500
+ if (sums && this.at("+")) {
501
+ const items = [value];
502
+ while (this.eat("+"))
503
+ items.push(this.atom());
504
+ return this.record({
505
+ sum: { kind: "list", items, span: this.span(value.span.start) },
506
+ });
507
+ }
337
508
  return this.record({
338
509
  [value.kind === "name" &&
339
510
  /^(self|input|party|subject)\./.test(value.value)
@@ -347,7 +518,48 @@ class Parser {
347
518
  this.fail("expected a comparison", "write ==, !=, <, <=, >, or >=", operator.span);
348
519
  return { kind: "text", value: operator.text, span: operator.span };
349
520
  }
350
- requirement() {
521
+ /**
522
+ * `checks { late_from < early_until { message: "...", fix: "..." } }`. A rule
523
+ * is a comparison, `x is set` or `x is <its type>`, and `when s is c` scopes it.
524
+ */
525
+ checks() {
526
+ const start = this.peek().span.start;
527
+ this.expect("{");
528
+ const entries = [];
529
+ while (!this.eat("}")) {
530
+ this.separators();
531
+ if (this.eat("}"))
532
+ break;
533
+ if (this.peek().kind === "eof")
534
+ this.fail("unclosed checks, expected }", "add }");
535
+ const at = this.peek().span.start;
536
+ let rule;
537
+ if (this.tokens[this.index + 1]?.text === "is") {
538
+ const tunable = this.atom();
539
+ this.expect("is");
540
+ rule = this.record({ kind: this.node("is"), tunable, is: this.atom() });
541
+ }
542
+ else
543
+ rule = this.requirement(true);
544
+ const values = {
545
+ rule: { ...rule, span: this.span(at) },
546
+ };
547
+ if (this.eat("when")) {
548
+ const selector = this.atom();
549
+ this.expect("is");
550
+ values.when = this.record({ selector, is: this.atom() });
551
+ }
552
+ values.explain = this.block();
553
+ entries.push({
554
+ key: "check",
555
+ value: { ...this.record(values), span: this.span(at) },
556
+ span: this.span(at),
557
+ });
558
+ this.separators();
559
+ }
560
+ return { kind: "block", entries, span: this.span(start) };
561
+ }
562
+ requirement(sums = false) {
351
563
  if (this.eat("unique")) {
352
564
  const namespace = this.atom();
353
565
  this.expect("on");
@@ -402,7 +614,7 @@ class Parser {
402
614
  values.instruction = this.atom();
403
615
  return this.record(values);
404
616
  }
405
- const left = this.operand();
617
+ const left = this.operand(sums);
406
618
  if (this.eat("in")) {
407
619
  const reference = left.entries.find((entry) => entry.key === "field")?.value;
408
620
  if (!reference)
@@ -418,7 +630,7 @@ class Parser {
418
630
  kind: this.node("compare"),
419
631
  left,
420
632
  operator,
421
- right: this.operand(),
633
+ right: this.operand(sums),
422
634
  });
423
635
  }
424
636
  move() {
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sources":["../../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAc,MAAM,UAAU,CAAC;AAa3C,MAAM,YAAa,SAAQ,KAAK;IACT,UAAU;IAA/B,YAAqB,UAAsB;QACzC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;0BADP,UAAU;IAE/B,CAAC;CACF;AACD,MAAM,UAAU,YAAY,CAAC,MAAc;IAIzC,MAAM,KAAK,GAAY;QACrB,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE;KACvC,CAAC;IACF,IAAI,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,MAAM;QAClD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,WAAW,EAAE;gBACX;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,wBAAwB;oBACjC,GAAG,EAAE,gCAAgC;oBACrC,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB;aACF;SACF,CAAC;IACJ,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,WAAW,EAAE;gBACX;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,wBAAwB;oBACjC,GAAG,EAAE,yDAAyD;oBAC9D,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;iBACnE;aACF;SACF,CAAC;IACJ,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM;QAC3B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IAC7D,IAAI,CAAC;QACH,OAAO;YACL,OAAO,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YACjD,WAAW,EAAE,EAAE;SAChB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY;YAC/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AACD,2FAA2F;AAC3F,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAChD,IAAI,CAAC;QACH,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY;YAAE,OAAO,SAAS,CAAC;QACpD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AACD,MAAM,MAAM;IAGmB,MAAM;IAF3B,KAAK,GAAG,CAAC,CAAC;IACV,KAAK,GAAG,CAAC,CAAC;IAClB,YAA6B,MAAe;sBAAf,MAAM;IAAY,CAAC;IACxC,IAAI;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC;IAClC,CAAC;IACO,IAAI;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IACO,EAAE,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC;IACnC,CAAC;IACO,GAAG,CAAC,IAAY;QACtB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IACO,IAAI,CAAC,OAAe,EAAE,GAAW,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI;QAChE,MAAM,IAAI,YAAY,CAAC;YACrB,IAAI,EAAE,SAAS;YACf,OAAO;YACP,GAAG;YACH,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IACO,MAAM,CAAC,IAAY;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,CACP,YAAY,IAAI,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,aAAa,EAAE,EAC9D,SAAS,IAAI,OAAO,CACrB,CAAC;IACN,CAAC;IACO,UAAU;QAChB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM;YAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,qCAAqC,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;IAC1B,CAAC;IACO,IAAI;QACV,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IACO,UAAU;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA,CAAC;IAC3C,CAAC;IACO,IAAI,CAAC,KAAa;QACxB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5E,CAAC;IACD,KAAK;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK;YAC5B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,OAAgB;QACtB,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;;YACzC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ;gBAC/B,IAAI,CAAC,IAAI,CACP,uBAAuB,EACvB,qCAAqC,CACtC,CAAC;YACJ,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAW,CAAC;QACzD,CAAC;QACD,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK;gBAAE,MAAM;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACrC,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxB,IAAI,gBAAgB;oBAClB,IAAI,CAAC,IAAI,CACP,4BAA4B,EAC5B,+BAA+B,CAChC,CAAC;gBACJ,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,gBAAgB,GAAG,IAAI,CAAC;gBACxB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrC,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC9D,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;oBACjB,IAAI,EAAE,OAAO;oBACb,IAAI;oBACJ,SAAS;oBACT,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBACvB,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;oBACjB,IAAI,EAAE,QAAQ;oBACd,MAAM;oBACN,IAAI;oBACJ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBACvB,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAClC,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;oBACjB,IAAI,EAAE,YAAY;oBAClB,IAAI;oBACJ,UAAU;oBACV,IAAI;oBACJ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBACvB,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,KAAK,GACT,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ;oBAC3B,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAY;oBAC1C,CAAC,CAAC,IAAI,CAAC;gBACX,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;oBACjB,IAAI,EAAE,QAAQ;oBACd,IAAI;oBACJ,KAAK;oBACL,IAAI;oBACJ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBACvB,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,YAAY;gBAClB,IAAI;gBACJ,MAAM,EAAE,MAAM;gBACd,IAAI;gBACJ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;aACvB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACO,KAAK;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC;IACO,IAAI;QACV,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ;YAC/B,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,oCAAoC,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAW,CAAC;IAChD,CAAC;IACD;;;OAGG;IACK,KAAK;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,UAAU,GAAqB,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,MAAM;YACzB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK;gBAC5B,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACxC,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;gBACvD,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACtD,CAAC;IACO,cAAc;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,MAAM,KAAK,GAAY,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACnD,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,EAAE;gBACF,KAAK;gBACL,YAAY;gBACZ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzB,KAAK;gBACL,IAAI;aACL,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;YAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,EAAE;gBACF,KAAK,EAAE;oBACL,MAAM;oBACN,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrC,KAAK;iBACN;gBACD,IAAI;aACL,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,sBAAsB,CAAC,CAAC;YACjE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACvD,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,EAAE;gBACF,UAAU;gBACV,KAAK;gBACL,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,IAAI;aACL,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YACnB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC;QACzD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM,SAAS,GAAgD;gBAC7D,IAAI,EAAE,QAAQ;gBACd,IAAI;aACL,CAAC;YACF,SAAS,CAAC;gBACR,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;oBAAE,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;qBACvD,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;oBAAE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;qBACnD,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;oBAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;;oBAC1D,MAAM;YACb,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAgD;YAC7D,IAAI,EAAE,QAAQ;YACd,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,MAAM;YACN,MAAM;YACN,IAAI;SACL,CAAC;QACF,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACxD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACtD,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAClE,CAAC;;YAAM,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IACO,OAAO,CAAC,GAAW;QACzB,MAAM,OAAO,GAAY,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,MAAM;YACzB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK;gBAC5B,IAAI,CAAC,IAAI,CAAC,4BAA4B,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACrC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC;oBACX,GAAG,EAAE,UAAU,IAAI,MAAM,MAAM,EAAE;oBACjC,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBACvB,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC;oBACX,GAAG,EAAE,QAAQ;oBACb,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBACvB,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjC,sEAAsE;gBACtE,mEAAmE;gBACnE,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;oBACd,IAAI,CAAC,IAAI,CACP,iEAAiE,MAAM,WAAW,EAClF,kDAAkD,MAAM,mDAAmD,MAAM,qBAAqB,CACvI,CAAC;gBACJ,IAAI,UAAU,GAAG,MAAM,CAAC;gBACxB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnB,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjC,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC;oBACX,GAAG,EAAE,QAAQ;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;wBACnE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;qBACvB;oBACD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBACvB,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACtB,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvC,IAAI,KAAW,CAAC;gBAChB,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjB,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtB,CAAC;qBAAM,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9D,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC;oBACX,GAAG,EAAE,SAAS;oBACd,KAAK;oBACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBACvB,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,IAAI,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,IAAI,GAAG,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;gBAAE,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACtE,IAAI,GAAG,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;gBACvD,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChD,IAAI,QAAQ,KAAK,IAAI;oBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC;oBACX,GAAG,EAAE,QAAQ,OAAO,IAAI,QAAQ,IAAI,MAAM,EAAE;oBAC5C,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;oBACnB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBACvB,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,KAAK,GACT,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;gBACtC,CAAC,CAAC;oBACE,IAAI,EAAE,MAAe;oBACrB,KAAK,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC3D,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBACvB;gBACH,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;oBACZ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;oBACd,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACO,IAAI,CAAC,KAAa;QACxB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;IACzD,CAAC;IACO,MAAM,CAAC,MAA4B;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;QAC9B,OAAO;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrD,GAAG;gBACH,KAAK;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAC;YACH,IAAI;SACL,CAAC;IACJ,CAAC;IACO,OAAO,CAAC,IAAI,GAAG,KAAK;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,oEAAoE;QACpE,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC,MAAM,CAAC;gBACjB,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;aAChE,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;YACjB,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM;gBACtB,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC/C,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK;SACtB,CAAC,CAAC;IACL,CAAC;IACO,QAAQ;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC7D,IAAI,CAAC,IAAI,CACP,uBAAuB,EACvB,+BAA+B,EAC/B,QAAQ,CAAC,IAAI,CACd,CAAC;QACJ,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACrE,CAAC;IACD;;;OAGG;IACK,MAAM;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,OAAO,GAAY,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,MAAM;YACzB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK;gBAC5B,IAAI,CAAC,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;YACpD,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAClC,IAAI,IAAe,CAAC;YACpB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1E,CAAC;;gBAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,MAAM,GAAyB;gBACnC,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;aACvC,CAAC;YACF,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG,EAAE,OAAO;gBACZ,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBACtD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5D,CAAC;IACO,WAAW,CAAC,IAAI,GAAG,KAAK;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC,MAAM,CAAC;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACzB,SAAS;gBACT,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE;aACpB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC/B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBACpB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,MAAM,CAAC;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC5B,SAAS;gBACT,OAAO;gBACP,QAAQ;gBACR,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC,MAAM,CAAC;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBACxB,EAAE;gBACF,KAAK;gBACL,GAAG;gBACH,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE;aACtB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAyB;gBACnC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3B,OAAO;aACR,CAAC;YACF,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;gBAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACjC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,CACjC,EAAE,KAAK,CAAC;YACT,IAAI,CAAC,SAAS;gBACZ,IAAI,CAAC,IAAI,CACP,qCAAqC,EACrC,uCAAuC,CACxC,CAAC;YACJ,OAAO,IAAI,CAAC,MAAM,CAAC;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBACxB,SAAS;gBACT,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE;aACpB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YAC1B,IAAI;YACJ,QAAQ;YACR,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IACO,IAAI;QACV,MAAM,MAAM,GAAyB,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;YACtE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;gBACrB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;iBACvC,CAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACtB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC;YACzC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;YAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3D,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YACtB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IACO,KAAK;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,sBAAsB,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5D,CAAC;IACO,UAAU;QAChB,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,sBAAsB,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;QACrC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,mEAAmE;QACnE,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,GAAG,EAAE,CAAC;YAChE,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,KAAK,GAAG;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,KAAK;gBACX,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE;gBAChB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;aACvB,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YACf,KAAK,GAAG;gBACN,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;gBACxB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;aACvB,CAAC;QACJ,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IACO,IAAI;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/B,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,KAAK,GAAW,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK;oBAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBACpE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC1B,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB,CAAC;YACJ,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC3B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YACnE,oEAAoE;YACpE,uEAAuE;YACvE,kEAAkE;YAClE,IACE,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;gBAChE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM;gBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,GAAG,EACzC,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;gBAC9B,OAAO;oBACL,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE;oBAC9B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBACvB,CAAC;YACJ,CAAC;YACD,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;gBAClC,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,QAAQ;oBAClC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBACvB,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACjE,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACrD,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;gBAC/C,KAAK,EACH,KAAK,CAAC,IAAI,KAAK,QAAQ;oBACrB,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAY;oBACpC,CAAC,CAAC,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,GAAW,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC7B,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,CAAC;YACD,0DAA0D;YAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,IAAI;gBACJ,IAAI;gBACJ,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;aACvB,CAAC;QACJ,CAAC;QACD,IAAI,MAA0B,CAAC;QAC/B,IAAI,KAAyB,CAAC;QAC9B,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpD,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,IAAI;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,MAAM,IAAI,KAAK,IAAI,QAAQ,IAAI,IAAI;YACrC,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,IAAI;gBACJ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3B,QAAQ;gBACR,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;aACvB,CAAC;QACJ,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IAC/D,CAAC;CACF"}
@@ -1,2 +1,3 @@
1
- export declare const BUNDLED_STD_FILES: ReadonlyMap<string, string>;
1
+ export declare const HSX_VERSION = "1.0.350";
2
+ export declare const BUNDLED_STD_HEADERS: ReadonlyMap<string, string>;
2
3
  //# sourceMappingURL=std-bundle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"std-bundle.d.ts","sourceRoot":"","sources":["../../src/std-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAexD,CAAC"}
1
+ {"version":3,"file":"std-bundle.d.ts","sources":["../../src/std-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAe1D,CAAC"}