{"version":3,"file":"ReZero_UserDataProvider_Local.CCJHCZVR.mjs","names":["createClient"],"sources":["https:/framerusercontent.com/modules/hpgbhQiWlCBKcGZLKKU1/VNMmffFZ0NxJodYgJnzE/ReZeroUserDataProviderHelpers.js","https:/framerusercontent.com/modules/F4iL63PqQYpcO64feNRk/pveM8tATBckC3SYtuVPv/ReZero_UserDataProvider_Local.js"],"sourcesContent":["// ---- Logout label / confirm i18n (added 2026-09-02) ----\nexport const RZ_LOGOUT_I18N={ko:{label:\"로그아웃\",confirm:\"로그아웃 하시겠습니까?\"},en:{label:\"Sign out\",confirm:\"Sign out of your account?\"},zh:{label:\"退出登录\",confirm:\"确定要退出登录吗？\"},\"zh-hant\":{label:\"登出\",confirm:\"確定要登出嗎？\"},ja:{label:\"ログアウト\",confirm:\"ログアウトしますか？\"},vi:{label:\"Đăng xuất\",confirm:\"Bạn c\\xf3 muốn đăng xuất kh\\xf4ng?\"},th:{label:\"ออกจากระบบ\",confirm:\"ต้องการออกจากระบบหรือไม่?\"}};export function rzLocale(){if(typeof window===\"undefined\")return\"ko\";const seg=(window.location.pathname.split(\"/\")[1]||\"\").toLowerCase();if(seg===\"en\")return\"en\";if(seg===\"zh\")return\"zh\";if(seg===\"zh-hant-tw\")return\"zh-hant\";if(seg===\"ja\")return\"ja\";if(seg===\"vi\")return\"vi\";if(seg===\"th\")return\"th\";const lang=(document.documentElement.lang||\"\").toLowerCase();if(lang.startsWith(\"en\"))return\"en\";if(lang.startsWith(\"zh-hant\"))return\"zh-hant\";if(lang.startsWith(\"zh\"))return\"zh\";if(lang.startsWith(\"ja\"))return\"ja\";if(lang.startsWith(\"vi\"))return\"vi\";if(lang.startsWith(\"th\"))return\"th\";return\"ko\";}export const RZ_LOCALE_PATH_PREFIXES=[\"en\",\"zh\",\"zh-hant-tw\",\"ja\",\"vi\",\"th\"];export function getCurrentLocalePathPrefix(){if(typeof window===\"undefined\")return\"\";const segment=(window.location.pathname.split(\"/\")[1]||\"\").toLowerCase();return RZ_LOCALE_PATH_PREFIXES.includes(segment)?\"/\"+segment:\"\";}export function normalizePathname(pathname){const normalized=(pathname.startsWith(\"/\")?pathname:\"/\"+pathname).replace(/\\/+/g,\"/\").replace(/\\/$/,\"\");return normalized||\"/\";}export function stripLocalePathPrefix(pathname){const normalized=normalizePathname(pathname);const segments=normalized.split(\"/\").filter(Boolean);if(segments.length===0)return\"/\";const firstSegment=segments[0].toLowerCase();if(!RZ_LOCALE_PATH_PREFIXES.includes(firstSegment))return normalized;const rest=segments.slice(1).join(\"/\");return rest?\"/\"+rest:\"/\";}export function applyCurrentLocaleToInternalPath(pathname){const normalized=normalizePathname(pathname);const currentLocalePrefix=getCurrentLocalePathPrefix();if(!currentLocalePrefix)return normalized;if(stripLocalePathPrefix(normalized)!==normalized)return normalized;return normalized===\"/\"?currentLocalePrefix:currentLocalePrefix+normalized;}export function getConfigPathname(path){const trimmedPath=path.trim();if(!trimmedPath)return\"/\";try{return new URL(trimmedPath,window.location.origin).pathname;}catch{return trimmedPath.split(/[?#]/)[0]||\"/\";}}export const RZ_AUTH_LOCALE_RETURN_PREFIX_KEY=\"rzAuthLocaleReturnPrefix\";export function rememberAuthLocaleReturnPrefix(){if(typeof window===\"undefined\")return;const currentLocalePrefix=getCurrentLocalePathPrefix();if(!currentLocalePrefix)return;try{window.sessionStorage.setItem(RZ_AUTH_LOCALE_RETURN_PREFIX_KEY,currentLocalePrefix);}catch(_error){}}export function clearAuthLocaleReturnPrefix(){if(typeof window===\"undefined\")return;try{window.sessionStorage.removeItem(RZ_AUTH_LOCALE_RETURN_PREFIX_KEY);}catch(_error){}}export function restoreAuthLocaleRootIfNeeded(){if(typeof window===\"undefined\")return false;if(normalizePathname(window.location.pathname)!==\"/\")return false;let localePrefix=\"\";try{localePrefix=window.sessionStorage.getItem(RZ_AUTH_LOCALE_RETURN_PREFIX_KEY)||\"\";window.sessionStorage.removeItem(RZ_AUTH_LOCALE_RETURN_PREFIX_KEY);}catch(_error){}if(!localePrefix)return false;window.location.replace(localePrefix);return true;}export function localizeAuthRedirectUrl(redirectTo){if(typeof window===\"undefined\")return redirectTo;try{const targetUrl=new URL(redirectTo,window.location.origin);if(targetUrl.origin!==window.location.origin)return redirectTo;const pathname=applyCurrentLocaleToInternalPath(targetUrl.pathname);return window.location.origin+pathname+targetUrl.search+targetUrl.hash;}catch(_error){return redirectTo;}}export function patchSupabaseAuthLocaleRedirects(supabase){const auth=supabase?.auth;if(!auth||auth.__rzLocaleRedirectPatched)return;const originalSignInWithOAuth=auth.signInWithOAuth?.bind(auth);if(originalSignInWithOAuth){auth.signInWithOAuth=credentials=>{rememberAuthLocaleReturnPrefix();const options={...credentials?.options||{}};if(options.redirectTo){options.redirectTo=localizeAuthRedirectUrl(options.redirectTo);}return originalSignInWithOAuth({...credentials,options});};}const originalSignInWithPassword=auth.signInWithPassword?.bind(auth);if(originalSignInWithPassword){auth.signInWithPassword=async credentials=>{const localePrefix=getCurrentLocalePathPrefix();const result=await originalSignInWithPassword(credentials);if(result?.error||!localePrefix){if(result?.error)clearAuthLocaleReturnPrefix();return result;}try{window.sessionStorage.setItem(RZ_AUTH_LOCALE_RETURN_PREFIX_KEY,localePrefix);}catch(_error){}return result;};}auth.__rzLocaleRedirectPatched=true;}export function rzLogoutLabel(){return(RZ_LOGOUT_I18N[rzLocale()]||RZ_LOGOUT_I18N.ko).label;}export function rzLogoutConfirm(){return(RZ_LOGOUT_I18N[rzLocale()]||RZ_LOGOUT_I18N.ko).confirm;}// Requested: create ReZero_UserDataProvider_Local.tsx using the provided patched logic,\n// keep behavior identical (including shouldCompleteProfile condition), and fix control/default attachments.\nexport const emptyUserData={isLoading:false,isAuthenticated:false,isLoggedIn:false,isProfileComplete:false,needsProfileCompletion:false,isAccountLinked:false,linkedProviders:[],provider:\"\",name:\"\",email:\"\",phone:\"\",birthdate:\"\",gender:\"\",interests:[]};export const pendingSocialProfileCompletionKey=\"rzPendingSocialProfileCompletionRedirect\";export const pendingSocialProfileCompletionTtl=10*60*1e3// 10 minutes\n;export function getAuthGateCompatibleUserData(userData){if(!userData?.isAuthenticated||userData?.isLoggedIn){return userData;}return{...userData,isLoggedIn:true};}export function publishUserData(userData){if(typeof window===\"undefined\")return;const publishedUserData=getAuthGateCompatibleUserData(userData);window.__rzUserData=publishedUserData;try{if(userData.isAuthenticated||userData.isLoggedIn){window.sessionStorage.setItem(\"rzUserData\",JSON.stringify(userData));}else{window.sessionStorage.removeItem(\"rzUserData\");}}catch(error){console.warn(\"[RZ] user data storage sync failed:\",error);}window.dispatchEvent(new CustomEvent(\"rzUserDataLoaded\",{detail:publishedUserData}));window.setTimeout(()=>syncInjectedLogoutButton(publishedUserData),0);window.setTimeout(()=>syncInjectedLogoutButton(publishedUserData),350);}export const injectedLogoutButtonAttribute=\"data-rz-injected-logout-button\";export function getPlainElementText(element){return(element?.textContent||\"\").replace(/\\s+/g,\" \").trim();}export function isVisibleElement(element){if(typeof window===\"undefined\"||!element)return false;const rect=element.getBoundingClientRect();const style=window.getComputedStyle(element);return rect.width>0&&rect.height>0&&rect.bottom>0&&rect.right>0&&rect.top<window.innerHeight&&rect.left<window.innerWidth&&style.display!==\"none\"&&style.visibility!==\"hidden\"&&style.opacity!==\"0\";}export function findVisibleMypageLink(){if(typeof document===\"undefined\")return null;const candidates=Array.from(document.querySelectorAll(\"a,button,[role='button']\"));return candidates.find(element=>{const text=getPlainElementText(element);const href=element.getAttribute(\"href\")||\"\";return isVisibleElement(element)&&(text===\"마이페이지\"||/(^|\\/)mypage(\\?|#|$)/.test(href));})||null;}export function hasFramerTextStructure(element){return Boolean(element.querySelector(\".framer-text, [data-framer-component-type='RichTextContainer']\"));}export function setClonedLogoutText(logoutElement){const textElements=Array.from(logoutElement.querySelectorAll(\".framer-text\"));const textElement=textElements.find(element=>getPlainElementText(element)===\"마이페이지\")||textElements.find(element=>getPlainElementText(element).length>0);if(textElement){textElement.textContent=rzLogoutLabel();return;}const richTextElements=Array.from(logoutElement.querySelectorAll(\"[data-framer-component-type='RichTextContainer']\"));const richTextElement=richTextElements.find(element=>getPlainElementText(element).length>0);if(richTextElement){richTextElement.textContent=rzLogoutLabel();return;}logoutElement.textContent=rzLogoutLabel();}export function createInjectedLogoutElement(reference){const logoutElement=reference.cloneNode(true);logoutElement.removeAttribute(\"id\");logoutElement.querySelectorAll(\"[id]\").forEach(element=>{element.removeAttribute(\"id\");});logoutElement.setAttribute(injectedLogoutButtonAttribute,\"true\");logoutElement.setAttribute(\"aria-label\",rzLogoutLabel());logoutElement.setAttribute(\"role\",\"button\");logoutElement.removeAttribute(\"target\");logoutElement.removeAttribute(\"rel\");if(logoutElement instanceof HTMLAnchorElement){logoutElement.setAttribute(\"href\",\"#\");}setClonedLogoutText(logoutElement);logoutElement.style.cursor=\"pointer\";return logoutElement;}export function shouldReplaceInjectedLogoutElement(existing,reference){if(!existing)return true;const referenceElement=reference;return existing.tagName!==referenceElement.tagName||existing.className!==referenceElement.className||hasFramerTextStructure(reference)&&!hasFramerTextStructure(existing);}export function getVisiblePreviousElementSibling(element){let sibling=element.previousElementSibling;while(sibling){if(isVisibleElement(sibling))return sibling;sibling=sibling.previousElementSibling;}return null;}export function getVerticalGapBeforeElement(element){const previousElement=getVisiblePreviousElementSibling(element);if(!previousElement)return null;const previousRect=previousElement.getBoundingClientRect();const elementRect=element.getBoundingClientRect();const gap=elementRect.top-previousRect.bottom;return gap>=0&&gap<=80?gap:null;}export function alignInjectedLogoutPosition(logoutElement,mypageLink){if(typeof window===\"undefined\")return;const expectedGap=getVerticalGapBeforeElement(mypageLink);const targetGap=expectedGap??16;logoutElement.style.marginTop=\"\";const mypageRect=mypageLink.getBoundingClientRect();const logoutRect=logoutElement.getBoundingClientRect();const currentGap=logoutRect.top-mypageRect.bottom;const missingGap=targetGap-currentGap;if(Math.abs(missingGap)<=1)return;const currentMarginTop=parseFloat(window.getComputedStyle(logoutElement).marginTop||\"0\");const nextMarginTop=Math.max(0,currentMarginTop+missingGap);logoutElement.style.marginTop=nextMarginTop+\"px\";}export function syncInjectedLogoutButton(userData){if(typeof document===\"undefined\"||typeof window===\"undefined\")return;const existing=document.querySelector(\"[\"+injectedLogoutButtonAttribute+\"]\");const shouldShow=Boolean(userData?.isAuthenticated||userData?.isLoggedIn);if(!shouldShow){existing?.remove();return;}const mypageLink=findVisibleMypageLink();if(!mypageLink||!mypageLink.parentElement)return;let logoutElement=existing;if(shouldReplaceInjectedLogoutElement(existing,mypageLink)){const nextLogoutElement=createInjectedLogoutElement(mypageLink);existing?.replaceWith(nextLogoutElement);logoutElement=nextLogoutElement;}else if(logoutElement){setClonedLogoutText(logoutElement);logoutElement.setAttribute(\"aria-label\",rzLogoutLabel());logoutElement.setAttribute(\"role\",\"button\");}if(!logoutElement)return;logoutElement.onclick=event=>{event.preventDefault();event.stopPropagation();window.__rzInjectedLogout?.();};if(logoutElement.previousElementSibling!==mypageLink){mypageLink.parentElement.insertBefore(logoutElement,mypageLink.nextSibling);}alignInjectedLogoutPosition(logoutElement,mypageLink);}export function getNormalizedRedirectTarget(link){if(typeof window===\"undefined\")return null;const trimmedLink=link.trim();if(!trimmedLink)return null;try{const targetUrl=new URL(trimmedLink,window.location.origin);const isInternalTarget=targetUrl.origin===window.location.origin;const pathname=isInternalTarget?applyCurrentLocaleToInternalPath(targetUrl.pathname):targetUrl.pathname;const href=isInternalTarget?pathname+targetUrl.search+targetUrl.hash:targetUrl.href;return{href,pathname,comparable:href};}catch(error){console.error(\"[RZ] invalid profileCompletePath:\",trimmedLink,error);return null;}}export function normalizePhone(value){if(value&&typeof value===\"object\"){return`${value.countryCode??\"\"} ${value.phone??\"\"}`.trim();}return value??\"\";}export const requiredProfileFieldList=[\"name\",\"phone\",\"birthdate\"];export function getRequiredFields(){return requiredProfileFieldList;}export function getPathList(value){return(value||\"\").split(\",\").map(path=>path.trim()).filter(Boolean);}export function isCurrentPathIncluded(paths){if(typeof window===\"undefined\")return false;const currentPath=stripLocalePathPrefix(window.location.pathname);return paths.some(path=>{const cleanPath=stripLocalePathPrefix(getConfigPathname(path));return currentPath===cleanPath||cleanPath!==\"/\"&&currentPath.startsWith(cleanPath+\"/\");});}export function getEventElement(target){if(target instanceof Element)return target;if(target instanceof Text)return target.parentElement;return null;}export function normalizeText(value){return(value||\"\").replace(/\\s+/g,\" \").trim().toLowerCase();}export function looksLikeLogout(text){return text.includes(\"로그아웃\")||text.includes(rzLogoutLabel().toLowerCase())||text.includes(\"logout\");}export function isLogoutTarget(target){const element=getEventElement(target);if(!element)return false;const clickable=element.closest(\"button, a, [role='button'], [data-framer-name]\");if(!clickable)return false;const labels=[clickable.getAttribute?.(\"aria-label\"),clickable.getAttribute?.(\"title\"),clickable.getAttribute?.(\"data-framer-name\")].map(normalizeText).filter(Boolean);const ownText=normalizeText(clickable.textContent||\"\");const matchedByLabel=labels.some(looksLikeLogout);const matchedByText=ownText===\"로그아웃\"||ownText===rzLogoutLabel().toLowerCase()||ownText===\"logout\"||looksLikeLogout(ownText)&&ownText.length<=10;const matched=matchedByLabel||matchedByText;return matched;}export function getCachedUserData(){if(typeof window===\"undefined\")return null;if(window.__rzUserData)return window.__rzUserData;try{const raw=window.sessionStorage.getItem(\"rzUserData\");if(!raw)return null;return JSON.parse(raw);}catch(_error){return null;}}export function markPendingSocialProfileCompletionRedirect(){if(typeof window===\"undefined\")return;const value=String(Date.now());try{window.sessionStorage.setItem(pendingSocialProfileCompletionKey,value);}catch(_error){}try{window.localStorage.setItem(pendingSocialProfileCompletionKey,value);}catch(_error){}}export function hasPendingSocialProfileCompletionRedirect(){if(typeof window===\"undefined\")return false;try{const sessionRaw=window.sessionStorage.getItem(pendingSocialProfileCompletionKey);const localRaw=window.localStorage.getItem(pendingSocialProfileCompletionKey);const now=Date.now();const isValidTimestamp=raw=>{if(!raw)return false;const timestamp=Number(raw);if(Number.isNaN(timestamp))return false;return now-timestamp<=pendingSocialProfileCompletionTtl;};if(isValidTimestamp(sessionRaw)||isValidTimestamp(localRaw)){return true;}try{window.sessionStorage.removeItem(pendingSocialProfileCompletionKey);}catch(_error){}try{window.localStorage.removeItem(pendingSocialProfileCompletionKey);}catch(_error){}return false;}catch(_error){return false;}}export function clearPendingSocialProfileCompletionRedirect(){if(typeof window===\"undefined\")return;try{window.sessionStorage.removeItem(pendingSocialProfileCompletionKey);}catch(_error){}try{window.localStorage.removeItem(pendingSocialProfileCompletionKey);}catch(_error){}}export function isSignInPath(){if(typeof window===\"undefined\")return false;return stripLocalePathPrefix(window.location.pathname)===\"/signin\";}export function isSocialLoginTarget(target){const element=getEventElement(target);if(!element)return false;const clickable=element.closest(\"button, a, [role='button'], [data-framer-name]\");if(!clickable)return false;const labels=[clickable.textContent||\"\",clickable.getAttribute?.(\"aria-label\")||\"\",clickable.getAttribute?.(\"title\")||\"\",clickable.getAttribute?.(\"data-framer-name\")||\"\"].map(normalizeText).filter(Boolean);const providerKeywords=[\"네이버\",\"naver\",\"구글\",\"google\",\"카카오\",\"kakao\"];return labels.some(label=>providerKeywords.some(keyword=>label.includes(keyword)));}export function shouldResumeProfileCompletion(userData){return Boolean(userData?.isAuthenticated===true&&userData?.isLoading!==true&&isOAuthProvider(userData?.provider)&&userData?.provider!==\"anonymous\"&&!userData?.isAccountLinked&&(userData?.needsProfileCompletion===true||userData?.isProfileComplete===false));}export function wait(ms){return new Promise(resolve=>setTimeout(resolve,ms));}export function getAuthProviders(authUser){const providers=[];const appProvider=authUser?.app_metadata?.provider;if(typeof appProvider===\"string\"&&appProvider.trim()){providers.push(appProvider);}const identityProviders=Array.isArray(authUser?.identities)?authUser.identities.map(identity=>identity?.provider).filter(provider=>typeof provider===\"string\"&&provider.trim()):[];for(const provider of identityProviders){providers.push(provider);}const deduped=[];for(const provider of providers){if(!deduped.includes(provider))deduped.push(provider);}return deduped;}export function getAuthProvider(authUser){return getAuthProviders(authUser)[0]||\"\";}export function hasLinkedEmailOAuthIdentity(authUser){const providers=getAuthProviders(authUser);return providers.includes(\"email\")&&providers.some(isOAuthProvider);}export function isAnonymousAuthUser(authUser){return Boolean(authUser?.is_anonymous||authUser?.app_metadata?.provider===\"anonymous\"||authUser?.identities?.some(identity=>identity?.provider===\"anonymous\"));}export function isOAuthProvider(provider){return Boolean(provider&&provider!==\"email\");}export function hasValue(value){if(value===undefined||value===null)return false;if(typeof value===\"string\")return value.trim().length>0;if(Array.isArray(value))return value.length>0;if(typeof value===\"object\")return Object.keys(value).length>0;return true;}export function firstValue(...values){return values.find(value=>hasValue(value))??\"\";}export function getProfileValues(data,authUser,phoneValue){const metadata=authUser?.user_metadata??{};return{name:firstValue(data?.name,data?.full_name,metadata.full_name,metadata.name),email:firstValue(data?.email,authUser?.email,metadata.email),phone:phoneValue,birthdate:firstValue(data?.birthdate,data?.birthDate,data?.birth_date,data?.birthday,data?.dateOfBirth),gender:firstValue(data?.gender,data?.sex),interests:data?.interests??[]};}export function getMissingFields(profileValues,requiredFields){return requiredFields.filter(field=>!hasValue(profileValues?.[field]));}export function clearSupabaseAuthStorage(projectId){if(typeof window===\"undefined\")return;const exactKey=`sb-${projectId}-auth-token`;try{window.localStorage.removeItem(\"rzUserData\");window.sessionStorage.removeItem(\"rzUserData\");window.localStorage.removeItem(exactKey);window.sessionStorage.removeItem(exactKey);for(let index=window.localStorage.length-1;index>=0;index-=1){const key=window.localStorage.key(index);if(key?.startsWith(\"sb-\")&&key.includes(\"auth-token\")){window.localStorage.removeItem(key);}}for(let index=window.sessionStorage.length-1;index>=0;index-=1){const key=window.sessionStorage.key(index);if(key?.startsWith(\"sb-\")&&key.includes(\"auth-token\")){window.sessionStorage.removeItem(key);}}}catch(error){console.warn(\"[RZ] auth storage cleanup failed:\",error);}}/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */\nexport const __FramerMetadata__ = {\"exports\":{\"hasFramerTextStructure\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RZ_AUTH_LOCALE_RETURN_PREFIX_KEY\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"firstValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getConfigPathname\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clearAuthLocaleReturnPrefix\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVerticalGapBeforeElement\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clearPendingSocialProfileCompletionRedirect\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"normalizePathname\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"syncInjectedLogoutButton\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getPathList\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isSignInPath\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getEventElement\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"normalizePhone\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCachedUserData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"pendingSocialProfileCompletionKey\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setClonedLogoutText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"shouldResumeProfileCompletion\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hasPendingSocialProfileCompletionRedirect\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getAuthProvider\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"patchSupabaseAuthLocaleRedirects\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localizeAuthRedirectUrl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createInjectedLogoutElement\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"shouldReplaceInjectedLogoutElement\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isSocialLoginTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"rzLogoutLabel\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getAuthProviders\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"findVisibleMypageLink\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"alignInjectedLogoutPosition\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hasLinkedEmailOAuthIdentity\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"rzLocale\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RZ_LOCALE_PATH_PREFIXES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getRequiredFields\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getAuthGateCompatibleUserData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"rzLogoutConfirm\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"applyCurrentLocaleToInternalPath\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"markPendingSocialProfileCompletionRedirect\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"wait\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"requiredProfileFieldList\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVisiblePreviousElementSibling\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isLogoutTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"restoreAuthLocaleRootIfNeeded\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"normalizeText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyUserData\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clearSupabaseAuthStorage\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCurrentLocalePathPrefix\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"injectedLogoutButtonAttribute\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMissingFields\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"stripLocalePathPrefix\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"pendingSocialProfileCompletionTtl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RZ_LOGOUT_I18N\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hasValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"rememberAuthLocaleReturnPrefix\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getNormalizedRedirectTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isOAuthProvider\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getProfileValues\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isAnonymousAuthUser\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isVisibleElement\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"looksLikeLogout\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isCurrentPathIncluded\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"publishUserData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getPlainElementText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ReZeroUserDataProviderHelpers.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";// @ts-ignore\nimport{createClient}from\"https://esm.sh/@supabase/supabase-js@2\";import{restoreAuthLocaleRootIfNeeded,patchSupabaseAuthLocaleRedirects,rzLogoutConfirm,rzLocale,emptyUserData,publishUserData,injectedLogoutButtonAttribute,syncInjectedLogoutButton,getNormalizedRedirectTarget,normalizePhone,getRequiredFields,getPathList,isCurrentPathIncluded,isLogoutTarget,getCachedUserData,markPendingSocialProfileCompletionRedirect,hasPendingSocialProfileCompletionRedirect,clearPendingSocialProfileCompletionRedirect,isSignInPath,isSocialLoginTarget,shouldResumeProfileCompletion,wait,getAuthProviders,getAuthProvider,hasLinkedEmailOAuthIdentity,isAnonymousAuthUser,isOAuthProvider,getProfileValues,getMissingFields,clearSupabaseAuthStorage}from\"https://framerusercontent.com/modules/hpgbhQiWlCBKcGZLKKU1/VNMmffFZ0NxJodYgJnzE/ReZeroUserDataProviderHelpers.js\";const RZ_ACCOUNT_LINKED_NOTICE={ko:\"기존 이메일 계정과 소셜 계정이 연결됐습니다.\\n앞으로 두 방법 모두로 로그인하실 수 있어요.\",en:\"Your email account and social account are now linked.\\nYou can sign in with either method from now on.\",zh:\"您的邮箱账号已与社交账号关联。\\n今后可使用任一方式登录。\",\"zh-hant\":\"您的電子郵件帳號已與社群帳號連結。\\n之後可使用任一方式登入。\",ja:\"メールアカウントとソーシャルアカウントが連携されました。\\n今後はどちらの方法でもログインできます。\",vi:\"T\\xe0i khoản email v\\xe0 t\\xe0i khoản mạng x\\xe3 hội của bạn đ\\xe3 được li\\xean kết.\\nTừ giờ bạn c\\xf3 thể đăng nhập bằng cả hai c\\xe1ch.\",th:\"บัญชีอีเมลและบัญชีโซเชียลของคุณเชื่อมต่อกันแล้ว\\nจากนี้ไปคุณสามารถเข้าสู่ระบบได้ทั้งสองวิธี\"};function rzAccountLinkedNotice(){return RZ_ACCOUNT_LINKED_NOTICE[rzLocale()]||RZ_ACCOUNT_LINKED_NOTICE.ko;}export default function ReZero_UserDataProvider_Local(props){const{supabaseProjectId,supabaseAnonKey,tableName,profileCompletePath,redirectIncompleteProfiles,authRequiredPaths,signedOutRedirectPath}=props;useEffect(()=>{if(typeof window===\"undefined\")return;if(!supabaseProjectId||!supabaseAnonKey){publishUserData(emptyUserData);return;}const supabaseUrl=`https://${supabaseProjectId}.supabase.co`;const supabase=createClient(supabaseUrl,supabaseAnonKey);window.__rzSupabase=supabase;patchSupabaseAuthLocaleRedirects(supabase);if(restoreAuthLocaleRootIfNeeded())return;let isMounted=true;let redirectHandled=false;let signedOutRedirectHandled=false;const handleInjectedLogout=async()=>{const shouldLogout=window.confirm(rzLogoutConfirm());if(!shouldLogout)return;await supabase.auth.signOut().catch(error=>{console.warn(\"[RZ] injected logout failed:\",error);});clearSupabaseAuthStorage(supabaseProjectId);publishUserData(emptyUserData);const redirectTarget=getNormalizedRedirectTarget(signedOutRedirectPath||\"/\");if(redirectTarget)window.location.href=redirectTarget.href;};window.__rzInjectedLogout=handleInjectedLogout;const injectedLogoutSyncTimer=window.setInterval(()=>{syncInjectedLogoutButton(window.__rzUserData||getCachedUserData());},700);window.setTimeout(()=>syncInjectedLogoutButton(window.__rzUserData||getCachedUserData()),120);window.setTimeout(()=>syncInjectedLogoutButton(window.__rzUserData||getCachedUserData()),900);async function notifyAccountLinked(session){const isOAuthCallback=window.location.hash.includes(\"access_token\")||window.location.search.includes(\"code=\");if(!isOAuthCallback)return;const{data}=await supabase.auth.getUser().catch(()=>({data:{user:null}}));const authUser=data?.user||session?.user;if(!authUser||!hasLinkedEmailOAuthIdentity(authUser))return;const linkedProviders=getAuthProviders(authUser);const dedupeKey=`rzLinkedAccountNoticeShown:${authUser.id}:${linkedProviders.join(\",\")}`;try{if(window.sessionStorage.getItem(dedupeKey))return;window.sessionStorage.setItem(dedupeKey,String(true));}catch(_error){}alert(rzAccountLinkedNotice());}function redirectToProfileCompleteIfNeeded(shouldRedirect){if(!shouldRedirect||redirectHandled)return;const completionPath=profileCompletePath||\"/signup-social\";const redirectTarget=getNormalizedRedirectTarget(completionPath);if(!redirectTarget)return;const isAlreadyOnCompletionPage=window.location.pathname===redirectTarget.pathname;if(isAlreadyOnCompletionPage)return;redirectHandled=true;console.log(\"[RZ][PROFILE_REDIRECT]\",{href:redirectTarget.href,path:window.location.pathname});window.location.replace(redirectTarget.href);}function redirectSignedOutFromProtectedPage(){if(signedOutRedirectHandled)return;const protectedPaths=getPathList(authRequiredPaths||\"/mypage\");if(!isCurrentPathIncluded(protectedPaths))return;const redirectTarget=getNormalizedRedirectTarget(signedOutRedirectPath||\"/\");if(!redirectTarget)return;const isAlreadyOnTarget=window.location.pathname===redirectTarget.pathname;if(isAlreadyOnTarget)return;signedOutRedirectHandled=true;window.location.replace(redirectTarget.href);}async function guardProtectedPageAccess(){const protectedPaths=getPathList(authRequiredPaths||\"/mypage\");if(!isCurrentPathIncluded(protectedPaths))return;const liveUserData=window.__rzUserData;if(liveUserData&&liveUserData.isAuthenticated===false&&liveUserData.isLoggedIn===false){redirectSignedOutFromProtectedPage();return;}const{data}=await supabase.auth.getSession().catch(()=>({data:{session:null}}));if(!data?.session||isAnonymousAuthUser(data.session.user)){redirectSignedOutFromProtectedPage();}}function handleProtectedLogoutClick(event){const protectedPaths=getPathList(authRequiredPaths||\"/mypage\");if(!isCurrentPathIncluded(protectedPaths))return;const logout=isLogoutTarget(event.target);if(!logout)return;window.setTimeout(redirectSignedOutFromProtectedPage,120);window.setTimeout(redirectSignedOutFromProtectedPage,600);}function handleProfileCompletionResumeClick(event){if(!isSignInPath())return;if(!isSocialLoginTarget(event.target))return;markPendingSocialProfileCompletionRedirect();const cachedUserData=getCachedUserData();if(!shouldResumeProfileCompletion(cachedUserData))return;event.preventDefault();event.stopPropagation();event.stopImmediatePropagation?.();event.nativeEvent?.stopImmediatePropagation?.();clearPendingSocialProfileCompletionRedirect();redirectToProfileCompleteIfNeeded(true);}async function fetchRegistrationWithRetry(table,userId){let lastResult={data:null,error:null};for(let attempt=0;attempt<3;attempt+=1){lastResult=await supabase.from(table).select(\"*\").eq(\"user_id\",userId).maybeSingle();if(lastResult.error||lastResult.data)return lastResult;if(attempt<2)await wait(350);}return lastResult;}async function fetchUserDataWithSession(session){const table=tableName||\"registrations\";const requiredFields=getRequiredFields();const{data:authUserData,error:authUserError}=await supabase.auth.getUser();const authUser=authUserData?.user;if(authUserError||!authUser){await supabase.auth.signOut({scope:\"local\"}).catch(()=>{});clearSupabaseAuthStorage(supabaseProjectId);if(isMounted)publishUserData(emptyUserData);redirectSignedOutFromProtectedPage();return;}const provider=getAuthProvider(authUser);if(isAnonymousAuthUser(authUser)){if(!isMounted)return;publishUserData({...emptyUserData,provider:\"anonymous\"});redirectSignedOutFromProtectedPage();return;}const{data,error}=await fetchRegistrationWithRetry(table,authUser.id);const phoneValue=normalizePhone(data?.phone);const profileValues=getProfileValues(data,authUser,phoneValue);if(error){if(!isMounted)return;publishUserData({...emptyUserData,isAuthenticated:true,provider,name:profileValues.name,email:profileValues.email,needsProfileCompletion:true});return;}const completionValues={name:profileValues.name,phone:phoneValue,birthdate:profileValues.birthdate};const missingFields=getMissingFields(completionValues,requiredFields);const complete=missingFields.length===0;const linkedProviders=getAuthProviders(authUser);const hasLinkedEmailOAuthAccount=hasLinkedEmailOAuthIdentity(authUser);const isOAuthUser=isOAuthProvider(provider)&&!hasLinkedEmailOAuthAccount;const loggedIn=complete||!isOAuthUser;const isOAuthCallback=window.location.hash.includes(\"access_token\")||window.location.search.includes(\"code=\");const protectedPaths=getPathList(authRequiredPaths||\"/mypage\");const isOnProtectedPath=isCurrentPathIncluded(protectedPaths);const hasPendingSocialProfileCompletion=hasPendingSocialProfileCompletionRedirect();const shouldCompleteProfile=Boolean(session?.user)&&!complete&&isOAuthUser&&redirectIncompleteProfiles!==false&&(isOAuthCallback||isOnProtectedPath||hasPendingSocialProfileCompletion);console.log(\"[RZ][PROFILE_GATE]\",{path:window.location.pathname,provider,complete,isOAuthUser,hasLinkedEmailOAuthAccount,linkedProviders,isOAuthCallback,isOnProtectedPath,hasPendingSocialProfileCompletion,shouldCompleteProfile,missingFields});if(complete||!isOAuthUser){clearPendingSocialProfileCompletionRedirect();}if(!isMounted)return;publishUserData({isLoading:false,isAuthenticated:true,isLoggedIn:loggedIn,isProfileComplete:complete,needsProfileCompletion:!complete&&isOAuthUser,isAccountLinked:hasLinkedEmailOAuthAccount,linkedProviders,provider,name:profileValues.name,email:profileValues.email,phone:profileValues.phone,birthdate:profileValues.birthdate,gender:profileValues.gender,interests:profileValues.interests});if(shouldCompleteProfile){clearPendingSocialProfileCompletionRedirect();}redirectToProfileCompleteIfNeeded(shouldCompleteProfile);}const{data:{subscription}}=supabase.auth.onAuthStateChange((_event,session)=>{if(!isMounted)return;if(session){notifyAccountLinked(session);fetchUserDataWithSession(session);}else{publishUserData(emptyUserData);redirectSignedOutFromProtectedPage();}});supabase.auth.getSession().then(({data})=>{if(!isMounted)return;if(data?.session){notifyAccountLinked(data.session);fetchUserDataWithSession(data.session);}else{publishUserData(emptyUserData);redirectSignedOutFromProtectedPage();}}).catch(()=>{});window.addEventListener(\"click\",handleProtectedLogoutClick,true);window.addEventListener(\"pointerdown\",handleProfileCompletionResumeClick,true);window.addEventListener(\"mousedown\",handleProfileCompletionResumeClick,true);window.addEventListener(\"click\",handleProfileCompletionResumeClick,true);window.addEventListener(\"touchstart\",handleProfileCompletionResumeClick,true);const protectedGuardTimer=window.setInterval(guardProtectedPageAccess,1e3);window.setTimeout(guardProtectedPageAccess,700);return()=>{isMounted=false;window.removeEventListener(\"click\",handleProtectedLogoutClick,true);window.removeEventListener(\"pointerdown\",handleProfileCompletionResumeClick,true);window.removeEventListener(\"mousedown\",handleProfileCompletionResumeClick,true);window.removeEventListener(\"click\",handleProfileCompletionResumeClick,true);window.removeEventListener(\"touchstart\",handleProfileCompletionResumeClick,true);window.clearInterval(protectedGuardTimer);window.clearInterval(injectedLogoutSyncTimer);document.querySelector(\"[\"+injectedLogoutButtonAttribute+\"]\")?.remove();if(window.__rzInjectedLogout===handleInjectedLogout){delete window.__rzInjectedLogout;}subscription.unsubscribe();};},[supabaseProjectId,supabaseAnonKey,tableName,profileCompletePath,redirectIncompleteProfiles,authRequiredPaths,signedOutRedirectPath]);if(RenderTarget.current()===RenderTarget.canvas){return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",backgroundColor:\"rgba(59, 130, 246, 0.08)\",color:\"#3b82f6\",fontSize:\"11px\",fontWeight:\"bold\",border:\"1px dashed #3b82f6\",borderRadius:\"8px\",whiteSpace:\"nowrap\",minWidth:\"max-content\",padding:\"0 12px\"},children:\"관제탑 (Provider)\"});}return null;}ReZero_UserDataProvider_Local.defaultProps={tableName:\"registrations\",profileCompletePath:\"/signup-social\",profileCompleteMessage:\"회원가입이 아직 완료되지 않았어요.\\n연락처를 등록하셔야 모든 서비스를 이용하실 수 있어요.\",requiredProfileFields:\"name,phone,birthdate\",redirectIncompleteProfiles:true,authRequiredPaths:\"/mypage\",signedOutRedirectPath:\"/\"};addPropertyControls(ReZero_UserDataProvider_Local,{supabaseProjectId:{type:ControlType.String,preventLocalization:true,title:\"Project ID\",placeholder:\"wnpsddhsrocxywfbyruo\"},supabaseAnonKey:{type:ControlType.String,preventLocalization:true,title:\"Anon Key\"},tableName:{type:ControlType.String,preventLocalization:true,title:\"테이블 이름\",defaultValue:\"registrations\"},profileCompletePath:{type:ControlType.Link,title:\"프로필 완성 페이지\",defaultValue:\"/signup-social\",description:\"소셜 로그인 후 필수 정보 미등록 유저를 이 페이지로 이동시킵니다.\"},profileCompleteMessage:{type:ControlType.String,title:\"알림 메시지\",defaultValue:\"회원가입이 아직 완료되지 않았어요.\\n연락처를 등록하셔야 모든 서비스를 이용하실 수 있어요.\"},requiredProfileFields:{type:ControlType.String,preventLocalization:true,title:\"필수 필드\",defaultValue:\"name,phone,birthdate\",description:\"현재 완료 기준은 name, phone, birthdate 세 개로 고정되어 있습니다.\"},redirectIncompleteProfiles:{type:ControlType.Boolean,title:\"미완성 이동\",enabledTitle:\"ON\",disabledTitle:\"OFF\",defaultValue:true},authRequiredPaths:{type:ControlType.String,preventLocalization:true,title:\"로그인 필요 경로\",defaultValue:\"/mypage\",description:\"쉼표로 여러 경로를 입력할 수 있습니다.\"},signedOutRedirectPath:{type:ControlType.Link,title:\"로그아웃 이동\",defaultValue:\"/\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ReZero_UserDataProvider_Local\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ReZero_UserDataProvider_Local.map"],"mappings":"wPACwX,SAAgB,GAAU,CAAC,GAAU,IAAS,OAAY,MAAM,KAAK,IAAM,GAAK,EAAO,SAAS,SAAS,MAAM,GAAG,CAAC,CAAC,IAAI,GAAA,CAAI,YAAY,EAAE,GAAG,IAAM,KAAK,MAAM,KAAK,GAAG,IAAM,KAAK,MAAM,KAAK,GAAG,IAAM,aAAa,MAAM,UAAU,GAAG,IAAM,KAAK,MAAM,KAAK,GAAG,IAAM,KAAK,MAAM,KAAK,GAAG,IAAM,KAAK,MAAM,KAAK,IAAM,GAAM,SAAS,gBAAgB,MAAM,GAAA,CAAI,YAAY,EAAoO,OAA/N,EAAK,WAAW,IAAI,EAAQ,KAAQ,EAAK,WAAW,SAAS,EAAQ,UAAa,EAAK,WAAW,IAAI,EAAQ,KAAQ,EAAK,WAAW,IAAI,EAAQ,KAAQ,EAAK,WAAW,IAAI,EAAQ,KAAQ,EAAK,WAAW,IAAI,EAAQ,KAAW,IAAK,CAA8E,SAAgB,GAA4B,CAAC,GAAU,IAAS,OAAY,MAAM,GAAG,IAAM,GAAS,EAAO,SAAS,SAAS,MAAM,GAAG,CAAC,CAAC,IAAI,GAAA,CAAI,YAAY,EAAE,OAAO,EAAwB,SAAS,CAAO,EAAE,IAAI,EAAQ,EAAG,CAAC,SAAgB,EAAkB,EAAS,CAAyG,OAAtF,EAAS,WAAW,GAAG,EAAE,EAAS,IAAI,EAAA,CAAU,QAAQ,OAAO,GAAG,CAAC,CAAC,QAAQ,MAAM,EAAoB,GAAG,GAAI,CAAC,SAAgB,EAAsB,EAAS,CAAC,IAAM,EAAW,EAAkB,CAAQ,EAAQ,EAAS,EAAW,MAAM,GAAG,CAAC,CAAC,OAAO,OAAO,EAAE,GAAG,EAAS,SAAS,EAAE,MAAM,IAAI,IAAM,EAAa,EAAS,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,EAAwB,SAAS,CAAY,EAAE,OAAO,EAAW,IAAM,EAAK,EAAS,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,OAAO,EAAK,IAAI,EAAK,GAAI,CAAC,SAAgB,EAAiC,EAAS,CAAC,IAAM,EAAW,EAAkB,CAAQ,EAAQ,EAAoB,EAA2B,EAAgH,MAA3G,CAAC,GAAyC,EAAsB,CAAU,IAAI,EAAkB,EAAkB,IAAa,IAAI,EAAoB,EAAoB,CAAW,CAAC,SAAgB,EAAkB,EAAK,CAAC,IAAM,EAAY,EAAK,KAAK,EAAE,GAAG,CAAC,EAAY,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI,EAAY,EAAO,SAAS,MAAM,CAAC,CAAC,QAAS,MAAM,CAAC,OAAO,EAAY,MAAM,MAAM,CAAC,CAAC,IAAI,GAAI,CAAC,CAA0E,SAAgB,GAAgC,CAAC,GAAU,IAAS,OAAY,OAAO,IAAM,EAAoB,EAA2B,EAAM,KAA2B,GAAG,CAAC,EAAO,eAAe,QAAQ,EAAiC,CAAmB,CAAE,MAAc,CAAC,CAAC,CAAC,SAAgB,GAA6B,CAAI,GAAO,IAAS,OAAmB,GAAG,CAAC,EAAO,eAAe,WAAW,CAAgC,CAAE,MAAc,CAAC,CAAC,CAAC,SAAgB,GAA+B,CAA6C,GAAlC,IAAS,QAA4B,EAAkB,EAAO,SAAS,QAAQ,IAAI,IAAI,MAAO,GAAM,IAAI,EAAa,GAAG,GAAG,CAAC,EAAa,EAAO,eAAe,QAAA,0BAAwC,GAAG,GAAG,EAAO,eAAe,WAAW,CAAgC,CAAE,MAAc,CAAC,CAAqE,OAAhE,GAA0B,EAAO,SAAS,QAAQ,CAAY,EAAS,IAAnD,EAAwD,CAAC,SAAgB,EAAwB,EAAW,CAAC,GAAU,IAAS,OAAY,OAAO,EAAW,GAAG,CAAC,IAAM,EAAU,IAAI,IAAI,EAAW,EAAO,SAAS,MAAM,EAAE,GAAG,EAAU,SAAS,EAAO,SAAS,OAAO,OAAO,EAAW,IAAM,EAAS,EAAiC,EAAU,QAAQ,EAAE,OAAO,EAAO,SAAS,OAAO,EAAS,EAAU,OAAO,EAAU,IAAK,MAAc,CAAC,OAAO,CAAW,CAAC,CAAC,SAAgB,EAAiC,EAAS,CAAC,IAAM,EAAK,GAAU,KAAK,GAAG,CAAC,GAAM,EAAK,0BAA0B,OAAO,IAAM,EAAwB,EAAK,iBAAiB,KAAK,CAAI,EAAK,IAAyB,EAAK,gBAAgB,GAAa,CAAC,EAA+B,EAAE,IAAM,EAAQ,CAAC,GAAG,GAAa,SAAS,CAAC,CAAC,EAAyF,MAAvF,CAAuB,EAAQ,aAAW,EAAwB,EAAQ,UAAU,EAAU,EAAwB,CAAC,GAAG,EAAY,SAAO,CAAC,CAAE,GAAG,IAAM,EAA2B,EAAK,oBAAoB,KAAK,CAAI,EAAK,IAA4B,EAAK,mBAAmB,KAAM,IAAa,CAAC,IAAM,EAAa,EAA2B,EAAQ,EAAO,MAAM,EAA2B,CAAW,EAAE,GAAG,GAAQ,OAAO,CAAC,EAA6D,OAA5C,GAAQ,OAAM,EAA4B,EAAS,EAAQ,GAAG,CAAC,EAAO,eAAe,QAAQ,EAAiC,CAAY,CAAE,MAAc,CAAC,CAAC,OAAO,CAAO,GAAG,EAAK,0BAA0B,EAAK,CAAC,SAAgB,GAAe,CAAC,OAAO,EAAe,EAAS,IAAI,EAAe,GAAA,CAAI,KAAM,CAAC,SAAgB,GAAiB,CAAC,OAAO,EAAe,EAAS,IAAI,EAAe,GAAA,CAAI,OAAQ,CAGhxJ,SAAgB,EAA8B,EAAS,CAAuE,MAAnE,CAAC,GAAU,iBAAiB,GAAU,WAAmB,EAAgB,CAAC,GAAG,EAAS,WAAW,EAAI,CAAE,CAAC,SAAgB,EAAgB,EAAS,CAAC,GAAU,IAAS,OAAY,OAAO,IAAM,EAAkB,EAA8B,CAAQ,EAAE,EAAO,aAAa,EAAkB,GAAG,CAAI,EAAS,iBAAiB,EAAS,WAAY,EAAO,eAAe,QAAQ,aAAa,KAAK,UAAU,CAAQ,CAAC,EAAQ,EAAO,eAAe,WAAW,YAAY,CAAG,OAAO,EAAM,CAAC,QAAQ,KAAK,sCAAsC,CAAK,CAAE,CAAC,EAAO,cAAc,IAAI,YAAY,mBAAmB,CAAC,OAAO,CAAiB,CAAC,CAAC,EAAE,EAAO,eAAe,EAAyB,CAAiB,EAAE,CAAC,EAAE,EAAO,eAAe,EAAyB,CAAiB,EAAE,GAAG,CAAE,CAA6E,SAAgB,EAAoB,EAAQ,CAAC,OAAO,GAAS,aAAa,GAAA,CAAI,QAAQ,OAAO,GAAG,CAAC,CAAC,KAAK,CAAE,CAAC,SAAgB,EAAiB,EAAQ,CAAC,GAAU,IAAS,QAAa,CAAC,EAAQ,MAAO,GAAM,IAAM,EAAK,EAAQ,sBAAsB,EAAQ,EAAM,EAAO,iBAAiB,CAAO,EAAE,OAAO,EAAK,MAAM,GAAG,EAAK,OAAO,GAAG,EAAK,OAAO,GAAG,EAAK,MAAM,GAAG,EAAK,IAAI,EAAO,aAAa,EAAK,KAAK,EAAO,YAAY,EAAM,UAAU,QAAQ,EAAM,aAAa,UAAU,EAAM,UAAU,GAAI,CAAC,SAAgB,GAAuB,CAAiI,OAA7H,OAAO,SAAW,IAAmB,KAAsB,MAAM,KAAK,SAAS,iBAAiB,0BAA0B,CAAmB,CAAC,CAAC,KAAK,GAAS,CAAC,IAAM,EAAK,EAAoB,CAAO,EAAQ,EAAK,EAAQ,aAAa,MAAM,GAAG,GAAG,OAAO,EAAiB,CAAO,IAAI,IAAO,SAAS,uBAAuB,KAAK,CAAI,EAAG,CAAC,GAAG,IAAK,CAAC,SAAgB,EAAuB,EAAQ,CAAC,MAAO,EAAQ,EAAQ,cAAc,gEAAgE,CAAG,CAAC,SAAgB,GAAoB,EAAc,CAAC,IAAM,EAAa,MAAM,KAAK,EAAc,iBAAiB,cAAc,CAAC,EAAQ,EAAY,EAAa,KAAK,GAAS,EAAoB,CAAO,IAAI,OAAO,GAAG,EAAa,KAAK,GAAS,EAAoB,CAAO,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAY,CAAC,EAAY,YAAY,EAAc,EAAE,MAAO,CAAuH,IAAM,EAArG,MAAM,KAAK,EAAc,iBAAiB,kDAAkD,CAAwC,CAAC,CAAC,KAAK,GAAS,EAAoB,CAAO,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAgB,CAAC,EAAgB,YAAY,EAAc,EAAE,MAAO,CAAC,EAAc,YAAY,EAAc,CAAE,CAAC,SAAgB,GAA4B,EAAU,CAAC,IAAM,EAAc,EAAU,UAAU,EAAI,EAAkhB,OAAhhB,EAAc,gBAAgB,IAAI,EAAE,EAAc,iBAAiB,MAAM,CAAC,CAAC,QAAQ,GAAS,CAAC,EAAQ,gBAAgB,IAAI,CAAE,CAAC,EAAE,EAAc,aAAa,EAA8B,MAAM,EAAE,EAAc,aAAa,aAAa,EAAc,CAAC,EAAE,EAAc,aAAa,OAAO,QAAQ,EAAE,EAAc,gBAAgB,QAAQ,EAAE,EAAc,gBAAgB,KAAK,EAAK,aAAyB,mBAAmB,EAAc,aAAa,OAAO,GAAG,EAAG,GAAoB,CAAa,EAAE,EAAc,MAAM,OAAO,UAAiB,CAAc,CAAC,SAAgB,GAAmC,EAAS,EAAU,CAAC,GAAG,CAAC,EAAS,MAAO,GAAK,IAAM,EAAiB,EAAU,OAAO,EAAS,UAAU,EAAiB,SAAS,EAAS,YAAY,EAAiB,WAAW,EAAuB,CAAS,GAAG,CAAC,EAAuB,CAAQ,CAAE,CAAC,SAAgB,GAAiC,EAAQ,CAAC,IAAI,EAAQ,EAAQ,uBAAuB,KAAM,GAAQ,CAAC,GAAG,EAAiB,CAAO,EAAE,OAAO,EAAQ,EAAQ,EAAQ,sBAAuB,CAAC,OAAO,IAAK,CAAC,SAAgB,GAA4B,EAAQ,CAAC,IAAM,EAAgB,GAAiC,CAAO,EAAE,GAAG,CAAC,EAAgB,OAAO,KAAK,IAAM,EAAa,EAAgB,sBAAsB,EAA0D,EAAtC,EAAQ,sBAA4C,CAAC,CAAC,IAAI,EAAa,OAAO,OAAO,GAAK,GAAG,GAAK,GAAG,EAAI,IAAK,CAAC,SAAgB,GAA4B,EAAc,EAAW,CAAC,GAAU,IAAS,OAAY,OAAiE,IAAM,EAA9C,GAA4B,CAAsC,GAAG,GAAG,EAAc,MAAM,UAAU,GAAG,IAAM,EAAW,EAAW,sBAAsB,EAAiH,EAAW,GAAzG,EAAc,sBAAkD,CAAC,CAAC,IAAI,EAAW,QAA6C,GAAG,KAAK,IAAI,CAAU,GAAG,EAAE,OAAO,IAAM,EAAiB,WAAW,EAAO,iBAAiB,CAAa,CAAC,CAAC,WAAW,GAAG,EAAQ,EAAc,KAAK,IAAI,EAAE,EAAiB,CAAU,EAAE,EAAc,MAAM,UAAU,EAAc,IAAK,CAAC,SAAgB,EAAyB,EAAS,CAAC,GAAG,OAAO,SAAW,KAAoB,IAAS,OAAY,OAAO,IAAM,EAAS,SAAS,cAAc,kCAAqC,EAA4E,GAAG,EAApD,GAAU,iBAAiB,GAAU,YAA2B,CAAC,GAAU,OAAO,EAAE,MAAO,CAAC,IAAM,EAAW,EAAsB,EAAE,GAAG,CAAC,GAAY,CAAC,EAAW,cAAc,OAAO,IAAI,EAAc,EAAS,GAAG,GAAmC,EAAS,CAAU,EAAE,CAAC,IAAM,EAAkB,GAA4B,CAAU,EAAE,GAAU,YAAY,CAAiB,EAAE,EAAc,CAAkB,MAAS,IAAe,GAAoB,CAAa,EAAE,EAAc,aAAa,aAAa,EAAc,CAAC,EAAE,EAAc,aAAa,OAAO,QAAQ,GAAO,IAAqB,EAAc,QAAQ,GAAO,CAAC,EAAM,eAAe,EAAE,EAAM,gBAAgB,EAAE,EAAO,qBAAqB,CAAE,EAAK,EAAc,yBAAyB,GAAY,EAAW,cAAc,aAAa,EAAc,EAAW,WAAW,EAAG,GAA4B,EAAc,CAAU,EAAE,CAAC,SAAgB,EAA4B,EAAK,CAAC,GAAU,IAAS,OAAY,OAAO,KAAK,IAAM,EAAY,EAAK,KAAK,EAAE,GAAG,CAAC,EAAY,OAAO,KAAK,GAAG,CAAC,IAAM,EAAU,IAAI,IAAI,EAAY,EAAO,SAAS,MAAM,EAAQ,EAAiB,EAAU,SAAS,EAAO,SAAS,OAAa,EAAS,EAAiB,EAAiC,EAAU,QAAQ,EAAE,EAAU,SAAe,EAAK,EAAiB,EAAS,EAAU,OAAO,EAAU,KAAK,EAAU,KAAK,MAAM,CAAC,OAAK,WAAS,WAAW,CAAI,CAAE,OAAO,EAAM,CAAsE,OAArE,QAAQ,MAAM,oCAAoC,EAAY,CAAK,EAAS,IAAK,CAAC,CAAC,SAAgB,GAAe,EAAM,CAAgG,OAA5F,GAAO,OAAO,GAAQ,SAAgB,GAAG,EAAM,aAAa,GAAG,GAAG,EAAM,OAAO,KAAK,KAAK,EAAU,GAAO,EAAG,CAAoE,SAAgB,IAAmB,CAAC,OAAO,EAAyB,CAAC,SAAgB,EAAY,EAAM,CAAC,OAAO,GAAO,GAAA,CAAI,MAAM,GAAG,CAAC,CAAC,IAAI,GAAM,EAAK,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAE,CAAC,SAAgB,EAAsB,EAAM,CAAC,GAAU,IAAS,OAAY,MAAO,GAAM,IAAM,EAAY,EAAsB,EAAO,SAAS,QAAQ,EAAE,OAAO,EAAM,KAAK,GAAM,CAAC,IAAM,EAAU,EAAsB,EAAkB,CAAI,CAAC,EAAE,OAAO,IAAc,GAAW,IAAY,KAAK,EAAY,WAAW,EAAU,GAAG,CAAE,CAAC,CAAE,CAAC,SAAgB,EAAgB,EAAO,CAAkG,OAA9F,aAAkB,QAAe,EAAU,aAAkB,KAAY,EAAO,cAAqB,IAAK,CAAC,SAAgB,EAAc,EAAM,CAAC,OAAO,GAAO,GAAA,CAAI,QAAQ,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAE,CAAC,SAAgB,EAAgB,EAAK,CAAC,OAAO,EAAK,SAAS,MAAM,GAAG,EAAK,SAAS,EAAc,CAAC,CAAC,YAAY,CAAC,GAAG,EAAK,SAAS,QAAQ,CAAE,CAAC,SAAgB,GAAe,EAAO,CAAC,IAAM,EAAQ,EAAgB,CAAM,EAAE,GAAG,CAAC,EAAQ,MAAO,GAAM,IAAM,EAAU,EAAQ,QAAQ,gDAAgD,EAAE,GAAG,CAAC,EAAU,MAAO,GAAM,IAAM,EAAO,CAAC,EAAU,eAAe,YAAY,EAAE,EAAU,eAAe,OAAO,EAAE,EAAU,eAAe,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,OAAO,OAAO,EAAQ,EAAQ,EAAc,EAAU,aAAa,EAAE,EAAQ,EAAe,EAAO,KAAK,CAAe,EAAQ,EAAc,IAAU,QAAQ,IAAU,EAAc,CAAC,CAAC,YAAY,GAAG,IAAU,UAAU,EAAgB,CAAO,GAAG,EAAQ,QAAQ,GAA+C,OAA9B,GAAgB,CAA6B,CAAC,SAAgB,GAAmB,CAAC,GAAU,IAAS,OAAY,OAAO,KAAK,GAAG,EAAO,aAAa,OAAO,EAAO,aAAa,GAAG,CAAC,IAAM,EAAI,EAAO,eAAe,QAAQ,YAAY,EAAsB,OAAhB,EAAuB,KAAK,MAAM,CAAG,EAA1B,IAA4B,MAAc,CAAC,OAAO,IAAK,CAAC,CAAC,SAAgB,IAA4C,CAAC,GAAU,IAAS,OAAY,OAAO,IAAM,EAAM,OAAO,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC,EAAO,eAAe,QAAQ,EAAkC,CAAK,CAAE,MAAc,CAAC,CAAC,GAAG,CAAC,EAAO,aAAa,QAAQ,EAAkC,CAAK,CAAE,MAAc,CAAC,CAAC,CAAC,SAAgB,IAA2C,CAAC,GAAU,IAAS,OAAY,MAAO,GAAM,GAAG,CAAC,IAAM,EAAW,EAAO,eAAe,QAAQ,CAAiC,EAAQ,EAAS,EAAO,aAAa,QAAQ,CAAiC,EAAQ,EAAI,KAAK,IAAI,EAAQ,EAAiB,GAAK,CAAC,GAAG,CAAC,EAAI,MAAO,GAAM,IAAM,EAAU,OAAO,CAAG,EAA0C,MAAxC,CAAG,OAAO,MAAM,CAAS,GAAsB,EAAI,GAAW,EAAkC,EAAE,GAAG,EAAiB,CAAU,GAAG,EAAiB,CAAQ,EAAG,MAAO,GAAM,GAAG,CAAC,EAAO,eAAe,WAAW,CAAiC,CAAE,MAAc,CAAC,CAAC,GAAG,CAAC,EAAO,aAAa,WAAW,CAAiC,CAAE,MAAc,CAAC,CAAC,MAAO,EAAM,MAAc,CAAC,MAAO,EAAM,CAAC,CAAC,SAAgB,GAA6C,CAAI,GAAO,IAAS,OAAmB,IAAG,CAAC,EAAO,eAAe,WAAW,CAAiC,CAAE,MAAc,CAAC,CAAC,GAAG,CAAC,EAAO,aAAa,WAAW,CAAiC,CAAE,MAAc,CAAC,CAAtF,CAAuF,CAAC,SAAgB,IAAc,CAA6C,OAAlC,IAAS,QAAgC,EAAsB,EAAO,SAAS,QAAQ,IAAI,SAAU,CAAC,SAAgB,GAAoB,EAAO,CAAC,IAAM,EAAQ,EAAgB,CAAM,EAAE,GAAG,CAAC,EAAQ,MAAO,GAAM,IAAM,EAAU,EAAQ,QAAQ,gDAAgD,EAAE,GAAG,CAAC,EAAU,MAAO,GAAM,IAAM,EAAO,CAAC,EAAU,aAAa,GAAG,EAAU,eAAe,YAAY,GAAG,GAAG,EAAU,eAAe,OAAO,GAAG,GAAG,EAAU,eAAe,kBAAkB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,OAAO,OAAO,EAAQ,EAAiB,CAAC,MAAM,QAAQ,KAAK,SAAS,MAAM,OAAO,EAAE,OAAO,EAAO,KAAK,GAAO,EAAiB,KAAK,GAAS,EAAM,SAAS,CAAO,CAAC,CAAC,CAAE,CAAC,SAAgB,GAA8B,EAAS,CAAC,MAAO,GAAQ,GAAU,kBAAkB,IAAM,GAAU,YAAY,IAAM,EAAgB,GAAU,QAAQ,GAAG,GAAU,WAAW,aAAa,CAAC,GAAU,kBAAkB,GAAU,yBAAyB,IAAM,GAAU,oBAAoB,IAAQ,CAAC,SAAgB,GAAK,EAAG,CAAC,OAAO,IAAI,QAAQ,GAAS,WAAW,EAAQ,CAAE,CAAC,CAAE,CAAC,SAAgB,EAAiB,EAAS,CAAC,IAAM,EAAU,CAAC,EAAQ,EAAY,GAAU,cAAc,SAAY,OAAO,GAAc,UAAU,EAAY,KAAK,GAAG,EAAU,KAAK,CAAW,EAAG,IAAM,EAAkB,MAAM,QAAQ,GAAU,UAAU,EAAE,EAAS,WAAW,IAAI,GAAU,GAAU,QAAQ,CAAC,CAAC,OAAO,GAAU,OAAO,GAAW,UAAU,EAAS,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,IAAM,KAAY,EAAmB,EAAU,KAAK,CAAQ,EAAG,IAAM,EAAQ,CAAC,EAAE,IAAI,IAAM,KAAY,EAAe,EAAQ,SAAS,CAAQ,GAAE,EAAQ,KAAK,CAAQ,EAAG,OAAO,CAAQ,CAAC,SAAgB,GAAgB,EAAS,CAAC,OAAO,EAAiB,CAAQ,CAAC,CAAC,IAAI,EAAG,CAAC,SAAgB,EAA4B,EAAS,CAAC,IAAM,EAAU,EAAiB,CAAQ,EAAE,OAAO,EAAU,SAAS,OAAO,GAAG,EAAU,KAAK,CAAe,CAAE,CAAC,SAAgB,EAAoB,EAAS,CAAC,MAAO,GAAQ,GAAU,cAAc,GAAU,cAAc,WAAW,aAAa,GAAU,YAAY,KAAK,GAAU,GAAU,WAAW,WAAW,EAAG,CAAC,SAAgB,EAAgB,EAAS,CAAC,MAAO,GAAQ,GAAU,IAAW,QAAS,CAAC,SAAgB,EAAS,EAAM,CAAqN,OAAjN,GAA2B,KAAY,GAAS,OAAO,GAAQ,SAAgB,EAAM,KAAK,CAAC,CAAC,OAAO,EAAK,MAAM,QAAQ,CAAK,EAAS,EAAM,OAAO,EAAK,OAAO,GAAQ,UAAgB,OAAO,KAAK,CAAK,CAAC,CAAC,OAAO,CAAc,CAAC,SAAgB,EAAW,GAAG,EAAO,CAAC,OAAO,EAAO,KAAK,GAAO,EAAS,CAAK,CAAC,GAAG,EAAG,CAAC,SAAgB,GAAiB,EAAK,EAAS,EAAW,CAAC,IAAM,EAAS,GAAU,eAAe,CAAC,EAAE,MAAM,CAAC,KAAK,EAAW,GAAM,KAAK,GAAM,UAAU,EAAS,UAAU,EAAS,IAAI,EAAE,MAAM,EAAW,GAAM,MAAM,GAAU,MAAM,EAAS,KAAK,EAAE,MAAM,EAAW,UAAU,EAAW,GAAM,UAAU,GAAM,UAAU,GAAM,WAAW,GAAM,SAAS,GAAM,WAAW,EAAE,OAAO,EAAW,GAAM,OAAO,GAAM,GAAG,EAAE,UAAU,GAAM,WAAW,CAAC,CAAC,CAAE,CAAC,SAAgB,GAAiB,EAAc,EAAe,CAAC,OAAO,EAAe,OAAO,GAAO,CAAC,EAAS,IAAgB,EAAM,CAAC,CAAE,CAAC,SAAgB,GAAyB,EAAU,CAAC,GAAU,IAAS,OAAY,OAAO,IAAM,EAAS,MAAM,EAAU,aAAa,GAAG,CAAC,EAAO,aAAa,WAAW,YAAY,EAAE,EAAO,eAAe,WAAW,YAAY,EAAE,EAAO,aAAa,WAAW,CAAQ,EAAE,EAAO,eAAe,WAAW,CAAQ,EAAE,IAAI,IAAI,EAAM,EAAO,aAAa,OAAO,EAAE,GAAO,EAAE,IAAS,CAAC,IAAM,EAAI,EAAO,aAAa,IAAI,CAAK,EAAK,GAAK,WAAW,KAAK,GAAG,EAAI,SAAS,YAAY,GAAG,EAAO,aAAa,WAAW,CAAG,CAAG,CAAC,IAAI,IAAI,EAAM,EAAO,eAAe,OAAO,EAAE,GAAO,EAAE,IAAS,CAAC,IAAM,EAAI,EAAO,eAAe,IAAI,CAAK,EAAK,GAAK,WAAW,KAAK,GAAG,EAAI,SAAS,YAAY,GAAG,EAAO,eAAe,WAAW,CAAG,CAAG,CAAC,OAAO,EAAM,CAAC,QAAQ,KAAK,oCAAoC,CAAK,CAAE,CAAC,sCAHr8a,EAAe,CAAC,GAAG,CAAC,MAAM,OAAO,QAAQ,cAAc,EAAE,GAAG,CAAC,MAAM,WAAW,QAAQ,2BAA2B,EAAE,GAAG,CAAC,MAAM,OAAO,QAAQ,WAAW,EAAE,UAAU,CAAC,MAAM,KAAK,QAAQ,SAAS,EAAE,GAAG,CAAC,MAAM,QAAQ,QAAQ,YAAY,EAAE,GAAG,CAAC,MAAM,YAAY,QAAQ,8BAAoC,EAAE,GAAG,CAAC,MAAM,aAAa,QAAQ,2BAA2B,CAAC,EAAumB,EAAwB,CAAC,KAAK,KAAK,aAAa,KAAK,KAAK,IAAI,EAA2yC,EAAiC,2BAE11E,EAAc,CAAC,UAAU,GAAM,gBAAgB,GAAM,WAAW,GAAM,kBAAkB,GAAM,uBAAuB,GAAM,gBAAgB,GAAM,gBAAgB,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC,EAAe,EAAkC,2CAAwD,GAAkC,IAAM,IACwb,EAA8B,iCAAgoL,GAAyB,CAAC,OAAO,QAAQ,WAAW,KCH1oK,SAAS,IAAuB,CAAC,OAAO,EAAyB,EAAS,IAAI,EAAyB,EAAG,CAAC,SAAwB,EAA8B,EAAM,CAAC,GAAK,CAAC,oBAAkB,kBAAgB,YAAU,sBAAoB,6BAA2B,oBAAkB,yBAAuB,EAAm4S,OAA73S,MAAc,CAAC,GAAU,IAAS,OAAY,OAAO,GAAG,CAAC,GAAmB,CAAC,EAAgB,CAAC,EAAgB,CAAa,EAAE,MAAO,CAA8D,IAAM,EAASA,GAAa,WAA5D,EAAkB,cAAsD,CAAe,EAA0E,GAAxE,EAAO,aAAa,EAAS,EAAiC,CAAQ,EAAK,EAA8B,EAAE,OAAO,IAAI,EAAU,GAAS,EAAgB,GAAU,EAAyB,GAAY,EAAqB,SAAS,CAAsD,GAAG,CAArC,EAAO,QAAQ,EAAgB,CAAkB,EAAE,OAAO,MAAM,EAAS,KAAK,QAAQ,CAAC,CAAC,MAAM,GAAO,CAAC,QAAQ,KAAK,+BAA+B,CAAK,CAAE,CAAC,EAAE,GAAyB,CAAiB,EAAE,EAAgB,CAAa,EAAE,IAAM,EAAe,EAA4B,GAAuB,GAAG,EAAK,IAAe,EAAO,SAAS,KAAK,EAAe,KAAK,EAAE,EAAO,mBAAmB,EAAqB,IAAM,EAAwB,EAAO,gBAAgB,CAAC,EAAyB,EAAO,cAAc,EAAkB,CAAC,CAAE,EAAE,GAAG,EAAE,EAAO,eAAe,EAAyB,EAAO,cAAc,EAAkB,CAAC,EAAE,GAAG,EAAE,EAAO,eAAe,EAAyB,EAAO,cAAc,EAAkB,CAAC,EAAE,GAAG,EAAE,eAAe,EAAoB,EAAQ,CAA+G,GAAG,EAA3F,EAAO,SAAS,KAAK,SAAS,cAAc,GAAG,EAAO,SAAS,OAAO,SAAS,OAAO,GAAsB,OAAO,GAAK,CAAC,QAAM,MAAM,EAAS,KAAK,QAAQ,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,EAAQ,EAAS,GAAM,MAAM,GAAS,KAAK,GAAG,CAAC,GAAU,CAAC,EAA4B,CAAQ,EAAE,OAAO,IAAM,EAAgB,EAAiB,CAAQ,EAAQ,EAAU,8BAA8B,EAAS,GAAG,GAAG,EAAgB,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,EAAO,eAAe,QAAQ,CAAS,EAAE,OAAO,EAAO,eAAe,QAAQ,EAAU,MAAY,CAAE,MAAc,CAAC,CAAC,MAAM,GAAsB,CAAC,CAAE,CAAC,SAAS,EAAkC,EAAe,CAAC,GAAG,CAAC,GAAgB,EAAgB,OAAkE,IAAM,EAAe,EAA3D,GAAqB,gBAAgF,EAAM,GAAsD,EAAO,SAAS,WAAW,EAAe,WAA6C,EAAgB,GAAK,QAAQ,IAAI,yBAAyB,CAAC,KAAK,EAAe,KAAK,KAAK,EAAO,SAAS,QAAQ,CAAC,EAAE,EAAO,SAAS,QAAQ,EAAe,IAAI,EAAE,CAAC,SAAS,GAAoC,CAAmG,GAA/F,GAAkG,CAAC,EAA9C,EAAY,GAAmB,SAAkD,CAAC,EAAE,OAAO,IAAM,EAAe,EAA4B,GAAuB,GAAG,EAAM,GAA8C,EAAO,SAAS,WAAW,EAAe,WAAqC,EAAyB,GAAK,EAAO,SAAS,QAAQ,EAAe,IAAI,EAAE,CAAC,eAAe,GAA0B,CAAgE,GAAG,CAAC,EAA9C,EAAY,GAAmB,SAAkD,CAAC,EAAE,OAAO,IAAM,EAAa,EAAO,aAAa,GAAG,GAAc,EAAa,kBAAkB,IAAO,EAAa,aAAa,GAAM,CAAC,EAAmC,EAAE,MAAO,CAAC,GAAK,CAAC,QAAM,MAAM,EAAS,KAAK,WAAW,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAE,GAAK,CAAC,GAAM,SAAS,EAAoB,EAAK,QAAQ,IAAI,IAAG,EAAmC,CAAG,CAAC,SAAS,EAA2B,EAAM,CAAoE,EAA9C,EAAY,GAAmB,SAAkD,CAAC,GAAsB,GAAe,EAAM,MAAiB,IAAS,EAAO,WAAW,EAAmC,GAAG,EAAE,EAAO,WAAW,EAAmC,GAAG,EAAE,CAAC,SAAS,EAAmC,EAAM,CAAK,GAAa,GAAa,GAAoB,EAAM,MAAM,IAAS,GAA2C,EAA+C,GAAxB,EAAmE,CAAC,IAAS,EAAM,eAAe,EAAE,EAAM,gBAAgB,EAAE,EAAM,2BAA2B,EAAE,EAAM,aAAa,2BAA2B,EAAE,EAA4C,EAAE,EAAkC,EAAI,GAAE,CAAC,eAAe,EAA2B,EAAM,EAAO,CAAC,IAAI,EAAW,CAAC,KAAK,KAAK,MAAM,IAAI,EAAE,IAAI,IAAI,EAAQ,EAAE,EAAQ,EAAE,GAAS,EAAE,CAAsF,GAArF,EAAW,MAAM,EAAS,KAAK,CAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,UAAU,CAAM,CAAC,CAAC,YAAY,EAAK,EAAW,OAAO,EAAW,KAAK,OAAO,EAAc,EAAQ,GAAE,MAAM,GAAK,GAAG,CAAE,CAAC,OAAO,CAAW,CAAC,eAAe,EAAyB,EAAQ,CAAC,IAAM,EAAM,GAAW,gBAAsB,EAAe,GAAkB,EAAO,CAAC,KAAK,EAAa,MAAM,IAAe,MAAM,EAAS,KAAK,QAAQ,EAAQ,EAAS,GAAc,KAAK,GAAG,IAAe,CAAC,EAAS,CAAC,MAAM,EAAS,KAAK,QAAQ,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,GAAyB,CAAiB,EAAK,GAAU,EAAgB,CAAa,EAAE,EAAmC,EAAE,MAAO,CAAC,IAAM,EAAS,GAAgB,CAAQ,EAAE,GAAG,EAAoB,CAAQ,EAAE,CAAC,GAAG,CAAC,EAAU,OAAO,EAAgB,CAAC,GAAG,EAAc,SAAS,WAAW,CAAC,EAAE,EAAmC,EAAE,MAAO,CAAC,GAAK,CAAC,OAAK,SAAO,MAAM,EAA2B,EAAM,EAAS,EAAE,EAAQ,EAAW,GAAe,GAAM,KAAK,EAAQ,EAAc,GAAiB,EAAK,EAAS,CAAU,EAAE,GAAG,EAAM,CAAC,GAAG,CAAC,EAAU,OAAO,EAAgB,CAAC,GAAG,EAAc,gBAAgB,GAAK,WAAS,KAAK,EAAc,KAAK,MAAM,EAAc,MAAM,uBAAuB,EAAI,CAAC,EAAE,MAAO,CAAqG,IAAM,EAAc,GAAiB,CAAjH,KAAK,EAAc,KAAK,MAAM,EAAW,UAAU,EAAc,SAA+D,EAAE,CAAc,EAAQ,EAAS,EAAc,SAAS,EAAQ,EAAgB,EAAiB,CAAQ,EAAQ,EAA2B,EAA4B,CAAQ,EAAQ,EAAY,EAAgB,CAAQ,GAAG,CAAC,EAAiC,EAAS,GAAU,CAAC,EAAkB,EAAgB,EAAO,SAAS,KAAK,SAAS,cAAc,GAAG,EAAO,SAAS,OAAO,SAAS,OAAO,EAAuE,EAAkB,EAAlE,EAAY,GAAmB,SAAsE,CAAC,EAAQ,EAAkC,GAA0C,EAAQ,EAAsB,EAAQ,GAAS,MAAO,CAAC,GAAU,GAAa,IAA6B,KAAQ,GAAiB,GAAmB,GAAmC,QAAQ,IAAI,qBAAqB,CAAC,KAAK,EAAO,SAAS,SAAS,WAAS,WAAS,cAAY,6BAA2B,kBAAgB,kBAAgB,oBAAkB,oCAAkC,wBAAsB,eAAa,CAAC,GAAK,GAAU,CAAC,IAAa,EAA4C,EAAO,IAAiB,EAAgB,CAAC,UAAU,GAAM,gBAAgB,GAAK,WAAW,EAAS,kBAAkB,EAAS,uBAAuB,CAAC,GAAU,EAAY,gBAAgB,EAA2B,kBAAgB,WAAS,KAAK,EAAc,KAAK,MAAM,EAAc,MAAM,MAAM,EAAc,MAAM,UAAU,EAAc,UAAU,OAAO,EAAc,OAAO,UAAU,EAAc,SAAS,CAAC,EAAK,GAAuB,EAA4C,EAAG,EAAkC,CAAqB,EAAE,CAAC,GAAK,CAAC,KAAK,CAAC,iBAAe,EAAS,KAAK,mBAAmB,EAAO,IAAU,CAAK,IAAoB,GAAS,EAAoB,CAAO,EAAE,EAAyB,CAAO,IAAQ,EAAgB,CAAa,EAAE,EAAmC,GAAG,CAAC,EAAE,EAAS,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC,UAAQ,CAAK,IAAoB,GAAM,SAAS,EAAoB,EAAK,OAAO,EAAE,EAAyB,EAAK,OAAO,IAAQ,EAAgB,CAAa,EAAE,EAAmC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,EAAO,iBAAiB,QAAQ,EAA2B,EAAI,EAAE,EAAO,iBAAiB,cAAc,EAAmC,EAAI,EAAE,EAAO,iBAAiB,YAAY,EAAmC,EAAI,EAAE,EAAO,iBAAiB,QAAQ,EAAmC,EAAI,EAAE,EAAO,iBAAiB,aAAa,EAAmC,EAAI,EAAE,IAAM,EAAoB,EAAO,YAAY,EAAyB,GAAG,EAAkD,OAAhD,EAAO,WAAW,EAAyB,GAAG,MAAY,CAAC,EAAU,GAAM,EAAO,oBAAoB,QAAQ,EAA2B,EAAI,EAAE,EAAO,oBAAoB,cAAc,EAAmC,EAAI,EAAE,EAAO,oBAAoB,YAAY,EAAmC,EAAI,EAAE,EAAO,oBAAoB,QAAQ,EAAmC,EAAI,EAAE,EAAO,oBAAoB,aAAa,EAAmC,EAAI,EAAE,EAAO,cAAc,CAAmB,EAAE,EAAO,cAAc,CAAuB,EAAE,SAAS,cAAc,IAAI,EAA8B,GAAG,CAAC,EAAE,OAAO,EAAK,EAAO,qBAAqB,GAAsB,OAAO,EAAO,mBAAoB,EAAa,YAAY,CAAE,CAAE,EAAE,CAAC,EAAkB,EAAgB,EAAU,EAAoB,EAA2B,EAAkB,CAAqB,CAAC,EAAK,EAAa,QAAQ,IAAI,EAAa,OAA4B,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,OAAO,OAAO,OAAO,QAAQ,OAAO,eAAe,SAAS,WAAW,SAAS,gBAAgB,2BAA2B,MAAM,UAAU,SAAS,OAAO,WAAW,OAAO,OAAO,qBAAqB,aAAa,MAAM,WAAW,SAAS,SAAS,cAAc,QAAQ,QAAQ,EAAE,SAAS,gBAAgB,CAAC,EAAU,IAAK,wBADliW,IAA6B,IAAiE,IACxE,KAA4wB,EAAO,EAAyB,CAAC,GAAG;2BAAuD,GAAG;iDAAyG,GAAG;cAAgC,UAAU;cAAkC,GAAG;sBAAqD,GAAG;+CAA4I,GAAG;2CAA6F,EAAosT,EAA8B,aAAa,CAAC,UAAU,gBAAgB,oBAAoB,iBAAiB,uBAAuB;gCAAsD,sBAAsB,uBAAuB,2BAA2B,GAAK,kBAAkB,UAAU,sBAAsB,GAAG,EAAE,EAAoB,EAA8B,CAAC,kBAAkB,CAAC,KAAK,EAAY,OAAO,oBAAoB,GAAK,MAAM,aAAa,YAAY,sBAAsB,EAAE,gBAAgB,CAAC,KAAK,EAAY,OAAO,oBAAoB,GAAK,MAAM,UAAU,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,oBAAoB,GAAK,MAAM,SAAS,aAAa,eAAe,EAAE,oBAAoB,CAAC,KAAK,EAAY,KAAK,MAAM,aAAa,aAAa,iBAAiB,YAAY,uCAAuC,EAAE,uBAAuB,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa;+BAAqD,EAAE,sBAAsB,CAAC,KAAK,EAAY,OAAO,oBAAoB,GAAK,MAAM,QAAQ,aAAa,uBAAuB,YAAY,kDAAkD,EAAE,2BAA2B,CAAC,KAAK,EAAY,QAAQ,MAAM,SAAS,aAAa,KAAK,cAAc,MAAM,aAAa,EAAI,EAAE,kBAAkB,CAAC,KAAK,EAAY,OAAO,oBAAoB,GAAK,MAAM,YAAY,aAAa,UAAU,YAAY,wBAAwB,EAAE,sBAAsB,CAAC,KAAK,EAAY,KAAK,MAAM,UAAU,aAAa,GAAG,CAAC,CAAC"}