{"version":3,"file":"OpenStatus.CTkAzj6U.mjs","names":["useId","useMemo","_Fragment"],"sources":["https:/framerusercontent.com/modules/iGAWVB8VqneMXPmmcImq/Vpz3QY88EprYcDpDIDKU/OpenStatus.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useId,useMemo}from\"react\";import{ARROW_CSS,ARROW_PATH,ARROW_VIEWBOX,CHIP_CSS,FONT_BODY,LABEL_CSS,LINKS,META_CSS,NC,PRICE_CSS,isCanvasTarget,rootCSS,tierCSS,tierClass,useNinjaFonts}from\"https://framerusercontent.com/modules/dgFGZOf2O0086QoZHwbV/Y6IeUqtz9wfL8wr382cG/NinjaKit.js\";import{NINJA_HOURS,NINJA_PREVIEW_TIMES,NINJA_STATES,NINJA_LUNCH_PROMO,NINJA_STATUS_KEYS,ninjaFillWindows,ninjaInlineScript,ninjaMigrateTemplate,ninjaPreviewConfig,ninjaResolve,scriptJSON,useNinjaNow}from\"https://framerusercontent.com/modules/4R1koqSqNUOykdEox2iE/rKfZCoHyi6C3ng5UgF29/NinjaHours.js\";// Promo for the phone strip (ROUND2.md). The times are tokens filled from NinjaHours.ts.\nconst OPEN_TEXT=NINJA_LUNCH_PROMO;// After lunch the promo turns to dinner (live QA round 3, finding 6).\nconst DINNER_TEXT=\"Dinner till {close} tonight. Book a table →\";// content/copy.md §1.3\nconst STATUS={beforeOpen:\"Open today {hours}\",open:\"Open till {close} tonight\",afterCloseTomorrow:\"Closed now \\xb7 Back tomorrow at {nextOpen}\",afterCloseLater:\"Closed now \\xb7 Back {nextWeekday} at {nextOpen}\",closedToday:\"Closed today \\xb7 Back {nextWeekday} at {nextOpen}\",holiday:\"Closed today for {label} \\xb7 Back {nextWeekday} at {nextOpen}\",specialHours:\"Open today {hours} \\xb7 {label} hours\"};const STATUS_TITLES={beforeOpen:\"Before opening\",open:\"Open now\",afterCloseTomorrow:\"Closed, open tomorrow\",afterCloseLater:\"Closed, back in 2+ days\",closedToday:\"Closed today\",holiday:\"Holiday closure\",specialHours:\"Holiday hours\"};const SERVICE_TITLES={lunchNow:\"A \\xb7 Lunch now\",lunchLater:\"B \\xb7 Lunch later today\",dinnerLater:\"C \\xb7 Before dinner\",dinnerNow:\"D \\xb7 Dinner now\",allDayNow:\"W \\xb7 Weekend daytime\",allDayLater:\"W′ \\xb7 Weekend, not open yet\",closedLunchNext:\"E \\xb7 Closed, lunch tomorrow\",closedDinnerNext:\"E′ \\xb7 Closed, dinner tomorrow\",closedGap:\"F \\xb7 Closed, back in 2+ days\",closedToday:\"G \\xb7 Closed today\",holiday:\"H \\xb7 Holiday closure\"};const LINE_PROP={lunchNow:\"lineA\",lunchLater:\"lineB\",dinnerLater:\"lineC\",dinnerNow:\"lineD\",allDayNow:\"lineW\",allDayLater:\"lineW2\",closedLunchNext:\"lineE\",closedDinnerNext:\"lineE2\",closedGap:\"lineF\",closedToday:\"lineG\",holiday:\"lineH\"};const WEEK_ORDER=[1,2,3,4,5,6,0];const DAY_NAMES=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];/*\n * Chooses the visible text. Self-contained (no helpers) because its source\n * is also inlined into the pre-paint script.\n */function openStatusPick(r,o){var isOpenDay=r.statusKey===\"beforeOpen\"||r.statusKey===\"open\"||r.statusKey===\"specialHours\";if(o.over&&isOpenDay&&(!o.lunchOnly||r.lunchToday)){// The lunch promo while lunch is on or still to come today; after that, the dinner line.\nif(r.service===\"lunch\")return{text:o.overText,over:true,href:o.links.lunch,arrow:o.overArrow};var d=r.text[\"promo.dinner\"]||\"\";if(d)return{text:d.replace(/\\s*→\\s*$/,\"\"),over:true,href:o.links.dinner,arrow:/→\\s*$/.test(d)};}var t=\"\";if(o.source===\"service\")t=r.text[\"svc.\"+r.stateKey]||\"\";if(!t)t=r.text[\"st.\"+r.statusKey]||\"\";return{text:t,over:false,href:o.links.status,arrow:false};}function fmtTime(m){const h24=Math.floor(m/60)%24;const mi=m%60;const h12=h24%12===0?12:h24%12;return(mi?`${h12}:${mi<10?\"0\"+mi:mi}`:String(h12))+(h24<12?\"am\":\"pm\");}function statusCSS(cls,canvas,rowFrom,mobileBelow,table){const r=`.${cls}`;// Only the table queries its own width in the canvas: a text status often\n// hugs its content, and an inline-size container would collapse to 0.\nconst base=`${rootCSS(cls,canvas&&table)}\n${ARROW_CSS(r)}\n${r}{text-align:var(--nco-align)}\n${r} .nco-a{display:inline;color:var(--nco-c);transition:opacity .15s ease-out}\n${r} a.nco-a[href]:hover{opacity:.82}\n${r} a.nco-a:focus-visible{outline:2px solid currentColor;outline-offset:3px}\n${r}[data-over=\"true\"] .nco-a{color:var(--nco-over-c)}\n${r}[data-over=\"true\"] .nco-suffix,${r}[data-over=\"false\"] .nco-overarrow,${r}[data-arrow=\"false\"] .nco-overarrow{display:none}\n${r}[data-variant=\"inline\"] .nco-a{${META_CSS}letter-spacing:.01em;font-size:13px;line-height:1.5}\n${r}[data-variant=\"compact\"] .nco-a{font-family:${FONT_BODY};font-weight:800;font-size:18px;line-height:1.3}\n${r}[data-variant=\"line\"] .nco-a{${LABEL_CSS}letter-spacing:.07em;font-size:13px;line-height:1.4}\n${r}[data-custom=\"true\"] .nco-a{font:inherit;letter-spacing:inherit;text-transform:inherit;font-variation-settings:inherit;font-feature-settings:inherit}\n${r} .nco-table{margin:0;padding:0;list-style:none;border-top:2px solid ${NC.ink}}\n${r} .nco-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;min-height:60px;padding:16px;border-bottom:1px solid ${NC.ink20};border-radius:0}\n${r} .nco-row[data-today=\"true\"]{background:${NC.mustard};border-bottom-color:transparent;border-radius:12px}\n${r} .nco-day{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:24px;line-height:1.15}\n${r} .nco-time{${PRICE_CSS}font-size:18px;line-height:1.2;white-space:nowrap}\n${r} .nco-time[data-closed=\"true\"]{color:${NC.inkMuted}}\n${r} .nco-chip{display:inline-block;padding:4px 8px;border-radius:6px;${CHIP_CSS}font-size:12px;line-height:1.2}\n${r} .nco-chip[data-open=\"true\"]{background:${NC.tomato};color:${NC.white}}\n${r} .nco-chip[data-open=\"false\"]{background:${NC.ink};color:${NC.cream}}`;const t=p=>`\n${p}[data-suffix=\"desktop\"] .nco-suffix{display:none}\n${p}[data-variant=\"inline\"] .nco-a{font-size:12px}\n${p}[data-variant=\"compact\"] .nco-a{font-size:17px}\n${p}[data-variant=\"line\"] .nco-a{font-size:12px}\n${p} .nco-day{font-size:22px}\n${p} .nco-time{font-size:17px}`;const m=p=>`\n${p}[data-variant=\"inline\"] a.nco-a[href]{display:inline-block;padding:13px 0;margin:-13px 0}\n${p}[data-variant=\"compact\"] .nco-a{font-size:15px}\n${p}[data-variant=\"line\"] .nco-a{font-size:12px}\n${p} .nco-row{padding:14px 12px;min-height:0}\n${p} .nco-day{font-size:19px}\n${p} .nco-time{font-size:15px}\n${p} .nc-arrow path{stroke-width:1.75px}`;return base+tierCSS({cls,rowFrom,mobileBelow,canvas,t,m});}/**\n * OpenStatus — live opening status in Cleveland time: the announcement-bar\n * text (\"Open till 9 tonight\"), a status line, or the Visit hours table.\n *\n * @framerIntrinsicWidth 320\n * @framerIntrinsicHeight 20\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n */export default function OpenStatus(props){const{variant=\"inline\",source=\"hours\",status=STATUS,lines={},suffix=\"\",suffixDesktopOnly=true,link=\"\",openOverride=false,openLunchOnly=true,openText=OPEN_TEXT,openLink=LINKS.order,dinnerText=DINNER_TEXT,dinnerLink=LINKS.resy,openColor=NC.mustard,fallbackText=\"Open from 11am \\xb7 Closed Wednesdays\",color,align=\"left\",customFont=false,font,preview=\"auto\",closedLabel=\"Closed\",nowLabel=\"Now\",todayLabel=\"Today\",layout=\"auto\",rowFrom=1200,mobileBelow=810,style}=props;useNinjaFonts();const canvas=isCanvasTarget();const cls=tierClass(variant===\"table\"?\"ncot\":\"nco\",rowFrom,mobileBelow,canvas);const uid=useId();const rootId=`nco${uid.replace(/[^a-zA-Z0-9_-]/g,\"\")}`;const now=useNinjaNow(preview===\"auto\");const templates=useMemo(()=>{const t={};NINJA_STATUS_KEYS.forEach(k=>t[`st.${k}`]=status&&status[k]||STATUS[k]||\"\");if(source===\"service\"){const flat=props;NINJA_STATES.forEach(k=>{t[`svc.${k}`]=flat[LINE_PROP[k]]||lines&&lines[k]||\"\";});}if(openOverride&&dinnerText)t[\"promo.dinner\"]=dinnerText;return t;// eslint-disable-next-line react-hooks/exhaustive-deps\n},[status,lines,source,openOverride,dinnerText,...NINJA_STATES.map(k=>props[LINE_PROP[k]])]);// The lunch window in the promo comes from NinjaHours.ts ({lunchStart}–{lunchEnd});\n// an instance still holding the old literal default reads as that template.\nconst openFilled=ninjaFillWindows(ninjaMigrateTemplate(openText));const over=!!openOverride&&!!openFilled;const overText=openFilled.replace(/\\s*→\\s*$/,\"\");const overArrow=over&&/→\\s*$/.test(openFilled);const pickOpts={source,over,overText,overArrow,lunchOnly:!!openLunchOnly,links:{lunch:openLink||\"\",dinner:dinnerLink||\"\",status:link||\"\"}};const isPreview=preview!==\"auto\";const ts=isPreview?NINJA_PREVIEW_TIMES[preview]||NINJA_PREVIEW_TIMES.open:now;const r=useMemo(()=>ts===null?null:ninjaResolve(ts,isPreview?ninjaPreviewConfig():NINJA_HOURS,templates),[ts,isPreview,templates]);const baseColor=color||(variant===\"inline\"?NC.cream:NC.ink);const vars={\"--nco-c\":baseColor,\"--nco-over-c\":openColor||NC.mustard,\"--nco-align\":align};const head=/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:statusCSS(cls,canvas,rowFrom,mobileBelow,variant===\"table\")}})});if(variant===\"table\"){return /*#__PURE__*/_jsxs(\"div\",{className:cls,\"data-layout\":layout,\"data-variant\":\"table\",style:{...style,...vars},children:[head,/*#__PURE__*/_jsx(\"ul\",{className:\"nco-table\",children:WEEK_ORDER.map(d=>{const isToday=!!r&&r.weekday===d;let hours=NINJA_HOURS.week[d];let time=hours?`${fmtTime(hours[0])}–${fmtTime(hours[1])}`:closedLabel;if(isToday&&r){if(r.statusKey===\"holiday\"){hours=null;time=r.tokens.label?`${closedLabel} \\xb7 ${r.tokens.label}`:closedLabel;}else if(r.tokens.hours){// Today's real hours, special hours included, before and after closing.\ntime=r.tokens.label?`${r.tokens.hours} \\xb7 ${r.tokens.label}`:r.tokens.hours;}}return /*#__PURE__*/_jsxs(\"li\",{className:\"nco-row\",\"data-today\":isToday?\"true\":\"false\",children:[/*#__PURE__*/_jsxs(\"span\",{className:\"nco-day\",children:[DAY_NAMES[d],isToday&&r?/*#__PURE__*/_jsx(\"span\",{className:\"nco-chip\",\"data-open\":r.isOpen?\"true\":\"false\",children:r.isOpen?nowLabel:todayLabel}):null]}),/*#__PURE__*/_jsx(\"span\",{className:\"nco-time\",\"data-closed\":hours?\"false\":\"true\",children:time})]},d);})})]});}// Server HTML and the hydration render use the fallback (or the \"when\n// open\" override); the inline script swaps in the real text before first\n// paint and a layout effect (useNinjaNow) takes over after hydration.\n// The no-JS text may name the lunch window with tokens ({lunchDaysLong} etc.), filled from the config.\nconst picked=r?openStatusPick(r,pickOpts):over?{text:overText,over:true,href:openLink||\"\",arrow:overArrow}:{text:ninjaFillWindows(fallbackText),over:false,href:link,arrow:false};const href=picked.href;const script=preview===\"auto\"?ninjaInlineScript(`var p=(${openStatusPick.toString()})(r,${scriptJSON(pickOpts)});`+`var el=document.getElementById(${scriptJSON(rootId)});if(!el)return;`+`el.setAttribute(\"data-over\",p.over?\"true\":\"false\");`+`el.setAttribute(\"data-arrow\",p.arrow?\"true\":\"false\");`+`var m=el.querySelector(\".nco-main\");if(m)m.textContent=p.text;`+`var a=el.querySelector(\".nco-a\");var h=p.href;`+`if(a){if(h)a.setAttribute(\"href\",h);else a.removeAttribute(\"href\")}`,templates):\"\";return /*#__PURE__*/_jsxs(\"div\",{id:rootId,className:cls,\"data-layout\":layout,\"data-variant\":variant,\"data-over\":picked.over?\"true\":\"false\",\"data-arrow\":picked.arrow?\"true\":\"false\",\"data-suffix\":suffixDesktopOnly?\"desktop\":\"always\",\"data-custom\":customFont?\"true\":\"false\",style:{...style,...vars,...customFont&&font?font:{}},suppressHydrationWarning:true,children:[head,/*#__PURE__*/_jsx(\"span\",{children:/*#__PURE__*/_jsxs(\"a\",{className:\"nco-a\",href:href||undefined,suppressHydrationWarning:true,children:[/*#__PURE__*/_jsx(\"span\",{className:\"nco-main\",suppressHydrationWarning:true,children:picked.text}),suffix?/*#__PURE__*/_jsx(\"span\",{className:\"nco-suffix\",children:suffix}):null,over?/*#__PURE__*/_jsx(\"svg\",{className:\"nc-arrow nco-overarrow\",viewBox:ARROW_VIEWBOX,\"aria-hidden\":\"true\",focusable:\"false\",children:/*#__PURE__*/_jsx(\"path\",{d:ARROW_PATH})}):null]})}),script?/*#__PURE__*/_jsx(\"script\",{dangerouslySetInnerHTML:{__html:script},suppressHydrationWarning:true}):null]});}OpenStatus.displayName=\"Open Status\";const statusControls={};NINJA_STATUS_KEYS.forEach(k=>{statusControls[k]={type:ControlType.String,title:STATUS_TITLES[k],defaultValue:STATUS[k]};});const lineControls={};NINJA_STATES.forEach(k=>{lineControls[LINE_PROP[k]]={type:ControlType.String,title:`Line ${SERVICE_TITLES[k]}`,defaultValue:\"\",placeholder:\"(status text)\",hidden:p=>p.variant===\"table\"||p.source!==\"service\"};});const notTable=p=>p.variant===\"table\";addPropertyControls(OpenStatus,{variant:{type:ControlType.Enum,title:\"Variant\",options:[\"inline\",\"compact\",\"line\",\"table\"],optionTitles:[\"Inline (bar)\",\"Compact\",\"Status line\",\"Hours table\"],defaultValue:\"inline\"},source:{type:ControlType.Enum,title:\"Text by\",options:[\"hours\",\"service\"],optionTitles:[\"Open/closed\",\"Menu service\"],displaySegmentedControl:true,defaultValue:\"hours\",hidden:notTable},status:{type:ControlType.Object,title:\"Status text\",hidden:notTable,controls:statusControls},...lineControls,suffix:{type:ControlType.String,title:\"Suffix\",placeholder:\" \\xb7 6706 Detroit Ave, Gordon Square\",defaultValue:\"\",hidden:notTable},suffixDesktopOnly:{type:ControlType.Boolean,title:\"Suffix ≥1200 only\",defaultValue:true,hidden:notTable},link:{type:ControlType.Link,title:\"Link\",hidden:notTable},openOverride:{type:ControlType.Boolean,title:\"When open\",description:\"Show a custom text/link while open or opening today (phone strip); status text when closed.\",defaultValue:false,hidden:notTable},openLunchOnly:{type:ControlType.Boolean,title:\"Lunch days only\",description:\"Show the open text only on days that serve lunch; other days show the status.\",defaultValue:true,hidden:p=>p.variant===\"table\"||!p.openOverride},openText:{type:ControlType.String,title:\"Open text\",description:\"{lunchStart}–{lunchEnd} follow NinjaHours.ts.\",defaultValue:OPEN_TEXT,hidden:p=>p.variant===\"table\"||!p.openOverride},openLink:{type:ControlType.Link,title:\"Open link\",defaultValue:LINKS.order,hidden:p=>p.variant===\"table\"||!p.openOverride},dinnerText:{type:ControlType.String,title:\"Dinner text\",description:\"Replaces the open text once lunch is over. {close} is tonight's closing time. Empty: the status.\",defaultValue:DINNER_TEXT,hidden:p=>p.variant===\"table\"||!p.openOverride},dinnerLink:{type:ControlType.Link,title:\"Dinner link\",defaultValue:LINKS.resy,hidden:p=>p.variant===\"table\"||!p.openOverride},openColor:{type:ControlType.Color,title:\"Open color\",defaultValue:NC.mustard,hidden:p=>p.variant===\"table\"||!p.openOverride},fallbackText:{type:ControlType.String,title:\"No-JS text\",description:\"Window tokens work here, e.g. {lunchStartFull}–{lunchEndFull}, {lunchDaysLong}.\",defaultValue:\"Open from 11am \\xb7 Closed Wednesdays\",hidden:notTable},color:{type:ControlType.Color,title:\"Color\",optional:true,hidden:notTable},align:{type:ControlType.Enum,title:\"Align\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],displaySegmentedControl:true,defaultValue:\"left\",hidden:notTable},customFont:{type:ControlType.Boolean,title:\"Custom font\",defaultValue:false,hidden:notTable},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:13,variant:\"Medium\",lineHeight:\"1.5em\",letterSpacing:\"0.01em\"},hidden:p=>p.variant===\"table\"||!p.customFont},preview:{type:ControlType.Enum,title:\"Show\",options:[\"auto\",\"beforeOpen\",\"open\",\"openEvening\",\"afterCloseTomorrow\",\"afterCloseLater\",\"closedToday\",\"holiday\",\"specialHours\",\"weekend\"],optionTitles:[\"Live (Cleveland time)\",\"Mon 9am\",\"Mon noon\",\"Fri 8pm\",\"Mon 10pm\",\"Tue 10pm\",\"Wednesday\",\"Holiday (sample)\",\"Holiday hours (sample)\",\"Sat 1pm\"],defaultValue:\"auto\"},closedLabel:{type:ControlType.String,title:\"Closed\",defaultValue:\"Closed\",hidden:p=>p.variant!==\"table\"},nowLabel:{type:ControlType.String,title:\"Now chip\",defaultValue:\"Now\",hidden:p=>p.variant!==\"table\"},todayLabel:{type:ControlType.String,title:\"Today chip\",defaultValue:\"Today\",hidden:p=>p.variant!==\"table\"},layout:{type:ControlType.Enum,title:\"Layout\",options:[\"auto\",\"desktop\",\"tablet\",\"mobile\"],optionTitles:[\"Auto\",\"Desktop\",\"Tablet\",\"Phone\"],defaultValue:\"auto\"},rowFrom:{type:ControlType.Number,title:\"Desktop from\",min:600,max:1600,step:1,unit:\"px\",defaultValue:1200,hidden:p=>p.layout!==\"auto\"},mobileBelow:{type:ControlType.Number,title:\"Phone below\",min:320,max:1200,step:1,unit:\"px\",defaultValue:810,hidden:p=>p.layout!==\"auto\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"OpenStatus\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicHeight\":\"20\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"320\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"2bAMG,SAAS,EAAe,EAAE,EAAE,CAAC,IAAI,EAAU,EAAE,YAAY,cAAc,EAAE,YAAY,QAAQ,EAAE,YAAY,eAAe,GAAG,EAAE,MAAM,IAAY,CAAC,EAAE,WAAW,EAAE,YAAY,CAChL,GAAG,EAAE,UAAU,QAAQ,MAAM,CAAC,KAAK,EAAE,SAAS,KAAK,GAAK,KAAK,EAAE,MAAM,MAAM,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,KAAK,iBAAiB,GAAG,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,WAAW,EAAE,EAAE,KAAK,GAAK,KAAK,EAAE,MAAM,OAAO,MAAM,QAAQ,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,GAAiG,OAA3F,EAAE,SAAS,YAAU,EAAE,EAAE,KAAK,OAAO,EAAE,WAAW,IAAG,AAAM,IAAE,EAAE,KAAK,MAAM,EAAE,YAAY,GAAS,CAAC,KAAK,EAAE,KAAK,GAAM,KAAK,EAAE,MAAM,OAAO,MAAM,EAAK,CAAE,CAAC,SAAS,EAAQ,EAAE,CAAC,IAAM,EAAI,KAAK,MAAM,EAAE,EAAE,EAAE,GAAS,EAAG,EAAE,GAAS,EAAI,EAAI,IAAK,EAAE,GAAG,EAAI,GAAG,OAAO,EAAG,GAAG,EAAI,GAAG,EAAG,GAAG,IAAI,EAAG,IAAK,OAAO,CAAG,IAAI,EAAI,GAAG,KAAK,KAAM,CAAC,SAAS,GAAU,EAAI,EAAO,EAAQ,EAAY,EAAM,CAAC,IAAM,EAAE,IAAI,IAmClkB,MAAO,GAjCnC,EAAQ,EAAI,GAAQ,CAAK,EAAE;EACvC,EAAU,CAAC,EAAE;EACb,EAAE;EACF,EAAE;EACF,EAAE;EACF,EAAE;EACF,EAAE;EACF,EAAE,iCAAiC,EAAE,qCAAqC,EAAE;EAC5E,EAAE,iCAAiC,EAAS;EAC5C,EAAE,8CAA8C,EAAU;EAC1D,EAAE,+BAA+B,EAAU;EAC3C,EAAE;EACF,EAAE,sEAAsE,EAAG,IAAI;EAC/E,EAAE,0IAA0I,EAAG,MAAM;EACrJ,EAAE,0CAA0C,EAAG,QAAQ;EACvD,EAAE;EACF,EAAE,aAAa,EAAU;EACzB,EAAE,uCAAuC,EAAG,SAAS;EACrD,EAAE,oEAAoE,EAAS;EAC/E,EAAE,0CAA0C,EAAG,OAAO,SAAS,EAAG,MAAM;EACxE,EAAE,2CAA2C,EAAG,IAAI,SAAS,EAAG,MAAM,GAalB,EAAQ,CAAC,MAAI,UAAQ,cAAY,SAAO,EAbX,GAAG;EACpF,EAAE;EACF,EAAE;EACF,EAAE;EACF,EAAE;EACF,EAAE;EACF,EAAE,4BAO4F,EAPxD,GAAG;EACzC,EAAE;EACF,EAAE;EACF,EAAE;EACF,EAAE;EACF,EAAE;EACF,EAAE;EACF,EAAE,qCAA6F,CAAC,CAAE,CASjG,SAAwB,EAAW,EAAM,CAAC,GAAK,CAAC,UAAQ,SAAS,SAAO,QAAQ,SAAO,EAAO,QAAM,CAAC,EAAE,SAAO,GAAG,oBAAkB,GAAK,OAAK,GAAG,eAAa,GAAM,gBAAc,GAAK,WAAS,EAAU,WAAS,EAAM,MAAM,aAAW,EAAY,cAAW,EAAM,KAAK,aAAU,EAAG,QAAQ,eAAa,qCAAwC,QAAM,QAAM,OAAO,aAAW,GAAM,OAAK,UAAQ,OAAO,cAAY,SAAS,WAAS,MAAM,aAAW,QAAQ,SAAO,OAAO,WAAQ,KAAK,cAAY,IAAI,SAAO,EAAM,GAAc,EAAE,IAAM,EAAO,GAAe,EAAQ,EAAI,GAAU,IAAU,QAAQ,OAAO,MAAM,GAAQ,EAAY,CAAM,EAA0B,EAAO,MAArBA,EAA6B,CAAC,CAAC,QAAQ,kBAAkB,EAAE,IAAU,GAAI,GAAY,IAAU,MAAM,EAAQ,EAAUC,MAAY,CAAC,IAAM,EAAE,CAAC,EAA8E,GAA5E,EAAkB,QAAQ,GAAG,EAAE,MAAM,KAAK,GAAQ,EAAO,IAAI,EAAO,IAAI,EAAE,EAAK,IAAS,UAAU,CAAC,IAAM,EAAK,EAAM,EAAa,QAAQ,GAAG,CAAC,EAAE,OAAO,KAAK,EAAK,EAAU,KAAK,GAAO,EAAM,IAAI,EAAG,CAAC,CAAE,CAA0D,OAAtD,GAAc,IAAW,EAAE,gBAAgB,GAAkB,CAC5hC,EAAE,CAAC,EAAO,EAAM,EAAO,EAAa,EAAW,GAAG,EAAa,IAAI,GAAG,EAAM,EAAU,GAAG,CAAC,CAAC,EAErF,EAAW,GAAiB,GAAqB,CAAQ,CAAC,EAAQ,EAAK,CAAC,CAAC,GAAc,CAAC,CAAC,EAAiB,EAAS,EAAW,QAAQ,WAAW,EAAE,EAAQ,GAAU,GAAM,QAAQ,KAAK,CAAU,EAAQ,GAAS,CAAC,SAAO,OAAK,WAAS,aAAU,UAAU,CAAC,CAAC,EAAc,MAAM,CAAC,MAAM,GAAU,GAAG,OAAO,IAAY,GAAG,OAAO,GAAM,EAAE,CAAC,EAAQ,EAAU,IAAU,OAAa,EAAG,EAAU,GAAoB,IAAU,GAAoB,KAAK,GAAU,EAAEA,MAAY,IAAK,KAAK,KAAK,GAAa,EAAG,EAAU,GAAmB,EAAE,GAAY,CAAS,EAAE,CAAC,EAAG,EAAU,CAAS,CAAC,EAAoE,GAAK,CAAC,UAAxD,IAAQ,IAAU,SAAS,EAAG,MAAM,EAAG,KAAqC,eAAe,IAAW,EAAG,QAAQ,cAAc,CAAK,EAAQ,GAAkB,EAAKC,EAAU,CAAC,SAAsB,EAAK,QAAQ,CAAC,wBAAwB,CAAC,OAAO,GAAU,EAAI,EAAO,GAAQ,EAAY,IAAU,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAU,QAAS,OAAoB,EAAM,MAAM,CAAC,UAAU,EAAI,cAAc,EAAO,eAAe,QAAQ,MAAM,CAAC,GAAG,EAAM,GAAG,EAAI,EAAE,SAAS,CAAC,GAAkB,EAAK,KAAK,CAAC,UAAU,YAAY,SAAS,EAAW,IAAI,GAAG,CAAC,IAAM,EAAQ,CAAC,CAAC,GAAG,EAAE,UAAU,EAAM,EAAM,GAAY,KAAK,GAAO,EAAK,EAAM,GAAG,EAAQ,EAAM,EAAE,EAAE,GAAG,EAAQ,EAAM,EAAE,IAAI,EACvpC,OADsqC,GAAS,IAAM,EAAE,YAAY,WAAW,EAAM,KAAK,EAAK,EAAE,OAAO,MAAM,GAAG,EAAY,QAAQ,EAAE,OAAO,QAAQ,GAAqB,EAAE,OAAO,QACn4C,EAAK,EAAE,OAAO,MAAM,GAAG,EAAE,OAAO,MAAM,QAAQ,EAAE,OAAO,QAAQ,EAAE,OAAO,QAA4B,EAAM,KAAK,CAAC,UAAU,UAAU,aAAa,EAAQ,OAAO,QAAQ,SAAS,CAAc,EAAM,OAAO,CAAC,UAAU,UAAU,SAAS,CAAC,EAAU,GAAG,GAAS,EAAe,EAAK,OAAO,CAAC,UAAU,WAAW,YAAY,EAAE,OAAO,OAAO,QAAQ,SAAS,EAAE,OAAO,EAAS,CAAU,CAAC,EAAE,IAAI,CAAC,CAAC,EAAe,EAAK,OAAO,CAAC,UAAU,WAAW,cAAc,EAAM,QAAQ,OAAO,SAAS,CAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAInf,IAAM,EAAO,EAAE,EAAe,EAAE,EAAQ,EAAE,EAAK,CAAC,KAAK,EAAS,KAAK,GAAK,KAAK,GAAU,GAAG,MAAM,EAAS,EAAE,CAAC,KAAK,GAAiB,CAAY,EAAE,KAAK,GAAM,KAAK,EAAK,MAAM,EAAK,EAAQ,GAAK,EAAO,KAAW,GAAO,IAAU,OAAO,GAAkB,UAAU,EAAe,SAAS,EAAE,MAAM,EAAW,EAAQ,EAAE,mCAAsC,EAAW,CAAM,EAAE,ySAAwT,CAAS,EAAE,GAAG,OAAoB,EAAM,MAAM,CAAC,GAAG,EAAO,UAAU,EAAI,cAAc,EAAO,eAAe,EAAQ,YAAY,EAAO,KAAK,OAAO,QAAQ,aAAa,EAAO,MAAM,OAAO,QAAQ,cAAc,EAAkB,UAAU,SAAS,cAAc,EAAW,OAAO,QAAQ,MAAM,CAAC,GAAG,EAAM,GAAG,GAAK,GAAG,GAAY,EAAK,EAAK,CAAC,CAAC,EAAE,yBAAyB,GAAK,SAAS,CAAC,GAAkB,EAAK,OAAO,CAAC,SAAsB,EAAM,IAAI,CAAC,UAAU,QAAQ,KAAK,IAAM,IAAA,GAAU,yBAAyB,GAAK,SAAS,CAAc,EAAK,OAAO,CAAC,UAAU,WAAW,yBAAyB,GAAK,SAAS,EAAO,IAAI,CAAC,EAAE,EAAoB,EAAK,OAAO,CAAC,UAAU,aAAa,SAAS,CAAM,CAAC,EAAE,KAAK,EAAkB,EAAK,MAAM,CAAC,UAAU,yBAAyB,QAAQ,GAAc,cAAc,OAAO,UAAU,QAAQ,SAAsB,EAAK,OAAO,CAAC,EAAE,EAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAoB,EAAK,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAM,EAAE,yBAAyB,EAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,uCA3DvkD,IAAoD,IAAiC,IAA4P,KAA2S,EACpsB,EAAU,GACV,EAAY,8CACZ,EAAO,CAAC,WAAW,qBAAqB,KAAK,4BAA4B,mBAAmB,2CAA8C,gBAAgB,gDAAmD,YAAY,kDAAqD,QAAQ,8DAAiE,aAAa,oCAAuC,EAAQ,EAAc,CAAC,WAAW,iBAAiB,KAAK,WAAW,mBAAmB,wBAAwB,gBAAgB,0BAA0B,YAAY,eAAe,QAAQ,kBAAkB,aAAa,eAAe,EAAQ,EAAe,CAAC,SAAS,gBAAmB,WAAW,wBAA2B,YAAY,oBAAuB,UAAU,iBAAoB,UAAU,sBAAyB,YAAY,6BAAgC,gBAAgB,6BAAgC,iBAAiB,+BAAkC,UAAU,8BAAiC,YAAY,mBAAsB,QAAQ,qBAAwB,EAAQ,EAAU,CAAC,SAAS,QAAQ,WAAW,QAAQ,YAAY,QAAQ,UAAU,QAAQ,UAAU,QAAQ,YAAY,SAAS,gBAAgB,QAAQ,iBAAiB,SAAS,UAAU,QAAQ,YAAY,QAAQ,QAAQ,OAAO,EAAQ,EAAW,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAQ,EAAU,CAAC,SAAS,SAAS,UAAU,YAAY,WAAW,SAAS,UAAU,EAwD6P,EAAW,YAAY,cAAoB,EAAe,CAAC,EAAE,EAAkB,QAAQ,GAAG,CAAC,EAAe,GAAG,CAAC,KAAK,EAAY,OAAO,MAAM,EAAc,GAAG,aAAa,EAAO,EAAE,CAAE,CAAC,EAAQ,EAAa,CAAC,EAAE,EAAa,QAAQ,GAAG,CAAC,EAAa,EAAU,IAAI,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,EAAe,KAAK,aAAa,GAAG,YAAY,gBAAgB,OAAO,GAAG,EAAE,UAAU,SAAS,EAAE,SAAS,SAAS,CAAE,CAAC,EAAQ,EAAS,GAAG,EAAE,UAAU,QAAQ,EAAoB,EAAW,CAAC,QAAQ,CAAC,KAAK,EAAY,KAAK,MAAM,UAAU,QAAQ,CAAC,SAAS,UAAU,OAAO,OAAO,EAAE,aAAa,CAAC,eAAe,UAAU,cAAc,aAAa,EAAE,aAAa,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAY,KAAK,MAAM,UAAU,QAAQ,CAAC,QAAQ,SAAS,EAAE,aAAa,CAAC,cAAc,cAAc,EAAE,wBAAwB,GAAK,aAAa,QAAQ,OAAO,CAAQ,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,OAAO,EAAS,SAAS,CAAc,EAAE,GAAG,EAAa,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,YAAY,qCAAwC,aAAa,GAAG,OAAO,CAAQ,EAAE,kBAAkB,CAAC,KAAK,EAAY,QAAQ,MAAM,oBAAoB,aAAa,GAAK,OAAO,CAAQ,EAAE,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,OAAO,CAAQ,EAAE,aAAa,CAAC,KAAK,EAAY,QAAQ,MAAM,YAAY,YAAY,8FAA8F,aAAa,GAAM,OAAO,CAAQ,EAAE,cAAc,CAAC,KAAK,EAAY,QAAQ,MAAM,kBAAkB,YAAY,gFAAgF,aAAa,GAAK,OAAO,GAAG,EAAE,UAAU,SAAS,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,YAAY,gDAAgD,aAAa,EAAU,OAAO,GAAG,EAAE,UAAU,SAAS,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,aAAa,EAAM,MAAM,OAAO,GAAG,EAAE,UAAU,SAAS,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,YAAY,mGAAmG,aAAa,EAAY,OAAO,GAAG,EAAE,UAAU,SAAS,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,KAAK,EAAY,KAAK,MAAM,cAAc,aAAa,EAAM,KAAK,OAAO,GAAG,EAAE,UAAU,SAAS,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,EAAG,QAAQ,OAAO,GAAG,EAAE,UAAU,SAAS,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,YAAY,kFAAkF,aAAa,qCAAwC,OAAO,CAAQ,EAAE,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,SAAS,GAAK,OAAO,CAAQ,EAAE,MAAM,CAAC,KAAK,EAAY,KAAK,MAAM,QAAQ,QAAQ,CAAC,OAAO,SAAS,OAAO,EAAE,aAAa,CAAC,OAAO,SAAS,OAAO,EAAE,wBAAwB,GAAK,aAAa,OAAO,OAAO,CAAQ,EAAE,WAAW,CAAC,KAAK,EAAY,QAAQ,MAAM,cAAc,aAAa,GAAM,OAAO,CAAQ,EAAE,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,GAAG,QAAQ,SAAS,WAAW,QAAQ,cAAc,QAAQ,EAAE,OAAO,GAAG,EAAE,UAAU,SAAS,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,QAAQ,CAAC,OAAO,aAAa,OAAO,cAAc,qBAAqB,kBAAkB,cAAc,UAAU,eAAe,SAAS,EAAE,aAAa,CAAC,wBAAwB,UAAU,WAAW,UAAU,WAAW,WAAW,YAAY,mBAAmB,yBAAyB,SAAS,EAAE,aAAa,MAAM,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,SAAS,OAAO,GAAG,EAAE,UAAU,OAAO,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,MAAM,OAAO,GAAG,EAAE,UAAU,OAAO,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,QAAQ,OAAO,GAAG,EAAE,UAAU,OAAO,EAAE,OAAO,CAAC,KAAK,EAAY,KAAK,MAAM,SAAS,QAAQ,CAAC,OAAO,UAAU,SAAS,QAAQ,EAAE,aAAa,CAAC,OAAO,UAAU,SAAS,OAAO,EAAE,aAAa,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,KAAK,KAAK,aAAa,KAAK,OAAO,GAAG,EAAE,SAAS,MAAM,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,KAAK,KAAK,aAAa,IAAI,OAAO,GAAG,EAAE,SAAS,MAAM,CAAC,CAAC"}