1import{r as n,j as P}from"./jsx-runtime-BgQc5Su6.js";import{f as Y,S as W,i as $,l as q,p as I,g as J,h as V,j as G,k as K,m as Q,n as Z,o as ee,q as te,s as re,R as oe,t as ne,r as ie}from"./components-DRS3ZNdV.js";import{i as ae,E as C,u as le,r as se,m as de,c as ue,d as ce,e as me}from"./index-B1epUW-V.js";/** 2 * @remix-run/react v2.9.2 3 * 4 * Copyright (c) Remix Software Inc. 5 * 6 * This source code is licensed under the MIT license found in the 7 * LICENSE.md file in the root directory of this source tree. 8 * 9 * @license MIT 10 */class fe extends n.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?n.createElement(T,{error:this.state.error}):this.props.children}}function T({error:e}){console.error(e);let t=n.createElement("script",{dangerouslySetInnerHTML:{__html:` 11 console.log( 12 "ð¿ Hey developer ð. You can provide a way better UX than this when your app throws errors. Check out https://remix.run/guides/errors for more information." 13 ); 14 `}});if(ae(e))return n.createElement(B,{title:"Unhandled Thrown Response!"},n.createElement("h1",{style:{fontSize:"24px"}},e.status," ",e.statusText),t);let r;if(e instanceof Error)r=e;else{let i=e==null?"Unknown Error":typeof e=="object"&&"toString"in e?e.toString():JSON.stringify(e);r=new Error(i)}return n.createElement(B,{title:"Application Error!"},n.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),n.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},r.stack),t)}function B({title:e,renderScripts:t,children:r}){var i;let{routeModules:o}=Y();return(i=o.root)!==null&&i!==void 0&&i.Layout?r:n.createElement("html",{lang:"en"},n.createElement("head",null,n.createElement("meta",{charSet:"utf-8"}),n.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),n.createElement("title",null,e)),n.createElement("body",null,n.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},r,t?n.createElement(W,null):null)))}/** 15 * @remix-run/react v2.9.2 16 * 17 * Copyright (c) Remix Software Inc. 18 * 19 * This source code is licensed under the MIT license found in the 20 * LICENSE.md file in the root directory of this source tree. 21 * 22 * @license MIT 23 */function we(e){if(!e)return null;let t=Object.entries(e),r={};for(let[i,o]of t)if(o&&o.__type==="RouteErrorResponse")r[i]=new C(o.status,o.statusText,o.data,o.internal===!0);else if(o&&o.__type==="Error"){if(o.__subType){let s=window[o.__subType];if(typeof s=="function")try{let f=new s(o.message);f.stack=o.stack,r[i]=f}catch{}}if(r[i]==null){let s=new Error(o.message);s.stack=o.stack,r[i]=s}}else r[i]=o;return r}/** 24 * @remix-run/react v2.9.2 25 * 26 * Copyright (c) Remix Software Inc. 27 * 28 * This source code is licensed under the MIT license found in the 29 * LICENSE.md file in the root directory of this source tree. 30 * 31 * @license MIT 32 */function he(){return n.createElement(B,{title:"Loading...",renderScripts:!0},n.createElement("script",{dangerouslySetInnerHTML:{__html:` 33 console.log( 34 "ð¿ Hey developer ð. You can provide a way better UX than this " + 35 "when your app is running \`clientLoader\` functions on hydration. " + 36 "Check out https://remix.run/route/hydrate-fallback for more information." 37 ); 38 `}}))}/** 39 * @remix-run/react v2.9.2 40 * 41 * Copyright (c) Remix Software Inc. 42 * 43 * This source code is licensed under the MIT license found in the 44 * LICENSE.md file in the root directory of this source tree. 45 * 46 * @license MIT 47 */function z(e){let t={};return Object.values(e).forEach(r=>{let i=r.parentId||"";t[i]||(t[i]=[]),t[i].push(r)}),t}function _e(e,t,r){let i=X(t),o=t.HydrateFallback&&(!r||e.id==="root")?t.HydrateFallback:e.id==="root"?he:void 0,s=t.ErrorBoundary?t.ErrorBoundary:e.id==="root"?()=>n.createElement(T,{error:le()}):void 0;return e.id==="root"&&t.Layout?{...i?{element:n.createElement(t.Layout,null,n.createElement(i,null))}:{Component:i},...s?{errorElement:n.createElement(t.Layout,null,n.createElement(s,null))}:{ErrorBoundary:s},...o?{hydrateFallbackElement:n.createElement(t.Layout,null,n.createElement(o,null))}:{HydrateFallback:o}}:{Component:i,ErrorBoundary:s,HydrateFallback:o}}function Re(e,t,r,i,o,s){return F(t,r,i,o,s,"",z(t),e)}function g(e,t,r){if(r){let f=`You cannot call ${e==="action"?"serverAction()":"serverLoader()"} in SPA Mode (routeId: "${t.id}")`;throw console.error(f),new C(400,"Bad Request",new Error(f),!0)}let o=`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(o),new C(400,"Bad Request",new Error(o),!0)}function A(e,t){let r=e==="clientAction"?"a":"an",i=`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(i),new C(405,"Method Not Allowed",new Error(i),!0)}function F(e,t,r,i,o,s="",f=z(e),_){return(f[s]||[]).map(a=>{let d=t[a.id];async function y(u,l,m){if(typeof m=="function")return await m();let c=await ye(u,a);return l?ve(c):c}
47function R(u,l,m){return a.hasLoader?y(u,l,m):Promise.resolve(null)}function v(u,l,m){if(!a.hasAction)throw A("action",a.id);return y(u,l,m)}async function x(u){let l=t[a.id],m=l?I(a,l):Promise.resolve();try{return u()}finally{await m}}let h={id:a.id,index:a.index,path:a.path};if(d){var M,L,k;Object.assign(h,{...h,..._e(a,d,o),handle:d.handle,shouldRevalidate:_?j(a.id,d.shouldRevalidate,_):d.shouldRevalidate});let u=r==null||(M=r.loaderData)===null||M===void 0?void 0:M[a.id],l=r==null||(L=r.errors)===null||L===void 0?void 0:L[a.id],m=_==null&&(((k=d.clientLoader)===null||k===void 0?void 0:k.hydrate)===!0||!a.hasLoader);h.loader=async({request:c,params:p},b)=>{try{return await x(async()=>($(d,"No `routeModule` available for critical-route loader"),d.clientLoader?d.clientLoader({request:c,params:p,async serverLoader(){if(g("loader",a,o),m){if(l!==void 0)throw l;return u}return R(c,!0,b)}}):o?null:R(c,!1,b)))}finally{m=!1}},h.loader.hydrate=U(a,d,o),h.action=({request:c,params:p},b)=>x(async()=>{if($(d,"No `routeModule` available for critical-route action"),!d.clientAction){if(o)throw A("clientAction",a.id);return v(c,!1,b)}return d.clientAction({request:c,params:p,async serverAction(){return g("action",a,o),v(c,!0,b)}})})}else a.hasClientLoader||(h.loader=({request:u},l)=>x(()=>o?Promise.resolve(null):R(u,!1,l))),a.hasClientAction||(h.action=({request:u},l)=>x(()=>{if(o)throw A("clientAction",a.id);return v(u,!1,l)})),h.lazy=async()=>{let u=await xe(a,t),l={...u};if(u.clientLoader){let m=u.clientLoader;l.loader=(c,p)=>m({...c,async serverLoader(){return g("loader",a,o),R(c.request,!0,p)}})}if(u.clientAction){let m=u.clientAction;l.action=(c,p)=>m({...c,async serverAction(){return g("action",a,o),v(c.request,!0,p)}})}return _&&(l.shouldRevalidate=j(a.id,u.shouldRevalidate,_)),{...l.loader?{loader:l.loader}:{},...l.action?{action:l.action}:{},hasErrorBoundary:l.hasErrorBoundary,shouldRevalidate:l.shouldRevalidate,handle:l.handle,Component:l.Component,ErrorBoundary:l.ErrorBoundary}};let D=F(e,t,r,i,o,a.id,f,_);return D.length>0&&(h.children=D),h})}function j(e,t,r){let i=!1;return o=>i?t?t(o):o.defaultShouldRevalidate:(i=!0,r.has(e))}async function xe(e,t){let r=await q(e,t);return await I(e,r),{Component:X(r),ErrorBoundary:r.ErrorBoundary,clientAction:r.clientAction,clientLoader:r.clientLoader,handle:r.handle,links:r.links,meta:r.meta,shouldRevalidate:r.shouldRevalidate}}async function ye(e,t){let r=await J(e,t.id);if(r instanceof Error)throw r;if(V(r))throw pe(r);if(G(r))throw r;return K(r)&&r.body?await Q(r.body):r}function ve(e){if(Z(e))return e.data;if(ee(e)){let t=e.headers.get("Content-Type");return t&&/\bapplication\/json\b/.test(t)?e.json():e.text()}return e}function pe(e){let t=parseInt(e.headers.get("X-Remix-Status"),10)||302,r=e.headers.get("X-Remix-Redirect"),i={},o=e.headers.get("X-Remix-Revalidate");o&&(i["X-Remix-Revalidate"]=o);let s=e.headers.get("X-Remix-Reload-Document");return s&&(i["X-Remix-Reload-Document"]=s),se(r,{status:t,headers:i})}function X(e){if(e.default==null)return;if(!(typeof e.default=="object"&&Object.keys(e.default).length===0))return e.default}function U(e,t,r){return r&&e.id!=="root"||t.clientLoader!=null&&(t.clientLoader.hydrate===!0||e.hasLoader!==!0)}/** 48 * @remix-run/react v2.9.2 49 * 50 * Copyright (c) Remix Software Inc. 51 * 52 * This source code is licensed under the MIT license found in the 53 * LICENSE.md file in the root directory of this source tree. 54 * 55 * @license MIT 56 */let E,w,H=!1;let S,Le=new Promise(e=>{S=e}).catch(()=>{});function Ee(e){if(!w){let s=window.__remixContext.url,f=window.location.pathname;if(s!==f&&!window.__remixContext.isSpaMode){let d=`Initial URL (${s}) does not match URL at time of hydration (${f}), reloading page...`;return console.error(d),window.location.reload(),n.createElement(n.Fragment,null)}if(window.__remixContext.future.unstable_singleFetch){if(!E){let d=window.__remixContext.stream;$(d,"No stream found for single fetch decoding"),window.__remixContext.stream=void 0,E=te(d,window).then(y=>{window.__remixContext.state=y.value,E.value=!0}).catch(y=>{E.error=y})}if(E.error)throw E.error;if(!E.value)throw E}let _=F(window.__remixManifest.routes,window.__remixRouteModules,window.__remixContext.state,window.__remixContext.future,window.__remixContext.isSpaMode),a;if(!window.__remixContext.isSpaMode){a={...window.__remixContext.state,loaderData:{...window.__remixContext.state.loaderData}};let d=de(_,window.location);if(d)for(let y of d){let R=y.route.id,v=window.__remixRouteModules[R],x=window.__remixManifest.routes[R];v&&U(x,v,window.__remixContext.isSpaMode)&&(v.HydrateFallback||!x.hasLoader)?a.loaderData[R]=void 0:x&&!x.hasLoader&&(a.loaderData[R]=null)}a&&a.errors&&(a.errors=we(a.errors))}w=ue({routes:_,history:ce(),basename:window.__remixContext.basename,future:{v7_normalizeFormMethod:!0,v7_fetcherPersist:window.__remixContext.future.v3_fetcherPersist,v7_partialHydration:!0,v7_prepe
56ndBasename:!0,v7_relativeSplatPath:window.__remixContext.future.v3_relativeSplatPath,unstable_skipActionErrorRevalidation:window.__remixContext.future.unstable_singleFetch===!0},hydrationData:a,mapRouteProperties:me,unstable_dataStrategy:window.__remixContext.future.unstable_singleFetch?re(window.__remixManifest,window.__remixRouteModules):void 0}),w.state.initialized&&(H=!0,w.initialize()),w.createRoutesForHMR=Re,window.__remixRouter=w,S&&S(w)}let[t,r]=n.useState(void 0),[i,o]=n.useState(w.state.location);return n.useLayoutEffect(()=>{H||(H=!0,w.initialize())},[]),n.useLayoutEffect(()=>w.subscribe(s=>{s.location!==i&&o(s.location)}),[i]),n.createElement(n.Fragment,null,n.createElement(oe.Provider,{value:{manifest:window.__remixManifest,routeModules:window.__remixRouteModules,future:window.__remixContext.future,criticalCss:t,isSpaMode:window.__remixContext.isSpaMode}},n.createElement(fe,{location:i},n.createElement(ne,{router:w,fallbackElement:null,future:{v7_startTransition:!0}}))),window.__remixContext.future.unstable_singleFetch?n.createElement(n.Fragment,null):null)}var N,O=ie;O.createRoot,N=O.hydrateRoot;n.startTransition(()=>{N(document,P.jsx(n.StrictMode,{children:P.jsx(Ee,{})}))});
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.