{"version":3,"file":"CarouselNav.qM3DHd0m.mjs","names":["mask","Base","MotionSVG","SVG","svg","getProps","Icon","React.forwardRef","getProps","React.forwardRef","React.useContext","React.useMemo","React.Fragment","React.forwardRef","useRef","React.useId","Image1","useRef","__esmMin","init_npm_react_18_3_1","x","oe","pe","ie","window","ce","J","c","p","de","init_ssg_sandbox_shims","motion","LayoutGroup","MotionConfigContext","init_framer_motion_DhsWWWsN","withCSS","cx","getLoadingLazyAtYPosition","useSVGTemplate","addFonts","RichText","addPropertyControls","Image$1","init_framer_BL70qLPA","useLocaleInfo","ControlType","useComponentViewport","useVariantState","mask$1","Base$1","MotionSVG$1","SVG$1","svg$1","getProps$2","Icon$1","init_S9MoGdgHH","init_jsx_runtime","props","rest","animated","color","width1","alpha","restProps","href","className","qxTvv_EBh","ezTt3ayMo","lschgej4H","style","mask","Base","MotionSVG","SVG","svg","getProps$1","Icon","init_KmHNOtSBz","addPropertyOverrides","variants","nextOverrides","variant","overrides","cycleOrder","serializationHash","variantClassNames","transition1","toResponsiveImage","Transition","humanReadableVariantMap","Variants","getProps","createLayoutDependency","FramereMHA1i0kG","init_eMHA1i0kG","value","config","transition","contextValue","organizationName","image","review","fallbackRef","refBinding","ref","defaultLayoutId","componentViewport","layoutDependency","scopingClassNames","isDisplayed","baseVariant","isDisplayed1","layoutId","gestureHandlers","classNames","gestureVariant","qaxtrAcOV","HU862qnnR","zavpn72aZ","withCarouselTrack","localRef","isScrolling","track","styleId","TRACK_CLASS","removeClones","CLONE_CLASS","clone","originalCards","element","child","cardCount","createCloneSet","fragment","card","getAllCards","firstOriginal","getCurrentIndex","currentTrack","cards","closestIndex","closestDistance","distance","index","scrollToCard","target","normalizePosition","currentIndex","originalCard","oldBehavior","handleNext","nextIndex","handlePrev","cloneStartIndex","cloneStart","previousIndex","normalizeTimeout","handleScroll","Component","node","init_Carousal_for_XL","withCarouselPrev","handleClick","event","withCarouselNext","init_CarouselNav"],"sources":["https:/framerusercontent.com/modules/gPdSdZg1B6dNXfiAroOl/hmMcvABMALgaqYRs09cP/S9MoGdgHH.js","https:/framerusercontent.com/modules/pAlGjrJ9K21ZZnox9gT0/M1laAKyPaSPsj5qah93R/KmHNOtSBz.js","https:/framerusercontent.com/modules/KpXxUwIO3KjSilsr6Bwt/SUkNo5Hqvv3weTv0GP1m/eMHA1i0kG.js","https:/framerusercontent.com/modules/rzhzWs2wZZhAYC93cF9b/ZLzJ7HDFE9wqHyZnfETv/Carousal_for_XL.js","https:/framerusercontent.com/modules/GrdTqOpifuFY40ngRXoq/Dd84NFe8PzVThv7gsSgw/CarouselNav.js"],"sourcesContent":["// Generated by Framer (fb30b49)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const qxTvv_EBh=undefined;const ezTt3ayMo=undefined;const lschgej4H=undefined;const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 7.5 15 L 0 7.5 L 7.5 0 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"15px\" id=\"mhLOETJhO\" transform=\"translate(7.5 4.5)\" width=\"7.5px\"/><path d=\"M 7.5 15 L 0 7.5 L 7.5 0\" fill=\"transparent\" height=\"15px\" id=\"IuLhDW_8t\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(7.5 4.5)\" width=\"7.5px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"1587731742\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-vZRSG\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-vZRSG { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Caret Left\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-vZRSG\");Icon.displayName=\"Caret Left\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerDisableUnlink\":\"true\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"24\",\"framerVector\":\"{\\\"name\\\":\\\"Caret Left\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (fb30b49)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const qxTvv_EBh=undefined;const ezTt3ayMo=undefined;const lschgej4H=undefined;const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 0 L 7.5 7.5 L 0 15 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"15px\" id=\"G7JipcseD\" transform=\"translate(9 4.5)\" width=\"7.5px\"/><path d=\"M 0 0 L 7.5 7.5 L 0 15\" fill=\"transparent\" height=\"15px\" id=\"qoOYEIyEO\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(9 4.5)\" width=\"7.5px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"3166100823\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-eivmu\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-eivmu { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Caret Right\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-eivmu\");Icon.displayName=\"Caret Right\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"Caret Right\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerDisableUnlink\":\"true\",\"framerIntrinsicWidth\":\"24\",\"framerIntrinsicHeight\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (5733d86)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getLoadingLazyAtYPosition,Image as Image1,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"GN7sqyZW_\",\"B66azJqcn\",\"M6bxP1ACp\",\"Vo_4MpY2H\"];const serializationHash=\"framer-NIErA\";const variantClassNames={B66azJqcn:\"framer-v-1ralv2w\",GN7sqyZW_:\"framer-v-4wwl43\",M6bxP1ACp:\"framer-v-pkqats\",Vo_4MpY2H:\"framer-v-172tfyh\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const qaxtrAcOV=undefined;const HU862qnnR=undefined;const zavpn72aZ=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const toResponsiveImage=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value;}return typeof value===\"string\"?{src:value}:undefined;};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"Variant 1\":\"GN7sqyZW_\",\"Variant 2\":\"B66azJqcn\",\"Variant 3\":\"M6bxP1ACp\",mobile:\"Vo_4MpY2H\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,image,organizationName,review,width,...props})=>{return{...props,HU862qnnR:organizationName??props.HU862qnnR??\"Kotak\",qaxtrAcOV:image??props.qaxtrAcOV,variant:humanReadableVariantMap[props.variant]??props.variant??\"GN7sqyZW_\",zavpn72aZ:review??props.zavpn72aZ??\"Elevated UX/UI design for the 15+ banking and financial apps for KMB, one of India's leading private banks.\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,contentLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,HU862qnnR,zavpn72aZ,qaxtrAcOV,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"GN7sqyZW_\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"B66azJqcn\",\"M6bxP1ACp\",\"Vo_4MpY2H\"].includes(baseVariant))return true;return false;};const isDisplayed1=()=>{if([\"B66azJqcn\",\"M6bxP1ACp\",\"Vo_4MpY2H\"].includes(baseVariant))return false;return true;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-4wwl43\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"GN7sqyZW_\",ref:refBinding,style:{...style},...addPropertyOverrides({B66azJqcn:{\"data-framer-name\":\"Variant 2\"},M6bxP1ACp:{\"data-framer-name\":\"Variant 3\"},Vo_4MpY2H:{\"data-framer-name\":\"mobile\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1ytifg0\",layoutDependency:layoutDependency,layoutId:\"iyWW7nEBX\",children:[isDisplayed()&&/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fit\",...toResponsiveImage(qaxtrAcOV),...{positionX:\"center\",positionY:\"center\"}},className:\"framer-ym6lzl\",layoutDependency:layoutDependency,layoutId:\"JQ9Z0OwSx\",...addPropertyOverrides({B66azJqcn:{background:{alt:\"\",fit:\"fit\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+((componentViewport?.height||200)-210)/2+65.5),sizes:\"157px\",...toResponsiveImage(qaxtrAcOV),...{positionX:\"center\",positionY:\"center\"}}},M6bxP1ACp:{background:{alt:\"\",fit:\"fit\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+43),sizes:\"174px\",...toResponsiveImage(qaxtrAcOV),...{positionX:\"center\",positionY:\"center\"}}},Vo_4MpY2H:{background:{alt:\"\",fit:\"fit\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+((componentViewport?.height||200)-210)/2+73),sizes:\"127px\",...toResponsiveImage(qaxtrAcOV),...{positionX:\"center\",positionY:\"center\"}}}},baseVariant,gestureVariant)}),isDisplayed1()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-font-size\":\"32px\",\"--framer-line-height\":\"130%\"},children:/*#__PURE__*/_jsx(motion.span,{style:{\"--font-selector\":\"R0Y7SW50ZXIgVGlnaHQtNjAw\",\"--framer-font-family\":'\"Inter Tight\"',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-text-color\":\"var(--extracted-1w3ko1f, rgba(34, 34, 34, 1))\"},children:\"Kotak\"})})}),className:\"framer-1yt332l\",\"data-framer-name\":\"Kotak\",fonts:[\"GF;Inter Tight-600\"],layoutDependency:layoutDependency,layoutId:\"WXKk_Rbov\",style:{\"--extracted-1w3ko1f\":\"rgba(34, 34, 34, 1)\",\"--framer-paragraph-spacing\":\"0px\"},text:HU862qnnR,verticalAlignment:\"center\",withExternalLayout:true}),isDisplayed1()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-font-size\":\"18px\",\"--framer-line-height\":\"26px\"},children:/*#__PURE__*/_jsx(motion.span,{style:{\"--font-selector\":\"R0Y7SW50ZXIgVGlnaHQtcmVndWxhcg==\",\"--framer-font-family\":'\"Inter Tight\"',\"--framer-font-size\":\"18px\",\"--framer-text-color\":\"var(--extracted-1w3ko1f, rgba(136, 136, 136, 1))\"},children:\"Elevated UX/UI design for the 15+ banking and financial apps for KMB, one of India's leading private banks.\"})})}),className:\"framer-qdvysi\",\"data-framer-name\":\"Elevated UX/UI design for the 15+ banking and financial apps for KMB, one of India's leading private banks.\",fonts:[\"GF;Inter Tight-regular\"],layoutDependency:layoutDependency,layoutId:\"iWuy7ICix\",style:{\"--extracted-1w3ko1f\":\"rgba(136, 136, 136, 1)\",\"--framer-paragraph-spacing\":\"0px\"},text:zavpn72aZ,verticalAlignment:\"center\",withExternalLayout:true})]})})})})});});const css=[\".framer-NIErA.framer-1xk2dy6, .framer-NIErA .framer-1xk2dy6 { display: block; }\",\".framer-NIErA.framer-4wwl43 { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 19px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 294px; }\",\".framer-NIErA .framer-1ytifg0 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-NIErA .framer-ym6lzl { flex: 1 0 0px; height: 1px; position: relative; width: 100%; }\",\".framer-NIErA .framer-1yt332l, .framer-NIErA .framer-qdvysi { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-NIErA.framer-v-1ralv2w.framer-4wwl43, .framer-NIErA.framer-v-172tfyh.framer-4wwl43 { justify-content: center; }\",\".framer-NIErA.framer-v-1ralv2w .framer-1ytifg0, .framer-NIErA.framer-v-pkqats .framer-1ytifg0, .framer-NIErA.framer-v-172tfyh .framer-1ytifg0 { height: 210px; justify-content: center; }\",\".framer-NIErA.framer-v-1ralv2w .framer-ym6lzl { flex: none; height: 79px; order: 0; width: 157px; }\",\".framer-NIErA.framer-v-pkqats .framer-ym6lzl { flex: none; height: 124px; order: 0; width: 174px; }\",\".framer-NIErA.framer-v-172tfyh .framer-ym6lzl { flex: none; height: 64px; order: 0; width: 127px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 200\n * @framerIntrinsicWidth 294\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"B66azJqcn\":{\"layout\":[\"fixed\",\"auto\"]},\"M6bxP1ACp\":{\"layout\":[\"fixed\",\"auto\"]},\"Vo_4MpY2H\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"HU862qnnR\":\"organizationName\",\"zavpn72aZ\":\"review\",\"qaxtrAcOV\":\"image\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramereMHA1i0kG=withCSS(Component,css,\"framer-NIErA\");export default FramereMHA1i0kG;FramereMHA1i0kG.displayName=\"notable-clientes-box\";FramereMHA1i0kG.defaultProps={height:200,width:294};addPropertyControls(FramereMHA1i0kG,{variant:{options:[\"GN7sqyZW_\",\"B66azJqcn\",\"M6bxP1ACp\",\"Vo_4MpY2H\"],optionTitles:[\"Variant 1\",\"Variant 2\",\"Variant 3\",\"mobile\"],title:\"Variant\",type:ControlType.Enum},HU862qnnR:{defaultValue:\"Kotak\",displayTextArea:false,title:\"organization name\",type:ControlType.String},onHU862qnnRChange:{changes:\"HU862qnnR\",type:ControlType.ChangeHandler},zavpn72aZ:{defaultValue:\"Elevated UX/UI design for the 15+ banking and financial apps for KMB, one of India's leading private banks.\",displayTextArea:true,title:\"review\",type:ControlType.String},onzavpn72aZChange:{changes:\"zavpn72aZ\",type:ControlType.ChangeHandler},qaxtrAcOV:{title:\"Image\",type:ControlType.ResponsiveImage}});addFonts(FramereMHA1i0kG,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter Tight\",source:\"google\",style:\"normal\",uiFamilyName:\"Inter Tight\",url:\"https://fonts.gstatic.com/s/intertight/v9/NGSnv5HMAFg6IuGlBNMjxJEL2VmU3NS7Z2mj0QiqWSRToK8EPg.woff2\",weight:\"600\"},{cssFamilyName:\"Inter Tight\",source:\"google\",style:\"normal\",uiFamilyName:\"Inter Tight\",url:\"https://fonts.gstatic.com/s/intertight/v9/NGSnv5HMAFg6IuGlBNMjxJEL2VmU3NS7Z2mjDw-qWSRToK8EPg.woff2\",weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramereMHA1i0kG\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"294\",\"framerIntrinsicHeight\":\"200\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"B66azJqcn\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"M6bxP1ACp\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"Vo_4MpY2H\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"HU862qnnR\\\":\\\"organizationName\\\",\\\"zavpn72aZ\\\":\\\"review\\\",\\\"qaxtrAcOV\\\":\\\"image\\\"}\",\"framerDisplayContentsDiv\":\"false\",\"framerAutoSizeImages\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./eMHA1i0kG.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,useEffect,useRef}from\"react\";const TRACK_CLASS=\"framer-carousel-track\";const CLONE_CLASS=\"framer-infinite-clone\";export function withCarouselTrack(Component,scrollStep){return /*#__PURE__*/forwardRef((props,ref)=>{const localRef=useRef(null);const isScrolling=useRef(false);useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\"){return;}const track=localRef.current;if(!track){return;}// ---------------------------------------------\n// Hide scrollbar\n// ---------------------------------------------\nconst styleId=\"framer-carousel-track-scrollbar-style\";if(!document.getElementById(styleId)){const style=document.createElement(\"style\");style.id=styleId;style.textContent=`\n                    .${TRACK_CLASS} {\n                        scrollbar-width: none;\n                        -ms-overflow-style: none;\n                    }\n\n                    .${TRACK_CLASS}::-webkit-scrollbar {\n                        display: none;\n                        width: 0;\n                        height: 0;\n                    }\n                `;document.head.appendChild(style);}// ---------------------------------------------\n// Remove old clones\n// ---------------------------------------------\nconst removeClones=()=>{track.querySelectorAll(`.${CLONE_CLASS}`).forEach(clone=>clone.remove());};removeClones();// ---------------------------------------------\n// Original cards\n// ---------------------------------------------\nconst getOriginalCards=()=>{return Array.from(track.children).filter(child=>{const element=child;return!element.classList.contains(CLONE_CLASS)&&element.offsetWidth>0&&element.offsetHeight>0;});};const originalCards=getOriginalCards();if(originalCards.length<=1){return;}const cardCount=originalCards.length;// ---------------------------------------------\n// Create clones AFTER originals\n// ---------------------------------------------\nconst createCloneSet=()=>{const fragment=document.createDocumentFragment();originalCards.forEach(card=>{const clone=card.cloneNode(true);clone.classList.add(CLONE_CLASS);clone.setAttribute(\"data-infinite-clone\",\"true\");fragment.appendChild(clone);});track.appendChild(fragment);};// Two clone sets\ncreateCloneSet();createCloneSet();// ---------------------------------------------\n// Get ALL cards\n// ---------------------------------------------\nconst getAllCards=()=>{return Array.from(track.children).filter(child=>{const element=child;return element.offsetWidth>0&&element.offsetHeight>0;});};const allCards=getAllCards();// ---------------------------------------------\n// Start exactly at ORIGINAL card 1\n// ---------------------------------------------\nconst firstOriginal=allCards[0];if(!firstOriginal){return;}track.style.scrollBehavior=\"auto\";track.scrollLeft=firstOriginal.offsetLeft;requestAnimationFrame(()=>{if(!localRef.current){return;}localRef.current.style.scrollBehavior=props.style?.scrollBehavior??\"\";});// ---------------------------------------------\n// Find current card\n//\n// We compare against actual offsetLeft.\n// ---------------------------------------------\nconst getCurrentIndex=()=>{const currentTrack=localRef.current;if(!currentTrack){return 0;}const cards=getAllCards();let closestIndex=0;let closestDistance=Infinity;cards.forEach((card,index)=>{const distance=Math.abs(card.offsetLeft-currentTrack.scrollLeft);if(distance<closestDistance){closestDistance=distance;closestIndex=index;}});return closestIndex;};// ---------------------------------------------\n// Move to EXACT card\n// ---------------------------------------------\nconst scrollToCard=index=>{const currentTrack=localRef.current;if(!currentTrack){return;}const cards=getAllCards();if(!cards[index]){return;}const target=cards[index].offsetLeft;currentTrack.style.scrollSnapType=\"none\";isScrolling.current=true;currentTrack.scrollTo({left:target,behavior:\"smooth\"});window.setTimeout(()=>{if(!localRef.current){return;}normalizePosition();isScrolling.current=false;},700);};// ---------------------------------------------\n// IMPORTANT:\n//\n// If we are in clone set, move to the\n// equivalent ORIGINAL card.\n//\n// This is done only after the smooth movement\n// finishes, so the user never sees the reset.\n// ---------------------------------------------\nconst normalizePosition=()=>{const currentTrack=localRef.current;if(!currentTrack){return;}const cards=getAllCards();const currentIndex=getCurrentIndex();// -----------------------------------------\n// Right clone set\n// -----------------------------------------\nif(currentIndex>=cardCount){const originalIndex=currentIndex%cardCount;const originalCard=cards[originalIndex];if(originalCard){const oldBehavior=currentTrack.style.scrollBehavior;currentTrack.style.scrollBehavior=\"auto\";currentTrack.scrollLeft=originalCard.offsetLeft;currentTrack.style.scrollBehavior=oldBehavior;}}// -----------------------------------------\n// Safety for left side\n// -----------------------------------------\nif(currentIndex<0){const originalIndex=(currentIndex%cardCount+cardCount)%cardCount;const originalCard=cards[originalIndex];if(originalCard){currentTrack.scrollLeft=originalCard.offsetLeft;}}};// ---------------------------------------------\n// NEXT\n// ---------------------------------------------\nconst handleNext=()=>{if(isScrolling.current){return;}const cards=getAllCards();const currentIndex=getCurrentIndex();const nextIndex=currentIndex+1;if(!cards[nextIndex]){return;}scrollToCard(nextIndex);};// ---------------------------------------------\n// PREVIOUS\n// ---------------------------------------------\nconst handlePrev=()=>{if(isScrolling.current){return;}const cards=getAllCards();const currentIndex=getCurrentIndex();// -----------------------------------------\n// If we're at ORIGINAL card 1,\n// jump silently to CLONE card 1 first.\n// -----------------------------------------\nif(currentIndex===0){const cloneStartIndex=cardCount;const cloneStart=cards[cloneStartIndex];if(cloneStart){const oldBehavior=track.style.scrollBehavior;track.style.scrollBehavior=\"auto\";track.scrollLeft=cloneStart.offsetLeft;track.style.scrollBehavior=oldBehavior;}// Now go one card backward.\nscrollToCard(cloneStartIndex-1);return;}const previousIndex=currentIndex-1;if(previousIndex>=0){scrollToCard(previousIndex);}};// ---------------------------------------------\n// Manual scrolling\n// ---------------------------------------------\nlet normalizeTimeout;const handleScroll=()=>{window.clearTimeout(normalizeTimeout);normalizeTimeout=window.setTimeout(()=>{if(!isScrolling.current){normalizePosition();}},150);};// ---------------------------------------------\n// Events\n// ---------------------------------------------\nwindow.addEventListener(\"carousel-prev\",handlePrev);window.addEventListener(\"carousel-next\",handleNext);track.addEventListener(\"scroll\",handleScroll,{passive:true});// ---------------------------------------------\n// Cleanup\n// ---------------------------------------------\nreturn()=>{window.removeEventListener(\"carousel-prev\",handlePrev);window.removeEventListener(\"carousel-next\",handleNext);track.removeEventListener(\"scroll\",handleScroll);window.clearTimeout(normalizeTimeout);removeClones();};},[]);return /*#__PURE__*/_jsx(Component,{...props,ref:node=>{localRef.current=node;if(typeof ref===\"function\"){ref(node);}else if(ref){ref.current=node;}},className:`${props.className??\"\"} ${TRACK_CLASS}`.trim(),style:{...props.style,overflowX:\"auto\",overflowY:\"hidden\",WebkitOverflowScrolling:\"touch\"}});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withCarouselTrack\":{\"type\":\"reactHoc\",\"name\":\"withCarouselTrack\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Carousal_for_XL.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,useRef,useEffect}from\"react\";/**\n * Code Override — apply to the \"View more button_mobile\" layer on /work-page (mobile).\n *\n * What it does:\n * - Grabs the page's scroll position on pointerdown, in the capture phase,\n *   so it runs before Framer's own canvas tap action flips the \"Show All\"\n *   variable and before the button unmounts/hides.\n * - Watches document.body height with a ResizeObserver while the new CMS\n *   cards mount and the page grows taller.\n * - On every height change, reasserts the saved scroll position over the\n *   next couple of animation frames (instant scrollTo, not smooth) so the\n *   browser's own scroll-anchoring / focus jump never gets a chance to move\n *   the viewport toward the new content.\n * - Stops watching once the height has been stable for a few ticks, or after\n *   a fixed safety cap, so nothing runs indefinitely.\n *\n * It does not touch the existing action, CMS lists, or styling — it only\n * wraps the layer in a zero-footprint <div style={{ display: \"contents\" }}>\n * to get a stable DOM anchor for the listener.\n */export function withScrollPositionPreserved(Component){return props=>{const wrapperRef=useRef(null);useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\"){return;}let savedScrollY=null;let resizeObserver=null;let rafId=null;let lastHeight=0;let stableTicks=0;let totalTicks=0;const MAX_TICKS=40// safety cap — a few seconds of resize activity at most\n;const STABLE_TICKS_TO_STOP=3;const restoreScroll=()=>{if(savedScrollY===null)return;window.scrollTo(0,savedScrollY);};const stopWatching=()=>{if(resizeObserver){resizeObserver.disconnect();resizeObserver=null;}if(rafId!==null){cancelAnimationFrame(rafId);rafId=null;}savedScrollY=null;};const handleBodyResize=()=>{if(savedScrollY===null)return;totalTicks++;const currentHeight=document.documentElement.scrollHeight;const heightChanged=currentHeight!==lastHeight;lastHeight=currentHeight;if(rafId!==null)cancelAnimationFrame(rafId);rafId=requestAnimationFrame(()=>{restoreScroll();rafId=requestAnimationFrame(restoreScroll);});stableTicks=heightChanged?0:stableTicks+1;if(stableTicks>=STABLE_TICKS_TO_STOP||totalTicks>=MAX_TICKS){stopWatching();}};const handlePointerDownCapture=event=>{const wrapperNode=wrapperRef.current;if(!wrapperNode)return;if(!(event.target instanceof Node))return;if(!wrapperNode.contains(event.target))return;// Runs before the canvas tap action flips the page variable,\n// so the page is still at its original (short) height here.\nsavedScrollY=window.scrollY;lastHeight=document.documentElement.scrollHeight;stableTicks=0;totalTicks=0;if(resizeObserver)resizeObserver.disconnect();resizeObserver=new ResizeObserver(handleBodyResize);resizeObserver.observe(document.body);// Reassert immediately too, in case the jump happens\n// synchronously before any resize event is observed.\nrestoreScroll();if(rafId!==null)cancelAnimationFrame(rafId);rafId=requestAnimationFrame(restoreScroll);};// Attached to `document`, not the wrapper node, on purpose: the\n// button (and this override) can unmount the instant the tap\n// fires, before the new CMS cards finish rendering. Listening at\n// the document level and filtering by `contains()` means the\n// watch logic keeps running even after this component is gone.\ndocument.addEventListener(\"pointerdown\",handlePointerDownCapture,{capture:true});return()=>{document.removeEventListener(\"pointerdown\",handlePointerDownCapture,{capture:true});// The ResizeObserver / rAF loop is deliberately left running\n// here — it self-terminates via stopWatching() within a\n// bounded number of ticks regardless of this unmount.\n};},[]);return /*#__PURE__*/_jsx(\"div\",{ref:wrapperRef,style:{display:\"contents\"},children:/*#__PURE__*/_jsx(Component,{...props})});};}export function withCarouselPrev(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const handleClick=event=>{if(typeof props.onClick===\"function\"){props.onClick(event);}if(typeof window!==\"undefined\"){window.dispatchEvent(new CustomEvent(\"carousel-prev\"));}};return /*#__PURE__*/_jsx(Component,{ref:ref,...props,onClick:handleClick,style:{...props.style,cursor:\"pointer\"}});});}export function withCarouselNext(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const handleClick=event=>{if(typeof props.onClick===\"function\"){props.onClick(event);}if(typeof window!==\"undefined\"){window.dispatchEvent(new CustomEvent(\"carousel-next\"));}};return /*#__PURE__*/_jsx(Component,{ref:ref,...props,onClick:handleClick,style:{...props.style,cursor:\"pointer\"}});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withScrollPositionPreserved\":{\"type\":\"reactHoc\",\"name\":\"withScrollPositionPreserved\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withCarouselPrev\":{\"type\":\"reactHoc\",\"name\":\"withCarouselPrev\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withCarouselNext\":{\"type\":\"reactHoc\",\"name\":\"withCarouselNext\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CarouselNav.map"],"mappings":"A,ibAC8QA,EAAK,0BAAgCC,EAAkB,gBAAW,SAAS,EAAM,EAAI,CAAC,MAAoB,gBAAK,MAAM,CAAC,GAAGwD,EAAU,MAAI,SAASA,EAAM,QAAQ,CAAC,CAAE,CAAC,EAAQvD,EAAU6B,EAAO,OAAO9B,CAAI,EAAQE,EAAiB,iBAAY,EAAM,IAAM,CAAC,GAAK,CAAC,WAAS,WAAS,WAAS,GAAGuD,GAAMD,EAAM,OAAOE,EAAsB,gBAAKzD,EAAU,CAAC,GAAGwD,EAAc,WAAa,MAAa,UAAQ,CAAC,EAAe,gBAAK,MAAM,CAAC,GAAGA,EAAS,MAAa,UAAQ,CAAC,CAAE,CAAC,EAAQtD,EAAI,wiBAA8iBC,GAAU,CAAC,QAAM,QAAM,SAAO,KAAG,QAAM,SAAO,GAAGoD,MAAgB,CAAC,GAAGA,EAAM,UAAUG,GAAOH,EAAM,WAAW,eAAe,UAAUI,GAAQJ,EAAM,WAAW,IAAI,UAAUK,GAAOL,EAAM,SAAS,GAU38CnD,EAAK6B,EAVu+C5B,kBAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,QAAM,YAAU,WAAS,UAAQ,YAAU,YAAU,YAAU,GAAGwD,GAAW1D,EAASoD,CAAK,EAAQO,EAAK1B,EAAe,aAAalC,CAAG,EAAE,MAAoB,gBAAKD,EAAI,CAAC,GAAG4D,EAAU,UAAU3B,EAAG,eAAe6B,CAAS,EAAW,WAAa,MAAI,KAAK,eAAe,MAAM,CAAC,YAAYC,EAAU,WAAWC,EAAU,WAAWC,EAAU,GAAGC,CAAK,EAAE,QAAQ,YAAY,SAAsB,gBAAK,MAAM,CAAM,MAAI,CAAC,CAAC,CAAC,CAAE,CAUh6D,EAAE,CAV46D,iCAAiCrE,EAAK,2CAA2CA,EAAK,iBAUhgE,EAAE,cAAc,EAAE,EAAK,YAAY,aAAiCyC,EAAoBnC,EAAK,CAAC,UAAU,CAAC,aAAa,eAAe,OAAO,GAAM,MAAM,QAAQ,KAAKuC,EAAY,KAAK,EAAE,UAAU,CAAC,aAAa,IAAI,eAAe,GAAK,OAAO,GAAM,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,QAAQ,KAAKA,EAAY,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE,eAAe,GAAK,OAAO,GAAM,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,QAAQ,KAAKA,EAAY,MAAM,CAAC,CAAC,C,mECV1L,EAAK,0BAAgC,EAAkB,gBAAW,SAAS,EAAM,EAAI,CAAC,MAAoB,gBAAK,MAAM,CAAC,GAAGY,EAAU,MAAI,SAASA,EAAM,QAAQ,CAAC,CAAE,CAAC,EAAQ,EAAU1B,EAAO,OAAOwC,CAAI,EAAQ,EAAiB,iBAAY,EAAM,IAAM,CAAC,GAAK,CAAC,WAAS,WAAS,WAAS,GAAGb,GAAMD,EAAM,OAAOE,EAAsB,gBAAKa,EAAU,CAAC,GAAGd,EAAc,WAAa,MAAa,UAAQ,CAAC,EAAe,gBAAK,MAAM,CAAC,GAAGA,EAAS,MAAa,UAAQ,CAAC,CAAE,CAAC,EAAQ,EAAI,giBAAsiBlD,GAAU,CAAC,QAAM,QAAM,SAAO,KAAG,QAAM,SAAO,GAAGiD,MAAgB,CAAC,GAAGA,EAAM,UAAUG,GAAOH,EAAM,WAAW,eAAe,UAAUI,GAAQJ,EAAM,WAAW,IAAI,UAAUK,GAAOL,EAAM,SAAS,GAUn8C,EAAKtB,EAV+9C1B,kBAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,QAAM,YAAU,WAAS,UAAQ,YAAU,YAAU,YAAU,GAAGsD,GAAWvD,EAASiD,CAAK,EAAQO,EAAK1B,EAAe,aAAaoC,CAAG,EAAE,MAAoB,gBAAKD,EAAI,CAAC,GAAGV,EAAU,UAAU3B,EAAG,eAAe6B,CAAS,EAAW,WAAa,MAAI,KAAK,eAAe,MAAM,CAAC,YAAYC,EAAU,WAAWC,EAAU,WAAWC,EAAU,GAAGC,CAAK,EAAE,QAAQ,YAAY,SAAsB,gBAAK,MAAM,CAAM,MAAI,CAAC,CAAC,CAAC,CAAE,CAUx5D,EAAE,CAVo6D,iCAAiCC,EAAK,2CAA2CA,EAAK,iBAUx/D,EAAE,cAAc,EAAE,EAAK,YAAY,cAAkC7B,EAAoBmC,EAAK,CAAC,UAAU,CAAC,aAAa,eAAe,OAAO,GAAM,MAAM,QAAQ,KAAK/B,EAAY,KAAK,EAAE,UAAU,CAAC,aAAa,IAAI,eAAe,GAAK,OAAO,GAAM,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,QAAQ,KAAKA,EAAY,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE,eAAe,GAAK,OAAO,GAAM,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,QAAQ,KAAKA,EAAY,MAAM,CAAC,CAAC,C,OCV4I,SAASiC,EAAqB,EAAU,GAAGC,EAAS,CAAC,IAAMC,EAAc,CAAC,EAAuF,OAArFD,GAAU,QAAQ,GAASE,GAAS,OAAO,OAAOD,EAAcE,EAAUD,EAAQ,CAAC,EAASD,CAAc,C,2EAAta,EAAW,CAAC,YAAY,YAAY,YAAY,WAAW,EAAQ,EAAkB,eAAqB,EAAkB,CAAC,UAAU,mBAAmB,UAAU,kBAAkB,UAAU,kBAAkB,UAAU,kBAAkB,EAA6Q,EAAY,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,QAAQ,EAAQ,EAAkB,GAAW,OAAOe,GAAQ,UAAUA,GAAc,OAAOA,EAAM,KAAM,SAAiBA,EAAc,OAAOA,GAAQ,SAAS,CAAC,IAAIA,CAAK,EAAE,IAAA,GAAkB,GAAY,CAAC,QAAM,cAAY,CAAC,IAAMC,EAAOtF,EAAiBuB,CAAmB,EAAQgE,EAAWF,GAAOC,EAAO,WAAiBE,EAAavF,OAAmB,CAAC,GAAGqF,EAAO,YAAU,GAAG,CAAC,KAAK,UAAUC,CAAU,CAAC,CAAC,EAAE,MAAoB,gBAAKhE,EAAoB,SAAS,CAAC,MAAMiE,EAAsB,UAAQ,CAAC,CAAE,EAAQ,EAAwB,CAAC,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,OAAO,WAAW,EAAQ,EAASnE,EAAO,OAAOnB,CAAc,EAAQ,GAAU,CAAC,SAAO,KAAG,QAAM,mBAAiB,SAAO,QAAM,GAAG6C,MAAgB,CAAC,GAAGA,EAAM,UAAU0C,GAAkB1C,EAAM,WAAW,QAAQ,UAAU2C,GAAO3C,EAAM,UAAU,QAAQgC,EAAwBhC,EAAM,UAAUA,EAAM,SAAS,YAAY,UAAU4C,GAAQ5C,EAAM,WAAW,6GAA6G,GAAU,IAAwB,EAAM,IAAeA,EAAM,iBAAwBsB,EAAS,KAAK,GAAG,EAAEtB,EAAM,iBAAwBsB,EAAS,KAAK,GAAG,EAWxkE,EAAgB5C,EAXylEtB,kBAAiB,SAAS,EAAM,EAAI,CAAC,IAAMyF,EAAYxF,EAAO,IAAI,EAAQyF,EAAWC,GAAKF,EAAkBG,EAAgB1F,EAAY,EAAO,CAAC,eAAa,gBAAc,aAAW6B,GAAc,EAAQ8D,EAAkB5D,GAAqB,EAAO,CAAC,QAAM,YAAU,WAAS,UAAQ,aAAU,YAAU,YAAU,GAAGiB,GAAW4B,EAASlC,CAAK,EAAO,CAAC,cAAY,aAAW,sBAAoB,kBAAgB,iBAAe,YAAU,kBAAgB,aAAW,YAAUV,GAAgB,CAAC,aAAW,eAAe,YAAY,IAAIwD,EAAW,UAAQ,mBAAiB,CAAC,EAAQI,EAAiBf,GAAuBnC,EAAMsB,CAAQ,EAAuC6B,EAAkBxE,EAAGgD,CAA0C,EAAQyB,MAAiB,EAAG,CAAC,YAAY,YAAY,WAAW,CAAC,CAAC,SAASC,CAAW,EAAmCC,MAAkB,CAAG,CAAC,YAAY,YAAY,WAAW,CAAC,CAAC,SAASD,CAAW,EAA6B,MAAoB,gBAAK9E,EAAY,CAAC,GAAGgF,GAAUP,EAAgB,SAAsB,gBAAKf,EAAS,CAAC,QAAQX,EAAS,QAAQ,GAAM,SAAsB,gBAAKS,EAAW,CAAC,MAAMF,EAAY,SAAsB,gBAAKvD,EAAO,IAAI,CAAC,GAAGgC,EAAU,GAAGkD,EAAgB,UAAU7E,EAAGwE,EAAkB,gBAAgB3C,EAAUiD,CAAU,EAAE,mBAAmB,YAA6B,mBAAiB,SAAS,YAAY,IAAIX,EAAW,MAAM,CAAC,GAAGlC,CAAK,EAAE,GAAGS,EAAqB,CAAC,UAAU,CAAC,mBAAmB,WAAW,EAAE,UAAU,CAAC,mBAAmB,WAAW,EAAE,UAAU,CAAC,mBAAmB,QAAQ,CAAC,EAAEgC,EAAYK,CAAc,EAAE,SAAsB,gBAAMpF,EAAO,IAAI,CAAC,UAAU,iBAAkC,mBAAiB,SAAS,YAAY,SAAS,CAAC8E,EAAY,GAAgB,gBAAK7F,GAAO,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,MAAM,GAAGuE,EAAkB6B,CAAS,EAAM,UAAU,SAAS,UAAU,QAAS,EAAE,UAAU,gBAAiC,mBAAiB,SAAS,YAAY,GAAGtC,EAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,MAAM,QAAQzC,GAA2BqE,GAAmB,GAAG,KAAKA,GAAmB,QAAQ,KAAK,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,GAAGnB,EAAkB6B,CAAS,EAAM,UAAU,SAAS,UAAU,QAAS,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,MAAM,QAAQ/E,GAA2BqE,GAAmB,GAAG,GAAG,EAAE,EAAE,MAAM,QAAQ,GAAGnB,EAAkB6B,CAAS,EAAM,UAAU,SAAS,UAAU,QAAS,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,MAAM,QAAQ/E,GAA2BqE,GAAmB,GAAG,KAAKA,GAAmB,QAAQ,KAAK,KAAK,EAAE,EAAE,EAAE,MAAM,QAAQ,GAAGnB,EAAkB6B,CAAS,EAAM,UAAU,SAAS,UAAU,QAAS,CAAC,CAAC,EAAEN,EAAYK,CAAc,CAAC,CAAC,EAAEJ,EAAa,GAAgB,gBAAKvE,GAAS,CAAC,sBAAsB,GAAK,SAAsB,gBAAK5B,EAAe,CAAC,SAAsB,gBAAKmB,EAAO,EAAE,CAAC,MAAM,CAAC,qBAAqB,OAAO,uBAAuB,MAAM,EAAE,SAAsB,gBAAKA,EAAO,KAAK,CAAC,MAAM,CAAC,kBAAkB,2BAA2B,uBAAuB,gBAAgB,qBAAqB,OAAO,uBAAuB,MAAM,0BAA0B,UAAU,sBAAsB,+CAA+C,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,QAAQ,MAAM,CAAC,oBAAoB,EAAmB,mBAAiB,SAAS,YAAY,MAAM,CAAC,sBAAsB,sBAAsB,6BAA6B,KAAK,EAAE,KAAKsF,GAAU,kBAAkB,SAAS,mBAAmB,EAAI,CAAC,EAAEN,EAAa,GAAgB,gBAAKvE,GAAS,CAAC,sBAAsB,GAAK,SAAsB,gBAAK5B,EAAe,CAAC,SAAsB,gBAAKmB,EAAO,EAAE,CAAC,MAAM,CAAC,qBAAqB,OAAO,uBAAuB,MAAM,EAAE,SAAsB,gBAAKA,EAAO,KAAK,CAAC,MAAM,CAAC,kBAAkB,mCAAmC,uBAAuB,gBAAgB,qBAAqB,OAAO,sBAAsB,kDAAkD,EAAE,SAAS,6GAA6G,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,mBAAmB,8GAA8G,MAAM,CAAC,wBAAwB,EAAmB,mBAAiB,SAAS,YAAY,MAAM,CAAC,sBAAsB,yBAAyB,6BAA6B,KAAK,EAAE,KAAKuF,EAAU,kBAAkB,SAAS,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAW19M,EAAE,CAXs+M,kFAAkF,gRAAgR,qRAAqR,gGAAgG,mMAAmM,0HAA0H,4LAA4L,sGAAsG,sGAAsG,qGAWh4P,EAAE,cAAc,EAAiC,EAAgB,YAAY,uBAAuB,EAAgB,aAAa,CAAC,OAAO,IAAI,MAAM,GAAG,EAAE7E,EAAoBoD,EAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,YAAY,WAAW,EAAE,aAAa,CAAC,YAAY,YAAY,YAAY,QAAQ,EAAE,MAAM,UAAU,KAAKhD,EAAY,IAAI,EAAE,UAAU,CAAC,aAAa,QAAQ,gBAAgB,GAAM,MAAM,oBAAoB,KAAKA,EAAY,MAAM,EAAE,kBAAkB,CAAC,QAAQ,YAAY,KAAKA,EAAY,aAAa,EAAE,UAAU,CAAC,aAAa,8GAA8G,gBAAgB,GAAK,MAAM,SAAS,KAAKA,EAAY,MAAM,EAAE,kBAAkB,CAAC,QAAQ,YAAY,KAAKA,EAAY,aAAa,EAAE,UAAU,CAAC,MAAM,QAAQ,KAAKA,EAAY,eAAe,CAAC,CAAC,EAAEN,GAASsD,EAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,cAAc,OAAO,SAAS,MAAM,SAAS,aAAa,cAAc,IAAI,qGAAqG,OAAO,KAAK,EAAE,CAAC,cAAc,cAAc,OAAO,SAAS,MAAM,SAAS,aAAa,cAAc,IAAI,qGAAqG,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,C,OCZhtC,SAAgB0B,GAAkB,EAAU,EAAW,CAAC,MAAoB,iBAAY,EAAM,IAAM,CAAC,IAAMC,EAASvG,EAAO,IAAI,EAAQwG,EAAYxG,EAAO,EAAK,EAyEtG,OAzEwGQ,MAAc,CAAC,GAAUD,IAAS,QAAa,OAAO,SAAW,IAAa,OAAQ,IAAMkG,EAAMF,EAAS,QAAQ,GAAG,CAACE,EAAO,OAG7c,IAAMC,EAAQ,wCAAwC,GAAG,CAAC,SAAS,eAAeA,CAAO,EAAE,CAAC,IAAMtD,EAAM,SAAS,cAAc,OAAO,EAAE,EAAM,GAAGsD,EAAQ,EAAM,YAAY;uBACpJC,EAAY;;;;;uBAKZA,EAAY;;;;;kBAKjB,SAAS,KAAK,YAAYvD,CAAK,CAAE,CAGnD,IAAMwD,MAAiB,CAACH,EAAM,iBAAiB,IAAII,GAAa,CAAC,CAAC,QAAQ,GAAOC,EAAM,OAAO,CAAC,CAAE,EAAEF,EAAa,EAGoF,IAAMG,EAAvK,MAAM,KAAKN,EAAM,QAAQ,CAAC,CAAC,OAAO,GAAO,CAAC,IAAMO,EAAQC,EAAM,MAAM,CAACD,EAAQ,UAAU,SAASH,CAAW,GAAGG,EAAQ,YAAY,GAAGA,EAAQ,aAAa,CAAE,CAAC,EAA2C,GAAGD,EAAc,QAAQ,EAAG,OAAQ,IAAMG,EAAUH,EAAc,OAGvSI,MAAmB,CAAC,IAAMC,EAAS,SAAS,uBAAuB,EAAEL,EAAc,QAAQ,GAAM,CAAC,IAAMD,EAAMO,EAAK,UAAU,EAAI,EAAEP,EAAM,UAAU,IAAID,CAAW,EAAEC,EAAM,aAAa,sBAAsB,MAAM,EAAEM,EAAS,YAAYN,CAAK,CAAE,CAAC,EAAEL,EAAM,YAAYW,CAAQ,CAAE,EACtRD,EAAe,EAAEA,EAAe,EAGhC,IAAMG,MAAwB,MAAM,KAAKb,EAAM,QAAQ,CAAC,CAAC,OAAO,GAAO,CAAC,IAAMO,EAAQC,EAAM,OAAOD,EAAQ,YAAY,GAAGA,EAAQ,aAAa,CAAE,CAAC,EAG5IO,EAH+JD,EAG1I,CAAC,CAAC,GAAG,GAAG,CAACC,EAAe,OAAQ,EAAM,MAAM,eAAe,OAAO,EAAM,WAAWA,EAAc,WAAW,0BAA0B,CAAKhB,EAAS,UAAiB,EAAS,QAAQ,MAAM,eAAe/D,EAAM,OAAO,gBAAgB,GAAG,CAAC,EAKvQ,IAAMgF,MAAoB,CAAC,IAAMC,EAAalB,EAAS,QAAQ,GAAG,CAACkB,EAAc,MAAO,GAAG,IAAMC,EAAMJ,EAAY,EAAMK,EAAa,EAAMC,EAAgB,IAAoL,OAA3KF,EAAM,SAAS,EAAK,IAAQ,CAAC,IAAMG,EAAS,KAAK,IAAIR,EAAK,WAAWI,EAAa,UAAU,EAAKI,EAASD,IAAiB,EAAgBC,EAAS,EAAaC,EAAO,CAAC,EAASH,CAAa,EAG9VI,EAAa,GAAO,CAAC,IAAMN,EAAalB,EAAS,QAAQ,GAAG,CAACkB,EAAc,OAAQ,IAAMC,EAAMJ,EAAY,EAAE,GAAG,CAACI,EAAMI,GAAQ,OAAQ,IAAME,EAAON,EAAMI,EAAM,CAAC,WAAW,EAAa,MAAM,eAAe,OAAO,EAAY,QAAQ,GAAKL,EAAa,SAAS,CAAC,KAAKO,EAAO,SAAS,QAAQ,CAAC,EAAEzH,EAAO,eAAe,CAAKgG,EAAS,UAAiB0B,EAAkB,EAAE,EAAY,QAAQ,GAAM,EAAE,GAAG,CAAE,EAS/YA,MAAsB,CAAC,IAAMR,EAAalB,EAAS,QAAQ,GAAG,CAACkB,EAAc,OAAQ,IAAMC,EAAMJ,EAAY,EAAQY,EAAaV,EAAgB,EAGxJ,GAAGU,GAAchB,EAAU,CAA4C,IAAMiB,EAAaT,EAA1CQ,EAAahB,GAAkD,GAAGiB,EAAa,CAAC,IAAMC,EAAYX,EAAa,MAAM,eAAe,EAAa,MAAM,eAAe,OAAO,EAAa,WAAWU,EAAa,WAAW,EAAa,MAAM,eAAeC,CAAY,CAAC,CAG5T,GAAGF,EAAa,EAAE,CAAkE,IAAMC,EAAaT,GAA/DQ,EAAahB,EAAUA,GAAWA,GAAqDiB,IAAc,EAAa,WAAWA,EAAa,WAAY,CAAC,EAGzLE,MAAe,CAAC,GAAG7B,EAAY,QAAS,OAAQ,IAAMkB,EAAMJ,EAAY,EAA6CgB,EAAxBd,EAA6C,EAAE,EAAME,EAAMY,IAAoBP,EAAaO,CAAS,CAAE,EAGpMC,MAAe,CAAC,GAAG/B,EAAY,QAAS,OAAQ,IAAMkB,EAAMJ,EAAY,EAAQY,EAAaV,EAAgB,EAInH,GAAGU,IAAe,EAAE,CAAC,IAAMM,EAAgBtB,EAAgBuB,EAAWf,EAAMc,GAAiB,GAAGC,EAAW,CAAC,IAAML,EAAY3B,EAAM,MAAM,eAAe,EAAM,MAAM,eAAe,OAAO,EAAM,WAAWgC,EAAW,WAAW,EAAM,MAAM,eAAeL,CAAY,CACzQL,EAAaS,EAAgB,CAAC,EAAE,MAAO,CAAC,IAAME,EAAcR,EAAa,EAAKQ,GAAe,GAAGX,EAAaW,CAAa,CAAG,EAGzHC,EAAuBC,MAAiB,CAACrI,EAAO,aAAaoI,CAAgB,EAAE,EAAiBpI,EAAO,eAAe,CAAKiG,EAAY,SAASyB,EAAkB,CAAG,EAAE,GAAG,CAAE,EAMhL,OAHA1H,EAAO,iBAAiB,gBAAgBgI,CAAU,EAAEhI,EAAO,iBAAiB,gBAAgB8H,CAAU,EAAE5B,EAAM,iBAAiB,SAASmC,EAAa,CAAC,QAAQ,EAAI,CAAC,MAGzJ,CAACrI,EAAO,oBAAoB,gBAAgBgI,CAAU,EAAEhI,EAAO,oBAAoB,gBAAgB8H,CAAU,EAAE5B,EAAM,oBAAoB,SAASmC,CAAY,EAAErI,EAAO,aAAaoI,CAAgB,EAAE/B,EAAa,CAAE,CAAE,EAAE,CAAC,CAAC,EAAsB,gBAAKiC,EAAU,CAAC,GAAGrG,EAAM,IAAI,GAAM,CAAC,EAAS,QAAQsG,EAAQ,OAAOvD,GAAM,WAAYA,EAAIuD,CAAI,EAAWvD,IAAK,EAAI,QAAQuD,EAAM,EAAE,UAAU,GAAGtG,EAAM,WAAW,GAAG,GAAGmE,IAAc,KAAK,EAAE,MAAM,CAAC,GAAGnE,EAAM,MAAM,UAAU,OAAO,UAAU,SAAS,wBAAwB,OAAO,CAAC,CAAC,CAAE,CAAC,CAAE,C,oDAzEtb,EAAY,wBAA8B,EAAY,uB,OCgCd,SAAgBwG,GAAiB,EAAU,CAAC,MAAoB,iBAAY,EAAM,IAAM,CAAC,IAAMC,EAAY,GAAO,CAAI,OAAOzG,EAAM,SAAU,YAAYA,EAAM,QAAQ0G,CAAK,EAAa3I,IAAS,QAAaA,EAAO,cAAc,IAAI,YAAY,eAAe,CAAC,CAAG,EAAE,MAAoB,gBAAKsI,EAAU,CAAK,MAAI,GAAGrG,EAAM,QAAQyG,EAAY,MAAM,CAAC,GAAGzG,EAAM,MAAM,OAAO,SAAS,CAAC,CAAC,CAAE,CAAC,CAAE,CAAC,SAAgB2G,GAAiB,EAAU,CAAC,MAAoB,iBAAY,EAAM,IAAM,CAAC,IAAMF,EAAY,GAAO,CAAI,OAAOzG,EAAM,SAAU,YAAYA,EAAM,QAAQ0G,CAAK,EAAa3I,IAAS,QAAaA,EAAO,cAAc,IAAI,YAAY,eAAe,CAAC,CAAG,EAAE,MAAoB,gBAAKsI,EAAU,CAAK,MAAI,GAAGrG,EAAM,QAAQyG,EAAY,MAAM,CAAC,GAAGzG,EAAM,MAAM,OAAO,SAAS,CAAC,CAAC,CAAE,CAAC,CAAE,C"}