1var He=Object.defineProperty;var Me=(e,t,r)=>t in e?He(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var I=(e,t,r)=>Me(e,typeof t!="symbol"?t+"":t,r);import{p as Je,A as Ue,D as Be,i as me,f as ze,g as ye,E as U,r as u,u as Xe,m as pe,h as we,k as Ye,l as We,n as Ge,o as Ve,q as ge,N as Ke,L as Ze,F as Qe,s as qe}from"./index-BY7bLxLw.js";var et=-1,tt=-2,rt=-3,nt=-4,at=-5,it=-6,ot=-7,lt="B",st="D",ve="E",ut="M",ct="N",Ee="P",dt="R",ft="S",ht="Y",mt="U",yt="Z",Se=class{constructor(){I(this,"promise");I(this,"resolve");I(this,"reject");this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};function pt(){const e=new TextDecoder;let t="";return new TransformStream({transform(r,n){const a=e.decode(r,{stream:!0}),i=(t+a).split(` 2`);t=i.pop()||"";for(const s of i)n.enqueue(s)},flush(r){t&&r.enqueue(t)}})}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var X=typeof window<"u"?window:typeof globalThis<"u"?globalThis:void 0;function W(e){const{hydrated:t,values:r}=this;if(typeof e=="number")return O.call(this,e);if(!Array.isArray(e)||!e.length)throw new SyntaxError;const n=r.length;return r.push(...e),t.length=r.length,O.call(this,n)}function O(e){const{hydrated:t,values:r,deferred:n,plugins:a}=this;switch(e){case ot:return;case at:return null;case tt:return NaN;case it:return 1/0;case rt:return-1/0;case nt:return-0}if(t[e])return t[e];const i=r[e];if(!i||typeof i!="object")return t[e]=i;if(Array.isArray(i))if(typeof i[0]=="string"){const[s,o,l]=i;switch(s){case st:return t[e]=new Date(o);case mt:return t[e]=new URL(o);case lt:return t[e]=BigInt(o);case dt:return t[e]=new RegExp(o,l);case ht:return t[e]=Symbol.for(o);case ft:const d=new Set;t[e]=d;for(let p=1;p<i.length;p++)d.add(O.call(this,i[p]));return d;case ut:const f=new Map;t[e]=f;for(let p=1;p<i.length;p+=2)f.set(O.call(this,i[p]),O.call(this,i[p+1]));return f;case ct:const c=Object.create(null);t[e]=c;for(const p in o)c[O.call(this,Number(p))]=O.call(this,o[p]);return c;case Ee:if(t[o])return t[e]=t[o];{const p=new Se;return n[o]=p,t[e]=p.promise}case ve:const[,h,y]=i;let m=y&&X&&X[y]?new X[y](h):new Error(h);return t[e]=m,m;case yt:return O.call(this,o);default:if(Array.isArray(a)){const p=i.slice(1).map(v=>O.call(this,v));for(const v of a){const b=v(i[0],...p);if(b)return t[e]=b.value}}throw new SyntaxError}}else{const s=[];t[e]=s;for(let o=0;o<i.length;o++){const l=i[o];l!==et&&(s[o]=O.call(this,l))}return s}else{const s={};t[e]=s;for(const o in i)s[O.call(this,Number(o))]=O.call(this,i[o]);return s}}async function wt(e,t){const{plugins:r}=t??{},n=new Se,a=e.pipeThrough(pt()).getReader(),i={values:[],hydrated:[],deferred:{},plugins:r},s=await gt.call(i,a);let o=n.promise;return s.done?n.resolve():o=vt.call(i,a).then(n.resolve).catch(l=>{for(const d of Object.values(i.deferred))d.reject(l);n.reject(l)}),{done:o.then(()=>a.closed),value:s.value}}async function gt(e){const t=await e.read();if(!t.value)throw new SyntaxError;let r;try{r=JSON.parse(t.value)}catch{throw new SyntaxError}return{done:t.done,value:W.call(this,r)}}async function vt(e){let t=await e.read();for(;!t.done;){if(!t.value)continue;const r=t.value;switch(r[0]){case Ee:{const n=r.indexOf(":"),a=Number(r.slice(1,n)),i=this.deferred[a];if(!i)throw new Error(`Deferred ID ${a} not found in stream`);const s=r.slice(n+1);let o;try{o=JSON.parse(s)}catch{throw new SyntaxError}const l=W.call(this,o);i.resolve(l);break}case ve:{const n=r.indexOf(":"),a=Number(r.slice(1,n)),i=this.deferred[a];if(!i)throw new Error(`Deferred ID ${a} not found in stream`);const s=r.slice(n+1);let o;try{o=JSON.parse(s)}catch{throw new SyntaxError}const l=W.call(this,o);i.reject(l);break}default:throw new SyntaxError}t=await e.read()}}/** 3 * @remix-run/server-runtime v2.11.1 4 * 5 * Copyright (c) Remix Software Inc. 6 * 7 * This source code is licensed under the MIT license found in the 8 * LICENSE.md file in the root directory of this source tree. 9 * 10 * @license MIT 11 */const Re=Symbol("SingleFetchRedirect");/** 12 * @remix-run/react v2.11.1 13 * 14 * Copyright (c) Remix Software Inc. 15 * 16 * This source code is licensed under the MIT license found in the 17 * LICENSE.md file in the root directory of this source tree. 18 * 19 * @license MIT 20 */function _(){return _=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];
20for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_.apply(this,arguments)}/** 21 * @remix-run/react v2.11.1 22 * 23 * Copyright (c) Remix Software Inc. 24 * 25 * This source code is licensed under the MIT license found in the 26 * LICENSE.md file in the root directory of this source tree. 27 * 28 * @license MIT 29 */function D(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}/** 30 * @remix-run/react v2.11.1 31 * 32 * Copyright (c) Remix Software Inc. 33 * 34 * This source code is licensed under the MIT license found in the 35 * LICENSE.md file in the root directory of this source tree. 36 * 37 * @license MIT 38 */async function be(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(()=>{})}}/** 39 * @remix-run/react v2.11.1 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 Et(e,t,r){let n=e.map(i=>{var s;let o=t[i.route.id],l=r.routes[i.route.id];return[l.css?l.css.map(d=>({rel:"stylesheet",href:d})):[],(o==null||(s=o.links)===null||s===void 0?void 0:s.call(o))||[]]}).flat(2),a=Lt(e,r);return _e(n,a)}async function xe(e,t){var r,n;if(!e.css&&!t.links||!Ot())return;let a=[((r=e.css)===null||r===void 0?void 0:r.map(o=>({rel:"stylesheet",href:o})))??[],((n=t.links)===null||n===void 0?void 0:n.call(t))??[]].flat(1);if(a.length===0)return;let i=[];for(let o of a)!Z(o)&&o.rel==="stylesheet"&&i.push({...o,rel:"preload",as:"style"});let s=i.filter(o=>(!o.media||window.matchMedia(o.media).matches)&&!document.querySelector(`link[rel="stylesheet"][href="${o.href}"]`));await Promise.all(s.map(St))}async function St(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 Z(e){return e!=null&&typeof e.page=="string"}function Rt(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 bt(e,t,r){let n=await Promise.all(e.map(async a=>{let i=await be(t.routes[a.route.id],r);return i.links?i.links():[]}));return _e(n.flat(1).filter(Rt).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function se(e,t,r,n,a,i){let s=Le(e),o=(f,c)=>r[c]?f.route.id!==r[c].route.id:!0,l=(f,c)=>{var h;return r[c].pathname!==f.pathname||((h=r[c].route.path)===null||h===void 0?void 0:h.endsWith("*"))&&r[c].params["*"]!==f.params["*"]};return i==="data"&&a.search!==s.search?t.filter((f,c)=>{if(!n.routes[f.route.id].hasLoader)return!1;if(o(f,c)||l(f,c))return!0;if(f.route.shouldRevalidate){var y;let m=f.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:((y=r[0])===null||y===void 0?void 0:y.params)||{},nextUrl:new URL(e,window.origin),nextParams:f.params,defaultShouldRevalidate:!0});if(typeof m=="boolean")return m}return!0}):t.filter((f,c)=>{let h=n.routes[f.route.id];return(i==="assets"||h.hasLoader)&&(o(f,c)||l(f,c))})}function xt(e,t,r){let n=Le(e);return Q(t.filter(a=>r.routes[a.route.id].hasLoader&&!r.routes[a.route.id].hasClientLoader).map(a=>{let{pathname:i,search:s}=n,o=new URLSearchParams(s);return o.set("_data",a.route.id),`${i}?${o}`}))}function _t(e,t){return Q(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 Lt(e,t){return Q(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 Q(e){return[...new Set(e)]}function kt(e){let t={},r=Object.keys(e).sort();for(let n of r)t[n]=e[n];return t}function _e(e,t){let r=new Set,n=new Set(t);return e.reduce((a,i)=>{if(t&&!Z(i)&&i.as==="script"&&i.href&&n.has(i.href))return a;let o=JSON.stringify(kt(i));
47return r.has(o)||(r.add(o),a.push({key:o,link:i})),a},[])}function Le(e){let t=Je(e);return t.search===void 0&&(t.search=""),t}let F;function Ot(){if(F!==void 0)return F;let e=document.createElement("link");return F=e.relList.supports("preload"),e=null,F}/** 48 * @remix-run/react v2.11.1 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 */const Pt={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},Nt=/[&><\u2028\u2029]/g;function H(e){return e.replace(Nt,t=>Pt[t])}function ue(e){return{__html:e}}/** 57 * @remix-run/react v2.11.1 58 * 59 * Copyright (c) Remix Software Inc. 60 * 61 * This source code is licensed under the MIT license found in the 62 * LICENSE.md file in the root directory of this source tree. 63 * 64 * @license MIT 65 */function $t(e){return e.headers.get("X-Remix-Catch")!=null}function At(e){return e.headers.get("X-Remix-Error")!=null}function Dt(e){return q(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 Tt(e){return e.headers.get("X-Remix-Redirect")!=null}function Ct(e){var t;return!!((t=e.headers.get("Content-Type"))!==null&&t!==void 0&&t.match(/text\/remix-deferred/))}function q(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function jt(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 ke(e,t,r=0){let n=new URL(e.url);n.searchParams.set("_data",t),r>0&&await new Promise(o=>setTimeout(o,5**r*10));let a=await ee(e),i=window.__remixRevalidation,s=await fetch(n.href,a).catch(o=>{if(typeof i=="number"&&i===window.__remixRevalidation&&(o==null?void 0:o.name)==="TypeError"&&r<3)return ke(e,t,r+1);throw o});if(At(s)){let o=await s.json(),l=new Error(o.message);return l.stack=o.stack,l}if(Dt(s)){let o=await s.text(),l=new Error(o);return l.stack=void 0,l}return s}async function ee(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}const It="__deferred_promise:";async function Ft(e){if(!e)throw new Error("parseDeferredReadableStream requires stream argument");let t,r={};try{let n=Ht(e),i=(await n.next()).value;if(!i)throw new Error("no critical data");let s=JSON.parse(i);if(typeof s=="object"&&s!==null)for(let[o,l]of Object.entries(s))typeof l!="string"||!l.startsWith(It)||(t=t||{},t[o]=new Promise((d,f)=>{r[o]={resolve:c=>{d(c),delete r[o]},reject:c=>{f(c),delete r[o]}}}));return(async()=>{try{for await(let o of n){let[l,...d]=o.split(":"),f=d.join(":"),c=JSON.parse(f);if(l==="data")for(let[h,y]of Object.entries(c))r[h]&&r[h].resolve(y);else if(l==="error")for(let[h,y]of Object.entries(c)){let m=new Error(y.message);m.stack=y.stack,r[h]&&r[h].reject(m)}}for(let[o,l]of Object.entries(r))l.reject(new Ue(`Deferred ${o} will never be resolved`))}catch(o){for(let l of Object.values(r))l.reject(o)}})(),new Be({...s,...t})}catch(n){for(let a of Object.values(r))a.reject(n);throw n}}async function*Ht(e){let t=e.getReader(),r=[],n=[],a=!1,i=new TextEncoder,s=new TextDecoder,o=async()=>{if(n.length>0)return n.shift();for(;!a&&n.length===0;){let d=await t.read();if(d.done){a=!0;break}r.push(d.value);try{let c=s.decode(ce(...r)).split(` 66 67`);if(c.length>=2&&(n.push(...c.slice(0,-1)),r=[i.encode(c.slice(-1).join(` 68 69`))]),n.length>0)break}catch{continue}}return n.length>0||r.length>0&&(n=s.decode(ce(...r)).split(` 70 71`).filter(f=>f),r=[]),n.shift()},l=await o();for(;l;)yield l,l=await o()}function ce(...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}/** 72 * @remix-run/react v2.11.1 73 * 74 * Copyright (c) Remix Software Inc. 75 * 76 * This source code is licensed under the MIT license found in the 77 * LICENSE.md file in the root directory of this source tree. 78 * 79 * @license MIT 80 */function hr(e,t){return async({request:r,matches:n})=>r.method!=="GET"?Mt(r,n):Jt(e,t,r,n)}function Mt(e,t){return Promise.all(t.map(async r=>{let n,a=await r.resolve(async i=>({type:"data",result:await i(async()=>{let o=te(e.url),l=await ee(e),{data:d,status:f}=await G(o,l);return n=f,V(d,r.route.id)})}));return q(a.result)||me(a.result)?a:{type:a.type,result:ze(a.result,n)}}))}function Jt(e,t,r,n){let a;return Promise.all(n.map(async i=>i.resolve(async s=>{let o,l=Ut(te(r.url)),d=await ee(r);return e.routes[i.route.id].hasClientLoader?o=await s(async()=>{l.searchParams.set("_routes",i.route.id);let{data:f}=await G(l,d);return de(f,i.route.id)}):o=await s(async()=>{a||(l=Oe(e,t,n.map(c=>c.route),n.filter(c=>c.shouldLoad).map(c=>c.route),l),a=G(l,d).then(({data:c})=>c));let f=await a;return de(f,i.route.id)}),{type:"data",result:o}})))}function Ut(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 Oe(e,t,r,n,a){let i=d=>d.filter(f=>e.routes[f].hasLoader).join(",");if(!r.some(d=>{var f,c;return((f=t[d.id])===null||f===void 0?void 0:f.shouldRevalidate)||((c=e.routes[d.id])===null||c===void 0?void 0:c.hasCl
80ientLoader)}))return a;let o=i(r.map(d=>d.id)),l=i(n.filter(d=>{var f;return!((f=e.routes[d.id])!==null&&f!==void 0&&f.hasClientLoader)}).map(d=>d.id));return o!==l&&a.searchParams.set("_routes",l),a}function te(e){let t=typeof e=="string"?new URL(e,window.location.origin):e;return t.pathname==="/"?t.pathname="_root.data":t.pathname=`${t.pathname.replace(/\/$/,"")}.data`,t}async function G(e,t){let r=await fetch(e,t);D(r.body,"No response body to decode");try{let n=await Bt(r.body,window);return{status:r.status,data:n.value}}catch(n){throw console.error(n),new Error(`Unable to decode turbo-stream response from URL: ${e.toString()}`)}}function Bt(e,t){return wt(e,{plugins:[(r,...n)=>{if(r==="SanitizedError"){let[a,i,s]=n,o=Error;a&&a in t&&typeof t[a]=="function"&&(o=t[a]);let l=new o(i);return l.stack=s,{value:l}}if(r==="ErrorResponse"){let[a,i,s]=n;return{value:new U(i,s,a)}}if(r==="SingleFetchRedirect")return{value:{[Re]:n[0]}}}]})}function de(e,t){let r=e[Re];return r?V(r,t):e[t]!==void 0?V(e[t],t):null}function V(e,t){if("error"in e)throw e.error;if("redirect"in e){let r={};return e.revalidate&&(r["X-Remix-Revalidate"]="yes"),e.reload&&(r["X-Remix-Reload-Document"]="yes"),e.replace&&(r["X-Remix-Replace"]="yes"),ye(e.redirect,{status:e.status,headers:r})}else{if("data"in e)return e.data;throw new Error(`No response found for routeId "${t}"`)}}/** 81 * @remix-run/react v2.11.1 82 * 83 * Copyright (c) Remix Software Inc. 84 * 85 * This source code is licensed under the MIT license found in the 86 * LICENSE.md file in the root directory of this source tree. 87 * 88 * @license MIT 89 */class mr extends u.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?u.createElement(Pe,{error:this.state.error,isOutsideRemixApp:!0}):this.props.children}}function Pe({error:e,isOutsideRemixApp:t}){console.error(e);let r=u.createElement("script",{dangerouslySetInnerHTML:{__html:` 90 console.log( 91 "ð¿ 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." 92 ); 93 `}});if(me(e))return u.createElement(K,{title:"Unhandled Thrown Response!"},u.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 u.createElement(K,{title:"Application Error!",isOutsideRemixApp:t},u.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),u.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},n.stack),r)}function K({title:e,renderScripts:t,isOutsideRemixApp:r,children:n}){var a;let{routeModules:i}=T();return(a=i.root)!==null&&a!==void 0&&a.Layout&&!r?n:u.createElement("html",{lang:"en"},u.createElement("head",null,u.createElement("meta",{charSet:"utf-8"}),u.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),u.createElement("title",null,e)),u.createElement("body",null,u.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},n,t?u.createElement(sr,null):null)))}/** 94 * @remix-run/react v2.11.1 95 * 96 * Copyright (c) Remix Software Inc. 97 * 98 * This source code is licensed under the MIT license found in the 99 * LICENSE.md file in the root directory of this source tree. 100 * 101 * @license MIT 102 */function zt(){return u.createElement(K,{title:"Loading...",renderScripts:!0},u.createElement("script",{dangerouslySetInnerHTML:{__html:` 103 console.log( 104 "ð¿ Hey developer ð. You can provide a way better UX than this " + 105 "when your app is running \`clientLoader\` functions on hydration. " + 106 "Check out https://remix.run/route/hydrate-fallback for more information." 107 ); 108 `}}))}/** 109 * @remix-run/react v2.11.1 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 */function Ne(e){let t={};return Object.values(e).forEach(r=>{let n=r.parentId||"";t[n]||(t[n]=[]),t[n].push(r)}),t}function Xt(e,t,r){let n=$e(t),a=t.HydrateFallback&&(!r||e.id==="root")?t.HydrateFallback:e.id==="root"?zt:void 0,i=t.ErrorBoundary?t.ErrorBoundary:e.id==="root"?()=>u.createElement(Pe,{error:Xe()}):void 0;return e.id==="root"&&t.Layout?{...n?{element:u.createElement(t.Layout,null,u.createElement(n,null))}:{Component:n},...i?{errorElement:u.createElement(t.Layout,null,u.createElement(i,null))}:{ErrorBoundary:i},...a?{hydrateFallbackElement:u.createElement(t.Layout,null,u.createElement(a,null))}:{HydrateFallback:a}}:{Component:n,ErrorBoundary:i,HydrateFallback:a}}function yr(e,t,r,n,a,i){return re(t,r,n,a,i,"",Ne(t),e)}function M(e,t,r){if(r){let s=`You cannot call ${e==="action"?"serverAction()":"serverLoader()"} in SPA Mode (routeId: "${t.id}")`;throw console.error(s),new U(400,"Bad Request",new Error(s),!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 U(400,"Bad Request",new Error(a),!0)}function Y(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 U(405,"Method Not Allowed",new Error(n),!0)}
117function re(e,t,r,n,a,i="",s=Ne(e),o){return(s[i]||[]).map(l=>{let d=t[l.id];async function f(S,g,L){if(typeof L=="function")return await L();let w=await Wt(S,l);return g?Gt(w):w}function c(S,g,L){return l.hasLoader?f(S,g,L):Promise.resolve(null)}function h(S,g,L){if(!l.hasAction)throw Y("action",l.id);return f(S,g,L)}async function y(S){let g=t[l.id],L=g?xe(l,g):Promise.resolve();try{return S()}finally{await L}}let m={id:l.id,index:l.index,path:l.path};if(d){var p,v,b;Object.assign(m,{...m,...Xt(l,d,a),handle:d.handle,shouldRevalidate:o?fe(l.id,d.shouldRevalidate,o):d.shouldRevalidate});let S=r==null||(p=r.loaderData)===null||p===void 0?void 0:p[l.id],g=r==null||(v=r.errors)===null||v===void 0?void 0:v[l.id],L=o==null&&(((b=d.clientLoader)===null||b===void 0?void 0:b.hydrate)===!0||!l.hasLoader);m.loader=async({request:w,params:R},x)=>{try{return await y(async()=>(D(d,"No `routeModule` available for critical-route loader"),d.clientLoader?d.clientLoader({request:w,params:R,async serverLoader(){if(M("loader",l,a),L){if(g!==void 0)throw g;return S}return c(w,!0,x)}}):a?null:c(w,!1,x)))}finally{L=!1}},m.loader.hydrate=Kt(l,d,a),m.action=({request:w,params:R},x)=>y(async()=>{if(D(d,"No `routeModule` available for critical-route action"),!d.clientAction){if(a)throw Y("clientAction",l.id);return h(w,!1,x)}return d.clientAction({request:w,params:R,async serverAction(){return M("action",l,a),h(w,!0,x)}})})}else l.hasClientLoader||(m.loader=({request:S},g)=>y(()=>a?Promise.resolve(null):c(S,!1,g))),l.hasClientAction||(m.action=({request:S},g)=>y(()=>{if(a)throw Y("clientAction",l.id);return h(S,!1,g)})),m.lazy=async()=>{let S=await Yt(l,t),g={...S};if(S.clientLoader){let L=S.clientLoader;g.loader=(w,R)=>L({...w,async serverLoader(){return M("loader",l,a),c(w.request,!0,R)}})}if(S.clientAction){let L=S.clientAction;g.action=(w,R)=>L({...w,async serverAction(){return M("action",l,a),h(w.request,!0,R)}})}return o&&(g.shouldRevalidate=fe(l.id,S.shouldRevalidate,o)),{...g.loader?{loader:g.loader}:{},...g.action?{action:g.action}:{},hasErrorBoundary:g.hasErrorBoundary,shouldRevalidate:g.shouldRevalidate,handle:g.handle,Component:g.Component,ErrorBoundary:g.ErrorBoundary}};let E=re(e,t,r,n,a,l.id,s,o);return E.length>0&&(m.children=E),m})}function fe(e,t,r){let n=!1;return a=>n?t?t(a):a.defaultShouldRevalidate:(n=!0,r.has(e))}async function Yt(e,t){let r=await be(e,t);return await xe(e,r),{Component:$e(r),ErrorBoundary:r.ErrorBoundary,clientAction:r.clientAction,clientLoader:r.clientLoader,handle:r.handle,links:r.links,meta:r.meta,shouldRevalidate:r.shouldRevalidate}}async function Wt(e,t){let r=await ke(e,t.id);if(r instanceof Error)throw r;if(Tt(r))throw Vt(r);if($t(r))throw r;return Ct(r)&&r.body?await Ft(r.body):r}function Gt(e){if(jt(e))return e.data;if(q(e)){let t=e.headers.get("Content-Type");return t&&/\bapplication\/json\b/.test(t)?e.json():e.text()}return e}function Vt(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 i=e.headers.get("X-Remix-Reload-Document");i&&(n["X-Remix-Reload-Document"]=i);let s=e.headers.get("X-Remix-Replace");return s&&(n["X-Remix-Replace"]=s),ye(r,{status:t,headers:n})}function $e(e){if(e.default==null)return;if(!(typeof e.default=="object"&&Object.keys(e.default).length===0))return e.default}function Kt(e,t,r){return r&&e.id!=="root"||t.clientLoader!=null&&(t.clientLoader.hydrate===!0||e.hasLoader!==!0)}/** 118 * @remix-run/react v2.11.1 119 * 120 * Copyright (c) Remix Software Inc. 121 * 122 * This source code is licensed under the MIT license found in the 123 * LICENSE.md file in the root directory of this source tree. 124 * 125 * @license MIT 126 */const Zt=7680;let A=null;function ne(e,t){return e.unstable_lazyRouteDiscovery===!0&&!t}function Qt(e,t){let r=new Set(t.state.matches.map(s=>s.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(s=>{let o=pe(t.routes,s,t.basename);o&&o.forEach(l=>r.add(l.route.id))});let i=[...r].reduce((s,o)=>Object.assign(s,{[o]:e.routes[o]}),{});return{...e,routes:i}}function pr(e,t,r,n,a){return ne(r,n)?(A={nextPaths:new Set,knownGoodPaths:new Set,known404Paths:new Set},{enabled:!0,patchRoutesOnMiss:async({path:i,patch:s}
126)=>{A.known404Paths.has(i)||A.knownGoodPaths.has(i)||await Ae([i],A,e,t,r,n,a,s)}}):{enabled:!1}}function wr(e,t,r,n,a){u.useEffect(()=>{var i;if(!ne(n,a)||((i=navigator.connection)===null||i===void 0?void 0:i.saveData)===!0)return;function s(c){let h=c.tagName==="FORM"?c.getAttribute("action"):c.getAttribute("href");if(!h)return;let y=new URL(h,window.location.origin),{knownGoodPaths:m,known404Paths:p,nextPaths:v}=A;m.has(y.pathname)||p.has(y.pathname)||v.add(y.pathname)}async function o(){let c=qt(A);if(c.length!==0)try{await Ae(c,A,t,r,n,a,e.basename,e.patchRoutes)}catch(h){console.error("Failed to fetch manifest patches",h)}}document.body.querySelectorAll("a[data-discover], form[data-discover]").forEach(c=>s(c)),o();let l=er(o,100);function d(c){return c.nodeType===Node.ELEMENT_NODE}let f=new MutationObserver(c=>{let h=new Set;c.forEach(y=>{[y.target,...y.addedNodes].forEach(m=>{d(m)&&((m.tagName==="A"&&m.getAttribute("data-discover")||m.tagName==="FORM"&&m.getAttribute("data-discover"))&&h.add(m),m.tagName!=="A"&&m.querySelectorAll("a[data-discover], form[data-discover]").forEach(p=>h.add(p)))})}),h.forEach(y=>s(y)),l()});return f.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["data-discover","href","action"]}),()=>f.disconnect()},[n,a,t,r,e])}function qt(e,t){let{knownGoodPaths:r,known404Paths:n,nextPaths:a}=e;return Array.from(a.keys()).filter(i=>r.has(i)||n.has(i)?(a.delete(i),!1):!0)}async function Ae(e,t,r,n,a,i,s,o){let{nextPaths:l,knownGoodPaths:d,known404Paths:f}=t,c=`${s??"/"}/__manifest`.replace(/\/+/g,"/"),h=new URL(c,window.location.origin);if(h.searchParams.set("version",r.version),e.forEach(E=>h.searchParams.append("p",E)),h.toString().length>Zt){l.clear();return}let y=await fetch(h);if(y.ok){if(y.status>=400)throw new Error(await y.text())}else throw new Error(`${y.status} ${y.statusText}`);let m=await y.json(),p=new Set(Object.keys(r.routes)),v=Object.values(m.patches).reduce((E,S)=>p.has(S.id)?E:Object.assign(E,{[S.id]:S}),{});Object.assign(r.routes,v),m.notFoundPaths.forEach(E=>f.add(E)),e.forEach(E=>d.add(E));let b=new Set;Object.values(v).forEach(E=>{(!E.parentId||!v[E.parentId])&&b.add(E.parentId)}),b.forEach(E=>o(E||null,re(v,n,null,a,i,E)))}function er(e,t){let r;return(...n)=>{window.clearTimeout(r),r=window.setTimeout(()=>e(...n),t)}}/** 127 * @remix-run/react v2.11.1 128 * 129 * Copyright (c) Remix Software Inc. 130 * 131 * This source code is licensed under the MIT license found in the 132 * LICENSE.md file in the root directory of this source tree. 133 * 134 * @license MIT 135 */function De(){let e=u.useContext(Ge);return D(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function B(){let e=u.useContext(Ve);return D(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}const Te=u.createContext(void 0);Te.displayName="Remix";function T(){let e=u.useContext(Te);return D(e,"You must render this element inside a <Remix> element"),e}function Ce(e,t){let[r,n]=u.useState(!1),[a,i]=u.useState(!1),{onFocus:s,onBlur:o,onMouseEnter:l,onMouseLeave:d,onTouchStart:f}=t,c=u.useRef(null);u.useEffect(()=>{if(e==="render"&&i(!0),e==="viewport"){let m=v=>{v.forEach(b=>{i(b.isIntersecting)})},p=new IntersectionObserver(m,{threshold:.5});return c.current&&p.observe(c.current),()=>{p.disconnect()}}},[e]);let h=()=>{e==="intent"&&n(!0)},y=()=>{e==="intent"&&(n(!1),i(!1))};return u.useEffect(()=>{if(r){let m=setTimeout(()=>{i(!0)},100);return()=>{clearTimeout(m)}}},[r]),[a,c,{onFocus:j(s,h),onBlur:j(o,y),onMouseEnter:j(l,h),onMouseLeave:j(d,y),onTouchStart:j(f,h)}]}const ae=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function ie(e,t,r){return e==="render"&&!t&&!r?"true":void 0}let tr=u.forwardRef(({to:e,prefetch:t="none",discover:r="render",...n},a)=>{let i=typeof e=="string"&&ae.test(e),s=ge(e),[o,l,d]=Ce(t,n);return u.createElement(u.Fragment,null,u.createElement(Ke,_({},n,d,{ref:je(a,l),to:e,"data-discover":ie(r,i,n.reloadDocument)})),o&&!i?u.createElement(le,{page:s}):null)});tr.displayName="NavLink";let rr=u.forwardRef(({to:e,prefetch:t="none",discover:r="render",...n},a)=>{let i=typeof e=="string"&&ae.test(e),s=ge(e),[o,l,d]=Ce(t,n);return u.createElement(u.Fragment,null,u.createElement(Ze,_({},n,d,{ref:je(a,l),to:e,"data-discover":ie(r,i,n.reloadDocument)})),o&&!i?u.createElement(le,{page:s}):null)});rr.displayName="Link";let nr=u.forwardRef(({discover:e="render",...t},r)=>
135{let n=typeof t.action=="string"&&ae.test(t.action);return u.createElement(Qe,_({},t,{ref:r,"data-discover":ie(e,n,t.reloadDocument)}))});nr.displayName="Form";function j(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function oe(e,t,r){if(r&&!J)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 gr(){let{isSpaMode:e,manifest:t,routeModules:r,criticalCss:n}=T(),{errors:a,matches:i}=B(),s=oe(i,a,e),o=u.useMemo(()=>Et(s,r,t),[s,r,t]);return u.createElement(u.Fragment,null,n?u.createElement("style",{dangerouslySetInnerHTML:{__html:n}}):null,o.map(({key:l,link:d})=>Z(d)?u.createElement(le,_({key:l},d)):u.createElement("link",_({key:l},d))))}function le({page:e,...t}){let{router:r}=De(),n=u.useMemo(()=>pe(r.routes,e,r.basename),[r.routes,e,r.basename]);return n?u.createElement(ir,_({page:e,matches:n},t)):(console.warn(`Tried to prefetch ${e} but no routes matched.`),null)}function ar(e){let{manifest:t,routeModules:r}=T(),[n,a]=u.useState([]);return u.useEffect(()=>{let i=!1;return bt(e,t,r).then(s=>{i||a(s)}),()=>{i=!0}},[e,t,r]),n}function ir({page:e,matches:t,...r}){let n=we(),{future:a,manifest:i,routeModules:s}=T(),{matches:o}=B(),l=u.useMemo(()=>se(e,t,o,i,n,"data"),[e,t,o,i,n]),d=u.useMemo(()=>se(e,t,o,i,n,"assets"),[e,t,o,i,n]),f=u.useMemo(()=>xt(e,l,i),[l,e,i]),c=u.useMemo(()=>_t(d,i),[d,i]),h=ar(d),y=null;if(!a.unstable_singleFetch)y=f.map(m=>u.createElement("link",_({key:m,rel:"prefetch",as:"fetch",href:m},r)));else if(l.length>0){let m=Oe(i,s,t.map(p=>p.route),l.map(p=>p.route),te(e));m.searchParams.get("_routes")!==""&&(y=u.createElement("link",_({key:m.pathname+m.search,rel:"prefetch",as:"fetch",href:m.pathname+m.search},r)))}return u.createElement(u.Fragment,null,y,c.map(m=>u.createElement("link",_({key:m,rel:"modulepreload",href:m},r))),h.map(({key:m,link:p})=>u.createElement("link",_({key:m},p))))}function vr(){let{isSpaMode:e,routeModules:t}=T(),{errors:r,matches:n,loaderData:a}=B(),i=we(),s=oe(n,r,e),o=null;r&&(o=r[s[s.length-1].route.id]);let l=[],d=null,f=[];for(let c=0;c<s.length;c++){let h=s[c],y=h.route.id,m=a[y],p=h.params,v=t[y],b=[],E={id:y,data:m,meta:[],params:h.params,pathname:h.pathname,handle:h.route.handle,error:o};if(f[c]=E,v!=null&&v.meta?b=typeof v.meta=="function"?v.meta({data:m,params:p,location:i,matches:f,error:o}):Array.isArray(v.meta)?[...v.meta]:v.meta:d&&(b=[...d]),b=b||[],!Array.isArray(b))throw new Error("The route at "+h.route.path+` returns an invalid value. All route meta functions must return an array of meta objects. 136 137To reference the meta function API, see https://remix.run/route/meta`);E.meta=b,f[c]=E,l=[...b],d=l}return u.createElement(u.Fragment,null,l.flat().map(c=>{if(!c)return null;if("tagName"in c){let{tagName:h,...y}=c;if(!or(h))return console.warn(`A meta object uses an invalid tagName: ${h}. Expected either 'link' or 'meta'`),null;let m=h;return u.createElement(m,_({key:JSON.stringify(y)},y))}if("title"in c)return u.createElement("title",{key:"title"},String(c.title));if("charset"in c&&(c.charSet??(c.charSet=c.charset),delete c.charset),"charSet"in c&&c.charSet!=null)return typeof c.charSet=="string"?u.createElement("meta",{key:"charSet",charSet:c.charSet}):null;if("script:ld+json"in c)try{let h=JSON.stringify(c["script:ld+json"]);return u.createElement("script",{key:`script:ld+json:${h}`,type:"application/ld+json",dangerouslySetInnerHTML:{__html:h}})}catch{return null}return u.createElement("meta",_({key:JSON.stringify(c)},c))}))}function or(e){return typeof e=="string"&&/^(meta|link)$/.test(e)}function lr(e){return u.createElement(qe,e)}let J=!1;function sr(e){let{manifest:t,serverHandoffString:r,abortDelay:n,serializeError:a,isSpaMode:i,future:s,renderMeta:o}=T(),{router:l,static:d,staticContext:f}=De(),{matches:c}=B(),h=ne(s,i);o&&(o.didRenderScripts=!0);let y=oe(c,null,i);u.useEffect(()=>{J=!0},[]);let m=(w,R)=>{let x;return a&&R instanceof Error?x=a(R):x=R,`${JSON.stringify(w)}:__remixContext.p(!1, ${H(JSON.stringify(x))})`},p=(w,R,x)=>{let k;try{k=JSON.stringify(x)}catch(C){return m(R,C)}return`${JSON.stringify(R)}:__remixContext.p(${H(k)})`},v=(w,R,x)=>{let k;return a&&x instanceof Error?k=a(x):k=x,`__remixContext.r(${JSON.stringify(w)}, ${JSON.stringify(R)}, !1, ${H(JSON.stringify(k))})`},b=(w,R,x)=>{let k;try{k=JSON.stringify(x)}catch(C){return v(w,R,C)}return`__remixContext.r(${JSON.stringify(w)}, ${JSON.stringify(R)}, ${H(k)})`},E=[],S=u.useMemo(()=>{var w;let R=s.unstable_singleFetch?"window.__remixContext.stream = new ReadableStream({start(controller){window.__remixContext.streamController = controller;}}
137).pipeThrough(new TextEncoderStream());":"",x=f?`window.__remixContext = ${r};${R}`:" ",k=s.unstable_singleFetch||f==null?void 0:f.activeDeferreds;x+=k?["__remixContext.p = function(v,e,p,x) {"," if (typeof e !== 'undefined') {",` x=new Error("Unexpected Server Error"); 138 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"); 139 x.stack=undefined;`," p.e(x);"," } else {"," p.r(v);"," }","};"].join(` 140`)+Object.entries(k).map(([P,N])=>{let Ie=new Set(N.pendingKeys),Fe=N.deferredKeys.map($=>{if(Ie.has($))return E.push(u.createElement(he,{key:`${P} | ${$}`,deferredData:N,routeId:P,dataKey:$,scriptProps:e,serializeData:b,serializeError:v})),`${JSON.stringify($)}:__remixContext.n(${JSON.stringify(P)}, ${JSON.stringify($)})`;{let z=N.data[$];return typeof z._error<"u"?m($,z._error):p(P,$,z._data)}}).join(`, 141`);return`Object.assign(__remixContext.state.loaderData[${JSON.stringify(P)}], {${Fe}});`}).join(` 142`)+(E.length>0?`__remixContext.a=${E.length};`:""):"";let C=d?`${(w=t.hmr)!==null&&w!==void 0&&w.runtime?`import ${JSON.stringify(t.hmr.runtime)};`:""}${h?"":`import ${JSON.stringify(t.url)}`}; 143${y.map((P,N)=>`import * as route${N} from ${JSON.stringify(t.routes[P.route.id].module)};`).join(` 144`)} 145${h?`window.__remixManifest = ${JSON.stringify(Qt(t,l),null,2)};`:""} 146window.__remixRouteModules = {${y.map((P,N)=>`${JSON.stringify(P.route.id)}:route${N}`).join(",")}}; 147 148import(${JSON.stringify(t.entry.module)});`:" ";return u.createElement(u.Fragment,null,u.createElement("script",_({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:ue(x),type:void 0})),u.createElement("script",_({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:ue(C),type:"module",async:!0})))},[]);if(!d&&typeof __remixContext=="object"&&__remixContext.a)for(let w=0;w<__remixContext.a;w++)E.push(u.createElement(he,{key:w,scriptProps:e,serializeData:b,serializeError:v}));let g=y.map(w=>{let R=t.routes[w.route.id];return(R.imports||[]).concat([R.module])}).flat(1),L=J?[]:t.entry.imports.concat(g);return J?null:u.createElement(u.Fragment,null,h?null:u.createElement("link",{rel:"modulepreload",href:t.url,crossOrigin:e.crossOrigin}),u.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin}),cr(L).map(w=>u.createElement("link",{key:w,rel:"modulepreload",href:w,crossOrigin:e.crossOrigin})),S,E)}function he({dataKey:e,deferredData:t,routeId:r,scriptProps:n,serializeData:a,serializeError:i}){return typeof document>"u"&&t&&e&&r&&D(t.pendingKeys.includes(e),`Deferred data for route ${r} with key ${e} was not pending but tried to render a script for it.`),u.createElement(u.Suspense,{fallback:typeof document>"u"&&t&&e&&r?null:u.createElement("script",_({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}}))},typeof document>"u"&&t&&e&&r?u.createElement(lr,{resolve:t.data[e],errorElement:u.createElement(ur,{dataKey:e,routeId:r,scriptProps:n,serializeError:i}),children:s=>u.createElement("script",_({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:a(r,e,s)}}))}):u.createElement("script",_({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}})))}function ur({dataKey:e,routeId:t,scriptProps:r,serializeError:n}){let a=Ye();return u.createElement("script",_({},r,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:n(t,e,a)}}))}function cr(e){return[...new Set(e)]}function Er(){return We()}const Sr=()=>null;function je(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}export{gr as L,vr as M,tr as N,Te as R,sr as S,re as a,pr as b,yr as c,Bt as d,mr as e,Sr as f,hr as g,Er as h,D as i,Kt as s,wr as u};
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.