{"version":3,"file":"dialog-card.mjs","sources":["../../../components/dialog/dialog-card.tsx"],"sourcesContent":["import { computed, defineComponent, ref, toRefs } from 'vue';\nimport {\n  CloseIcon as TdCloseIcon,\n  InfoCircleFilledIcon as TdInfoCircleFilledIcon,\n  CheckCircleFilledIcon as TdCheckCircleFilledIcon,\n  ErrorCircleFilledIcon as TdErrorCircleFilledIcon,\n} from 'tdesign-icons-vue-next';\nimport dialogCardProps from './dialog-card-props';\nimport { useConfig, useContent, useTNodeJSX, useGlobalIcon, usePrefixClass } from '@tdesign/shared-hooks';\n\nimport { useAction } from './hooks';\n\nimport type { TdDialogProps } from './type';\nimport dialogProps from './props';\nimport { getCSSValue, initDragEvent } from './utils';\n\nexport default defineComponent({\n  name: 'TDialogCard',\n  // 注册v-draggable指令,传入true时候初始化拖拽事件\n  directives: {\n    draggable(el, binding) {\n      // el 指令绑定的元素\n      if (el && binding && binding.value) {\n        initDragEvent(el);\n      }\n    },\n  },\n  props: {\n    ...dialogProps,\n    ...dialogCardProps,\n  },\n  setup(props, { expose }) {\n    const rootRef = ref<HTMLElement | null>(null);\n    const COMPONENT_NAME = usePrefixClass('dialog');\n    const classPrefix = usePrefixClass();\n    const renderTNodeJSX = useTNodeJSX();\n    const renderContent = useContent();\n    const { globalConfig } = useConfig('dialog');\n    const { CloseIcon, InfoCircleFilledIcon, CheckCircleFilledIcon, ErrorCircleFilledIcon } = useGlobalIcon({\n      CloseIcon: TdCloseIcon,\n      InfoCircleFilledIcon: TdInfoCircleFilledIcon,\n      CheckCircleFilledIcon: TdCheckCircleFilledIcon,\n      ErrorCircleFilledIcon: TdErrorCircleFilledIcon,\n    });\n    const { cancelBtn, confirmBtn, confirmLoading } = toRefs(props);\n    const confirmBtnAction = (e: MouseEvent) => props.onConfirm?.({ e });\n    const cancelBtnAction = (e: MouseEvent) => props.onCancel?.({ e });\n    const { getConfirmBtn, getCancelBtn } = useAction({ confirmBtnAction, cancelBtnAction });\n    // 是否非模态对话框\n    const isModeLess = computed(() => props.mode === 'modeless');\n    // 仅模态和非模态场景支持拖拽\n    const isDraggableMode = computed(() => ['modal', 'modeless'].includes(props.mode));\n    // 是否全屏对话框\n    const isFullScreen = computed(() => props.mode === 'full-screen');\n    const closeBtnAction = (e: MouseEvent) => props?.onCloseBtnClick?.({ e });\n    // modal/modeless 模式开启 draggable 后，仅 header 作为拖拽手柄\n    // body / footer 区域阻止 mousedown 冒泡，避免误触发拖拽\n    const onStopDown = (e: MouseEvent) => {\n      if (isDraggableMode.value && props?.draggable) e.stopPropagation();\n    };\n\n    const resetPosition = () => {\n      if (!rootRef.value && isModeLess.value && props.draggable) return;\n      rootRef.value.style.position = 'relative';\n      rootRef.value.style.left = 'unset';\n      rootRef.value.style.top = 'unset';\n    };\n\n    // 暴露给父组件的接口\n    expose({\n      $el: rootRef,\n      resetPosition,\n    });\n\n    const dialogClass = computed(() => {\n      const dialogClass = [\n        `${COMPONENT_NAME.value}`,\n        `${COMPONENT_NAME.value}__modal-${props.theme}`,\n        isDraggableMode.value && props.draggable && `${COMPONENT_NAME.value}--draggable`,\n        props.dialogClassName,\n      ];\n\n      if (isFullScreen.value) {\n        dialogClass.push(`${COMPONENT_NAME.value}__fullscreen`);\n      } else {\n        dialogClass.push(`${COMPONENT_NAME.value}--default`, `${COMPONENT_NAME.value}--${props.placement}`);\n      }\n      return dialogClass;\n    });\n    const dialogStyle = computed(() => {\n      return !isFullScreen.value ? { width: getCSSValue(props.width), ...props.dialogStyle } : { ...props.dialogStyle }; // width全屏模式不生效\n    });\n\n    const renderCard = () => {\n      const confirmBtnLoading = computed(() => {\n        // @ts-ignore\n        return confirmBtn.value?.loading || confirmLoading.value;\n      });\n      const defaultFooter = (\n        <div>\n          {getCancelBtn({\n            cancelBtn: cancelBtn.value as TdDialogProps['cancelBtn'],\n            globalCancel: globalConfig.value.cancel,\n            className: `${COMPONENT_NAME.value}__cancel`,\n          })}\n          {getConfirmBtn({\n            theme: props?.theme,\n            confirmBtn: confirmBtn.value as TdDialogProps['confirmBtn'],\n            globalConfirm: globalConfig.value.confirm,\n            globalConfirmBtnTheme: globalConfig.value.confirmBtnTheme,\n            className: `${COMPONENT_NAME.value}__confirm`,\n            confirmLoading: confirmBtnLoading.value,\n          })}\n        </div>\n      );\n\n      const footerContent = renderTNodeJSX('footer', defaultFooter);\n\n      const renderHeader = () => {\n        // header 值为 true 显示空白头部\n        const header = renderTNodeJSX('header', <h5 class=\"title\"></h5>) ?? false;\n        const headerClassName = isFullScreen.value\n          ? [`${COMPONENT_NAME.value}__header`, `${COMPONENT_NAME.value}__header--fullscreen`]\n          : `${COMPONENT_NAME.value}__header`;\n\n        const closeClassName = isFullScreen.value\n          ? [`${COMPONENT_NAME.value}__close`, `${COMPONENT_NAME.value}__close--fullscreen`]\n          : `${COMPONENT_NAME.value}__close`;\n        const getIcon = () => {\n          const icon = {\n            info: <InfoCircleFilledIcon class={`${classPrefix.value}-is-info`} />,\n            warning: <ErrorCircleFilledIcon class={`${classPrefix.value}-is-warning`} />,\n            danger: <ErrorCircleFilledIcon class={`${classPrefix.value}-is-error`} />,\n            success: <CheckCircleFilledIcon class={`${classPrefix.value}-is-success`} />,\n          };\n          return icon[props?.theme as keyof typeof icon];\n        };\n        return (\n          (header || props?.closeBtn) && (\n            <div class={headerClassName}>\n              <div class={`${COMPONENT_NAME.value}__header-content`}>\n                {getIcon()}\n                {header}\n              </div>\n\n              {props?.closeBtn ? (\n                <span class={closeClassName} onClick={closeBtnAction} onMousedown={onStopDown}>\n                  {renderTNodeJSX('closeBtn', <CloseIcon />)}\n                </span>\n              ) : null}\n            </div>\n          )\n        );\n      };\n\n      const renderBody = () => {\n        const body = renderContent('default', 'body');\n        const bodyClassName =\n          props?.theme === 'default' ? [`${COMPONENT_NAME.value}__body`] : [`${COMPONENT_NAME.value}__body__icon`];\n        if (isFullScreen.value && footerContent) {\n          bodyClassName.push(`${COMPONENT_NAME.value}__body--fullscreen`);\n        } else if (isFullScreen.value) {\n          bodyClassName.push(`${COMPONENT_NAME.value}__body--fullscreen--without-footer`);\n        }\n        return (\n          <div class={bodyClassName} onMousedown={onStopDown}>\n            {body}\n          </div>\n        );\n      };\n\n      const renderFooter = () => {\n        const footerClassName = isFullScreen.value\n          ? [`${COMPONENT_NAME.value}__footer`, `${COMPONENT_NAME.value}__footer--fullscreen`]\n          : `${COMPONENT_NAME.value}__footer`;\n\n        return (\n          footerContent && (\n            <div class={footerClassName} onMousedown={onStopDown}>\n              {footerContent}\n            </div>\n          )\n        );\n      };\n\n      return (\n        <>\n          {renderHeader()}\n          {renderBody()}\n          {!!props.footer && renderFooter()}\n        </>\n      );\n    };\n\n    return () => (\n      <div\n        key=\"dialog\"\n        ref={rootRef}\n        class={dialogClass.value}\n        style={dialogStyle.value}\n        v-draggable={isDraggableMode.value && props.draggable}\n      >\n        {renderCard()}\n      </div>\n    );\n  },\n});\n"],"names":["defineComponent","name","directives","draggable","el","binding","value","initDragEvent","props","_objectSpread","dialogProps","dialogCardProps","setup","_ref","expose","rootRef","ref","COMPONENT_NAME","usePrefixClass","classPrefix","renderTNodeJSX","useTNodeJSX","renderContent","useContent","_useConfig","useConfig","globalConfig","_useGlobalIcon","useGlobalIcon","CloseIcon","TdCloseIcon","InfoCircleFilledIcon","TdInfoCircleFilledIcon","CheckCircleFilledIcon","TdCheckCircleFilledIcon","ErrorCircleFilledIcon","TdErrorCircleFilledIcon","_toRefs","toRefs","cancelBtn","confirmBtn","confirmLoading","confirmBtnAction","e","_props$onConfirm","onConfirm","call","cancelBtnAction","_props$onCancel","onCancel","_useAction","useAction","getConfirmBtn","getCancelBtn","isModeLess","computed","mode","isDraggableMode","includes","isFullScreen","closeBtnAction","_props$onCloseBtnClic","onCloseBtnClick","onStopDown","stopPropagation","resetPosition","style","position","left","top","$el","dialogClass","concat","theme","dialogClassName","push","placement","dialogStyle","width","getCSSValue","renderCard","confirmBtnLoading","_confirmBtn$value","loading","defaultFooter","globalCancel","cancel","className","globalConfirm","confirm","globalConfirmBtnTheme","confirmBtnTheme","footerContent","renderHeader","_renderTNodeJSX","header","_createVNode","headerClassName","closeClassName","getIcon","icon","info","warning","danger","success","closeBtn","renderBody","body","bodyClassName","renderFooter","footerClassName","_Fragment","footer","_withDirectives"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,kBAAeA,eAAgB,CAAA;AAC7BC,EAAAA,IAAM,EAAA,aAAA;AAENC,EAAAA,UAAY,EAAA;AACVC,IAAAA,SAAA,WAAAA,SAAAA,CAAUC,IAAIC,OAAS,EAAA;AAEjB,MAAA,IAAAD,EAAA,IAAMC,OAAW,IAAAA,OAAA,CAAQC,KAAO,EAAA;QAClCC,aAAA,CAAcH,EAAE,CAAA,CAAA;AAClB,OAAA;AACF,KAAA;GACF;EACAI,KAAO,EAAAC,aAAA,CAAAA,aAAA,KACFC,KAAA,CAAA,EACAC,eAAA,CACL;AACAC,EAAAA,KAAM,WAANA,KAAMA,CAAAJ,KAAA,EAAAK,IAAA,EAAmB;AAAA,IAAA,IAAVC,MAAA,GAAAD,IAAA,CAAAC,MAAA,CAAA;AACP,IAAA,IAAAC,OAAA,GAAUC,IAAwB,IAAI,CAAA,CAAA;AACtC,IAAA,IAAAC,cAAA,GAAiBC,eAAe,QAAQ,CAAA,CAAA;AAC9C,IAAA,IAAMC,cAAcD,cAAe,EAAA,CAAA;AACnC,IAAA,IAAME,iBAAiBC,WAAY,EAAA,CAAA;AACnC,IAAA,IAAMC,gBAAgBC,UAAW,EAAA,CAAA;AACjC,IAAA,IAAAC,UAAA,GAAyBC,SAAA,CAAU,QAAQ,CAAA;MAAnCC,YAAA,GAAAF,UAAA,CAAAE,YAAA,CAAA;IACR,IAAAC,cAAA,GAA0FC,aAAc,CAAA;AACtGC,QAAAA,SAAW,EAAAC,SAAA;AACXC,QAAAA,oBAAsB,EAAAC,oBAAA;AACtBC,QAAAA,qBAAuB,EAAAC,qBAAA;AACvBC,QAAAA,qBAAuB,EAAAC,qBAAAA;AACzB,OAAC,CAAA;MALOP,WAAW,GAAAF,cAAA,CAAXE,SAAW;MAAAE,sBAAA,GAAAJ,cAAA,CAAAI,oBAAA;MAAsBE,uBAAuB,GAAAN,cAAA,CAAvBM,qBAAuB;MAAAE,uBAAA,GAAAR,cAAA,CAAAQ,qBAAA,CAAA;AAMhE,IAAA,IAAAE,OAAA,GAAkDC,OAAO9B,KAAK,CAAA;MAAtD+B,SAAW,GAAAF,OAAA,CAAXE,SAAW;MAAAC,UAAA,GAAAH,OAAA,CAAAG,UAAA;MAAYC,cAAe,GAAAJ,OAAA,CAAfI,cAAe,CAAA;AAC9C,IAAA,IAAMC,mBAAmB,SAAnBA,iBAAoBC,CAAA,EAAA;AAAA,MAAA,IAAAC,gBAAA,CAAA;AAAA,MAAA,OAAA,CAAAA,gBAAA,GAAkBpC,MAAMqC,SAAY,MAAA,IAAA,IAAAD,gBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,gBAAA,CAAAE,IAAA,CAAAtC,OAAkB;AAAEmC,QAAAA,GAAAA,CAAAA;AAAE,OAAC,CAAA,CAAA;AAAA,KAAA,CAAA;AACnE,IAAA,IAAMI,kBAAkB,SAAlBA,gBAAmBJ,CAAA,EAAA;AAAA,MAAA,IAAAK,eAAA,CAAA;AAAA,MAAA,OAAA,CAAAA,eAAA,GAAkBxC,MAAMyC,QAAW,MAAA,IAAA,IAAAD,eAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBA,eAAA,CAAAF,IAAA,CAAAtC,OAAiB;AAAEmC,QAAAA,GAAAA,CAAAA;AAAE,OAAC,CAAA,CAAA;AAAA,KAAA,CAAA;IAC3D,IAAAO,UAAA,GAAkCC,UAAU;AAAET,QAAAA,gBAAA,EAAAA,gBAAA;AAAkBK,QAAAA,iBAAAA,eAAAA;AAAgB,OAAC,CAAA;MAA/EK,2BAAAA;MAAeC,YAAa,GAAAH,UAAA,CAAbG,YAAa,CAAA;IAEpC,IAAMC,UAAa,GAAAC,QAAA,CAAS,YAAA;AAAA,MAAA,OAAM/C,KAAA,CAAMgD,SAAS,UAAU,CAAA;KAAA,CAAA,CAAA;IAErD,IAAAC,eAAA,GAAkBF,QAAS,CAAA,YAAA;MAAA,OAAM,CAAC,OAAA,EAAS,UAAU,CAAE,CAAAG,QAAA,CAASlD,KAAM,CAAAgD,IAAI,CAAC,CAAA;KAAA,CAAA,CAAA;IAEjF,IAAMG,YAAe,GAAAJ,QAAA,CAAS,YAAA;AAAA,MAAA,OAAM/C,KAAA,CAAMgD,SAAS,aAAa,CAAA;KAAA,CAAA,CAAA;AAChE,IAAA,IAAMI,iBAAiB,SAAjBA,eAAkBjB,CAAA,EAAA;AAAA,MAAA,IAAAkB,qBAAA,CAAA;AAAA,MAAA,OAAkBrD,UAAAA,IAAAA,IAAAA,6CAAAA,MAAOsD,eAAkB,MAAA,IAAA,IAAAD,qBAAA,KAAzBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAAf,IAAA,CAAAtC,OAAyB;AAAEmC,QAAAA,GAAAA,CAAAA;AAAE,OAAC,CAAA,CAAA;AAAA,KAAA,CAAA;AAGlE,IAAA,IAAAoB,UAAA,GAAa,SAAbA,UAAAA,CAAcpB,CAAkB,EAAA;AAChC,MAAA,IAAAc,eAAA,CAAgBnD,SAASE,KAAO,aAAPA,KAAO,KAAA,KAAA,CAAA,IAAPA,KAAO,CAAAL,SAAA,EAAWwC,CAAA,CAAEqB,eAAgB,EAAA,CAAA;KACnE,CAAA;AAEA,IAAA,IAAMC,gBAAgB,SAAhBA,gBAAsB;AAC1B,MAAA,IAAI,CAAClD,OAAA,CAAQT,KAAS,IAAAgD,UAAA,CAAWhD,SAASE,KAAM,CAAAL,SAAA,EAAW,OAAA;AACnDY,MAAAA,OAAA,CAAAT,KAAA,CAAM4D,MAAMC,QAAW,GAAA,UAAA,CAAA;AACvBpD,MAAAA,OAAA,CAAAT,KAAA,CAAM4D,MAAME,IAAO,GAAA,OAAA,CAAA;AACnBrD,MAAAA,OAAA,CAAAT,KAAA,CAAM4D,MAAMG,GAAM,GAAA,OAAA,CAAA;KAC5B,CAAA;AAGOvD,IAAAA,MAAA,CAAA;AACLwD,MAAAA,GAAK,EAAAvD,OAAA;AACLkD,MAAAA,aAAA,EAAAA,aAAAA;AACF,KAAC,CAAA,CAAA;AAEK,IAAA,IAAAM,WAAA,GAAchB,SAAS,YAAM;AACjC,MAAA,IAAMgB,YAAc,GAAA,CAAA,EAAA,CAAAC,MAAA,CACfvD,cAAe,CAAAX,KAAA,CAAAkE,EAAAA,EAAAA,CAAAA,MAAA,CACfvD,cAAe,CAAAX,KAAA,EAAAkE,UAAAA,CAAAA,CAAAA,MAAA,CAAgBhE,KAAM,CAAAiE,KAAA,CAAA,EACxChB,eAAgB,CAAAnD,KAAA,IAASE,KAAM,CAAAL,SAAA,IAAAqE,EAAAA,CAAAA,MAAA,CAAgBvD,cAAe,CAAAX,KAAA,EAAA,aAAA,CAAA,EAC9DE,KAAM,CAAAkE,eAAA,CACR,CAAA;MAEA,IAAIf,aAAarD,KAAO,EAAA;QACtBiE,YAAY,CAAAI,IAAA,CAAAH,EAAAA,CAAAA,MAAA,CAAQvD,cAAA,CAAeX,KAAmB,EAAA,cAAA,CAAA,CAAA,CAAA;AACxD,OAAO,MAAA;QACLiE,YAAAA,CAAYI,eAAQ1D,cAAA,CAAeX,+BAAqBW,cAAA,CAAeX,KAAU,EAAAkE,IAAAA,CAAAA,CAAAA,MAAA,CAAAhE,KAAA,CAAMoE,SAAW,CAAA,CAAA,CAAA;AACpG,OAAA;AACOL,MAAAA,OAAAA,YAAAA,CAAAA;AACT,KAAC,CAAA,CAAA;AACK,IAAA,IAAAM,WAAA,GAActB,SAAS,YAAM;AACjC,MAAA,OAAO,CAACI,YAAa,CAAArD,KAAA,GAAAG,aAAA,CAAA;AAAUqE,QAAAA,KAAA,EAAOC,YAAYvE,KAAM,CAAAsE,KAAK,CAAA;OAAMtE,EAAAA,MAAMqE,WAAY,CAAA,GAAApE,aAAA,CAASD,EAAAA,EAAAA,MAAMqE,WAAY,CAAA,CAAA;AAClH,KAAC,CAAA,CAAA;AAED,IAAA,IAAMG,aAAa,SAAbA,aAAmB;AACjB,MAAA,IAAAC,iBAAA,GAAoB1B,SAAS,YAAM;AAAA,QAAA,IAAA2B,iBAAA,CAAA;AAEhC,QAAA,OAAA,CAAAA,CAAAA,iBAAA,GAAA1C,UAAA,CAAWlC,KAAO,MAAA,IAAA,IAAA4E,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,iBAAA,CAAkBC,OAAA,KAAW1C,cAAe,CAAAnC,KAAA,CAAA;AACrD,OAAC,CAAA,CAAA;AACD,MAAA,IAAM8E,0CAED/B,YAAa,CAAA;QACZd,WAAWA,SAAU,CAAAjC,KAAA;AACrB+E,QAAAA,YAAA,EAAc3D,aAAapB,KAAM,CAAAgF,MAAA;AACjCC,QAAAA,SAAA,EAAAf,EAAAA,CAAAA,MAAA,CAAcvD,cAAe,CAAAX,KAAA,EAAA,UAAA,CAAA;OAC9B,CAAA,EACA8C,aAAc,CAAA;AACbqB,QAAAA,OAAOjE,KAAO,KAAA,IAAA,IAAPA,KAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAO,CAAAiE,KAAA;QACdjC,YAAYA,UAAW,CAAAlC,KAAA;AACvBkF,QAAAA,aAAA,EAAe9D,aAAapB,KAAM,CAAAmF,OAAA;AAClCC,QAAAA,qBAAA,EAAuBhE,aAAapB,KAAM,CAAAqF,eAAA;AAC1CJ,QAAAA,SAAA,KAAAf,MAAA,CAAcvD,cAAe,CAAAX,KAAA,EAAA,WAAA,CAAA;QAC7BmC,gBAAgBwC,iBAAkB,CAAA3E,KAAAA;AACpC,OAAC,CAAA,CAbF,CAAA,CAAA;AAiBG,MAAA,IAAAsF,aAAA,GAAgBxE,cAAe,CAAA,QAAA,EAAUgE,aAAa,CAAA,CAAA;AAE5D,MAAA,IAAMS,eAAe,SAAfA,eAAqB;AAAA,QAAA,IAAAC,eAAA,CAAA;QAEnB,IAAAC,MAAA,IAAAD,eAAA,GAAS1E,eAAe,QAAU,EAAA4E,WAAA,CAAA,IAAA,EAAA;AAAA,UAAA,OAAA,EAAA,OAAA;AAAA,SAAA,EAAA,IAAA,CAAuB,CAAK,MAAAF,IAAAA,IAAAA,eAAA,KAAAA,KAAAA,CAAAA,GAAAA,eAAA,GAAA,KAAA,CAAA;QACpE,IAAMG,eAAkB,GAAAtC,YAAA,CAAarD,KACjC,GAAA,CAAAkE,EAAAA,CAAAA,MAAA,CAAIvD,cAAA,CAAeX,KAAiB,kBAAAkE,MAAA,CAAGvD,cAAe,CAAAX,KAAA,EAAA,sBAAA,CAAA,CACtD,GAAAkE,EAAAA,CAAAA,MAAA,CAAGvD,cAAe,CAAAX,KAAA,EAAA,UAAA,CAAA,CAAA;QAEtB,IAAM4F,cAAiB,GAAAvC,YAAA,CAAarD,KAChC,GAAA,CAAAkE,EAAAA,CAAAA,MAAA,CAAIvD,cAAA,CAAeX,KAAgB,iBAAAkE,MAAA,CAAGvD,cAAe,CAAAX,KAAA,EAAA,qBAAA,CAAA,CACrD,GAAAkE,EAAAA,CAAAA,MAAA,CAAGvD,cAAe,CAAAX,KAAA,EAAA,SAAA,CAAA,CAAA;AACtB,QAAA,IAAM6F,UAAU,SAAVA,UAAgB;AACpB,UAAA,IAAMC,IAAO,GAAA;YACXC;iCAAsClF,YAAYb,KAAiB,EAAA,UAAA,CAAA;aAAA,EAAA,IAAA,CAAA;YACnEgG;iCAA0CnF,YAAYb,KAAoB,EAAA,aAAA,CAAA;aAAA,EAAA,IAAA,CAAA;YAC1EiG;iCAAyCpF,YAAYb,KAAkB,EAAA,WAAA,CAAA;aAAA,EAAA,IAAA,CAAA;YACvEkG;iCAA0CrF,YAAYb,KAAoB,EAAA,aAAA,CAAA;AAAA,aAAA,EAAA,IAAA,CAAA;WAC5E,CAAA;UACA,OAAO8F,KAAK5F,KAAO,KAAA,IAAA,IAAPA,KAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAO,CAAAiE,KAAA,CAAA,CAAA;SACrB,CAAA;QACA,OAAA,CACGsB,MAAU,KAAAvF,KAAA,KAAA,IAAA,IAAAA,KAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAA,CAAOiG,QAChB,CAAA,KAAAT,WAAA,CAAA,KAAA,EAAA;UAAA,OAAYC,EAAAA,eAAAA;AAAA,SAAA,EAAA,CAAAD,WAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EAAA,EAAA,CAAAxB,MAAA,CACKvD,cAAe,CAAAX,KAAA,EAAA,kBAAA,CAAA;AAAA,SAAA,EAAA,CAC3B6F,OAAQ,EAAA,EACRJ,MAAA,CAGFvF,CAAAA,EAAAA,UAAAA,IAAAA,IAAAA,UAAAA,KAAAA,CAAAA,IAAAA,MAAOiG,QACN,GAAAT,WAAA,CAAA,MAAA,EAAA;AAAA,UAAA,OAAA,EAAaE;qBAAyBtC,cAAA;UAAA,aAA6BG,EAAAA,UAAAA;SAChE3C,EAAAA,CAAAA,eAAe,UAAY,EAAA4E,WAAA,CAAAnE,WAAA,EAAa,IAAA,EAAA,IAAA,CAAA,CAAA,CAEzC,CAAA,GAAA,IAAA,CAVL,CAAA,CAAA;OAcP,CAAA;AAEA,MAAA,IAAM6E,aAAa,SAAbA,aAAmB;AACjB,QAAA,IAAAC,IAAA,GAAOrF,aAAc,CAAA,SAAA,EAAW,MAAM,CAAA,CAAA;QAC5C,IAAMsF,aACJ,GAAA,CAAApG,KAAA,KAAA,IAAA,IAAAA,KAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAA,CAAOiE,KAAU,MAAA,SAAA,GAAY,CAAAD,EAAAA,CAAAA,MAAA,CAAIvD,cAAe,CAAAX,KAAA,EAAiB,QAAA,CAAA,CAAA,GAAA,CAAAkE,EAAAA,CAAAA,MAAA,CAAIvD,cAAA,CAAeX,KAAmB,EAAA,cAAA,CAAA,CAAA,CAAA;AACrG,QAAA,IAAAqD,YAAA,CAAarD,SAASsF,aAAe,EAAA;UACzBgB,aAAA,CAAAjC,IAAA,CAAAH,EAAAA,CAAAA,MAAA,CAAQvD,cAAA,CAAeX,KAAyB,EAAA,oBAAA,CAAA,CAAA,CAAA;AAChE,SAAA,MAAA,IAAWqD,aAAarD,KAAO,EAAA;UACfsG,aAAA,CAAAjC,IAAA,CAAAH,EAAAA,CAAAA,MAAA,CAAQvD,cAAA,CAAeX,KAAyC,EAAA,oCAAA,CAAA,CAAA,CAAA;AAChF,SAAA;AACA,QAAA,OAAA0F,WAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EACcY;uBAA4B7C,EAAAA,UAAAA;AAAA,SAAA,EAAA,CACrC4C;OAGP,CAAA;AAEA,MAAA,IAAME,eAAe,SAAfA,eAAqB;QACzB,IAAMC,eAAkB,GAAAnD,YAAA,CAAarD,KACjC,GAAA,CAAAkE,EAAAA,CAAAA,MAAA,CAAIvD,cAAA,CAAeX,KAAiB,kBAAAkE,MAAA,CAAGvD,cAAe,CAAAX,KAAA,EAAA,sBAAA,CAAA,CACtD,GAAAkE,EAAAA,CAAAA,MAAA,CAAGvD,cAAe,CAAAX,KAAA,EAAA,UAAA,CAAA,CAAA;QAGpB,OAAAsF,aAAA,IAAAI,WAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EACcc;uBAA8B/C,EAAAA,UAAAA;AAAA,SAAA,EAAA,CACvC6B,cADF,CAAA,CAAA;OAKP,CAAA;MAGE,OAAAI,WAAA,CAAAe,QAAA,EAAA,IAAA,EAAA,CACGlB,YAAa,EAAA,EACba,UAAW,EAAA,EACX,CAAC,CAAClG,KAAM,CAAAwG,MAAA,IAAUH,YAAa,EAAA,CAAA,CAAA,CAAA;KAGtC,CAAA;IAEO,OAAA,YAAA;MAAA,OAAAI,cAAA,CAAAjB,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,KAAA,EAAA,QAAA;AAAA,QAAA,KAAA,EAGEjF,OAAA;QAAA,OACEwD,EAAAA,WAAY,CAAAjE,KAAA;AAAA,QAAA,OAAA,EACZuE,WAAY,CAAAvE,KAAAA;AAAA,OAAA,EAAA,CAGlB0E,UAAA,uCAFYvB,eAAgB,CAAAnD,KAAA,IAASE,MAAML,SAE3C,CAAA,CAAA,CAAA,CAAA;KAPF,CAAA;AAUL,GAAA;AACF,CAAC,CAAA;;;;"}