{"version":3,"file":"MultiStepFormButton.CwoMe97k.mjs","names":["useRef","useState","useState","useRef","useRef","useState","useState","useRef","__esmMin","z","init_npm_react_18_3_1","window","_e","p","ce","de","init_ssg_sandbox_shims","motion","init_framer_motion_DhsWWWsN","addPropertyControls","init_framer_B1b760uK","ControlType","RenderTarget","withCSS","useInstanceId","getFormInfo","isAncestor","fillProp","init_FramerFormsShared","borderProp","HiddenComponentLabel","Border","useMultiStepFormStore","useCanvasState","HideElement","createBackground","FormPageLabel","Tag","props","isCanvas","ref","multiStepFormState","setMultiStepFormState","canvasState","formId","setFormId","state","newFormId","init_FormPageLabel","init_jsx_runtime","MultiStepFormComponent","id","formInfo","setFormInfo","stateRef","pageVideosRef","isFirstRenderRef","initialized","setInitialized","pageHistory","previousPage","prev","nextPage","page","newPage","logicConfigs","pages","pageElement","logic","nextPageName","nextPageIndex","getChildIndexByDataFramerName","isFormValid","prevState","isPageAnEndPage","setPageHistoryLength","newLength","pageElements","i","videos","video","pauseVideo","unmountFunction","form","onEnterPress","event","currentInput","previousElement","foundPage","newElement","currentPage","stopEvent","inputs","getInputsOnPage","currentIndex","submitButton","SUBMIT_BUTTON_HIDDEN_ATTRIBUTE","input","pageIndex","pageVideos","scrollToTop","top","windowScrollTop","autoFocusInputOnPage","fireAnalyticsEvent","OPTIMIZATION_CLASS_NAME","element","invalidInputs","isVisible","hasRequiredFieldsFilled","isHiddenProxy","isDropdownHiddenInput","children","parentElement","name","isEndPage","endPageMode","step","customEndPages","analytics","params","el","autofocusElements","visibleElements","style","MultiStepForm","init_MultiStepForm","FormDots","isVertical","onDotClick","clickable","index","currentHistory","newHistory","blockedAtPage","finalPage","wasBlockedByValidation","landingPage","currentPageElement","dots","selected","padding","gap","init_FormDots","MultiStepFormButton","isOptimizing","hidden","onClick","layer","width","height","CANVAS_HIDDEN_CLASS_NAME","init_MultiStepFormButton"],"sources":["https:/framerusercontent.com/modules/CAiPOh5jW8sjhKQGY1KE/atfw6ZmnnYkZXAIpQGCD/FormPageLabel.js","https:/framerusercontent.com/modules/wV9SghwspjN8vk1MgoSi/5hwqI63C3dZ8dPHZQwJ0/MultiStepForm.js","https:/framerusercontent.com/modules/diUNHvGsYpvjISOio7fx/3LTuyW7qA4xjZ2h5KhgV/FormDots.js","https:/framerusercontent.com/modules/fPSKMdnAZGIeyDfLV8KP/k4rjB4zRG0DK3vktcBkT/MultiStepFormButton.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useRef,useState}from\"react\";import{useMultiStepFormStore,useCanvasState,getFormInfo}from\"https://framerusercontent.com/modules/DwWOdDzQZGCuvkNlbUjZ/Rj7Kdx4qq62ukVsnw7Hz/FramerFormsShared.js\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n */export default function FormPageLabel(props){const Tag=props.htmlTag||\"p\";const isCanvas=RenderTarget.current()===RenderTarget.canvas;const ref=useRef(null);const[multiStepFormState,setMultiStepFormState]=useMultiStepFormStore();const canvasState=useCanvasState(ref);const[formId,setFormId]=useState(null);const state=isCanvas?canvasState:multiStepFormState[formId];useEffect(()=>{const newFormId=getFormInfo(ref.current).formId;setFormId(newFormId);if(!multiStepFormState[newFormId]){setMultiStepFormState({});}},[]);return /*#__PURE__*/_jsx(Tag,{\"data-framerforms\":true,ref:ref,style:{color:props.color,userSelect:props.textSelect?\"auto\":\"none\",whiteSpace:props.style?.width?\"pre\":\"nowrap\",margin:0,...props.font,...props.style},children:props.text.replace(/\\[page\\]/g,// pageHistory stores visited *page indices* (0-based).\n// Current page is the last visited index (+1 for human-readable page number).\nstate?.pageHistory?(state.pageHistory[state.pageHistory.length-1]??0)+1:1).replace(/\\[totalPages\\]/g,state?.totalPages??1)});}FormPageLabel.displayName=\"Form Page Label\";addPropertyControls(FormPageLabel,{text:{type:ControlType.String,defaultValue:\"Page [page] / [totalPages]\",description:\"*[page]*: current page\\n*[totalPages]*: total number of pages\"},font:{// @ts-ignore - Framer supports \"font\" control type (not in our TS typings)\ntype:\"font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:1.4}},color:{type:ControlType.Color,defaultValue:\"#888\"},textSelect:{type:ControlType.Boolean,defaultValue:true},htmlTag:{type:ControlType.Enum,options:[\"p\",\"span\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"],title:\"HTML Tag\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FormPageLabel\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,withCSS}from\"framer\";import{useState,useEffect,useRef}from\"react\";import{useInstanceId,HiddenComponentLabel,useMultiStepFormStore,getFormInfo,isAncestor}from\"https://framerusercontent.com/modules/DwWOdDzQZGCuvkNlbUjZ/Rj7Kdx4qq62ukVsnw7Hz/FramerFormsShared.js\";const OPTIMIZATION_CLASS_NAME=\"framerforms-multi-step-form\";const SUBMIT_BUTTON_HIDDEN_ATTRIBUTE=\"framerforms-submit-button-hidden\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n * @framerDisableUnlink\n */function MultiStepFormComponent(props){const{scrollToTop}=props;const id=useInstanceId();const isCanvas=RenderTarget.current()===RenderTarget.canvas;const[multiStepFormState,setMultiStepFormState]=useMultiStepFormStore();const[formInfo,setFormInfo]=useState(null);const stateRef=useRef(multiStepFormState[formInfo?.formId]);const ref=useRef(null);const pageVideosRef=useRef({});const isFirstRenderRef=useRef(true);const[initialized,setInitialized]=useState(false);const state=multiStepFormState[formInfo?.formId];const pageHistory=state?.pageHistory;useEffect(()=>{const formInfo=getFormInfo(ref.current);setFormInfo(formInfo);const{formId,form,pages}=formInfo;function previousPage(){const pageHistory=stateRef.current?.pageHistory;if(pageHistory?.length>1){setMultiStepFormState(prev=>({[formId]:{...prev[formId],pageHistory:prev[formId].pageHistory.slice(0,-1),isEndPage:false}}));}}function nextPage(){const state=stateRef.current;if(state){const page=state.pageHistory[state.pageHistory.length-1];const{logicConfigs}=state;let newPage=null;if(logicConfigs.length&&pages){const pageElement=pages.children?.[page];for(const logic of logicConfigs){if(isAncestor(pageElement,logic.ref.current)){const nextPageName=logic.getNextPage();if(nextPageName){const nextPageIndex=getChildIndexByDataFramerName(pages,nextPageName);if(nextPageIndex!==-1){newPage=nextPageIndex;}break;}}}}if(newPage===null&&page<state.totalPages-1){newPage=page+1;}const pageElement=pages.children[page];if(pageElement&&!isFormValid(pageElement)){newPage=null;}if(newPage){setMultiStepFormState(prev=>{const prevState=prev[formId];return{[formId]:{...prevState,pageHistory:[...prevState.pageHistory,newPage],isEndPage:isPageAnEndPage({pageIndex:newPage,state:prevState,pages,endPageMode:props.endPage,customEndPages:props.endPageCustom})}};});}}}function setPageHistoryLength(newLength){setMultiStepFormState(prev=>{const pageHistory=prev[formId]?.pageHistory??[];return{[formId]:{...prev[formId],pageHistory:newLength>=pageHistory.length?pageHistory:pageHistory.slice(0,newLength),isEndPage:isPageAnEndPage({pageIndex:pageHistory[newLength-1],state:prev[formId],pages,endPageMode:props.endPage,customEndPages:props.endPageCustom})}};});}if(formId&&pages){setMultiStepFormState({[formId]:{totalPages:pages.children.length,pageHistory:[0],logicConfigs:[],isEndPage:pages.children.length==1,previousPage,nextPage,setPageHistoryLength}});}if(pages){const pageElements=pages.children;for(let i=0;i<pageElements.length;i++){const videos=pageElements[i].querySelectorAll(\"video\");if(!pageVideosRef.current[i]){pageVideosRef.current[i]=[];}for(const video of videos){pageVideosRef.current[i].push(video);if(video.hasAttribute(\"autoplay\")&&i!==0){const pauseVideo=()=>{if(!video.paused){setTimeout(()=>{if(!video.paused){video.pause();}},100)// 100 milliseconds = 0.1 seconds\n;}};if(!video.paused){// Video is already playing, pause it immediately\npauseVideo();}else{// Wait for the video to start playing, then pause it\nvideo.addEventListener(\"play\",pauseVideo,{once:true});}}}}}let unmountFunction=null;if(form){function onEnterPress(event){if(event.key!==\"Enter\"||event.target.tagName===\"TEXTAREA\"){return;}const currentInput=event.target;let previousElement=currentInput;let foundPage=false;while(previousElement&&!foundPage){const newElement=previousElement.parentElement;if(newElement==pages){foundPage=true;break;}previousElement=newElement;}const currentPage=previousElement;let stopEvent=true;if(currentPage){const inputs=getInputsOnPage(currentPage);const currentIndex=inputs.indexOf(currentInput);if(currentIndex<inputs.length-1){// Focus the next input on the current page\ninputs[currentIndex+1].focus();}else{const pageElements=Array.from(pages.children);const pageIndex=pageElements.indexOf(currentPage);if(pageIndex<pageElements.length-1){nextPage();}else{// Let the form submit if it's the last page\nstopEvent=false;}}}if(stopEvent){event.preventDefault();event.stopPropagation();}}// Override Enter key press event\nform.addEventListener(\"keydown\",onEnterPress,true);unmountFunction=()=>{form.removeEventListener(\"keydown\",onEnterPress,true);};}if(unmountFunction){return unmountFunction;}},[]);useEffect(()=>{stateRef.current=state;},[state]);useEffect(()=>{if(state&&(!isCanvas||ref.current?.closest('[data-framer-component-container=\"true\"]'))){const submitButton=formInfo.form?.querySelector('button[type=\"submit\"]')?.parentElement;if(submitButton){submitButton.setAttribute(SUBMIT_BUTTON_HIDDEN_ATTRIBUTE,state.isEndPage?\"false\":\"true\");}}},[state?.isEndPage]);useEffect(()=>{const pages=formInfo?.pages;if(pages&&pageHistory){// Enable/disable form inputs on pages that have not been visited for submit validation\nif(state?.logicConfigs?.length||props.endPage==\"customPages\"){for(let i=0;i<pages.children.length;i++){if(pageHistory.includes(i)){const inputs=pages.children[i]?.querySelectorAll(`input[name][disabled=\"FramerForms\"], select[name][disabled=\"FramerForms\"], textarea[name][disabled=\"FramerForms\"]`);for(const input of inputs){input.removeAttribute(\"disabled\");}}else{const inputs=pages.children[i]?.querySelectorAll(\"input[name]:not([disabled]), select[name]:not([disabled]), textarea[name]:not([disabled])\");for(const input of inputs){input.setAttribute(\"disabled\",\"FramerForms\");}}}}// Play/pause videos on form pages\nconst currentPage=pageHistory[pageHistory.length-1];if(pageVideosRef.current){for(const pageIndex of Object.keys(pageVideosRef.current)){const pageVideos=pageVideosRef.current[pageIndex];for(const video of pageVideos){if(pageIndex==currentPage){if(video.hasAttribute(\"autoplay\")){video.play();}}else if(!video.paused){video.pause();}}}}// Scroll to top of form\nif(scrollToTop&&formInfo.form&&!isFirstRenderRef.current){const rect=formInfo.form.getBoundingClientRect();const top=rect.top-scrollToTop.offset;const topIsInView=top>=0&&top<=window.innerHeight;if(!topIsInView){const windowScrollTop=window.pageYOffset||document.documentElement.scrollTop;window.scrollTo({top:windowScrollTop+top,behavior:scrollToTop.scrollStyle});}}if(!isFirstRenderRef.current){autoFocusInputOnPage(pages.children[currentPage]);}isFirstRenderRef.current=false;}fireAnalyticsEvent(props.analytics,pageHistory,formInfo?.pages);},[pageHistory]);useEffect(()=>{setInitialized(true);},[]);return /*#__PURE__*/_jsxs(HiddenComponentLabel,{text:\"Multi-Step Form\",children:[/*#__PURE__*/_jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 452 60\",width:\"121\",height:\"16\",style:{marginBottom:5},children:[/*#__PURE__*/_jsx(\"path\",{d:\"M 58.178 27.448 L 58.178 0.912 L 33.172 0.912 C 14.852 0.912 0 15.76 0 34.08 L 0 59.086 L 58.178 59.086 L 58.178 27.46 C 58.172 44.93 44.008 59.09 26.538 59.09 L 26.538 27.45 L 58.178 27.45 Z\",fill:\"#473DFE\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M 452.004 36.088 C 452.004 43.208 446.328 47.872 437.336 47.872 C 428.342 47.872 422.57 43.112 421.946 35.464 L 431.132 35.464 C 431.228 38.734 433.392 40.802 437.142 40.802 C 440.268 40.802 442.336 39.6 442.336 37.436 C 442.336 35.944 440.846 34.838 438.826 34.454 L 432.526 33.252 C 426.996 32.192 423.34 28.972 423.34 23.392 C 423.34 16.948 429.016 12.426 436.758 12.426 C 444.982 12.426 450.898 17.14 451.426 24.594 L 442.24 24.594 C 442 21.468 439.884 19.448 436.854 19.448 C 434.162 19.448 432.526 20.892 432.526 22.768 C 432.526 24.306 434.064 25.22 435.892 25.556 L 442.578 26.856 C 448.734 28.056 452.004 31.086 452.004 36.088 Z M 395.384 47.39 L 387.978 27.48 L 387.978 47.39 L 379.754 47.39 L 379.754 12.86 L 390.478 12.86 L 399.184 36.28 L 407.84 12.86 L 418.566 12.86 L 418.566 47.39 L 410.342 47.39 L 410.342 27.24 L 402.886 47.39 Z M 355.758 47.39 L 346.668 47.39 L 346.668 12.86 L 360.808 12.86 C 370.138 12.86 375.476 17.044 375.476 24.402 C 375.476 28.826 372.83 32.482 368.166 34.454 L 376.63 47.39 L 365.81 47.39 L 358.74 35.896 L 355.758 35.896 Z M 355.758 20.362 L 355.758 28.394 L 360.422 28.394 C 364.462 28.394 366.338 27.144 366.338 24.402 C 366.338 21.662 364.462 20.362 360.422 20.362 Z M 325.08 48.112 C 315.124 48.112 307.286 40.562 307.286 30.076 C 307.286 19.592 315.124 12.138 325.08 12.138 C 335.084 12.138 342.922 19.592 342.922 30.078 C 342.922 40.562 335.084 48.112 325.08 48.112 Z M 325.08 39.984 C 330.514 39.984 333.544 35.512 333.544 30.076 C 333.544 24.642 330.514 20.266 325.08 20.266 C 319.646 20.266 316.616 24.642 316.616 30.078 C 316.616 35.512 319.646 39.984 325.08 39.984 Z M 291.034 47.39 L 281.946 47.39 L 281.946 12.86 L 305.462 12.86 L 305.462 20.748 L 291.034 20.748 L 291.034 27.144 L 303.106 27.144 L 303.106 35.032 L 291.034 35.032 L 291.034 47.392 Z M 257.946 47.39 L 248.856 47.39 L 248.856 12.86 L 262.994 12.86 C 272.326 12.86 277.664 17.044 277.664 24.402 C 277.664 28.826 275.018 32.482 270.354 34.454 L 278.818 47.39 L 267.996 47.39 L 260.926 35.896 L 257.946 35.896 Z M 257.946 20.362 L 257.946 28.394 L 262.61 28.394 C 266.65 28.394 268.526 27.144 268.526 24.402 C 268.526 21.662 266.65 20.362 262.61 20.362 Z M 244.616 39.504 L 244.616 47.392 L 220.184 47.392 L 220.184 12.86 L 244.278 12.86 L 244.278 20.748 L 229.274 20.748 L 229.274 25.7 L 242.884 25.7 L 242.884 33.588 L 229.274 33.588 L 229.274 39.504 Z M 191.216 47.39 L 183.81 27.48 L 183.81 47.39 L 175.586 47.39 L 175.586 12.86 L 186.31 12.86 L 195.016 36.28 L 203.672 12.86 L 214.398 12.86 L 214.398 47.39 L 206.174 47.39 L 206.174 27.24 L 198.718 47.39 L 191.218 47.39 Z M 163.08 47.39 L 160.966 40.994 L 148.846 40.994 L 146.682 47.39 L 137.496 47.39 L 150.288 12.86 L 160.244 12.86 L 172.892 47.39 L 163.082 47.39 Z M 155.002 22.864 L 151.298 33.828 L 158.61 33.828 L 155 22.864 Z M 116.574 47.39 L 107.484 47.39 L 107.484 12.86 L 121.624 12.86 C 130.954 12.86 136.292 17.044 136.292 24.402 C 136.292 28.826 133.648 32.482 128.982 34.454 L 137.446 47.39 L 126.626 47.39 L 119.556 35.896 L 116.574 35.896 Z M 116.574 20.362 L 116.574 28.394 L 121.24 28.394 C 125.28 28.394 127.154 27.144 127.154 24.402 C 127.154 21.662 125.278 20.362 121.24 20.362 Z M 89.214 47.39 L 80.126 47.39 L 80.126 12.86 L 103.64 12.86 L 103.64 20.748 L 89.212 20.748 L 89.212 27.144 L 101.284 27.144 L 101.284 35.032 L 89.212 35.032 L 89.212 47.392 Z\",fill:\"#999\"})]}),/*#__PURE__*/_jsxs(\"div\",{ref:ref,id:id,\"data-framerforms-multi-step-form\":true,className:!initialized&&!isCanvas?OPTIMIZATION_CLASS_NAME:\"\",style:{display:\"none\"},children:[initialized&&!isCanvas&&/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`form[framerforms-id=\"${formInfo?.formId}\"] > [data-framer-name=\"Pages\" i] > *:not(:nth-child(${pageHistory?pageHistory[pageHistory.length-1]+1:1})) { display: none; }`}}),isCanvas&&/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`[data-framer-component-container=\"true\"] form[framerforms-id=\"${formInfo?.formId}\"] > [data-framer-name=\"Pages\" i] > *:not(:first-child) { display: none; }`}})]})]});}/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n * @framerDisableUnlink\n */const MultiStepForm=withCSS(MultiStepFormComponent,[`form:has(.${OPTIMIZATION_CLASS_NAME}) > [data-framer-name=\"Pages\" i] > *:not(:first-child) { display: none; }`,`form:has(.${OPTIMIZATION_CLASS_NAME}) div:has(> button[type=\"submit\"]) { display: none; }`,`[${SUBMIT_BUTTON_HIDDEN_ATTRIBUTE}=\"true\"] { display: none; }`],OPTIMIZATION_CLASS_NAME);export default MultiStepForm;MultiStepForm.displayName=\"Multi-Step Form Staging\";addPropertyControls(MultiStepForm,{endPage:{type:ControlType.Enum,defaultValue:\"lastPage\",options:[\"lastPage\",\"customPages\"],optionTitles:[\"Last Page\",\"Custom Pages\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},endPageCustom:{type:ControlType.Array,control:{type:ControlType.String,defaultValue:\"\",placeholder:\"Page Layer Name\",preventLocalization:true},title:\"Pages\",description:\"List of page names where the submit button is shown\",hidden:props=>props.endPage!==\"customPages\"},analytics:{type:ControlType.Object,optional:true,icon:\"interaction\",controls:{platform:{type:ControlType.Enum,options:[\"googleAnalytics\"],optionTitles:[\"Google Analytics 4\"]},googleAnalyticsEventName:{type:ControlType.String,placeholder:\"Event Name\",title:\"Event Name\",preventLocalization:true,hidden:props=>props.platform!==\"googleAnalytics\"},googleAnalyticsEventCategory:{type:ControlType.String,placeholder:\"Optional\",title:\"Category\",description:\"Make sure the Google Analytics 4 script is installed\",preventLocalization:true,hidden:props=>props.platform!==\"googleAnalytics\"}}},scrollToTop:{type:ControlType.Object,optional:true,title:\"Scroll to Top\",controls:{scrollStyle:{type:ControlType.Enum,defaultValue:\"smooth\",options:[\"smooth\",\"instant\"],optionTitles:[\"Smooth\",\"Instant\"],displaySegmentedControl:true,title:\"Scroll\"},offset:{type:ControlType.Number,defaultValue:32,step:1,description:\"When previous or next button is pressed, scroll to the top of the form with an offset\"}}}});//////////////////////////////////////////////////////////////\n/**\n * Validates all inputs within an element. Uses reportValidity() which shows validation UI.\n * Only validates visible inputs (inputs on hidden pages are skipped).\n *\n * @param element The element whose inputs we have to validate\n * @returns `true` if all visible inputs are valid, `false` otherwise\n */export function isFormValid(element){const inputs=element.querySelectorAll(\"input, select, textarea\");let invalidInputs=[];for(const input of inputs){if(isVisible(input)&&!input.reportValidity()){invalidInputs.push(input);}}return invalidInputs.length===0;}/**\n * Checks if all required fields on a page have values.\n * Works on hidden pages (doesn't rely on visibility).\n * Does NOT trigger validation UI - use this for pre-checking pages before navigation.\n *\n * @param element The page element to check\n * @returns `true` if all required fields have values, `false` if any required field is empty\n */export function hasRequiredFieldsFilled(element){const inputs=element.querySelectorAll(\"input[required], select[required], textarea[required]\");for(const input of inputs){// Skip disabled inputs\nif(input.disabled)continue;// Skip hidden proxy inputs (tabindex=-1 with opacity 0)\n// BUT: Don't skip if it has data-framerforms-set-value-event (Dropdown's HiddenInput)\nconst isHiddenProxy=input.tabIndex===-1&&input.style.opacity===\"0\";const isDropdownHiddenInput=input.hasAttribute(\"data-framerforms-set-value-event\");if(isHiddenProxy&&!isDropdownHiddenInput)continue;// Check if input has a value\nconst value=input.value?.trim()??\"\";if(value===\"\"){return false;}}return true;}/**\n * Checks if the element is visible in the DOM.\n *\n * @param element The element we are checking the visibility of\n * @returns `true` if the element is visible, `false` otherwise\n */function isVisible(element){return element.offsetParent!==null||element instanceof HTMLInputElement&&element.type===\"hidden\";}/**\n *\n * @param parentElement The parent element to search for the child\n * @param name The name of the child to search for\n * @returns The index of the child if found, -1 otherwise\n */function getChildIndexByDataFramerName(parentElement,name){const children=Array.from(parentElement.children);for(let i=0;i<children.length;i++){if(children[i].getAttribute(\"data-framer-name\")===name){return i;}}return-1// Return -1 if no child with the specified attribute value is found\n;}/**\n * Determines if a given page index is an end page based on the form configuration.\n *\n * @param {IsPageAnEndPageParams} params - Configuration object\n * @param {number} params.pageIndex - Zero-based index of the page to check\n * @param {MultiStepFormState} params.state - Multi-step form state containing total page count\n * @param {HTMLElement | null} params.pages - Container element with all page elements, or null\n * @param {\"customPages\" | \"lastPage\"} params.endPageMode - Mode for identifying end pages\n * @param {string[]} params.customEndPages - Page names (data-framer-name) that are end pages (used when endPageMode is \"customPages\")\n * @returns {boolean} `true` if the page is an end page, `false` otherwise\n */function isPageAnEndPage({pageIndex,state,pages,endPageMode,customEndPages}){let isEndPage=false;if(endPageMode===\"customPages\"&&pages){const step=pages.children[pageIndex];if(customEndPages.includes(step.getAttribute(\"data-framer-name\"))){isEndPage=true;}}else{isEndPage=pageIndex==state.totalPages-1;}return isEndPage;}/**\n * Fires analytics events when the user navigates to a new page.\n *\n * @param analytics - Analytics configuration object, or null/undefined to skip\n * @param pageHistory - Array of visited page indices. Current page is the last element.\n * @param pages - Container element holding all page elements as children\n *\n * @example\n * // pageHistory = [0, 1, 2] means user is on page index 2 (third page)\n * fireAnalyticsEvent(analyticsConfig, [0, 1, 2], pagesElement)\n */function fireAnalyticsEvent(analytics,pageHistory,pages){if(!analytics||!pageHistory||!pages){return;}switch(analytics.platform){case\"googleAnalytics\":if(typeof window!==\"undefined\"){if(typeof window.gtag!==\"undefined\"){const pageIndex=pageHistory[pageHistory.length-1];const page=pages?.children[pageIndex];const params={page_name:page?.getAttribute(\"data-framer-name\")||page?.getAttribute(\"name\")||`Page ${pageIndex+1}`};if(analytics.googleAnalyticsEventCategory){params.event_category=analytics.googleAnalyticsEventCategory;}window.gtag(\"event\",analytics.googleAnalyticsEventName,params);}else{console.error(\"Google Analytics gtag.js script is not installed.\");}}break;}}function getInputsOnPage(page){return Array.from(page.querySelectorAll('input:not([type=\"hidden\"]):not([disabled]):not([name=\"\"]):not([tabindex=\"-1\"]):not([data-framerforms-set-value-event]), textarea:not([disabled]):not([name=\"\"]):not([tabindex=\"-1\"]), select:not([disabled]):not([name=\"\"]):not([tabindex=\"-1\"]), button:not([disabled]):not([tabindex=\"-1\"])')).filter(el=>window.getComputedStyle(el).display!==\"none\");}function autoFocusInputOnPage(pageElement){if(!pageElement){return;}// Get all potential autofocus elements\nconst autofocusElements=pageElement.querySelectorAll(\"input[autofocus], select[autofocus], textarea[autofocus]\");// Convert NodeList to Array for easier manipulation\nconst elements=Array.from(autofocusElements);// Filter out hidden elements\nconst visibleElements=elements.filter(el=>{const style=window.getComputedStyle(el);return style.display!==\"none\"&&style.visibility!==\"hidden\"&&!el.hidden&&!el.disabled&&el.offsetParent!==null// Check if the element is rendered\n;});// If there are visible autofocus elements, focus the first one\nif(visibleElements.length>0){visibleElements[0].focus();}}\nexport const __FramerMetadata__ = {\"exports\":{\"isFormValid\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hasRequiredFieldsFilled\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"MultiStepForm\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useState,useRef}from\"react\";import{motion}from\"framer-motion\";import{fillProp,createBackground,useMultiStepFormStore,useCanvasState,getFormInfo}from\"https://framerusercontent.com/modules/DwWOdDzQZGCuvkNlbUjZ/Rj7Kdx4qq62ukVsnw7Hz/FramerFormsShared.js\";import{hasRequiredFieldsFilled,isFormValid}from\"https://framerusercontent.com/modules/wV9SghwspjN8vk1MgoSi/5hwqI63C3dZ8dPHZQwJ0/MultiStepForm.js\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n * @framerDisableUnlink\n */export default function FormDots(props){const{fill,gap,clickable,padding}=props;const isVertical=props.direction===\"vertical\";const isCanvas=RenderTarget.current()===RenderTarget.canvas;const ref=useRef(null);const[multiStepFormState,setMultiStepFormState]=useMultiStepFormStore();const canvasState=useCanvasState(ref);const[formId,setFormId]=useState(null);const state=isCanvas?canvasState:multiStepFormState[formId];const pageHistory=state?.pageHistory;const page=pageHistory?pageHistory[pageHistory.length-1]:0;useEffect(()=>{const newFormId=getFormInfo(ref.current).formId;setFormId(newFormId);if(!multiStepFormState[newFormId]){setMultiStepFormState({});}},[]);function onDotClick(index){if(clickable&&state&&formId&&index>=0&&index<state.totalPages){const currentHistory=pageHistory||[0];const currentPage=currentHistory[currentHistory.length-1];if(index<currentHistory.length){// Navigating to a previously visited page - truncate history\nstate.setPageHistoryLength(index+1);}else if(index>currentPage){// Navigating forward - validate each page before allowing navigation\nconst{pages}=getFormInfo(ref.current);if(!pages)return;const newHistory=[...currentHistory];let blockedAtPage=null;// Loop through each page from current to target\n// Validate the page we're LEAVING before moving to the next\nfor(let i=currentPage;i<index;i++){const pageElement=pages.children[i];// If current page has unfilled required fields, stop here\nif(pageElement&&!hasRequiredFieldsFilled(pageElement)){blockedAtPage=i;break;}// Page is valid, we can move to the next one\nif(i+1<=index){newHistory.push(i+1);}}// Only update state if we actually moved forward\nif(newHistory.length>currentHistory.length){const finalPage=newHistory[newHistory.length-1];const wasBlockedByValidation=finalPage<index;setMultiStepFormState(prev=>({[formId]:{...prev[formId],pageHistory:newHistory,isEndPage:finalPage===prev[formId].totalPages-1}}));// If user was blocked by validation, trigger error UI on the landing page\nif(wasBlockedByValidation){// Wait for the page to become visible, then trigger validation UI\nrequestAnimationFrame(()=>{const landingPage=pages.children[finalPage];if(landingPage){isFormValid(landingPage);}});}}else{// If blocked at current page, trigger error UI on current page\nif(blockedAtPage!==null){const currentPageElement=pages.children[blockedAtPage];if(currentPageElement){requestAnimationFrame(()=>{isFormValid(currentPageElement);});}}}}}}let dots=[];for(let i=0;i<state?.totalPages;i++){const selected=i==page;dots.push(/*#__PURE__*/_jsx(\"div\",{onClick:()=>onDotClick(i),style:{padding:isVertical?`${i==0?padding:gap/2}px ${padding}px ${i==state?.totalPages-1?padding:gap/2}px ${padding}px`:`${padding}px ${i==state?.totalPages-1?padding:gap/2}px ${padding}px ${i==0?padding:gap/2}px`,cursor:clickable&&!selected&&\"pointer\"},children:/*#__PURE__*/_jsx(motion.div,{animate:{...createBackground(props.fill,selected),boxShadow:selected&&props.shadows?.on?props.shadows?.on:props.shadows?.off,width:!isVertical&&selected?props.currentWidth:props.size,height:isVertical&&selected?props.currentWidth:props.size},style:{borderRadius:props.radius},initial:false,transition:props.transition})}));}return /*#__PURE__*/_jsx(\"div\",{\"data-framerforms\":true,ref:ref,style:{display:\"flex\",flexDirection:props.direction==\"horizontal\"?\"row\":\"column\",...props.style},children:dots});}FormDots.displayName=\"Form Navigation Dots\";addPropertyControls(FormDots,{clickable:{type:ControlType.Boolean,defaultValue:true},fill:fillProp({onOff:true,focus:false,invalid:false,optional:false,colorOn:\"#0099FF\",colorAOn:\"#91C5FF\",colorBOn:\"#0099FF\",colorOff:\"rgba(187, 187, 187, 0.5)\"}),direction:{type:ControlType.Enum,defaultValue:\"horizontal\",options:[\"horizontal\",\"vertical\"],displaySegmentedControl:true},size:{type:ControlType.Number,defaultValue:10,min:0,step:1,displayStepper:true},currentWidth:{type:ControlType.Number,defaultValue:20,min:0,step:1,displayStepper:true,title:\"Current\"},gap:{type:ControlType.Number,defaultValue:6,min:0,step:1,displayStepper:true},padding:{type:ControlType.Number,defaultValue:5,min:0,step:1,displayStepper:true},radius:{type:ControlType.Number,defaultValue:5,step:1,min:0,displayStepper:true},shadows:{type:ControlType.Object,optional:true,buttonTitle:\"Shadows\",controls:{off:{type:ControlType.BoxShadow},on:{type:ControlType.BoxShadow}}},transition:{type:ControlType.Transition,defaultValue:{type:\"spring\",damping:60,delay:0,duration:.3,mass:1,stiffness:800}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FormDots\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\",\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useState,useRef,cloneElement}from\"react\";import{motion}from\"framer-motion\";import{borderProp,fillProp,createBackground,Border,HideElement,useMultiStepFormStore,getFormInfo}from\"https://framerusercontent.com/modules/DwWOdDzQZGCuvkNlbUjZ/Rj7Kdx4qq62ukVsnw7Hz/FramerFormsShared.js\";const CANVAS_HIDDEN_CLASS_NAME=\"framerforms-canvas-hidden\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n */export default function MultiStepFormButton(props){const prev=props.page==\"previous\";const isCanvas=RenderTarget.current()===RenderTarget.canvas;const isOptimizing=typeof window===\"undefined\";const[multiStepFormState,setMultiStepFormState]=useMultiStepFormStore();const[formId,setFormId]=useState(null);const ref=useRef(null);const state=multiStepFormState[formId];useEffect(()=>{const newFormId=getFormInfo(ref.current).formId;if(!multiStepFormState[newFormId]){setMultiStepFormState({});}setFormId(newFormId);},[]);let hidden=false;if(isOptimizing||!state){hidden=prev;}else if(state?.pageHistory){const page=state.pageHistory[state.pageHistory.length-1];if(prev){hidden=page===0;}else{hidden=state.isEndPage;}}if(hidden&&!isCanvas){return /*#__PURE__*/_jsx(HideElement,{ref:ref});}function onClick(){if(state){if(prev){state.previousPage();}else{state.nextPage();}}props.click?.();}if(props.appearance==\"custom\"){let layer=props.customLayer?.[0];const width=props.style?.width;const height=props.style?.height;if(layer&&props.style&&(width||height)){layer=/*#__PURE__*/cloneElement(layer,{style:{...layer.props.style,...width&&{width:width},...height&&{height:height}}});}return /*#__PURE__*/_jsx(\"button\",{ref:ref,type:\"button\",style:{display:\"contents\"},onClick:onClick,onMouseEnter:props.hover,children:layer});}return /*#__PURE__*/_jsxs(motion.button,{\"data-framerforms\":true,ref:ref,type:\"button\",onClick:onClick,onMouseEnter:props.hover,className:hidden&&isCanvas?CANVAS_HIDDEN_CLASS_NAME:\"\",whileFocus:{...createBackground(props.fill,null,true),borderColor:props.border?.colorFocus??props.border?.color},style:{position:\"relative\",display:\"flex\",justifyContent:props.font?.textAlign||\"center\",alignItems:\"center\",...createBackground(props.fill),border:\"none\",color:props.color,padding:props.padding,borderRadius:props.radius,userSelect:\"none\",cursor:\"pointer\",textWrap:props.style?.width==\"100%\"?undefined:\"nowrap\",boxShadow:props.shadows,borderColor:props.border?.color,backdropFilter:props.bgBlur?`blur(${props.bgBlur}px)`:undefined,...props.font,...props.style},transition:props.transition,children:[props.text,/*#__PURE__*/_jsx(Border,{...props.border}),hidden&&isCanvas&&/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`\n                        [data-framer-component-container=\"true\"] div:has(> .${CANVAS_HIDDEN_CLASS_NAME}) {\n                            display: none !important;\n                        }`}})]});}MultiStepFormButton.displayName=\"Multi-Step Form Button\";addPropertyControls(MultiStepFormButton,{page:{type:ControlType.Enum,defaultValue:\"next\",options:[\"previous\",\"next\"],optionTitles:[\"Previous\",\"Next\"],displaySegmentedControl:true},autoHide:{type:ControlType.Boolean,defaultValue:true,title:\"Auto-Hide\",description:\"Hide on first/last page\"},appearance:{type:ControlType.Enum,defaultValue:\"default\",options:[\"default\",\"custom\"],optionTitles:[\"Default\",\"Custom\"],displaySegmentedControl:true},customLayer:{type:ControlType.ComponentInstance,title:\"Layer\",description:\"Connect a custom layer outside the breakpoint\",hidden:props=>props.appearance!==\"custom\"},text:{type:ControlType.String,defaultValue:\"Next\",hidden:props=>props.appearance!==\"default\"},fill:fillProp({focus:true,invalid:false,color:\"#333\",colorA:\"#8C8C8C\",colorB:\"#000\",hidden:props=>props.appearance!==\"default\"}),color:{type:ControlType.Color,defaultValue:\"#FFF\",hidden:props=>props.appearance!==\"default\"},font:{type:\"font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:1.2},hidden:props=>props.appearance!==\"default\"},padding:{type:ControlType.Padding,defaultValue:\"10px 16px 10px 16px\",hidden:props=>props.appearance!==\"default\"},radius:{type:ControlType.BorderRadius,defaultValue:\"10px\",hidden:props=>props.appearance!==\"default\"},border:borderProp({focus:true,color:\"#0099FF00\",hidden:props=>props.appearance!==\"default\"}),shadows:{type:ControlType.BoxShadow,hidden:props=>props.appearance!==\"default\"},bgBlur:{type:ControlType.Number,min:0,max:100,step:1,displayStepper:true,title:\"BG Blur\",hidden:props=>props.appearance!==\"default\"},transition:{type:ControlType.Transition,defaultValue:{type:false},hidden:props=>props.appearance!==\"default\"},click:{type:ControlType.EventHandler},hover:{type:ControlType.EventHandler}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MultiStepFormButton\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"A,kYAIG,SAAwBoC,EAAc,EAAM,CAAC,IAAMC,EAAIC,EAAM,SAAS,IAAUC,EAASjB,EAAa,QAAQ,IAAIA,EAAa,OAAakB,EAAIxC,EAAO,IAAI,EAAO,CAACyC,EAAmBC,GAAuBV,EAAsB,EAAQW,EAAYV,EAAeO,CAAG,EAAO,CAACI,EAAOC,GAAW5C,EAAS,IAAI,EAAQ6C,EAAMP,EAASI,EAAYF,EAAmBG,GAAgK,OAAxJ9B,MAAc,CAAC,IAAMiC,EAAUtB,EAAYe,EAAI,OAAO,CAAC,CAAC,OAAOK,EAAUE,CAAS,EAAMN,EAAmBM,IAAYL,EAAsB,CAAC,CAAC,CAAG,EAAE,CAAC,CAAC,EAAsB,gBAAKL,EAAI,CAAC,mBAAmB,GAAS,MAAI,MAAM,CAAC,MAAMC,EAAM,MAAM,WAAWA,EAAM,WAAW,OAAO,OAAO,WAAWA,EAAM,OAAO,MAAM,MAAM,SAAS,OAAO,EAAE,GAAGA,EAAM,KAAK,GAAGA,EAAM,KAAK,EAAE,SAASA,EAAM,KAAK,QAAQ,YAE1vBQ,GAAO,aAAaA,EAAM,YAAYA,EAAM,YAAY,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,kBAAkBA,GAAO,YAAY,CAAC,CAAC,CAAC,CAAE,C,8CAAC,EAAc,YAAY,kBAAkB3B,EAAoBiB,EAAc,CAAC,KAAK,CAAC,KAAKf,EAAY,OAAO,aAAa,6BAA6B,YAAY;sCAA+D,EAAE,KAAK,CACvW,KAAK,OAAO,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,GAAG,WAAW,GAAG,CAAC,EAAE,MAAM,CAAC,KAAKA,EAAY,MAAM,aAAa,MAAM,EAAE,WAAW,CAAC,KAAKA,EAAY,QAAQ,aAAa,EAAI,EAAE,QAAQ,CAAC,KAAKA,EAAY,KAAK,QAAQ,CAAC,IAAI,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,MAAM,UAAU,CAAC,CAAC,C,OCHpT,SAAS6B,EAAuB,EAAM,CAAC,GAAK,CAAC,eAAaZ,EAAYa,EAAG3B,EAAc,EAAQe,EAASjB,EAAa,QAAQ,IAAIA,EAAa,OAAY,CAACmB,EAAmBC,GAAuBV,EAAsB,EAAO,CAACoB,EAASC,GAAanD,EAAS,IAAI,EAAQoD,EAASnD,EAAOsC,EAAmBW,GAAU,OAAO,EAAQZ,EAAIrC,EAAO,IAAI,EAAQoD,EAAcpD,EAAO,CAAC,CAAC,EAAQqD,EAAiBrD,EAAO,EAAI,EAAO,CAACsD,EAAYC,GAAgBxD,EAAS,EAAK,EAAQ4C,EAAML,EAAmBW,GAAU,QAAcO,EAAYb,GAAO,YAS8D,OATlDhC,MAAc,CAAC,IAAMsC,EAAS3B,EAAYe,EAAI,OAAO,EAAEa,EAAYD,CAAQ,EAAE,GAAK,CAAC,SAAO,OAAK,SAAOA,EAAS,SAASQ,GAAc,CAAmBN,EAAS,SAAS,aAA4B,OAAO,GAAGZ,EAAsB,IAAO,EAAEE,GAAQ,CAAC,GAAGiB,EAAKjB,GAAQ,YAAYiB,EAAKjB,EAAO,CAAC,YAAY,MAAM,EAAE,EAAE,EAAE,UAAU,EAAK,CAAC,EAAE,CAAG,CAAC,SAASkB,GAAU,CAAC,IAAMhB,EAAMQ,EAAS,QAAQ,GAAGR,EAAM,CAAC,IAAMiB,EAAKjB,EAAM,YAAYA,EAAM,YAAY,OAAO,GAAQ,CAAC,gBAAcA,EAAUkB,EAAQ,KAAK,GAAGC,EAAa,QAAQC,EAAM,CAAC,IAAMC,EAAYD,EAAM,WAAWH,GAAM,IAAI,IAAMK,KAASH,EAAc,GAAGvC,EAAWyC,EAAYC,EAAM,IAAI,OAAO,EAAE,CAAC,IAAMC,EAAaD,EAAM,YAAY,EAAE,GAAGC,EAAa,CAAC,IAAMC,EAAcC,EAA8BL,EAAMG,CAAY,EAAKC,IAAgB,KAAI,EAAQA,GAAe,KAAM,CAAC,CAAE,CAAIN,IAAU,MAAMD,EAAKjB,EAAM,WAAW,IAAG,EAAQiB,EAAK,GAAG,IAAMI,EAAYD,EAAM,SAASH,GAASI,GAAa,CAACK,EAAYL,CAAW,IAAG,EAAQ,MAASH,GAAStB,EAAsB,GAAM,CAAC,IAAM+B,EAAUZ,EAAKjB,GAAQ,MAAM,EAAEA,GAAQ,CAAC,GAAG6B,EAAU,YAAY,CAAC,GAAGA,EAAU,YAAYT,CAAO,EAAE,UAAUU,EAAgB,CAAC,UAAUV,EAAQ,MAAMS,EAAU,QAAM,YAAYnC,EAAM,QAAQ,eAAeA,EAAM,aAAa,CAAC,CAAC,CAAC,CAAE,CAAC,CAAG,CAAC,CAAC,SAASqC,EAAqB,EAAU,CAACjC,EAAsB,GAAM,CAAC,IAAMiB,EAAYE,EAAKjB,EAAO,EAAE,aAAa,CAAC,EAAE,MAAM,EAAEA,GAAQ,CAAC,GAAGiB,EAAKjB,GAAQ,YAAYgC,GAAWjB,EAAY,OAAOA,EAAYA,EAAY,MAAM,EAAEiB,CAAS,EAAE,UAAUF,EAAgB,CAAC,UAAUf,EAAYiB,EAAU,GAAG,MAAMf,EAAKjB,GAAQ,QAAM,YAAYN,EAAM,QAAQ,eAAeA,EAAM,aAAa,CAAC,CAAC,CAAC,CAAE,CAAC,CAAE,CAAuM,GAAnMM,GAAQsB,GAAOxB,EAAsB,EAAEE,GAAQ,CAAC,WAAWsB,EAAM,SAAS,OAAO,YAAY,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,UAAUA,EAAM,SAAS,QAAQ,EAAE,eAAa,WAAS,sBAAoB,CAAC,CAAC,EAAMA,EAAM,CAAC,IAAMW,EAAaX,EAAM,SAAS,IAAI,IAAIY,EAAE,EAAEA,EAAED,EAAa,OAAO,IAAI,CAAC,IAAME,EAAOF,EAAaC,EAAE,CAAC,iBAAiB,OAAO,EAAMvB,EAAc,QAAQuB,KAAI,EAAc,QAAQA,GAAG,CAAC,GAAG,IAAI,IAAME,KAASD,EAA6C,GAArCxB,EAAc,QAAQuB,EAAE,CAAC,KAAKE,CAAK,EAAKA,EAAM,aAAa,UAAU,GAAGF,IAAI,EAAE,CAAC,IAAMG,MAAe,CAAKD,EAAM,QAAQ,eAAe,CAAKA,EAAM,QAAQA,EAAM,MAAM,CAAG,EAAE,GAAG,CACvvF,EAAMA,EAAM,OAEdA,EAAM,iBAAiB,OAAOC,EAAW,CAAC,KAAK,EAAI,CAAC,EADpDA,EAAW,CAC4C,CAAE,CAAC,CAAC,IAAIC,EAAgB,KAAK,GAAGC,EAAK,CAAC,SAASC,EAAa,EAAM,CAAC,GAAGC,EAAM,MAAM,SAASA,EAAM,OAAO,UAAU,WAAY,OAAQ,IAAMC,EAAaD,EAAM,OAAWE,EAAgBD,EAAiBE,EAAU,GAAM,KAAMD,GAAiB,CAACC,GAAU,CAAC,IAAMC,EAAWF,EAAgB,cAAc,GAAGE,GAAYvB,EAAM,CAAC,EAAU,GAAK,KAAM,CAAC,EAAgBuB,CAAW,CAAC,IAAMC,EAAYH,EAAoBI,EAAU,GAAK,GAAGD,EAAY,CAAC,IAAME,EAAOC,EAAgBH,CAAW,EAAQI,EAAaF,EAAO,QAAQN,CAAY,EAAE,GAAGQ,EAAaF,EAAO,OAAO,EACzmBA,EAAOE,EAAa,EAAE,CAAC,MAAM,MAAO,CAAC,IAAMjB,EAAa,MAAM,KAAKX,EAAM,QAAQ,EAAkBW,EAAa,QAAQa,CAAwB,EAAEb,EAAa,OAAO,EAAGf,EAAS,EAClL,EAAU,EAAO,CAAC,CAAI6B,IAAWN,EAAM,eAAe,EAAEA,EAAM,gBAAgB,EAAG,CACjFF,EAAK,iBAAiB,UAAUC,EAAa,EAAI,EAAE,MAAoB,CAACD,EAAK,oBAAoB,UAAUC,EAAa,EAAI,CAAE,CAAE,CAAC,GAAGF,EAAiB,OAAOA,CAAiB,EAAE,CAAC,CAAC,EAAEpE,MAAc,CAAC,EAAS,QAAQgC,CAAM,EAAE,CAACA,CAAK,CAAC,EAAEhC,MAAc,CAAC,GAAGgC,IAAQ,CAACP,GAAUC,EAAI,SAAS,QAAQ,0CAA0C,GAAG,CAAC,IAAMuD,EAAa3C,EAAS,MAAM,cAAc,uBAAuB,CAAC,EAAE,cAAiB2C,GAAcA,EAAa,aAAaC,EAA+BlD,EAAM,UAAU,QAAQ,MAAM,CAAG,CAAC,EAAE,CAACA,GAAO,SAAS,CAAC,EAAEhC,MAAc,CAAC,IAAMoD,EAAMd,GAAU,MAAM,GAAGc,GAAOP,EAAY,CACvmB,GAAGb,GAAO,cAAc,QAAQR,EAAM,SAAS,cAAe,IAAI,IAAIwC,EAAE,EAAEA,EAAEZ,EAAM,SAAS,OAAO,IAAK,GAAGP,EAAY,SAASmB,CAAC,EAAE,CAAC,IAAMc,EAAO1B,EAAM,SAASY,EAAE,EAAE,iBAAiB,mHAAmH,EAAE,IAAI,IAAMmB,KAASL,EAAQK,EAAM,gBAAgB,UAAU,CAAG,KAAK,CAAC,IAAML,EAAO1B,EAAM,SAASY,EAAE,EAAE,iBAAiB,2FAA2F,EAAE,IAAI,IAAMmB,KAASL,EAAQK,EAAM,aAAa,WAAW,aAAa,CAAG,CACpkB,IAAMP,EAAY/B,EAAYA,EAAY,OAAO,GAAG,GAAGJ,EAAc,QAAS,IAAI,IAAM2C,KAAa,OAAO,KAAK3C,EAAc,OAAO,EAAE,CAAC,IAAM4C,EAAW5C,EAAc,QAAQ2C,GAAW,IAAI,IAAMlB,KAASmB,EAAeD,GAAWR,EAAgBV,EAAM,aAAa,UAAU,GAAGA,EAAM,KAAK,EAAaA,EAAM,QAAQA,EAAM,MAAM,CAAI,CAC9U,GAAGoB,GAAahD,EAAS,MAAM,CAACI,EAAiB,QAAQ,CAAkD,IAAM6C,EAA5CjD,EAAS,KAAK,sBAAqC,CAAC,CAAC,IAAIgD,EAAY,OAAyD,GAAG,EAAnCC,GAAK,GAAGA,GAAK1F,EAAO,aAA4B,CAAC,IAAM2F,EAAgB3F,EAAO,aAAa,SAAS,gBAAgB,UAAUA,EAAO,SAAS,CAAC,IAAI2F,EAAgBD,EAAI,SAASD,EAAY,WAAW,CAAC,CAAE,CAAC,CAAK5C,EAAiB,SAAS+C,EAAqBrC,EAAM,SAASwB,EAAY,EAAG,EAAiB,QAAQ,EAAM,CAACc,EAAmBlE,EAAM,UAAUqB,EAAYP,GAAU,KAAK,CAAE,EAAE,CAACO,CAAW,CAAC,EAAE7C,MAAc,CAAC4C,EAAe,EAAI,CAAE,EAAE,CAAC,CAAC,EAAsB,gBAAM5B,EAAqB,CAAC,KAAK,kBAAkB,SAAS,CAAc,gBAAM,MAAM,CAAC,MAAM,6BAA6B,QAAQ,aAAa,MAAM,MAAM,OAAO,KAAK,MAAM,CAAC,aAAa,CAAC,EAAE,SAAS,CAAc,gBAAK,OAAO,CAAC,EAAE,kMAAkM,KAAK,SAAS,CAAC,EAAe,gBAAK,OAAO,CAAC,EAAE,8xGAA8xG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,EAAe,gBAAM,MAAM,CAAK,MAAO,KAAG,mCAAmC,GAAK,UAAU,CAAC2B,GAAa,CAAClB,EAASkE,EAAwB,GAAG,MAAM,CAAC,QAAQ,MAAM,EAAE,SAAS,CAAChD,GAAa,CAAClB,GAAuB,gBAAK,QAAQ,CAAC,wBAAwB,CAAC,OAAO,wBAAwBa,GAAU,OAAO,uDAAuDO,EAAYA,EAAYA,EAAY,OAAO,GAAG,EAAE,EAAE,sBAAsB,CAAC,CAAC,EAAEpB,GAAuB,gBAAK,QAAQ,CAAC,wBAAwB,CAAC,OAAO,iEAAiEa,GAAU,OAAO,2EAA2E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAWvgK,SAAgBoB,EAAY,EAAQ,CAAC,IAAMoB,EAAOc,EAAQ,iBAAiB,yBAAyB,EAAMC,EAAc,CAAC,EAAE,IAAI,IAAMV,KAASL,EAAWgB,EAAUX,CAAK,GAAG,CAACA,EAAM,eAAe,GAAGU,EAAc,KAAKV,CAAK,EAAI,OAAOU,EAAc,SAAS,CAAE,CAOhQ,SAAgBE,EAAwB,EAAQ,CAAC,IAAMjB,EAAOc,EAAQ,iBAAiB,uDAAuD,EAAE,IAAI,IAAMT,KAASL,EAAO,CAC7K,GAAGK,EAAM,SAAS,SAElB,IAAMa,EAAcb,EAAM,WAAW,IAAIA,EAAM,MAAM,UAAU,IAAUc,EAAsBd,EAAM,aAAa,kCAAkC,EAAE,IAAG,IAAgBc,KAC7Jd,EAAM,OAAO,KAAK,GAAG,MAAc,GAAI,MAAO,EAAO,CAAC,MAAO,EAAK,CAK3E,SAASW,EAAU,EAAQ,CAAC,OAAOF,EAAQ,eAAe,MAAMA,aAAmB,kBAAkBA,EAAQ,OAAO,QAAS,CAK7H,SAASnC,EAA8B,EAAc,EAAK,CAAC,IAAMyC,EAAS,MAAM,KAAKC,EAAc,QAAQ,EAAE,IAAI,IAAInC,EAAE,EAAEA,EAAEkC,EAAS,OAAO,IAAK,GAAGA,EAASlC,EAAE,CAAC,aAAa,kBAAkB,IAAIoC,EAAM,OAAOpC,EAAI,MAAM,EAC3N,CAUE,SAASJ,EAAgB,CAAC,YAAU,QAAM,QAAM,cAAY,kBAAgB,CAAC,IAAIyC,EAAU,GAAM,GAAGC,IAAc,eAAelD,EAAM,CAAC,IAAMmD,EAAKnD,EAAM,SAASgC,GAAcoB,EAAe,SAASD,EAAK,aAAa,kBAAkB,CAAC,IAAG,EAAU,GAAM,KAAM,GAAUnB,GAAWpD,EAAM,WAAW,EAAG,OAAOqE,CAAU,CAUhU,SAASX,EAAmB,EAAU,EAAY,EAAM,CAAC,GAAIe,GAAY5D,GAAcO,GAAsBqD,EAAU,WAAc,mBAA4B5G,IAAS,OAAY,CAAC,GAAUA,EAAO,OAAO,OAAY,CAAC,IAAMuF,EAAUvC,EAAYA,EAAY,OAAO,GAASI,EAAKG,GAAO,SAASgC,GAAiBsB,EAAO,CAAC,UAAUzD,GAAM,aAAa,kBAAkB,GAAGA,GAAM,aAAa,MAAM,GAAG,QAAQmC,EAAU,GAAG,EAAKqB,EAAU,+BAA8B,EAAO,eAAeA,EAAU,8BAA8B5G,EAAO,KAAK,QAAQ4G,EAAU,yBAAyBC,CAAM,CAAE,MAAM,QAAQ,MAAM,mDAAmD,CAAG,CAAQ,CAAC,SAAS3B,EAAgB,EAAK,CAAC,OAAO,MAAM,KAAK9B,EAAK,iBAAiB,+RAA+R,CAAC,CAAC,CAAC,OAAO,GAAIpD,EAAO,iBAAiB8G,CAAE,CAAC,CAAC,UAAU,MAAM,CAAE,CAAC,SAASlB,EAAqB,EAAY,CAAC,GAAG,CAACpC,EAAa,OACpoC,IAAMuD,EAAkBvD,EAAY,iBAAiB,0DAA0D,EAEzGwD,EADS,MAAM,KAAKD,CACG,CAAC,CAAC,OAAO,GAAI,CAAC,IAAME,EAAMjH,EAAO,iBAAiB8G,CAAE,EAAE,OAAOG,EAAM,UAAU,QAAQA,EAAM,aAAa,UAAU,CAACH,EAAG,QAAQ,CAACA,EAAG,UAAUA,EAAG,eAAe,IAC1L,CAAC,EACCE,EAAgB,OAAO,GAAGA,EAAgB,EAAE,CAAC,MAAM,CAAG,C,4DAvE8T,EAAwB,8BAAoC,EAA+B,mCAiBzc,EAAcpG,EAAQ2B,EAAuB,CAAC,aAAauD,EAAwB,2EAA2E,aAAaA,EAAwB,uDAAuD,IAAIT,EAA+B,4BAA4B,EAAES,CAAuB,EAA+B,EAAc,YAAY,0BAA0BtF,EAAoB0G,EAAc,CAAC,QAAQ,CAAC,KAAKxG,EAAY,KAAK,aAAa,WAAW,QAAQ,CAAC,WAAW,aAAa,EAAE,aAAa,CAAC,YAAY,cAAc,EAAE,wBAAwB,GAAK,0BAA0B,UAAU,EAAE,cAAc,CAAC,KAAKA,EAAY,MAAM,QAAQ,CAAC,KAAKA,EAAY,OAAO,aAAa,GAAG,YAAY,kBAAkB,oBAAoB,EAAI,EAAE,MAAM,QAAQ,YAAY,sDAAsD,OAAO,GAAOiB,EAAM,UAAU,aAAa,EAAE,UAAU,CAAC,KAAKjB,EAAY,OAAO,SAAS,GAAK,KAAK,cAAc,SAAS,CAAC,SAAS,CAAC,KAAKA,EAAY,KAAK,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAAE,yBAAyB,CAAC,KAAKA,EAAY,OAAO,YAAY,aAAa,MAAM,aAAa,oBAAoB,GAAK,OAAO,GAAOiB,EAAM,WAAW,iBAAiB,EAAE,6BAA6B,CAAC,KAAKjB,EAAY,OAAO,YAAY,WAAW,MAAM,WAAW,YAAY,uDAAuD,oBAAoB,GAAK,OAAO,GAAOiB,EAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,YAAY,CAAC,KAAKjB,EAAY,OAAO,SAAS,GAAK,MAAM,gBAAgB,SAAS,CAAC,YAAY,CAAC,KAAKA,EAAY,KAAK,aAAa,SAAS,QAAQ,CAAC,SAAS,SAAS,EAAE,aAAa,CAAC,SAAS,SAAS,EAAE,wBAAwB,GAAK,MAAM,QAAQ,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,aAAa,GAAG,KAAK,EAAE,YAAY,uFAAuF,CAAC,CAAC,CAAC,CAAC,C,OCb73D,SAAwB0G,EAAS,EAAM,CAAC,GAAK,CAAC,OAAK,MAAI,YAAU,WAASzF,EAAY0F,EAAW1F,EAAM,YAAY,WAAiBC,EAASjB,EAAa,QAAQ,IAAIA,EAAa,OAAakB,EAAIpC,EAAO,IAAI,EAAO,CAACqC,EAAmBC,GAAuBV,EAAsB,EAAQW,EAAYV,EAAeO,CAAG,EAAO,CAACI,EAAOC,GAAWxC,EAAS,IAAI,EAAQyC,EAAMP,EAASI,EAAYF,EAAmBG,GAAce,EAAYb,GAAO,YAAkBiB,EAAKJ,EAAYA,EAAYA,EAAY,OAAO,GAAG,EAAE7C,MAAc,CAAC,IAAMiC,EAAUtB,EAAYe,EAAI,OAAO,CAAC,CAAC,OAAOK,EAAUE,CAAS,EAAMN,EAAmBM,IAAYL,EAAsB,CAAC,CAAC,CAAG,EAAE,CAAC,CAAC,EAAE,SAASuF,EAAW,EAAM,CAAC,GAAGC,GAAWpF,GAAOF,GAAQuF,GAAO,GAAGA,EAAMrF,EAAM,WAAW,CAAC,IAAMsF,EAAezE,GAAa,CAAC,CAAC,EAAQ+B,EAAY0C,EAAeA,EAAe,OAAO,GAAG,GAAGD,EAAMC,EAAe,OAC/2BtF,EAAM,qBAAqBqF,EAAM,CAAC,OAAQ,GAAGA,EAAMzC,EAAY,CAC/D,GAAK,CAAC,SAAOjE,EAAYe,EAAI,OAAO,EAAE,GAAG,CAAC0B,EAAM,OAAO,IAAMmE,EAAW,CAAC,GAAGD,CAAc,EAAME,EAAc,KAE9G,IAAI,IAAIxD,EAAEY,EAAYZ,EAAEqD,EAAM,IAAI,CAAC,IAAMhE,EAAYD,EAAM,SAASY,GACpE,GAAGX,GAAa,CAAC0C,EAAwB1C,CAAW,EAAE,CAAC,EAAcW,EAAE,KAAM,CAC1EA,EAAE,GAAGqD,GAAOE,EAAW,KAAKvD,EAAE,CAAC,CAAG,CACrC,GAAGuD,EAAW,OAAOD,EAAe,OAAO,CAAC,IAAMG,EAAUF,EAAWA,EAAW,OAAO,GAASG,EAAuBD,EAAUJ,EAAMzF,EAAsB,IAAO,EAAEE,GAAQ,CAAC,GAAGiB,EAAKjB,GAAQ,YAAYyF,EAAW,UAAUE,IAAY1E,EAAKjB,EAAO,CAAC,WAAW,CAAC,CAAC,EAAE,EACvQ4F,GACH,0BAA0B,CAAC,IAAMC,EAAYvE,EAAM,SAASqE,GAAcE,GAAajE,EAAYiE,CAAW,CAAG,CAAC,CAAG,MACrH,GAAGH,IAAgB,KAAK,CAAC,IAAMI,EAAmBxE,EAAM,SAASoE,GAAkBI,GAAoB,0BAA0B,CAAClE,EAAYkE,CAAkB,CAAE,CAAC,CAAG,CAAE,CAAC,CAAC,CAAC,IAAIC,EAAK,CAAC,EAAE,IAAI,IAAI7D,EAAE,EAAEA,EAAEhC,GAAO,WAAW,IAAI,CAAC,IAAM8F,EAAS9D,GAAGf,EAAK4E,EAAK,KAAkB,gBAAK,MAAM,CAAC,YAAYV,EAAWnD,CAAC,EAAE,MAAM,CAAC,QAAQkD,EAAW,GAAGlD,GAAG,EAAE+D,EAAQC,EAAI,EAAE,KAAKD,EAAQ,KAAK/D,GAAGhC,GAAO,WAAW,EAAE+F,EAAQC,EAAI,EAAE,KAAKD,EAAQ,IAAI,GAAGA,EAAQ,KAAK/D,GAAGhC,GAAO,WAAW,EAAE+F,EAAQC,EAAI,EAAE,KAAKD,EAAQ,KAAK/D,GAAG,EAAE+D,EAAQC,EAAI,EAAE,IAAI,OAAOZ,GAAW,CAACU,GAAU,SAAS,EAAE,SAAsB,gBAAK3H,EAAO,IAAI,CAAC,QAAQ,CAAC,GAAGkB,EAAiBG,EAAM,KAAKsG,CAAQ,EAAE,UAAUA,GAAUtG,EAAM,SAAS,GAAGA,EAAM,SAAS,GAAGA,EAAM,SAAS,IAAI,MAAM,CAAC0F,GAAYY,EAAStG,EAAM,aAAaA,EAAM,KAAK,OAAO0F,GAAYY,EAAStG,EAAM,aAAaA,EAAM,IAAI,EAAE,MAAM,CAAC,aAAaA,EAAM,MAAM,EAAE,QAAQ,GAAM,WAAWA,EAAM,UAAU,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,MAAoB,gBAAK,MAAM,CAAC,mBAAmB,GAAS,MAAI,MAAM,CAAC,QAAQ,OAAO,cAAcA,EAAM,WAAW,aAAa,MAAM,SAAS,GAAGA,EAAM,KAAK,EAAE,SAASqG,CAAI,CAAC,CAAE,C,sDAAC,EAAS,YAAY,uBAAuBxH,EAAoB4G,EAAS,CAAC,UAAU,CAAC,KAAK1G,EAAY,QAAQ,aAAa,EAAI,EAAE,KAAKM,EAAS,CAAC,MAAM,GAAK,MAAM,GAAM,QAAQ,GAAM,SAAS,GAAM,QAAQ,UAAU,SAAS,UAAU,SAAS,UAAU,SAAS,0BAA0B,CAAC,EAAE,UAAU,CAAC,KAAKN,EAAY,KAAK,aAAa,aAAa,QAAQ,CAAC,aAAa,UAAU,EAAE,wBAAwB,EAAI,EAAE,KAAK,CAAC,KAAKA,EAAY,OAAO,aAAa,GAAG,IAAI,EAAE,KAAK,EAAE,eAAe,EAAI,EAAE,aAAa,CAAC,KAAKA,EAAY,OAAO,aAAa,GAAG,IAAI,EAAE,KAAK,EAAE,eAAe,GAAK,MAAM,SAAS,EAAE,IAAI,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAI,EAAE,QAAQ,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAI,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAI,EAAE,QAAQ,CAAC,KAAKA,EAAY,OAAO,SAAS,GAAK,YAAY,UAAU,SAAS,CAAC,IAAI,CAAC,KAAKA,EAAY,SAAS,EAAE,GAAG,CAAC,KAAKA,EAAY,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,KAAKA,EAAY,WAAW,aAAa,CAAC,KAAK,SAAS,QAAQ,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,C,OCV1pE,SAAwB2H,EAAoB,EAAM,CAAC,IAAMnF,EAAKvB,EAAM,MAAM,WAAiBC,EAASjB,EAAa,QAAQ,IAAIA,EAAa,OAAa2H,EAAoBtI,IAAS,OAAiB,CAAC8B,EAAmBC,GAAuBV,EAAsB,EAAO,CAACY,EAAOC,GAAWvC,EAAS,IAAI,EAAQkC,EAAIjC,EAAO,IAAI,EAAQuC,EAAML,EAAmBG,GAAQ9B,MAAc,CAAC,IAAMiC,EAAUtB,EAAYe,EAAI,OAAO,CAAC,CAAC,OAAWC,EAAmBM,IAAYL,EAAsB,CAAC,CAAC,EAAGG,EAAUE,CAAS,CAAE,EAAE,CAAC,CAAC,EAAE,IAAImG,EAAO,GAAM,GAAGD,GAAc,CAACnG,EAAO,EAAOe,OAAW,GAAGf,GAAO,YAAY,CAAC,IAAMiB,EAAKjB,EAAM,YAAYA,EAAM,YAAY,OAAO,GAAG,AAA+BoG,EAA5BrF,EAAaE,IAAO,EAAejB,EAAM,SAAW,CAAC,GAAGoG,GAAQ,CAAC3G,EAAU,MAAoB,gBAAKL,EAAY,CAAK,KAAG,CAAC,EAAG,SAASiH,GAAS,CAAIrG,IAAUe,EAAMf,EAAM,aAAa,EAAQA,EAAM,SAAS,GAAIR,EAAM,QAAQ,CAAE,CAAC,GAAGA,EAAM,YAAY,SAAS,CAAC,IAAI8G,EAAM9G,EAAM,cAAc,GAAS+G,EAAM/G,EAAM,OAAO,MAAYgH,EAAOhH,EAAM,OAAO,OAAyK,OAA/J8G,GAAO9G,EAAM,QAAQ+G,GAAOC,KAAS,EAAmB,gBAAaF,EAAM,CAAC,MAAM,CAAC,GAAGA,EAAM,MAAM,MAAM,GAAGC,GAAO,CAAO,OAAK,EAAE,GAAGC,GAAQ,CAAQ,QAAM,CAAC,CAAC,CAAC,GAAuB,gBAAK,SAAS,CAAK,MAAI,KAAK,SAAS,MAAM,CAAC,QAAQ,UAAU,EAAU,UAAQ,aAAahH,EAAM,MAAM,SAAS8G,CAAK,CAAC,CAAE,CAAC,MAAoB,gBAAMnI,EAAO,OAAO,CAAC,mBAAmB,GAAS,MAAI,KAAK,SAAiB,UAAQ,aAAaqB,EAAM,MAAM,UAAU4G,GAAQ3G,EAASgH,EAAyB,GAAG,WAAW,CAAC,GAAGpH,EAAiBG,EAAM,KAAK,KAAK,EAAI,EAAE,YAAYA,EAAM,QAAQ,YAAYA,EAAM,QAAQ,KAAK,EAAE,MAAM,CAAC,SAAS,WAAW,QAAQ,OAAO,eAAeA,EAAM,MAAM,WAAW,SAAS,WAAW,SAAS,GAAGH,EAAiBG,EAAM,IAAI,EAAE,OAAO,OAAO,MAAMA,EAAM,MAAM,QAAQA,EAAM,QAAQ,aAAaA,EAAM,OAAO,WAAW,OAAO,OAAO,UAAU,SAASA,EAAM,OAAO,OAAO,OAAO,IAAA,GAAU,SAAS,UAAUA,EAAM,QAAQ,YAAYA,EAAM,QAAQ,MAAM,eAAeA,EAAM,OAAO,QAAQA,EAAM,OAAO,KAAK,IAAA,GAAU,GAAGA,EAAM,KAAK,GAAGA,EAAM,KAAK,EAAE,WAAWA,EAAM,WAAW,SAAS,CAACA,EAAM,KAAkB,gBAAKP,EAAO,CAAC,GAAGO,EAAM,MAAM,CAAC,EAAE4G,GAAQ3G,GAAuB,gBAAK,QAAQ,CAAC,wBAAwB,CAAC,OAAO;8EAC1nEgH,EAAyB;;0BAE7E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,C,4DAPuY,EAAyB,4BAO/Z,EAAoB,YAAY,yBAAyBpI,EAAoB6H,EAAoB,CAAC,KAAK,CAAC,KAAK3H,EAAY,KAAK,aAAa,OAAO,QAAQ,CAAC,WAAW,MAAM,EAAE,aAAa,CAAC,WAAW,MAAM,EAAE,wBAAwB,EAAI,EAAE,SAAS,CAAC,KAAKA,EAAY,QAAQ,aAAa,GAAK,MAAM,YAAY,YAAY,yBAAyB,EAAE,WAAW,CAAC,KAAKA,EAAY,KAAK,aAAa,UAAU,QAAQ,CAAC,UAAU,QAAQ,EAAE,aAAa,CAAC,UAAU,QAAQ,EAAE,wBAAwB,EAAI,EAAE,YAAY,CAAC,KAAKA,EAAY,kBAAkB,MAAM,QAAQ,YAAY,gDAAgD,OAAO,GAAOiB,EAAM,aAAa,QAAQ,EAAE,KAAK,CAAC,KAAKjB,EAAY,OAAO,aAAa,OAAO,OAAO,GAAOiB,EAAM,aAAa,SAAS,EAAE,KAAKX,EAAS,CAAC,MAAM,GAAK,QAAQ,GAAM,MAAM,OAAO,OAAO,UAAU,OAAO,OAAO,OAAO,GAAOW,EAAM,aAAa,SAAS,CAAC,EAAE,MAAM,CAAC,KAAKjB,EAAY,MAAM,aAAa,OAAO,OAAO,GAAOiB,EAAM,aAAa,SAAS,EAAE,KAAK,CAAC,KAAK,OAAO,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,GAAG,WAAW,GAAG,EAAE,OAAO,GAAOA,EAAM,aAAa,SAAS,EAAE,QAAQ,CAAC,KAAKjB,EAAY,QAAQ,aAAa,sBAAsB,OAAO,GAAOiB,EAAM,aAAa,SAAS,EAAE,OAAO,CAAC,KAAKjB,EAAY,aAAa,aAAa,OAAO,OAAO,GAAOiB,EAAM,aAAa,SAAS,EAAE,OAAOT,EAAW,CAAC,MAAM,GAAK,MAAM,YAAY,OAAO,GAAOS,EAAM,aAAa,SAAS,CAAC,EAAE,QAAQ,CAAC,KAAKjB,EAAY,UAAU,OAAO,GAAOiB,EAAM,aAAa,SAAS,EAAE,OAAO,CAAC,KAAKjB,EAAY,OAAO,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,eAAe,GAAK,MAAM,UAAU,OAAO,GAAOiB,EAAM,aAAa,SAAS,EAAE,WAAW,CAAC,KAAKjB,EAAY,WAAW,aAAa,CAAC,KAAK,EAAK,EAAE,OAAO,GAAOiB,EAAM,aAAa,SAAS,EAAE,MAAM,CAAC,KAAKjB,EAAY,YAAY,EAAE,MAAM,CAAC,KAAKA,EAAY,YAAY,CAAC,CAAC,C"}