@wavemaker-ai/react-codegen 1.0.0-rc.309 → 1.0.0-rc.314

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 (83) hide show
  1. package/dist/transpiler/index.mjs +937 -972
  2. package/dist/transpiler/index.mjs.map +1 -1
  3. package/package-lock.json +123 -123
  4. package/package.json +1 -1
  5. package/src/transpile/bind.ex.transformer.js +18 -1
  6. package/src/transpile/bind.ex.transformer.js.map +1 -1
  7. package/src/transpile/components/container/accordion-pane.transformer.js +4 -20
  8. package/src/transpile/components/container/accordion-pane.transformer.js.map +1 -1
  9. package/src/transpile/components/container/container.transformer.js +7 -21
  10. package/src/transpile/components/container/container.transformer.js.map +1 -1
  11. package/src/transpile/components/container/panel.transformer.js +4 -20
  12. package/src/transpile/components/container/panel.transformer.js.map +1 -1
  13. package/src/transpile/components/container/tabpane.transformer.js +4 -20
  14. package/src/transpile/components/container/tabpane.transformer.js.map +1 -1
  15. package/src/transpile/components/container/wizardstep.transformer.js +4 -36
  16. package/src/transpile/components/container/wizardstep.transformer.js.map +1 -1
  17. package/src/transpile/components/data/card/card-content.transformer.js +4 -20
  18. package/src/transpile/components/data/card/card-content.transformer.js.map +1 -1
  19. package/src/transpile/components/data/form/field-widget-shared.js +9 -0
  20. package/src/transpile/components/data/form/field-widget-shared.js.map +1 -0
  21. package/src/transpile/components/data/form/form-field.transformer.js +24 -26
  22. package/src/transpile/components/data/form/form-field.transformer.js.map +1 -1
  23. package/src/transpile/components/data/list/list-transformer.js +9 -2
  24. package/src/transpile/components/data/list/list-transformer.js.map +1 -1
  25. package/src/transpile/components/data/live-filter-field.transformer.js +30 -32
  26. package/src/transpile/components/data/live-filter-field.transformer.js.map +1 -1
  27. package/src/transpile/components/data/live-form-shared.js +135 -0
  28. package/src/transpile/components/data/live-form-shared.js.map +1 -0
  29. package/src/transpile/components/data/livefilter.transformer.js +3 -123
  30. package/src/transpile/components/data/livefilter.transformer.js.map +1 -1
  31. package/src/transpile/components/data/liveform.transformer.js +9 -128
  32. package/src/transpile/components/data/liveform.transformer.js.map +1 -1
  33. package/src/transpile/components/data/table/table-column.transformer.js +6 -3
  34. package/src/transpile/components/data/table/table-column.transformer.js.map +1 -1
  35. package/src/transpile/components/data/table/table-row.transformer.js +9 -20
  36. package/src/transpile/components/data/table/table-row.transformer.js.map +1 -1
  37. package/src/transpile/components/data/table/table.transformer.js +5 -2
  38. package/src/transpile/components/data/table/table.transformer.js.map +1 -1
  39. package/src/transpile/components/data/table/utils.js +70 -0
  40. package/src/transpile/components/data/table/utils.js.map +1 -1
  41. package/src/transpile/components/dialogs/alert-dialog.transformer.js +5 -13
  42. package/src/transpile/components/dialogs/alert-dialog.transformer.js.map +1 -1
  43. package/src/transpile/components/dialogs/confirm-dialog.transformer.js +5 -13
  44. package/src/transpile/components/dialogs/confirm-dialog.transformer.js.map +1 -1
  45. package/src/transpile/components/dialogs/dialog-factory.js +18 -0
  46. package/src/transpile/components/dialogs/dialog-factory.js.map +1 -0
  47. package/src/transpile/components/dialogs/iframe-dialog.transformer.js +5 -13
  48. package/src/transpile/components/dialogs/iframe-dialog.transformer.js.map +1 -1
  49. package/src/transpile/components/layout/footer.transformer.js +7 -45
  50. package/src/transpile/components/layout/footer.transformer.js.map +1 -1
  51. package/src/transpile/components/layout/header.transformer.js +7 -45
  52. package/src/transpile/components/layout/header.transformer.js.map +1 -1
  53. package/src/transpile/components/layout/layout-region-factory.js +46 -0
  54. package/src/transpile/components/layout/layout-region-factory.js.map +1 -0
  55. package/src/transpile/components/layout/leftnav.transformer.js +7 -45
  56. package/src/transpile/components/layout/leftnav.transformer.js.map +1 -1
  57. package/src/transpile/components/layout/rightnav.transformer.js +7 -45
  58. package/src/transpile/components/layout/rightnav.transformer.js.map +1 -1
  59. package/src/transpile/components/layout/topnav.transformer.js +7 -45
  60. package/src/transpile/components/layout/topnav.transformer.js.map +1 -1
  61. package/src/transpile/components/navigation/popover.transformer.js +5 -21
  62. package/src/transpile/components/navigation/popover.transformer.js.map +1 -1
  63. package/src/transpile/components/page/build-partial-markup.js +55 -0
  64. package/src/transpile/components/page/build-partial-markup.js.map +1 -0
  65. package/src/transpile/components/page/partial-container.transformer.js +2 -47
  66. package/src/transpile/components/page/partial-container.transformer.js.map +1 -1
  67. package/src/transpile/components/page/with-partial-container.js +26 -0
  68. package/src/transpile/components/page/with-partial-container.js.map +1 -0
  69. package/src/transpile/components/partial/partial-content.transformer.js +2 -47
  70. package/src/transpile/components/partial/partial-content.transformer.js.map +1 -1
  71. package/src/transpile/components/utils.js +58 -67
  72. package/src/transpile/components/utils.js.map +1 -1
  73. package/src/transpile/transform-markup.js +3 -0
  74. package/src/transpile/transform-markup.js.map +1 -1
  75. package/src/transpile/transpile.js +254 -128
  76. package/src/transpile/transpile.js.map +1 -1
  77. package/src/transpile/widget-inline-style-processor.js +58 -20
  78. package/src/transpile/widget-inline-style-processor.js.map +1 -1
  79. package/src/variables/variable.transformer.js +64 -18
  80. package/src/variables/variable.transformer.js.map +1 -1
  81. package/templates/component/layout.hbs +1 -0
  82. package/templates/project/package.json +4 -4
  83. package/templates/variables.template +3 -0
@@ -576,6 +576,113 @@ class Transpiler {
576
576
  className: (0, utils_browser_1.addOptionalChaining)(classes),
577
577
  };
578
578
  }
579
+ // Parse arguments properly, handling commas inside object literals and arrays
580
+ parseArguments(argString) {
581
+ const args = [];
582
+ let currentArg = "";
583
+ let braceCount = 0;
584
+ let bracketCount = 0;
585
+ for (let i = 0; i < argString.length; i++) {
586
+ const char = argString[i];
587
+ // Track object literals (curly braces) and arrays (square brackets)
588
+ if (char === "{")
589
+ braceCount++;
590
+ else if (char === "}")
591
+ braceCount--;
592
+ else if (char === "[")
593
+ bracketCount++;
594
+ else if (char === "]")
595
+ bracketCount--;
596
+ // If we encounter a comma at the top level (not inside an object or array), it's an argument separator
597
+ if (char === "," && braceCount === 0 && bracketCount === 0) {
598
+ if (currentArg.trim()) {
599
+ args.push(currentArg.trim());
600
+ }
601
+ currentArg = "";
602
+ continue;
603
+ }
604
+ currentArg += char;
605
+ }
606
+ if (currentArg.trim()) {
607
+ args.push(currentArg.trim());
608
+ }
609
+ return args;
610
+ }
611
+ // Droping literal arguments like strings, numbers, booleans, null/undefined
612
+ isLiteral(s) {
613
+ const v = s.trim();
614
+ return (/^(['"]).*\1$/.test(v) ||
615
+ /^-?\d+(?:\.\d+)?$/.test(v) ||
616
+ /^(true|false|null|undefined)$/i.test(v));
617
+ }
618
+ // Arithmetic/binary expressions (e.g. "0-5", "0+3") are not valid parameter names.
619
+ // The Angular parser converts unary negatives like -5 into binary (0-5).
620
+ isArithmeticExpression(s) {
621
+ const v = s.trim();
622
+ return /^\d+\s*[-+*/%]\s*\d+/.test(v);
623
+ }
624
+ // Check if argument contains a dot (property access), which makes it an expression, not a valid parameter name
625
+ isPropertyAccess(s) {
626
+ return s.trim().includes(".");
627
+ }
628
+ // Object literals should not be extracted as function parameters
629
+ isObjectLiteral(s) {
630
+ const trimmed = s.trim();
631
+ if (trimmed.startsWith("{") && trimmed.includes(":")) {
632
+ let braceCount = 0;
633
+ let inString = false;
634
+ let stringChar = "";
635
+ for (let i = 0; i < trimmed.length; i++) {
636
+ const char = trimmed[i];
637
+ if ((char === '"' || char === "'") && (i === 0 || trimmed[i - 1] !== "\\")) {
638
+ if (!inString) {
639
+ inString = true;
640
+ stringChar = char;
641
+ }
642
+ else if (char === stringChar) {
643
+ inString = false;
644
+ }
645
+ }
646
+ else if (!inString) {
647
+ if (char === "{")
648
+ braceCount++;
649
+ else if (char === "}")
650
+ braceCount--;
651
+ }
652
+ }
653
+ return braceCount === 0 && trimmed.endsWith("}");
654
+ }
655
+ return false;
656
+ }
657
+ // Array literals should not be extracted as function parameters
658
+ isArrayLiteral(s) {
659
+ const trimmed = s.trim();
660
+ if (trimmed.startsWith("[") && trimmed.endsWith("]")) {
661
+ let bracketCount = 0;
662
+ let inString = false;
663
+ let stringChar = "";
664
+ for (let i = 0; i < trimmed.length; i++) {
665
+ const char = trimmed[i];
666
+ if ((char === '"' || char === "'") && (i === 0 || trimmed[i - 1] !== "\\")) {
667
+ if (!inString) {
668
+ inString = true;
669
+ stringChar = char;
670
+ }
671
+ else if (char === stringChar) {
672
+ inString = false;
673
+ }
674
+ }
675
+ else if (!inString) {
676
+ if (char === "[")
677
+ bracketCount++;
678
+ else if (char === "]")
679
+ bracketCount--;
680
+ }
681
+ }
682
+ return bracketCount === 0;
683
+ }
684
+ return false;
685
+ }
579
686
  findArgs(str, context) {
580
687
  var _a;
581
688
  let argStr = "";
@@ -595,128 +702,14 @@ class Transpiler {
595
702
  .filter(s => !(0, lodash_1.includes)(["$item", "currentItemWidgets"], s.trim()))
596
703
  .join(",");
597
704
  }
598
- // Parse arguments properly, handling commas inside object literals and arrays
599
- const parseArguments = (argString) => {
600
- const args = [];
601
- let currentArg = "";
602
- let braceCount = 0;
603
- let bracketCount = 0;
604
- for (let i = 0; i < argString.length; i++) {
605
- const char = argString[i];
606
- // Track object literals (curly braces) and arrays (square brackets)
607
- if (char === "{")
608
- braceCount++;
609
- else if (char === "}")
610
- braceCount--;
611
- else if (char === "[")
612
- bracketCount++;
613
- else if (char === "]")
614
- bracketCount--;
615
- // If we encounter a comma at the top level (not inside an object or array), it's an argument separator
616
- if (char === "," && braceCount === 0 && bracketCount === 0) {
617
- if (currentArg.trim()) {
618
- args.push(currentArg.trim());
619
- }
620
- currentArg = "";
621
- continue;
622
- }
623
- currentArg += char;
624
- }
625
- // Add the last argument
626
- if (currentArg.trim()) {
627
- args.push(currentArg.trim());
628
- }
629
- return args;
630
- };
631
- // Droping literal arguments like strings, numbers, booleans, null/undefined
632
- const isLiteral = (s) => {
633
- const v = s.trim();
634
- return (/^(['"]).*\1$/.test(v) ||
635
- /^-?\d+(?:\.\d+)?$/.test(v) ||
636
- /^(true|false|null|undefined)$/i.test(v));
637
- };
638
- // Arithmetic/binary expressions (e.g. "0-5", "0+3") are not valid parameter names.
639
- // The Angular parser converts unary negatives like -5 into binary (0-5).
640
- const isArithmeticExpression = (s) => {
641
- const v = s.trim();
642
- return /^\d+\s*[-+*/%]\s*\d+/.test(v);
643
- };
644
- // Check if argument contains a dot (property access), which makes it an expression, not a valid parameter name
645
- const isPropertyAccess = (s) => {
646
- return s.trim().includes(".");
647
- };
648
- // Object literals should not be extracted as function parameters
649
- const isObjectLiteral = (s) => {
650
- const trimmed = s.trim();
651
- // Check if it starts with { and contains at least one : (key-value pair)
652
- if (trimmed.startsWith("{") && trimmed.includes(":")) {
653
- // Verify it's a balanced object literal
654
- let braceCount = 0;
655
- let inString = false;
656
- let stringChar = "";
657
- for (let i = 0; i < trimmed.length; i++) {
658
- const char = trimmed[i];
659
- if ((char === '"' || char === "'") && (i === 0 || trimmed[i - 1] !== "\\")) {
660
- if (!inString) {
661
- inString = true;
662
- stringChar = char;
663
- }
664
- else if (char === stringChar) {
665
- inString = false;
666
- }
667
- }
668
- else if (!inString) {
669
- if (char === "{")
670
- braceCount++;
671
- else if (char === "}")
672
- braceCount--;
673
- }
674
- }
675
- // If braces are balanced and it ends with }, it's an object literal
676
- return braceCount === 0 && trimmed.endsWith("}");
677
- }
678
- return false;
679
- };
680
- // Array literals should not be extracted as function parameters
681
- const isArrayLiteral = (s) => {
682
- const trimmed = s.trim();
683
- // Check if it starts with [ and ends with ]
684
- if (trimmed.startsWith("[") && trimmed.endsWith("]")) {
685
- // Verify it's a balanced array literal
686
- let bracketCount = 0;
687
- let inString = false;
688
- let stringChar = "";
689
- for (let i = 0; i < trimmed.length; i++) {
690
- const char = trimmed[i];
691
- if ((char === '"' || char === "'") && (i === 0 || trimmed[i - 1] !== "\\")) {
692
- if (!inString) {
693
- inString = true;
694
- stringChar = char;
695
- }
696
- else if (char === stringChar) {
697
- inString = false;
698
- }
699
- }
700
- else if (!inString) {
701
- if (char === "[")
702
- bracketCount++;
703
- else if (char === "]")
704
- bracketCount--;
705
- }
706
- }
707
- // If brackets are balanced, it's an array literal
708
- return bracketCount === 0;
709
- }
710
- return false;
711
- };
712
- const parsedArgs = parseArguments(argStr);
705
+ const parsedArgs = this.parseArguments(argStr);
713
706
  const args = parsedArgs
714
707
  .filter(Boolean)
715
- .filter(s => !isLiteral(s))
716
- .filter(s => !isArithmeticExpression(s))
717
- .filter(s => !isPropertyAccess(s))
718
- .filter(s => !isObjectLiteral(s))
719
- .filter(s => !isArrayLiteral(s));
708
+ .filter(s => !this.isLiteral(s))
709
+ .filter(s => !this.isArithmeticExpression(s))
710
+ .filter(s => !this.isPropertyAccess(s))
711
+ .filter(s => !this.isObjectLiteral(s))
712
+ .filter(s => !this.isArrayLiteral(s));
720
713
  const usesBareEvent = /\$event\b/.test(str);
721
714
  const hasEventParam = args.some(a => a.trim() === "$event");
722
715
  if (usesBareEvent && !hasEventParam) {
@@ -724,6 +717,124 @@ class Transpiler {
724
717
  }
725
718
  return `(${args.join(", ")})`;
726
719
  }
720
+ // Parse "($event, widget)" → ["$event", "widget"]; "()" → []
721
+ parseArrowParamNames(argsStr) {
722
+ const inner = argsStr.replace(/^\(|\)$/g, "").trim();
723
+ if (!inner)
724
+ return [];
725
+ return inner
726
+ .split(",")
727
+ .map(s => s.trim())
728
+ .filter(Boolean);
729
+ }
730
+ // Detect a `;` outside strings/parens/braces/brackets — signals multiple top-level statements
731
+ hasTopLevelSemicolon(body) {
732
+ let paren = 0;
733
+ let brace = 0;
734
+ let bracket = 0;
735
+ let inString = false;
736
+ let stringChar = "";
737
+ for (let i = 0; i < body.length; i++) {
738
+ const ch = body[i];
739
+ if ((ch === '"' || ch === "'") && (i === 0 || body[i - 1] !== "\\")) {
740
+ if (!inString) {
741
+ inString = true;
742
+ stringChar = ch;
743
+ }
744
+ else if (ch === stringChar) {
745
+ inString = false;
746
+ }
747
+ continue;
748
+ }
749
+ if (inString)
750
+ continue;
751
+ if (ch === "(")
752
+ paren++;
753
+ else if (ch === ")")
754
+ paren--;
755
+ else if (ch === "{")
756
+ brace++;
757
+ else if (ch === "}")
758
+ brace--;
759
+ else if (ch === "[")
760
+ bracket++;
761
+ else if (ch === "]")
762
+ bracket--;
763
+ else if (ch === ";" && paren === 0 && brace === 0 && bracket === 0)
764
+ return true;
765
+ }
766
+ return false;
767
+ }
768
+ isInstanceBoundFragmentCallee(calleeRef) {
769
+ return Transpiler.INSTANCE_BOUND_CALLEE.test(calleeRef);
770
+ }
771
+ // Match a body shaped like `fragment(...property chain...)?.(args)` — return callee ref + raw arg list
772
+ extractFragmentMethodCall(body) {
773
+ const trimmed = body.trim();
774
+ if (!trimmed.endsWith(")") || !trimmed.startsWith("fragment"))
775
+ return null;
776
+ let depth = 0;
777
+ let openIdx = -1;
778
+ for (let i = trimmed.length - 1; i >= 0; i--) {
779
+ const ch = trimmed[i];
780
+ if (ch === ")")
781
+ depth++;
782
+ else if (ch === "(") {
783
+ depth--;
784
+ if (depth === 0) {
785
+ openIdx = i;
786
+ break;
787
+ }
788
+ }
789
+ }
790
+ if (openIdx < 2)
791
+ return null;
792
+ if (trimmed.substring(openIdx - 2, openIdx) !== "?.")
793
+ return null;
794
+ const calleeRef = trimmed.substring(0, openIdx - 2);
795
+ if (!Transpiler.FRAGMENT_CALLEE_REF.test(calleeRef))
796
+ return null;
797
+ const argsStr = trimmed.substring(openIdx + 1, trimmed.length - 1);
798
+ const callArgs = this.parseArguments(argsStr);
799
+ return { calleeRef, callArgs };
800
+ }
801
+ // Decide if an `on-*` handler body can be emitted as a direct function reference instead of an arrow wrapper.
802
+ // Eligible when body is a single `fragment?.x?.(...)` call whose args are all simple identifiers already
803
+ // present in the synthesized arrow parameter list — i.e. nothing references closure-only values like `$item`,
804
+ // `currentItemWidgetsRef.current`, literals, property-access expressions, or table column `rowData`.
805
+ //
806
+ // Additional exclusion: callee paths through `Actions` or `Variables` resolve to runtime instance
807
+ // methods (NavigationAction.invoke, BaseVariable.invoke, setData, navigate, …) that rely on `this`.
808
+ // Emitting them as detached refs strips the receiver and breaks runtime + WmAnchor's
809
+ // `getGoToPageNameFromClickHandler` source-string detection, so always wrap those in an arrow.
810
+ canUseDirectHandlerReference(body, arrowParams) {
811
+ const trimmed = body.replace(/;+\s*$/, "").trim();
812
+ if (!trimmed)
813
+ return null;
814
+ if (this.hasTopLevelSemicolon(trimmed))
815
+ return null;
816
+ const parsed = this.extractFragmentMethodCall(trimmed);
817
+ if (!parsed)
818
+ return null;
819
+ if (this.isInstanceBoundFragmentCallee(parsed.calleeRef))
820
+ return null;
821
+ const paramSet = new Set(arrowParams);
822
+ for (const raw of parsed.callArgs) {
823
+ const a = raw.trim();
824
+ if (!a)
825
+ continue;
826
+ if (this.isLiteral(a) ||
827
+ this.isArithmeticExpression(a) ||
828
+ this.isObjectLiteral(a) ||
829
+ this.isArrayLiteral(a) ||
830
+ this.isPropertyAccess(a)) {
831
+ return null;
832
+ }
833
+ if (!paramSet.has(a))
834
+ return null;
835
+ }
836
+ return parsed.calleeRef;
837
+ }
727
838
  quoteAttr(v) {
728
839
  return ("" + v) /* Forces the conversion to string. */
729
840
  .replace(/&/g, "&amp;") /* This MUST be the 1st replacement. */
@@ -767,8 +878,16 @@ class Transpiler {
767
878
  if (context === null || context === void 0 ? void 0 : context.get("isInsideTableColumn")) {
768
879
  value = value.replace(/\brow\b/g, "rowData");
769
880
  }
770
- value = `${args} => {${value}}`;
771
- value = `{${value}}`;
881
+ const arrowParams = this.parseArrowParamNames(args);
882
+ const bodyForCheck = value.replace(/;+\s*$/, "").trim();
883
+ const directRef = this.canUseDirectHandlerReference(bodyForCheck, arrowParams);
884
+ if (directRef) {
885
+ value = `{${directRef}}`;
886
+ }
887
+ else {
888
+ value = `${args} => {${value}}`;
889
+ value = `{${value}}`;
890
+ }
772
891
  }
773
892
  else if (name === "datasource" || name === "deletedatasource") {
774
893
  if (value.startsWith("fragment")) {
@@ -785,6 +904,7 @@ class Transpiler {
785
904
  exp = exp.replace("fragment.Page", "fragment");
786
905
  const isProgressCircleDatavalue = tagName === "wm-progress-circle" && name === "datavalue";
787
906
  exp = (0, utils_browser_1.modifyExpression)(exp);
907
+ exp = (0, bind_ex_transformer_1.resolveFormatContext)(exp, context);
788
908
  exp = this.convertStringBooleanTernary(exp);
789
909
  // If expression is empty after transformation, use empty string instead of empty braces
790
910
  if (!exp) {
@@ -890,6 +1010,14 @@ class Transpiler {
890
1010
  transpiler.transformers.set(tagName, transformer);
891
1011
  }
892
1012
  }
1013
+ // Pure property / safe-property / keyed-read chain rooted at `fragment`.
1014
+ // Rejects callee refs that contain intermediate calls (e.g. `fragment.a?.b?.()?.c`),
1015
+ // operators, assignments, whitespace — anything that would change semantics when
1016
+ // evaluated at render time instead of click time.
1017
+ Transpiler.FRAGMENT_CALLEE_REF = /^fragment(?:\??\.[a-zA-Z_$][\w$]*|(?:\?\.)?\[[^\]]*\])*$/;
1018
+ // Callee paths rooted at runtime instance objects (Actions, Variables) whose methods
1019
+ // (invoke, navigate, setData, …) rely on `this` and must not be emitted as detached refs.
1020
+ Transpiler.INSTANCE_BOUND_CALLEE = /(?:\?\.|\.)(?:Actions|Variables)(?:\?\.|\.|\[|$)/;
893
1021
  const transpiler = new Transpiler();
894
1022
  exports.registerTransformer = transpiler.registerTransformer.bind(transpiler);
895
1023
  const transpileMarkup = (markup, isPartOfPrefab, splitCode, variables, preview) => {
@@ -1014,15 +1142,13 @@ const createExpression = (element, attrName) => {
1014
1142
  displayexpression = displayexpression.replace(/\$item\[fragment.(.*?)\]/g, "$item['$1']");
1015
1143
  displayexpression = displayexpression.replace(/\$item\['(.*?)'\]/g, "_get($item, '$1')");
1016
1144
  displayexpression = displayexpression.replace(/fragment.index/g, "$index");
1017
- if (displayexpression.indexOf("fragment.formatters.") >= 0) {
1018
- displayexpression = displayexpression.replace(new RegExp(bind_ex_transformer_1.FORMAT_CONTEXT, "g"), "$item");
1145
+ if (/formatters/.test(displayexpression)) {
1146
+ displayexpression = displayexpression.split(bind_ex_transformer_1.FORMAT_CONTEXT).join("$item");
1019
1147
  }
1020
1148
  // Transform fragment.name -> $item.name for arrow functions with $item
1021
1149
  displayexpression = displayexpression.replace(/fragment\.([a-zA-Z_$][a-zA-Z0-9_$]*)/g, "$item.$1");
1022
- // Add optional chaining for all property access (e.g., $item.App.appLocale -> $item?.App?.appLocale)
1023
- // Use negative lookbehind to avoid double optional chaining (??)
1024
- displayexpression = displayexpression.replace(/(?<!\?)\.([a-zA-Z_$][a-zA-Z0-9_$]*)/g, "?.$1");
1025
- displayexpression = displayexpression.replace(/([a-zA-Z0-9_$\]])\[/g, "$1?.[");
1150
+ // Add optional chaining while preserving dots inside string literals (e.g. custom.rowCurrencyList)
1151
+ displayexpression = (0, utils_browser_1.addOptionalChaining)(displayexpression);
1026
1152
  const exp = (0, lodash_1.includes)(displayexpression, "(") ? `${displayexpression}` : displayexpression;
1027
1153
  if (displayexpression.indexOf("$index") >= 0) {
1028
1154
  return `{($item, $index, $length) => (${exp})}`;
@@ -1 +1 @@
1
- {"version":3,"file":"transpile.js","sourceRoot":"","sources":["../../../src/transpile/transpile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAWgB;AAChB,qEAA+D;AAC/D,0CAA2C;AAC3C,6EAAoE;AACpE,4EAAsD;AACtD,gEAA2D;AAC3D,oDAK0B;AAC1B,iDAAkD;AAClD,mFAAoE;AAE7D,MAAM,oBAAoB,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAArF,QAAA,oBAAoB,wBAAiE;AAElG,MAAM,cAAc,GAA2B;IAC7C,aAAa,EAAE,gBAAgB;IAC/B,eAAe,EAAE,eAAe;IAChC,eAAe,EAAE,eAAe;IAChC,cAAc,EAAE,cAAc;IAC9B,aAAa,EAAE,aAAa;IAC5B,iBAAiB,EAAE,iBAAiB;IACpC,cAAc,EAAE,cAAc;IAC9B,YAAY,EAAE,YAAY;IAC1B,aAAa,EAAE,aAAa;IAC5B,cAAc,EAAE,cAAc;IAC9B,cAAc,EAAE,cAAc;CAC/B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,wBAAwB,GAAG,CAAC,WAAmB,EAAU,EAAE;IAC/D,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IAC1C,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,gFAAgF;IAChF,IAAI,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QACpC,qDAAqD;QACrD,OAAO,cAAc;aAClB,KAAK,CAAC,EAAE,CAAC;aACT,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC;aAC1B,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AA2+BoC,4DAAwB;AA1+B9D,kIAAkI;AACrH,QAAA,KAAK,GAChB,OAAO,0BAAc,KAAK,UAAU;IAClC,CAAC,CAAC,0BAAc;IAChB,CAAC,CAAE,0BAAmE,CAAC,KAAM,CAAC;AAClF,2GAA2G;AAC9F,QAAA,QAAQ,GAAG;IACtB,YAAY,EAAE,CAAC;IACf,SAAS,EAAE,CAAC;CACJ,CAAC;AACX,+FAA+F;AACxF,MAAM,aAAa,GAAG,CAAC,IAAS,EAAuB,EAAE,CAC9D,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAQ,CAAC,YAAY,CAAC;AAD7C,QAAA,aAAa,iBACgC;AAC1D,kGAAkG;AAClG,SAAS,mBAAmB;;IAC1B,MAAM,UAAU,GACd,MAAC,0BAAuD,CAAC,WAAW,mCAAI,8BAAW,CAAC;IACtF,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,uEAAuE;IACvE,MAAM,MAAM,GAAG,IAAA,aAAK,EAAC,aAAa,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,MAAA,MAAM,CAAC,UAAU,0CAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,MAAK,CAAC,CAAC,CAAC;IACvE,OAAO,CACL,MAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAkC,mCAC5C,CAAC,GAAG,EAAE;QACJ,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC,CAAC,EAAE,CACL,CAAC;AACJ,CAAC;AACY,QAAA,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;AAEtD,uFAAuF;AACvF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAS;IAC3C,SAAS;IACT,WAAW;IACX,aAAa;IACb,SAAS;IACT,SAAS;IACT,aAAa;IACb,aAAa;IACb,WAAW;IACX,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,WAAW;IACX,WAAW;IACX,eAAe;IACf,WAAW;IACX,gBAAgB;IAChB,WAAW;CACZ,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,2BAA2B,GAAG,CAAC,UAAkB,EAAE,cAAuB,KAAK,EAAU,EAAE;IAC/F,MAAM,WAAW,GAAG;QAClB,aAAa,EAAE,qDAAqD;QACpE,WAAW,EAAE,WAAW;QACxB,mBAAmB,EAAE,IAAI;QACzB,GAAG,CAAC,WAAW,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;KAC5C,CAAC;IACF,OAAO,IAAA,mCAAmB,EAAC,UAAU,CAAC,CAAC;AACzC,CAAC,CAAC;AAw6BO,kEAA2B;AAt6BpC,MAAa,oBAAoB;IAQ/B,YAAY,IAOX;QACC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAA,eAAM,EAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAU;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACzB,CAAC;CACF;AA/BD,oDA+BC;AAoCD,MAAM,UAAU;IAAhB;QACU,iBAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;QAE9C,uBAAkB,GAAa,EAAE,CAAC;QAiqBnC,cAAS,GAAG,CACjB,CAAc,EACd,cAAuB,EACvB,SAAS,GAAG,IAAI,EAChB,UAAiC,EACjC,EAAE;;YACF,MAAM,aAAa,GAAG,4BAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACrE,MAAM,cAAc,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;YAE9D,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACxE,IAAI,MAAM,GAAG;gBACX,MAAM,EAAE,EAAE;gBACV,UAAU,EAAE,EAAE;gBACd,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAmB;gBAC5B,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE,EAAE;gBACX,aAAa,EAAE,EAAE;aACE,CAAC;YACtB,4FAA4F;YAC5F,IACE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;gBACvB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACjD,CAAC,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,0CAAE,mBAAmB,CAAA,EACtC,CAAC;gBACD,CAAC,CAAC,YAAY,CACZ,MAAM,EACN,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAA,4BAAoB,GAAE,EAAE,CAC1E,CAAC;YACJ,CAAC;YACD,yGAAyG;YACzG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC/B,CAAC;YACD,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,CAAC,MAAM,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;gBAC3C,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACvB,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,gBAAQ,CAAC,YAAY,EAAE,CAAC;wBAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAgB,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;wBAC5E,IAAA,iBAAQ,EAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;wBAChD,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;wBAChC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;wBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;wBACxC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAC1C,MAAM,CAAC,UAAU,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;wBACpE,IAAI,OAAO,CAAC,UAAU;4BAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;oBACjE,CAAC;yBAAM,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,gBAAQ,CAAC,SAAS,EAAE,CAAC;wBACjD,sBAAsB;wBACtB,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBAC1D,IAAI,gBAAgB,EAAE,CAAC;4BACrB,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAC;wBACpC,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,MAAM,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,IAAI,oBAAoB,CAAC;oBACvC,MAAM,EAAE,MAAM;oBACd,cAAc,EAAE,cAAc;oBAC9B,WAAW,EAAE,WAAW;oBACxB,QAAQ,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ;oBAC9B,KAAK,EAAE,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,KAAI,EAAE;oBAC9B,IAAI,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI;iBACvB,CAAC,CAAC;gBACH,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBACxD,MAAM,CAAC,MAAM;oBACX,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,oCAAc,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;wBACxE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAExC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACvB,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,gBAAQ,CAAC,YAAY,EAAE,CAAC;wBAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAgB,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;wBACrF,IAAA,iBAAQ,EAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;wBAChD,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;wBAChC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;wBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;wBACxC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;wBACpD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAC1C,MAAM,CAAC,UAAU,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;wBACpE,IAAI,OAAO,CAAC,UAAU;4BAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;oBACjE,CAAC;yBAAM,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,gBAAQ,CAAC,SAAS,EAAE,CAAC;wBACjD,wCAAwC;wBACxC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBAC1D,IAAI,gBAAgB,EAAE,CAAC;4BACrB,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAC;wBACpC,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,WAAW,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClF,WAAW,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC/E,WAAW,CAAC,aAAa;oBACvB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBACtE,MAAM,CAAC,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,oCAAc,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3F,uFAAuF;gBACvF,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC1C,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,CAAC,MAAM,GAAG,0DAA0D,UAAU,SAAS,MAAM,CAAC,MAAM,UAAU,CAAC;gBACvH,CAAC;gBACD,MAAM,CAAC,MAAM,GAAG,IAAA,uBAAY,EAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;YACxD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;IAKJ,CAAC;IAzwBC;;;;;OAKG;IACK,wCAAwC,CAAC,UAAkB;QACjE,+DAA+D;QAC/D,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QAE5D,uDAAuD;QACvD,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACrE,6CAA6C;YAC7C,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YAClD,OAAO,GAAG,QAAQ,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACK,4BAA4B,CAAC,OAAoB,EAAE,QAAgB;;QACzE,IAAI,MAAM,GAAG,OAAO,CAAC,UAAgC,CAAC;QACtD,OAAO,MAAM,EAAE,CAAC;YACd,MAAM,aAAa,GAAG,MAAA,MAAM,CAAC,YAAY,uDAAG,SAAS,CAAC,CAAC;YACvD,IAAI,aAAa,EAAE,CAAC;gBAClB,iCAAiC;gBACjC,MAAM,kBAAkB,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;oBAC1D,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC5B,CAAC,CAAC,aAAa,CAAC;gBAClB,2EAA2E;gBAC3E,IAAI,kBAAkB,KAAK,QAAQ,IAAI,kBAAkB,KAAK,YAAY,QAAQ,EAAE,EAAE,CAAC;oBACrF,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,MAAM,GAAG,MAAM,CAAC,UAAgC,CAAC;QACnD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACK,yBAAyB,CAAC,KAAa;QAC7C,uCAAuC;QACvC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO,OAAO,GAAG,IAAA,6BAAW,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAErC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,OAAO,GAAG,IAAA,6BAAW,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;QAED,4FAA4F;QAC5F,4EAA4E;QAC5E,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEtE,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,iFAAiF;YACjF,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAChC,kEAAkE,CACnE,CAAC;YACF,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO,OAAO,GAAG,IAAA,6BAAW,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,aAAa,GAAG,GAAG,QAAQ,MAAM,CAAC;YACxC,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAC7D,KAAK,GAAG,IAAI,CAAC,wCAAwC,CAAC,eAAe,CAAC,CAAC;YACvE,IAAI,gBAAgB,GAAG,IAAA,6BAAW,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YAC9D,8EAA8E;YAC9E,gBAAgB,GAAG,gBAAgB;iBAChC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;iBACtC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,eAAe,GAAG,IAAA,mCAAmB,EAAC,YAAY,QAAQ,EAAE,CAAC,CAAC;YACpE,MAAM,aAAa,GAAG,GAAG,eAAe,mBAAmB,gBAAgB,GAAG,CAAC;YAC/E,OAAO,eAAe,aAAa,EAAE,CAAC;QACxC,CAAC;QAED,yCAAyC;QACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,eAAe,GAAG,IAAA,mCAAmB,EAAC,YAAY,QAAQ,EAAE,CAAC,CAAC;QAEpE,MAAM,cAAc,GAAG,CAAC,YAAoB,EAAE,OAAe,EAAU,EAAE;YACvE,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;YACvC,IAAI,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5E,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;YAEnC,MAAM,aAAa,GAAG,YAAY,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAE3D,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAO,IAAA,mCAAmB,EAAC,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,YAAY,EAAE,CAAC;gBACzE,MAAM,cAAc,GAAG,cAAc,CAAC,YAAY,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;gBAErE,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,cAAc,GAAG,IAAA,mCAAmB,EAAC,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC;oBACzE,OAAO,GAAG,cAAc,SAAS,WAAW,OAAO,cAAc,GAAG,CAAC;gBACvE,CAAC;gBACD,OAAO,GAAG,OAAO,SAAS,WAAW,OAAO,cAAc,GAAG,CAAC;YAChE,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,GAAG,eAAe,iBAAiB,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC;QAC5F,OAAO,eAAe,aAAa,EAAE,CAAC;IACxC,CAAC;IAEM,YAAY,CAAC,CAAc;QAChC,wCAAwC;QACxC,mCAAmC;QACnC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,eAAe,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvC,IAAI,KAAK,GAAW,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEvC,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9B,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAClC,kFAAkF;gBAClF,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAEjC,4EAA4E;gBAC5E,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;gBAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBAE/C,IAAI,KAAK,EAAE,CAAC;oBACV,+DAA+D;oBAC/D,IAAI,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC5B,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;oBAC1D,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;oBAC1D,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBACrC,CAAC;qBAAM,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxD,0EAA0E;oBAC1E,6CAA6C;oBAC7C,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;oBACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAEzD,IAAI,QAAQ,IAAI,IAAI,CAAC,4BAA4B,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;wBAC/D,iFAAiF;wBACjF,2DAA2D;wBAC3D,KAAK,GAAG,IAAI,CAAC,wCAAwC,CAAC,KAAK,CAAC,CAAC;wBAC7D,IAAI,gBAAgB,GAAG,IAAA,6BAAW,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;wBAC9D,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAAC,CAAC;oBACnD,CAAC;yBAAM,CAAC;wBACN,0DAA0D;wBAC1D,MAAM,gBAAgB,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;wBAC/D,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,2DAA2D;oBAC3D,KAAK,GAAG,IAAI,CAAC,wCAAwC,CAAC,KAAK,CAAC,CAAC;oBAC7D,IAAI,gBAAgB,GAAG,IAAA,6BAAW,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;oBAC9D,iEAAiE;oBACjE,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;wBAC/B,gBAAgB,GAAG,2BAA2B,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;oBACzE,CAAC;oBACD,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrD,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,IAAA,6BAAW,EAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YAChE,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,8BAA8B;gBAC9B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtB,IAAI,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC/B,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;wBAC5B,OAAO;oBACT,CAAC;oBACD,MAAM,QAAQ,GAAG,KAAK,CAAC;oBACvB,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;oBAC5B,IAAI,GAAG,UAAU,CAAC;oBAClB,KAAK,GAAG,QAAQ,CAAC;gBACnB,CAAC;gBACD,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,UAAU,EAAE,CAAC;oBACf,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBACxB,IAAI,GAAG,UAAU,CAAC;gBACpB,CAAC;gBACD,IAAI,gBAAgB,GAAG,IAAA,6BAAW,EAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC/D,6CAA6C;gBAC7C,gBAAgB,GAAG,2BAA2B,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;gBACxE,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,GAAG,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACvB,IAAI,IAAA,qBAAa,EAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,CAAc,EAAE,OAA6B;QACnE,2FAA2F;QAC3F,0FAA0F;QAC1F,IAAI,YAAY,GAA2B,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9E,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;oBACjB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChD,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;wBAChB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;wBACvF,YAAY,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,oBAAoB,GAAG,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;QAChE,IAAI,oBAAoB,EAAE,CAAC;YACzB,kDAAkD;YAClD,CAAC,CAAC,YAAY,CAAC,kBAAkB,EAAE,2BAA2B,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9F,CAAC;QAED,MAAM,QAAQ,GACZ,IAAA,2BAAmB,EAAC,CAAC,EAAE,CAAC,QAAgB,EAAE,EAAE;YAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YACxC,IAAI,WAAW,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;gBAC/C,OAAO,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,IAAI,EAAE,CAAC;QAEX,oEAAoE;QACpE,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,IAAA,cAAK,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,MAAM,GAAG,QAAQ,CAAC;QACtB,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAI,SAAS,EAAE,CAAC;YACd,KAAK;gBACH,IAAA,2BAAmB,EAAC,CAAC,EAAE,CAAC,QAAgB,EAAE,EAAE;oBAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;oBACxC,IAAI,WAAW,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;wBAC/C,OAAO,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC3D,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,GAAG,IAAA,cAAK,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAChC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,IAAA,iBAAQ,EAAC,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzD,QAAQ,GAAG,KAAK,CAAC;oBACjB,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBACxC,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,IAAA,mCAAmB,EAAC,QAAQ,CAAC,MAAM,CAAC;gBAC3D,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;gBAC5C,OAAO,MAAM,CAAC,UAAU,CAAC;YAC3B,CAAC;YACD,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACvC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,IAAI,kBAAkB,GAAG,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACzF,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;QACxC,CAAC;QACD,IAAI,kBAAkB,EAAE,CAAC;YACvB,kBAAkB,GAAG,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC;gBACzD,CAAC,CAAC,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBACtC,CAAC,CAAC,kBAAkB,CAAC;YAEvB,IAAI,kBAAkB,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3E,kBAAkB,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;oBAC/D,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACrD,mEAAmE;oBACnE,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC;oBACjC,CAAC;oBACD,OAAO,IAAI,IAAA,mCAAmB,EAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;gBAC9F,CAAC,CAAC,CAAC;gBACH,kBAAkB,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7C,CAAC;iBAAM,IACL,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACjC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAClC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAClC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC1C,CAAC;gBACD,kBAAkB,GAAG,GAAG,kBAAkB,EAAE,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,kBAAkB,GAAG,IAAA,mCAAmB,EAAC,kBAAkB,CAAC,CAAC;YAC/D,CAAC;YACD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnD,OAAO,GAAG,GAAG,OAAO,YAAY,kBAAkB,GAAG,CAAC;YACxD,CAAC;iBAAM,IAAI,OAAO,EAAE,CAAC;gBACnB,OAAO,GAAG,KAAK,OAAO,QAAQ,kBAAkB,GAAG,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,IAAI,kBAAkB,GAAG,CAAC;YACtC,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,GAAG,IAAI,OAAO,GAAG,CAAC;QAC3B,CAAC;QACD,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO;YACL,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,IAAA,mCAAmB,EAAC,OAAO,CAAC;SACxC,CAAC;IACJ,CAAC;IAEO,QAAQ,CAAC,GAAW,EAAE,OAA8B;;QAC1D,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAA,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,0CAAE,OAAO,CAAC,CAAC,CAAC,EAAE;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YAC9B,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,SAAS,GAAG,CAAC,CAAC;gBACd,MAAM,GAAG,CAAC,CAAC;YACb,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YACjC,MAAM,GAAG,MAAM;iBACZ,KAAK,CAAC,GAAG,CAAC;gBACX,0GAA0G;iBACzG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,iBAAQ,EAAC,CAAC,OAAO,EAAE,oBAAoB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;iBACjE,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QAED,8EAA8E;QAC9E,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAY,EAAE;YACrD,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAE1B,oEAAoE;gBACpE,IAAI,IAAI,KAAK,GAAG;oBAAE,UAAU,EAAE,CAAC;qBAC1B,IAAI,IAAI,KAAK,GAAG;oBAAE,UAAU,EAAE,CAAC;qBAC/B,IAAI,IAAI,KAAK,GAAG;oBAAE,YAAY,EAAE,CAAC;qBACjC,IAAI,IAAI,KAAK,GAAG;oBAAE,YAAY,EAAE,CAAC;gBAEtC,uGAAuG;gBACvG,IAAI,IAAI,KAAK,GAAG,IAAI,UAAU,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;oBAC3D,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;wBACtB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC/B,CAAC;oBACD,UAAU,GAAG,EAAE,CAAC;oBAChB,SAAS;gBACX,CAAC;gBAED,UAAU,IAAI,IAAI,CAAC;YACrB,CAAC;YAED,wBAAwB;YACxB,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/B,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,4EAA4E;QAC5E,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE;YAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO,CACL,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtB,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3B,gCAAgC,CAAC,IAAI,CAAC,CAAC,CAAC,CACzC,CAAC;QACJ,CAAC,CAAC;QAEF,mFAAmF;QACnF,yEAAyE;QACzE,MAAM,sBAAsB,GAAG,CAAC,CAAS,EAAE,EAAE;YAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC;QAEF,+GAA+G;QAC/G,MAAM,gBAAgB,GAAG,CAAC,CAAS,EAAE,EAAE;YACrC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,iEAAiE;QACjE,MAAM,eAAe,GAAG,CAAC,CAAS,EAAE,EAAE;YACpC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACzB,yEAAyE;YACzE,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrD,wCAAwC;gBACxC,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACxC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACxB,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;wBAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACd,QAAQ,GAAG,IAAI,CAAC;4BAChB,UAAU,GAAG,IAAI,CAAC;wBACpB,CAAC;6BAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;4BAC/B,QAAQ,GAAG,KAAK,CAAC;wBACnB,CAAC;oBACH,CAAC;yBAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACrB,IAAI,IAAI,KAAK,GAAG;4BAAE,UAAU,EAAE,CAAC;6BAC1B,IAAI,IAAI,KAAK,GAAG;4BAAE,UAAU,EAAE,CAAC;oBACtC,CAAC;gBACH,CAAC;gBACD,oEAAoE;gBACpE,OAAO,UAAU,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,gEAAgE;QAChE,MAAM,cAAc,GAAG,CAAC,CAAS,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACzB,4CAA4C;YAC5C,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrD,uCAAuC;gBACvC,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACxC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACxB,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;wBAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACd,QAAQ,GAAG,IAAI,CAAC;4BAChB,UAAU,GAAG,IAAI,CAAC;wBACpB,CAAC;6BAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;4BAC/B,QAAQ,GAAG,KAAK,CAAC;wBACnB,CAAC;oBACH,CAAC;yBAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACrB,IAAI,IAAI,KAAK,GAAG;4BAAE,YAAY,EAAE,CAAC;6BAC5B,IAAI,IAAI,KAAK,GAAG;4BAAE,YAAY,EAAE,CAAC;oBACxC,CAAC;gBACH,CAAC;gBACD,kDAAkD;gBAClD,OAAO,YAAY,KAAK,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,UAAU;aACpB,MAAM,CAAC,OAAO,CAAC;aACf,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;aACvC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;aACjC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;aAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnC,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAC;QAC5D,IAAI,aAAa,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;QACvE,CAAC;QAED,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAChC,CAAC;IAEO,SAAS,CAAC,CAAM;QACtB,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,sCAAsC;aACnD,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,uCAAuC;aAC9D,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,gDAAgD;aACxE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;aACvB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACK,2BAA2B,CAAC,GAAW;QAC7C,OAAO,GAAG,CAAC,OAAO,CAChB,uDAAuD,EACvD,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAC9B,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAAC,IAAY;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAEO,aAAa,CACnB,OAAe,EACf,IAAY,EACZ,KAAa,EACb,OAA6B,EAC7B,EAAa;QAEb,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAClE,WAAW;QACb,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,KAAK,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,KAAK,EAAE,CAAC;YACvD,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC;QACvB,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5D,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC1C,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC3C,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC3C,0FAA0F;YAC1F,qEAAqE;YACrE,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;gBACjC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3C,KAAK,GAAG,2BAA2B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC3C,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACxC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAC/C,CAAC;YACD,KAAK,GAAG,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC;YAChC,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC;QACvB,CAAC;aAAM,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAChE,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjC,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC;YACvB,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,iDAAiD;YACjD,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB;YACzD,KAAK,GAAG,IAAI,GAAG,GAAG,CAAC;QACrB,CAAC;aAAM,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YAC/C,MAAM,yBAAyB,GAAG,OAAO,KAAK,oBAAoB,IAAI,IAAI,KAAK,WAAW,CAAC;YAC3F,GAAG,GAAG,IAAA,gCAAgB,EAAC,GAAG,CAAC,CAAC;YAC5B,GAAG,GAAG,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;YAE5C,wFAAwF;YACxF,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,GAAG,GAAG,IAAI,CAAC;YACb,CAAC;YAED,IAAI,yBAAyB,EAAE,CAAC;gBAC9B,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC,0FAA0F;YACvH,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;YAC/D,CAAC;YACD,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBAChC,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjD,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YACD,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC9B,KAAK,GAAG,IAAA,+BAAa,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,IAAA,cAAK,EAAC,MAAM,CAAC,EAAE,CAAC;gBACnB,KAAK,GAAG,MAAM,CAAC;YACjB,CAAC;QACH,CAAC;QACD,OAAO,IAAA,cAAK,EAAC,KAAK,CAAC,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;IAClE,CAAC;IAEM,cAAc,CAAC,CAAc,EAAE,OAA6B,EAAE,EAAa;;QAChF,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,IAAI,0CAAE,iBAAkD,CAAC;QACpF,MAAM,gBAAgB,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,cAAc,CAAC,CAAC,CAAC,mCAAI,IAAI,CAAC;QAC/D,CAAC,CAAC,YAAY,CAAC,gBAAgB,EAAE,IAAA,+BAAgB,GAAE,CAAC,CAAC;QACrD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,IAAA,gBAAO,EAAC,MAAM,CAAC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACvC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,MAAM,GAAG,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,IAAA,gBAAO,EAAC,SAAS,CAAC,IAAI,SAAS,EAAE,CAAC;YACrC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC;QAED,IACE,OAAO,KAAK,cAAc;YAC1B,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,EAC3F,CAAC;YACD,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CACjC,CAAC,IAAS,EAAE,EAAE,WAAC,OAAA,IAAI,CAAC,OAAO,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,WAAW,EAAE,MAAK,UAAU,CAAA,EAAA,CAC3D,CAAC;YACjB,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC;YACzD,MAAM,aAAa,GAAG,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,UAAU,CAAC;YACvE,MAAM,YAAY,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,CAAC,SAAS,CAAC,KAAI,EAAE,CAAC;YAC9D,MAAM,aAAa,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CACrC,CAAC,IAAS,EAAE,EAAE,WAAC,OAAA,IAAI,CAAC,OAAO,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,WAAW,EAAE,MAAK,cAAc,CAAA,EAAA,CAC/D,CAAC;YAEjB,MAAM,WAAW,GAAG,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAkB,KAAK,CAAC,CAAC,UAAkB,IAAI,EAAE,CAAC;YACtF,MAAM,WAAW,GAAI,WAAqB,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,eAC9D,OAAA,oBAAoB,CAAC,GAAG,CAAC,CAAA,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,WAAW,kDAAI,KAAI,EAAE,CAAC,CAAA,EAAA,CAC7C,CAAC;YAEnB,IAAI,WAAW,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;gBACxC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;gBAC3D,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YAClC,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACf,SAAS,IAAI,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBACxD,MAAM,IAAI,GAAG,MAAA,WAAW,CAAC,CAAC,CAAC,0CAAE,YAAY,CAAC,MAAM,CAAC,CAAC;gBAClD,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC7D,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;aAChC,GAAG,CAAC,IAAI,CAAC,EAAE;YACV,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,uGAAuG;QACvG,IAAI,gBAAgB,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,oBAAoB,GAAG,UAAU,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;YACnF,GAAG,IAAI,oBAAoB,oBAAoB,EAAE,CAAC;QACpD,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,yBAAyB,CAAC,UAAe,EAAE,IAAY,EAAE,UAAkB,CAAC;QAClF,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC;QACtB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,eAAe,CAAC,CAAc,EAAE,OAA6B;QAClE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,UAAU,GAAG,KAAK,GAAG,IAAA,mBAAU,EAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,UAAU,GAAG,IAAA,gBAAO,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACvD,UAAU,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;sBAClC,MAAM,CAAC,MAAM;UACzB,CAAC;QACP,MAAM,CAAC,MAAM,GAAG,IAAI,UAAU,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAC9E,OAAO,MAAM,CAAC;IAChB,CAAC;IAyGD,mBAAmB,CAAC,OAAe,EAAE,WAAwB;QAC3D,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACpD,CAAC;CACF;AAED,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAEvB,QAAA,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAE5E,MAAM,eAAe,GAAG,CAC7B,MAAc,EACd,cAAuB,EACvB,SAAmB,EACnB,SAAe,EACf,OAAiB,EACjB,EAAE;IACF,MAAM,MAAM,GAAG,IAAA,aAAK,EAAC,MAAM,EAAE;QAC3B,iBAAiB,EAAE,EAAE;KACtB,CAAC,CAAC;IAEH,IAAI,WAAW,GAAqB;QAClC,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,aAAa,EAAE,EAAE;QACjB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,iFAAiF;IACjF,wEAAwE;IACxE,MAAM,sBAAsB,GAAgB,IAAI,GAAG,EAAE,CAAC;IACtD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;YAC1C,2EAA2E;YAC3E,4DAA4D;YAC5D,IAAI,CAAC,CAAC,QAAQ,KAAK,aAAa,IAAI,CAAC,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACvE,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,iDAAiB,EAAE,CAAC;IAElD,iFAAiF;IACjF,MAAM,cAAc,GAAG,IAAI,oBAAoB,CAAC;QAC9C,MAAM,EAAE,WAAW;QACnB,cAAc,EAAE,cAAc;QAC9B,WAAW,EAAE,EAAiB;QAC9B,KAAK,EAAE,EAAE;QACT,IAAI,EAAE;YACJ,sBAAsB,EAAE,sBAAsB;YAC9C,iBAAiB;YACjB,OAAO,EAAE,OAAO,KAAK,IAAI;SAC1B;KACF,CAAC,CAAC;IAEH,mFAAmF;IACnF,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;QACtC,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAQ,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;YAC9B,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvB,WAAW,CAAC,MAAM,IAAI,KAAK,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC;YACvD,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAQ,CAAC,YAAY,EAAE,CAAC;YACnD,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;YACrF,WAAW,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;YACpC,WAAW,CAAC,UAAU,GAAG,EAAE,GAAG,WAAW,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAC7E,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9C,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5C,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;YACxD,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,MAAM,CAAC,UAAU;gBAAE,WAAW,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,WAAW,CAAC,aAAa,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;IAEnE,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAvEW,QAAA,eAAe,mBAuE1B;AAEW,QAAA,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAE5D,QAAA,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAExD,QAAA,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAIpE,MAAM,gBAAgB,GAAG,CAC9B,OAAoB,EACpB,cAAuB,EACvB,SAAS,GAAG,IAAI,EAChB,UAAiC,EACjC,EAAE;IACF,OAAQ,UAAkB,CAAC,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AACvF,CAAC,CAAC;AAPW,QAAA,gBAAgB,oBAO3B;AAEF;;;GAGG;AACI,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAU,EAAE;IACzD,MAAM,QAAQ,GAA8B;QAC1C,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,GAAG;QACZ,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,GAAG;KACd,CAAC;IACF,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC;AACzE,CAAC,CAAC;AATW,QAAA,kBAAkB,sBAS7B;AAEF;;;;;;GAMG;AACI,MAAM,4BAA4B,GAAG,CAAC,UAAkB,EAAU,EAAE;IACzE,+DAA+D;IAC/D,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAE5D,oDAAoD;IACpD,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QACrE,6CAA6C;QAC7C,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAC7E,OAAO,SAAS,QAAQ,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAZW,QAAA,4BAA4B,gCAYvC;AAEK,MAAM,gBAAgB,GAAG,CAAC,OAAoB,EAAE,QAAgB,EAAsB,EAAE;IAC7F,IAAI,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,iBAAiB,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,kFAAkF;QAClF,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEzD,wCAAwC;QACxC,iBAAiB,GAAG,IAAA,0BAAkB,EAAC,iBAAiB,CAAC,CAAC;QAE1D,oDAAoD;QACpD,iBAAiB,GAAG,IAAA,oCAA4B,EAAC,iBAAiB,CAAC,CAAC;QAEpE,yCAAyC;QACzC,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAC5E,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;QAC9E,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;QAChF,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACxE,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,6BAA6B,EAAE,aAAa,CAAC,CAAC;QAC5F,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,2BAA2B,EAAE,aAAa,CAAC,CAAC;QAC1F,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;QACzF,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAC3E,IAAI,iBAAiB,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,oCAAc,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QAC1F,CAAC;QAED,uEAAuE;QACvE,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAC3C,uCAAuC,EACvC,UAAU,CACX,CAAC;QAEF,qGAAqG;QACrG,iEAAiE;QACjE,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;QAC9F,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAE/E,MAAM,GAAG,GAAG,IAAA,iBAAQ,EAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC1F,IAAI,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,OAAO,iCAAiC,GAAG,IAAI,CAAC;QAClD,CAAC;QACD,OAAO,gBAAgB,GAAG,IAAI,CAAC;IACjC,CAAC;IACD,IAAI,IAAA,8BAAc,EAAC,iBAAiB,CAAC,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,IAAA,6BAAW,EAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,gBAAgB,cAAc,IAAI,CAAC;IAC5C,CAAC;AACH,CAAC,CAAC;AA/CW,QAAA,gBAAgB,oBA+C3B;AAEF,MAAM,uBAAuB,GAAG,CAAC,CAAc,EAAE,EAAE;IACjD,mDAAmD;IACnD,MAAM,QAAQ,GACZ,IAAA,2BAAmB,EAAC,CAAC,EAAE,CAAC,QAAgB,EAAE,EAAE;QAC1C,OAAO,IAAI,CAAC,CAAC,+BAA+B;IAC9C,CAAC,CAAC,IAAI,EAAE,CAAC;IAEX,+FAA+F;IAC/F,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;SACpC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC;SAC/B,GAAG,CAAC,IAAI,CAAC,EAAE;QACV,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,GAAG,IAAI,KAAK,CAAC;QAEhC,oDAAoD;QACpD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,OAAO,cAAc,KAAK,GAAG,CAAC;QAChC,CAAC;QACD,qDAAqD;aAChD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;YACtD,OAAO,UAAU,WAAW,GAAG,CAAC;QAClC,CAAC;QACD,OAAO,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC;IAC9B,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,yCAAyC;IACzC,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,SAAS,GAAG,WAAW,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;IACrD,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,QAAQ,GAAG,SAAS,GAAG,CAAC;AAC/D,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,0BAA0B,GAAG,CAAC,WAAmB,EAAU,EAAE;IACjE,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAA8B,EAAE,CAAC;IAElD,qDAAqD;IACrD,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAEpD,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;gBACtB,gEAAgE;gBAChE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CACxE,MAAM,CAAC,WAAW,EAAE,CACrB,CAAC;gBACF,WAAW,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,oCAAoC;IACpC,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,CAAc,EAAE,EAAE;IAClD,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;AACzC,CAAC,CAAC"}
1
+ {"version":3,"file":"transpile.js","sourceRoot":"","sources":["../../../src/transpile/transpile.ts"],"names":[],"mappings":"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"}