@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.
- package/dist/cjs/collaborative/collaborativeScene.js +16 -8
- package/dist/cjs/collaborative/collaborativeScene.js.map +1 -1
- package/dist/cjs/core/i18n.js +3 -3
- package/dist/cjs/dance/DanceBridge.js +65 -30
- package/dist/cjs/dance/DanceBridge.js.map +1 -1
- package/dist/cjs/dance/DanceScoreEngine.js +37 -23
- package/dist/cjs/dance/DanceScoreEngine.js.map +1 -1
- package/dist/cjs/dance/PoseDetector.js +92 -49
- package/dist/cjs/dance/PoseDetector.js.map +1 -1
- package/dist/cjs/material/NiceMaterialEditor.js +134 -91
- package/dist/cjs/material/NiceMaterialEditor.js.map +1 -1
- package/dist/cjs/material/materialEditorUtils.js +86 -55
- package/dist/cjs/material/materialEditorUtils.js.map +1 -1
- package/dist/cjs/model/ModelEditor.js +16 -14
- package/dist/cjs/model/ModelEditor.js.map +1 -1
- package/dist/cjs/model/ModelEditorLeftPanel.js +21 -15
- package/dist/cjs/model/ModelEditorLeftPanel.js.map +1 -1
- package/dist/cjs/model/ModelEditorMenuBar.js +23 -10
- package/dist/cjs/model/ModelEditorMenuBar.js.map +1 -1
- package/dist/cjs/model/ModelEditorRightPanel.js +32 -27
- package/dist/cjs/model/ModelEditorRightPanel.js.map +1 -1
- package/dist/cjs/model/ModelEditorSubComponents.js +20 -20
- package/dist/cjs/model/ModelEditorSubComponents.js.map +1 -1
- package/dist/cjs/model/ModelEditorTimeline.js +12 -11
- package/dist/cjs/model/ModelEditorTimeline.js.map +1 -1
- package/dist/cjs/model/ModelEditorToolbar.js +5 -5
- package/dist/cjs/model/ModelEditorToolbar.js.map +1 -1
- package/dist/cjs/model/ModelEditorViewport.js +12 -8
- package/dist/cjs/model/ModelEditorViewport.js.map +1 -1
- package/dist/cjs/model/ModelViewer.js +16 -15
- package/dist/cjs/model/ModelViewer.js.map +1 -1
- package/dist/cjs/model/NiceArmatureEditor.js +53 -30
- package/dist/cjs/model/NiceArmatureEditor.js.map +1 -1
- package/dist/cjs/model/NiceMorphTargetEditor.js +51 -30
- package/dist/cjs/model/NiceMorphTargetEditor.js.map +1 -1
- package/dist/cjs/model/NiceOctree.js +62 -37
- package/dist/cjs/model/NiceOctree.js.map +1 -1
- package/dist/cjs/model/NicePhysicsSimulation.js +74 -36
- package/dist/cjs/model/NicePhysicsSimulation.js.map +1 -1
- package/dist/cjs/model/NiceProceduralGeometry.js +101 -31
- package/dist/cjs/model/NiceProceduralGeometry.js.map +1 -1
- package/dist/cjs/model/NiceTerrainEditor.js +88 -38
- package/dist/cjs/model/NiceTerrainEditor.js.map +1 -1
- package/dist/cjs/model/NiceWeightPainter.js +46 -24
- package/dist/cjs/model/NiceWeightPainter.js.map +1 -1
- package/dist/cjs/model/NiceXRPreview.js +89 -43
- package/dist/cjs/model/NiceXRPreview.js.map +1 -1
- package/dist/cjs/model/cadModeUtils.js +2 -2
- package/dist/cjs/model/cadModeUtils.js.map +1 -1
- package/dist/cjs/model/editorShortcuts.js +69 -35
- package/dist/cjs/model/editorShortcuts.js.map +1 -1
- package/dist/cjs/model/modelEditorTypes.js +56 -52
- package/dist/cjs/model/modelEditorTypes.js.map +1 -1
- package/dist/cjs/model/modelEditorUtils.js +356 -131
- package/dist/cjs/model/modelEditorUtils.js.map +1 -1
- package/dist/cjs/model/simsModeUtils.js +819 -74
- package/dist/cjs/model/simsModeUtils.js.map +1 -1
- package/dist/cjs/model/useModelEditor.js +501 -394
- package/dist/cjs/model/useModelEditor.js.map +1 -1
- package/dist/cjs/model/useModelViewer.js +117 -86
- package/dist/cjs/model/useModelViewer.js.map +1 -1
- package/dist/cjs/particle/NiceParticleEditor.js +126 -69
- package/dist/cjs/particle/NiceParticleEditor.js.map +1 -1
- package/dist/cjs/particle/particleEditorUtils.js +64 -27
- package/dist/cjs/particle/particleEditorUtils.js.map +1 -1
- package/dist/cjs/rendering/NiceCascadedShadows.js +35 -23
- package/dist/cjs/rendering/NiceCascadedShadows.js.map +1 -1
- package/dist/cjs/rendering/NiceRenderExport.js +26 -12
- package/dist/cjs/rendering/NiceRenderExport.js.map +1 -1
- package/dist/cjs/rendering/NiceSSAO.js +28 -23
- package/dist/cjs/rendering/NiceSSAO.js.map +1 -1
- package/dist/cjs/rendering/NiceSSR.js +22 -18
- package/dist/cjs/rendering/NiceSSR.js.map +1 -1
- package/dist/cjs/rendering/NiceWebGPURenderer.js +60 -37
- package/dist/cjs/rendering/NiceWebGPURenderer.js.map +1 -1
- package/dist/cjs/ui/dist/NiceErrorBoundary-D75yr_WE.js +572 -0
- package/dist/cjs/ui/dist/NiceErrorBoundary-D75yr_WE.js.map +1 -0
- package/dist/cjs/ui/dist/NiceForm-CKoJA6NG.js +4979 -0
- package/dist/cjs/ui/dist/NiceForm-CKoJA6NG.js.map +1 -0
- package/dist/cjs/ui/dist/NiceModal-1QX7NhyH.js +98 -0
- package/dist/cjs/ui/dist/NiceModal-1QX7NhyH.js.map +1 -0
- package/dist/cjs/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js +5244 -0
- package/dist/cjs/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js.map +1 -0
- package/dist/cjs/ui/dist/NicePagination-DbE-uOkl.js +174 -0
- package/dist/cjs/ui/dist/NicePagination-DbE-uOkl.js.map +1 -0
- package/dist/cjs/ui/dist/NicePinCodeInput-B8cI8zu8.js +10459 -0
- package/dist/cjs/ui/dist/NicePinCodeInput-B8cI8zu8.js.map +1 -0
- package/dist/cjs/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js +6313 -0
- package/dist/cjs/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js.map +1 -0
- package/dist/cjs/ui/dist/NiceTabs-DzLHzwuA.js +1639 -0
- package/dist/cjs/ui/dist/NiceTabs-DzLHzwuA.js.map +1 -0
- package/dist/cjs/ui/dist/NiceWindow-DeC83yfE.js +807 -0
- package/dist/cjs/ui/dist/NiceWindow-DeC83yfE.js.map +1 -0
- package/dist/cjs/ui/dist/charts-BAS21jkC.js +3833 -0
- package/dist/cjs/ui/dist/charts-BAS21jkC.js.map +1 -0
- package/dist/cjs/ui/dist/core-Da43q-pO.js +11683 -0
- package/dist/cjs/ui/dist/core-Da43q-pO.js.map +1 -0
- package/dist/cjs/ui/dist/index-pAuGTbuB.js +28876 -0
- package/dist/cjs/ui/dist/index-pAuGTbuB.js.map +1 -0
- package/dist/cjs/uv/NiceUVEditor.js +115 -86
- package/dist/cjs/uv/NiceUVEditor.js.map +1 -1
- package/dist/cjs/uv/uvEditorUtils.js +41 -23
- package/dist/cjs/uv/uvEditorUtils.js.map +1 -1
- package/dist/esm/collaborative/collaborativeScene.js +16 -8
- package/dist/esm/collaborative/collaborativeScene.js.map +1 -1
- package/dist/esm/dance/DanceBridge.js +55 -20
- package/dist/esm/dance/DanceBridge.js.map +1 -1
- package/dist/esm/dance/DanceScoreEngine.js +29 -15
- package/dist/esm/dance/DanceScoreEngine.js.map +1 -1
- package/dist/esm/dance/PoseDetector.js +73 -30
- package/dist/esm/dance/PoseDetector.js.map +1 -1
- package/dist/esm/material/NiceMaterialEditor.js +115 -72
- package/dist/esm/material/NiceMaterialEditor.js.map +1 -1
- package/dist/esm/material/materialEditorUtils.js +86 -55
- package/dist/esm/material/materialEditorUtils.js.map +1 -1
- package/dist/esm/model/ModelEditor.js +16 -14
- package/dist/esm/model/ModelEditor.js.map +1 -1
- package/dist/esm/model/ModelEditorLeftPanel.js +21 -15
- package/dist/esm/model/ModelEditorLeftPanel.js.map +1 -1
- package/dist/esm/model/ModelEditorMenuBar.js +23 -10
- package/dist/esm/model/ModelEditorMenuBar.js.map +1 -1
- package/dist/esm/model/ModelEditorRightPanel.js +32 -27
- package/dist/esm/model/ModelEditorRightPanel.js.map +1 -1
- package/dist/esm/model/ModelEditorSubComponents.js +17 -17
- package/dist/esm/model/ModelEditorSubComponents.js.map +1 -1
- package/dist/esm/model/ModelEditorTimeline.js +12 -11
- package/dist/esm/model/ModelEditorTimeline.js.map +1 -1
- package/dist/esm/model/ModelEditorToolbar.js +5 -5
- package/dist/esm/model/ModelEditorToolbar.js.map +1 -1
- package/dist/esm/model/ModelEditorViewport.js +12 -8
- package/dist/esm/model/ModelEditorViewport.js.map +1 -1
- package/dist/esm/model/ModelViewer.js +8 -7
- package/dist/esm/model/ModelViewer.js.map +1 -1
- package/dist/esm/model/NiceArmatureEditor.js +36 -13
- package/dist/esm/model/NiceArmatureEditor.js.map +1 -1
- package/dist/esm/model/NiceMorphTargetEditor.js +34 -13
- package/dist/esm/model/NiceMorphTargetEditor.js.map +1 -1
- package/dist/esm/model/NiceOctree.js +47 -22
- package/dist/esm/model/NiceOctree.js.map +1 -1
- package/dist/esm/model/NicePhysicsSimulation.js +51 -13
- package/dist/esm/model/NicePhysicsSimulation.js.map +1 -1
- package/dist/esm/model/NiceProceduralGeometry.js +94 -24
- package/dist/esm/model/NiceProceduralGeometry.js.map +1 -1
- package/dist/esm/model/NiceTerrainEditor.js +70 -20
- package/dist/esm/model/NiceTerrainEditor.js.map +1 -1
- package/dist/esm/model/NiceWeightPainter.js +33 -11
- package/dist/esm/model/NiceWeightPainter.js.map +1 -1
- package/dist/esm/model/NiceXRPreview.js +72 -26
- package/dist/esm/model/NiceXRPreview.js.map +1 -1
- package/dist/esm/model/cadModeUtils.js +2 -2
- package/dist/esm/model/cadModeUtils.js.map +1 -1
- package/dist/esm/model/editorShortcuts.js +69 -35
- package/dist/esm/model/editorShortcuts.js.map +1 -1
- package/dist/esm/model/modelEditorTypes.js +56 -52
- package/dist/esm/model/modelEditorTypes.js.map +1 -1
- package/dist/esm/model/modelEditorUtils.js +356 -131
- package/dist/esm/model/modelEditorUtils.js.map +1 -1
- package/dist/esm/model/simsModeUtils.js +819 -74
- package/dist/esm/model/simsModeUtils.js.map +1 -1
- package/dist/esm/model/useModelEditor.js +384 -277
- package/dist/esm/model/useModelEditor.js.map +1 -1
- package/dist/esm/model/useModelViewer.js +56 -25
- package/dist/esm/model/useModelViewer.js.map +1 -1
- package/dist/esm/particle/NiceParticleEditor.js +116 -59
- package/dist/esm/particle/NiceParticleEditor.js.map +1 -1
- package/dist/esm/particle/particleEditorUtils.js +64 -27
- package/dist/esm/particle/particleEditorUtils.js.map +1 -1
- package/dist/esm/rendering/NiceCascadedShadows.js +24 -12
- package/dist/esm/rendering/NiceCascadedShadows.js.map +1 -1
- package/dist/esm/rendering/NiceRenderExport.js +22 -8
- package/dist/esm/rendering/NiceRenderExport.js.map +1 -1
- package/dist/esm/rendering/NiceSSAO.js +11 -6
- package/dist/esm/rendering/NiceSSAO.js.map +1 -1
- package/dist/esm/rendering/NiceSSR.js +9 -5
- package/dist/esm/rendering/NiceSSR.js.map +1 -1
- package/dist/esm/rendering/NiceWebGPURenderer.js +40 -17
- package/dist/esm/rendering/NiceWebGPURenderer.js.map +1 -1
- package/dist/esm/ui/dist/NiceErrorBoundary-D75yr_WE.js +563 -0
- package/dist/esm/ui/dist/NiceErrorBoundary-D75yr_WE.js.map +1 -0
- package/dist/esm/ui/dist/NiceForm-CKoJA6NG.js +4960 -0
- package/dist/esm/ui/dist/NiceForm-CKoJA6NG.js.map +1 -0
- package/dist/esm/ui/dist/NiceModal-1QX7NhyH.js +96 -0
- package/dist/esm/ui/dist/NiceModal-1QX7NhyH.js.map +1 -0
- package/dist/esm/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js +5201 -0
- package/dist/esm/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js.map +1 -0
- package/dist/esm/ui/dist/NicePagination-DbE-uOkl.js +172 -0
- package/dist/esm/ui/dist/NicePagination-DbE-uOkl.js.map +1 -0
- package/dist/esm/ui/dist/NicePinCodeInput-B8cI8zu8.js +10408 -0
- package/dist/esm/ui/dist/NicePinCodeInput-B8cI8zu8.js.map +1 -0
- package/dist/esm/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js +6296 -0
- package/dist/esm/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js.map +1 -0
- package/dist/esm/ui/dist/NiceTabs-DzLHzwuA.js +1630 -0
- package/dist/esm/ui/dist/NiceTabs-DzLHzwuA.js.map +1 -0
- package/dist/esm/ui/dist/NiceWindow-DeC83yfE.js +796 -0
- package/dist/esm/ui/dist/NiceWindow-DeC83yfE.js.map +1 -0
- package/dist/esm/ui/dist/charts-BAS21jkC.js +3809 -0
- package/dist/esm/ui/dist/charts-BAS21jkC.js.map +1 -0
- package/dist/esm/ui/dist/core-Da43q-pO.js +11502 -0
- package/dist/esm/ui/dist/core-Da43q-pO.js.map +1 -0
- package/dist/esm/ui/dist/index-pAuGTbuB.js +28792 -0
- package/dist/esm/ui/dist/index-pAuGTbuB.js.map +1 -0
- package/dist/esm/uv/NiceUVEditor.js +91 -62
- package/dist/esm/uv/NiceUVEditor.js.map +1 -1
- package/dist/esm/uv/uvEditorUtils.js +41 -23
- package/dist/esm/uv/uvEditorUtils.js.map +1 -1
- 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":";;;;;;;;;AA4EA;;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;AACzD,YAAA,IAAI,CAAC,IAAI;AAAE,gBAAA,OAAO,KAAK;AACvB,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,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC;AACnE,YAAA,IAAI,CAAC,IAAI;AAAE,gBAAA,OAAO,KAAK;YACvB,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,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC;AACnE,YAAA,IAAI,CAAC,IAAI;AAAE,gBAAA,OAAO,KAAK;YACvB,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,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;YACvF,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;AACvF,YAAA,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU;AAAE,gBAAA,OAAO,KAAK;AAE5C,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;AAAE,gBAAA,OAAO,KAAK;YAE1C,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;YACvF,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;AACtF,YAAA,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU;AAAE,gBAAA,OAAO,KAAK;YAE5C,MAAM,EAAE,KAAK,EAAE,GAAGC,8BAAU,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;AACrG,YAAA,IAAI,CAAC,KAAK;AAAE,gBAAA,OAAO,KAAK;AAExB,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,EAAE,IAAI,EAAE,KAAK,MAAM,CAAC,YAAY,CAAC;aACxF;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,IAAI,CAAC,CAAC,EAAE,CAAC;AAC/C,gBAAA,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;aAC5D;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,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACrF,YAAA,MAAM,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CACtD,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAClG;YACD,OAAO;AACL,gBAAA,GAAG,KAAK;gBACR,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE;aAClE;QACH;QAEA,KAAK,OAAO,EAAE;YACZ,IAAI,CAAC,KAAK,CAAC,SAAS;AAAE,gBAAA,OAAO,KAAK;AAClC,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,IAAI,IAAG;AAChE,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,IAAI,KAAK;AACpF,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,IAAI,CAAC,CAAC,EAAE,CAAC;aACvC;QACH;QAEA,KAAK,KAAK,EAAE;AACV,YAAA,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CACzC,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,YAAY,CAC7E;AACD,YAAA,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CACrD,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAClG;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;AAC/D,gBAAA,KAAK,EAAER,wCAAoB,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACtE,gBAAA,aAAa,EAAE,EAAE;aAClB;QACH;QAEA,KAAK,WAAW,EAAE;AAChB,YAAA,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAC1C,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,YAAY,CAC7E;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,IAAI,IAAG;AACtC,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;AAEF,YAAA,MAAM,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CACtD,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAClG;YACD,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,KAAK;AACpD,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,IAAI,CAAC,CAAC,EAAE,CAAC;aACvC;QACH;QAEA,KAAK,MAAM,EAAE;AACX,YAAA,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;AAAE,gBAAA,OAAO,KAAK;AAC9C,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;AACX,YAAA,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;AAAE,gBAAA,OAAO,KAAK;AAC9C,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,IAAI,CAAC,KAAK,MAAM,CAAC,QAAQ;sBAC1D,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,CAClC,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,CACnB;;IAGDC,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;IACjB,MAAM,aAAa,GAAG;AACpB,UAAEC,mCAAW,CAAC,WAAW;UACvBC,iDAAyB;AAE7B,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;AAEnB,IAAA,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,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACvC,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,EAAA,QAAA,EAAA,CACnDD,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,OAAO,KAChBD,eAAA,CAAA,KAAA,EAAA,EAEE,SAAS,EAAEC,qBAAM,CAAC,WAAW,EAC7B,SAAS,EAAA,IAAA,EACT,WAAW,EAAE,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAC9C,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,EAAE,eAAe,EAAE,OAAO,CAAC,KAAK,IAAIE,wCAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAA,CACnF,EACFD,yBAAM,SAAS,EAAED,qBAAM,CAAC,QAAQ,EAAA,QAAA,EAAG,OAAO,CAAC,IAAI,EAAA,CAAQ,CAAA,EAAA,EAXlD,OAAO,CAAC,IAAI,CAYb,CACP,CAAC,GACE,CACP,CAAA,EAAA,EA/BO,QAAQ,CAgCZ,CACP,CAAC,EAAA,CACE,CAAA,EAAA,CACF;AAEV;AAeA,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;YAAE;QACpB,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;AACb,QAAA,IAAI,CAAC,UAAU;YAAE;AAEjB,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,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,EAAE,CAC9D;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,EAAE,EAC9F,KAAK,EAAE,EAAE,eAAe,EAAES,oCAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAC3D,WAAW,EAAE,CAAC,IAAI,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,EAAA,CAC1D,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,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,EAAE,CAC9D;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,IAAI,WAAW,GAAGA,qBAAM,CAAC,SAAS,GAAG,EAAE,EAAE,EAC/F,KAAK,EAAE,EAAE,eAAe,EAAES,oCAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAC3D,WAAW,EAAE,CAAC,IAAI,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAA,CAC3D,CAAA,EAAA,EATG,IAAI,CAAC,EAAE,CAUR;wBAEV,CAAC,CAAC,EAAA,CACE,CAAA,EAAA,CACF,CACP,EAEA,IAAI,CAAC,OAAO,KACXR,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAED,qBAAM,CAAC,WAAW,EAAA,QAAA,EAAG,IAAI,CAAC,OAAO,EAAA,CAAO,CACzD,CAAA,EAAA,CACG;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;AAChC,QAAA,IAAI,CAAC,MAAM;YAAE;QAEb,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;AACnC,QAAA,IAAI,CAAC,GAAG;YAAE;;AAGV,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,aAClCC,cAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,CAAoB,EACpBA,2BACE,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAoB,CAAC,EAC1D,SAAS,EAAED,qBAAM,CAAC,iBAAiB,EAAA,QAAA,EAElC,YAAY,CAAC,GAAG,CAAC,CAAC,KACjBC,cAAA,CAAA,QAAA,EAAA,EAAgB,KAAK,EAAE,CAAC,EAAA,QAAA,EAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAA,EAApD,CAAC,CAA6D,CAC5E,CAAC,EAAA,CACK,CAAA,EAAA,CACL,EACNF,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,qBAAM,CAAC,aAAa,EAAA,QAAA,EAAA,CACjC,SAAS,IAAIC,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAED,qBAAM,CAAC,gBAAgB,EAAA,QAAA,EAAA,cAAA,EAAA,CAAoB,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,EAAG,GAAG,CAAC,OAAO,IAA/C,CAAC,CAAqD,CACjE,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,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACnD,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;AACzC,YAAA,IAAI,QAAQ;gBAAE;YAEd,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,CAAC,CAAC,CAAmB,KAAI;;QACtD,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;AACvD,QAAA,IAAI,CAAC,IAAI;YAAE;QAEX,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,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;;IAGnC,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;AACrD,QAAA,IAAI,CAAC,QAAQ;YAAE;QAEf,MAAM,IAAI,GAAG,CAAA,EAAA,GAAA,SAAS,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,qBAAqB,EAAE;AACvD,QAAA,IAAI,CAAC,IAAI;YAAE;AAEX,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;;IA0BD,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;AACtD,YAAA,IAAI,CAAC,IAAI;gBAAE;AACX,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,IAAI,IAAG;YACxC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC;YAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC;AAC1E,YAAA,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU;AAAE,gBAAA,OAAO,IAAI;YAE3C,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;AAAE,gBAAA,OAAO,IAAI;YAEzC,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC;YACpF,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC;YACnF,IAAI,eAAe,KAAK,EAAE,IAAI,eAAe,KAAK,EAAE;AAAE,gBAAA,OAAO,IAAI;YAEjE,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC;YAErD,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAGR,8BAAU,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;AAClG,YAAA,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAGF,sCAAkB,GAAG,eAAe,GAAGC,+BAAW,GAAGA,+BAAW,GAAG,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;AAC5J,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,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAGD,sCAAkB,GAAG,eAAe,GAAGC,+BAAW,GAAGA,+BAAW,GAAG,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;AAE5J,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;;AACnC,QAAA,IAAI,CAAC,iBAAiB;AAAE,YAAA,OAAO,IAAI;QAEnC,MAAM,IAAI,GAAG,CAAA,EAAA,GAAA,SAAS,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,qBAAqB,EAAE;AACvD,QAAA,IAAI,CAAC,IAAI;AAAE,YAAA,OAAO,IAAI;QAEtB,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;QACtB,IAAI,CAAC,KAAK,CAAC,QAAQ;AAAE,YAAA,OAAO,IAAI;QAEhC,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,eAAC,WAAW,EAAA,EACV,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,QAAQ,EAAE,KAAK,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAChE,gBAAgB,EAAE,GAAG,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAC7E,SAAS,EAAE,oBAAoB,EAC/B,WAAW,EAAE,sBAAsB,GACnC,CACH,EAEDF,yBACE,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,mCAAO,UAAU,EAAE,GAAQ,EAC1B,KAAK,CAAC,QAAQ,IAAIA,yBAAM,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,YAAY,GAAG,EACvE,iBAAiB,EAAE,EACnB,uBAAuB,EAAE,CAAA,EAAA,CACtB,EAEL,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAG;gCAC5B,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;AACtC,gCAAA,IAAI,CAAC,GAAG;AAAE,oCAAA,OAAO,IAAI;gCAErB,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,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,aAAa,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAEzH,iBAAiB,EAAE,qBAAqB,EAAA,EAZnC,IAAI,CAAC,EAAE,CAaZ;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,IAAI,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,GAClE,CACH,CAAA,EAAA,CACG,CAAA,EAAA,CACF;AAEV;;;;;"}
|
|
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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"}
|
|
@@ -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 {
|
|
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
|
-
|
|
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 &&
|
|
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
|
-
|
|
236
|
-
|
|
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
|
-
|
|
496
|
+
}
|
|
497
|
+
if (value.startsWith('vec3')) {
|
|
484
498
|
return 'vec3';
|
|
485
|
-
|
|
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':
|
|
493
|
-
|
|
494
|
-
case '
|
|
495
|
-
|
|
496
|
-
case '
|
|
497
|
-
|
|
498
|
-
|
|
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
|
-
|
|
527
|
+
}
|
|
528
|
+
if (value.length === 3) {
|
|
505
529
|
return `vec3(${value[0].toFixed(4)}, ${value[1].toFixed(4)}, ${value[2].toFixed(4)})`;
|
|
506
|
-
|
|
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
|
-
|
|
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}\`,
|