{"version":3,"file":"FileUpload.5RpwXCga.mjs","names":["useState","useRef","useCallback"],"sources":["https:/framerusercontent.com/modules/LkHzMMx62cMyUfW9EeAx/6APpWeKPOtNLAiLQZreT/FileUpload.js"],"sourcesContent":["// Drag-and-drop file upload component with preview, file reordering, multiple file support, and multi-provider cloud storage integration\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useRef,useCallback,startTransition,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * File Upload Component\n *\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight 400\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function FileUpload(props){const{allowedTypes=[\"jpg\",\"jpeg\",\"png\",\"gif\",\"pdf\"],maxFileSize=5,dropAreaText=\"Drag & Drop files here\",dropAreaSubtext=\"or click to browse\",primaryColor=\"#000000\",secondaryColor=\"#FFFFFF\",dropAreaBorder={borderWidth:2,borderStyle:\"dashed\",borderColor:\"#EEEEEE\"},required=false,errorMessage=\"Please upload at least one file\",errorColor=\"#DC2626\",errorBackground=\"#FEF2F2\",errorFontSize=12,borderRadius=8,inputName=\"file\",dropAreaFont,dropAreaSubtextFont,padding=24,gap=20,onFileChange}=props;const[files,setFiles]=useState([]);const[isDragging,setIsDragging]=useState(false);const[draggedIndex,setDraggedIndex]=useState(null);const[showError,setShowError]=useState(false);const[validationError,setValidationError]=useState(null);const[isMobile,setIsMobile]=useState(false);const fileInputRef=useRef(null);const hiddenInputRef=useRef(null);const validateFile=useCallback(file=>{const extension=file.name.split(\".\").pop()?.toLowerCase();if(!extension||!allowedTypes.includes(extension)){return{valid:false,error:`File type \".${extension}\" is not allowed. Accepted types: ${allowedTypes.join(\", \")}`};}if(file.size>maxFileSize*1024*1024){return{valid:false,error:`File \"${file.name}\" exceeds the ${maxFileSize}MB size limit (${(file.size/1024/1024).toFixed(2)}MB)`};}return{valid:true};},[allowedTypes,maxFileSize]);const processFiles=useCallback(fileList=>{const newFiles=[];const filesToProcess=[fileList[0]];filesToProcess.forEach(file=>{const validation=validateFile(file);if(validation.valid){const fileItem={id:`${Date.now()}-${Math.random()}`,file,progress:0,uploaded:false};if(file.type.startsWith(\"image/\")){fileItem.preview=URL.createObjectURL(file);}newFiles.push(fileItem);}else if(validation.error){startTransition(()=>{setValidationError(validation.error);setShowError(false);});}});if(newFiles.length>0){startTransition(()=>{setFiles(newFiles);setShowError(false);setValidationError(null);});// Update hidden input and trigger callback\nconst file=newFiles[0].file;if(hiddenInputRef.current&&fileInputRef.current?.files){// Copy the files from the visible input to the hidden input\nhiddenInputRef.current.files=fileInputRef.current.files;}if(onFileChange){onFileChange(file);}newFiles.forEach(fileItem=>{simulateUpload(fileItem.id);});}},[validateFile,onFileChange]);const simulateUpload=useCallback(fileId=>{const interval=setInterval(()=>{startTransition(()=>{setFiles(prev=>prev.map(f=>{if(f.id===fileId&&f.progress<100){const newProgress=Math.min(f.progress+5,100);return{...f,progress:newProgress,uploaded:newProgress===100,url:newProgress===100?`data:text/plain;base64,${btoa(\"File stored locally in browser memory\")}`:undefined};}return f;}));});},100);setTimeout(()=>clearInterval(interval),2e3);},[]);const handleDragEnter=useCallback(e=>{e.preventDefault();e.stopPropagation();startTransition(()=>setIsDragging(true));},[]);const handleDragLeave=useCallback(e=>{e.preventDefault();e.stopPropagation();startTransition(()=>setIsDragging(false));},[]);const handleDragOver=useCallback(e=>{e.preventDefault();e.stopPropagation();},[]);const handleDrop=useCallback(e=>{e.preventDefault();e.stopPropagation();startTransition(()=>setIsDragging(false));if(e.dataTransfer.files&&e.dataTransfer.files.length>0){processFiles(e.dataTransfer.files);}},[processFiles]);const handleFileSelect=useCallback(e=>{if(e.target.files&&e.target.files.length>0){processFiles(e.target.files);}},[processFiles]);const handleRemoveFile=useCallback(fileId=>{startTransition(()=>{setFiles(prev=>{const file=prev.find(f=>f.id===fileId);if(file?.preview){URL.revokeObjectURL(file.preview);}return prev.filter(f=>f.id!==fileId);});setValidationError(null);setShowError(false);});// Clear both file inputs and trigger callback\nif(fileInputRef.current){fileInputRef.current.value=\"\";}if(hiddenInputRef.current){hiddenInputRef.current.value=\"\";}if(onFileChange){onFileChange(null);}},[onFileChange]);const handleFileDragStart=useCallback(index=>{startTransition(()=>setDraggedIndex(index));},[]);const handleFileDragOver=useCallback((e,index)=>{e.preventDefault();if(draggedIndex===null||draggedIndex===index)return;startTransition(()=>{setFiles(prev=>{const newFiles=[...prev];const draggedFile=newFiles[draggedIndex];newFiles.splice(draggedIndex,1);newFiles.splice(index,0,draggedFile);return newFiles;});setDraggedIndex(index);});},[draggedIndex]);const handleFileDragEnd=useCallback(()=>{startTransition(()=>setDraggedIndex(null));},[]);// Detect mobile devices\nuseEffect(()=>{const checkMobile=()=>{const mobile=window.innerWidth<768||\"ontouchstart\"in window;startTransition(()=>setIsMobile(mobile));};checkMobile();window.addEventListener(\"resize\",checkMobile);return()=>window.removeEventListener(\"resize\",checkMobile);},[]);// Handle form validation\nuseEffect(()=>{const hiddenInput=hiddenInputRef.current;if(!hiddenInput)return;const handleInvalid=e=>{e.preventDefault();startTransition(()=>setShowError(true));};hiddenInput.addEventListener(\"invalid\",handleInvalid);return()=>hiddenInput.removeEventListener(\"invalid\",handleInvalid);},[]);const currentPadding=isMobile?Math.max(padding*.67,16):padding;return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",flexDirection:\"column\",gap:isMobile?Math.max(gap*.8,12):gap,overflow:\"auto\",WebkitOverflowScrolling:\"touch\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{border:`${dropAreaBorder.borderWidth||2}px ${dropAreaBorder.borderStyle||\"dashed\"} ${isDragging?primaryColor:showError||validationError?errorColor:dropAreaBorder.borderColor||\"#EEEEEE\"}`,borderRadius,padding:isMobile?24:40,textAlign:\"center\",cursor:\"pointer\",transition:\"all 0.2s ease\",backgroundColor:isDragging?`${primaryColor}10`:\"transparent\",WebkitTapHighlightColor:\"transparent\",touchAction:\"manipulation\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\"},onDragEnter:handleDragEnter,onDragLeave:handleDragLeave,onDragOver:handleDragOver,onDrop:handleDrop,onClick:()=>fileInputRef.current?.click(),children:[files.length===0?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",width:\"100%\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:showError||validationError?errorColor:primaryColor,marginBottom:8,...dropAreaFont},children:dropAreaText}),/*#__PURE__*/_jsx(\"div\",{style:{color:showError||validationError?errorColor:primaryColor,opacity:.6,...dropAreaSubtextFont},children:dropAreaSubtext})]}):/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"flex-start\",gap:isMobile?10:12,textAlign:\"left\"},children:[!isMobile&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:2,cursor:\"grab\",padding:\"4px 2px\",opacity:.4,flexShrink:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:16,height:2,backgroundColor:primaryColor,borderRadius:1}}),/*#__PURE__*/_jsx(\"div\",{style:{width:16,height:2,backgroundColor:primaryColor,borderRadius:1}}),/*#__PURE__*/_jsx(\"div\",{style:{width:16,height:2,backgroundColor:primaryColor,borderRadius:1}})]}),files[0].preview&&/*#__PURE__*/_jsx(\"img\",{src:files[0].preview,alt:files[0].file.name,style:{width:isMobile?40:48,height:isMobile?40:48,objectFit:\"cover\",borderRadius:4,flexShrink:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:primaryColor,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\",...dropAreaFont},children:files[0].file.name}),/*#__PURE__*/_jsxs(\"div\",{style:{color:primaryColor,opacity:.6,marginTop:4,...dropAreaSubtextFont},children:[(files[0].file.size/1024/1024).toFixed(2),\" MB\"]}),!files[0].uploaded&&/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:2,backgroundColor:`${dropAreaBorder.borderColor||\"#EEEEEE\"}80`,borderRadius:1,marginTop:8,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{style:{width:`${files[0].progress}%`,height:\"100%\",backgroundColor:primaryColor,transition:\"width 0.1s linear\"}})})]}),/*#__PURE__*/_jsx(\"button\",{onClick:e=>{e.stopPropagation();handleRemoveFile(files[0].id);},style:{background:\"transparent\",border:\"none\",cursor:\"pointer\",padding:isMobile?12:4,color:primaryColor,fontSize:isMobile?24:20,minWidth:isMobile?44:\"auto\",minHeight:isMobile?44:\"auto\",display:\"flex\",alignItems:\"flex-start\",justifyContent:\"center\",WebkitTapHighlightColor:\"transparent\",touchAction:\"manipulation\",flexShrink:0},children:/*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 20 20\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M15 5L5 15M5 5L15 15\",stroke:\"currentColor\",strokeWidth:\"1\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})})]}),/*#__PURE__*/_jsx(\"input\",{ref:fileInputRef,type:\"file\",accept:allowedTypes.map(t=>`.${t}`).join(\",\"),onChange:handleFileSelect,style:{display:\"none\"}})]}),/*#__PURE__*/_jsx(\"input\",{ref:hiddenInputRef,type:\"file\",name:inputName,accept:allowedTypes.map(t=>`.${t}`).join(\",\"),required:required,style:{display:\"none\"},tabIndex:-1,\"aria-hidden\":\"true\"}),showError&&/*#__PURE__*/_jsxs(\"div\",{style:{color:errorColor,paddingTop:isMobile?10:8,paddingBottom:isMobile?10:8,paddingLeft:0,paddingRight:0,backgroundColor:errorBackground,borderRadius:4,fontSize:errorFontSize,display:\"flex\",alignItems:\"center\",gap:8},children:[/*#__PURE__*/_jsxs(\"svg\",{width:errorFontSize,height:errorFontSize,viewBox:\"0 0 16 16\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:{flexShrink:0},children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"8\",cy:\"8\",r:\"8\",fill:errorColor}),/*#__PURE__*/_jsx(\"path\",{d:\"M8 4V9\",stroke:\"#000000\",strokeWidth:\"1.5\",strokeLinecap:\"round\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"8\",cy:\"11.5\",r:\"0.75\",fill:\"#000000\"})]}),/*#__PURE__*/_jsx(\"span\",{style:{flex:1,fontSize:errorFontSize},children:errorMessage})]}),validationError&&/*#__PURE__*/_jsxs(\"div\",{style:{color:errorColor,paddingTop:isMobile?10:12,paddingBottom:isMobile?10:12,paddingLeft:0,paddingRight:0,backgroundColor:errorBackground,borderRadius:4,border:`1px solid ${errorColor}40`,fontSize:errorFontSize,display:\"flex\",alignItems:\"center\",gap:8},children:[/*#__PURE__*/_jsxs(\"svg\",{width:errorFontSize,height:errorFontSize,viewBox:\"0 0 16 16\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:{flexShrink:0},children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"8\",cy:\"8\",r:\"8\",fill:errorColor}),/*#__PURE__*/_jsx(\"path\",{d:\"M8 4V9\",stroke:\"#000000\",strokeWidth:\"1.5\",strokeLinecap:\"round\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"8\",cy:\"11.5\",r:\"0.75\",fill:\"#000000\"})]}),/*#__PURE__*/_jsx(\"span\",{style:{flex:1,fontSize:errorFontSize},children:validationError})]})]});}addPropertyControls(FileUpload,{allowedTypes:{type:ControlType.Array,title:\"Allowed Types\",control:{type:ControlType.String},defaultValue:[\"jpg\",\"jpeg\",\"png\",\"gif\",\"pdf\"]},maxFileSize:{type:ControlType.Number,title:\"Max Size (MB)\",defaultValue:5,min:1,max:100,step:1},dropAreaText:{type:ControlType.String,title:\"Drop Area Text\",defaultValue:\"Drag & Drop files here\"},dropAreaSubtext:{type:ControlType.String,title:\"Subtext\",defaultValue:\"or click to browse\"},dropAreaBorder:{type:ControlType.Object,title:\"Drop Area Border\",controls:{borderWidth:{type:ControlType.Number,title:\"Width\",defaultValue:2,min:0,max:10,step:1,unit:\"px\"},borderStyle:{type:ControlType.Enum,title:\"Style\",options:[\"solid\",\"dashed\",\"dotted\"],optionTitles:[\"Solid\",\"Dashed\",\"Dotted\"],defaultValue:\"dashed\"},borderColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#EEEEEE\"}}},required:{type:ControlType.Boolean,title:\"Required\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},errorMessage:{type:ControlType.String,title:\"Error Message\",defaultValue:\"Please upload at least one file\",hidden:({required})=>!required},errorColor:{type:ControlType.Color,title:\"Error Color\",defaultValue:\"#DC2626\",hidden:({required})=>!required},errorBackground:{type:ControlType.Color,title:\"Error Background\",defaultValue:\"#FEF2F2\",hidden:({required})=>!required},errorFontSize:{type:ControlType.Number,title:\"Error Font Size\",defaultValue:12,min:8,max:24,step:1,unit:\"px\",hidden:({required})=>!required},primaryColor:{type:ControlType.Color,title:\"Primary Color\",defaultValue:\"#000000\"},dropAreaFont:{type:ControlType.Font,title:\"Drop Area Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"15px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"}},dropAreaSubtextFont:{type:ControlType.Font,title:\"Drop Area Subtext Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Regular\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"}},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:8,min:0,max:32,step:1,unit:\"px\"},inputName:{type:ControlType.String,title:\"Input Name\",defaultValue:\"file\",description:\"Name attribute for form submission\"},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:20,min:0,max:48,step:4,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FileUpload\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"400\",\"framerIntrinsicWidth\":\"600\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FileUpload.map"],"mappings":"uNASG,SAAwB,EAAW,EAAM,CAAC,GAAK,CAAC,eAAa,CAAC,MAAM,OAAO,MAAM,MAAM,MAAM,CAAC,cAAY,EAAE,eAAa,yBAAyB,kBAAgB,qBAAqB,eAAa,UAAU,iBAAe,UAAU,iBAAe,CAAC,YAAY,EAAE,YAAY,SAAS,YAAY,UAAU,CAAC,WAAS,GAAM,eAAa,kCAAkC,aAAW,UAAU,kBAAgB,UAAU,gBAAc,GAAG,eAAa,EAAE,YAAU,OAAO,eAAa,sBAAoB,UAAQ,GAAG,MAAI,GAAG,gBAAc,EAAW,CAAC,EAAM,GAAUA,EAAS,EAAE,CAAC,CAAM,CAAC,EAAW,GAAeA,EAAS,GAAM,CAAM,CAAC,EAAa,GAAiBA,EAAS,KAAK,CAAM,CAAC,EAAU,GAAcA,EAAS,GAAM,CAAM,CAAC,EAAgB,GAAoBA,EAAS,KAAK,CAAM,CAAC,EAAS,GAAaA,EAAS,GAAM,CAAO,EAAaC,EAAO,KAAK,CAAO,EAAeA,EAAO,KAAK,CAAO,EAAaC,EAAY,GAAM,CAAC,IAAM,EAAU,EAAK,KAAK,MAAM,IAAI,CAAC,KAAK,EAAE,aAAa,CAA0U,MAAtU,CAAC,GAAW,CAAC,EAAa,SAAS,EAAU,CAAQ,CAAC,MAAM,GAAM,MAAM,eAAe,EAAU,oCAAoC,EAAa,KAAK,KAAK,GAAG,CAAK,EAAK,KAAK,EAAY,KAAK,KAAY,CAAC,MAAM,GAAM,MAAM,SAAS,EAAK,KAAK,gBAAgB,EAAY,kBAAkB,EAAK,KAAK,KAAK,MAAM,QAAQ,EAAE,CAAC,KAAK,CAAQ,CAAC,MAAM,GAAK,EAAG,CAAC,EAAa,EAAY,CAAC,CAAO,EAAaA,EAAY,GAAU,CAAC,IAAM,EAAS,EAAE,CAAsa,GAAhZ,CAAC,EAAS,GAAG,CAAgB,QAAQ,GAAM,CAAC,IAAM,EAAW,EAAa,EAAK,CAAC,GAAG,EAAW,MAAM,CAAC,IAAM,EAAS,CAAC,GAAG,GAAG,KAAK,KAAK,CAAC,GAAG,KAAK,QAAQ,GAAG,OAAK,SAAS,EAAE,SAAS,GAAM,CAAI,EAAK,KAAK,WAAW,SAAS,GAAE,EAAS,QAAQ,IAAI,gBAAgB,EAAK,EAAE,EAAS,KAAK,EAAS,MAAU,EAAW,OAAO,MAAoB,CAAC,EAAmB,EAAW,MAAM,CAAC,EAAa,GAAM,EAAG,EAAI,CAAI,EAAS,OAAO,EAAE,CAAC,MAAoB,CAAC,EAAS,EAAS,CAAC,EAAa,GAAM,CAAC,EAAmB,KAAK,EAAG,CAC55D,IAAM,EAAK,EAAS,GAAG,KAAQ,EAAe,SAAS,EAAa,SAAS,QAC7E,EAAe,QAAQ,MAAM,EAAa,QAAQ,OAAU,GAAc,EAAa,EAAK,CAAE,EAAS,QAAQ,GAAU,CAAC,EAAe,EAAS,GAAG,EAAG,GAAI,CAAC,EAAa,EAAa,CAAC,CAAO,EAAeA,EAAY,GAAQ,CAAC,IAAM,EAAS,gBAAgB,CAAC,MAAoB,CAAC,EAAS,GAAM,EAAK,IAAI,GAAG,CAAC,GAAG,EAAE,KAAK,GAAQ,EAAE,SAAS,IAAI,CAAC,IAAM,EAAY,KAAK,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAY,SAAS,IAAc,IAAI,IAAI,IAAc,IAAI,0BAA0B,KAAK,wCAAwC,GAAG,IAAA,GAAU,CAAE,OAAO,GAAI,CAAC,EAAG,EAAG,IAAI,CAAC,eAAe,cAAc,EAAS,CAAC,IAAI,EAAG,EAAE,CAAC,CAAO,EAAgBA,EAAY,GAAG,CAAC,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,MAAoB,EAAc,GAAK,CAAC,EAAG,EAAE,CAAC,CAAO,EAAgBA,EAAY,GAAG,CAAC,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,MAAoB,EAAc,GAAM,CAAC,EAAG,EAAE,CAAC,CAAO,EAAeA,EAAY,GAAG,CAAC,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,EAAG,EAAE,CAAC,CAAO,EAAWA,EAAY,GAAG,CAAC,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,MAAoB,EAAc,GAAM,CAAC,CAAI,EAAE,aAAa,OAAO,EAAE,aAAa,MAAM,OAAO,GAAG,EAAa,EAAE,aAAa,MAAM,EAAI,CAAC,EAAa,CAAC,CAAO,EAAiBA,EAAY,GAAG,CAAI,EAAE,OAAO,OAAO,EAAE,OAAO,MAAM,OAAO,GAAG,EAAa,EAAE,OAAO,MAAM,EAAI,CAAC,EAAa,CAAC,CAAO,EAAiBA,EAAY,GAAQ,CAAC,MAAoB,CAAC,EAAS,GAAM,CAAC,IAAM,EAAK,EAAK,KAAK,GAAG,EAAE,KAAK,EAAO,CAAsD,OAAlD,GAAM,SAAS,IAAI,gBAAgB,EAAK,QAAQ,CAAS,EAAK,OAAO,GAAG,EAAE,KAAK,EAAO,EAAG,CAAC,EAAmB,KAAK,CAAC,EAAa,GAAM,EAAG,CACniD,EAAa,UAAS,EAAa,QAAQ,MAAM,IAAO,EAAe,UAAS,EAAe,QAAQ,MAAM,IAAO,GAAc,EAAa,KAAK,EAAI,CAAC,EAAa,CAAC,CAEwL,OAF7J,EAAY,GAAO,CAAC,MAAoB,EAAgB,EAAM,CAAC,EAAG,EAAE,CAAC,CAA0B,GAAa,EAAE,IAAQ,CAAC,EAAE,gBAAgB,CAAI,MAAe,MAAM,IAAe,IAAa,MAAoB,CAAC,EAAS,GAAM,CAAC,IAAM,EAAS,CAAC,GAAG,EAAK,CAAO,EAAY,EAAS,GAAmF,OAArE,EAAS,OAAO,EAAa,EAAE,CAAC,EAAS,OAAO,EAAM,EAAE,EAAY,CAAQ,GAAW,CAAC,EAAgB,EAAM,EAAG,EAAG,CAAC,EAAa,CAAC,CAAyB,MAAgB,CAAC,MAAoB,EAAgB,KAAK,CAAC,EAAG,EAAE,CAAC,CACvsB,MAAc,CAAC,IAAM,MAAgB,CAAC,IAAM,EAAO,EAAO,WAAW,KAAK,iBAAiB,EAAO,MAAoB,EAAY,EAAO,CAAC,EAA+D,OAA5D,GAAa,CAAC,EAAO,iBAAiB,SAAS,EAAY,KAAW,EAAO,oBAAoB,SAAS,EAAY,EAAG,EAAE,CAAC,CACzQ,MAAc,CAAC,IAAM,EAAY,EAAe,QAAQ,GAAG,CAAC,EAAY,OAAO,IAAM,EAAc,GAAG,CAAC,EAAE,gBAAgB,CAAC,MAAoB,EAAa,GAAK,CAAC,EAAyD,OAAtD,EAAY,iBAAiB,UAAU,EAAc,KAAW,EAAY,oBAAoB,UAAU,EAAc,EAAG,EAAE,CAAC,CAAsB,GAAS,KAAK,IAAI,EAAQ,IAAI,GAAG,CAA6B,EAAM,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,QAAQ,OAAO,cAAc,SAAS,IAAI,EAAS,KAAK,IAAI,EAAI,GAAG,GAAG,CAAC,EAAI,SAAS,OAAO,wBAAwB,QAAQ,CAAC,SAAS,CAAc,EAAM,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,EAAe,aAAa,EAAE,KAAK,EAAe,aAAa,SAAS,GAAG,EAAW,EAAa,GAAW,EAAgB,EAAW,EAAe,aAAa,YAAY,eAAa,QAAQ,EAAS,GAAG,GAAG,UAAU,SAAS,OAAO,UAAU,WAAW,gBAAgB,gBAAgB,EAAW,GAAG,EAAa,IAAI,cAAc,wBAAwB,cAAc,YAAY,eAAe,QAAQ,OAAO,cAAc,SAAS,eAAe,SAAS,CAAC,YAAY,EAAgB,YAAY,EAAgB,WAAW,EAAe,OAAO,EAAW,YAAY,EAAa,SAAS,OAAO,CAAC,SAAS,CAAC,EAAM,SAAS,EAAe,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,WAAW,SAAS,MAAM,OAAO,CAAC,SAAS,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAW,EAAgB,EAAW,EAAa,aAAa,EAAE,GAAG,EAAa,CAAC,SAAS,EAAa,CAAC,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAW,EAAgB,EAAW,EAAa,QAAQ,GAAG,GAAG,EAAoB,CAAC,SAAS,EAAgB,CAAC,CAAC,CAAC,CAAC,CAAc,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,WAAW,aAAa,IAAI,EAAS,GAAG,GAAG,UAAU,OAAO,CAAC,SAAS,CAAC,CAAC,GAAuB,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,IAAI,EAAE,OAAO,OAAO,QAAQ,UAAU,QAAQ,GAAG,WAAW,EAAE,CAAC,SAAS,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,EAAE,gBAAgB,EAAa,aAAa,EAAE,CAAC,CAAC,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,EAAE,gBAAgB,EAAa,aAAa,EAAE,CAAC,CAAC,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,EAAE,gBAAgB,EAAa,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAM,GAAG,SAAsB,EAAK,MAAM,CAAC,IAAI,EAAM,GAAG,QAAQ,IAAI,EAAM,GAAG,KAAK,KAAK,MAAM,CAAC,MAAM,EAAS,GAAG,GAAG,OAAO,EAAS,GAAG,GAAG,UAAU,QAAQ,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC,CAAc,EAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,SAAS,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAa,SAAS,SAAS,aAAa,WAAW,WAAW,SAAS,GAAG,EAAa,CAAC,SAAS,EAAM,GAAG,KAAK,KAAK,CAAC,CAAc,EAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAa,QAAQ,GAAG,UAAU,EAAE,GAAG,EAAoB,CAAC,SAAS,EAAE,EAAM,GAAG,KAAK,KAAK,KAAK,MAAM,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAM,GAAG,UAAuB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,EAAE,gBAAgB,GAAG,EAAe,aAAa,UAAU,IAAI,aAAa,EAAE,UAAU,EAAE,SAAS,SAAS,CAAC,SAAsB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,EAAM,GAAG,SAAS,GAAG,OAAO,OAAO,gBAAgB,EAAa,WAAW,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,SAAS,CAAC,QAAQ,GAAG,CAAC,EAAE,iBAAiB,CAAC,EAAiB,EAAM,GAAG,GAAG,EAAG,MAAM,CAAC,WAAW,cAAc,OAAO,OAAO,OAAO,UAAU,QAAQ,EAAS,GAAG,EAAE,MAAM,EAAa,SAAS,EAAS,GAAG,GAAG,SAAS,EAAS,GAAG,OAAO,UAAU,EAAS,GAAG,OAAO,QAAQ,OAAO,WAAW,aAAa,eAAe,SAAS,wBAAwB,cAAc,YAAY,eAAe,WAAW,EAAE,CAAC,SAAsB,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,SAAsB,EAAK,OAAO,CAAC,EAAE,uBAAuB,OAAO,eAAe,YAAY,IAAI,cAAc,QAAQ,eAAe,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,QAAQ,CAAC,IAAI,EAAa,KAAK,OAAO,OAAO,EAAa,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,EAAiB,MAAM,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,QAAQ,CAAC,IAAI,EAAe,KAAK,OAAO,KAAK,EAAU,OAAO,EAAa,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,CAAU,WAAS,MAAM,CAAC,QAAQ,OAAO,CAAC,SAAS,GAAG,cAAc,OAAO,CAAC,CAAC,GAAwB,EAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAW,WAAW,EAAS,GAAG,EAAE,cAAc,EAAS,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAgB,aAAa,EAAE,SAAS,EAAc,QAAQ,OAAO,WAAW,SAAS,IAAI,EAAE,CAAC,SAAS,CAAc,EAAM,MAAM,CAAC,MAAM,EAAc,OAAO,EAAc,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,MAAM,CAAC,WAAW,EAAE,CAAC,SAAS,CAAc,EAAK,SAAS,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,IAAI,KAAK,EAAW,CAAC,CAAc,EAAK,OAAO,CAAC,EAAE,SAAS,OAAO,UAAU,YAAY,MAAM,cAAc,QAAQ,CAAC,CAAc,EAAK,SAAS,CAAC,GAAG,IAAI,GAAG,OAAO,EAAE,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAc,CAAC,SAAS,EAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAA8B,EAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAW,WAAW,EAAS,GAAG,GAAG,cAAc,EAAS,GAAG,GAAG,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAgB,aAAa,EAAE,OAAO,aAAa,EAAW,IAAI,SAAS,EAAc,QAAQ,OAAO,WAAW,SAAS,IAAI,EAAE,CAAC,SAAS,CAAc,EAAM,MAAM,CAAC,MAAM,EAAc,OAAO,EAAc,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,MAAM,CAAC,WAAW,EAAE,CAAC,SAAS,CAAc,EAAK,SAAS,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,IAAI,KAAK,EAAW,CAAC,CAAc,EAAK,OAAO,CAAC,EAAE,SAAS,OAAO,UAAU,YAAY,MAAM,cAAc,QAAQ,CAAC,CAAc,EAAK,SAAS,CAAC,GAAG,IAAI,GAAG,OAAO,EAAE,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAc,CAAC,SAAS,EAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sBAbniL,IAAyE,IAAoD,CAaw6K,EAAoB,EAAW,CAAC,aAAa,CAAC,KAAK,EAAY,MAAM,MAAM,gBAAgB,QAAQ,CAAC,KAAK,EAAY,OAAO,CAAC,aAAa,CAAC,MAAM,OAAO,MAAM,MAAM,MAAM,CAAC,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,aAAa,yBAAyB,CAAC,gBAAgB,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,qBAAqB,CAAC,eAAe,CAAC,KAAK,EAAY,OAAO,MAAM,mBAAmB,SAAS,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,YAAY,CAAC,KAAK,EAAY,KAAK,MAAM,QAAQ,QAAQ,CAAC,QAAQ,SAAS,SAAS,CAAC,aAAa,CAAC,QAAQ,SAAS,SAAS,CAAC,aAAa,SAAS,CAAC,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAY,QAAQ,MAAM,WAAW,aAAa,GAAM,aAAa,MAAM,cAAc,KAAK,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,kCAAkC,QAAQ,CAAC,cAAY,CAAC,EAAS,CAAC,WAAW,CAAC,KAAK,EAAY,MAAM,MAAM,cAAc,aAAa,UAAU,QAAQ,CAAC,cAAY,CAAC,EAAS,CAAC,gBAAgB,CAAC,KAAK,EAAY,MAAM,MAAM,mBAAmB,aAAa,UAAU,QAAQ,CAAC,cAAY,CAAC,EAAS,CAAC,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,kBAAkB,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,cAAY,CAAC,EAAS,CAAC,aAAa,CAAC,KAAK,EAAY,MAAM,MAAM,gBAAgB,aAAa,UAAU,CAAC,aAAa,CAAC,KAAK,EAAY,KAAK,MAAM,iBAAiB,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,OAAO,QAAQ,SAAS,cAAc,UAAU,WAAW,QAAQ,CAAC,CAAC,oBAAoB,CAAC,KAAK,EAAY,KAAK,MAAM,yBAAyB,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,OAAO,QAAQ,UAAU,cAAc,UAAU,WAAW,QAAQ,CAAC,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,OAAO,YAAY,qCAAqC,CAAC,IAAI,CAAC,KAAK,EAAY,OAAO,MAAM,MAAM,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC"}