vendor: 3,119 bytes, line 1
1import{a as Ti}from"/build/_shared/chunk-XC7SPKRF.js";import{a as Ie}from"/build/_shared/chunk-F3RAJA4O.js";import{a as Ur,e as Fe}from"/build/_shared/chunk-O3BUCIVF.js";function X(){return X=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},X.apply(null,arguments)}function $r(e){e===void 0&&(e={});function t(n,a){let{pathname:o,search:i,hash:l}=n.location;return Pt("",{pathname:o,search:i,hash:l},a.state&&a.state.usr||null,a.state&&a.state.key||"default")}function r(n,a){return typeof a=="string"?a:Se(a)}return Ui(t,r,null,e)}function k(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function at(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function Mi(){return Math.random().toString(36).substr(2,8)}function ta(e,t){return{usr:e.state,key:e.key,idx:t}}function Pt(e,t,r,n){return r===void 0&&(r=null),X({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?ce(t):t,{state:r,key:t&&t.key||n||Mi()})}function Se(e){let{pathname:t="/",search:r="",hash:n=""}=e;return r&&r!=="?"&&(t+=r.charAt(0)==="?"?r:"?"+r),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function ce(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function Ui(e,t,r,n){n===void 0&&(n={});let{window:a=document.defaultView,v5Compat:o=!1}=n,i=a.history,l=Q.Pop,s=null,u=m();u==null&&(u=0,i.replaceState(X({},i.state,{idx:u}),""));function m(){return(i.state||{idx:null}).idx}function c(){l=Q.Pop;let g=m(),D=g==null?null:g-u;u=g,s&&s({action:l,location:E.location,delta:D})}function f(g,D){l=Q.Push;let h=Pt(E.location,g,D);r&&r(h,g),u=m()+1;let N=ta(h,u),b=E.createHref(h);try{i.pushState(N,"",b)}catch(S){if(S instanceof DOMException&&S.name==="DataCloneError")throw S;a.location.assign(b)}o&&s&&s({action:l,location:E.location,delta:1})}function y(g,D){l=Q.Replace;let h=Pt(E.location,g,D);r&&r(h,g),u=m();let N=ta(h,u),b=E.createHref(h);i.replaceState(N,"",b),o&&s&&s({action:l,location:E.location,delta:0})}function R(g){let D=a.location.origin!=="null"?a.location.origin:a.location.href,h=typeof g=="string"?g:Se(g);return h=h.replace(/ $/,"%20"),k(D,"No window.location.(origin|href) available to create URL for href: "+h),new URL(h,D)}let E={get action(){return l},get location(){return e(a,i)},listen(g){if(s)throw new Error("A history only accepts one active listener");return a.addEventListener(ea,c),s=g,()=>{a.removeEventListener(ea,c),s=null}},createHref(g){return t(a,g)},createURL:R,encodeLocation(g){let D=R(g);return{pathname:D.pathname,search:D.search,hash:D.hash}},push:f,replace:y,go(g){return i.go(g)}};return E}function ki(e){return e.index===!0}function tr(e,t,r,n){return r===void 0&&(r=[]),n===void 0&&(n={}),e.map((a,o)=>{let i=[...r,String(o)],l=typeof a.id=="string"?a.id:i.join("-");if(k(a.index!==!0||!a.children,"Cannot specify children on an index route"),k(!n[l],'Found a route id collision on i
1d "'+l+`". Route id's must be globally unique within Data Router usages`),ki(a)){let s=X({},a,t(a),{id:l});return n[l]=s,s}else{let s=X({},a,t(a),{id:l,children:void 0});return n[l]=s,a.children&&(s.children=tr(a.children,t,i,n)),s}})}function ie(e,t,r){return r===void 0&&(r="/"),er(e,t,r,!1)}function er(e,t,r,n){let a=typeof t=="string"?ce(t):t,o=ye(a.pathname||"/",r);if(o==null)return null;let i=ya(e);ji(i);let l=null,s=ga(o);for(let u=0;l==null&&u<i.length;++u)l=Ki(i[u],s,n);return l}function Yr(e,t){let{route:r,pathname:n,params:a}=e;return{id:r.id,pathname:n,params:a,data:t[r.id],handle:r.handle}}function ya(e,t,r,n){t===void 0&&(t=[]),r===void 0&&(r=[]),n===void 0&&(n="");let a=(o,i,l)=>{let s={relativePath:l===void 0?o.path||"":l,caseSensitive:o.caseSensitive===!0,childrenIndex:i,route:o};s.relativePath.startsWith("/")&&(k(s.relativePath.startsWith(n),'Absolute route path "'+s.relativePath+'" nested under path '+('"'+n+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),s.relativePath=s.relativePath.slice(n.length));let u=_e([n,s.relativePath]),m=r.concat(s);o.children&&o.children.length>0&&(k(o.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),ya(o.children,t,m,u)),!(o.path==null&&!o.index)&&t.push({path:u,score:Wi(u,o.index),routesMeta:m})};return e.forEach((o,i)=>{var l;if(o.path===""||!((l=o.path)!=null&&l.includes("?")))a(o,i);else for(let s of Ra(o.path))a(o,i,s)}),t}function Ra(e){let t=e.split("/");if(t.length===0)return[];let[r,...n]=t,a=r.endsWith("?"),o=r.replace(/\?$/,"");if(n.length===0)return a?[o,""]:[o];let i=Ra(n.join("/")),l=[];return l.push(...i.map(s=>s===""?o:[o,s].join("/"))),a&&l.push(...i),l.map(s=>e.startsWith("/")&&s===""?"/":s)}function ji(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:Ji(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}function Wi(e,t){let r=e.split("/"),n=r.length;return r.some(ra)&&(n+=Yi),t&&(n+=zi),r.filter(a=>!ra(a)).reduce((a,o)=>a+(Hi.test(o)?Bi:o===""?Vi:$i),n)}function Ji(e,t){return e.length===t.length&&e.slice(0,-1).every((n,a)=>n===t[a])?e[e.length-1]-t[t.length-1]:0}function Ki(e,t,r){r===void 0&&(r=!1);let{routesMeta:n}=e,a={},o="/",i=[];for(let l=0;l<n.length;++l){let s=n[l],u=l===n.length-1,m=o==="/"?t:t.slice(o.length)||"/",c=ke({path:s.relativePath,caseSensitive:s.caseSensitive,end:u},m),f=s.route;if(!c&&u&&r&&!n[n.length-1].route.index&&(c=ke({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},m)),!c)return null;
vendor: 39,050 bytes, lines 1-2
1Object.assign(a,c.params),i.push({params:a,pathname:_e([o,c.pathname]),pathnameBase:Zi(_e([o,c.pathnameBase])),route:f}),c.pathnameBase!=="/"&&(o=_e([o,c.pathnameBase]))}return i}function ke(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=Gi(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),l=a.slice(1);return{params:n.reduce((u,m,c)=>{let{paramName:f,isOptional:y}=m;if(f==="*"){let E=l[c]||"";i=o.slice(0,o.length-E.length).replace(/(.)\/+$/,"$1")}let R=l[c];return y&&!R?u[f]=void 0:u[f]=(R||"").replace(/%2F/g,"/"),u},{}),pathname:o,pathnameBase:i,pattern:e}}function Gi(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!0),at(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let n=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(i,l,s)=>(n.push({paramName:l,isOptional:s!=null}),s?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(n.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}function ga(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return at(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function ye(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&n!=="/"?null:e.slice(r)||"/"}function nr(e,t){t===void 0&&(t="/");let{pathname:r,search:n="",hash:a=""}=typeof e=="string"?ce(e):e,o;if(r)if(Qi(r))o=r;else{if(r.includes("//")){let i=r;r=Wr(r),at(!1,"Pathnames cannot have embedded double slashes - normalizing "+(i+" -> "+r))}r.startsWith("/")?o=na(r.substring(1),"/"):o=na(r,t)}else o=t;return{pathname:o,search:qi(n),hash:el(a)}}function na(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?r.length>1&&r.pop():a!=="."&&r.push(a)}),r.length>1?r.join("/"):"/"}function Ir(e,t,r,n){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(n)+"]. Please separate it out to the ")+("`to."+r+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function wa(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function ar(e,t){let r=wa(e);return t?r.map((n,a)=>a===r.length-1?n.pathname:n.pathnameBase):r.map(n=>n.pathnameBase)}function or(e,t,r,n){n===void 0&&(n=!1);let a;typeof e=="string"?a=ce(e):(a=X({},e),k(!a.pathname||!a.pathname.includes("?"),Ir("?","pathname","search",a)),k(!a.pathname||!a.pathname.includes("#"),Ir("#","pathname","hash",a)),k(!a.search||!a.search.includes("#"),Ir("#","search","hash",a)));let o=e===""||a.pathname==="",i=o?"/":a.pathname,l;if(i==null)l=r;else{let c=t.length-1;if(!n&&i.startsWith("..")){let f=i.split("/");for(;f[0]==="..";)f.shift(),c-=1;a.pathname=f.join("/")}l=c>=0?t[c]:"/"}let s=nr(a,l),u=i&&i!=="/"&&i.endsWith("/"),m=(o||i===".")&&r.endsWith("/");return!s.pathname.endsWith("/")&&(u||m)&&(s.pathname+="/"),s}function Ea(e,t){return new Hr(e,typeof t=="number"?{status:t}:t)}function tl(e){return e instanceof Promise&&e._tracked===!0}function rl(e){if(!tl(e))return e;if(e._error)throw e._error;return e._data}function ve(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function sr(e){let t=e.window?e.window:typeof window<"u"?window:void 0,r=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u",n=!r;k(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let a;if(e.mapRouteProperties)a=e.mapRouteProperties;else if(e.detectErrorBoundary){let d=e.detectErrorBoundary;a=p=>({hasErrorBoundary:d(p)})}else a=sl;let o={},i=tr(e.routes,a,void 0,o),l,s=e.basename||"/",u=e.dataStrategy||fl,m=e.patchRoutesOnNavigation,c=X({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1,v7_skipActionErrorRevalidation:!1},e.future),f=null,y=new Set,R=null,E=null,g=null,D=e.hydrationData!=null,h=ie(i,e.history.location,s),N=!1,b=null;if(h==null&&!m){let d=fe(404,{pathname:e.history.location.pathname}),{matches:p,route:w}=ma(i);h=p,b={[w.id]:d}}h&&!e.hydrationData&&Gt(h,i,e.history.location.pathname).active&&(h=null);let S;if(h)if(h.some(d=>d.route.lazy))S=!1;else if(!h.some(d=>d.route.loader))S=!0;else if(c.v7_partialHydration){let d=e.hydrationData?e.hydrationData.loaderData:null,p=e.hydrationData?e.hydrationData.errors:null;if(p){let w=h.findIndex(x=>p[x.route.id]!==void 0);S=h.slice(0,w+1).every(x=>!zr(x.route,d,p))}else S=h.every(w=>!zr(w.route,d,p))}else S=e.hydrationData!=null;else if(S=!1,h=[],c.v7_partialHydration){let d=Gt(null,i,e.history.location.pathname);d.active&&d.matches&&(N=!0,h=d.matches)}let _,v={historyAction:e.history.action,location:e.history.location,matches:h,initialized:S,navigation:kr,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||b,fetchers:new Map,blockers:new Map},F=Q.Pop,z=!1,H,K=!1,W=new Map,se=null,le=!1,re=!1,ze=[],$t=new Set,ne=new Map,Yt=0,St=-1,ct=new Map,Te=new Set,dt=new Map,bt=new Map,De=new Set,Qe=new Map,Ze=new Map,Wt;function yi(){if(f=e.history.listen(d=>{let{action:p,location:w,delta:x}=d;if(Wt){Wt(),Wt=void 0;return}at(Ze.size===0||x!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let L=Xn({currentLocation:v.location,nextLocation:w,historyAction:p});if(L&&x!=null){let I=new Promise(j=>{Wt=j});e.history.go(x*-1),Kt(L,{state:"blocked",location:w,proceed(){Kt(L,{state:"proceeding",proceed:void 0,reset:void 0,location:w}),I.then(()=>e.history.go(x))},reset(){let j=new Map(v.blockers);j.set(L,yt),ue({blockers:j})}});return}return qe(p,w)}),r){Nl(t,W);let d=()=>Dl(t,W);t.addEventListener("pagehide",d),se=()=>t.removeEventListener("pagehide",d)}return v.initialized||qe(Q.Pop,v.location,{initialHydration:!0}),_}function Ri(){f&&f(),se&&se(),y.clear(),H&&H.abort(),v.fetchers.forEach((d,p)=>Jt(p)),v.blockers.forEach((d,p)=>Gn(p))}function gi(d){return y.add(d),()=>y.delete(d)}function ue(d,p){p===void 0&&(p={}),v=X({},v,d);let w=[],x=[];c.v7_fetcherPersist&&v.fetchers.forEach((L,I)=>{L.state==="idle"&&(De.has(I)?x.push(I):w.push(I))}),De.forEach(L=>{!v.fetchers.has(L)&&!ne.has(L)&&x.push(L)}),[...y].forEach(L=>L(v,{deletedFetchers:x,viewTransitionOpts:p.viewTransitionOpts,flushSync:p.flushSync===!0})),c.v7_fetcherPersist?(w.forEach(L=>v.fetchers.delete(L)),x.forEach(L=>Jt(L))):x.forEach(L=>De.delete(L))}function ft(d,p,w){var x,L;let{flushSync:I}=w===void 0?{}:w,j=v.actionData!=null&&v.navigation.formMethod!=null&&Ae(v.navigation.formMethod)&&v.navigation.state==="loading"&&((x=d.state)==null?void 0:x._isRedirect)!==!0,T;p.actionData?Object.keys(p.actionData).length>0?T=p.actionData:T=null:j?T=v.actionData:T=null;let M=p.loaderData?fa(v.loaderData,p.loaderData,p.matches||[],p.errors):v.loaderData,O=v.blockers;O.size>0&&(O=new Map(O),O.forEach((V,oe)=>O.set(oe,yt)));let U=z===!0||v.navigation.formMethod!=null&&Ae(v.navigation.formMethod)&&((L=d.state)==null?void 0:L._isRedirect)!==!0;l&&(i=l,l=void 0),le||F===Q.Pop||(F===Q.Push?e.history.push(d,d.state):F===Q.Replace&&e.history.replace(d,d.state));let B;if(F===Q.Pop){let V=W.get(v.location.pathname);V&&V.has(d.pathname)?B={currentLocation:v.location,nextLocation:d}:W.has(d.pathname)&&(B={currentLocation:d,nextLocation:v.location})}else if(K){let V=W.get(v.location.pathname);V?V.add(d.pathname):(V=new Set([d.pathname]),W.set(v.location.pathname,V)),B={currentLocation:v.location,nextLocation:d}}ue(X({},p,{actionData:T,loaderData:M,historyAction:F,location:d,initialized:!0,navigation:kr,revalidation:"idle",restoreScrollPosition:Zn(d,p.matches||v.matches),preventScrollReset:U,blockers:O}),{viewTransitionOpts:B,flushSync:I===!0}),F=Q.Pop,z=!1,K=!1,le=!1,re=!1,ze=[]}async function zn(d,p){if(typeof d=="number"){e.history.go(d);return}let w=Br(v.location,v.matches,s,c.v7_prependBasename,d,c.v7_relativeSplatPath,p?.fromRouteId,p?.relative),{path:x,submission:L,error:I}=aa(c.v7_normalizeFormMethod,!1,w,p),j=v.location,T=Pt(v.location,x,p&&p.state);T=X({},T,e.history.encodeLocation(T));let M=p&&p.replace!=null?p.replace:void 0,O=Q.Push;M===!0?O=Q.Replace:M===!1||L!=null&&Ae(L.formMethod)&&L.formAction===v.location.pathname+v.location.search&&(O=Q.Replace);let U=p&&"preventScrollReset"in p?p.preventScrollReset===!0:void 0,B=(p&&p.flushSync)===!0,V=Xn({currentLocation:j,nextLocation:T,historyAction:O});if(V){Kt(V,{state:"blocked",location:T,proceed(){Kt(V,{state:"proceeding",proceed:void 0,reset:void 0,location:T}),zn(d,p)},reset(){let oe=new Map(v.blockers);oe.set(V,yt),ue({blockers:oe})}});return}return await qe(O,T,{submission:L,pendingError:I,preventScrollReset:U,replace:p&&p.replace,enableViewTransition:p&&p.viewTransition,flushSync:B})}function wi(){if(Fr(),ue({revalidation:"loading"}),v.navigation.state!=="submitting"){if(v.navigation.state==="idle"){qe(v.historyAction,v.location,{startUninterruptedRevalidation:!0});return}qe(F||v.historyAction,v.navigation.location,{overrideNavigation:v.navigation,enableViewTransition:K===!0})}}async function qe(d,p,w){H&&H.abort(),H=null,F=d,le=(w&&w.startUninterruptedRevalidation)===!0,Li(v.location,v.matches),z=(w&&w.preventScrollReset)===!0,K=(w&&w.enableViewTransition)===!0;let x=l||i,L=w&&w.overrideNavigation,I=w!=null&&w.initialHydration&&v.matches&&v.matches.length>0&&!N?v.matches:ie(x,p,s),j=(w&&w.flushSync)===!0;if(I&&v.initialized&&!re&&Rl(v.location,p)&&!(w&&w.submission&&Ae(w.submission.formMethod))){ft(p,{matches:I},{flushSync:j});return}let T=Gt(I,x,p.pathname);if(T.active&&T.matches&&(I=T.matches),!I){let{error:G,notFoundMatches:Y,route:Z}=Or(p.pathname);ft(p,{matches:Y,loaderData:{},errors:{[Z.id]:G}},{flushSync:j});return}H=new AbortController;let M=vt(e.history,p,H.signal,w&&w.submission),O;if(w&&w.pendingError)O=[rt(I).route.id,{type:J.error,error:w.pendingError}];else if(w&&w.submission&&Ae(w.submission.formMethod)){let G=await Ei(M,p,w.submission,I,T.active,{replace:w.replace,flushSync:j});if(G.shortCircuited)return;if(G.pendingActionResult){let[Y,Z]=G.pendingActionResult;if(pe(Z)&&ve(Z.error)&&Z.error.status===404){H=null,ft(p,{matches:G.matches,loaderData:{},errors:{[Y]:Z.error}});return}}I=G.matches||I,O=G.pendingActionResult,L=jr(p,w.submission),j=!1,T.active=!1,M=vt(e.history,M.url,M.signal)}let{shortCircuited:U,matches:B,loaderData:V,errors:oe}=await _i(M,p,I,T.active,L,w&&w.submission,w&&w.fetcherSubmission,w&&w.replace,w&&w.initialHydration===!0,j,O);U||(H=null,ft(p,X({matches:B||I},ha(O),{loaderData:V,errors:oe})))}async function Ei(d,p,w,x,L,I){I===void 0&&(I={}),Fr();let j=bl(p,w);if(ue({navigation:j},{flushSync:I.flushSync===!0}),L){let O=await Xt(x,p.pathname,d.signal);if(O.type==="aborted")return{shortCircuited:!0};if(O.type==="error"){let U=rt(O.partialMatches).route.id;return{matches:O.partialMatches,pendingActionResult:[U,{type:J.error,error:O.error}]}}else if(O.matches)x=O.matches;else{let{notFoundMatches:U,error:B,route:V}=Or(p.pathname);return{matches:U,pendingActionResult:[V.id,{type:J.error,error:B}]}}}let T,M=Lt(x,p);if(!M.route.action&&!M.route.lazy)T={type:J.error,error:fe(405,{method:d.method,pathname:p.pathname,routeId:M.route.id})};else if(T=(await xt("action",v,d,[M],x,null))[M.route.id],d.signal.aborted)return{shortCircuited:!0};if(nt(T)){let O;return I&&I.replace!=null?O=I.replace:O=ua(T.response.headers.get("Location"),new URL(d.url),s,e.history)===v.location.pathname+v.location.search,await et(d,T,!0,{submission:w,replace:O}),{shortCircuited:!0}}if(We(T))throw fe(400,{type:"defer-action"});if(pe(T)){let O=rt(x,M.route.id);return(I&&I.replace)!==!0&&(F=Q.Push),{matches:x,pendingActionResult:[O.route.id,T]}}return{matches:x,pendingActionResult:[M.route.id,T]}}async function _i(d,p,w,x,L,I,j,T,M,O,U){let B=L||jr(p,I),V=I||j||va(B),oe=!le&&(!c.v7_partialHydration||!M);if(x){if(oe){let q=Vn(U);ue(X({navigation:B},q!==void 0?{actionData:q}:{}),{flushSync:O})}let $=await Xt(w,p.pathname,d.signal);if($.type==="aborted")return{shortCircuited:!0};if($.type==="error"){let q=rt($.partialMatches).route.id;return{matches:$.partialMatches,loaderData:{},errors:{[q]:$.error}}}else if($.matches)w=$.matches;else{let{error:q,notFoundMatches:mt,route:At}=Or(p.pathname);return{matches:mt,loaderData:{},errors:{[At.id]:q}}}}let G=l||i,[Y,Z]=ia(e.history,v,w,V,p,c.v7_partialHydration&&M===!0,c.v7_skipActionErrorRevalidation,re,ze,$t,De,dt,Te,G,s,U);if(Tr($=>!(w&&w.some(q=>q.route.id===$))||Y&&Y.some(q=>q.route.id===$)),St=++Yt,Y.length===0&&Z.length===0){let $=Jn();return ft(p,X({matches:w,loaderData:{},errors:U&&pe(U[1])?{[U[0]]:U[1].error}:null},ha(U),$?{fetchers:new Map(v.fetchers)}:{}),{flushSync:O}),{shortCircuited:!0}}if(oe){let $={};if(!x){$.navigation=B;let q=Vn(U);q!==void 0&&($.actionData=q)}Z.length>0&&($.fetchers=Si(Z)),ue($,{flushSync:O})}Z.forEach($=>{$e($.key),$.controller&&ne.set($.key,$.controller)});let ht=()=>Z.forEach($=>$e($.key));H&&H.signal.addEventListener("abort",ht);let{loaderResults:Nt,fetcherResults:Ue}=await $n(v,w,Y,Z,d);if(d.signal.aborted)return{shortCircuited:!0};H&&H.signal.removeEventListener("abort",ht),Z.forEach($=>ne.delete($.key));let Pe=qt(Nt);if(Pe)return await et(d,Pe.result,!0,{replace:T}),{shortCircuited:!0};if(Pe=qt(Ue),Pe)return Te.add(Pe.key),await et(d,Pe.result,!0,{replace:T}),{shortCircuited:!0};let{loaderData:Mr,errors:Dt}=da(v,w,Nt,U,Z,Ue,Qe);Qe.forEach(($,q)=>{$.subscribe(mt=>{(mt||$.done)&&Qe.delete(q)})}),c.v7_partialHydration&&M&&v.errors&&(Dt=X({},v.errors,Dt));let tt=Jn(),Qt=Kn(St),Zt=tt||Qt||Z.length>0;return X({matches:w,loaderData:Mr,errors:Dt},Zt?{fetchers:new Map(v.fetchers)}:{})}function Vn(d){if(d&&!pe(d[1]))return{[d[0]]:d[1].data};if(v.actionData)return Object.keys(v.actionData).length===0?null:v.actionData}function Si(d){return d.forEach(p=>{let w=v.fetchers.get(p.key),x=Ct(void 0,w?w.data:void 0);v.fetchers.set(p.key,x)}),new Map(v.fetchers)}function bi(d,p,w,x){if(n)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");$e(d);let L=(x&&x.flushSync)===!0,I=l||i,j=Br(v.location,v.matches,s,c.v7_prependBasename,w,c.v7_relativeSplatPath,p,x?.relative),T=ie(I,j,s),M=Gt(T,I,j);if(M.active&&M.matches&&(T=M.matches),!T){Me(d,p,fe(404,{pathname:j}),{flushSync:L});return}let{path:O,submission:U,error:B}=aa(c.v7_normalizeFormMethod,!0,j,x);if(B){Me(d,p,B,{flushSync:L});return}let V=Lt(T,O),oe=(x&&x.preventScrollReset)===!0;if(U&&Ae(U.formMethod)){xi(d,p,O,V,T,M.active,L,oe,U);return}dt.set(d,{routeId:p,path:O}),Ni(d,p,O,V,T,M.active,L,oe,U)}async function xi(d,p,w,x,L,I,j,T,M){Fr(),dt.delete(d);function O(ee){if(!ee.route.action&&!ee.route.lazy){let pt=fe(405,{method:M.formMethod,pathname:w,routeId:p});return Me(d,p,pt,{flushSync:j}),!0}return!1}if(!I&&O(x))return;let U=v.fetchers.get(d);Ve(d,xl(M,U),{flushSync:j});let B=new AbortController,V=vt(e.history,w,B.signal,M);if(I){let ee=await Xt(L,new URL(V.url).pathname,V.signal,d);if(ee.type==="aborted")return;if(ee.type==="error"){Me(d,p,ee.error,{flushSync:j});return}else if(ee.matches){if(L=ee.matches,x=Lt(L,w),O(x))return}else{Me(d,p,fe(404,{pathname:w}),{flushSync:j});return}}ne.set(d,B);let oe=Yt,Y=(await xt("action",v,V,[x],L,d))[x.route.id];if(V.signal.aborted){ne.get(d)===B&&ne.delete(d);return}if(c.v7_fetcherPersist&&De.has(d)){if(nt(Y)||pe(Y)){Ve(d,Ye(void 0));return}}else{if(nt(Y))if(ne.delete(d),St>oe){Ve(d,Ye(void 0));return}else return Te.add(d),Ve(d,Ct(M)),et(V,Y,!1,{fetcherSubmission:M,preventScrollReset:T});if(pe(Y)){Me(d,p,Y.error);return}}if(We(Y))throw fe(400,{type:"defer-action"});let Z=v.navigation.location||v.location,ht=vt(e.history,Z,B.signal),Nt=l||i,Ue=v.navigation.state!=="idle"?ie(Nt,v.navigation.location,s):v.matches;k(Ue,"Didn't find any matches after fetcher action");let Pe=++Yt;ct.set(d,Pe);let Mr=Ct(M,Y.data);v.fetchers.set(d,Mr);let[Dt,tt]=ia(e.history,v,Ue,M,Z,!1,c.v7_skipActionErrorRevalidation,re,ze,$t,De,dt,Te,Nt,s,[x.route.id,Y]);tt.filter(ee=>ee.key!==d).forEach(ee=>{let pt=ee.key,qn=v.fetchers.get(pt),Oi=Ct(void 0,qn?qn.data:void 0);v.fetchers.set(pt,Oi),$e(pt),ee.controller&&ne.set(pt,ee.controller)}),ue({fetchers:new Map(v.fetchers)});let Qt=()=>tt.forEach(ee=>$e(ee.key));B.signal.addEventListener("abort",Qt);let{loaderResults:Zt,fetcherResults:$}=await $n(v,Ue,Dt,tt,ht);if(B.signal.aborted)return;B.signal.removeEventListener("abort",Qt),ct.delete(d),ne.delete(d),tt.forEach(ee=>ne.delete(ee.key));let q=qt(Zt);if(q)return et(ht,q.result,!1,{preventScrollReset:T});if(q=qt($),q)return Te.add(q.key),et(ht,q.result,!1,{preventScrollReset:T});let{loaderData:mt,errors:At}=da(v,Ue,Zt,void 0,tt,$,Qe);if(v.fetchers.has(d)){let ee=Ye(Y.data);v.fetchers.set(d,ee)}Kn(Pe),v.navigation.state==="loading"&&Pe>St?(k(F,"Expected pending action"),H&&H.abort(),ft(v.navigation.location,{matches:Ue,loaderData:mt,errors:At,fetchers:new Map(v.fetchers)})):(ue({errors:At,loaderData:fa(v.loaderData,mt,Ue,At),fetchers:new Map(v.fetchers)}),re=!1)}async function Ni(d,p,w,x,L,I,j,T,M){let O=v.fetchers.get(d);Ve(d,Ct(M,O?O.data:void 0),{flushSync:j});let U=new AbortController,B=vt(e.history,w,U.signal);if(I){let Y=await Xt(L,new URL(B.url).pathname,B.signal,d);if(Y.type==="aborted")return;if(Y.type==="error"){Me(d,p,Y.error,{flushSync:j});return}else if(Y.matches)L=Y.matches,x=Lt(L,w);else{Me(d,p,fe(404,{pathname:w}),{flushSync:j});return}}ne.set(d,U);let V=Yt,G=(await xt("loader",v,B,[x],L,d))[x.route.id];if(We(G)&&(G=await Gr(G,B.signal,!0)||G),ne.get(d)===U&&ne.delete(d),!B.signal.aborted){if(De.has(d)){Ve(d,Ye(void 0));return}if(nt(G))if(St>V){Ve(d,Ye(void 0));return}else{Te.add(d),await et(B,G,!1,{preventScrollReset:T});return}if(pe(G)){Me(d,p,G.error);return}k(!We(G),"Unhandled fetcher deferred data"),Ve(d,Ye(G.data))}}async function et(d,p,w,x){let{submission:L,fetcherSubmission:I,preventScrollReset:j,replace:T}=x===void 0?{}:x;p.response.headers.has("X-Remix-Revalidate")&&(re=!0);let M=p.response.headers.get("Location");k(M,"Expected a Location header on the redirect Response"),M=ua(M,new URL(d.url),s,e.history);let O=Pt(v.location,M,{_isRedirect:!0});if(r){let Y=!1;if(p.response.headers.has("X-Remix-Reload-Document"))Y=!0;else if(Kr.test(M)){let Z=e.history.createURL(M);Y=Z.origin!==t.location.origin||ye(Z.pathname,s)==null}if(Y){T?t.location.replace(M):t.location.assign(M);return}}H=null;let U=T===!0||p.response.headers.has("X-Remix-Replace")?Q.Replace:Q.Push,{formMethod:B,formAction:V,formEncType:oe}=v.navigation;!L&&!I&&B&&V&&oe&&(L=va(v.navigation));let G=L||I;if(ll.has(p.response.status)&&G&&Ae(G.formMethod))await qe(U,O,{submission:X({},G,{formAction:M}),preventScrollReset:j||z,enableViewTransition:w?K:void 0});else{let Y=jr(O,L);await qe(U,O,{overrideNavigation:Y,fetcherSubmission:I,preventScrollReset:j||z,enableViewTransition:w?K:void 0})}}async function xt(d,p,w,x,L,I){let j,T={};try{j=await hl(u,d,p,w,x,L,I,o,a)}catch(M){return x.forEach(O=>{T[O.route.id]={type:J.error,error:M}}),T}for(let[M,O]of Object.entries(j))if(gl(O)){let U=O.result;T[M]={type:J.redirect,response:vl(U,w,M,L,s,c.v7_relativeSplatPath)}}else T[M]=await pl(O);return T}async function $n(d,p,w,x,L){let I=d.matches,j=xt("loader",d,L,w,p,null),T=Promise.all(x.map(async U=>{if(U.matches&&U.match&&U.controller){let V=(await xt("loader",d,vt(e.history,U.path,U.controller.signal),[U.match],U.matches,U.key))[U.match.route.id];return{[U.key]:V}}else return Promise.resolve({[U.key]:{type:J.error,error:fe(404,{pathname:U.path})}})})),M=await j,O=(await T).reduce((U,B)=>Object.assign(U,B),{});return await Promise.all([_l(p,M,L.signal,I,d.loaderData),Sl(p,O,x)]),{loaderResults:M,fetcherResults:O}}function Fr(){re=!0,ze.push(...Tr()),dt.forEach((d,p)=>{ne.has(p)&&$t.add(p),$e(p)})}function Ve(d,p,w){w===void 0&&(w={}),v.fetchers.set(d,p),ue({fetchers:new Map(v.fetchers)},{flushSync:(w&&w.flushSync)===!0})}function Me(d,p,w,x){x===void 0&&(x={});let L=rt(v.matches,p);Jt(d),ue({errors:{[L.route.id]:w},fetchers:new Map(v.fetchers)},{flushSync:(x&&x.flushSync)===!0})}function Yn(d){return bt.set(d,(bt.get(d)||0)+1),De.has(d)&&De.delete(d),v.fetchers.get(d)||Jr}function Jt(d){let p=v.fetchers.get(d);ne.has(d)&&!(p&&p.state==="loading"&&ct.has(d))&&$e(d),dt.delete(d),ct.delete(d),Te.delete(d),c.v7_fetcherPersist&&De.delete(d),$t.delete(d),v.fetchers.delete(d)}function Di(d){let p=(bt.get(d)||0)-1;p<=0?(bt.delete(d),De.add(d),c.v7_fetcherPersist||Jt(d)):bt.set(d,p),ue({fetchers:new Map(v.fetchers)})}function $e(d){let p=ne.get(d);p&&(p.abort(),ne.delete(d))}function Wn(d){for(let p of d){let w=Yn(p),x=Ye(w.data);v.fetchers.set(p,x)}}function Jn(){let d=[],p=!1;for(let w of Te){let x=v.fetchers.get(w);k(x,"Expected fetcher: "+w),x.state==="loading"&&(Te.delete(w),d.push(w),p=!0)}return Wn(d),p}function Kn(d){let p=[];for(let[w,x]of ct)if(x<d){let L=v.fetchers.get(w);k(L,"Expected fetcher: "+w),L.state==="loading"&&($e(w),ct.delete(w),p.push(w))}return Wn(p),p.length>0}function Ai(d,p){let w=v.blockers.get(d)||yt;return Ze.get(d)!==p&&Ze.set(d,p),w}function Gn(d){v.blockers.delete(d),Ze.delete(d)}function Kt(d,p){let w=v.blockers.get(d)||yt;k(w.state==="unblocked"&&p.state==="blocked"||w.state==="blocked"&&p.state==="blocked"||w.state==="blocked"&&p.state==="proceeding"||w.state==="blocked"&&p.state==="unblocked"||w.state==="proceeding"&&p.state==="unblocked","Invalid blocker state transition: "+w.state+" -> "+p.state);let x=new Map(v.blockers);x.set(d,p),ue({blockers:x})}function Xn(d){let{currentLocation:p,nextLocation:w,historyAction:x}=d;if(Ze.size===0)return;Ze.size>1&&at(!1,"A router only supports one blocker at a time");let L=Array.from(Ze.entries()),[I,j]=L[L.length-1],T=v.blockers.get(I);if(!(T&&T.state==="proceeding")&&j({currentLocation:p,nextLocation:w,historyAction:x}))return I}function Or(d){let p=fe(404,{pathname:d}),w=l||i,{matches:x,route:L}=ma(w);return Tr(),{notFoundMatches:x,route:L,error:p}}function Tr(d){let p=[];return Qe.forEach((w,x)=>{(!d||d(x))&&(w.cancel(),p.push(x),Qe.delete(x))}),p}function Ci(d,p,w){if(R=d,g=p,E=w||null,!D&&v.navigation===kr){D=!0;let x=Zn(v.location,v.matches);x!=null&&ue({restoreScrollPosition:x})}return()=>{R=null,g=null,E=null}}function Qn(d,p){return E&&E(d,p.map(x=>Yr(x,v.loaderData)))||d.key}function Li(d,p){if(R&&g){let w=Qn(d,p);R[w]=g()}}function Zn(d,p){if(R){let w=Qn(d,p),x=R[w];if(typeof x=="number")return x}return null}function Gt(d,p,w){if(m)if(d){if(Object.keys(d[0].params).length>0)return{active:!0,matches:er(p,w,s,!0)}}else return{active:!0,matches:er(p,w,s,!0)||[]};return{active:!1,matches:null}}async function Xt(d,p,w,x){if(!m)return{type:"success",matches:d};let L=d;for(;;){let I=l==null,j=l||i,T=o;try{await m({signal:w,path:p,matches:L,fetcherKey:x,patch:(U,B)=>{w.aborted||sa(U,B,j,T,a)}})}catch(U){return{type:"error",error:U,partialMatches:L}}finally{I&&!w.aborted&&(i=[...i])}if(w.aborted)return{type:"aborted"};let M=ie(j,p,s);if(M)return{type:"success",matches:M};let O=er(j,p,s,!0);if(!O||L.length===O.length&&L.every((U,B)=>U.route.id===O[B].route.id))return{type:"success",matches:null};L=O}}function Pi(d){o={},l=tr(d,a,void 0,o)}function Fi(d,p){let w=l==null;sa(d,p,l||i,o,a),w&&(i=[...i],ue({}))}return _={get basename(){return s},get future(){return c},get state(){return v},get routes(){return i},get window(){return t},initialize:yi,subscribe:gi,enableScrollRestoration:Ci,navigate:zn,fetch:bi,revalidate:wi,createHref:d=>e.history.createHref(d),encodeLocation:d=>e.history.encodeLocation(d),getFetcher:Yn,deleteFetcher:Di,dispose:Ri,getBlocker:Ai,deleteBlocker:Gn,patchRoutes:Fi,_internalFetchControllers:ne,_internalActiveDeferreds:Qe,_internalSetRoutes:Pi},_}function ul(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function Br(e,t,r,n,a,o,i,l){let s,u;if(i){s=[];for(let c of t)if(s.push(c),c.route.id===i){u=c;break}}else s=t,u=t[t.length-1];let m=or(a||".",ar(s,o),ye(e.pathname,r)||e.pathname,l==="path");if(a==null&&(m.search=e.search,m.hash=e.hash),(a==null||a===""||a===".")&&u){let c=Xr(m.search);if(u.route.index&&!c)m.search=m.search?m.search.replace(/^\?/,"?index&"):"?index";else if(!u.route.index&&c){let f=new URLSearchParams(m.search),y=f.getAll("index");f.delete("index"),y.filter(E=>E).forEach(E=>f.append("index",E));let R=f.toString();m.search=R?"?"+R:""}}return n&&r!=="/"&&(m.pathname=m.pathname==="/"?r:_e([r,m.pathname])),Se(m)}function aa(e,t,r,n){if(!n||!ul(n))return{path:r};if(n.formMethod&&!El(n.formMethod))return{path:r,error:fe(405,{method:n.formMethod})};let a=()=>({path:r,error:fe(400,{type:"invalid-body"})}),o=n.formMethod||"get",i=e?o.toUpperCase():o.toLowerCase(),l=Na(r);if(n.body!==void 0){if(n.formEncType==="text/plain"){if(!Ae(i))return a();let f=typeof n.body=="string"?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((y,R)=>{let[E,g]=R;return""+y+E+"="+g+` 2`},""):String(n.body);return{path:r,submission:{formMethod:i,formAction:l,formEncType:n.formEncType,formData:void 0,json:void 0,text:f}}}else if(n.formEncType==="application/json"){if(!Ae(i))return a();try{let f=typeof n.body=="string"?JSON.parse(n.body):n.body;return{path:r,submission:{formMethod:i,formAction:l,formEncType:n.formEncType,formData:void 0,json:f,text:void 0}}}catch{return a()}}}k(typeof FormData=="function","FormData is not available in this environment");let s,u;if(n.formData)s=Vr(n.formData),u=n.formData;else if(n.body instanceof FormData)s=Vr(n.body),u=n.body;else if(n.body instanceof URLSearchParams)s=n.body,u=ca(s);else if(n.body==null)s=new URLSearchParams,u=new FormData;else try{s=new URLSearchParams(n.body),u=ca(s)}catch{return a()}let m={formMethod:i,formAction:l,formEncType:n&&n.formEncType||"application/x-www-form-urlencoded",formData:u,json:void 0,text:void 0};if(Ae(m.formMethod))return{path:r,submission:m};let c=ce(r);return t&&c.search&&Xr(c.search)&&s.append("index",""),c.search="?"+s,{path:Se(c),submission:m}}function oa(e,t,r){r===void 0&&(r=!1);let n=e.findIndex(a=>a.route.id===t);return n>=0?e.slice(0,r?n+1:n):e}function ia(e,t,r,n,a,o,i,l,s,u,m,c,f,y,R,E){let g=E?pe(E[1])?E[1].error:E[1].data:void 0,D=e.createURL(t.location),h=e.createURL(a),N=r;o&&t.errors?N=oa(r,Object.keys(t.errors)[0],!0):E&&pe(E[1])&&(N=oa(r,E[0]));let b=E?E[1].statusCode:void 0,S=i&&b&&b>=400,_=N.filter((F,z)=>{let{route:H}=F;if(H.lazy)return!0;if(H.loader==null)return!1;if(o)return zr(H,t.loaderData,t.errors);if(cl(t.loaderData,t.matches[z],F)||s.some(se=>se===F.route.id))return!0;let K=t.matches[z],W=F;return la(F,X({currentUrl:D,currentParams:K.params,nextUrl:h,nextParams:W.params},n,{actionResult:g,actionStatus:b,defaultShouldRevalidate:S?!1:l||D.pathname+D.search===h.pathname+h.search||D.search!==h.search||ba(K,W)}))}),v=[];return c.forEach((F,z)=>{if(o||!r.some(le=>le.route.id===F.routeId)||m.has(z))return;let H=ie(y,F.path,R);if(!H){v.push({key:z,routeId:F.routeId,path:F.path,matches:null,match:null,controller:null});return}let K=t.fetchers.get(z),W=Lt(H,F.path),se=!1;f.has(z)?se=!1:u.has(z)?(u.delete(z),se=!0):K&&K.state!=="idle"&&K.data===void 0?se=l:se=la(W,X({currentUrl:D,currentParams:t.matches[t.matches.length-1].params,nextUrl:h,nextParams:r[r.length-1].params},n,{actionResult:g,actionStatus:b,defaultShouldRevalidate:S?!1:l})),se&&v.push({key:z,routeId:F.routeId,path:F.path,matches:H,match:W,controller:new AbortController})}),[_,v]}function zr(e,t,r){if(e.lazy)return!0;if(!e.loader)return!1;let n=t!=null&&t[e.id]!==void 0,a=r!=null&&r[e.id]!==void 0;return!n&&a?!1:typeof e.loader=="function"&&e.loader.hydrate===!0?!0:!n&&!a}function cl(e,t,r){let n=!t||r.route.id!==t.route.id,a=e[r.route.id]===void 0;return n||a}function ba(e,t){let r=e.route.path;return e.pathname!==t.pathname||r!=null&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function la(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if(typeof r=="boolean")return r}return t.defaultShouldRevalidate}function sa(e,t,r,n,a){var o;let i;if(e){let u=n[e];k(u,"No route found to patch children into: routeId = "+e),u.children||(u.children=[]),i=u.children}else i=r;let l=t.filter(u=>!i.some(m=>xa(u,m))),s=tr(l,a,[e||"_","patch",String(((o=i)==null?void 0:o.length)||"0")],n);i.push(...s)}function xa(e,t){return"id"in e&&"id"in t&&e.id===t.id?!0:e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive?(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children.every((r,n)=>{var a;return(a=t.children)==null?void 0:a.some(o=>xa(r,o))}):!1}async function dl(e,t,r){if(!e.lazy)return;let n=await e.lazy();if(!e.lazy)return;let a=r[e.id];k(a,"No route found in manifest");let o={};for(let i in n){let s=a[i]!==void 0&&i!=="hasErrorBoundary";at(!s,'Route "'+a.id+'" has a static property "'+i+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+i+'" will be ignored.')),!s&&!Ii.has(i)&&(o[i]=n[i])}Object.assign(a,o),Object.assign(a,X({},t(a),{lazy:void 0}))}async function fl(e){let{matches:t}=e,r=t.filter(a=>a.shouldLoad);return(await Promise.all(r.map(a=>a.resolve()))).reduce((a,o,i)=>Object.assign(a,{[r[i].route.id]:o}),{})}async function hl(e,t,r,n,a,o,i,l,s,u){let m=o.map(y=>y.route.lazy?dl(y.route,s,l):void 0),c=o.map((y,R)=>{let E=m[R],g=a.some(h=>h.route.id===y.route.id);return X({},y,{shouldLoad:g,resolve:async h=>(h&&n.method==="GET"&&(y.route.lazy||y.route.loader)&&(g=!0),g?ml(t,n,y,E,h,u):Promise.resolve({type:J.data,result:void 0}))})}),f=await e({matches:c,request:n,params:o[0].params,fetcherKey:i,context:u});try{await Promise.all(m)}catch{}return f}async function ml(e,t,r,n,a,o){let i,l,s=u=>{let m,c=new Promise((R,E)=>m=E);l=()=>m(),t.signal.addEventListener("abort",l);let f=R=>typeof u!="function"?Promise.reject(new Error("You cannot call the handler for a route which defines a boolean "+('"'+e+'" [routeId: '+r.route.id+"]"))):u({request:t,params:r.params,context:o},...R!==void 0?[R]:[]),y=(async()=>{try{return{type:"data",result:await(a?a(E=>f(E)):f())}}catch(R){return{type:"error",result:R}}})();return Promise.race([y,c])};try{let u=r.route[e];if(n)if(u){let m,[c]=await Promise.all([s(u).catch(f=>{m=f}),n]);if(m!==void 0)throw m;i=c}else if(await n,u=r.route[e],u)i=await s(u);else if(e==="action"){let m=new URL(t.url),c=m.pathname+m.search;throw fe(405,{method:t.method,pathname:c,routeId:r.route.id})}else return{type:J.data,result:void 0};else if(u)i=await s(u);else{let m=new URL(t.url),c=m.pathname+m.search;throw fe(404,{pathname:c})}k(i.result!==void 0,"You defined "+(e==="action"?"an action":"a loader")+" for route "+('"'+r.route.id+"\" but didn't return anything from your `"+e+"` ")+"function. Please return a value or `null`.")}catch(u){return{type:J.error,result:u}}finally{l&&t.signal.removeEventListener("abort",l)}return i}async function pl(e){let{result:t,type:r}=e;if(Da(t)){let c;try{let f=t.headers.get("Content-Type");f&&/\bapplication\/json\b/.test(f)?t.body==null?c=null:c=await t.json():c=await t.text()}catch(f){return{type:J.error,error:f}}return r===J.error?{type:J.error,error:new he(t.status,t.statusText,c),statusCode:t.status,headers:t.headers}:{type:J.data,data:c,statusCode:t.status,headers:t.headers}}if(r===J.error){if(pa(t)){var n,a;if(t.data instanceof Error){var o,i;return{type:J.error,error:t.data,statusCode:(o=t.init)==null?void 0:o.status,headers:(i=t.init)!=null&&i.headers?new Headers(t.init.headers):void 0}}return{type:J.error,error:new he(((n=t.init)==null?void 0:n.status)||500,void 0,t.data),statusCode:ve(t)?t.status:void 0,headers:(a=t.init)!=null&&a.headers?new Headers(t.init.headers):void 0}}return{type:J.error,error:t,statusCode:ve(t)?t.status:void 0}}if(wl(t)){var l,s;return{type:J.deferred,deferredData:t,statusCode:(l=t.init)==null?void 0:l.status,headers:((s=t.init)==null?void 0:s.headers)&&new Headers(t.init.headers)}}if(pa(t)){var u,m;return{type:J.data,data:t.data,statusCode:(u=t.init)==null?void 0:u.status,headers:(m=t.init)!=null&&m.headers?new Headers(t.init.headers):void 0}}return{type:J.data,data:t}}function vl(e,t,r,n,a,o){let i=e.headers.get("Location");if(k(i,"Redirects returned/thrown from loaders/actions must have a Location header"),!Kr.test(i)){let l=n.slice(0,n.findIndex(s=>s.route.id===r)+1);i=Br(new URL(t.url),l,a,!0,i,o),e.headers.set("Location",i)}return e}function ua(e,t,r,n){let a=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];if(Kr.test(e)){let o=e,i=o.startsWith("//")?new URL(t.protocol+o):new URL(o);if(a.includes(i.protocol))throw new Error("Invalid redirect location");let l=ye(i.pathname,r)!=null;if(i.origin===t.origin&&l)return Wr(i.pathname)+i.search+i.hash}try{let o=n.createURL(e);if(a.includes(o.protocol))throw new Error("Invalid redirect location")}catch{}return e}function vt(e,t,r,n){let a=e.createURL(Na(t)).toString(),o={signal:r};if(n&&Ae(n.formMethod)){let{formMethod:i,formEncType:l}=n;o.method=i.toUpperCase(),l==="application/json"?(o.headers=new Headers({"Content-Type":l}),o.body=JSON.stringify(n.json)):l==="text/plain"?o.body=n.text:l==="application/x-www-form-urlencoded"&&n.formData?o.body=Vr(n.formData):o.body=n.formData}return new Request(a,o)}function Vr(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,typeof n=="string"?n:n.name);return t}function ca(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function yl(e,t,r,n,a){let o={},i=null,l,s=!1,u={},m=r&&pe(r[1])?r[1].error:void 0;return e.forEach(c=>{if(!(c.route.id in t))return;let f=c.route.id,y=t[f];if(k(!nt(y),"Cannot handle redirect results in processLoaderData"),pe(y)){let R=y.error;if(m!==void 0&&(R=m,m=void 0),i=i||{},a)i[f]=R;else{let E=rt(e,f);i[E.route.id]==null&&(i[E.route.id]=R)}o[f]=void 0,s||(s=!0,l=ve(y.error)?y.error.status:500),y.headers&&(u[f]=y.headers)}else We(y)?(n.set(f,y.deferredData),o[f]=y.deferredData.data,y.statusCode!=null&&y.statusCode!==200&&!s&&(l=y.statusCode),y.headers&&(u[f]=y.headers)):(o[f]=y.data,y.statusCode&&y.statusCode!==200&&!s&&(l=y.statusCode),y.headers&&(u[f]=y.headers))}),m!==void 0&&r&&(i={[r[0]]:m},o[r[0]]=void 0),{loaderData:o,errors:i,statusCode:l||200,loaderHeaders:u}}function da(e,t,r,n,a,o,i){let{loaderData:l,errors:s}=yl(t,r,n,i,!1);return a.forEach(u=>{let{key:m,match:c,controller:f}=u,y=o[m];if(k(y,"Did not find corresponding fetcher result"),!(f&&f.signal.aborted))if(pe(y)){let R=rt(e.matches,c?.route.id);s&&s[R.route.id]||(s=X({},s,{[R.route.id]:y.error})),e.fetchers.delete(m)}else if(nt(y))k(!1,"Unhandled fetcher revalidation redirect");else if(We(y))k(!1,"Unhandled fetcher deferred data");else{let R=Ye(y.data);e.fetchers.set(m,R)}}),{loaderData:l,errors:s}}function fa(e,t,r,n){let a=X({},t);for(let o of r){let i=o.route.id;if(t.hasOwnProperty(i)?t[i]!==void 0&&(a[i]=t[i]):e[i]!==void 0&&o.route.loader&&(a[i]=e[i]),n&&n.hasOwnProperty(i))break}return a}function ha(e){return e?pe(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function rt(e,t){return(t?e.slice(0,e.findIndex(n=>n.route.id===t)+1):[...e]).reverse().find(n=>n.route.hasErrorBoundary===!0)||e[0]}function ma(e){let t=e.length===1?e[0]:e.find(r=>r.index||!r.path||r.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function fe(e,t){let{pathname:r,routeId:n,method:a,type:o,message:i}=t===void 0?{}:t,l="Unknown Server Error",s="Unknown @remix-run/router error";return e===400?(l="Bad Request",a&&r&&n?s="You made a "+a+' request to "'+r+'" but '+('did not provide a `loader` for route "'+n+'", ')+"so there is no way to handle the request.":o==="defer-action"?s="defer() is not supported in actions":o==="invalid-body"&&(s="Unable to encode submission body")):e===403?(l="Forbidden",s='Route "'+n+'" does not match URL "'+r+'"'):e===404?(l="Not Found",s='No route matches URL "'+r+'"'):e===405&&(l="Method Not Allowed",a&&r&&n?s="You made a "+a.toUpperCase()+' request to "'+r+'" but '+('did not provide an `action` for route "'+n+'", ')+"so there is no way to handle the request.":a&&(s='Invalid request method "'+a.toUpperCase()+'"')),new he(e||500,l,new Error(s),!0)}function qt(e){let t=Object.entries(e);for(let r=t.length-1;r>=0;r--){let[n,a]=t[r];if(nt(a))return{key:n,result:a}}}function Na(e){let t=typeof e=="string"?ce(e):e;return Se(X({},t,{hash:""}))}function Rl(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function gl(e){return Da(e.result)&&il.has(e.result.status)}function We(e){return e.type===J.deferred}function pe(e){return e.type===J.error}function nt(e){return(e&&e.type)===J.redirect}function pa(e){return typeof e=="object"&&e!=null&&"type"in e&&"data"in e&&"init"in e&&e.type==="DataWithResponseInit"}function wl(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}function Da(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function El(e){return ol.has(e.toLowerCase())}function Ae(e){return nl.has(e.toLowerCase())}async function _l(e,t,r,n,a){let o=Object.entries(t);for(let i=0;i<o.length;i++){let[l,s]=o[i],u=e.find(f=>f?.route.id===l);if(!u)continue;let m=n.find(f=>f.route.id===u.route.id),c=m!=null&&!ba(m,u)&&(a&&a[u.route.id])!==void 0;We(s)&&c&&await Gr(s,r,!1).then(f=>{f&&(t[l]=f)})}}async function Sl(e,t,r){for(let n=0;n<r.length;n++){let{key:a,routeId:o,controller:i}=r[n],l=t[a];e.find(u=>u?.route.id===o)&&We(l)&&(k(i,"Expected an AbortController for revalidating fetcher deferred result"),await Gr(l,i.signal,!0).then(u=>{u&&(t[a]=u)}))}}async function Gr(e,t,r){if(r===void 0&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:J.data,data:e.deferredData.unwrappedData}
2}catch(a){return{type:J.error,error:a}}return{type:J.data,data:e.deferredData.data}}}function Xr(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function Lt(e,t){let r=typeof t=="string"?ce(t).search:t.search;if(e[e.length-1].route.index&&Xr(r||""))return e[e.length-1];let n=wa(e);return n[n.length-1]}function va(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:o,json:i}=e;if(!(!t||!r||!n)){if(a!=null)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a};if(o!=null)return{formMethod:t,formAction:r,formEncType:n,formData:o,json:void 0,text:void 0};if(i!==void 0)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:i,text:void 0}}}function jr(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function bl(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}function Ct(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function xl(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function Ye(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function Nl(e,t){try{let r=e.sessionStorage.getItem(Sa);if(r){let n=JSON.parse(r);for(let[a,o]of Object.entries(n||{}))o&&Array.isArray(o)&&t.set(a,new Set(o||[]))}}catch{}}function Dl(e,t){if(t.size>0){let r={};for(let[n,a]of t)r[n]=[...a];try{e.sessionStorage.setItem(Sa,JSON.stringify(r))}catch(n){at(!1,"Failed to save applied view transitions in sessionStorage ("+n+").")}}}var Q,ea,J,Ii,Hi,Bi,zi,Vi,$i,Yi,ra,Xi,Qi,Wr,_e,Zi,qi,el,ir,Hr,Oe,rr,je,lr,he,_a,nl,al,ol,il,ll,kr,Jr,yt,Kr,sl,Sa,hu,Ce=Ur(()=>{(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(Q||(Q={}));ea="popstate";(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(J||(J={}));Ii=new Set(["lazy","caseSensitive","path","id","index","children"]);Hi=/^:[\w-]+$/,Bi=3,zi=2,Vi=1,$i=10,Yi=-2,ra=e=>e==="*";Xi=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Qi=e=>Xi.test(e);Wr=e=>e.replace(/\/\/+/g,"/"),_e=e=>Wr(e.join("/")),Zi=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),qi=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,el=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,ir=function(t,r){r===void 0&&(r={});let n=typeof r=="number"?{status:r}:r,a=new Headers(n.headers);return a.has("Content-Type")||a.set("Content-Type","application/json; charset=utf-8"),new Response(JSON.stringify(t),X({},n,{headers:a}))},Hr=class{constructor(t,r){this.type="DataWithResponseInit",this.data=t,this.init=r||null}};Oe=class extends Error{},rr=class{constructor(t,r){this.pendingKeysSet=new Set,this.subscribers=new Set,this.deferredKeys=[],k(t&&typeof t=="object"&&!Array.isArray(t),"defer() only accepts plain objects");let n;this.abortPromise=new Promise((o,i)=>n=i),this.controller=new AbortController;let a=()=>n(new Oe("Deferred data aborted"));this.unlistenAbortSignal=()=>this.controller.signal.removeEventListener("abort",a),this.controller.signal.addEventListener("abort",a),this.data=Object.entries(t).reduce((o,i)=>{let[l,s]=i;return Object.assign(o,{[l]:this.trackPromise(l,s)})},{}),this.done&&this.unlistenAbortSignal(),this.init=r}trackPromise(t,r){if(!(r instanceof Promise))return r;this.deferredKeys.push(t),this.pendingKeysSet.add(t);let n=Promise.race([r,this.abortPromise]).then(a=>this.onSettle(n,t,void 0,a),a=>this.onSettle(n,t,a));return n.catch(()=>{}),Object.defineProperty(n,"_tracked",{get:()=>!0}),n}onSettle(t,r,n,a){if(this.controller.signal.aborted&&n instanceof Oe)return this.unlistenAbortSignal(),Object.defineProperty(t,"_error",{get:()=>n}),Promise.reject(n);if(this.pendingKeysSet.delete(r),this.done&&this.unlistenAbortSignal(),n===void 0&&a===void 0){let o=new Error('Deferred data for key "'+r+'" resolved/rejected with `undefined`, you must resolve/reject with a value or `null`.');return Object.defineProperty(t,"_error",{get:()=>o}
2),this.emit(!1,r),Promise.reject(o)}return a===void 0?(Object.defineProperty(t,"_error",{get:()=>n}),this.emit(!1,r),Promise.reject(n)):(Object.defineProperty(t,"_data",{get:()=>a}),this.emit(!1,r),a)}emit(t,r){this.subscribers.forEach(n=>n(t,r))}subscribe(t){return this.subscribers.add(t),()=>this.subscribers.delete(t)}cancel(){this.controller.abort(),this.pendingKeysSet.forEach((t,r)=>this.pendingKeysSet.delete(r)),this.emit(!0)}async resolveData(t){let r=!1;if(!this.done){let n=()=>this.cancel();t.addEventListener("abort",n),r=await new Promise(a=>{this.subscribe(o=>{t.removeEventListener("abort",n),(o||this.done)&&a(o)})})}return r}get done(){return this.pendingKeysSet.size===0}get unwrappedData(){return k(this.data!==null&&this.done,"Can only unwrap data on initialized and settled deferreds"),Object.entries(this.data).reduce((t,r)=>{let[n,a]=r;return Object.assign(t,{[n]:rl(a)})},{})}get pendingKeys(){return Array.from(this.pendingKeysSet)}};je=function(t,r){r===void 0&&(r=302);let n=r;typeof n=="number"?n={status:n}:typeof n.status>"u"&&(n.status=302);let a=new Headers(n.headers);return a.set("Location",t),new Response(null,X({},n,{headers:a}))},lr=(e,t)=>{let r=je(e,t);return r.headers.set("X-Remix-Replace","true"),r},he=class{constructor(t,r,n,a){a===void 0&&(a=!1),this.status=t,this.statusText=r||"",this.internal=a,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};_a=["post","put","patch","delete"],nl=new Set(_a),al=["get",..._a],ol=new Set(al),il=new Set([301,302,303,307,308]),ll=new Set([307,308]),kr={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Jr={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},yt={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},Kr=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,sl=e=>({hasErrorBoundary:Boolean(e.hasErrorBoundary)}),Sa="remix-router-transitions";hu=Symbol("deferred")});function Ft(){return Ft=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Ft.apply(null,arguments)}function ot(e,t){let{relative:r}=t===void 0?{}:t;it()||k(!1);let{basename:n,navigator:a}=A.useContext(xe),{hash:o,pathname:i,search:l}=Ke(e,{relative:r}),s=i;return n!=="/"&&(s=i==="/"?n:_e([n,i])),a.createHref({pathname:s,search:l,hash:o})}function it(){return A.useContext(Ot)!=null}function ge(){return it()||k(!1),A.useContext(Ot).location}function Oa(e){A.useContext(xe).static||A.useLayoutEffect(e)}function Tt(){let{isDataRoute:e}=A.useContext(Re);return e?Ml():Al()}function Al(){it()||k(!1);let e=A.useContext(He),{basename:t,future:r,navigator:n}=A.useContext(xe),{matches:a}=A.useContext(Re),{pathname:o}=ge(),i=JSON.stringify(ar(a,r.v7_relativeSplatPath)),l=A.useRef(!1);return Oa(()=>{l.current=!0}),A.useCallback(function(u,m){if(m===void 0&&(m={}),!l.current)return;if(typeof u=="number"){n.go(u);return}let c=or(u,JSON.parse(i),o,m.relative==="path");e==null&&t!=="/"&&(c.pathname=c.pathname==="/"?t:_e([t,c.pathname])),(m.replace?n.replace:n.push)(c,m.state,m)},[t,n,i,o,e])}function qr(e){let t=A.useContext(Re).outlet;return t&&A.createElement(Cl.Provider,{value:e},t)}function Ta(){let{matches:e}=A.useContext(Re),t=e[e.length-1];return t?t.params:{}}function Ke(e,t){let{relative:r}=t===void 0?{}:t,{future:n}=A.useContext(xe),{matches:a}=A.useContext(Re),{pathname:o}=ge(),i=JSON.stringify(ar(a,n.v7_relativeSplatPath));return A.useMemo(()=>or(e,JSON.parse(i),o,r==="path"),[e,i,o,r])}function Ma(e,t,r,n){it()||k(!1);let{navigator:a}=A.useContext(xe),{matches:o}=A.useContext(Re),i=o[o.length-1],l=i?i.params:{},s=i?i.pathname:"/",u=i?i.pathnameBase:"/",m=i&&i.route,c=ge(),f;if(t){var y;let h=typeof t=="string"?ce(t):t;u==="/"||(y=h.pathname)!=null&&y.startsWith(u)||k(!1),f=h}else f=c;let R=f.pathname||"/",E=R;if(u!=="/"){let h=u.replace(/^\//,"").split("/");E="/"+R.replace(/^\//,"").split("/").slice(h.length).join("/")}let g=ie(e,{pathname:E}),D=Ol(g&&g.map(h=>Object.assign({},h,{params:Object.assign({},l,h.params),pathname:_e([u,a.encodeLocation?a.encodeLocation(h.pathname).pathname:h.pathname]),pathnameBase:h.pathnameBase==="/"?u:_e([u,a.encodeLocation?a.encodeLocation(h.pathnameBase).pathname:h.pathnameBase])})),o,r,n);return t&&D?A.createElement(Ot.Provider,{value:{location:Ft({pathname:"/",search:"",hash:"",state:null,key:"default"},f),navigationType:Q.Pop}},D):D}function Ll(){let e=Mt(),t=ve(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",a={padding:"0.5rem",backgroundColor:n},o={padding:"2px 4px",backgroundColor:n};return A.createElement(A.Fragment,null,A.createElement("h2",null,"Unexpected Application
2Error!"),A.createElement("h3",{style:{fontStyle:"italic"}},t),r?A.createElement("pre",{style:a},r):null,null)}function Fl(e){let{routeContext:t,match:r,children:n}=e,a=A.useContext(He);return a&&a.static&&a.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=r.route.id),A.createElement(Re.Provider,{value:t},n)}function Ol(e,t,r,n){var a;if(t===void 0&&(t=[]),r===void 0&&(r=null),n===void 0&&(n=null),e==null){var o;if(!r)return null;if(r.errors)e=r.matches;else if((o=n)!=null&&o.v7_partialHydration&&t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let i=e,l=(a=r)==null?void 0:a.errors;if(l!=null){let m=i.findIndex(c=>c.route.id&&l?.[c.route.id]!==void 0);m>=0||k(!1),i=i.slice(0,Math.min(i.length,m+1))}let s=!1,u=-1;if(r&&n&&n.v7_partialHydration)for(let m=0;m<i.length;m++){let c=i[m];if((c.route.HydrateFallback||c.route.hydrateFallbackElement)&&(u=m),c.route.id){let{loaderData:f,errors:y}=r,R=c.route.loader&&f[c.route.id]===void 0&&(!y||y[c.route.id]===void 0);if(c.route.lazy||R){s=!0,u>=0?i=i.slice(0,u+1):i=[i[0]];break}}}return i.reduceRight((m,c,f)=>{let y,R=!1,E=null,g=null;r&&(y=l&&c.route.id?l[c.route.id]:void 0,E=c.route.errorElement||Pl,s&&(u<0&&f===0?(Ul("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),R=!0,g=null):u===f&&(R=!0,g=c.route.hydrateFallbackElement||null)));let D=t.concat(i.slice(0,f+1)),h=()=>{let N;return y?N=E:R?N=g:c.route.Component?N=A.createElement(c.route.Component,null):c.route.element?N=c.route.element:N=m,A.createElement(Fl,{match:c,routeContext:{outlet:m,matches:D,isDataRoute:r!=null},children:N})};return r&&(c.route.ErrorBoundary||c.route.errorElement||f===0)?A.createElement(Qr,{location:r.location,revalidation:r.revalidation,component:E,error:y,children:h(),routeContext:{outlet:null,matches:D,isDataRoute:!0}}):h()},null)}function Ua(e){let t=A.useContext(He);return t||k(!1),t}function gt(e){let t=A.useContext(Je);return t||k(!1),t}function Tl(e){let t=A.useContext(Re);return t||k(!1),t}function cr(e){let t=Tl(e),r=t.matches[t.matches.length-1];return r.route.id||k(!1),r.route.id}function tn(){return cr(Le.UseRouteId)}function rn(){return gt(Le.UseNavigation).navigation}function Ia(){let e=Ua(en.UseRevalidator),t=gt(Le.UseRevalidator);return A.useMemo(()=>({revalidate:e.router.revalidate,state:t.revalidation}),[e.router.revalidate,t.revalidation])}function dr(){let{matches:e,loaderData:t}=gt(Le.UseMatches);return A.useMemo(()=>e.map(r=>Yr(r,t)),[e,t])}function nn(){let e=gt(Le.UseLoaderData),t=cr(Le.UseLoaderData);if(e.errors&&e.errors[t]!=null){console.error("You cannot `useLoaderData` in an errorElement (routeId: "+t+")");return}return e.loaderData[t]}function an(e){return gt(Le.UseRouteLoaderData).loaderData[e]}function Mt(){var e;let t=A.useContext(Fa),r=gt(Le.UseRouteError),n=cr(Le.UseRouteError);return t!==void 0?t:(e=r.errors)==null?void 0:e[n]}function on(){let e=A.useContext(ur);return e?._data}function fr(){let e=A.useContext(ur);return e?._error}function Ml(){let{router:e}=Ua(en.UseNavigateStable),t=cr(Le.UseNavigateStable),r=A.useRef(!1);return Oa(()=>{r.current=!0}),A.useCallback(function(a,o){o===void 0&&(o={}),r.current&&(typeof a=="number"?e.navigate(a):e.navigate(a,Ft({fromRouteId:t},o)))},[e,t])}function Ul(e,t,r){!t&&!Aa[e]&&(Aa[e]=!0)}function ka(e,t){e?.v7_startTransition===void 0&&Rt("v7_startTransition","React Router will begin wrapping state updates in `React.startTransition` in v7","https://reactrouter.com/v6/upgrading/future#v7_starttransition"),e?.v7_relativeSplatPath===void 0&&(!t||t.v7_relativeSplatPath===void 0)&&Rt("v7_relativeSplatPath","Relative route resolution within Splat routes is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath"),t&&(t.v7_fetcherPersist===void 0&&Rt("v7_fetcherPersist","The persistence behavior of fetchers is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_fetcherpersist"),t.v7_normalizeFormMethod===void 0&&Rt("v7_normalizeFormMethod","Casing of `formMethod` fields is being normalized to uppercase in v7","https://reactrouter.com/v6/upgrading/future#v7_normalizeformmethod"),t.v7_partialHydration===void 0&&Rt("v7_partialHydration","`RouterProvider` hydration behavior is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_partialhydration"),t.v7_skipActionErrorRevalidation===void 0&&Rt("v7_skipActionErrorRevalidation","The revalidation behavior after 4xx/5xx `action` responses is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_skipactionerrorrevalidation"))}function ja(e){return qr(e.context)}function ln(e){let{basename:t="/",children:r=null,location:n,navigationType:a=Q.Pop,navigator:o,static:i=!1,future:l}=e;it()&&k(!1);let s=t.replace(/^\/*/,"/"),u=A.useMemo(()=>({basename:s,navigator:o,static:i,future:Ft({v7_relativeSplatPath:!1},l)}),[s,l,o,i]);typeof n=="string"&&(n=ce(n));
2let{pathname:m="/",search:c="",hash:f="",state:y=null,key:R="default"}=n,E=A.useMemo(()=>{let g=ye(m,s);return g==null?null:{location:{pathname:g,search:c,hash:f,state:y,key:R},navigationType:a}},[s,m,c,f,y,R,a]);return E==null?null:A.createElement(xe.Provider,{value:u},A.createElement(Ot.Provider,{children:r,value:E}))}function sn(e){let{children:t,errorElement:r,resolve:n}=e;return A.createElement(Zr,{resolve:n,errorElement:r},A.createElement(jl,null,t))}function jl(e){let{children:t}=e,r=on(),n=typeof t=="function"?t(r):t;return A.createElement(A.Fragment,null,n)}function un(e){let t={hasErrorBoundary:e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&Object.assign(t,{element:A.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:A.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:A.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}var A,He,Je,ur,xe,Ot,Re,Fa,Cl,Pl,Qr,en,Le,Aa,Rt,Il,Ru,be,kl,Zr,hr=Ur(()=>{A=Fe(Ie());Ce();Ce();He=A.createContext(null),Je=A.createContext(null),ur=A.createContext(null),xe=A.createContext(null),Ot=A.createContext(null),Re=A.createContext({outlet:null,matches:[],isDataRoute:!1}),Fa=A.createContext(null);Cl=A.createContext(null);Pl=A.createElement(Ll,null),Qr=class extends A.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,r){return r.location!==t.location||r.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:r.error,location:r.location,revalidation:t.revalidation||r.revalidation}}componentDidCatch(t,r){console.error("React Router caught the following error during render",t,r)}render(){return this.state.error!==void 0?A.createElement(Re.Provider,{value:this.props.routeContext},A.createElement(Fa.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};en=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(en||{}),Le=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Le||{});Aa={};Rt=(e,t,r)=>(""+t+("You can use the `"+e+"` future flag to opt-in early. ")+("For more information, see "+r+"."),void 0);Il="startTransition",Ru=A[Il];be=function(e){return e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error",e}(be||{}),kl=new Promise(()=>{}),Zr=class extends A.Component{constructor(t){super(t),this.state={error:null}}static getDerivedStateFromError(t){return{error:t}}componentDidCatch(t,r){console.error("<Await> caught the following error during render",t,r)}render(){let{children:t,errorElement:r,resolve:n}=this.props,a=null,o=be.pending;if(!(n instanceof Promise))o=be.success,a=Promise.resolve(),Object.defineProperty(a,"_tracked",{get:()=>!0}),Object.defineProperty(a,"_data",{get:()=>n});else if(this.state.error){o=be.error;let i=this.state.error;a=Promise.reject().catch(()=>{}),Object.defineProperty(a,"_tracked",{get:()=>!0}),Object.defineProperty(a,"_error",{get:()=>i})}else n._tracked?(a=n,o="_error"in a?be.error:"_data"in a?be.success:be.pending):(o=be.pending,Object.defineProperty(n,"_tracked",{get:()=>!0}),a=n.then(i=>Object.defineProperty(n,"_data",{get:()=>i}),i=>Object.defineProperty(n,"_error",{get:()=>i})));if(o===be.error&&a._error instanceof Oe)throw kl;if(o===be.error&&!r)throw a._error;if(o===be.error)return A.createElement(ur.Provider,{value:a,children:r});if(o===be.success)return A.createElement(ur.Provider,{value:a,children:t});throw a}}});function Be(){return Be=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}
2).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Be.apply(null,arguments)}function pn(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function yr(e){return e!=null&&typeof e.tagName=="string"}function Xl(e){return yr(e)&&e.tagName.toLowerCase()==="button"}function Ql(e){return yr(e)&&e.tagName.toLowerCase()==="form"}function Zl(e){return yr(e)&&e.tagName.toLowerCase()==="input"}function ql(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function es(e,t){return e.button===0&&(!t||t==="_self")&&!ql(e)}function vr(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map(a=>[r,a]):[[r,n]])},[]))}function ts(e,t){let r=vr(e);return t&&t.forEach((n,a)=>{r.has(a)||t.getAll(a).forEach(o=>{r.append(a,o)})}),r}function rs(){if(mr===null)try{new FormData(document.createElement("form"),0),mr=!1}catch{mr=!0}return mr}function dn(e){return e!=null&&!ns.has(e)?null:e}function as(e,t){let r,n,a,o,i;if(Ql(e)){let l=e.getAttribute("action");n=l?ye(l,t):null,r=e.getAttribute("method")||pr,a=dn(e.getAttribute("enctype"))||cn,o=new FormData(e)}else if(Xl(e)||Zl(e)&&(e.type==="submit"||e.type==="image")){let l=e.form;if(l==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let s=e.getAttribute("formaction")||l.getAttribute("action");if(n=s?ye(s,t):null,r=e.getAttribute("formmethod")||l.getAttribute("method")||pr,a=dn(e.getAttribute("formenctype"))||dn(l.getAttribute("enctype"))||cn,o=new FormData(l,e),!rs()){let{name:u,type:m,value:c}=e;if(m==="image"){let f=u?u+".":"";o.append(f+"x","0"),o.append(f+"y","0")}else u&&o.append(u,c)}}else{if(yr(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=pr,n=null,a=cn,i=e}return o&&a==="text/plain"&&(i=o,o=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:o,body:i}}function fs(e){Ha?Ha(e):e()}function Ut(e){Ba?Ba(e):e()}function Wa(e){let{fallbackElement:t,router:r,future:n}=e,[a,o]=P.useState(r.state),[i,l]=P.useState(),[s,u]=P.useState({isTransitioning:!1}),[m,c]=P.useState(),[f,y]=P.useState(),[R,E]=P.useState(),g=P.useRef(new Map),{v7_startTransition:D}=n||{},h=P.useCallback(F=>{D?fs(F):F()},[D]),N=P.useCallback((F,z)=>{let{deletedFetchers:H,flushSync:K,viewTransitionOpts:W}=z;F.fetchers.forEach((le,re)=>{le.data!==void 0&&g.current.set(re,le.data)}),H.forEach(le=>g.current.delete(le));let se=r.window==null||r.window.document==null||typeof r.window.document.startViewTransition!="function";if(!W||se){K?Ut(()=>o(F)):h(()=>o(F));return}if(K){Ut(()=>{f&&(m&&m.resolve(),f.skipTransition()),u({isTransitioning:!0,flushSync:!0,currentLocation:W.currentLocation,nextLocation:W.nextLocation})});let le=r.window.document.startViewTransition(()=>{Ut(()=>o(F))});le.finished.finally(()=>{Ut(()=>{c(void 0),y(void 0),l(void 0),u({isTransitioning:!1})})}),Ut(()=>y(le));return}f?(m&&m.resolve(),f.skipTransition(),E({state:F,currentLocation:W.currentLocation,nextLocation:W.nextLocation})):(l(F),u({isTransitioning:!0,flushSync:!1,currentLocation:W.currentLocation,nextLocation:W.nextLocation}))},[r.window,f,m,g,h]);P.useLayoutEffect(()=>r.subscribe(N),[r,N]),P.useEffect(()=>{s.isTransitioning&&!s.flushSync&&c(new fn)},[s]),P.useEffect(()=>{if(m&&i&&r.window){let F=i,z=m.promise,H=r.window.document.startViewTransition(async()=>{h(()=>o(F)),await z});H.finished.finally(()=>{c(void 0),y(void 0),l(void 0),u({isTransitioning:!1})}),y(H)}},[h,i,m,r.window]),P.useEffect(()=>{m&&i&&a.location.key===i.location.key&&m.resolve()},[m,f,a.location,i]),P.useEffect(()=>{!s.isTransitioning&&R&&(l(R.state),u({isTransitioning:!0,flushSync:!1,currentLocation:R.currentLocation,nextLocation:R.nextLocation}),E(void 0))},[s.isTransitioning,R]),P.useEffect(()=>{},[]);let b=P.useMemo(()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,go:F=>r.navigate(F),push:(F,z,H)=>r.navigate(F,{state:z,preventScrollReset:H?.preventScrollReset}),replace:(F,z,H)=>r.navigate(F,{replace:!0,state:z,preventScrollReset:H?.preventScrollReset})}),[r]),S=r.basename||"/",_=P.useMemo(()=>({router:r,navigator:b,static:!1,basename:S}),[r,b,S]),v=P.useMemo(()=>({v7_relativeSplatPath:r.future.v7_relativeSplatPath}),[r.future.v7_relativeSplatPath]);return P.useEffect(()=>ka(n,r.future),[n,r.future]),P.createElement(P.Fragment,null,P.createElement(He.Provider,{value:_},P.createElement(Je.Provider,{value:a},P.createElement(Ya.Provider,{value:g.current},P.createElement($a.Provider,{value:s},P.createElement(ln,{basename:S,location:a.location,navigationType:a.historyAction,navigator:b,future:v},a.initialized||r.future.v7_partialHydration?P.createElement(hs,{routes:r.routes,future:r.future,state:a}):t))))),null)}function ms(e){let{routes:t,future:r,state:n}=e;return Ma(t,void 0,n,r)}function Rn(e){let t=P.useContext(He);return t||k(!1),t}function ys(e){let t=P.useContext(Je);return t||k(!1),t}function Ka(e,t){let{target:r,replace:n,state:a,preventScrollReset:o,relative:i,viewTransition:l}=t===void 0?{}
2:t,s=Tt(),u=ge(),m=Ke(e,{relative:i});return P.useCallback(c=>{if(es(c,r)){c.preventDefault();let f=n!==void 0?n:Se(u)===Se(m);s(e,{replace:f,state:a,preventScrollReset:o,relative:i,viewTransition:l})}},[u,s,m,n,a,r,e,o,i,l])}function Rs(e){let t=P.useRef(vr(e)),r=P.useRef(!1),n=ge(),a=P.useMemo(()=>ts(n.search,r.current?null:t.current),[n.search]),o=Tt(),i=P.useCallback((l,s)=>{let u=vr(typeof l=="function"?l(a):l);r.current=!0,o("?"+u,s)},[o,a]);return[a,i]}function gs(){if(typeof document>"u")throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.")}function gn(){let{router:e}=Rn(It.UseSubmit),{basename:t}=P.useContext(xe),r=tn();return P.useCallback(function(n,a){a===void 0&&(a={}),gs();let{action:o,method:i,encType:l,formData:s,body:u}=as(n,t);if(a.navigate===!1){let m=a.fetcherKey||Ga();e.fetch(m,r,a.action||o,{preventScrollReset:a.preventScrollReset,formData:s,body:u,formMethod:a.method||i,formEncType:a.encType||l,flushSync:a.flushSync})}else e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:s,body:u,formMethod:a.method||i,formEncType:a.encType||l,replace:a.replace,state:a.state,fromRouteId:r,flushSync:a.flushSync,viewTransition:a.viewTransition})},[e,t,r])}function Xa(e,t){let{relative:r}=t===void 0?{}:t,{basename:n}=P.useContext(xe),a=P.useContext(Re);a||k(!1);let[o]=a.matches.slice(-1),i=Be({},Ke(e||".",{relative:r})),l=ge();if(e==null){i.search=l.search;let s=new URLSearchParams(i.search),u=s.getAll("index");if(u.some(c=>c==="")){s.delete("index"),u.filter(f=>f).forEach(f=>s.append("index",f));let c=s.toString();i.search=c?"?"+c:""}}return(!e||e===".")&&o.route.index&&(i.search=i.search?i.search.replace(/^\?/,"?index&"):"?index"),n!=="/"&&(i.pathname=i.pathname==="/"?n:_e([n,i.pathname])),Se(i)}function Qa(e){var t;let{key:r}=e===void 0?{}:e,{router:n}=Rn(It.UseFetcher),a=ys(hn.UseFetcher),o=P.useContext(Ya),i=P.useContext(Re),l=(t=i.matches[i.matches.length-1])==null?void 0:t.route.id;o||k(!1),i||k(!1),l==null&&k(!1);let s=za?za():"",[u,m]=P.useState(r||s);r&&r!==u?m(r):u||m(Ga()),P.useEffect(()=>(n.getFetcher(u),()=>{n.deleteFetcher(u)}),[n,u]);let c=P.useCallback((h,N)=>{l||k(!1),n.fetch(u,l,h,N)},[u,l,n]),f=gn(),y=P.useCallback((h,N)=>{f(h,Be({},N,{navigate:!1,fetcherKey:u}))},[u,f]),R=P.useMemo(()=>P.forwardRef((N,b)=>P.createElement(yn,Be({},N,{navigate:!1,fetcherKey:u,ref:b}))),[u]),E=a.fetchers.get(u)||Jr,g=o.get(u);return P.useMemo(()=>Be({Form:R,submit:y,load:c},E,{data:g}),[R,y,c,E,g])}function Za(e,t){t===void 0&&(t={});let r=P.useContext($a);r==null&&k(!1);let{basename:n}=Rn(It.useViewTransitionState),a=Ke(e,{relative:t.relative});if(!r.isTransitioning)return!1;let o=ye(r.currentLocation.pathname,n)||r.currentLocation.pathname,i=ye(r.nextLocation.pathname,n)||r.nextLocation.pathname;return ke(a.pathname,i)!=null||ke(a.pathname,o)!=null}var P,Gl,pr,cn,mr,ns,os,is,ls,ss,$a,Ya,us,Ha,cs,Ba,ds,za,fn,hs,ps,vs,vn,Ja,yn,It,hn,ws,Ga,lt=Ur(()=>{P=Fe(Ie()),Gl=Fe(Ti());hr();hr();Ce();pr="get",cn="application/x-www-form-urlencoded";mr=null;ns=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);os=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],is=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],ls=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","viewTransition"],ss="6";try{window.__reactRouterVersion=ss}catch{}$a=P.createContext({isTransitioning:!1}),Ya=P.createContext(new Map),us="startTransition",Ha=P[us],cs="flushSync",Ba=Gl[cs],ds="useId",za=P[ds];fn=class{constructor(){this.status="pending",this.promise=new Promise((t,r)=>{this.resolve=n=>{this.status==="pending"&&(this.status="resolved",t(n))},this.reject=n=>{this.status==="pending"&&(this.status="rejected",r(n))}})}};hs=P.memo(ms);ps=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",vs=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,vn=P.forwardRef(function(t,r){let{onClick:n,relative:a,reloadDocument:o,replace:i,state:l,target:s,to:u,preventScrollReset:m,viewTransition:c}=t,f=pn(t,os),{basename:y}=P.useContext(xe),R,E=!1;if(typeof u=="string"&&vs.test(u)&&(R=u,ps))try{let N=new URL(window.location.href),b=u.startsWith("//")?new URL(N.protocol+u):new URL(u),S=ye(b.pathname,y);b.origin===N.origin&&S!=null?u=S+b.search+b.hash:E=!0}catch{}let g=ot(u,{relative:a}),D=Ka(u,{replace:i,state:l,target:s,preventScrollReset:m,relative:a,viewTransition:c});function h(N){n&&n(N),N.defaultPrevented||D(N)}return P.createElement("a",Be({},f,{href:R||g,onClick:E||o?n:h,ref:r,target:s}))}),Ja=P.forwardRef(function(t,r){let{"aria-current":n="page",caseSensitive:a=!1,className:o="",end:i=!1,style:l,to:s,viewTransition:u,children:m}=t,c=pn(t,is),f=Ke(s,{relative:c.relative}),y=ge(),R=P.useContext(Je),{navigator:E,basename:g}=P.useContext(xe),D=R!=null&&Za(f)&&u===!0,h=E.encodeLocation?E.encodeLocation(f).pathname:f.pathname,N=y.pathname,b=R&&R.navigation&&R.navigation.location?R.navigation.location.pathname:null;a||(N=N.toLowerCase(),b=b?b.toLowerCase():null,h=h.toLowerCase()),b&&g&&(b=ye(b,g)||b);let S=h!=="/"&&h.endsWith("/")?h.length-1:h.length,_=N===h||!i&&N.startsWith(h)&&N.charAt(S)==="/",v=b!=null&&(b===h||!i&&b.startsWith(h)&&b.charAt(h.length)==="/"),F={isActive:_,isPending:v,isTransitioning:D},z=_?n:void 0,H;typeof o=="function"?H=o(F):H=[o,_?"active":null,v?"pending":null,D?"transitioning":null].filter(
2Boolean).join(" ");let K=typeof l=="function"?l(F):l;return P.createElement(vn,Be({},c,{"aria-current":z,className:H,ref:r,style:K,to:s,viewTransition:u}),typeof m=="function"?m(F):m)}),yn=P.forwardRef((e,t)=>{let{fetcherKey:r,navigate:n,reloadDocument:a,replace:o,state:i,method:l=pr,action:s,onSubmit:u,relative:m,preventScrollReset:c,viewTransition:f}=e,y=pn(e,ls),R=gn(),E=Xa(s,{relative:m}),g=l.toLowerCase()==="get"?"get":"post";return P.createElement("form",Be({ref:t,method:g,action:E,onSubmit:a?u:h=>{if(u&&u(h),h.defaultPrevented)return;h.preventDefault();let N=h.nativeEvent.submitter,b=N?.getAttribute("formmethod")||l;R(N||h.currentTarget,{fetcherKey:r,method:b,navigate:n,replace:o,state:i,relative:m,preventScrollReset:c,viewTransition:f})}},y))});(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(It||(It={}));(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(hn||(hn={}));ws=0,Ga=()=>"__"+String(++ws)+"__"});function te(){return te=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},te.apply(this,arguments)}var C=Fe(Ie());lt();function me(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}lt();async function Rr(e,t){if(e.id in t)return t[e.id];try{let r=await import(e.module);return t[e.id]=r,r}catch(r){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(r),window.__remixContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function qa(e,t,r){let n=e.map(o=>{var i;let l=t[o.route.id],s=r.routes[o.route.id];return[s.css?s.css.map(u=>({rel:"stylesheet",href:u})):[],(l==null||(i=l.links)===null||i===void 0?void 0:i.call(l))||[]]}).flat(2),a=Ss(e,r);return no(n,a)}async function wn(e,t){var r,n;if(!e.css&&!t.links||!xs())return;let a=[((r=e.css)===null||r===void 0?void 0:r.map(l=>({rel:"stylesheet",href:l})))??[],((n=t.links)===null||n===void 0?void 0:n.call(t))??[]].flat(1);if(a.length===0)return;let o=[];for(let l of a)!wr(l)&&l.rel==="stylesheet"&&o.push({...l,rel:"preload",as:"style"});let i=o.filter(l=>(!l.media||window.matchMedia(l.media).matches)&&!document.querySelector(`link[rel="stylesheet"][href="${l.href}"]`));await Promise.all(i.map(Es))}async function Es(e){return new Promise(t=>{let r=document.createElement("link");Object.assign(r,e);function n(){document.head.contains(r)&&document.head.removeChild(r)}r.onload=()=>{n(),t()},r.onerror=()=>{n(),t()},document.head.appendChild(r)})}function wr(e){return e!=null&&typeof e.page=="string"}function _s(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function eo(e,t,r){let n=await Promise.all(e.map(async a=>{let o=await Rr(t.routes[a.route.id],r);return o.links?o.links():[]}));return no(n.flat(1).filter(_s).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function En(e,t,r,n,a,o,i){let l=ao(e),s=(c,f)=>r[f]?c.route.id!==r[f].route.id:!0,u=(c,f)=>{var y;return r[f].pathname!==c.pathname||((y=r[f].route.path)===null||y===void 0?void 0:y.endsWith("*"))&&r[f].params["*"]!==c.params["*"]};return i==="data"&&(o.v3_singleFetch||a.search!==l.search)?t.filter((c,f)=>{if(!n.routes[c.route.id].hasLoader)return!1;if(s(c,f)||u(c,f))return!0;let R=o.v3_singleFetch||a.search!==l.search;if(c.route.shouldRevalidate){var E;let g=c.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:((E=r[0])===null||E===void 0?void 0:E.params)||{},nextUrl:new URL(e,window.origin),nextParams:c.params,defaultShouldRevalidate:R});if(typeof g=="boolean")return g}return R}):t.filter((c,f)=>{let y=n.routes[c.route.id];return(i==="assets"||y.hasLoader)&&(s(c,f)||u(c,f))})}function to(e,t,r){let n=ao(e);return _n(t.filter(a=>r.routes[a.route.id].hasLoader&&!r.routes[a.route.id].hasClientLoader).map(a=>{let{pathname:o,search:i}=n,l=new URLSearchParams(i);return l.set("_data",a.route.id),`${o}?${l}`}))}function ro(e,t){return _n(e.map(r=>{let n=t.routes[r.route.id],a=[n.module];return n.imports&&(a=a.concat(n.imports)),a}).flat(1))}function Ss(e,t){return _n(e.map(r=>{let n=t.routes[r.route.id],a=[n.module];return n.imports&&(a=a.concat(n.imports)),a}).flat(1))}function _n(e){return[...new Set(e)]}function bs(e){let t={},r=Object.keys(e).sort();for(let n of r)t[n]=e[n];return t}function no(e,t){let r=new Set,n=new Set(t);return e.reduce((a,o)=>
2{if(t&&!wr(o)&&o.as==="script"&&o.href&&n.has(o.href))return a;let l=JSON.stringify(bs(o));return r.has(l)||(r.add(l),a.push({key:l,link:o})),a},[])}function ao(e){let t=ce(e);return t.search===void 0&&(t.search=""),t}var gr;function xs(){if(gr!==void 0)return gr;let e=document.createElement("link");return gr=e.relList.supports("preload"),e=null,gr}var Ns={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},Ds=/[&><\u2028\u2029]/g;function wt(e){return e.replace(Ds,t=>Ns[t])}function Sn(e){return{__html:e}}var An=Fe(Ie());Ce();Ce();var oo=(e,t={})=>ir(e,t);var io=(e,t=302)=>je(e,t),lo=(e,t=302)=>lr(e,t);var xn=!0;try{new File([],"")}catch{xn=!1}var kt=class{promise;resolve;reject;constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}},Io=class{iterable;#r=new kt;#e=this.#r;constructor(){this.iterable=async function*(){let e=this.#r;for(;;){let t=await e.promise;if(t.done)return;yield t.value,e=t.next}}.bind(this)()}resolve(){this.#e.resolve({done:!0})}reject(e){this.#e.promise.catch(()=>{}),this.#e.reject(e)}yield(e){let t=new kt;this.#e.resolve({done:!1,value:e,next:t}),this.#e=t}},As=class extends Io{readable=new ReadableStream({start:async e=>{try{for await(let t of this.iterable)e.enqueue(t);e.close()}catch(t){e.error(t)}}})},Cs=class ko extends Blob{promise;#r;#e;#t={};constructor(t,r,n,a){if(super(),typeof t<"u"){this.promise=t.promise;let o=t.#t.start??0;typeof r<"u"&&(o+=r),this.#t.start=o;let i=t.#t.end;typeof n<"u"&&(i=(t.#t.start??0)+n),this.#t.end=i,this.#e=a??t?.type,this.#r=(i??t.size)-o}}get size(){if(typeof this.#r>"u")throw new Error("Size is not set");return this.#r}set size(t){this.#r=t}get type(){if(typeof this.#e>"u")throw new Error("Type is not set");return this.#e}set type(t){this.#e=t}async arrayBuffer(){if(!this.promise)throw new Error("Promise is not set");let t=await this.promise;return this.#t?t.slice(this.#t.start,this.#t.end):t}bytes(){return this.arrayBuffer().then(t=>new Uint8Array(t))}slice(t,r,n){return new ko(this,t,r,n)}stream(){return new ReadableStream({start:async t=>{try{t.enqueue(await this.bytes()),t.close()}catch(r){t.error(r)}}})}text(){return this.bytes().then(t=>new TextDecoder().decode(t))}},Ls=xn?File:Blob,Ps=class jo extends Ls{promise;#r;#e;#t;#a;#n={};constructor(t,r,n,a){if(xn?super([],""):super([]),typeof t<"u"){this.promise=t.promise;let o=t.#n.start??0;typeof r<"u"&&(o+=r),this.#n.start=o;let i=t.#n.end;typeof n<"u"&&(i=(t.#n.start??0)+n),this.#n.end=i,this.#e=a??t?.type,this.#t=t.name,this.#a=t.lastModified}}get name(){if(typeof this.#t>"u")throw new Error("Name is not set");return this.#t}set name(t){this.#t=t}get lastModified(){if(typeof this.#a>"u")throw new Error("Last modified is not set");return this.#a}set lastModified(t){this.#a=t}get size(){if(typeof this.#r>"u")throw new Error("Size is not set");return this.#r}set size(t){this.#r=t}get type(){if(typeof this.#e>"u")throw new Error("Type is not set");return this.#e}set type(t){this.#e=t}async arrayBuffer(){if(!this.promise)throw new Error("Promise is not set");let t=await this.promise;return this.#n?t.slice(this.#n.start,this.#n.end):t}bytes(){return this.arrayBuffer().then(t=>new Uint8Array(t))}slice(t,r,n){return new jo(this,t,r,n)}stream(){return new ReadableStream({start:async t=>{try{t.enqueue(await this.bytes()),t.close()}catch(r){t.error(r)}}})}text(){return this.bytes().then(t=>new TextDecoder().decode(t))}},st=0,so=1,uo=2,bn=3,Ne=0,co=1,fo=2,ho=3,mo=4,po=5,Et=6,vo=7,yo=8,Ro=9,Er=10,go=11,wo=12,Eo=13,_o=14,So=15,bo=16,xo=17,No=18,Do=19,Ao=20,Co=21,Lo=22,Po=23,Fo=0,Oo=1,To=2,Mo=3,Uo=4,Fs=1,Os=2;async function Ho(e,{plugins:t=[]}={}){let r=new kt,n=new Map,a=new Map,o=[],i=st,l=Ne,s="",u=0,m,c=0,f=!1,y=(g,D)=>{if(D===Fs){if(typeof g!="object"||g===null)throw new Error("Expected object")}else if(D===Os&&!Array.isArray(g))throw new Error("Expected array");if(Array.isArray(g)&&typeof g.__type=="number")switch(g.__type){case Oo:for(let[N,b]of g)g.__ref.set(N,b);g=g.__ref;break;case Fo:for(let N of g)g.__ref.add(N);g=g.__ref;break;case To:g=new RegExp(g[0],g[1]),n.set(g.__id,g);break;case Mo:{let N=new FormData;for(let[b,S]of g)N.append(b,S);g=N,n.set(g.__id,g);break}case Uo:{let N=!1,b=t.length;for(let S=0;S<b;S++){let _=t[S](...g);if(typeof _=="object"&&_!==null){g=_.value,N=!0;break}}N||(g=void 0);break}}if(o.length===0){if(r===null)throw new Error("Unexpected root value");if(r!==null){r.resolve(g),r=null;return}}let h=o[o.length-1];if(Array.isArray(h))h.push(g);else if(typeof h=="string")o.pop(),o[o.length-1][h]=g;else if(typeof h=="boolean"){o.pop();let N=a.get(o.pop());if(!N)throw new Error("Invalid stack state");N instanceof kt?h?N.resolve(g):N.reject(g):h?N.yield(g):N.reject(g)}else throw new Error("Invalid stack state")},R=g=>{let D=g.length,h,N=u;u=0;let b=N;for(;b<D;b++)if(h=g.charCodeAt(b),i===st)if(h===44)i=st,l=Array.isArray(o[o.length-1])?Ne:Et;else if(h===10){if(l===Er){let S=o.pop();if(typeof S!="number")throw new Error("Invalid stack state");a.get(S).resolve(),a.delete(S)}i=bn,l=st,s=""}else if(h===123){let S={};
2o.push(S),n.set(n.size,S),l=Et}else if(h===125)y(o.pop(),1);else if(h===91){let S=[];o.push(S),n.set(n.size,S)}else if(h===83){let S=[];S.__type=Fo,S.__ref=new Set,o.push(S),n.set(n.size,S.__ref),b++}else if(h===77){let S=[];S.__type=Oo,S.__ref=new Map,o.push(S),n.set(n.size,S.__ref),b++}else if(h===114){let S=[];S.__type=To,S.__id=n.size,o.push(S),n.set(S.__id,S),b++}else if(h===80){let S=[];S.__type=Uo,S.__id=n.size,o.push(S),n.set(S.__id,S),b++}else if(h===93)y(o.pop(),2);else if(h===64)l=po;else if(h===68)l=fo;else if(h===85)l=ho;else if(h===115)l=mo;else if(h===34)i=uo,s="",m=void 0,c=0,f=!1;else if(h===36)l=vo;else if(h===42)l=yo;else if(h===82)l=Ro;else if(h===58){if(l!==Er)throw new SyntaxError("Unexpected character: ':'");o.push(!0)}else if(h===33){if(l!==Er)throw new SyntaxError("Unexpected character: '!'");o.push(!1)}else if(h===117)y(void 0,0),l=Ne;else if(h===110)b+=3,y(null,0),l=Ne;else if(h===116)b+=3,y(!0,0),l=Ne;else if(h===102)b+=4,y(!1,0),l=Ne;else if(h===78)b+=2,y(Number.NaN,0),l=Ne;else if(h===73)y(Number.POSITIVE_INFINITY,0),l=Ne;else if(h===105)y(Number.NEGATIVE_INFINITY,0),l=Ne;else if(h===122)y(-0,0),l=Ne;else if(h===98)l=co;else if(h===45||h===46||h>=48&&h<=57)i=so,s=g[b];else if(h===69){let S=new Error;o.push(S),n.set(n.size,S),l=Et,b++}else if(h===70){let S=[];S.__type=Mo,S.__id=n.size,o.push(S),n.set(S.__id,S),b++}else if(h===75){let S=new Cs;o.push(S),n.set(n.size,S),l=Et,b++}else if(h===107){let S=new Ps;o.push(S),n.set(n.size,S),l=Et,b++}else if(h===65)l=go;else if(h===79)l=wo;else if(h===111)l=Eo;else if(h===67)l=_o;else if(h===76)l=So;else if(h===108)l=bo;else if(h===71)l=xo;else if(h===103)l=No;else if(h===72)l=Do;else if(h===104)l=Ao;else if(h===74)l=Co;else if(h===106)l=Lo;else if(h===86)l=Po;else throw new SyntaxError(`Unexpected character: '${g[b]}'`);else if(i===so||i===bn)if(h===45||h===46||h>=48&&h<=57)s+=g[b];else{if(i===bn){o.push(Number(s)),i=st,l=Er,b--;continue}if(l===vo){let S=Number(s),_=a.get(S);if(_)y(_.promise,0);else{let v=new kt;a.set(S,v),y(v.promise,0)}}else if(l===yo){let S=Number(s),_=a.get(S);if(_)y(_.iterable,0);else{let v=new Io;a.set(S,v),y(v.iterable,0)}}else if(l===Ro){let S=Number(s),_=a.get(S);if(_)y(_.readable,0);else{let v=new As;a.set(S,v),y(v.readable,0)}}else y(l===co?BigInt(s):l===po?n.get(Number(s)):Number(s),0);s="",i=st,l=Ne,b--}else if(i===uo){let S=!1;for(;b<D;b++)if(h=g.charCodeAt(b),h!==34||m===92&&c%2===1)s+=g[b],m=h,m===92?(c++,f=!0):c=0;else{S=!0;break}if(S){let _=f?JSON.parse(`"${s}"`):s;l===Et?(o.push(_),b++):(l===fo?(_=new Date(_),n.set(n.size,_)):l===mo?_=Symbol.for(_):l===ho?(_=new URL(_),n.set(n.size,_)):l===go?(_=we(_).buffer,n.set(n.size,_)):l===wo?(_=new Int8Array(we(_).buffer),n.set(n.size,_)):l===Eo?(_=we(_),n.set(n.size,_)):l===_o?(_=new Uint8ClampedArray(we(_).buffer),n.set(n.size,_)):l===So?(_=new Int16Array(we(_).buffer),n.set(n.size,_)):l===bo?(_=new Uint16Array(we(_).buffer),n.set(n.size,_)):l===xo?(_=new Int32Array(we(_).buffer),n.set(n.size,_)):l===No?(_=new Uint32Array(we(_).buffer),n.set(n.size,_)):l===Do?(_=new Float32Array(we(_).buffer),n.set(n.size,_)):l===Ao?(_=new Float64Array(we(_).buffer),n.set(n.size,_)):l===Co?(_=new BigInt64Array(we(_).buffer),n.set(n.size,_)):l===Lo?(_=new BigUint64Array(we(_).buffer),n.set(n.size,_)):l===Po&&(_=we(_),_=new DataView(_.buffer,_.byteOffset,_.byteLength),n.set(n.size,_)),y(_,0)),i=st,l=Ne}else b--}b>D&&(u=b-D)},E=e.getReader();return(async()=>{let g;for(;!(g=await E.read()).done;)R(g.value)})().catch(g=>{r&&(r.reject(g),r=null);for(let D of a.values())D.reject(g)}).finally(()=>{E.releaseLock(),r&&(r.reject(new Error("Stream ended before root value was parsed")),r=null);for(let g of a.values())g.reject(new Error("Stream ended before promise was resolved"))}),r.promise}function we(e){let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}var{NEGATIVE_INFINITY:ku,POSITIVE_INFINITY:ju,isNaN:Hu}=Number;var _r=Symbol("SingleFetchRedirect");Ce();function zo(e){return e.headers.get("X-Remix-Catch")!=null}function Is(e){return e.headers.get("X-Remix-Error")!=null}function ks(e){return jt(e)&&e.status>=400&&e.headers.get("X-Remix-Error")==null&&e.headers.get("X-Remix-Catch")==null&&e.headers.get("X-Remix-Response")==null}function Vo(e){return e.headers.get("X-Remix-Redirect")!=null}function $o(e){var t;return!!((t=e.headers.get("Content-Type"))!==null&&t!==void 0&&t.match(/text\/remix-deferred/))}function jt(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function Yo(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}async function Nn(e,t,r=0){let n=new URL(e.url);n.searchParams.set("_data",t),r>0&&await new Promise(l=>setTimeout(l,5**r*10));let a=await Ht(e),o=window.__remixRevalidation,i=await fetch(n.href,a).catch(l=>{if(typeof o=="number"&&o===window.__remixRevalidation&&l?.name==="TypeError"&&r<3)return Nn(e,t,r+1);throw l});if(Is(i)){let l=await i.json(),s=new Error(l.message);return s.stack=l.stack,s}if(ks(i)){let l=await i.text(),s=new Error(l);return s.stack=void 0,s}return i}async function Ht(e){let t={signal:e.signal};if(e.method!=="GET"){t.method=e.method;let r=e.headers.get("Content-Type");r&&/\bapplication\/json\b/.test(r)?(t.headers={"Content-Type":r},t.body=JSON.stringify(await e.json())):r&&/\btext\/plain\b/.test(r)?(t.headers={"Content-Type":r},t.body=await e.text()):r&&/\bapplication\/x-www-form-urlencoded\b/.test(r)?t.body=new URLSearchParams(await e.text()):t.body=await e.formData()}return t}var js="__deferred_promise:";async function Wo(e){if(!e)throw new Error("parseDeferredReadableStream requires stream argument");let t,r={};try{let n=Hs(e),o=(await n.next()).value;if(!o)throw new Error("no critical data");let i=JSON.parse(o);if(typeof i=="object"&&i!==null)for(let[l,s]of Object.entries(i))typeof s!="str
2ing"||!s.startsWith(js)||(t=t||{},t[l]=new Promise((u,m)=>{r[l]={resolve:c=>{u(c),delete r[l]},reject:c=>{m(c),delete r[l]}}}));return(async()=>{try{for await(let l of n){let[s,...u]=l.split(":"),m=u.join(":"),c=JSON.parse(m);if(s==="data")for(let[f,y]of Object.entries(c))r[f]&&r[f].resolve(y);else if(s==="error")for(let[f,y]of Object.entries(c)){let R=new Error(y.message);R.stack=y.stack,r[f]&&r[f].reject(R)}}for(let[l,s]of Object.entries(r))s.reject(new Oe(`Deferred ${l} will never be resolved`))}catch(l){for(let s of Object.values(r))s.reject(l)}})(),new rr({...i,...t})}catch(n){for(let a of Object.values(r))a.reject(n);throw n}}async function*Hs(e){let t=e.getReader(),r=[],n=[],a=!1,o=new TextEncoder,i=new TextDecoder,l=async()=>{if(n.length>0)return n.shift();for(;!a&&n.length===0;){let u=await t.read();if(u.done){a=!0;break}r.push(u.value);try{let c=i.decode(Bo(...r)).split(` 3 4`);if(c.length>=2&&(n.push(...c.slice(0,-1)),r=[o.encode(c.slice(-1).join(` 5 6`))]),n.length>0)break}catch{continue}}return n.length>0||r.length>0&&(n=i.decode(Bo(...r)).split(` 7 8`).filter(m=>m),r=[]),n.shift()},s=await l();for(;s;)yield s,s=await l()}function Bo(...e){let t=new Uint8Array(e.reduce((n,a)=>n+a.length,0)),r=0;for(let n of e)t.set(n,r),r+=n.length;return t}function Ko(e,t,r){return async({request:n,matches:a,fetcherKey:o})=>["POST","PUT","PATCH","DELETE"].includes(n.method)?Bs(n,a):o?Vs(n,a):zs(e,t,r(),n,a)}async function Bs(e,t){let r=t.find(o=>o.shouldLoad);me(r,"No action match found");let n,a=await r.resolve(async o=>await o(async()=>{let l=Bt(e.url),s=await Ht(e),{data:u,status:m}=await Cn(l,s);return n=m,Dn(u,r.route.id)}));return jt(a.result)||ve(a.result)?{[r.route.id]:a}:{[r.route.id]:{type:a.type,result:Ea(a.result,n)}}}async function zs(e,t,r,n,a){let o=new Set,i=!1,l=a.map(()=>Jo()),s=Promise.all(l.map(R=>R.promise)),u=Jo(),m=Xo(Bt(n.url)),c=await Ht(n),f={},y=Promise.all(a.map(async(R,E)=>R.resolve(async g=>{if(l[E].resolve(),!R.shouldLoad){var D;if(!r.state.initialized)return;if(R.route.id in r.state.loaderData&&e.routes[R.route.id]&&(D=t[R.route.id])!==null&&D!==void 0&&D.shouldRevalidate){e.routes[R.route.id].hasLoader&&(i=!0);return}}if(e.routes[R.route.id].hasClientLoader){e.routes[R.route.id].hasLoader&&(i=!0);try{let h=await Go(g,m,c,R.route.id);f[R.route.id]={type:"data",result:h}}catch(h){f[R.route.id]={type:"error",result:h}}return}e.routes[R.route.id].hasLoader&&o.add(R.route.id);try{let h=await g(async()=>{let N=await u.promise;return Qo(N,R.route.id)});f[R.route.id]={type:"data",result:h}}catch(h){f[R.route.id]={type:"error",result:h}}})));if(await s,(!r.state.initialized||o.size===0)&&!window.__remixHdrActive)u.resolve({});else try{i&&o.size>0&&m.searchParams.set("_routes",a.filter(E=>o.has(E.route.id)).map(E=>E.route.id).join(","));let R=await Cn(m,c);u.resolve(R.data)}catch(R){u.reject(R)}return await y,f}async function Vs(e,t){let r=t.find(a=>a.shouldLoad);me(r,"No fetcher match found");let n=await r.resolve(async a=>{let o=Xo(Bt(e.url)),i=await Ht(e);return Go(a,o,i,r.route.id)});return{[r.route.id]:n}}function Go(e,t,r,n){return e(async()=>{let a=new URL(t);a.searchParams.set("_routes",n);let{data:o}=await Cn(a,r);return Qo(o,n)})}function Xo(e){let t=e.searchParams.getAll("index");e.searchParams.delete("index");let r=[];for(let n of t)n&&r.push(n);for(let n of r)e.searchParams.append("index",n);return e}function Bt(e){let t=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return t.pathname==="/"?t.pathname="_root.data":t.pathname=`${t.pathname.replace(/\/$/,"")}.data`,t}async function Cn(e,t){let r=await fetch(e,t);if(new Set([100,101,204,205]).has(r.status))return!t.method||t.method==="GET"?{status:r.status,data:{}}:{status:r.status,data:{data:null}};me(r.body,"No response body to decode");try{let a=await Ln(r.body,window);return{status:r.status,data:a.value}}catch(a){throw console.error(a),new Error(`Unable to decode turbo-stream response from URL: ${e.toString()}`)}}function Ln(e,t){return Ho(e,{plugins:[(r,...n)=>{if(r==="SanitizedError"){let[a,o,i]=n,l=Error;a&&a in t&&typeof t[a]=="function"&&(l=t[a]);let s=new l(o);return s.stack=i,{value:s}}if(r==="ErrorResponse"){let[a,o,i]=n;return{value:new he(o,i,a)}}if(r==="SingleFetchRedirect")return{value:{[_r]:n[0]}}},(r,n)=>{if(r==="SingleFetchFallback")return{value:void 0};if(r==="SingleFetchClassInstance")return{value:n}}]})}function Qo(e,t){let r=e[_r];return r?Dn(r,t):e[t]!==void 0?Dn(e[t],t):null}function Dn(e,t){if("error"in e)throw e.error;if("redirect"in e){let r={};throw e.revalidate&&(r["X-Remix-Revalidate"]="yes"),e.reload&&(r["X-Remix-Reload-Document"]="yes"),e.replace&&(r["X-Remix-Replace"]="yes"),je(e.redirect,{status:e.status,headers:r})}else{if("data"in e)return e.data;throw new Error(`No response found for routeId "${t}"`)}}function Jo(){let e,t,r=new Promise((n,a)=>{e=async o=>
8{n(o);try{await r}catch{}},t=async o=>{a(o);try{await r}catch{}}});return{promise:r,resolve:e,reject:t}}Ce();var ni=Fe(Ie());var Ge=Fe(Ie());Ce();lt();var ae=Fe(Ie());lt();var Sr=class extends ae.Component{constructor(t){super(t),this.state={error:t.error||null,location:t.location}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,r){return r.location!==t.location?{error:t.error||null,location:t.location}:{error:t.error||r.error,location:r.location}}render(){return this.state.error?ae.createElement(Pn,{error:this.state.error,isOutsideRemixApp:!0}):this.props.children}};function Pn({error:e,isOutsideRemixApp:t}){console.error(e);let r=ae.createElement("script",{dangerouslySetInnerHTML:{__html:` 9 console.log( 10 "\u{1F4BF} Hey developer \u{1F44B}. You can provide a way better UX than this when your app throws errors. Check out https://remix.run/guides/errors for more information." 11 ); 12 `}});if(ve(e))return ae.createElement(br,{title:"Unhandled Thrown Response!"},ae.createElement("h1",{style:{fontSize:"24px"}},e.status," ",e.statusText),r);let n;if(e instanceof Error)n=e;else{let a=e==null?"Unknown Error":typeof e=="object"&&"toString"in e?e.toString():JSON.stringify(e);n=new Error(a)}return ae.createElement(br,{title:"Application Error!",isOutsideRemixApp:t},ae.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),ae.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},n.stack),r)}function br({title:e,renderScripts:t,isOutsideRemixApp:r,children:n}){var a;let{routeModules:o}=ut();return(a=o.root)!==null&&a!==void 0&&a.Layout&&!r?n:ae.createElement("html",{lang:"en"},ae.createElement("head",null,ae.createElement("meta",{charSet:"utf-8"}),ae.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),ae.createElement("title",null,e)),ae.createElement("body",null,ae.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},n,t?ae.createElement(Fn,null):null)))}var On=Fe(Ie());function Zo(){return On.createElement(br,{title:"Loading...",renderScripts:!0},On.createElement("script",{dangerouslySetInnerHTML:{__html:` 13 console.log( 14 "\u{1F4BF} Hey developer \u{1F44B}. You can provide a way better UX than this " + 15 "when your app is loading JS modules and/or running \`clientLoader\` " + 16 "functions. Check out https://remix.run/route/hydrate-fallback " + 17 "for more information." 18 ); 19 `}}))}function ei(e){let t={};return Object.values(e).forEach(r=>{let n=r.parentId||"";t[n]||(t[n]=[]),t[n].push(r)}),t}function $s(e,t,r){let n=ri(t),a=t.HydrateFallback&&(!r||e.id==="root")?t.HydrateFallback:e.id==="root"?Zo:void 0,o=t.ErrorBoundary?t.ErrorBoundary:e.id==="root"?()=>Ge.createElement(Pn,{error:Mt()}):void 0;return e.id==="root"&&t.Layout?{...n?{element:Ge.createElement(t.Layout,null,Ge.createElement(n,null))}:{Component:n},...o?{errorElement:Ge.createElement(t.Layout,null,Ge.createElement(o,null))}:{ErrorBoundary:o},...a?{hydrateFallbackElement:Ge.createElement(t.Layout,null,Ge.createElement(a,null))}:{HydrateFallback:a}}:{Component:n,ErrorBoundary:o,HydrateFallback:a}}function ti(e,t,r,n,a,o){return _t(t,r,n,a,o,"",ei(t),e)}function xr(e,t,r){if(r){let i=`You cannot call ${e==="action"?"serverAction()":"serverLoader()"} in SPA Mode (routeId: "${t.id}")`;throw console.error(i),new he(400,"Bad Request",new Error(i),!0)}let a=`You are trying to call ${e==="action"?"serverAction()":"serverLoader()"} on a route that does not have a server ${e} (routeId: "${t.id}")`;if(e==="loader"&&!t.hasLoader||e==="action"&&!t.hasAction)throw console.error(a),new he(400,"Bad Request",new Error(a),!0)}function Tn(e,t){let r=e==="clientAction"?"a":"an",n=`Route "${t}" does not have ${r} ${e}, but you are trying to submit to it. To fix this, please add ${r} \`${e}\` function to the route`;throw console.error(n),new he(405,"Method Not Allowed",new Error(n),!0)}function _t(e,t,r,n,a,o="",i=ei(e),l){return(i[o]||[]).map(s=>{let u=t[s.id];async function m(N,b,S){if(typeof S=="function")return await S();let _=await Js(N,s);return b?Ks(_):_}function c(N,b,S){return s.hasLoader?m(N,b,S):Promise.resolve(null)}function f(N,b,S){if(!s.hasAction)throw Tn("action",s.id);return m(N,b,S)}async function y(N){let b=t[s.id],S=b?wn(s,b):Promise.resolve();try{return N()}finally{await S}}let R={id:s.id,index:s.index,path:s.path};if(u){var E,g,D;Object.assign(R,{...R,...$s(s,u,a),handle:u.handle,shouldRevalidate:qo(n,u,s.id,l)});let N=r==null||(E=r.loaderData)===null||E===void 0?void 0:E[s.id],b=r==null||(g=r.errors)===null||g===void 0?void 0:g[s.id],S=l==null&&(((D=u.clientLoader)===null||D===void 0?void 0:D.hydrate)===!0||!s.hasLoader);R.loader=async({request:_,params:v},F)=>{try{return await y(async()=>(me(u,"No `routeModule` available for critical-route loader"),u.clientLoader?u.clientLoader({request:_,params:v,async serverLoader(){if
19(xr("loader",s,a),S){if(N!==void 0)return N;if(b!==void 0)throw b;return null}return c(_,!0,F)}}):a?null:c(_,!1,F)))}finally{S=!1}},R.loader.hydrate=Mn(s,u,a),R.action=({request:_,params:v},F)=>y(async()=>{if(me(u,"No `routeModule` available for critical-route action"),!u.clientAction){if(a)throw Tn("clientAction",s.id);return f(_,!1,F)}return u.clientAction({request:_,params:v,async serverAction(){return xr("action",s,a),f(_,!0,F)}})})}else s.hasClientLoader||(R.loader=({request:N},b)=>y(()=>a?Promise.resolve(null):c(N,!1,b))),s.hasClientAction||(R.action=({request:N},b)=>y(()=>{if(a)throw Tn("clientAction",s.id);return f(N,!1,b)})),R.lazy=async()=>{let N=await Ws(s,t),b={...N};if(N.clientLoader){let S=N.clientLoader;b.loader=(_,v)=>S({..._,async serverLoader(){return xr("loader",s,a),c(_.request,!0,v)}})}if(N.clientAction){let S=N.clientAction;b.action=(_,v)=>S({..._,async serverAction(){return xr("action",s,a),f(_.request,!0,v)}})}return{...b.loader?{loader:b.loader}:{},...b.action?{action:b.action}:{},hasErrorBoundary:b.hasErrorBoundary,shouldRevalidate:qo(n,b,s.id,l),handle:b.handle,Component:b.Component,ErrorBoundary:b.ErrorBoundary}};let h=_t(e,t,r,n,a,s.id,i,l);return h.length>0&&(R.children=h),R})}function qo(e,t,r,n){if(n)return Ys(r,t.shouldRevalidate,n);if(e.v3_singleFetch&&t.shouldRevalidate){let a=t.shouldRevalidate;return o=>a({...o,defaultShouldRevalidate:!0})}return t.shouldRevalidate}function Ys(e,t,r){let n=!1;return a=>n?t?t(a):a.defaultShouldRevalidate:(n=!0,r.has(e))}async function Ws(e,t){let r=await Rr(e,t);return await wn(e,r),{Component:ri(r),ErrorBoundary:r.ErrorBoundary,clientAction:r.clientAction,clientLoader:r.clientLoader,handle:r.handle,links:r.links,meta:r.meta,shouldRevalidate:r.shouldRevalidate}}async function Js(e,t){let r=await Nn(e,t.id);if(r instanceof Error)throw r;if(Vo(r))throw Gs(r);if(zo(r))throw r;return $o(r)&&r.body?await Wo(r.body):r}function Ks(e){if(Yo(e))return e.data;if(jt(e)){let t=e.headers.get("Content-Type");return t&&/\bapplication\/json\b/.test(t)?e.json():e.text()}return e}function Gs(e){let t=parseInt(e.headers.get("X-Remix-Status"),10)||302,r=e.headers.get("X-Remix-Redirect"),n={},a=e.headers.get("X-Remix-Revalidate");a&&(n["X-Remix-Revalidate"]=a);let o=e.headers.get("X-Remix-Reload-Document");o&&(n["X-Remix-Reload-Document"]=o);let i=e.headers.get("X-Remix-Replace");return i&&(n["X-Remix-Replace"]=i),je(r,{status:t,headers:n})}function ri(e){if(e.default==null)return;if(!(typeof e.default=="object"&&Object.keys(e.default).length===0))return e.default}function Mn(e,t,r){return r&&e.id!=="root"||t.clientLoader!=null&&(t.clientLoader.hydrate===!0||e.hasLoader!==!0)}var Nr=new Set,Xs=1e3,Dr=new Set,Qs=7680;function Ar(e,t){return e.v3_lazyRouteDiscovery===!0&&!t}function ai(e,t){let r=new Set(t.state.matches.map(i=>i.route.id)),n=t.state.location.pathname.split("/").filter(Boolean),a=["/"];for(n.pop();n.length>0;)a.push(`/${n.join("/")}`),n.pop();a.forEach(i=>{let l=ie(t.routes,i,t.basename);l&&l.forEach(s=>r.add(s.route.id))});let o=[...r].reduce((i,l)=>Object.assign(i,{[l]:e.routes[l]}),{});return{...e,routes:o}}function oi(e,t,r,n,a){if(Ar(r,n))return async({path:o,patch:i,signal:l,fetcherKey:s})=>{Dr.has(o)||await li([o],s?window.location.href:o,e,t,r,n,a,i,l)}}function ii(e,t,r,n,a){ni.useEffect(()=>{var o;if(!Ar(n,a)||((o=navigator.connection)===null||o===void 0?void 0:o.saveData)===!0)return;function i(c){let f=c.tagName==="FORM"?c.getAttribute("action"):c.getAttribute("href");if(!f)return;let y=new URL(f,window.location.origin);Dr.has(y.pathname)||Nr.add(y.pathname)}async function l(){let c=Array.from(Nr.keys()).filter(f=>Dr.has(f)?(Nr.delete(f),!1):!0);if(c.length!==0)try{await li(c,null,t,r,n,a,e.basename,e.patchRoutes)}catch(f){console.error("Failed to fetch manifest patches",f)}}
19document.body.querySelectorAll("a[data-discover], form[data-discover]").forEach(c=>i(c)),l();let s=qs(l,100);function u(c){return c.nodeType===Node.ELEMENT_NODE}let m=new MutationObserver(c=>{let f=new Set;c.forEach(y=>{[y.target,...y.addedNodes].forEach(R=>{u(R)&&((R.tagName==="A"&&R.getAttribute("data-discover")||R.tagName==="FORM"&&R.getAttribute("data-discover"))&&f.add(R),R.tagName!=="A"&&R.querySelectorAll("a[data-discover], form[data-discover]").forEach(E=>f.add(E)))})}),f.forEach(y=>i(y)),s()});return m.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["data-discover","href","action"]}),()=>m.disconnect()},[n,a,t,r,e])}var Un="remix-manifest-version";async function li(e,t,r,n,a,o,i,l,s){let u=`${i??"/"}/__manifest`.replace(/\/+/g,"/"),m=new URL(u,window.location.origin);if(e.sort().forEach(E=>m.searchParams.append("p",E)),m.searchParams.set("version",r.version),m.toString().length>Qs){Nr.clear();return}let c;try{let E=await fetch(m,{signal:s});if(E.ok){if(E.status===204&&E.headers.has("X-Remix-Reload-Document")){if(!t){console.warn("Detected a manifest version mismatch during eager route discovery. The next navigation/fetch to an undiscovered route will result in a new document navigation to sync up with the latest manifest.");return}if(sessionStorage.getItem(Un)===r.version){console.error("Unable to discover routes due to manifest version mismatch.");return}throw sessionStorage.setItem(Un,r.version),window.location.href=t,new Error("Detected manifest version mismatch, reloading...")}else if(E.status>=400)throw new Error(await E.text())}else throw new Error(`${E.status} ${E.statusText}`);sessionStorage.removeItem(Un),c=await E.json()}catch(E){if(s!=null&&s.aborted)return;throw E}let f=new Set(Object.keys(r.routes)),y=Object.values(c).reduce((E,g)=>f.has(g.id)?E:Object.assign(E,{[g.id]:g}),{});Object.assign(r.routes,y),e.forEach(E=>Zs(E,Dr));let R=new Set;
19Object.values(y).forEach(E=>{(!E.parentId||!y[E.parentId])&&R.add(E.parentId)}),R.forEach(E=>l(E||null,_t(y,n,null,a,o,E)))}function Zs(e,t){if(t.size>=Xs){let r=t.values().next().value;typeof r=="string"&&t.delete(r)}t.add(e)}function qs(e,t){let r;return(...n)=>{window.clearTimeout(r),r=window.setTimeout(()=>e(...n),t)}}function ui(){let e=C.useContext(He);return me(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Lr(){let e=C.useContext(Je);return me(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var Vt=C.createContext(void 0);Vt.displayName="Remix";function ut(){let e=C.useContext(Vt);return me(e,"You must render this element inside a <Remix> element"),e}function ci(e,t){let[r,n]=C.useState(!1),[a,o]=C.useState(!1),{onFocus:i,onBlur:l,onMouseEnter:s,onMouseLeave:u,onTouchStart:m}=t,c=C.useRef(null);C.useEffect(()=>{if(e==="render"&&o(!0),e==="viewport"){let R=g=>{g.forEach(D=>{o(D.isIntersecting)})},E=new IntersectionObserver(R,{threshold:.5});return c.current&&E.observe(c.current),()=>{E.disconnect()}}},[e]);let f=()=>{e==="intent"&&n(!0)},y=()=>{e==="intent"&&(n(!1),o(!1))};return C.useEffect(()=>{if(r){let R=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(R)}}},[r]),[a,c,{onFocus:zt(i,f),onBlur:zt(l,y),onMouseEnter:zt(s,f),onMouseLeave:zt(u,y),onTouchStart:zt(m,f)}]}var In=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function kn(e,t,r){return e==="render"&&!t&&!r?"true":void 0}var di=C.forwardRef(({to:e,prefetch:t="none",discover:r="render",...n},a)=>{let o=typeof e=="string"&&In.test(e),i=ot(e),[l,s,u]=ci(t,n);return C.createElement(C.Fragment,null,C.createElement(Ja,te({},n,u,{ref:pi(a,s),to:e,"data-discover":kn(r,o,n.reloadDocument)})),l&&!o?C.createElement(Pr,{page:i}):null)});di.displayName="NavLink";var fi=C.forwardRef(({to:e,prefetch:t="none",discover:r="render",...n},a)=>{let o=typeof e=="string"&&In.test(e),i=ot(e),[l,s,u]=ci(t,n);return C.createElement(C.Fragment,null,C.createElement(vn,te({},n,u,{ref:pi(a,s),to:e,"data-discover":kn(r,o,n.reloadDocument)})),l&&!o?C.createElement(Pr,{page:i}):null)});fi.displayName="Link";var hi=C.forwardRef(({discover:e="render",...t},r)=>{let n=typeof t.action=="string"&&In.test(t.action);return C.createElement(yn,te({},t,{ref:r,"data-discover":kn(e,n,t.reloadDocument)}))});hi.displayName="Form";function zt(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function jn(e,t,r){if(r&&!Cr)return[e[0]];if(t){let n=e.findIndex(a=>t[a.route.id]!==void 0);return e.slice(0,n+1)}return e}function eu(){let{isSpaMode:e,manifest:t,routeModules:r,criticalCss:n}=ut(),{errors:a,matches:o}=Lr(),i=jn(o,a,e),l=C.useMemo(()=>qa(i,r,t),[i,r,t]);return C.createElement(C.Fragment,null,n?C.createElement("style",{dangerouslySetInnerHTML:{__html:n}}):null,l.map(({key:s,link:u})=>wr(u)?C.createElement(Pr,te({key:s},u)):C.createElement("link",te({key:s},u))))}function Pr({page:e,...t}){let{router:r}=ui(),n=C.useMemo(()=>ie(r.routes,e,r.basename),[r.routes,e,r.basename]);return n?C.createElement(ru,te({page:e,matches:n},t)):(console.warn(`Tried to prefetch ${e} but no routes matched.`),null)}function tu(e){let{manifest:t,routeModules:r}=ut(),[n,a]=C.useState([]);return C.useEffect(()=>{let o=!1;return eo(e,t,r).then(i=>{o||a(i)}),()=>{o=!0}},[e,t,r]),n}function ru({page:e,matches:t,...r}){let n=ge(),{future:a,manifest:o,routeModules:i}=ut(),{loaderData:l,matches:s}=Lr(),u=C.useMemo(()=>En(e,t,s,o,n,a,"data"),[e,t,s,o,n,a]),m=C.useMemo(()=>{if(!a.v3_singleFetch)return to(e,u,o);if(e===n.pathname+n.search+n.hash)return[];let R=new Set,E=!1;if(t.forEach(D=>{var h;o.routes[D.route.id].hasLoader&&(!u.some(N=>N.route.id===D.route.id)&&D.route.id in l&&(h=i[D.route.id])!==null&&h!==void 0&&h.shouldRevalidate||o.routes[D.route.id].hasClientLoader?E=!0:R.add(D.route.id))}),R.size===0)return[];let g=Bt(e);return E&&R.size>0&&g.searchParams.set("_routes",t.filter(D=>R.has(D.route.id)).map(D=>D.route.id).join(",")),[g.pathname+g.search]},[a.v3_singleFetch,l,n,o,u,t,e,i]),c=C.useMemo(()=>En(e,t,s,o,n,a,"assets"),[e,t,s,o,n,a]),f=C.useMemo(()=>ro(c,o),[c,o]),y=tu(c);return C.createElement(C.Fragment,null,m.map(R=>C.createElement("link",te({key:R,rel:"prefetch",as:"fetch",href:R},r))),f.map(R=>C.createElement("link",te({key:R,rel:"modulepreload",href:R},r))),y.map(({key:R,link:E})=>C.createElement("link",te({key:R},E))))}
19function nu(){let{isSpaMode:e,routeModules:t}=ut(),{errors:r,matches:n,loaderData:a}=Lr(),o=ge(),i=jn(n,r,e),l=null;r&&(l=r[i[i.length-1].route.id]);let s=[],u=null,m=[];for(let c=0;c<i.length;c++){let f=i[c],y=f.route.id,R=a[y],E=f.params,g=t[y],D=[],h={id:y,data:R,meta:[],params:f.params,pathname:f.pathname,handle:f.route.handle,error:l};if(m[c]=h,g!=null&&g.meta?D=typeof g.meta=="function"?g.meta({data:R,params:E,location:o,matches:m,error:l}):Array.isArray(g.meta)?[...g.meta]:g.meta:u&&(D=[...u]),D=D||[],!Array.isArray(D))throw new Error("The route at "+f.route.path+` returns an invalid value. All route meta functions must return an array of meta objects. 20 21To reference the meta function API, see https://remix.run/route/meta`);h.meta=D,m[c]=h,s=[...D],u=s}return C.createElement(C.Fragment,null,s.flat().map(c=>{if(!c)return null;if("tagName"in c){let{tagName:f,...y}=c;return au(f)?C.createElement(f,te({key:JSON.stringify(y)},y)):(console.warn(`A meta object uses an invalid tagName: ${f}. Expected either 'link' or 'meta'`),null)}if("title"in c)return C.createElement("title",{key:"title"},String(c.title));if("charset"in c&&(c.charSet??=c.charset,delete c.charset),"charSet"in c&&c.charSet!=null)return typeof c.charSet=="string"?C.createElement("meta",{key:"charSet",charSet:c.charSet}):null;if("script:ld+json"in c)try{let f=JSON.stringify(c["script:ld+json"]);return C.createElement("script",{key:`script:ld+json:${f}`,type:"application/ld+json",dangerouslySetInnerHTML:{__html:wt(f)}})}catch{return null}return C.createElement("meta",te({key:JSON.stringify(c)},c))}))}function au(e){return typeof e=="string"&&/^(meta|link)$/.test(e)}function mi(e){return C.createElement(sn,e)}var Cr=!1;function Fn(e){let{manifest:t,serverHandoffString:r,abortDelay:n,serializeError:a,isSpaMode:o,future:i,renderMeta:l}=ut(),{router:s,static:u,staticContext:m}=ui(),{matches:c}=Lr(),f=Ar(i,o);l&&(l.didRenderScripts=!0);let y=jn(c,null,o);C.useEffect(()=>{Cr=!0},[]);let R=(_,v)=>{let F;return a&&v instanceof Error?F=a(v):F=v,`${JSON.stringify(_)}:__remixContext.p(!1, ${wt(JSON.stringify(F))})`},E=(_,v,F)=>{let z;try{z=JSON.stringify(F)}catch(H){return R(v,H)}return`${JSON.stringify(v)}:__remixContext.p(${wt(z)})`},g=(_,v,F)=>{let z;return a&&F instanceof Error?z=a(F):z=F,`__remixContext.r(${JSON.stringify(_)}, ${JSON.stringify(v)}, !1, ${wt(JSON.stringify(z))})`},D=(_,v,F)=>{let z;try{z=JSON.stringify(F)}catch(H){return g(_,v,H)}return`__remixContext.r(${JSON.stringify(_)}, ${JSON.stringify(v)}, ${wt(z)})`},h=[],N=C.useMemo(()=>{var _;let v=i.v3_singleFetch?"window.__remixContext.stream = new ReadableStream({start(controller){window.__remixContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());":"",F=m?`window.__remixContext = ${r};${v}`:" ",z=i.v3_singleFetch?void 0:m?.activeDeferreds;F+=z?["__remixContext.p = function(v,e,p,x) {"," if (typeof e !== 'undefined') {",` x=new Error("Unexpected Server Error"); 22 x.stack=undefined;`," p=Promise.reject(x);"," } else {"," p=Promise.resolve(v);"," }"," return p;","};","__remixContext.n = function(i,k) {"," __remixContext.t = __remixContext.t || {};"," __remixContext.t[i] = __remixContext.t[i] || {};"," let p = new Promise((r, e) => {__remixContext.t[i][k] = {r:(v)=>{r(v);},e:(v)=>{e(v);}};});",typeof n=="number"?`setTimeout(() => {if(typeof p._error !== "undefined" || typeof p._data !== "undefined"){return;} __remixContext.t[i][k].e(new Error("Server timeout."))}, ${n});`:""," return p;","};","__remixContext.r = function(i,k,v,e,p,x) {"," p = __remixContext.t[i][k];"," if (typeof e !== 'undefined') {",` x=new Error("Unexpected Server Error"); 23 x.stack=undefined;`," p.e(x);"," } else {"," p.r(v);"," }","};"].join(` 24`)+Object.entries(z).map(([K,W])=>{let se=new Set(W.pendingKeys),le=W.deferredKeys.map(re=>{if(se.has(re))return h.push(C.createElement(si,{key:`${K} | ${re}`,deferredData:W,routeId:K,dataKey:re,scriptProps:e,serializeData:D,serializeError:g})),`${JSON.stringify(re)}:__remixContext.n(${JSON.stringify(K)}, ${JSON.stringify(re)})`;{let ze=W.data[re];return typeof ze._error<"u"?R(re,ze._error):E(K,re,ze._data)}}).join(`, 25`);return`Object.assign(__remixContext.state.loaderData[${JSON.stringify(K)}], {${le}});`}).join(` 26`)+(h.length>0?`__remixContext.a=${h.length};`:""):"";let H=u?`${(_=t.hmr)!==null&&_!==void 0&&_.runtime?`import ${JSON.stringify(t.hmr.runtime)};`:""}${f?"":`import ${JSON.stringify(t.url)}`}; 27${y.map((K,W)=>`import * as route${W} from ${JSON.stringify(t.routes[K.route.id].module)};`).join(` 28`)} 29${f?`window.__remixManifest = ${JSON.stringify(ai(t,s),null,2)};`:""} 30window.__remixRouteModules = {${y.map((K,W)=>`${JSON.stringify(K.route.id)}:route${W}`).join(",")}}; 31 32import(${JSON.stringify(t.entry.module)});`:" ";return C.createElement(C.Fragment,null,C.createElement("script",te({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Sn(F),type:void 0})),C.createElement("script",te({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Sn(H),type:"module",async:!0})))},[]);if(!u&&typeof __remixContext=="object"&&__remixContext.a)for(let _=0;_<__remixContext.a;_++)h.push(C.createElement(si,{key:_,scriptProps:e,serializeData:D,serializeError:g}));let b=y.map(_=>{let v=t.routes[_.route.id];return(v.imports||[]).concat([v.module])}).flat(1),S=Cr?[]:t.entry.imports.concat(b);return Cr?null:C.createElement(C.Fragment,null,f?null:C.createElement("link",{rel:"modulepreload",href:t.url,crossOrigin:e.crossOrigin}),C.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin}),iu(S).map(_=>C.createElement("link",{key:_,rel:"modulepreload",href:_,crossOrigin:e.crossOrigin})),N,h)}function si({dataKey:e,deferredData:t,routeId:r,scriptProps:n,serializeData:a,serializeError:o}){return typeof document>
32"u"&&t&&e&&r&&me(t.pendingKeys.includes(e),`Deferred data for route ${r} with key ${e} was not pending but tried to render a script for it.`),C.createElement(C.Suspense,{fallback:typeof document>"u"&&t&&e&&r?null:C.createElement("script",te({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}}))},typeof document>"u"&&t&&e&&r?C.createElement(mi,{resolve:t.data[e],errorElement:C.createElement(ou,{dataKey:e,routeId:r,scriptProps:n,serializeError:o}),children:i=>C.createElement("script",te({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:a(r,e,i)}}))}):C.createElement("script",te({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}})))}function ou({dataKey:e,routeId:t,scriptProps:r,serializeError:n}){let a=fr();return C.createElement("script",te({},r,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:n(t,e,a)}}))}function iu(e){return[...new Set(e)]}function lu(){return dr()}function su(){return nn()}function uu(e){return an(e)}function cu(e={}){return Qa(e)}var du=()=>null;function pi(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}Ce();var de=Fe(Ie());hr();lt();Ce();function vi(e){if(!e)return null;let t=Object.entries(e),r={};for(let[n,a]of t)if(a&&a.__type==="RouteErrorResponse")r[n]=new he(a.status,a.statusText,a.data,a.internal===!0);else if(a&&a.__type==="Error"){if(a.__subType){let o=window[a.__subType];if(typeof o=="function")try{let i=new o(a.message);i.stack=a.stack,r[n]=i}catch{}}if(r[n]==null){let o=new Error(a.message);o.stack=a.stack,r[n]=o}}else r[n]=a;return r}var Xe,Ee,Hn=!1;var Bn,Hc=new Promise(e=>{Bn=e}).catch(()=>{});function fu(e){if(!Ee){if(window.__remixContext.future.v3_singleFetch){if(!Xe){let l=window.__remixContext.stream;me(l,"No stream found for single fetch decoding"),window.__remixContext.stream=void 0,Xe=Ln(l,window).then(s=>{window.__remixContext.state=s.value,Xe.value=!0}).catch(s=>{Xe.error=s})}if(Xe.error)throw Xe.error;if(!Xe.value)throw Xe}let o=_t(window.__remixManifest.routes,window.__remixRouteModules,window.__remixContext.state,window.__remixContext.future,window.__remixContext.isSpaMode),i;if(!window.__remixContext.isSpaMode){i={...window.__remixContext.state,loaderData:{...window.__remixContext.state.loaderData}};let l=ie(o,window.location,window.__remixContext.basename);if(l)for(let s of l){let u=s.route.id,m=window.__remixRouteModules[u],c=window.__remixManifest.routes[u];m&&Mn(c,m,window.__remixContext.isSpaMode)&&(m.HydrateFallback||!c.hasLoader)?i.loaderData[u]=void 0:c&&!c.hasLoader&&(i.loaderData[u]=null)}i&&i.errors&&(i.errors=vi(i.errors))}Ee=sr({routes:o,history:$r(),basename:window.__remixContext.basename,future:{v7_normalizeFormMethod:!0,v7_fetcherPersist:window.__remixContext.future.v3_fetcherPersist,v7_partialHydration:!0,v7_prependBasename:!0,v7_relativeSplatPath:window.__remixContext.future.v3_relativeSplatPath,v7_skipActionErrorRevalidation:window.__remixContext.future.v3_singleFetch===!0},hydrationData:i,mapRouteProperties:un,dataStrategy:window.__remixContext.future.v3_singleFetch&&!window.__remixContext.isSpaMode?Ko(window.__remixManifest,window.__remixRouteModules,()=>Ee):void 0,patchRoutesOnNavigation:oi(window.__remixManifest,window.__remixRouteModules,window.__remixContext.future,window.__remixContext.isSpaMode,window.__remixContext.basename)}),Ee.state.initialized&&(Hn=!0,Ee.initialize()),Ee.createRoutesForHMR=ti,window.__remixRouter=Ee,Bn&&Bn(Ee)}let[t,r]=de.useState(void 0),[n,a]=de.useState(Ee.state.location);return de.useLayoutEffect(()=>{Hn||(Hn=!0,Ee.initialize())},[]),de.useLayoutEffect(()=>Ee.subscribe(o=>{o.location!==n&&a(o.location)}),[n]),ii(Ee,window.__remixManifest,window.__remixRouteModules,window.__remixContext.future,window.__remixContext.isSpaMode),de.createElement(de.Fragment,null,de.createElement(Vt.Provider,{value:{manifest:window.__remixManifest,routeModules:window.__remixRouteModules,future:window.__remixContext.future,criticalCss:t,isSpaMode:window.__remixContext.isSpaMode}},de.createElement(Sr,{location:n},de.createElement(Wa,{router:Ee,fallbackElement:null,future:{v7_startTransition:!0}}))),window.__remixContext.future.v3_singleFetch?de.createElement(de.Fragment,null):null)}lt();export{ve as a,ge as b,Tt as c,Ta as d,rn as e,Ia as f,Mt as g,ja as h,Rs as i,oo as j,io as k,lo as l,di as m,fi as n,hi as o,eu as p,nu as q,Fn as r,lu as s,su as t,uu as u,cu as v,du as w,fu as x}; 33/*! Bundled license information: 34 35@remix-run/router/dist/router.js: 36 (** 37 * @remix-run/router v1.23.3 38 * 39 * Copyright (c) Remix Software Inc. 40 * 41 * This source code is licensed under the MIT license found in the 42 * LICENSE.md file in the root directory of this source tree. 43 * 44 * @license MIT 45 *) 46 47react-router/dist/index.js: 48 (** 49 * React Router v6.30.4 50 * 51 * Copyright (c) Remix Software Inc. 52 * 53 * This source code is licensed under the MIT license found in the 54 * LICENSE.md file in the root directory of this source tree. 55 * 56 * @license MIT 57 *) 58 59react-router-dom/dist/index.js: 60 (** 61 * React Router DOM v6.30.4 62 * 63 * Copyright (c) Remix Software Inc. 64 * 65 * This source code is licensed under the MIT license found in the 66 * LICENSE.md file in the root directory of this source tree. 67 * 68 * @license MIT 69 *) 70 71@remix-run/react/dist/esm/_virtual/_rollupPluginBabelHelpers.js: 72 (** 73 * @remix-run/react v2.17.5 74 * 75 * Copyright (c) Remix Software Inc. 76 * 77 * This source code is licensed under the MIT license found in the 78 * LICENSE.md file in the root directory of this source tree. 79 * 80 * @license MIT 81 *) 82 83@remix-run/react/dist/esm/invariant.js: 84 (** 85 * @remix-run/react v2.17.5 86 * 87 * Copyright (c) Remix Software Inc. 88 * 89 * This source code is licensed under the MIT license found in the 90 * LICENSE.md file in the root directory of this source tree. 91 * 92 * @license MIT 93 *) 94 95@remix-run/react/dist/esm/routeModules.js: 96 (** 97 * @remix-run/react v2.17.5 98 * 99 * Copyright (c) Remix Software Inc. 100 * 101 * This source code is licensed under the MIT license found in the 102 * LICENSE.md file in the root directory of this source tree. 103 * 104 * @license MIT 105 *) 106 107@remix-run/react/dist/esm/links.js: 108 (** 109 * @remix-run/react v2.17.5 110 * 111 * Copyright (c) Remix Software Inc. 112 * 113 * This source code is licensed under the MIT license found in the 114 * LICENSE.md file in the root directory of this source tree. 115 * 116 * @license MIT 117 *) 118 119@remix-run/react/dist/esm/markup.js: 120 (** 121 * @remix-run/react v2.17.5 122 * 123 * Copyright (c) Remix Software Inc. 124 * 125 * This source code is licensed under the MIT license found in the 126 * LICENSE.md file in the root directory of this source tree. 127 * 128 * @license MIT 129 *) 130 131@remix-run/server-runtime/dist/esm/responses.js: 132 (** 133 * @remix-run/server-runtime v2.17.5 134 * 135 * Copyright (c) Remix Software Inc. 136 * 137 * This source code is licensed under the MIT license found in the 138 * LICENSE.md file in the root directory of this source tree. 139 * 140 * @license MIT 141 *) 142 143@remix-run/server-runtime/dist/esm/single-fetch.js: 144 (** 145 * @remix-run/server-runtime v2.17.5 146 * 147 * Copyright (c) Remix Software Inc. 148 * 149 * This source code is licensed under the MIT license found in the 150 * LICENSE.md file in the root directory of this source tree. 151 * 152 * @license MIT 153 *) 154 155@remix-run/server-runtime/dist/esm/index.js: 156 (** 157 * @remix-run/server-runtime v2.17.5 158 * 159 * Copyright (c) Remix Software Inc. 160 * 161 * This source code is licensed under the MIT license found in the 162 * LICENSE.md file in the root directory of this source tree. 163 * 164 * @license MIT 165 *) 166 167@remix-run/react/dist/esm/data.js: 168 (** 169 * @remix-run/react v2.17.5 170 * 171 * Copyright (c) Remix Software Inc. 172 * 173 * This source code is licensed under the MIT license found in the 174 * LICENSE.md file in the root directory of this source tree. 175 * 176 * @license MIT 177 *) 178 179@remix-run/react/dist/esm/single-fetch.js: 180 (** 181 * @remix-run/react v2.17.5 182 * 183 * Copyright (c) Remix Software Inc. 184 * 185 * This source code is licensed under the MIT license found in the 186 * LICENSE.md file in the root directory of this source tree. 187 * 188 * @license MIT 189 *) 190 191@remix-run/react/dist/esm/errorBoundaries.js: 192 (** 193 * @remix-run/react v2.17.5 194 * 195 * Copyright (c) Remix Software Inc. 196 * 197 * This source code is licensed under the MIT license found in the 198 * LICENSE.md file in the root directory of this source tree. 199 * 200 * @license MIT 201 *) 202 203@remix-run/react/dist/esm/fallback.js: 204 (** 205 * @remix-run/react v2.17.5 206 * 207 * Copyright (c) Remix Software Inc. 208 * 209 * This source code is licensed under the MIT license found in the 210 * LICENSE.md file in the root directory of this source tree. 211 * 212 * @license MIT 213 *) 214 215@remix-run/react/dist/esm/routes.js: 216 (** 217 * @remix-run/react v2.17.5 218 * 219 * Copyright (c) Remix Software Inc. 220 * 221 * This source code is licensed under the MIT license found in the 222 * LICENSE.md file in the root directory of this source tree. 223 * 224 * @license MIT 225 *) 226 227@remix-run/react/dist/esm/fog-of-war.js: 228 (** 229 * @remix-run/react v2.17.5 230 * 231 * Copyright (c) Remix Software Inc. 232 * 233 * This source code is licensed under the MIT license found in the 234 * LICENSE.md file in the root directory of this source tree. 235 * 236 * @license MIT 237 *) 238 239@remix-run/react/dist/esm/components.js: 240 (** 241 * @remix-run/react v2.17.5 242 * 243 * Copyright (c) Remix Software Inc. 244 * 245 * This source code is licensed under the MIT license found in the 246 * LICENSE.md file in the root directory of this source tree. 247 * 248 * @license MIT 249 *) 250 251@remix-run/react/dist/esm/errors.js: 252 (** 253 * @remix-run/react v2.17.5 254 * 255 * Copyright (c) Remix Software Inc. 256 * 257 * This source code is licensed under the MIT license found in the 258 * LICENSE.md file in the root directory of this source tree. 259 * 260 * @license MIT 261 *) 262 263@remix-run/react/dist/esm/browser.js: 264 (** 265 * @remix-run/react v2.17.5 266 * 267 * Copyright (c) Remix Software Inc. 268 * 269 * This source code is licensed under the MIT license found in the 270 * LICENSE.md file in the root directory of this source tree. 271 * 272 * @license MIT 273 *) 274 275@remix-run/react/dist/esm/index.js: 276 (** 277 * @remix-run/react v2.17.5 278 * 279 * Copyright (c) Remix Software Inc. 280 * 281 * This source code is licensed under the MIT license found in the 282 * LICENSE.md file in the root directory of this source tree. 283 * 284 * @license MIT 285 *) 286*/
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.