{"version":3,"file":"modal-CTQiEtHr.mjs","names":["Dispatch","SetStateAction","useMemo","useState","ModalOptions","useClick","useDismiss","useFloating","UseFloatingReturn","useInteractions","UseInteractionsReturn","useRole","ThemeBaseColor","UseModalReturn","open","setOpen","color","labelId","descriptionId","setLabelId","setDescriptionId","useModal","t0","$","_c","t1","undefined","initialOpen","t2","controlledOpen","onOpen","setControlledOpen","uncontrolledOpen","setUncontrolledOpen","isUncontrolled","t3","onOpenChange","data","context","click","dismiss","role","t4","interactions","t5","createContext","useContext","useModal","ContextType","ReturnType","ModalContext","useModalContext","context","Error","ReactNode","ModalOptions","useModal","ModalContext","Props","children","Modal","t0","$","_c","options","modal","t1","FloatingFocusManager","FloatingOverlay","FloatingPortal","useMergeRefs","ComponentProps","RefObject","useModalContext","clsx","Dialog","Props","ref","HTMLInputElement","zClassName","ModalContent","t0","$","_c","style","className","children","props","context","floatingContext","t1","refs","setFloating","mergedRef","open","T0","T1","t2","t3","t4","t5","_temp","T2","T3","t6","color","t7","t8","labelId","t9","descriptionId","t10","getFloatingProps","t11","t12","t13","t14","t15","event","stopPropagation","cloneElement","isValidElement","useMergeRefs","Button","ButtonProps","useModalContext","Props","asChild","ModalTrigger","children","size","ref","props","context","childrenRef","mergedRefs","refs","setReference","getReferenceProps","open","ComponentProps","useModalContext","clsx","Button","Scroll","ModalHeaderProps","closeButton","ModalHeader","t0","$","_c","children","className","props","t1","undefined","setOpen","t2","t3","t4","t5","t6","ModalDescriptionProps","scrollable","ModalDescription","ModalFooter"],"sources":["../src/components/modal/useModal.ts","../src/components/modal/useModalContext.ts","../src/components/modal/Modal.tsx","../src/components/modal/ModalContent.tsx","../src/components/modal/ModalTrigger.tsx","../src/components/modal/Components.tsx"],"sourcesContent":["import { Dispatch, SetStateAction, useMemo, useState } from \"react\";\nimport { ModalOptions } from \"./interface\";\nimport {\n  useClick,\n  useDismiss,\n  useFloating,\n  UseFloatingReturn,\n  useInteractions,\n  UseInteractionsReturn,\n  useRole,\n} from \"@floating-ui/react\";\nimport { ThemeBaseColor } from \"../../types\";\n\nexport type UseModalReturn = {\n  open: boolean;\n  setOpen: Dispatch<SetStateAction<boolean>>;\n  color?: ThemeBaseColor;\n  labelId?: string;\n  descriptionId?: string;\n  setLabelId: Dispatch<SetStateAction<string | undefined>>;\n  setDescriptionId: Dispatch<SetStateAction<string | undefined>>;\n} & UseInteractionsReturn &\n  UseFloatingReturn;\n\nexport function useModal({\n  initialOpen = false,\n  open: controlledOpen,\n  onOpen: setControlledOpen,\n  color,\n}: ModalOptions = {}): UseModalReturn {\n  const [uncontrolledOpen, setUncontrolledOpen] = useState(initialOpen);\n  const [labelId, setLabelId] = useState<string | undefined>();\n  const [descriptionId, setDescriptionId] = useState<string | undefined>();\n\n  const isUncontrolled = controlledOpen === null || controlledOpen === undefined;\n  const open = isUncontrolled ? uncontrolledOpen : controlledOpen;\n  const setOpen = isUncontrolled\n    ? setUncontrolledOpen\n    : (setControlledOpen as Dispatch<SetStateAction<boolean>>);\n\n  const data = useFloating({\n    open,\n    onOpenChange: setOpen,\n  });\n\n  const { context } = data;\n\n  const click = useClick(context);\n  const dismiss = useDismiss(context);\n  const role = useRole(context);\n\n  const interactions = useInteractions([click, dismiss, role]);\n\n  return useMemo(\n    () => ({\n      open,\n      setOpen,\n      ...interactions,\n      ...data,\n      color,\n      labelId,\n      descriptionId,\n      setLabelId,\n      setDescriptionId,\n    }),\n    [open, setOpen, interactions, data, color, labelId, descriptionId],\n  );\n}\n","import { createContext, useContext } from \"react\";\nimport { useModal } from \"./useModal\";\n\ntype ContextType = ReturnType<typeof useModal> | null;\n\nexport const ModalContext = createContext<ContextType>(null);\n\nexport function useModalContext() {\n  const context = useContext(ModalContext);\n\n  if (context === null) {\n    throw new Error(\"Modal components must be wrapped in <Modal />\");\n  }\n\n  return context;\n}\n","import { ReactNode } from \"react\";\nimport { ModalOptions } from \"./interface\";\nimport { useModal } from \"./useModal\";\nimport { ModalContext } from \"./useModalContext\";\n\ninterface Props extends ModalOptions {\n  children?: ReactNode;\n}\n\nexport function Modal({ children, ...options }: Props) {\n  const modal = useModal(options);\n  return <ModalContext.Provider value={modal}>{children}</ModalContext.Provider>;\n}\n","import {\n  FloatingFocusManager,\n  FloatingOverlay,\n  FloatingPortal,\n  useMergeRefs,\n} from \"@floating-ui/react\";\nimport { ComponentProps, RefObject } from \"react\";\nimport { useModalContext } from \"./useModalContext\";\nimport clsx from \"clsx\";\nimport { Dialog } from \"../dialog/Dialog\";\n\ninterface Props extends ComponentProps<\"div\"> {\n  ref?: RefObject<HTMLInputElement>;\n  zClassName?: string;\n}\n\nexport function ModalContent({ zClassName, style, className, children, ref, ...props }: Props) {\n  const context = useModalContext();\n  const floatingContext = context.context;\n\n  const mergedRef = useMergeRefs([context.refs.setFloating, ref]);\n  if (!context.open) {\n    return null;\n  }\n\n  return (\n    <FloatingPortal>\n      <FloatingOverlay\n        className={clsx(\n          \"flex-center bg-gray-7/40 motion-safe:animate-fade-in-opacity\",\n          zClassName ?? \"z-modal-overlay\",\n        )}\n        lockScroll\n        onSubmit={(event) => event.stopPropagation()}\n      >\n        <FloatingFocusManager context={floatingContext}>\n          <Dialog\n            color={context.color}\n            className={clsx(\n              \"motion-safe:animate-fade-in z-modal w-[calc(100vw-1rem)] mx-2\",\n              className,\n            )}\n            style={style}\n            aria-labelledby={context.labelId}\n            aria-describedby={context.descriptionId}\n            {...context.getFloatingProps(props)}\n          >\n            <div ref={mergedRef}>{children}</div>\n          </Dialog>\n        </FloatingFocusManager>\n      </FloatingOverlay>\n    </FloatingPortal>\n  );\n}\n","import { cloneElement, isValidElement } from \"react\";\nimport { useMergeRefs } from \"@floating-ui/react\";\nimport { Button, ButtonProps } from \"../button/Button\";\nimport { useModalContext } from \"./useModalContext\";\n\ninterface Props extends ButtonProps {\n  asChild?: boolean;\n}\n\nexport function ModalTrigger({ children, asChild = false, size, ref, ...props }: Props) {\n  const context = useModalContext();\n  const childrenRef = (children as any).ref;\n\n  const mergedRefs = useMergeRefs([context.refs.setReference, ref, childrenRef]);\n\n  if (asChild && isValidElement(children)) {\n    return cloneElement(\n      children,\n      context.getReferenceProps({\n        ref,\n        ...props,\n        ...(children.props ?? {}),\n        // @ts-ignore\n        \"data-state\": context.open ? \"open\" : \"closed\",\n      }),\n    );\n  }\n\n  return (\n    <Button\n      type=\"button\"\n      ref={mergedRefs as any}\n      size={size}\n      data-state={context.open ? \"open\" : \"closed\"}\n      {...context.getReferenceProps(props)}\n    >\n      {children}\n    </Button>\n  );\n}\n","import { ComponentProps } from \"react\";\nimport { useModalContext } from \"./useModalContext\";\nimport clsx from \"clsx\";\nimport { Button } from \"../button/Button\";\nimport { Scroll } from \"../scroll/Scroll\";\n\ninterface ModalHeaderProps extends ComponentProps<\"h2\"> {\n  closeButton?: boolean;\n}\nexport function ModalHeader({\n  children,\n  className,\n  closeButton = true,\n  ...props\n}: ModalHeaderProps) {\n  const { setOpen } = useModalContext();\n\n  return (\n    <>\n      {closeButton && (\n        <div className=\"float-right p-1\">\n          <Button icon variant=\"text\" color=\"gray\" onClick={() => setOpen(false)}>\n            <i className=\"fe-cancel\"></i>\n          </Button>\n        </div>\n      )}\n      <header className={clsx(\"flex items-center p-2\", className)} {...props}>\n        <h4 className=\"leading-6 font-semibold\">{children}</h4>\n      </header>\n    </>\n  );\n}\n\ninterface ModalDescriptionProps extends ComponentProps<\"div\"> {\n  scrollable?: boolean;\n}\nexport function ModalDescription({\n  children,\n  className,\n  scrollable = false,\n  ...props\n}: ModalDescriptionProps) {\n  if (!scrollable) {\n    return (\n      <div className={clsx(\"p-2 pt-0 overflow-hidden\", className)} {...props}>\n        {children}\n      </div>\n    );\n  }\n  return (\n    <Scroll className={clsx(\"flex flex-col\", className)} {...props}>\n      {children}\n    </Scroll>\n  );\n}\n\nexport function ModalFooter({ children, className, ...props }: ComponentProps<\"footer\">) {\n  return (\n    <footer className={clsx(\"relative z-10 p-2\", className)} {...props}>\n      {children}\n    </footer>\n  );\n}\n"],"mappings":";;;;;;;;;AAwBA,SAAOqB,SAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;CAAA,IAAAF,EAAA,OAAAD,IAAA;EAAkBG,KAAAH,OAAAI,KAAAA,IAAA,CAKN,IALMJ;EAKLC,EAAA,KAAAD;EAAAC,EAAA,KAAAE;CAAA,OAAAA,KAAAF,EAAA;CALK,MAAA,EAAAI,aAAAC,IAAAd,MAAAe,gBAAAC,QAAAC,mBAAAf,UAAAS;CAMvB,MAAA,CAAAO,kBAAAC,uBAAgD9B,SALhDyB,OAAAF,KAAAA,IAAA,QAAAE,EAKoE;CACpE,MAAA,CAAAX,SAAAE,cAA8BhB,SAA6B;CAC3D,MAAA,CAAAe,eAAAE,oBAA0CjB,SAA6B;CAEvE,MAAA+B,iBAAuBL,mBAAmB,QAAQA,mBAAmBH,KAAAA;CACrE,MAAAZ,OAAaoB,iBAAAF,mBAAAH;CACb,MAAAd,UAAgBmB,iBAAAD,sBAEXF;CAAwD,IAAAI;CAAA,IAAAZ,EAAA,OAAAT,QAAAS,EAAA,OAAAR,SAAA;EAEpCoB,KAAA;GAAArB;GAAAsB,cAETrB;EAChB;EAACQ,EAAA,KAAAT;EAAAS,EAAA,KAAAR;EAAAQ,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAHD,MAAAc,OAAa9B,YAAY4B,EAGxB;CAED,MAAA,EAAAG,YAAoBD;CAEpB,MAAAE,QAAclC,SAASiC,OAAO;CAC9B,MAAAE,UAAgBlC,WAAWgC,OAAO;CAClC,MAAAG,OAAa9B,QAAQ2B,OAAO;CAAE,IAAAI;CAAA,IAAAnB,EAAA,OAAAgB,SAAAhB,EAAA,OAAAiB,WAAAjB,EAAA,OAAAkB,MAAA;EAEOC,KAAA;GAACH;GAAOC;GAASC;EAAI;EAAClB,EAAA,KAAAgB;EAAAhB,EAAA,KAAAiB;EAAAjB,EAAA,KAAAkB;EAAAlB,EAAA,KAAAmB;CAAA,OAAAA,KAAAnB,EAAA;CAA3D,MAAAoB,eAAqBlC,gBAAgBiC,EAAsB;CAAE,IAAAE;CAAA,IAAArB,EAAA,OAAAP,SAAAO,EAAA,QAAAc,QAAAd,EAAA,QAAAL,iBAAAK,EAAA,QAAAoB,gBAAApB,EAAA,QAAAN,WAAAM,EAAA,QAAAT,QAAAS,EAAA,QAAAR,SAAA;EAGpD6B,KAAA;GAAA9B;GAAAC;GAAA,GAGF4B;GAAY,GACZN;GAAIrB;GAAAC;GAAAC;GAAAC;GAAAC;EAMT;EAACG,EAAA,KAAAP;EAAAO,EAAA,MAAAc;EAAAd,EAAA,MAAAL;EAAAK,EAAA,MAAAoB;EAAApB,EAAA,MAAAN;EAAAM,EAAA,MAAAT;EAAAS,EAAA,MAAAR;EAAAQ,EAAA,MAAAqB;CAAA,OAAAA,KAAArB,EAAA;CAAA,OAVMqB;AAUN;;;AC3DL,MAAaM,eAAeL,cAA2B,IAAI;AAE3D,SAAOM,kBAAA;CACL,MAAAC,UAAgBN,WAAWI,YAAY;CAEvC,IAAIE,YAAY,MACd,MAAM,IAAIC,MAAM,+CAA+C;CAChE,OAEMD;AAAO;;;ACLhB,SAAOQ,MAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAA,IAAAJ;CAAA,IAAAK;CAAA,IAAAF,EAAA,OAAAD,IAAA;EAAe,CAAA,CAAAF,UAAA,GAAAK,WAAAH;EAA+BC,EAAA,KAAAD;EAAAC,EAAA,KAAAH;EAAAG,EAAA,KAAAE;CAAA,OAAA;EAAAL,WAAAG,EAAA;EAAAE,UAAAF,EAAA;CAAA;CACnD,MAAAG,QAAcT,SAASQ,OAAO;CAAE,IAAAE;CAAA,IAAAJ,EAAA,OAAAH,YAAAG,EAAA,OAAAG,OAAA;EACzBC,KAAA,oBAAA,aAAA,UAAA;GAA8BD,OAAAA;GAAQN;EAAS,CAAA;EAAwBG,EAAA,KAAAH;EAAAG,EAAA,KAAAG;EAAAH,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,OAAvEI;AAAuE;;;ACKhF,SAAOc,aAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAsB,MAAA,EAAAJ,YAAAK,OAAAC,WAAAC,UAAAT,KAAA,GAAAU,UAAAN;CAC3B,MAAAO,UAAgBf,gBAAgB;CAChC,MAAAgB,kBAAwBD,QAAOA;CAAS,IAAAE;CAAA,IAAAR,EAAA,OAAAM,QAAAG,KAAAC,eAAAV,EAAA,OAAAL,KAAA;EAETa,KAAA,CAACF,QAAOG,KAAKC,aAAcf,GAAG;EAACK,EAAA,KAAAM,QAAAG,KAAAC;EAAAV,EAAA,KAAAL;EAAAK,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAA9D,MAAAW,YAAkBvB,aAAaoB,EAA+B;CAC9D,IAAI,CAACF,QAAOM,MAAK,OACR;CAIN,MAAAC,KAAA1B;CACE,MAAA2B,KAAA5B;CAGG,MAAA6B,KAAAlB,cAAA;CAA+B,IAAAmB;CAAA,IAAAhB,EAAA,OAAAe,IAAA;EAFtBC,KAAAxB,KACT,gEACAuB,EACF;EAACf,EAAA,KAAAe;EAAAf,EAAA,KAAAgB;CAAA,OAAAA,KAAAhB,EAAA;CACD,MAAAiB,KAAA;CACU,MAAAC,KAAAC;CAET,MAAAC,KAAAnC;CACE,MAAAoC,KAAA5B;CACQ,MAAA6B,KAAAhB,QAAOiB;CAAM,IAAAC;CAAA,IAAAxB,EAAA,OAAAG,WAAA;EACTqB,KAAAhC,KACT,iEACAW,SACF;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAwB;CAAA,OAAAA,KAAAxB,EAAA;CAEgB,MAAAyB,KAAAnB,QAAOoB;CACN,MAAAC,KAAArB,QAAOsB;CACrB,MAAAC,MAAAvB,QAAOwB,iBAAkBzB,KAAK;CAAC,IAAA0B;CAAA,IAAA/B,EAAA,OAAAI,YAAAJ,EAAA,OAAAW,WAAA;EAEnCoB,MAAA,oBAAA,OAAA;GAAUpB,KAAAA;GAAYP;EAAe,CAAA;EAAAJ,EAAA,KAAAI;EAAAJ,EAAA,KAAAW;EAAAX,EAAA,KAAA+B;CAAA,OAAAA,MAAA/B,EAAA;CAAA,IAAAgC;CAAA,IAAAhC,EAAA,QAAAqB,MAAArB,EAAA,QAAAM,QAAAiB,SAAAvB,EAAA,QAAAM,QAAAsB,iBAAA5B,EAAA,QAAAM,QAAAoB,WAAA1B,EAAA,QAAAE,SAAAF,EAAA,QAAA6B,OAAA7B,EAAA,QAAA+B,OAAA/B,EAAA,QAAAwB,IAAA;EAXvCQ,MAAA,oBAAC,IAAD;GACS,OAAAV;GACI,WAAAE;GAIJtB;GACU,mBAAAuB;GACC,oBAAAE;GAAqB,GACnCE;GAEJE,UAAAA;EAXK,CAAA;EAYE/B,EAAA,MAAAqB;EAAArB,EAAA,MAAAM,QAAAiB;EAAAvB,EAAA,MAAAM,QAAAsB;EAAA5B,EAAA,MAAAM,QAAAoB;EAAA1B,EAAA,MAAAE;EAAAF,EAAA,MAAA6B;EAAA7B,EAAA,MAAA+B;EAAA/B,EAAA,MAAAwB;EAAAxB,EAAA,MAAAgC;CAAA,OAAAA,MAAAhC,EAAA;CAAA,IAAAiC;CAAA,IAAAjC,EAAA,QAAAoB,MAAApB,EAAA,QAAAO,mBAAAP,EAAA,QAAAgC,KAAA;EAbXC,MAAA,oBAAC,IAAD;GAA+B1B,SAAAA;GAC7ByB,UAAAA;EADmB,CAAA;EAcEhC,EAAA,MAAAoB;EAAApB,EAAA,MAAAO;EAAAP,EAAA,MAAAgC;EAAAhC,EAAA,MAAAiC;CAAA,OAAAA,MAAAjC,EAAA;CAAA,IAAAkC;CAAA,IAAAlC,EAAA,QAAAc,MAAAd,EAAA,QAAAiC,OAAAjC,EAAA,QAAAgB,MAAAhB,EAAA,QAAAkB,IAAA;EAtBzBgB,MAAA,oBAAC,IAAD;GACa,WAAAlB;GAIX,YAAAC;GACU,UAAAC;GAEVe,UAAAA;EARc,CAAA;EAuBEjC,EAAA,MAAAc;EAAAd,EAAA,MAAAiC;EAAAjC,EAAA,MAAAgB;EAAAhB,EAAA,MAAAkB;EAAAlB,EAAA,MAAAkC;CAAA,OAAAA,MAAAlC,EAAA;CAAA,IAAAmC;CAAA,IAAAnC,EAAA,QAAAa,MAAAb,EAAA,QAAAkC,KAAA;EAxBpBC,MAAA,oBAAC,IAAD,EAAA,UACED,IADa,CAAA;EAyBElC,EAAA,MAAAa;EAAAb,EAAA,MAAAkC;EAAAlC,EAAA,MAAAmC;CAAA,OAAAA,MAAAnC,EAAA;CAAA,OAzBjBmC;AAyBiB;AAnCd,SAAAhB,MAAAiB,OAAA;CAAA,OAiBsBA,MAAKC,gBAAiB;AAAC;;;ACxBpD,SAAgBS,aAAa,EAAEC,UAAUF,UAAU,OAAOG,MAAMC,KAAK,GAAGC,SAAgB;CACtF,MAAMC,UAAUR,gBAAgB;CAChC,MAAMS,cAAeL,SAAiBE;CAEtC,MAAMI,aAAab,aAAa;EAACW,QAAQG,KAAKC;EAAcN;EAAKG;CAAW,CAAC;CAE7E,IAAIP,WAAWN,eAAeQ,QAAQ,GACpC,OAAOT,aACLS,UACAI,QAAQK,kBAAkB;EACxBP;EACA,GAAGC;EACH,GAAIH,SAASG,SAAS,CAAC;EAEvB,cAAcC,QAAQM,OAAO,SAAS;CACxC,CAAC,CACH;CAGF,OACE,oBAAC,QAAD;EACE,MAAK;EACL,KAAKJ;EACCL;EACN,cAAYG,QAAQM,OAAO,SAAS;EACpC,GAAIN,QAAQK,kBAAkBN,KAAK;EAElCH;CACK,CAAA;AAEZ;;;AC9BA,SAAOkB,YAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAL,EAAA,OAAAD,IAAA;EAAqB,CAAA,CAAAG,UAAAC,WAAAN,aAAAQ,IAAA,GAAAD,SAAAL;EAKTC,EAAA,KAAAD;EAAAC,EAAA,KAAAE;EAAAF,EAAA,KAAAG;EAAAH,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;CAAA,OAAA;EAAAH,WAAAF,EAAA;EAAAG,YAAAH,EAAA;EAAAI,QAAAJ,EAAA;EAAAK,KAAAL,EAAA;CAAA;CAFjB,MAAAH,cAAAQ,OAAAC,KAAAA,IAAA,OAAAD;CAGA,MAAA,EAAAE,YAAoBf,gBAAgB;CAAE,IAAAgB;CAAA,IAAAR,EAAA,OAAAH,eAAAG,EAAA,OAAAO,SAAA;EAIjCC,KAAAX,eACC,oBAAA,OAAA;GAAe,WAAA;GACb,UAAA,oBAAC,QAAD;IAAQ,MAAA;IAAa,SAAA;IAAa,OAAA;IAAgB,eAAMU,QAAQ,KAAK;IACnE,UAAA,oBAAA,KAAA,EAAa,WAAA,YAAW,CAAA;GADnB,CAAA;EAGH,CAAA;EACPP,EAAA,KAAAH;EAAAG,EAAA,KAAAO;EAAAP,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,IAAAS;CAAA,IAAAT,EAAA,OAAAG,WAAA;EACkBM,KAAAhB,KAAK,yBAAyBU,SAAS;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,IAAAU;CAAA,IAAAV,EAAA,QAAAE,UAAA;EACzDQ,KAAA,oBAAA,MAAA;GAAc,WAAA;GAA2BR;EAAc,CAAA;EAAAF,EAAA,MAAAE;EAAAF,EAAA,MAAAU;CAAA,OAAAA,KAAAV,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,QAAAI,SAAAJ,EAAA,QAAAS,MAAAT,EAAA,QAAAU,IAAA;EADzDC,KAAA,oBAAA,UAAA;GAAmB,WAAAF;GAAwC,GAAML;GAC/DM,UAAAA;EACO,CAAA;EAAAV,EAAA,MAAAI;EAAAJ,EAAA,MAAAS;EAAAT,EAAA,MAAAU;EAAAV,EAAA,MAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,IAAAY;CAAA,IAAAZ,EAAA,QAAAQ,MAAAR,EAAA,QAAAW,IAAA;EAVXC,KAAA,qBAAA,YAAA,EAAA,UAAA,CACGJ,IAODG,EAES,EAAA,CAAA;EACRX,EAAA,MAAAQ;EAAAR,EAAA,MAAAW;EAAAX,EAAA,MAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAA,OAXHY;AAWG;AAOP,SAAOG,iBAAAhB,IAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAL,EAAA,OAAAD,IAAA;EAA0B,CAAA,CAAAG,UAAAC,WAAAW,YAAAT,IAAA,GAAAD,SAAAL;EAKTC,EAAA,KAAAD;EAAAC,EAAA,KAAAE;EAAAF,EAAA,KAAAG;EAAAH,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;CAAA,OAAA;EAAAH,WAAAF,EAAA;EAAAG,YAAAH,EAAA;EAAAI,QAAAJ,EAAA;EAAAK,KAAAL,EAAA;CAAA;CACtB,IAAI,EAHJK,OAAAC,KAAAA,IAAA,QAAAD,KAGe;EAAA,IAAAG;EAAA,IAAAR,EAAA,OAAAG,WAAA;GAEKK,KAAAf,KAAK,4BAA4BU,SAAS;GAACH,EAAA,KAAAG;GAAAH,EAAA,KAAAQ;EAAA,OAAAA,KAAAR,EAAA;EAAA,IAAAS;EAAA,IAAAT,EAAA,OAAAE,YAAAF,EAAA,OAAAI,SAAAJ,EAAA,OAAAQ,IAAA;GAA3DC,KAAA,oBAAA,OAAA;IAAgB,WAAAD;IAA2C,GAAMJ;IAC9DF;GACG,CAAA;GAAAF,EAAA,KAAAE;GAAAF,EAAA,KAAAI;GAAAJ,EAAA,KAAAQ;GAAAR,EAAA,MAAAS;EAAA,OAAAA,KAAAT,EAAA;EAAA,OAFNS;CAEM;CAET,IAAAD;CAAA,IAAAR,EAAA,QAAAG,WAAA;EAEoBK,KAAAf,KAAK,iBAAiBU,SAAS;EAACH,EAAA,MAAAG;EAAAH,EAAA,MAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,IAAAS;CAAA,IAAAT,EAAA,QAAAE,YAAAF,EAAA,QAAAI,SAAAJ,EAAA,QAAAQ,IAAA;EAAnDC,KAAA,oBAAC,QAAD;GAAmB,WAAAD;GAAgC,GAAMJ;GACtDF;EADI,CAAA;EAEEF,EAAA,MAAAE;EAAAF,EAAA,MAAAI;EAAAJ,EAAA,MAAAQ;EAAAR,EAAA,MAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,OAFTS;AAES;AAIb,SAAOO,YAAAjB,IAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAJ,EAAA,OAAAD,IAAA;EAAqB,CAAA,CAAAG,UAAAC,WAAA,GAAAC,SAAAL;EAA2DC,EAAA,KAAAD;EAAAC,EAAA,KAAAE;EAAAF,EAAA,KAAAG;EAAAH,EAAA,KAAAI;CAAA,OAAA;EAAAF,WAAAF,EAAA;EAAAG,YAAAH,EAAA;EAAAI,QAAAJ,EAAA;CAAA;CAAA,IAAAK;CAAA,IAAAL,EAAA,OAAAG,WAAA;EAEhEE,KAAAZ,KAAK,qBAAqBU,SAAS;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,IAAAQ;CAAA,IAAAR,EAAA,OAAAE,YAAAF,EAAA,OAAAI,SAAAJ,EAAA,OAAAK,IAAA;EAAvDG,KAAA,oBAAA,UAAA;GAAmB,WAAAH;GAAoC,GAAMD;GAC1DF;EACM,CAAA;EAAAF,EAAA,KAAAE;EAAAF,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;EAAAL,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,OAFTQ;AAES"}