{"version":3,"names":["flip","offset","shift","dynamic","createEffect","createMemo","createSignal","omit","Show","composeRefs","userRef","FloatingPortal","useFloating","arrow","mergeRootProps","resolveClassStyle","TooltipPositionerContext","useTooltipRootContext","parsePlacement","placement","rawSide","rawAlign","split","side","align","TooltipPositioner","props","rootContext","sideOffset","alignOffset","collisionPadding","keepMounted","arrowRef","current","setPositionerElement","ownedWrite","physicalSide","s","a","floating","floatingRootContext","strategy","middleware","padding","element","offsetParent","parsed","resolvedSide","resolvedAlign","arrowUncentered","arrowData","middlewareData","Boolean","centerOffset","arrowStyles","resolved","opposite","top","bottom","left","right","styles","position","x","undefined","y","oppositeSide","anchorHidden","hideData","hide","referenceHidden","state","open","positionerContextValue","shouldRender","mounted","positionerNode","positionerRef","el","style","opacity","transition","refs","setFloating","transform","Math","round","positioned","isPositioned","starting","transitionStatus","data","positionerStyle","internal","data-open","data-closed","data-side","data-align","data-anchor-hidden","userClassStyle","userProps","merged","Tag","as"],"sources":["tooltip-positioner.tsx"],"sourcesContent":["import { flip, offset, shift } from \"@floating-ui/dom\";\nimport type { JSX, ValidComponent } from \"@solidjs/web\";\nimport { dynamic } from \"@solidjs/web\";\nimport { createEffect, createMemo, createSignal, omit, Show } from \"solid-js\";\nimport { composeRefs, userRef } from \"../../internals/compose-refs\";\nimport { FloatingPortal } from \"../../internals/floating-ui/components/floating-portal\";\nimport { useFloating } from \"../../internals/floating-ui/hooks/use-floating\";\nimport { arrow } from \"../../internals/floating-ui/middleware/arrow\";\nimport type { MutableRef } from \"../../internals/floating-ui/types\";\nimport { mergeRootProps } from \"../../internals/merge-root-props\";\nimport { resolveClassStyle } from \"../../internals/resolve-class-style\";\nimport type { BaseUIComponentProps } from \"../../internals/types\";\nimport {\n\ttype TooltipAlign,\n\tTooltipPositionerContext,\n\ttype TooltipPositionerContextValue,\n\ttype TooltipSide,\n} from \"../tooltip-positioner-context\";\nimport { useTooltipRootContext } from \"../tooltip-root-context\";\n\nexport interface TooltipPositionerState {\n\topen: boolean;\n\tside: TooltipSide;\n\talign: TooltipAlign;\n\tanchorHidden: boolean;\n}\n\nexport interface TooltipPositionerProps\n\textends BaseUIComponentProps<\"div\", TooltipPositionerState> {\n\t/**\n\t * Tag/component to render. Defaults to `\"div\"`. Replaces the\n\t * pre-spike `render` prop (axis G).\n\t */\n\tas?: ValidComponent;\n\tside?: TooltipSide | undefined;\n\talign?: TooltipAlign | undefined;\n\tsideOffset?: number | undefined;\n\talignOffset?: number | undefined;\n\tcollisionPadding?: number | undefined;\n\tkeepMounted?: boolean | undefined;\n}\n\nfunction parsePlacement(placement: string): {\n\tside: TooltipSide;\n\talign: TooltipAlign;\n} {\n\tconst [rawSide, rawAlign = \"center\"] = placement.split(\"-\") as [\n\t\tstring,\n\t\tstring | undefined,\n\t];\n\tconst side = (rawSide as TooltipSide) ?? \"top\";\n\tconst align: TooltipAlign =\n\t\trawAlign === \"start\" || rawAlign === \"end\" ? rawAlign : \"center\";\n\treturn { side, align };\n}\n\n/**\n * Positions the tooltip against the trigger. Renders a `<div>` element inside\n * a `FloatingPortal` (mounted at `document.body` by default).\n *\n * Solid 2.0-native rewire (§1 wave 2): replaces `renderElement` with\n * `dynamic(() => props.as ?? \"div\")` and inlines state-attr\n * getters via `mergeRootProps`.\n */\nexport function TooltipPositioner(props: TooltipPositionerProps): JSX.Element {\n\tconst rootContext = useTooltipRootContext();\n\n\tconst side = (): TooltipSide => props.side ?? \"top\";\n\tconst align = (): TooltipAlign => props.align ?? \"center\";\n\tconst sideOffset = (): number => props.sideOffset ?? 0;\n\tvoid props.alignOffset;\n\tconst collisionPadding = (): number => props.collisionPadding ?? 5;\n\tconst keepMounted = (): boolean => props.keepMounted ?? false;\n\n\tconst arrowRef: MutableRef<HTMLDivElement | null> = { current: null };\n\n\tconst [, setPositionerElement] = createSignal<HTMLElement | null>(null, {\n\t\townedWrite: true,\n\t});\n\n\ttype PhysicalSide = \"top\" | \"bottom\" | \"left\" | \"right\";\n\tconst physicalSide = (): PhysicalSide => {\n\t\tconst s = side();\n\t\tif (s === \"inline-start\") return \"left\";\n\t\tif (s === \"inline-end\") return \"right\";\n\t\treturn s as PhysicalSide;\n\t};\n\tconst placement = createMemo(() => {\n\t\tconst s = physicalSide();\n\t\tconst a = align();\n\t\tif (a === \"center\") return s;\n\t\treturn `${s}-${a}` as const;\n\t});\n\n\tconst floating = useFloating({\n\t\trootContext: rootContext.floatingRootContext,\n\t\tget placement() {\n\t\t\treturn placement();\n\t\t},\n\t\tstrategy: \"absolute\",\n\t\tget middleware() {\n\t\t\treturn [\n\t\t\t\toffset(sideOffset()),\n\t\t\t\tflip(),\n\t\t\t\tshift({ padding: collisionPadding() }),\n\t\t\t\tarrow({ element: arrowRef.current, offsetParent: \"real\" }),\n\t\t\t];\n\t\t},\n\t});\n\n\tconst parsed = createMemo(() => parsePlacement(floating.placement));\n\tconst resolvedSide = (): TooltipSide => parsed().side;\n\tconst resolvedAlign = (): TooltipAlign => parsed().align;\n\n\tconst arrowUncentered = createMemo<boolean>(() => {\n\t\tconst arrowData = floating.middlewareData.arrow as\n\t\t\t| { centerOffset?: number }\n\t\t\t| undefined;\n\t\treturn Boolean(arrowData?.centerOffset);\n\t});\n\n\tconst arrowStyles = createMemo<Record<string, string | number | undefined>>(\n\t\t() => {\n\t\t\tconst arrowData = floating.middlewareData.arrow as\n\t\t\t\t| { x?: number; y?: number }\n\t\t\t\t| undefined;\n\t\t\tconst resolved = resolvedSide();\n\t\t\tconst opposite: Record<TooltipSide, TooltipSide> = {\n\t\t\t\ttop: \"bottom\",\n\t\t\t\tbottom: \"top\",\n\t\t\t\tleft: \"right\",\n\t\t\t\tright: \"left\",\n\t\t\t\t\"inline-end\": \"inline-start\",\n\t\t\t\t\"inline-start\": \"inline-end\",\n\t\t\t};\n\t\t\tconst styles: Record<string, string | number | undefined> = {\n\t\t\t\tposition: \"absolute\",\n\t\t\t};\n\t\t\tif (arrowData?.x !== undefined) {\n\t\t\t\tstyles.left = `${arrowData.x}px`;\n\t\t\t}\n\t\t\tif (arrowData?.y !== undefined) {\n\t\t\t\tstyles.top = `${arrowData.y}px`;\n\t\t\t}\n\t\t\tconst oppositeSide = opposite[resolved] ?? \"bottom\";\n\t\t\tstyles[oppositeSide] = \"100%\";\n\t\t\treturn styles;\n\t\t},\n\t);\n\n\tconst anchorHidden = createMemo<boolean>(() => {\n\t\tconst hideData = floating.middlewareData.hide as\n\t\t\t| { referenceHidden?: boolean }\n\t\t\t| undefined;\n\t\treturn Boolean(hideData?.referenceHidden);\n\t});\n\n\tconst state = createMemo<TooltipPositionerState>(() => ({\n\t\topen: rootContext.open(),\n\t\tside: resolvedSide(),\n\t\talign: resolvedAlign(),\n\t\tanchorHidden: anchorHidden(),\n\t}));\n\n\tconst positionerContextValue: TooltipPositionerContextValue = {\n\t\tside: resolvedSide,\n\t\talign: resolvedAlign,\n\t\tarrowRef,\n\t\tarrowUncentered,\n\t\tarrowStyles,\n\t\tanchorHidden,\n\t};\n\n\tconst shouldRender = (): boolean => rootContext.mounted() || keepMounted();\n\n\tlet positionerNode: HTMLElement | null = null;\n\tconst positionerRef = (el: HTMLDivElement | null) => {\n\t\tpositionerNode = el;\n\t\t// opacity:0 before first paint (ref runs during DOM construction); the\n\t\t// reveal effect can run after the first paint in Solid 2. See\n\t\t// popover-positioner. `transition: none` suppresses consumer position\n\t\t// transitions during mount — computePosition's getBoundingClientRect\n\t\t// forces a layout at `transform: none`, so the first transform write\n\t\t// would otherwise animate in from the document origin (also see\n\t\t// popover-positioner).\n\t\tif (el) {\n\t\t\tel.style.opacity = \"0\";\n\t\t\tel.style.transition = \"none\";\n\t\t}\n\t\tsetPositionerElement(el);\n\t\tfloating.refs.setFloating(el);\n\t};\n\n\t// Transform + reveal in ONE imperative write so the tooltip is never visible\n\t// at the stale (0,0) transform (the teleport). `opacity:0` until\n\t// `isPositioned`, matching Base UI's `useAnchorPositioning`. See\n\t// popover-positioner for the full rationale.\n\tcreateEffect(\n\t\t() => {\n\t\t\tif (!rootContext.mounted() && !keepMounted()) return null;\n\t\t\treturn {\n\t\t\t\ttransform: `translate(${Math.round(floating.x)}px, ${Math.round(floating.y)}px)`,\n\t\t\t\tpositioned:\n\t\t\t\t\trootContext.mounted() &&\n\t\t\t\t\t(floating.isPositioned || !rootContext.open()),\n\t\t\t\tstarting: rootContext.transitionStatus() === \"starting\",\n\t\t\t};\n\t\t},\n\t\t(data) => {\n\t\t\tif (!data || !positionerNode) return;\n\t\t\tpositionerNode.style.transform = data.transform;\n\t\t\tpositionerNode.style.opacity = data.positioned ? \"\" : \"0\";\n\t\t\t// Suppress consumer position transitions until the mount settles\n\t\t\t// (see the ref above); re-enable after \"starting\" so anchor tracking\n\t\t\t// still animates.\n\t\t\tpositionerNode.style.transition = data.starting ? \"none\" : \"\";\n\t\t},\n\t);\n\n\tconst positionerStyle = () => ({\n\t\tposition: \"absolute\" as const,\n\t\ttop: 0,\n\t\tleft: 0,\n\t\t\"min-width\": \"max-content\",\n\t});\n\n\tconst internal = {\n\t\tget style() {\n\t\t\treturn positionerStyle();\n\t\t},\n\t\tget \"data-open\"() {\n\t\t\treturn state().open ? \"\" : undefined;\n\t\t},\n\t\tget \"data-closed\"() {\n\t\t\treturn state().open ? undefined : \"\";\n\t\t},\n\t\tget \"data-side\"() {\n\t\t\treturn state().side;\n\t\t},\n\t\tget \"data-align\"() {\n\t\t\treturn state().align;\n\t\t},\n\t\tget \"data-anchor-hidden\"() {\n\t\t\treturn state().anchorHidden ? \"\" : undefined;\n\t\t},\n\t};\n\n\tconst userClassStyle = resolveClassStyle(props, () => state());\n\n\tconst userProps = omit(\n\t\tprops,\n\t\t\"as\",\n\t\t\"class\",\n\t\t\"style\",\n\t\t\"attrs\",\n\n\t\t\"side\",\n\t\t\"align\",\n\t\t\"sideOffset\",\n\t\t\"alignOffset\",\n\t\t\"collisionPadding\",\n\t\t\"keepMounted\",\n\t);\n\n\tlet merged: Record<string, unknown> = mergeRootProps(\n\t\tinternal,\n\t\tuserClassStyle,\n\t);\n\tmerged = mergeRootProps(merged, userProps);\n\n\tconst Tag = dynamic(() => props.as ?? \"div\");\n\treturn (\n\t\t<Show when={shouldRender()}>\n\t\t\t<FloatingPortal>\n\t\t\t\t<TooltipPositionerContext value={positionerContextValue}>\n\t\t\t\t\t<Tag {...merged} ref={composeRefs(positionerRef, userRef(props))} />\n\t\t\t\t</TooltipPositionerContext>\n\t\t\t</FloatingPortal>\n\t\t</Show>\n\t);\n}\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,MAAM,EAAEC,KAAK,QAAQ,kBAAkB;AAEtD,SAASC,OAAO,QAAQ,cAAc;AACtC,SAASC,YAAY,EAAEC,UAAU,EAAEC,YAAY,EAAEC,IAAI,EAAEC,IAAI,QAAQ,UAAU;AAC7E,SAASC,WAAW,EAAEC,OAAO,QAAQ,8BAA8B;AACnE,SAASC,cAAc,QAAQ,wDAAwD;AACvF,SAASC,WAAW,QAAQ,gDAAgD;AAC5E,SAASC,KAAK,QAAQ,8CAA8C;AAEpE,SAASC,cAAc,QAAQ,kCAAkC;AACjE,SAASC,iBAAiB,QAAQ,qCAAqC;AAEvE,SAECC,wBAAwB,QAGlB,+BAA+B;AACtC,SAASC,qBAAqB,QAAQ,yBAAyB;AAwB/D,SAASC,cAAcA,CAACC,SAAiB,EAGvC;EACD,MAAM,CAACC,OAAO,EAAEC,QAAQ,GAAG,QAAQ,CAAC,GAAGF,SAAS,CAACG,KAAK,CAAC,GAAG,CAGzD;EACD,MAAMC,IAAI,GAAIH,OAAO,IAAoB,KAAK;EAC9C,MAAMI,KAAmB,GACxBH,QAAQ,KAAK,OAAO,IAAIA,QAAQ,KAAK,KAAK,GAAGA,QAAQ,GAAG,QAAQ;EACjE,OAAO;IAAEE,IAAI;IAAEC;EAAM,CAAC;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,KAA6B,EAAe;EAC7E,MAAMC,WAAW,GAAGV,qBAAqB,CAAC,CAAC;EAE3C,MAAMM,IAAI,GAAGA,CAAA,KAAmBG,KAAK,CAACH,IAAI,IAAI,KAAK;EACnD,MAAMC,KAAK,GAAGA,CAAA,KAAoBE,KAAK,CAACF,KAAK,IAAI,QAAQ;EACzD,MAAMI,UAAU,GAAGA,CAAA,KAAcF,KAAK,CAACE,UAAU,IAAI,CAAC;EACtD,KAAKF,KAAK,CAACG,WAAW;EACtB,MAAMC,gBAAgB,GAAGA,CAAA,KAAcJ,KAAK,CAACI,gBAAgB,IAAI,CAAC;EAClE,MAAMC,WAAW,GAAGA,CAAA,KAAeL,KAAK,CAACK,WAAW,IAAI,KAAK;EAE7D,MAAMC,QAA2C,GAAG;IAAEC,OAAO,EAAE;EAAK,CAAC;EAErE,MAAM,GAAGC,oBAAoB,CAAC,GAAG5B,YAAY,CAAqB,IAAI,EAAE;IACvE6B,UAAU,EAAE;EACb,CAAC,CAAC;EAGF,MAAMC,YAAY,GAAGA,CAAA,KAAoB;IACxC,MAAMC,CAAC,GAAGd,IAAI,CAAC,CAAC;IAChB,IAAIc,CAAC,KAAK,cAAc,EAAE,OAAO,MAAM;IACvC,IAAIA,CAAC,KAAK,YAAY,EAAE,OAAO,OAAO;IACtC,OAAOA,CAAC;EACT,CAAC;EACD,MAAMlB,SAAS,GAAGd,UAAU,CAAC,MAAM;IAClC,MAAMgC,CAAC,GAAGD,YAAY,CAAC,CAAC;IACxB,MAAME,CAAC,GAAGd,KAAK,CAAC,CAAC;IACjB,IAAIc,CAAC,KAAK,QAAQ,EAAE,OAAOD,CAAC;IAC5B,OAAO,GAAGA,CAAC,IAAIC,CAAC,EAAE;EACnB,CAAC,CAAC;EAEF,MAAMC,QAAQ,GAAG3B,WAAW,CAAC;IAC5Be,WAAW,EAAEA,WAAW,CAACa,mBAAmB;IAC5C,IAAIrB,SAASA,CAAA,EAAG;MACf,OAAOA,SAAS,CAAC,CAAC;IACnB,CAAC;IACDsB,QAAQ,EAAE,UAAU;IACpB,IAAIC,UAAUA,CAAA,EAAG;MAChB,OAAO,CACNzC,MAAM,CAAC2B,UAAU,CAAC,CAAC,CAAC,EACpB5B,IAAI,CAAC,CAAC,EACNE,KAAK,CAAC;QAAEyC,OAAO,EAAEb,gBAAgB,CAAC;MAAE,CAAC,CAAC,EACtCjB,KAAK,CAAC;QAAE+B,OAAO,EAAEZ,QAAQ,CAACC,OAAO;QAAEY,YAAY,EAAE;MAAO,CAAC,CAAC,CAC1D;IACF;EACD,CAAC,CAAC;EAEF,MAAMC,MAAM,GAAGzC,UAAU,CAAC,MAAMa,cAAc,CAACqB,QAAQ,CAACpB,SAAS,CAAC,CAAC;EACnE,MAAM4B,YAAY,GAAGA,CAAA,KAAmBD,MAAM,CAAC,CAAC,CAACvB,IAAI;EACrD,MAAMyB,aAAa,GAAGA,CAAA,KAAoBF,MAAM,CAAC,CAAC,CAACtB,KAAK;EAExD,MAAMyB,eAAe,GAAG5C,UAAU,CAAU,MAAM;IACjD,MAAM6C,SAAS,GAAGX,QAAQ,CAACY,cAAc,CAACtC,KAE9B;IACZ,OAAOuC,OAAO,CAACF,SAAS,EAAEG,YAAY,CAAC;EACxC,CAAC,CAAC;EAEF,MAAMC,WAAW,GAAGjD,UAAU,CAC7B,MAAM;IACL,MAAM6C,SAAS,GAAGX,QAAQ,CAACY,cAAc,CAACtC,KAE9B;IACZ,MAAM0C,QAAQ,GAAGR,YAAY,CAAC,CAAC;IAC/B,MAAMS,QAA0C,GAAG;MAClDC,GAAG,EAAE,QAAQ;MACbC,MAAM,EAAE,KAAK;MACbC,IAAI,EAAE,OAAO;MACbC,KAAK,EAAE,MAAM;MACb,YAAY,EAAE,cAAc;MAC5B,cAAc,EAAE;IACjB,CAAC;IACD,MAAMC,MAAmD,GAAG;MAC3DC,QAAQ,EAAE;IACX,CAAC;IACD,IAAIZ,SAAS,EAAEa,CAAC,KAAKC,SAAS,EAAE;MAC/BH,MAAM,CAACF,IAAI,GAAG,GAAGT,SAAS,CAACa,CAAC,IAAI;IACjC;IACA,IAAIb,SAAS,EAAEe,CAAC,KAAKD,SAAS,EAAE;MAC/BH,MAAM,CAACJ,GAAG,GAAG,GAAGP,SAAS,CAACe,CAAC,IAAI;IAChC;IACA,MAAMC,YAAY,GAAGV,QAAQ,CAACD,QAAQ,CAAC,IAAI,QAAQ;IACnDM,MAAM,CAACK,YAAY,CAAC,GAAG,MAAM;IAC7B,OAAOL,MAAM;EACd,CACD,CAAC;EAED,MAAMM,YAAY,GAAG9D,UAAU,CAAU,MAAM;IAC9C,MAAM+D,QAAQ,GAAG7B,QAAQ,CAACY,cAAc,CAACkB,IAE7B;IACZ,OAAOjB,OAAO,CAACgB,QAAQ,EAAEE,eAAe,CAAC;EAC1C,CAAC,CAAC;EAEF,MAAMC,KAAK,GAAGlE,UAAU,CAAyB,OAAO;IACvDmE,IAAI,EAAE7C,WAAW,CAAC6C,IAAI,CAAC,CAAC;IACxBjD,IAAI,EAAEwB,YAAY,CAAC,CAAC;IACpBvB,KAAK,EAAEwB,aAAa,CAAC,CAAC;IACtBmB,YAAY,EAAEA,YAAY,CAAC;EAC5B,CAAC,CAAC,CAAC;EAEH,MAAMM,sBAAqD,GAAG;IAC7DlD,IAAI,EAAEwB,YAAY;IAClBvB,KAAK,EAAEwB,aAAa;IACpBhB,QAAQ;IACRiB,eAAe;IACfK,WAAW;IACXa;EACD,CAAC;EAED,MAAMO,YAAY,GAAGA,CAAA,KAAe/C,WAAW,CAACgD,OAAO,CAAC,CAAC,IAAI5C,WAAW,CAAC,CAAC;EAE1E,IAAI6C,cAAkC,GAAG,IAAI;EAC7C,MAAMC,aAAa,GAAIC,EAAyB,IAAK;IACpDF,cAAc,GAAGE,EAAE;IACnB;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAIA,EAAE,EAAE;MACPA,EAAE,CAACC,KAAK,CAACC,OAAO,GAAG,GAAG;MACtBF,EAAE,CAACC,KAAK,CAACE,UAAU,GAAG,MAAM;IAC7B;IACA/C,oBAAoB,CAAC4C,EAAE,CAAC;IACxBvC,QAAQ,CAAC2C,IAAI,CAACC,WAAW,CAACL,EAAE,CAAC;EAC9B,CAAC;;EAED;EACA;EACA;EACA;EACA1E,YAAY,CACX,MAAM;IACL,IAAI,CAACuB,WAAW,CAACgD,OAAO,CAAC,CAAC,IAAI,CAAC5C,WAAW,CAAC,CAAC,EAAE,OAAO,IAAI;IACzD,OAAO;MACNqD,SAAS,EAAE,aAAaC,IAAI,CAACC,KAAK,CAAC/C,QAAQ,CAACwB,CAAC,CAAC,OAAOsB,IAAI,CAACC,KAAK,CAAC/C,QAAQ,CAAC0B,CAAC,CAAC,KAAK;MAChFsB,UAAU,EACT5D,WAAW,CAACgD,OAAO,CAAC,CAAC,KACpBpC,QAAQ,CAACiD,YAAY,IAAI,CAAC7D,WAAW,CAAC6C,IAAI,CAAC,CAAC,CAAC;MAC/CiB,QAAQ,EAAE9D,WAAW,CAAC+D,gBAAgB,CAAC,CAAC,KAAK;IAC9C,CAAC;EACF,CAAC,EACAC,IAAI,IAAK;IACT,IAAI,CAACA,IAAI,IAAI,CAACf,cAAc,EAAE;IAC9BA,cAAc,CAACG,KAAK,CAACK,SAAS,GAAGO,IAAI,CAACP,SAAS;IAC/CR,cAAc,CAACG,KAAK,CAACC,OAAO,GAAGW,IAAI,CAACJ,UAAU,GAAG,EAAE,GAAG,GAAG;IACzD;IACA;IACA;IACAX,cAAc,CAACG,KAAK,CAACE,UAAU,GAAGU,IAAI,CAACF,QAAQ,GAAG,MAAM,GAAG,EAAE;EAC9D,CACD,CAAC;EAED,MAAMG,eAAe,GAAGA,CAAA,MAAO;IAC9B9B,QAAQ,EAAE,UAAmB;IAC7BL,GAAG,EAAE,CAAC;IACNE,IAAI,EAAE,CAAC;IACP,WAAW,EAAE;EACd,CAAC,CAAC;EAEF,MAAMkC,QAAQ,GAAG;IAChB,IAAId,KAAKA,CAAA,EAAG;MACX,OAAOa,eAAe,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,WAAWE,CAAA,EAAG;MACjB,OAAOvB,KAAK,CAAC,CAAC,CAACC,IAAI,GAAG,EAAE,GAAGR,SAAS;IACrC,CAAC;IACD,IAAI,aAAa+B,CAAA,EAAG;MACnB,OAAOxB,KAAK,CAAC,CAAC,CAACC,IAAI,GAAGR,SAAS,GAAG,EAAE;IACrC,CAAC;IACD,IAAI,WAAWgC,CAAA,EAAG;MACjB,OAAOzB,KAAK,CAAC,CAAC,CAAChD,IAAI;IACpB,CAAC;IACD,IAAI,YAAY0E,CAAA,EAAG;MAClB,OAAO1B,KAAK,CAAC,CAAC,CAAC/C,KAAK;IACrB,CAAC;IACD,IAAI,oBAAoB0E,CAAA,EAAG;MAC1B,OAAO3B,KAAK,CAAC,CAAC,CAACJ,YAAY,GAAG,EAAE,GAAGH,SAAS;IAC7C;EACD,CAAC;EAED,MAAMmC,cAAc,GAAGpF,iBAAiB,CAACW,KAAK,EAAE,MAAM6C,KAAK,CAAC,CAAC,CAAC;EAE9D,MAAM6B,SAAS,GAAG7F,IAAI,CACrBmB,KAAK,EACL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,OAAO,EAEP,MAAM,EACN,OAAO,EACP,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,aACD,CAAC;EAED,IAAI2E,MAA+B,GAAGvF,cAAc,CACnD+E,QAAQ,EACRM,cACD,CAAC;EACDE,MAAM,GAAGvF,cAAc,CAACuF,MAAM,EAAED,SAAS,CAAC;EAE1C,MAAME,GAAG,GAAGnG,OAAO,CAAC,MAAMuB,KAAK,CAAC6E,EAAE,IAAI,KAAK,CAAC;EAC5C,OACC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC7B,YAAY,CAAC,CAAC,CAAC;AAC7B,GAAG,CAAC,cAAc;AAClB,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAACD,sBAAsB,CAAC;AAC5D,KAAK,CAAC,GAAG,CAAC,IAAI4B,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC5F,WAAW,CAACoE,aAAa,EAAEnE,OAAO,CAACgB,KAAK,CAAC,CAAC,CAAC;AACtE,IAAI,EAAE,wBAAwB;AAC9B,GAAG,EAAE,cAAc;AACnB,EAAE,EAAE,IAAI,CAAC;AAET","ignoreList":[]}