@nice2dev/ui-3d 1.1.0 → 1.1.1

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 (206) hide show
  1. package/dist/cjs/collaborative/collaborativeScene.js +16 -8
  2. package/dist/cjs/collaborative/collaborativeScene.js.map +1 -1
  3. package/dist/cjs/core/i18n.js +3 -3
  4. package/dist/cjs/dance/DanceBridge.js +65 -30
  5. package/dist/cjs/dance/DanceBridge.js.map +1 -1
  6. package/dist/cjs/dance/DanceScoreEngine.js +37 -23
  7. package/dist/cjs/dance/DanceScoreEngine.js.map +1 -1
  8. package/dist/cjs/dance/PoseDetector.js +92 -49
  9. package/dist/cjs/dance/PoseDetector.js.map +1 -1
  10. package/dist/cjs/material/NiceMaterialEditor.js +134 -91
  11. package/dist/cjs/material/NiceMaterialEditor.js.map +1 -1
  12. package/dist/cjs/material/materialEditorUtils.js +86 -55
  13. package/dist/cjs/material/materialEditorUtils.js.map +1 -1
  14. package/dist/cjs/model/ModelEditor.js +16 -14
  15. package/dist/cjs/model/ModelEditor.js.map +1 -1
  16. package/dist/cjs/model/ModelEditorLeftPanel.js +21 -15
  17. package/dist/cjs/model/ModelEditorLeftPanel.js.map +1 -1
  18. package/dist/cjs/model/ModelEditorMenuBar.js +23 -10
  19. package/dist/cjs/model/ModelEditorMenuBar.js.map +1 -1
  20. package/dist/cjs/model/ModelEditorRightPanel.js +32 -27
  21. package/dist/cjs/model/ModelEditorRightPanel.js.map +1 -1
  22. package/dist/cjs/model/ModelEditorSubComponents.js +20 -20
  23. package/dist/cjs/model/ModelEditorSubComponents.js.map +1 -1
  24. package/dist/cjs/model/ModelEditorTimeline.js +12 -11
  25. package/dist/cjs/model/ModelEditorTimeline.js.map +1 -1
  26. package/dist/cjs/model/ModelEditorToolbar.js +5 -5
  27. package/dist/cjs/model/ModelEditorToolbar.js.map +1 -1
  28. package/dist/cjs/model/ModelEditorViewport.js +12 -8
  29. package/dist/cjs/model/ModelEditorViewport.js.map +1 -1
  30. package/dist/cjs/model/ModelViewer.js +16 -15
  31. package/dist/cjs/model/ModelViewer.js.map +1 -1
  32. package/dist/cjs/model/NiceArmatureEditor.js +53 -30
  33. package/dist/cjs/model/NiceArmatureEditor.js.map +1 -1
  34. package/dist/cjs/model/NiceMorphTargetEditor.js +51 -30
  35. package/dist/cjs/model/NiceMorphTargetEditor.js.map +1 -1
  36. package/dist/cjs/model/NiceOctree.js +62 -37
  37. package/dist/cjs/model/NiceOctree.js.map +1 -1
  38. package/dist/cjs/model/NicePhysicsSimulation.js +74 -36
  39. package/dist/cjs/model/NicePhysicsSimulation.js.map +1 -1
  40. package/dist/cjs/model/NiceProceduralGeometry.js +101 -31
  41. package/dist/cjs/model/NiceProceduralGeometry.js.map +1 -1
  42. package/dist/cjs/model/NiceTerrainEditor.js +88 -38
  43. package/dist/cjs/model/NiceTerrainEditor.js.map +1 -1
  44. package/dist/cjs/model/NiceWeightPainter.js +46 -24
  45. package/dist/cjs/model/NiceWeightPainter.js.map +1 -1
  46. package/dist/cjs/model/NiceXRPreview.js +89 -43
  47. package/dist/cjs/model/NiceXRPreview.js.map +1 -1
  48. package/dist/cjs/model/cadModeUtils.js +2 -2
  49. package/dist/cjs/model/cadModeUtils.js.map +1 -1
  50. package/dist/cjs/model/editorShortcuts.js +69 -35
  51. package/dist/cjs/model/editorShortcuts.js.map +1 -1
  52. package/dist/cjs/model/modelEditorTypes.js +56 -52
  53. package/dist/cjs/model/modelEditorTypes.js.map +1 -1
  54. package/dist/cjs/model/modelEditorUtils.js +356 -131
  55. package/dist/cjs/model/modelEditorUtils.js.map +1 -1
  56. package/dist/cjs/model/simsModeUtils.js +819 -74
  57. package/dist/cjs/model/simsModeUtils.js.map +1 -1
  58. package/dist/cjs/model/useModelEditor.js +501 -394
  59. package/dist/cjs/model/useModelEditor.js.map +1 -1
  60. package/dist/cjs/model/useModelViewer.js +117 -86
  61. package/dist/cjs/model/useModelViewer.js.map +1 -1
  62. package/dist/cjs/particle/NiceParticleEditor.js +126 -69
  63. package/dist/cjs/particle/NiceParticleEditor.js.map +1 -1
  64. package/dist/cjs/particle/particleEditorUtils.js +64 -27
  65. package/dist/cjs/particle/particleEditorUtils.js.map +1 -1
  66. package/dist/cjs/rendering/NiceCascadedShadows.js +35 -23
  67. package/dist/cjs/rendering/NiceCascadedShadows.js.map +1 -1
  68. package/dist/cjs/rendering/NiceRenderExport.js +26 -12
  69. package/dist/cjs/rendering/NiceRenderExport.js.map +1 -1
  70. package/dist/cjs/rendering/NiceSSAO.js +28 -23
  71. package/dist/cjs/rendering/NiceSSAO.js.map +1 -1
  72. package/dist/cjs/rendering/NiceSSR.js +22 -18
  73. package/dist/cjs/rendering/NiceSSR.js.map +1 -1
  74. package/dist/cjs/rendering/NiceWebGPURenderer.js +60 -37
  75. package/dist/cjs/rendering/NiceWebGPURenderer.js.map +1 -1
  76. package/dist/cjs/ui/dist/NiceErrorBoundary-D75yr_WE.js +572 -0
  77. package/dist/cjs/ui/dist/NiceErrorBoundary-D75yr_WE.js.map +1 -0
  78. package/dist/cjs/ui/dist/NiceForm-CKoJA6NG.js +4979 -0
  79. package/dist/cjs/ui/dist/NiceForm-CKoJA6NG.js.map +1 -0
  80. package/dist/cjs/ui/dist/NiceModal-1QX7NhyH.js +98 -0
  81. package/dist/cjs/ui/dist/NiceModal-1QX7NhyH.js.map +1 -0
  82. package/dist/cjs/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js +5244 -0
  83. package/dist/cjs/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js.map +1 -0
  84. package/dist/cjs/ui/dist/NicePagination-DbE-uOkl.js +174 -0
  85. package/dist/cjs/ui/dist/NicePagination-DbE-uOkl.js.map +1 -0
  86. package/dist/cjs/ui/dist/NicePinCodeInput-B8cI8zu8.js +10459 -0
  87. package/dist/cjs/ui/dist/NicePinCodeInput-B8cI8zu8.js.map +1 -0
  88. package/dist/cjs/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js +6313 -0
  89. package/dist/cjs/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js.map +1 -0
  90. package/dist/cjs/ui/dist/NiceTabs-DzLHzwuA.js +1639 -0
  91. package/dist/cjs/ui/dist/NiceTabs-DzLHzwuA.js.map +1 -0
  92. package/dist/cjs/ui/dist/NiceWindow-DeC83yfE.js +807 -0
  93. package/dist/cjs/ui/dist/NiceWindow-DeC83yfE.js.map +1 -0
  94. package/dist/cjs/ui/dist/charts-BAS21jkC.js +3833 -0
  95. package/dist/cjs/ui/dist/charts-BAS21jkC.js.map +1 -0
  96. package/dist/cjs/ui/dist/core-Da43q-pO.js +11683 -0
  97. package/dist/cjs/ui/dist/core-Da43q-pO.js.map +1 -0
  98. package/dist/cjs/ui/dist/index-pAuGTbuB.js +28876 -0
  99. package/dist/cjs/ui/dist/index-pAuGTbuB.js.map +1 -0
  100. package/dist/cjs/uv/NiceUVEditor.js +115 -86
  101. package/dist/cjs/uv/NiceUVEditor.js.map +1 -1
  102. package/dist/cjs/uv/uvEditorUtils.js +41 -23
  103. package/dist/cjs/uv/uvEditorUtils.js.map +1 -1
  104. package/dist/esm/collaborative/collaborativeScene.js +16 -8
  105. package/dist/esm/collaborative/collaborativeScene.js.map +1 -1
  106. package/dist/esm/dance/DanceBridge.js +55 -20
  107. package/dist/esm/dance/DanceBridge.js.map +1 -1
  108. package/dist/esm/dance/DanceScoreEngine.js +29 -15
  109. package/dist/esm/dance/DanceScoreEngine.js.map +1 -1
  110. package/dist/esm/dance/PoseDetector.js +73 -30
  111. package/dist/esm/dance/PoseDetector.js.map +1 -1
  112. package/dist/esm/material/NiceMaterialEditor.js +115 -72
  113. package/dist/esm/material/NiceMaterialEditor.js.map +1 -1
  114. package/dist/esm/material/materialEditorUtils.js +86 -55
  115. package/dist/esm/material/materialEditorUtils.js.map +1 -1
  116. package/dist/esm/model/ModelEditor.js +16 -14
  117. package/dist/esm/model/ModelEditor.js.map +1 -1
  118. package/dist/esm/model/ModelEditorLeftPanel.js +21 -15
  119. package/dist/esm/model/ModelEditorLeftPanel.js.map +1 -1
  120. package/dist/esm/model/ModelEditorMenuBar.js +23 -10
  121. package/dist/esm/model/ModelEditorMenuBar.js.map +1 -1
  122. package/dist/esm/model/ModelEditorRightPanel.js +32 -27
  123. package/dist/esm/model/ModelEditorRightPanel.js.map +1 -1
  124. package/dist/esm/model/ModelEditorSubComponents.js +17 -17
  125. package/dist/esm/model/ModelEditorSubComponents.js.map +1 -1
  126. package/dist/esm/model/ModelEditorTimeline.js +12 -11
  127. package/dist/esm/model/ModelEditorTimeline.js.map +1 -1
  128. package/dist/esm/model/ModelEditorToolbar.js +5 -5
  129. package/dist/esm/model/ModelEditorToolbar.js.map +1 -1
  130. package/dist/esm/model/ModelEditorViewport.js +12 -8
  131. package/dist/esm/model/ModelEditorViewport.js.map +1 -1
  132. package/dist/esm/model/ModelViewer.js +8 -7
  133. package/dist/esm/model/ModelViewer.js.map +1 -1
  134. package/dist/esm/model/NiceArmatureEditor.js +36 -13
  135. package/dist/esm/model/NiceArmatureEditor.js.map +1 -1
  136. package/dist/esm/model/NiceMorphTargetEditor.js +34 -13
  137. package/dist/esm/model/NiceMorphTargetEditor.js.map +1 -1
  138. package/dist/esm/model/NiceOctree.js +47 -22
  139. package/dist/esm/model/NiceOctree.js.map +1 -1
  140. package/dist/esm/model/NicePhysicsSimulation.js +51 -13
  141. package/dist/esm/model/NicePhysicsSimulation.js.map +1 -1
  142. package/dist/esm/model/NiceProceduralGeometry.js +94 -24
  143. package/dist/esm/model/NiceProceduralGeometry.js.map +1 -1
  144. package/dist/esm/model/NiceTerrainEditor.js +70 -20
  145. package/dist/esm/model/NiceTerrainEditor.js.map +1 -1
  146. package/dist/esm/model/NiceWeightPainter.js +33 -11
  147. package/dist/esm/model/NiceWeightPainter.js.map +1 -1
  148. package/dist/esm/model/NiceXRPreview.js +72 -26
  149. package/dist/esm/model/NiceXRPreview.js.map +1 -1
  150. package/dist/esm/model/cadModeUtils.js +2 -2
  151. package/dist/esm/model/cadModeUtils.js.map +1 -1
  152. package/dist/esm/model/editorShortcuts.js +69 -35
  153. package/dist/esm/model/editorShortcuts.js.map +1 -1
  154. package/dist/esm/model/modelEditorTypes.js +56 -52
  155. package/dist/esm/model/modelEditorTypes.js.map +1 -1
  156. package/dist/esm/model/modelEditorUtils.js +356 -131
  157. package/dist/esm/model/modelEditorUtils.js.map +1 -1
  158. package/dist/esm/model/simsModeUtils.js +819 -74
  159. package/dist/esm/model/simsModeUtils.js.map +1 -1
  160. package/dist/esm/model/useModelEditor.js +384 -277
  161. package/dist/esm/model/useModelEditor.js.map +1 -1
  162. package/dist/esm/model/useModelViewer.js +56 -25
  163. package/dist/esm/model/useModelViewer.js.map +1 -1
  164. package/dist/esm/particle/NiceParticleEditor.js +116 -59
  165. package/dist/esm/particle/NiceParticleEditor.js.map +1 -1
  166. package/dist/esm/particle/particleEditorUtils.js +64 -27
  167. package/dist/esm/particle/particleEditorUtils.js.map +1 -1
  168. package/dist/esm/rendering/NiceCascadedShadows.js +24 -12
  169. package/dist/esm/rendering/NiceCascadedShadows.js.map +1 -1
  170. package/dist/esm/rendering/NiceRenderExport.js +22 -8
  171. package/dist/esm/rendering/NiceRenderExport.js.map +1 -1
  172. package/dist/esm/rendering/NiceSSAO.js +11 -6
  173. package/dist/esm/rendering/NiceSSAO.js.map +1 -1
  174. package/dist/esm/rendering/NiceSSR.js +9 -5
  175. package/dist/esm/rendering/NiceSSR.js.map +1 -1
  176. package/dist/esm/rendering/NiceWebGPURenderer.js +40 -17
  177. package/dist/esm/rendering/NiceWebGPURenderer.js.map +1 -1
  178. package/dist/esm/ui/dist/NiceErrorBoundary-D75yr_WE.js +563 -0
  179. package/dist/esm/ui/dist/NiceErrorBoundary-D75yr_WE.js.map +1 -0
  180. package/dist/esm/ui/dist/NiceForm-CKoJA6NG.js +4960 -0
  181. package/dist/esm/ui/dist/NiceForm-CKoJA6NG.js.map +1 -0
  182. package/dist/esm/ui/dist/NiceModal-1QX7NhyH.js +96 -0
  183. package/dist/esm/ui/dist/NiceModal-1QX7NhyH.js.map +1 -0
  184. package/dist/esm/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js +5201 -0
  185. package/dist/esm/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js.map +1 -0
  186. package/dist/esm/ui/dist/NicePagination-DbE-uOkl.js +172 -0
  187. package/dist/esm/ui/dist/NicePagination-DbE-uOkl.js.map +1 -0
  188. package/dist/esm/ui/dist/NicePinCodeInput-B8cI8zu8.js +10408 -0
  189. package/dist/esm/ui/dist/NicePinCodeInput-B8cI8zu8.js.map +1 -0
  190. package/dist/esm/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js +6296 -0
  191. package/dist/esm/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js.map +1 -0
  192. package/dist/esm/ui/dist/NiceTabs-DzLHzwuA.js +1630 -0
  193. package/dist/esm/ui/dist/NiceTabs-DzLHzwuA.js.map +1 -0
  194. package/dist/esm/ui/dist/NiceWindow-DeC83yfE.js +796 -0
  195. package/dist/esm/ui/dist/NiceWindow-DeC83yfE.js.map +1 -0
  196. package/dist/esm/ui/dist/charts-BAS21jkC.js +3809 -0
  197. package/dist/esm/ui/dist/charts-BAS21jkC.js.map +1 -0
  198. package/dist/esm/ui/dist/core-Da43q-pO.js +11502 -0
  199. package/dist/esm/ui/dist/core-Da43q-pO.js.map +1 -0
  200. package/dist/esm/ui/dist/index-pAuGTbuB.js +28792 -0
  201. package/dist/esm/ui/dist/index-pAuGTbuB.js.map +1 -0
  202. package/dist/esm/uv/NiceUVEditor.js +91 -62
  203. package/dist/esm/uv/NiceUVEditor.js.map +1 -1
  204. package/dist/esm/uv/uvEditorUtils.js +41 -23
  205. package/dist/esm/uv/uvEditorUtils.js.map +1 -1
  206. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"NiceMaterialEditor.js","sources":["../../../src/material/NiceMaterialEditor.tsx"],"sourcesContent":[null],"names":["createEmptyGraph","DEFAULT_GRID_SIZE","createNode","addNodeToGraph","removeNodesFromGraph","moveNodesInGraph","updateNodeInGraph","getNodeDefinition","canConnect","createConnection","addConnectionToGraph","removeConnectionFromGraph","generateNodeId","cloneNode","calculateZoomToFit","useReducer","useEffect","compileShader","searchNodes","MATERIAL_NODE_DEFINITIONS","useMemo","_jsxs","styles","_jsx","NODE_CATEGORY_COLORS","NODE_CATEGORY_NAMES","useRef","useState","NODE_HEADER_HEIGHT","PORT_HEIGHT","NODE_WIDTH","PORT_TYPE_COLORS","MATERIAL_NODE_MAP","useCallback","MAX_ZOOM","MIN_ZOOM","screenToGraph","exportGraphToJSON","importGraphFromJSON"],"mappings":"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"}
1
+ {"version":3,"file":"NiceMaterialEditor.js","sources":["../../../src/material/NiceMaterialEditor.tsx"],"sourcesContent":[null],"names":["createEmptyGraph","DEFAULT_GRID_SIZE","createNode","addNodeToGraph","removeNodesFromGraph","moveNodesInGraph","updateNodeInGraph","getNodeDefinition","canConnect","createConnection","addConnectionToGraph","removeConnectionFromGraph","generateNodeId","cloneNode","calculateZoomToFit","useReducer","useEffect","compileShader","searchNodes","MATERIAL_NODE_DEFINITIONS","useMemo","_jsxs","styles","_jsx","NODE_CATEGORY_COLORS","NODE_CATEGORY_NAMES","useRef","useState","NODE_HEADER_HEIGHT","PORT_HEIGHT","NODE_WIDTH","PORT_TYPE_COLORS","MATERIAL_NODE_MAP","useCallback","MAX_ZOOM","MIN_ZOOM","screenToGraph","exportGraphToJSON","importGraphFromJSON"],"mappings":";;;;;;;;;AAsEA;;AAEiF;AAEjF,SAAS,kBAAkB,CAAC,KAAqB,EAAA;AAC/C,IAAA,MAAM,YAAY,GAAG,KAAK,IAAIA,oCAAgB,EAAE;IAChD,OAAO;AACL,QAAA,KAAK,EAAE,YAAY;AACnB,QAAA,aAAa,EAAE,EAAE;AACjB,QAAA,mBAAmB,EAAE,EAAE;AACvB,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,aAAa,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE;AAC1C,QAAA,WAAW,EAAE,QAAQ;AACrB,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,QAAQ,EAAEC,qCAAiB;AAC3B,QAAA,SAAS,EAAE,EAAE;AACb,QAAA,SAAS,EAAE,EAAE;AACb,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,WAAW,EAAE,EAAE;QACf,kBAAkB,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAA2B;KAC9F;AACH;AAEA,SAAS,eAAe,CAAC,KAA0B,EAAA;IACjD,OAAO;AACL,QAAA,GAAG,KAAK;AACR,QAAA,SAAS,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;AACvD,QAAA,SAAS,EAAE,EAAE;KACd;AACH;AAEA,SAAS,qBAAqB,CAC5B,KAA0B,EAC1B,MAA4B,EAAA;AAE5B,IAAA,QAAQ,MAAM,CAAC,IAAI;QACjB,KAAK,UAAU,EAAE;AACf,YAAA,MAAM,IAAI,GAAGC,8BAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;YACzD,IAAI,CAAC,IAAI,EAAE;AACT,gBAAA,OAAO,KAAK;YACd;AACA,YAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC;YACvC,OAAO;AACL,gBAAA,GAAG,QAAQ;gBACX,KAAK,EAAEC,kCAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;AAC3C,gBAAA,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;aACzB;QACH;QAEA,KAAK,cAAc,EAAE;AACnB,YAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC;YACvC,OAAO;AACL,gBAAA,GAAG,QAAQ;gBACX,KAAK,EAAEC,wCAAoB,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;AAC3D,gBAAA,aAAa,EAAE,EAAE;AACjB,gBAAA,mBAAmB,EAAE,EAAE;aACxB;QACH;QAEA,KAAK,YAAY,EAAE;YACjB,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,KAAK,EAAEC,oCAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;aACnE;QACH;QAEA,KAAK,sBAAsB,EAAE;AAC3B,YAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC;YACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC;YACrE,IAAI,CAAC,IAAI,EAAE;AACT,gBAAA,OAAO,KAAK;YACd;YACA,OAAO;AACL,gBAAA,GAAG,QAAQ;gBACX,KAAK,EAAEC,qCAAiB,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;AACtD,oBAAA,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE;iBACtE,CAAC;aACH;QACH;QAEA,KAAK,oBAAoB,EAAE;AACzB,YAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC;YACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC;YACrE,IAAI,CAAC,IAAI,EAAE;AACT,gBAAA,OAAO,KAAK;YACd;YACA,OAAO;AACL,gBAAA,GAAG,QAAQ;gBACX,KAAK,EAAEA,qCAAiB,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;AACtD,oBAAA,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE;iBACpE,CAAC;aACH;QACH;QAEA,KAAK,SAAS,EAAE;YACd,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;YACzF,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;AACzF,YAAA,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE;AAC9B,gBAAA,OAAO,KAAK;YACd;AAEA,YAAA,MAAM,SAAS,GAAGC,qCAAiB,CAAC,UAAU,CAAC;AAC/C,YAAA,MAAM,SAAS,GAAGA,qCAAiB,CAAC,UAAU,CAAC;AAC/C,YAAA,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE;AAC5B,gBAAA,OAAO,KAAK;YACd;YAEA,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;YACzF,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;AACxF,YAAA,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE;AAC9B,gBAAA,OAAO,KAAK;YACd;YAEA,MAAM,EAAE,KAAK,EAAE,GAAGC,8BAAU,CAC1B,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,KAAK,CAAC,KAAK,CAAC,WAAW,CACxB;YACD,IAAI,CAAC,KAAK,EAAE;AACV,gBAAA,OAAO,KAAK;YACd;AAEA,YAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC;AACvC,YAAA,MAAM,UAAU,GAAGC,oCAAgB,CACjC,MAAM,CAAC,UAAU,CAAC,YAAY,EAC9B,MAAM,CAAC,UAAU,CAAC,YAAY,EAC9B,MAAM,CAAC,UAAU,CAAC,YAAY,EAC9B,MAAM,CAAC,UAAU,CAAC,YAAY,CAC/B;YAED,OAAO;AACL,gBAAA,GAAG,QAAQ;gBACX,KAAK,EAAEC,wCAAoB,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;aACxD;QACH;QAEA,KAAK,YAAY,EAAE;AACjB,YAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC;YACvC,OAAO;AACL,gBAAA,GAAG,QAAQ;gBACX,KAAK,EAAEC,6CAAyB,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;AACrE,gBAAA,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,YAAY,CAAC;aAC1F;QACH;QAEA,KAAK,cAAc,EAAE;YACnB,OAAO;AACL,gBAAA,GAAG,KAAK;gBACR,aAAa,EAAE,MAAM,CAAC;AACpB,sBAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;sBACxD,MAAM,CAAC,OAAO;AAClB,gBAAA,mBAAmB,EAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,mBAAmB,GAAG,EAAE;aACtE;QACH;QAEA,KAAK,oBAAoB,EAAE;YACzB,OAAO;AACL,gBAAA,GAAG,KAAK;gBACR,mBAAmB,EAAE,MAAM,CAAC;AAC1B,sBAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,mBAAmB,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;sBACpE,MAAM,CAAC,aAAa;AACxB,gBAAA,aAAa,EAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,aAAa,GAAG,EAAE;aAC1D;QACH;QAEA,KAAK,YAAY,EAAE;YACjB,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AACjD,gBAAA,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;aAC9D;QACH;QAEA,KAAK,cAAc,EAAE;YACnB,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,aAAa,EAAE,EAAE;AACjB,gBAAA,mBAAmB,EAAE,EAAE;aACxB;QACH;QAEA,KAAK,MAAM,EAAE;YACX,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvF,MAAM,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CACtD,CAAC,CAAC,KACA,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC5C,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAC/C;YACD,OAAO;AACL,gBAAA,GAAG,KAAK;gBACR,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE;aAClE;QACH;QAEA,KAAK,OAAO,EAAE;AACZ,YAAA,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;AACpB,gBAAA,OAAO,KAAK;YACd;AACA,YAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC;AAEvC,YAAA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB;AACvC,YAAA,MAAM,QAAQ,GAAmB,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AAClE,gBAAA,MAAM,KAAK,GAAGC,kCAAc,EAAE;gBAC9B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC;gBACzB,OAAO;AACL,oBAAA,GAAG,IAAI;AACP,oBAAA,EAAE,EAAE,KAAK;AACT,oBAAA,QAAQ,EAAE;wBACR,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,SAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE;wBAClF,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,SAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE;AACnF,qBAAA;AACD,oBAAA,QAAQ,EAAE,KAAK;iBAChB;AACH,YAAA,CAAC,CAAC;AAEF,YAAA,MAAM,cAAc,GAAyB,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AACtF,gBAAA,GAAG,IAAI;gBACP,EAAE,EAAEA,kCAAc,EAAE;gBACpB,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAE;gBAC3C,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAE;AAC5C,aAAA,CAAC,CAAC;YAEH,OAAO;AACL,gBAAA,GAAG,QAAQ;AACX,gBAAA,KAAK,EAAE;oBACL,GAAG,QAAQ,CAAC,KAAK;oBACjB,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC;oBAC7C,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,cAAc,CAAC;AAChE,iBAAA;AACD,gBAAA,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;aACzC;QACH;QAEA,KAAK,KAAK,EAAE;AACV,YAAA,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CACzC,CAAC,CAAC,KAAK,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,YAAY,CAC/E;YACD,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CACrD,CAAC,CAAC,KACA,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC5C,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAC/C;AACD,YAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC;YACvC,OAAO;AACL,gBAAA,GAAG,QAAQ;gBACX,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE;gBAC/D,KAAK,EAAER,wCAAoB,CACzB,QAAQ,CAAC,KAAK,EACd,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAC5B;AACD,gBAAA,aAAa,EAAE,EAAE;aAClB;QACH;QAEA,KAAK,WAAW,EAAE;AAChB,YAAA,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAC1C,CAAC,CAAC,KAAK,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,YAAY,CAC/E;AACD,YAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC;AAEvC,YAAA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB;YACvC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AACxC,gBAAA,MAAM,MAAM,GAAGS,6BAAS,CAAC,IAAI,CAAC;gBAC9B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;AAC7B,gBAAA,OAAO,MAAM;AACf,YAAA,CAAC,CAAC;YAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CACtD,CAAC,CAAC,KACA,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC5C,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAC/C;YACD,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AACtD,gBAAA,GAAG,IAAI;gBACP,EAAE,EAAED,kCAAc,EAAE;gBACpB,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAE;gBAC3C,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAE;AAC5C,aAAA,CAAC,CAAC;YAEH,OAAO;AACL,gBAAA,GAAG,QAAQ;AACX,gBAAA,KAAK,EAAE;oBACL,GAAG,QAAQ,CAAC,KAAK;oBACjB,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC;oBAC7C,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,cAAc,CAAC;AAChE,iBAAA;AACD,gBAAA,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;aACzC;QACH;QAEA,KAAK,MAAM,EAAE;YACX,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAChC,gBAAA,OAAO,KAAK;YACd;AACA,YAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5D,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,KAAK,EAAE,QAAQ;gBACf,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBACvC,SAAS,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC;AAC5C,gBAAA,aAAa,EAAE,EAAE;AACjB,gBAAA,mBAAmB,EAAE,EAAE;aACxB;QACH;QAEA,KAAK,MAAM,EAAE;YACX,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAChC,gBAAA,OAAO,KAAK;YACd;AACA,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACxD,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC;gBAC5C,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AACvC,gBAAA,aAAa,EAAE,EAAE;AACjB,gBAAA,mBAAmB,EAAE,EAAE;aACxB;QACH;AAEA,QAAA,KAAK,oBAAoB;YACvB,OAAO,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE;QAEtD,KAAK,aAAa,EAAE;AAClB,YAAA,MAAM,SAAS,GAAGE,sCAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC;YACjE,OAAO,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE;QAC/C;AAEA,QAAA,KAAK,kBAAkB;YACrB,OAAO,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE;AAE/C,QAAA,KAAK,aAAa;YAChB,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE;AAEhD,QAAA,KAAK,gBAAgB;YACnB,OAAO,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE;AAEtD,QAAA,KAAK,aAAa;YAChB,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE;AAEpD,QAAA,KAAK,eAAe;YAClB,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE;AAE5C,QAAA,KAAK,kBAAkB;YACrB,OAAO,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE;AAEhD,QAAA,KAAK,iBAAiB;YACpB,OAAO;AACL,gBAAA,GAAG,KAAK;gBACR,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ;AACnE,sBAAE,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,QAAQ;sBAC5D,CAAC,GAAG,KAAK,CAAC,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC;aACnD;AAEH,QAAA,KAAK,eAAe;YAClB,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,KAAK,EAAER,qCAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;aAC1E;AAEH,QAAA,KAAK,aAAa;YAChB,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,KAAK,EAAEA,qCAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;aAC3E;AAEH,QAAA,KAAK,aAAa;YAChB,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,KAAK,EAAEA,qCAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;aAClF;AAEH,QAAA,KAAK,WAAW;YACd,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,KAAK,EAAEA,qCAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;aACvE;AAEH,QAAA,KAAK,aAAa;YAChB,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,KAAK,EAAEA,qCAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;aACxE;AAEH,QAAA,KAAK,SAAS;YACZ,OAAO,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE;AAEtC,QAAA,KAAK,qBAAqB;AACxB,YAAA,OAAO,EAAE,GAAG,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE;AAEtE,QAAA,KAAK,qBAAqB;YACxB,OAAO,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE;AAEtD,QAAA,KAAK,YAAY;YACf,OAAO;AACL,gBAAA,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC;gBACnC,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B;AAEH,QAAA,KAAK,WAAW;YACd,OAAO,kBAAkB,EAAE;AAE7B,QAAA,KAAK,cAAc;YACjB,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,KAAK,EAAE;oBACL,GAAG,KAAK,CAAC,KAAK;AACd,oBAAA,QAAQ,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE;AAC1D,iBAAA;aACF;AAEH,QAAA;AACE,YAAA,OAAO,KAAK;;AAElB;AAEA;;AAEiF;AAE3E,SAAU,iBAAiB,CAAC,YAA4B,EAAA;AAC5D,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGS,aAAU,CAAC,qBAAqB,EAAE,YAAY,EAAE,kBAAkB,CAAC;;IAG7FC,YAAS,CAAC,MAAK;QACb,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;AACzC,YAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAK;AAC9B,gBAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAGC,iCAAa,CAAC,KAAK,CAAC,KAAK,CAAC;gBACzC,QAAQ,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC;YACnD,CAAC,EAAE,GAAG,CAAC;AACP,YAAA,OAAO,MAAM,YAAY,CAAC,OAAO,CAAC;QACpC;IACF,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;AAEpC,IAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE;AAC5B;AAiBA,SAAS,WAAW,CAAC,EACnB,WAAW,EACX,kBAAkB,EAClB,QAAQ,EACR,gBAAgB,EAChB,SAAS,EACT,WAAW,GACM,EAAA;AACjB,IAAA,MAAM,aAAa,GAAG,WAAW,GAAGC,mCAAW,CAAC,WAAW,CAAC,GAAGC,iDAAyB;AAExF,IAAA,MAAM,UAAU,GAAGC,UAAO,CAAC,MAAK;AAC9B,QAAA,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkD;AACtE,QAAA,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC7B;AACA,YAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC;QACrC;AACA,QAAA,OAAO,IAAI;AACb,IAAA,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;IAEnB,QACEC,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,qBAAM,CAAC,OAAO,EAAA,QAAA,EAAA,CAC5BC,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAED,qBAAM,CAAC,aAAa,EAAA,QAAA,EAClCC,cAAA,CAAA,OAAA,EAAA,EACE,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,iBAAiB,EAC7B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,SAAS,EAAED,qBAAM,CAAC,WAAW,EAAA,CAC7B,EAAA,CACE,EACNC,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAED,qBAAM,CAAC,iBAAiB,EAAA,QAAA,EACrC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,MACtDD,eAAA,CAAA,KAAA,EAAA,EAAoB,SAAS,EAAEC,qBAAM,CAAC,eAAe,aACnDD,eAAA,CAAA,QAAA,EAAA,EACE,SAAS,EAAEC,qBAAM,CAAC,cAAc,EAChC,OAAO,EAAE,MAAM,gBAAgB,CAAC,QAAQ,CAAC,EACzC,KAAK,EAAE,EAAE,eAAe,EAAEE,wCAAoB,CAAC,QAAQ,CAAC,EAAE,EAAA,QAAA,EAAA,CAE1DD,cAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAED,qBAAM,CAAC,YAAY,EAAA,QAAA,EACjC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,GAAG,EAAA,CAC7C,EACPC,cAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAOE,uCAAmB,CAAC,QAAQ,CAAC,EAAA,CAAQ,EAC5CF,cAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAED,qBAAM,CAAC,aAAa,EAAA,QAAA,EAAG,KAAK,CAAC,MAAM,EAAA,CAAQ,CAAA,EAAA,CACrD,EACR,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KACpCC,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAED,qBAAM,CAAC,aAAa,EAAA,QAAA,EACjC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,MACjBD,eAAA,CAAA,KAAA,EAAA,EAEE,SAAS,EAAEC,qBAAM,CAAC,WAAW,EAC7B,SAAS,QACT,WAAW,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAChD,aAAa,EAAE,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAC5C,KAAK,EAAE,OAAO,CAAC,WAAW,EAAA,QAAA,EAAA,CAE1BC,cAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAED,qBAAM,CAAC,SAAS,EAC3B,KAAK,EAAE;4CACL,eAAe,EAAE,OAAO,CAAC,KAAK,IAAIE,wCAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC;AACzE,yCAAA,EAAA,CACD,EACFD,cAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAED,qBAAM,CAAC,QAAQ,EAAA,QAAA,EAAG,OAAO,CAAC,IAAI,EAAA,CAAQ,CAAA,EAAA,EAblD,OAAO,CAAC,IAAI,CAcb,CACP,CAAC,EAAA,CACE,CACP,CAAA,EAAA,EAjCO,QAAQ,CAkCZ,CACP,CAAC,EAAA,CACE,CAAA,EAAA,CACF;AAEV;AAoBA,SAAS,SAAS,CAAC,EACjB,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,aAAa,EACb,WAAW,EACX,QAAQ,EACR,MAAM,EACN,iBAAiB,GACF,EAAA;AACf,IAAA,MAAM,OAAO,GAAGI,SAAM,CAAiB,IAAI,CAAC;IAC5C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAGC,WAAQ,CAAC,KAAK,CAAC;AACnD,IAAA,MAAM,SAAS,GAAGD,SAAM,CAAe,IAAI,CAAC;AAE5C,IAAA,MAAM,eAAe,GAAG,CAAC,CAAmB,KAAI;AAC9C,QAAA,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAClB;QACF;QACA,CAAC,CAAC,eAAe,EAAE;QAEnB,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC;QAC5C;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,aAAa,CAAC,IAAI,CAAC;AACnB,YAAA,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE;QACpD;AACF,IAAA,CAAC;IAEDV,YAAS,CAAC,MAAK;QACb,IAAI,CAAC,UAAU,EAAE;YACf;QACF;AAEA,QAAA,MAAM,eAAe,GAAG,CAAC,CAAa,KAAI;AACxC,YAAA,IAAI,SAAS,CAAC,OAAO,EAAE;AACrB,gBAAA,MAAM,KAAK,GAAG;AACZ,oBAAA,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI;AACzD,oBAAA,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI;iBAC1D;AACD,gBAAA,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE;AAClD,gBAAA,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC;YACxB;AACF,QAAA,CAAC;QAED,MAAM,aAAa,GAAG,MAAK;YACzB,aAAa,CAAC,KAAK,CAAC;AACpB,YAAA,SAAS,CAAC,OAAO,GAAG,IAAI;AAC1B,QAAA,CAAC;AAED,QAAA,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC;AACvD,QAAA,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC;AAEnD,QAAA,OAAO,MAAK;AACV,YAAA,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC;AAC1D,YAAA,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC;AACxD,QAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAErD,MAAM,mBAAmB,GAAG,CAC1B,CAAmB,EACnB,MAAc,EACd,QAA4B,KAC1B;QACF,CAAC,CAAC,eAAe,EAAE;QACnB,MAAM,IAAI,GAAI,CAAC,CAAC,MAAsB,CAAC,qBAAqB,EAAE;AAC9D,QAAA,MAAM,QAAQ,GAAG;YACf,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;YAC7B,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;SAC9B;QACD,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACxD,IAAA,CAAC;AAED,IAAA,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,IAAIQ,wCAAoB,CAAC,UAAU,CAAC,QAAQ,CAAC;AAC/E,IAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;AAC9E,IAAA,MAAM,UAAU,GAAG,IAAI,CAAC;AACtB,UAAEI;UACAA,sCAAkB,GAAG,QAAQ,GAAGC,+BAAW,GAAG,CAAC;AAEnD,IAAA,QACER,eAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,CAAA,EAAGC,qBAAM,CAAC,SAAS,CAAA,CAAA,EAAI,QAAQ,GAAGA,qBAAM,CAAC,QAAQ,GAAG,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM,GAAGA,qBAAM,CAAC,MAAM,GAAG,EAAE,CAAA,CAAE,EACvG,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC;AAC5D,YAAA,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC;AAC3D,YAAA,KAAK,EAAEQ,8BAAU,GAAG,aAAa,CAAC,IAAI;AACtC,YAAA,MAAM,EAAE,UAAU,GAAG,aAAa,CAAC,IAAI;AACvC,YAAA,SAAS,EAAE,CAAA,MAAA,EAAS,aAAa,CAAC,IAAI,CAAA,CAAA,CAAG;AACzC,YAAA,eAAe,EAAE,UAAU;AAC5B,SAAA,EACD,WAAW,EAAE,eAAe,EAAA,QAAA,EAAA,CAE5BT,yBAAK,SAAS,EAAEC,qBAAM,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,EAAA,QAAA,EAAA,CACtEC,yBAAM,SAAS,EAAED,qBAAM,CAAC,SAAS,EAAA,QAAA,EAAG,UAAU,CAAC,IAAI,GAAQ,EAC1D,IAAI,CAAC,MAAM,IAAIC,cAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAED,qBAAM,CAAC,QAAQ,EAAA,QAAA,EAAA,cAAA,EAAA,CAAW,CAAA,EAAA,CACvD,EAEL,CAAC,IAAI,CAAC,SAAS,KACdD,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,qBAAM,CAAC,SAAS,EAAA,QAAA,EAAA,CAC9BC,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAED,qBAAM,CAAC,UAAU,EAAA,QAAA,EAC9B,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;4BACrC,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAClC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,EAAE,CAChE;4BACD,QACED,yBAEE,SAAS,EAAEC,qBAAM,CAAC,IAAI,EACtB,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,GAAGO,+BAAW,GAAGD,sCAAkB,EAAE,aAExDL,cAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,CAAA,EAAGD,qBAAM,CAAC,UAAU,CAAA,CAAA,EAAIA,qBAAM,CAAC,WAAW,IAAI,WAAW,GAAGA,qBAAM,CAAC,SAAS,GAAG,EAAE,CAAA,CAAE,EAC9F,KAAK,EAAE,EAAE,eAAe,EAAES,oCAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAC3D,WAAW,EAAE,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,EAAA,CAC5D,EACFR,yBAAM,SAAS,EAAED,qBAAM,CAAC,SAAS,YAAG,IAAI,CAAC,IAAI,EAAA,CAAQ,CAAA,EAAA,EAThD,IAAI,CAAC,EAAE,CAUR;wBAEV,CAAC,CAAC,GACE,EACNC,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAED,qBAAM,CAAC,WAAW,EAAA,QAAA,EAC/B,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;4BACtC,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAClC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,EAAE,CAChE;4BACD,QACED,yBAEE,SAAS,EAAEC,qBAAM,CAAC,IAAI,EACtB,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,GAAGO,+BAAW,GAAGD,sCAAkB,EAAE,aAExDL,cAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAED,qBAAM,CAAC,SAAS,EAAA,QAAA,EAAG,IAAI,CAAC,IAAI,EAAA,CAAQ,EACrDC,cAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,CAAA,EAAGD,qBAAM,CAAC,UAAU,CAAA,CAAA,EAAIA,qBAAM,CAAC,YAAY,CAAA,CAAA,EAAI,WAAW,GAAGA,qBAAM,CAAC,SAAS,GAAG,EAAE,CAAA,CAAE,EAC/F,KAAK,EAAE,EAAE,eAAe,EAAES,oCAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAC3D,WAAW,EAAE,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAA,CAC7D,CAAA,EAAA,EATG,IAAI,CAAC,EAAE,CAUR;wBAEV,CAAC,CAAC,GACE,CAAA,EAAA,CACF,CACP,EAEA,IAAI,CAAC,OAAO,IAAIR,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAED,qBAAM,CAAC,WAAW,EAAA,QAAA,EAAG,IAAI,CAAC,OAAO,EAAA,CAAO,CAAA,EAAA,CACrE;AAEV;AA+BA,SAAS,OAAO,CAAC,EACf,OAAO,EACP,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,SAAS,EACT,QAAQ,EACR,UAAU,EACV,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,OAAO,EACP,WAAW,EACX,QAAQ,EACR,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,GACK,EAAA;AACb,IAAA,QACED,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,qBAAM,CAAC,OAAO,EAAA,QAAA,EAAA,CAC5BD,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,qBAAM,CAAC,YAAY,EAAA,QAAA,EAAA,CACjCC,cAAA,CAAA,QAAA,EAAA,EAAQ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAC,uBAAuB,EAAA,QAAA,EAAA,cAAA,EAAA,CAE5C,EACTA,cAAA,CAAA,QAAA,EAAA,EAAQ,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAC,iBAAiB,EAAA,QAAA,EAAA,cAAA,EAAA,CAEzC,EACTA,cAAA,CAAA,QAAA,EAAA,EAAQ,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAC,iBAAiB,EAAA,QAAA,EAAA,cAAA,EAAA,CAEzC,CAAA,EAAA,CACL,EACNA,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAED,qBAAM,CAAC,gBAAgB,GAAI,EAC3CD,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,qBAAM,CAAC,YAAY,EAAA,QAAA,EAAA,CACjCC,cAAA,CAAA,QAAA,EAAA,EAAQ,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,EAAC,eAAe,EAAA,QAAA,EAAA,cAAA,EAAA,CAEzD,EACTA,2BAAQ,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,EAAC,eAAe,6BAEzD,CAAA,EAAA,CACL,EACNA,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAED,qBAAM,CAAC,gBAAgB,EAAA,CAAI,EAC3CD,yBAAK,SAAS,EAAEC,qBAAM,CAAC,YAAY,EAAA,QAAA,EAAA,CACjCC,cAAA,CAAA,QAAA,EAAA,EAAQ,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,KAAK,EAAC,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,CAE5D,EACTA,cAAA,CAAA,QAAA,EAAA,EAAQ,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,KAAK,EAAC,eAAe,EAAA,QAAA,EAAA,cAAA,EAAA,CAE9D,EACTA,cAAA,CAAA,QAAA,EAAA,EAAQ,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAC,gBAAgB,EAAA,QAAA,EAAA,cAAA,EAAA,CAE5D,EACTA,2BAAQ,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,KAAK,EAAC,oBAAoB,EAAA,QAAA,EAAA,cAAA,EAAA,CAExE,EACTA,cAAA,CAAA,QAAA,EAAA,EAAQ,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,KAAK,EAAC,cAAc,EAAA,QAAA,EAAA,oBAAA,EAAA,CAE/D,IACL,EACNA,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAED,qBAAM,CAAC,gBAAgB,GAAI,EAC3CD,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,qBAAM,CAAC,YAAY,EAAA,QAAA,EAAA,CACjCC,cAAA,CAAA,QAAA,EAAA,EAAQ,OAAO,EAAE,WAAW,EAAE,KAAK,EAAC,qBAAqB,EAAA,QAAA,EAAA,QAAA,EAAA,CAEhD,EACTA,cAAA,CAAA,QAAA,EAAA,EAAQ,OAAO,EAAE,WAAW,EAAE,KAAK,EAAC,iBAAiB,EAAA,QAAA,EAAA,cAAA,EAAA,CAE5C,EACTA,cAAA,CAAA,QAAA,EAAA,EACE,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,QAAQ,GAAGD,qBAAM,CAAC,MAAM,GAAG,EAAE,EACxC,KAAK,EAAC,iBAAiB,EAAA,QAAA,EAAA,GAAA,EAAA,CAGhB,EACTC,cAAA,CAAA,QAAA,EAAA,EACE,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,UAAU,GAAGD,qBAAM,CAAC,MAAM,GAAG,EAAE,EAC1C,KAAK,EAAC,iBAAiB,EAAA,QAAA,EAAA,cAAA,EAAA,CAGhB,IACL,EACNC,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAED,qBAAM,CAAC,gBAAgB,GAAI,EAC3CD,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,qBAAM,CAAC,YAAY,EAAA,QAAA,EAAA,CACjCC,cAAA,CAAA,QAAA,EAAA,EACE,OAAO,EAAE,mBAAmB,EAC5B,SAAS,EAAE,WAAW,GAAGD,qBAAM,CAAC,MAAM,GAAG,EAAE,EAC3C,KAAK,EAAC,cAAc,uBAGb,EACTC,cAAA,CAAA,QAAA,EAAA,EAAQ,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAC,cAAc,EAAA,QAAA,EAClE,SAAS,GAAG,GAAG,GAAG,IAAI,GAChB,CAAA,EAAA,CACL,CAAA,EAAA,CACF;AAEV;AAWA,SAAS,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAqB,EAAA;AAChF,IAAA,MAAM,SAAS,GAAGG,SAAM,CAAoB,IAAI,CAAC;AAEjD,IAAA,MAAM,YAAY,GAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC;;IAGpFV,YAAS,CAAC,MAAK;AACb,QAAA,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO;QAChC,IAAI,CAAC,MAAM,EAAE;YACX;QACF;QAEA,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;QACnC,IAAI,CAAC,GAAG,EAAE;YACR;QACF;;AAGA,QAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAErE,QAAA,IAAI,CAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,MAAM,CAAC,MAAM,MAAK,CAAC,EAAE;AAC/B,YAAA,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC;AACnC,YAAA,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC;QACrC;aAAO;AACL,YAAA,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC;AACnC,YAAA,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC;QACrC;AAEA,QAAA,GAAG,CAAC,SAAS,GAAG,SAAS;QACzB,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;AAC5B,QAAA,GAAG,CAAC,SAAS,GAAG,QAAQ;QACxB,GAAG,CAAC,SAAS,EAAE;AACf,QAAA,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACrC,GAAG,CAAC,IAAI,EAAE;AACZ,IAAA,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAElB,IAAA,QACEK,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,qBAAM,CAAC,YAAY,EAAA,QAAA,EAAA,CACjCD,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,qBAAM,CAAC,aAAa,EAAA,QAAA,EAAA,CAClCC,+CAAoB,EACpBA,cAAA,CAAA,QAAA,EAAA,EACE,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAoB,CAAC,EAC5D,SAAS,EAAED,qBAAM,CAAC,iBAAiB,EAAA,QAAA,EAElC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,MAClBC,cAAA,CAAA,QAAA,EAAA,EAAgB,KAAK,EAAE,CAAC,YACrB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAD5B,CAAC,CAEL,CACV,CAAC,EAAA,CACK,IACL,EACNF,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,qBAAM,CAAC,aAAa,EAAA,QAAA,EAAA,CACjC,SAAS,IAAIC,wBAAK,SAAS,EAAED,qBAAM,CAAC,gBAAgB,6BAAoB,EACzEC,cAAA,CAAA,QAAA,EAAA,EAAQ,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAA,CAAI,CAAA,EAAA,CAC/C,EACL,CAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,MAAM,CAAC,MAAM,KACpBA,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAED,qBAAM,CAAC,aAAa,EAAA,QAAA,EACjC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,MACpCC,cAAA,CAAA,KAAA,EAAA,EAAa,SAAS,EAAED,qBAAM,CAAC,YAAY,EAAA,QAAA,EACxC,GAAG,CAAC,OAAO,IADJ,CAAC,CAEL,CACP,CAAC,EAAA,CACE,IACJ,IAAI,CAAA,EAAA,CACJ;AAEV;AAEA;;AAEiF;AAE3E,SAAU,kBAAkB,CAAC,EACjC,KAAK,EAAE,YAAY,EACnB,aAAa,EACb,SAAS,EACT,WAAW,EACX,QAAQ,EACR,KAAK,GAAG,MAAM,EACd,MAAM,GAAG,OAAO,EAChB,QAAQ,GAAG,KAAK,EAChB,WAAW,GAAG,IAAI,EAClB,WAAW,GAAG,IAAI,EAClB,cAAc,GAAG,IAAI,EACrB,WAAW,GAAG,IAAI,EAClB,WAAW,EAAE,kBAAkB,GAAG,QAAQ,EAC1C,KAAK,GAAG,MAAM,EACd,SAAS,GACe,EAAA;IACxB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,iBAAiB,CAAC,YAAY,CAAC;AAC3D,IAAA,MAAM,SAAS,GAAGI,SAAM,CAAiB,IAAI,CAAC;IAC9C,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAGC,WAAQ,CAMhD,IAAI,CAAC;;AAGf,IAAA,MAAM,WAAW,GAAGP,UAAO,CAAC,MAAK;AAC/B,QAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAACY,yCAAiB,CAAC;QACtC,WAAW,KAAA,IAAA,IAAX,WAAW,KAAA,MAAA,GAAA,MAAA,GAAX,WAAW,CAAE,OAAO,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACrD,QAAA,OAAO,GAAG;AACZ,IAAA,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;;IAGjBhB,YAAS,CAAC,MAAK;QACb,aAAa,KAAA,IAAA,IAAb,aAAa,KAAA,MAAA,GAAA,MAAA,GAAb,aAAa,CAAG,KAAK,CAAC,KAAK,CAAC;IAC9B,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAEhCA,YAAS,CAAC,MAAK;AACb,QAAA,IAAI,KAAK,CAAC,cAAc,EAAE;YACxB,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,MAAA,GAAA,MAAA,GAAT,SAAS,CAAG,KAAK,CAAC,cAAc,CAAC;QACnC;IACF,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;;IAGrCA,YAAS,CAAC,MAAK;AACb,QAAA,MAAM,aAAa,GAAG,CAAC,CAAgB,KAAI;YACzC,IAAI,QAAQ,EAAE;gBACZ;YACF;YAEA,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO;YAErC,IAAI,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;gBAC3B,CAAC,CAAC,cAAc,EAAE;AAClB,gBAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC5B;iBAAO,IAAI,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;gBAClC,CAAC,CAAC,cAAc,EAAE;AAClB,gBAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC5B;iBAAO,IAAI,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;gBAClC,CAAC,CAAC,cAAc,EAAE;AAClB,gBAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC5B;iBAAO,IAAI,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;gBAClC,CAAC,CAAC,cAAc,EAAE;AAClB,gBAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YAC3B;iBAAO,IAAI,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;gBAClC,CAAC,CAAC,cAAc,EAAE;AAClB,gBAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;YAC3D;iBAAO,IAAI,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;gBAClC,CAAC,CAAC,cAAc,EAAE;AAClB,gBAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;YACjC;iBAAO,IAAI,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;gBAClC,CAAC,CAAC,cAAc,EAAE;AAClB,gBAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YAClC;AAAO,iBAAA,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE;gBACtD,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;oBAClC,CAAC,CAAC,cAAc,EAAE;AAClB,oBAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;gBAClE;YACF;AAAO,iBAAA,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;gBACzC,CAAC,CAAC,cAAc,EAAE;AAClB,gBAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;YACnC;AAAO,iBAAA,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;gBACzC,CAAC,CAAC,cAAc,EAAE;AAClB,gBAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;YACnC;iBAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;gBACnC,CAAC,CAAC,cAAc,EAAE;AAClB,gBAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;YACnC;AAAO,iBAAA,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;AAC7B,gBAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;gBAClC,oBAAoB,CAAC,IAAI,CAAC;YAC5B;AACF,QAAA,CAAC;AAED,QAAA,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC;QACjD,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC;IACnE,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;;AAG7C,IAAA,MAAM,WAAW,GAAGiB,cAAW,CAC7B,CAAC,CAAmB,KAAI;;QACtB,CAAC,CAAC,cAAc,EAAE;AAClB,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAACC,4BAAQ,EAAE,IAAI,CAAC,GAAG,CAACC,4BAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;QAExF,MAAM,IAAI,GAAG,CAAA,EAAA,GAAA,SAAS,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,qBAAqB,EAAE;QACvD,IAAI,CAAC,IAAI,EAAE;YACT;QACF;QAEA,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI;QACpC,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG;QAEnC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC;QAC7F,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC;AAE7F,QAAA,QAAQ,CAAC;AACP,YAAA,IAAI,EAAE,oBAAoB;AAC1B,YAAA,SAAS,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;AAC/C,SAAA,CAAC;IACJ,CAAC,EACD,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,CAChC;;IAGD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAGR,WAAQ,CAAC,KAAK,CAAC;AACjD,IAAA,MAAM,QAAQ,GAAGD,SAAM,CAAe,IAAI,CAAC;AAE3C,IAAA,MAAM,qBAAqB,GAAG,CAAC,CAAmB,KAAI;AACpD,QAAA,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE;YAClD,YAAY,CAAC,IAAI,CAAC;AAClB,YAAA,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE;QACnD;AAAO,aAAA,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,OAAO,EAAE;AAC3D,YAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QACpC;AACF,IAAA,CAAC;AAED,IAAA,MAAM,qBAAqB,GAAG,CAAC,CAAmB,KAAI;AACpD,QAAA,IAAI,SAAS,IAAI,QAAQ,CAAC,OAAO,EAAE;AACjC,YAAA,MAAM,KAAK,GAAG;gBACZ,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACjC,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;aAClC;AACD,YAAA,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE;AACjD,YAAA,QAAQ,CAAC;AACP,gBAAA,IAAI,EAAE,oBAAoB;AAC1B,gBAAA,SAAS,EAAE;oBACT,GAAG,KAAK,CAAC,aAAa;oBACtB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;oBAClC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;AACnC,iBAAA;AACF,aAAA,CAAC;QACJ;QAEA,IAAI,iBAAiB,EAAE;AACrB,YAAA,oBAAoB,CAAC;AACnB,gBAAA,GAAG,iBAAiB;AACpB,gBAAA,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE;AAChD,aAAA,CAAC;QACJ;AACF,IAAA,CAAC;IAED,MAAM,mBAAmB,GAAG,MAAK;QAC/B,YAAY,CAAC,KAAK,CAAC;AACnB,QAAA,QAAQ,CAAC,OAAO,GAAG,IAAI;AACzB,IAAA,CAAC;;AAGD,IAAA,MAAM,cAAc,GAAG,CAAC,CAAkB,KAAI;QAC5C,CAAC,CAAC,cAAc,EAAE;AACpB,IAAA,CAAC;AAED,IAAA,MAAM,UAAU,GAAG,CAAC,CAAkB,KAAI;;QACxC,CAAC,CAAC,cAAc,EAAE;QAClB,MAAM,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC;QACrD,IAAI,CAAC,QAAQ,EAAE;YACb;QACF;QAEA,MAAM,IAAI,GAAG,CAAA,EAAA,GAAA,SAAS,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,qBAAqB,EAAE;QACvD,IAAI,CAAC,IAAI,EAAE;YACT;QACF;AAEA,QAAA,MAAM,QAAQ,GAAGU,iCAAa,CAC5B,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,EACrD,KAAK,CAAC,aAAa,CACpB;QAED,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACpD,IAAA,CAAC;;AAGD,IAAA,MAAM,oBAAoB,GAAG,CAAC,QAAgB,KAAI;QAChD,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;QACnC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACpD,IAAA,CAAC;AAED,IAAA,MAAM,sBAAsB,GAAG,CAAC,QAAgB,EAAE,CAAkB,KAAI;QACtE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC;AAChD,IAAA,CAAC;;IAGD,MAAM,qBAAqB,GAAG,CAC5B,MAAc,EACd,MAAc,EACd,QAA4B,EAC5B,QAAe,KACb;AACF,QAAA,oBAAoB,CAAC;YACnB,MAAM;YACN,MAAM;YACN,QAAQ;AACR,YAAA,aAAa,EAAE,QAAQ;AACvB,YAAA,eAAe,EAAE,QAAQ;AAC1B,SAAA,CAAC;AACJ,IAAA,CAAC;;IAsBD,MAAM,YAAY,GAAG,MAAK;QACxB,MAAM,IAAI,GAAGC,qCAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;AAC3C,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;QAC3D,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;QACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;AACrC,QAAA,CAAC,CAAC,IAAI,GAAG,GAAG;QACZ,CAAC,CAAC,QAAQ,GAAG,CAAA,EAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAA,cAAA,CAAgB;QAChD,CAAC,CAAC,KAAK,EAAE;AACT,QAAA,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC;AAC1B,IAAA,CAAC;IAED,MAAM,YAAY,GAAG,MAAK;QACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AAC7C,QAAA,KAAK,CAAC,IAAI,GAAG,MAAM;AACnB,QAAA,KAAK,CAAC,MAAM,GAAG,OAAO;AACtB,QAAA,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAI;;YAC3B,MAAM,IAAI,GAAG,CAAA,EAAA,GAAC,CAAC,CAAC,MAA2B,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI,EAAE;gBACT;YACF;AACA,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;AAC9B,YAAA,MAAM,KAAK,GAAGC,uCAAmB,CAAC,IAAI,CAAC;YACvC,IAAI,KAAK,EAAE;gBACT,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;YACzC;AACF,QAAA,CAAC;QACD,KAAK,CAAC,KAAK,EAAE;AACf,IAAA,CAAC;;IAGD,MAAM,iBAAiB,GAAG,MAAK;QAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;YAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC;YAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC;AAC5E,YAAA,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE;AAC9B,gBAAA,OAAO,IAAI;YACb;YAEA,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YAClD,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;AAClD,YAAA,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE;AAC5B,gBAAA,OAAO,IAAI;YACb;YAEA,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC;YACtF,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC;YACrF,IAAI,eAAe,KAAK,EAAE,IAAI,eAAe,KAAK,EAAE,EAAE;AACpD,gBAAA,OAAO,IAAI;YACb;YAEA,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC;YAErD,MAAM,EAAE,GACN,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAGR,8BAAU,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;AACzF,YAAA,MAAM,EAAE,GACN,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACpBF,sCAAkB;AAClB,gBAAA,eAAe,GAAGC,+BAAW;gBAC7BA,+BAAW,GAAG,CAAC;gBACf,KAAK,CAAC,aAAa,CAAC,IAAI;AAC1B,gBAAA,KAAK,CAAC,aAAa,CAAC,CAAC;AACvB,YAAA,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;AACnF,YAAA,MAAM,EAAE,GACN,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACpBD,sCAAkB;AAClB,gBAAA,eAAe,GAAGC,+BAAW;gBAC7BA,+BAAW,GAAG,CAAC;gBACf,KAAK,CAAC,aAAa,CAAC,IAAI;AAC1B,gBAAA,KAAK,CAAC,aAAa,CAAC,CAAC;AAEvB,YAAA,MAAM,UAAU,GAAG,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,MAAM,QAAQ,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC;AAE9B,YAAA,QACEN,cAAA,CAAA,MAAA,EAAA,EAEE,CAAC,EAAE,CAAA,EAAA,EAAK,EAAE,IAAI,EAAE,CAAA,GAAA,EAAM,QAAQ,CAAA,CAAA,EAAI,EAAE,KAAK,QAAQ,CAAA,CAAA,EAAI,EAAE,CAAA,EAAA,EAAK,EAAE,IAAI,EAAE,CAAA,CAAE,EACtE,IAAI,EAAC,MAAM,EACX,MAAM,EAAE,UAAU,GAAG,MAAM,GAAGQ,oCAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,EACnE,WAAW,EAAE,UAAU,GAAG,CAAC,GAAG,CAAC,EAC/B,SAAS,EAAET,qBAAM,CAAC,UAAU,EAC5B,OAAO,EAAE,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAA,EAN5E,IAAI,CAAC,EAAE,CAOZ;AAEN,QAAA,CAAC,CAAC;AACJ,IAAA,CAAC;;IAGD,MAAM,uBAAuB,GAAG,MAAK;;QACnC,IAAI,CAAC,iBAAiB,EAAE;AACtB,YAAA,OAAO,IAAI;QACb;QAEA,MAAM,IAAI,GAAG,CAAA,EAAA,GAAA,SAAS,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,qBAAqB,EAAE;QACvD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,IAAI;QACb;QAEA,MAAM,EAAE,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI;QACxD,MAAM,EAAE,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG;QACvD,MAAM,EAAE,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI;QAC1D,MAAM,EAAE,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG;QAEzD,MAAM,QAAQ,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC;QAE9B,QACEC,yBACE,CAAC,EAAE,KAAK,EAAE,CAAA,CAAA,EAAI,EAAE,CAAA,GAAA,EAAM,QAAQ,IAAI,EAAE,CAAA,EAAA,EAAK,QAAQ,CAAA,CAAA,EAAI,EAAE,KAAK,EAAE,CAAA,CAAA,EAAI,EAAE,CAAA,CAAE,EACtE,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,MAAM,EACb,WAAW,EAAE,CAAC,EACd,eAAe,EAAC,KAAK,EACrB,SAAS,EAAED,qBAAM,CAAC,iBAAiB,EAAA,CACnC;AAEN,IAAA,CAAC;;IAGD,MAAM,UAAU,GAAG,MAAK;AACtB,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;AACnB,YAAA,OAAO,IAAI;QACb;QAEA,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI;QAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,QAAQ;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,QAAQ;QAEhD,QACEC,4BACE,EAAE,EAAC,MAAM,EACT,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,QAAQ,EAChB,YAAY,EAAC,gBAAgB,EAC7B,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EAAA,QAAA,EAEVA,cAAA,CAAA,MAAA,EAAA,EACE,CAAC,EAAE,CAAA,EAAA,EAAK,QAAQ,CAAA,WAAA,EAAc,QAAQ,CAAA,CAAE,EACxC,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,uBAAuB,EAC9B,WAAW,EAAC,GAAG,EAAA,CACf,EAAA,CACM;AAEd,IAAA,CAAC;AAED,IAAA,QACEF,eAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,GAAGC,qBAAM,CAAC,cAAc,CAAA,CAAA,EAAIA,qBAAM,CAAC,KAAK,CAAC,IAAI,SAAS,IAAI,EAAE,CAAA,CAAE,EACzE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAA,QAAA,EAAA,CAEvB,WAAW,KACVC,cAAA,CAAC,OAAO,EAAA,EACN,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EACnC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,EAClC,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAC5C,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,MAAM,EAAE,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EACxC,MAAM,EAAE,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EACxC,MAAM,EAAE,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EACxC,KAAK,EAAE,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EACtC,OAAO,EAAE,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EACxE,WAAW,EAAE,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAClD,QAAQ,EAAE,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,EAChF,WAAW,EAAE,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EACnD,WAAW,EAAE,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EACpD,YAAY,EAAE,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EACrD,YAAY,EAAE,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EACrD,mBAAmB,EAAE,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,EACpE,SAAS,EAAE,MAAK;AACd,oBAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oBAC7B,MAAM,MAAM,GAAGN,iCAAa,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC;oBACtD,QAAQ,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC;AACnD,gBAAA,CAAC,EACD,KAAK,EAAE,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAC5C,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,YAAY,EAAA,CACtB,CACH,EAEDI,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,qBAAM,CAAC,UAAU,EAAA,QAAA,EAAA,CAC9B,WAAW,KACVC,cAAA,CAAC,WAAW,EAAA,EACV,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,QAAQ,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAClE,gBAAgB,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAC/E,SAAS,EAAE,oBAAoB,EAC/B,WAAW,EAAE,sBAAsB,EAAA,CACnC,CACH,EAEDF,eAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,SAAS,EACd,SAAS,EAAEC,qBAAM,CAAC,WAAW,EAC7B,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,qBAAqB,EAClC,WAAW,EAAE,qBAAqB,EAClC,SAAS,EAAE,mBAAmB,EAC9B,YAAY,EAAE,mBAAmB,EACjC,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,UAAU,aAElBD,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,qBAAM,CAAC,cAAc,EAAA,QAAA,EAAA,CACnCC,cAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,UAAU,EAAE,EAAA,CAAQ,EAC1B,KAAK,CAAC,QAAQ,IAAIA,cAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,YAAY,EAAA,CAAG,EACvE,iBAAiB,EAAE,EACnB,uBAAuB,EAAE,IACtB,EAEL,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;gCAC9B,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gCACtC,IAAI,CAAC,GAAG,EAAE;AACR,oCAAA,OAAO,IAAI;gCACb;AAEA,gCAAA,QACEA,cAAA,CAAC,SAAS,EAAA,EAER,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,GAAG,EACf,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAC/C,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,EACpC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,KACzB,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,EAEjE,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,KACpB,QAAQ,CAAC;AACP,wCAAA,IAAI,EAAE,YAAY;wCAClB,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,aAAa,GAAG,CAAC,MAAM,CAAC;wCAC9E,KAAK;qCACN,CAAC,EAEJ,iBAAiB,EAAE,qBAAqB,EAAA,EAhBnC,IAAI,CAAC,EAAE,CAiBZ;4BAEN,CAAC,CAAC,IACE,EAEL,WAAW,KACVA,cAAA,CAAC,YAAY,EAAA,EACX,MAAM,EAAE,KAAK,CAAC,cAAc,EAC5B,IAAI,EAAE,KAAK,CAAC,WAAW,EACvB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,YAAY,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,GACpE,CACH,CAAA,EAAA,CACG,CAAA,EAAA,CACF;AAEV;;;;;"}
@@ -60,16 +60,17 @@ function createEmptyGraph(name = 'New Material') {
60
60
  function createNode(type, position, definitions = materialNodeDefinitions.MATERIAL_NODE_MAP) {
61
61
  var _a;
62
62
  const definition = definitions.get(type);
63
- if (!definition)
63
+ if (!definition) {
64
64
  return null;
65
+ }
65
66
  const properties = {};
66
67
  const inputValues = {};
67
68
  // Initialize properties with defaults
68
- (_a = definition.properties) === null || _a === void 0 ? void 0 : _a.forEach(prop => {
69
+ (_a = definition.properties) === null || _a === void 0 ? void 0 : _a.forEach((prop) => {
69
70
  properties[prop.id] = prop.default;
70
71
  });
71
72
  // Initialize input values with defaults
72
- definition.inputs.forEach(input => {
73
+ definition.inputs.forEach((input) => {
73
74
  if (input.defaultValue !== undefined) {
74
75
  inputValues[input.id] = input.defaultValue;
75
76
  }
@@ -130,41 +131,49 @@ function canConnect(sourceNode, sourcePort, targetNode, targetPort, existingConn
130
131
  return { valid: false, reason: 'Invalid port direction' };
131
132
  }
132
133
  // Check if target port already has a connection
133
- const existingConnection = existingConnections.find(conn => conn.targetNodeId === targetNode.id && conn.targetPortId === targetPort.id);
134
+ const existingConnection = existingConnections.find((conn) => conn.targetNodeId === targetNode.id && conn.targetPortId === targetPort.id);
134
135
  if (existingConnection) {
135
136
  return { valid: false, reason: 'Port already connected' };
136
137
  }
137
138
  // Check type compatibility
138
139
  if (!areTypesCompatible(sourcePort.dataType, targetPort.dataType)) {
139
- return { valid: false, reason: `Incompatible types: ${sourcePort.dataType} → ${targetPort.dataType}` };
140
+ return {
141
+ valid: false,
142
+ reason: `Incompatible types: ${sourcePort.dataType} → ${targetPort.dataType}`,
143
+ };
140
144
  }
141
145
  return { valid: true };
142
146
  }
143
147
  function areTypesCompatible(sourceType, targetType) {
144
148
  // 'any' type is compatible with everything
145
- if (sourceType === 'any' || targetType === 'any')
149
+ if (sourceType === 'any' || targetType === 'any') {
146
150
  return true;
151
+ }
147
152
  // Same types are compatible
148
- if (sourceType === targetType)
153
+ if (sourceType === targetType) {
149
154
  return true;
155
+ }
150
156
  // Float can be used where vec2/vec3/vec4 is expected (broadcast)
151
- if (sourceType === 'float' && ['vec2', 'vec3', 'vec4'].includes(targetType))
157
+ if (sourceType === 'float' && ['vec2', 'vec3', 'vec4'].includes(targetType)) {
152
158
  return true;
159
+ }
153
160
  // Color is compatible with vec3/vec4
154
- if (sourceType === 'color' && ['vec3', 'vec4'].includes(targetType))
161
+ if (sourceType === 'color' && ['vec3', 'vec4'].includes(targetType)) {
155
162
  return true;
156
- if (sourceType === 'vec3' && targetType === 'color')
163
+ }
164
+ if (sourceType === 'vec3' && targetType === 'color') {
157
165
  return true;
166
+ }
158
167
  return false;
159
168
  }
160
169
  function getPortConnections(nodeId, portId, direction, connections) {
161
170
  if (direction === 'input') {
162
- return connections.filter(conn => conn.targetNodeId === nodeId && conn.targetPortId === portId);
171
+ return connections.filter((conn) => conn.targetNodeId === nodeId && conn.targetPortId === portId);
163
172
  }
164
- return connections.filter(conn => conn.sourceNodeId === nodeId && conn.sourcePortId === portId);
173
+ return connections.filter((conn) => conn.sourceNodeId === nodeId && conn.sourcePortId === portId);
165
174
  }
166
175
  function getNodeConnections(nodeId, connections) {
167
- return connections.filter(conn => conn.sourceNodeId === nodeId || conn.targetNodeId === nodeId);
176
+ return connections.filter((conn) => conn.sourceNodeId === nodeId || conn.targetNodeId === nodeId);
168
177
  }
169
178
  /* ═══════════════════════════════════════════════════════════════════════════
170
179
  Graph Operations
@@ -184,14 +193,15 @@ function removeNodesFromGraph(graph, nodeIds) {
184
193
  }
185
194
  return {
186
195
  ...graph,
187
- nodes: graph.nodes.filter(node => !nodeIdSet.has(node.id)),
188
- connections: graph.connections.filter(conn => !nodeIdSet.has(conn.sourceNodeId) && !nodeIdSet.has(conn.targetNodeId)),
196
+ nodes: graph.nodes.filter((node) => !nodeIdSet.has(node.id)),
197
+ connections: graph.connections.filter((conn) => !nodeIdSet.has(conn.sourceNodeId) && !nodeIdSet.has(conn.targetNodeId)),
189
198
  metadata: { ...graph.metadata, modifiedAt: new Date() },
190
199
  };
191
200
  }
192
201
  function addConnectionToGraph(graph, connection) {
193
202
  // Remove existing connection to target port
194
- const filteredConnections = graph.connections.filter(conn => !(conn.targetNodeId === connection.targetNodeId && conn.targetPortId === connection.targetPortId));
203
+ const filteredConnections = graph.connections.filter((conn) => !(conn.targetNodeId === connection.targetNodeId &&
204
+ conn.targetPortId === connection.targetPortId));
195
205
  return {
196
206
  ...graph,
197
207
  connections: [...filteredConnections, connection],
@@ -201,14 +211,14 @@ function addConnectionToGraph(graph, connection) {
201
211
  function removeConnectionFromGraph(graph, connectionId) {
202
212
  return {
203
213
  ...graph,
204
- connections: graph.connections.filter(conn => conn.id !== connectionId),
214
+ connections: graph.connections.filter((conn) => conn.id !== connectionId),
205
215
  metadata: { ...graph.metadata, modifiedAt: new Date() },
206
216
  };
207
217
  }
208
218
  function updateNodeInGraph(graph, nodeId, updates) {
209
219
  return {
210
220
  ...graph,
211
- nodes: graph.nodes.map(node => node.id === nodeId ? { ...node, ...updates } : node),
221
+ nodes: graph.nodes.map((node) => (node.id === nodeId ? { ...node, ...updates } : node)),
212
222
  metadata: { ...graph.metadata, modifiedAt: new Date() },
213
223
  };
214
224
  }
@@ -216,7 +226,7 @@ function moveNodesInGraph(graph, nodeIds, delta) {
216
226
  const nodeIdSet = new Set(nodeIds);
217
227
  return {
218
228
  ...graph,
219
- nodes: graph.nodes.map(node => nodeIdSet.has(node.id)
229
+ nodes: graph.nodes.map((node) => nodeIdSet.has(node.id)
220
230
  ? { ...node, position: { x: node.position.x + delta.x, y: node.position.y + delta.y } }
221
231
  : node),
222
232
  };
@@ -228,15 +238,17 @@ function topologicalSort(graph) {
228
238
  const sorted = [];
229
239
  const visited = new Set();
230
240
  const visiting = new Set();
231
- const nodeMap = new Map(graph.nodes.map(n => [n.id, n]));
241
+ const nodeMap = new Map(graph.nodes.map((n) => [n.id, n]));
232
242
  function visit(nodeId) {
233
- if (visited.has(nodeId))
243
+ if (visited.has(nodeId)) {
234
244
  return true;
235
- if (visiting.has(nodeId))
236
- return false; // Cycle detected
245
+ }
246
+ if (visiting.has(nodeId)) {
247
+ return false;
248
+ } // Cycle detected
237
249
  visiting.add(nodeId);
238
250
  // Find all nodes that this node depends on (inputs)
239
- const inputConnections = graph.connections.filter(conn => conn.targetNodeId === nodeId);
251
+ const inputConnections = graph.connections.filter((conn) => conn.targetNodeId === nodeId);
240
252
  for (const conn of inputConnections) {
241
253
  if (!visit(conn.sourceNodeId)) {
242
254
  return false; // Cycle
@@ -289,8 +301,9 @@ function compileShader(graph, definitions = materialNodeDefinitions.MATERIAL_NOD
289
301
  const nodeOutputs = new Map();
290
302
  for (const node of sortedNodes) {
291
303
  const definition = definitions.get(node.type);
292
- if (!definition)
304
+ if (!definition) {
293
305
  continue;
306
+ }
294
307
  const nodeCode = generateNodeCode(node, definition, graph, nodeOutputs);
295
308
  if (nodeCode) {
296
309
  fragmentLines.push(` // ${definition.name}`);
@@ -321,7 +334,7 @@ function generateNodeCode(node, definition, graph, nodeOutputs, uniforms) {
321
334
  // Get input values (either from connections or defaults)
322
335
  const inputValues = {};
323
336
  for (const input of definition.inputs) {
324
- const connection = graph.connections.find(conn => conn.targetNodeId === node.id && conn.targetPortId === input.id);
337
+ const connection = graph.connections.find((conn) => conn.targetNodeId === node.id && conn.targetPortId === input.id);
325
338
  if (connection) {
326
339
  const sourceOutputs = nodeOutputs.get(connection.sourceNodeId);
327
340
  inputValues[input.id] = (sourceOutputs === null || sourceOutputs === void 0 ? void 0 : sourceOutputs.get(connection.sourcePortId)) || '0.0';
@@ -478,33 +491,46 @@ function generateBlendMode(mode, base, blend) {
478
491
  }
479
492
  }
480
493
  function getTypeForAny(value) {
481
- if (value.startsWith('vec4'))
494
+ if (value.startsWith('vec4')) {
482
495
  return 'vec4';
483
- if (value.startsWith('vec3'))
496
+ }
497
+ if (value.startsWith('vec3')) {
484
498
  return 'vec3';
485
- if (value.startsWith('vec2'))
499
+ }
500
+ if (value.startsWith('vec2')) {
486
501
  return 'vec2';
502
+ }
487
503
  return 'float';
488
504
  }
489
505
  function formatDefaultValue(value, dataType) {
490
506
  if (value === undefined || value === null) {
491
507
  switch (dataType) {
492
- case 'float': return '0.0';
493
- case 'vec2': return 'vec2(0.0)';
494
- case 'vec3': return 'vec3(0.0)';
495
- case 'vec4': return 'vec4(0.0)';
496
- case 'bool': return 'false';
497
- case 'int': return '0';
498
- default: return '0.0';
508
+ case 'float':
509
+ return '0.0';
510
+ case 'vec2':
511
+ return 'vec2(0.0)';
512
+ case 'vec3':
513
+ return 'vec3(0.0)';
514
+ case 'vec4':
515
+ return 'vec4(0.0)';
516
+ case 'bool':
517
+ return 'false';
518
+ case 'int':
519
+ return '0';
520
+ default:
521
+ return '0.0';
499
522
  }
500
523
  }
501
524
  if (Array.isArray(value)) {
502
- if (value.length === 2)
525
+ if (value.length === 2) {
503
526
  return `vec2(${value[0].toFixed(4)}, ${value[1].toFixed(4)})`;
504
- if (value.length === 3)
527
+ }
528
+ if (value.length === 3) {
505
529
  return `vec3(${value[0].toFixed(4)}, ${value[1].toFixed(4)}, ${value[2].toFixed(4)})`;
506
- if (value.length === 4)
530
+ }
531
+ if (value.length === 4) {
507
532
  return `vec4(${value[0].toFixed(4)}, ${value[1].toFixed(4)}, ${value[2].toFixed(4)}, ${value[3].toFixed(4)})`;
533
+ }
508
534
  }
509
535
  if (typeof value === 'number') {
510
536
  return value.toFixed(4);
@@ -568,7 +594,7 @@ void main() {
568
594
  }`;
569
595
  }
570
596
  function generateFragmentShader(graph, nodeCode, definitions) {
571
- const outputNode = graph.nodes.find(n => n.id === graph.outputNodeId);
597
+ const outputNode = graph.nodes.find((n) => n.id === graph.outputNodeId);
572
598
  outputNode ? definitions.get(outputNode.type) : null;
573
599
  return `#version 300 es
574
600
  precision highp float;
@@ -616,14 +642,14 @@ ${nodeCode.join('\n')}
616
642
  }`;
617
643
  }
618
644
  function generateOutputAssignment(graph, definitions) {
619
- const outputNode = graph.nodes.find(n => n.id === graph.outputNodeId);
645
+ const outputNode = graph.nodes.find((n) => n.id === graph.outputNodeId);
620
646
  if (!outputNode) {
621
647
  return 'fragColor = vec4(1.0, 0.0, 1.0, 1.0); // Error: no output node';
622
648
  }
623
649
  outputNode.id.replace(/-/g, '_');
624
650
  // Find what's connected to the output
625
- const albedoConn = graph.connections.find(c => c.targetNodeId === outputNode.id && c.targetPortId === 'albedo');
626
- const colorConn = graph.connections.find(c => c.targetNodeId === outputNode.id && c.targetPortId === 'color');
651
+ const albedoConn = graph.connections.find((c) => c.targetNodeId === outputNode.id && c.targetPortId === 'albedo');
652
+ const colorConn = graph.connections.find((c) => c.targetNodeId === outputNode.id && c.targetPortId === 'color');
627
653
  if (outputNode.type === 'output_pbr') {
628
654
  const albedo = albedoConn
629
655
  ? `${albedoConn.sourceNodeId.replace(/-/g, '_')}_${albedoConn.sourcePortId}`
@@ -646,7 +672,7 @@ out vec4 fragColor;
646
672
 
647
673
  void main() {
648
674
  // Compilation errors: ${errors.length}
649
- // ${errors.map(e => e.message).join('\n // ')}
675
+ // ${errors.map((e) => e.message).join('\n // ')}
650
676
  fragColor = vec4(1.0, 0.0, 1.0, 1.0);
651
677
  }`;
652
678
  }
@@ -657,7 +683,7 @@ function validateGraph(graph, definitions = materialNodeDefinitions.MATERIAL_NOD
657
683
  if (!graph.outputNodeId) {
658
684
  errors.push({ nodeId: '', message: 'No output node defined' });
659
685
  }
660
- const outputNode = graph.nodes.find(n => n.id === graph.outputNodeId);
686
+ const outputNode = graph.nodes.find((n) => n.id === graph.outputNodeId);
661
687
  if (!outputNode) {
662
688
  errors.push({ nodeId: graph.outputNodeId, message: 'Output node not found in graph' });
663
689
  }
@@ -670,7 +696,7 @@ function validateGraph(graph, definitions = materialNodeDefinitions.MATERIAL_NOD
670
696
  }
671
697
  // Check required inputs
672
698
  for (const input of definition.inputs) {
673
- const hasConnection = graph.connections.some(conn => conn.targetNodeId === node.id && conn.targetPortId === input.id);
699
+ const hasConnection = graph.connections.some((conn) => conn.targetNodeId === node.id && conn.targetPortId === input.id);
674
700
  const hasDefault = input.defaultValue !== undefined || node.inputValues[input.id] !== undefined;
675
701
  if (!hasConnection && !hasDefault) {
676
702
  warnings.push({ nodeId: node.id, message: `Input '${input.name}' is not connected` });
@@ -684,8 +710,8 @@ function validateGraph(graph, definitions = materialNodeDefinitions.MATERIAL_NOD
684
710
  }
685
711
  // Check connections
686
712
  for (const conn of graph.connections) {
687
- const sourceNode = graph.nodes.find(n => n.id === conn.sourceNodeId);
688
- const targetNode = graph.nodes.find(n => n.id === conn.targetNodeId);
713
+ const sourceNode = graph.nodes.find((n) => n.id === conn.sourceNodeId);
714
+ const targetNode = graph.nodes.find((n) => n.id === conn.targetNodeId);
689
715
  if (!sourceNode) {
690
716
  errors.push({ nodeId: conn.sourceNodeId, message: 'Source node not found' });
691
717
  }
@@ -703,23 +729,27 @@ function detectCycle(graph) {
703
729
  const visited = new Set();
704
730
  const visiting = new Set();
705
731
  function dfs(nodeId) {
706
- if (visiting.has(nodeId))
732
+ if (visiting.has(nodeId)) {
707
733
  return true;
708
- if (visited.has(nodeId))
734
+ }
735
+ if (visited.has(nodeId)) {
709
736
  return false;
737
+ }
710
738
  visiting.add(nodeId);
711
- const outgoingConnections = graph.connections.filter(conn => conn.sourceNodeId === nodeId);
739
+ const outgoingConnections = graph.connections.filter((conn) => conn.sourceNodeId === nodeId);
712
740
  for (const conn of outgoingConnections) {
713
- if (dfs(conn.targetNodeId))
741
+ if (dfs(conn.targetNodeId)) {
714
742
  return true;
743
+ }
715
744
  }
716
745
  visiting.delete(nodeId);
717
746
  visited.add(nodeId);
718
747
  return false;
719
748
  }
720
749
  for (const node of graph.nodes) {
721
- if (dfs(node.id))
750
+ if (dfs(node.id)) {
722
751
  return true;
752
+ }
723
753
  }
724
754
  return false;
725
755
  }
@@ -739,8 +769,9 @@ function graphToScreen(graphPoint, viewTransform) {
739
769
  };
740
770
  }
741
771
  function calculateBoundingBox(nodes) {
742
- if (nodes.length === 0)
772
+ if (nodes.length === 0) {
743
773
  return null;
774
+ }
744
775
  let minX = Infinity, minY = Infinity;
745
776
  let maxX = -Infinity, maxY = -Infinity;
746
777
  for (const node of nodes) {
@@ -800,7 +831,7 @@ const material = new THREE.ShaderMaterial({
800
831
  uDeltaTime: { value: 0 },
801
832
  uCameraPosition: { value: new THREE.Vector3() },
802
833
  uResolution: { value: new THREE.Vector2() },
803
- ${shader.uniforms.map(u => ` ${u.name}: { value: ${JSON.stringify(u.value)} },`).join('\n')}
834
+ ${shader.uniforms.map((u) => ` ${u.name}: { value: ${JSON.stringify(u.value)} },`).join('\n')}
804
835
  },
805
836
  vertexShader: \`${shader.vertexShader}\`,
806
837
  fragmentShader: \`${shader.fragmentShader}\`,