
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="eea4b823-7d77-5133-9b39-28cd235af77e")}catch(e){}}();
import{r as s,g as ft,N as z,h as dt,i as $e,j as F,k as te,a as U,l as mt,m as de,s as j,D as ge,u as Ie,I as ht,R as Fe,n as re,o as pt,p as yt,q as ve,t as xe,v as Me,d as je,w as gt,A as vt,x as St,y as wt,E as Et,z as _t,B as Rt,C as Ue,F as bt,G as xt,H as Tt}from"./index-D6da9p6-.js";function Lt(e,t){for(var r=0;r<t.length;r++){const n=t[r];if(typeof n!="string"&&!Array.isArray(n)){for(const a in n)if(a!=="default"&&!(a in e)){const i=Object.getOwnPropertyDescriptor(n,a);i&&Object.defineProperty(e,a,i.get?i:{enumerable:!0,get:()=>n[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var He={exports:{}},O={};/**
 * @license React
 * react-dom.production.js
 *
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */function Je(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var r=2;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var Y=s.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function I(){}var C={d:{f:I,r:function(){throw Error(Je(522))},D:I,C:I,L:I,m:I,X:I,S:I,M:I},p:0,findDOMNode:null},Pt=Symbol.for("react.portal");function Ct(e,t,r){var n=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Pt,key:n==null?null:""+n,children:e,containerInfo:t,implementation:r}}function ne(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}O.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=C;O.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(Je(299));return Ct(e,t,null,r)};O.flushSync=function(e){var t=Y.T,r=C.p;try{if(Y.T=null,C.p=2,e)return e()}finally{Y.T=t,C.p=r,C.d.f()}};O.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,C.d.C(e,t))};O.prefetchDNS=function(e){typeof e=="string"&&C.d.D(e)};O.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var r=t.as,n=ne(r,t.crossOrigin),a=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;r==="style"?C.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:n,integrity:a,fetchPriority:i}):r==="script"&&C.d.X(e,{crossOrigin:n,integrity:a,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};O.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var r=ne(t.as,t.crossOrigin);C.d.M(e,{crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&C.d.M(e)};O.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var r=t.as,n=ne(r,t.crossOrigin);C.d.L(e,r,{crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};O.preloadModule=function(e,t){if(typeof e=="string")if(t){var r=ne(t.as,t.crossOrigin);C.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else C.d.m(e)};O.requestFormReset=function(e){C.d.r(e)};O.unstable_batchedUpdates=function(e,t){return e(t)};O.useFormState=function(e,t,r){return Y.H.useFormState(e,t,r)};O.useFormStatus=function(){return Y.H.useHostTransitionStatus()};O.version="19.0.0-rc-fb9a90fa48-20240614";function Ve(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Ve)}catch(e){console.error(e)}}Ve(),He.exports=O;var Ke=He.exports;const Ot=ft(Ke),kt=Lt({__proto__:null,default:Ot},[Ke]);/**
 * React Router DOM v6.23.1
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */function A(){return A=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},A.apply(this,arguments)}function Se(e,t){if(e==null)return{};var r={},n=Object.keys(e),a,i;for(i=0;i<n.length;i++)a=n[i],!(t.indexOf(a)>=0)&&(r[a]=e[a]);return r}const Q="get",ue="application/x-www-form-urlencoded";function ae(e){return e!=null&&typeof e.tagName=="string"}function Dt(e){return ae(e)&&e.tagName.toLowerCase()==="button"}function Nt(e){return ae(e)&&e.tagName.toLowerCase()==="form"}function At(e){return ae(e)&&e.tagName.toLowerCase()==="input"}function $t(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function It(e,t){return e.button===0&&(!t||t==="_self")&&!$t(e)}function me(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 Ft(e,t){let r=me(e);return t&&t.forEach((n,a)=>{r.has(a)||t.getAll(a).forEach(i=>{r.append(a,i)})}),r}let W=null;function Mt(){if(W===null)try{new FormData(document.createElement("form"),0),W=!1}catch{W=!0}return W}const jt=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function ce(e){return e!=null&&!jt.has(e)?null:e}function Ut(e,t){let r,n,a,i,l;if(Nt(e)){let o=e.getAttribute("action");n=o?j(o,t):null,r=e.getAttribute("method")||Q,a=ce(e.getAttribute("enctype"))||ue,i=new FormData(e)}else if(Dt(e)||At(e)&&(e.type==="submit"||e.type==="image")){let o=e.form;if(o==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let u=e.getAttribute("formaction")||o.getAttribute("action");if(n=u?j(u,t):null,r=e.getAttribute("formmethod")||o.getAttribute("method")||Q,a=ce(e.getAttribute("formenctype"))||ce(o.getAttribute("enctype"))||ue,i=new FormData(o,e),!Mt()){let{name:c,type:f,value:d}=e;if(f==="image"){let m=c?c+".":"";i.append(m+"x","0"),i.append(m+"y","0")}else c&&i.append(c,d)}}else{if(ae(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=Q,n=null,a=ue,l=e}return i&&a==="text/plain"&&(l=i,i=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:i,body:l}}const Ht=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],Jt=["aria-current","caseSensitive","className","end","style","to","unstable_viewTransition","children"],Vt=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","unstable_viewTransition"],Kt="6";try{window.__reactRouterVersion=Kt}catch{}const Ye=s.createContext({isTransitioning:!1}),ze=s.createContext(new Map),Yt="startTransition",Te=Fe[Yt],zt="flushSync",Le=kt[zt],Bt="useId",Pe=Fe[Bt];function Wt(e){Te?Te(e):e()}function V(e){Le?Le(e):e()}let Gt=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))}})}};function sn(e){let{fallbackElement:t,router:r,future:n}=e,[a,i]=s.useState(r.state),[l,o]=s.useState(),[u,c]=s.useState({isTransitioning:!1}),[f,d]=s.useState(),[m,p]=s.useState(),[h,g]=s.useState(),S=s.useRef(new Map),{v7_startTransition:R}=n||{},v=s.useCallback(y=>{R?Wt(y):y()},[R]),w=s.useCallback((y,E)=>{let{deletedFetchers:_,unstable_flushSync:x,unstable_viewTransitionOpts:P}=E;_.forEach(L=>S.current.delete(L)),y.fetchers.forEach((L,se)=>{L.data!==void 0&&S.current.set(se,L.data)});let D=r.window==null||r.window.document==null||typeof r.window.document.startViewTransition!="function";if(!P||D){x?V(()=>i(y)):v(()=>i(y));return}if(x){V(()=>{m&&(f&&f.resolve(),m.skipTransition()),c({isTransitioning:!0,flushSync:!0,currentLocation:P.currentLocation,nextLocation:P.nextLocation})});let L=r.window.document.startViewTransition(()=>{V(()=>i(y))});L.finished.finally(()=>{V(()=>{d(void 0),p(void 0),o(void 0),c({isTransitioning:!1})})}),V(()=>p(L));return}m?(f&&f.resolve(),m.skipTransition(),g({state:y,currentLocation:P.currentLocation,nextLocation:P.nextLocation})):(o(y),c({isTransitioning:!0,flushSync:!1,currentLocation:P.currentLocation,nextLocation:P.nextLocation}))},[r.window,m,f,S,v]);s.useLayoutEffect(()=>r.subscribe(w),[r,w]),s.useEffect(()=>{u.isTransitioning&&!u.flushSync&&d(new Gt)},[u]),s.useEffect(()=>{if(f&&l&&r.window){let y=l,E=f.promise,_=r.window.document.startViewTransition(async()=>{v(()=>i(y)),await E});_.finished.finally(()=>{d(void 0),p(void 0),o(void 0),c({isTransitioning:!1})}),p(_)}},[v,l,f,r.window]),s.useEffect(()=>{f&&l&&a.location.key===l.location.key&&f.resolve()},[f,m,a.location,l]),s.useEffect(()=>{!u.isTransitioning&&h&&(o(h.state),c({isTransitioning:!0,flushSync:!1,currentLocation:h.currentLocation,nextLocation:h.nextLocation}),g(void 0))},[u.isTransitioning,h]),s.useEffect(()=>{},[]);let b=s.useMemo(()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,go:y=>r.navigate(y),push:(y,E,_)=>r.navigate(y,{state:E,preventScrollReset:_?.preventScrollReset}),replace:(y,E,_)=>r.navigate(y,{replace:!0,state:E,preventScrollReset:_?.preventScrollReset})}),[r]),N=r.basename||"/",M=s.useMemo(()=>({router:r,navigator:b,static:!1,basename:N}),[r,b,N]);return s.createElement(s.Fragment,null,s.createElement(ge.Provider,{value:M},s.createElement(re.Provider,{value:a},s.createElement(ze.Provider,{value:S.current},s.createElement(Ye.Provider,{value:u},s.createElement(pt,{basename:N,location:a.location,navigationType:a.historyAction,navigator:b,future:{v7_relativeSplatPath:r.future.v7_relativeSplatPath}},a.initialized||r.future.v7_partialHydration?s.createElement(Xt,{routes:r.routes,future:r.future,state:a}):t))))),null)}function Xt(e){let{routes:t,future:r,state:n}=e;return yt(t,void 0,n,r)}const Zt=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Qt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Be=s.forwardRef(function(t,r){let{onClick:n,relative:a,reloadDocument:i,replace:l,state:o,target:u,to:c,preventScrollReset:f,unstable_viewTransition:d}=t,m=Se(t,Ht),{basename:p}=s.useContext(z),h,g=!1;if(typeof c=="string"&&Qt.test(c)&&(h=c,Zt))try{let w=new URL(window.location.href),b=c.startsWith("//")?new URL(w.protocol+c):new URL(c),N=j(b.pathname,p);b.origin===w.origin&&N!=null?c=N+b.search+b.hash:g=!0}catch{}let S=ve(c,{relative:a}),R=tr(c,{replace:l,state:o,target:u,preventScrollReset:f,relative:a,unstable_viewTransition:d});function v(w){n&&n(w),w.defaultPrevented||R(w)}return s.createElement("a",A({},m,{href:h||S,onClick:g||i?n:v,ref:r,target:u}))}),qt=s.forwardRef(function(t,r){let{"aria-current":n="page",caseSensitive:a=!1,className:i="",end:l=!1,style:o,to:u,unstable_viewTransition:c,children:f}=t,d=Se(t,Jt),m=te(u,{relative:d.relative}),p=U(),h=s.useContext(re),{navigator:g,basename:S}=s.useContext(z),R=h!=null&&sr(m)&&c===!0,v=g.encodeLocation?g.encodeLocation(m).pathname:m.pathname,w=p.pathname,b=h&&h.navigation&&h.navigation.location?h.navigation.location.pathname:null;a||(w=w.toLowerCase(),b=b?b.toLowerCase():null,v=v.toLowerCase()),b&&S&&(b=j(b,S)||b);const N=v!=="/"&&v.endsWith("/")?v.length-1:v.length;let M=w===v||!l&&w.startsWith(v)&&w.charAt(N)==="/",y=b!=null&&(b===v||!l&&b.startsWith(v)&&b.charAt(v.length)==="/"),E={isActive:M,isPending:y,isTransitioning:R},_=M?n:void 0,x;typeof i=="function"?x=i(E):x=[i,M?"active":null,y?"pending":null,R?"transitioning":null].filter(Boolean).join(" ");let P=typeof o=="function"?o(E):o;return s.createElement(Be,A({},d,{"aria-current":_,className:x,ref:r,style:P,to:u,unstable_viewTransition:c}),typeof f=="function"?f(E):f)}),er=s.forwardRef((e,t)=>{let{fetcherKey:r,navigate:n,reloadDocument:a,replace:i,state:l,method:o=Q,action:u,onSubmit:c,relative:f,preventScrollReset:d,unstable_viewTransition:m}=e,p=Se(e,Vt),h=Xe(),g=ar(u,{relative:f}),S=o.toLowerCase()==="get"?"get":"post",R=v=>{if(c&&c(v),v.defaultPrevented)return;v.preventDefault();let w=v.nativeEvent.submitter,b=w?.getAttribute("formmethod")||o;h(w||v.currentTarget,{fetcherKey:r,method:b,navigate:n,replace:i,state:l,relative:f,preventScrollReset:d,unstable_viewTransition:m})};return s.createElement("form",A({ref:t,method:S,action:g,onSubmit:a?c:R},p))});var H;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(H||(H={}));var ee;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(ee||(ee={}));function ie(e){let t=s.useContext(ge);return t||F(!1),t}function We(e){let t=s.useContext(re);return t||F(!1),t}function tr(e,t){let{target:r,replace:n,state:a,preventScrollReset:i,relative:l,unstable_viewTransition:o}=t===void 0?{}:t,u=Ie(),c=U(),f=te(e,{relative:l});return s.useCallback(d=>{if(It(d,r)){d.preventDefault();let m=n!==void 0?n:de(c)===de(f);u(e,{replace:m,state:a,preventScrollReset:i,relative:l,unstable_viewTransition:o})}},[c,u,f,n,a,r,e,i,l,o])}function ln(e){let t=s.useRef(me(e)),r=s.useRef(!1),n=U(),a=s.useMemo(()=>Ft(n.search,r.current?null:t.current),[n.search]),i=Ie(),l=s.useCallback((o,u)=>{const c=me(typeof o=="function"?o(a):o);r.current=!0,i("?"+c,u)},[i,a]);return[a,l]}function rr(){if(typeof document>"u")throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.")}let nr=0,Ge=()=>"__"+String(++nr)+"__";function Xe(){let{router:e}=ie(H.UseSubmit),{basename:t}=s.useContext(z),r=dt();return s.useCallback(function(n,a){a===void 0&&(a={}),rr();let{action:i,method:l,encType:o,formData:u,body:c}=Ut(n,t);if(a.navigate===!1){let f=a.fetcherKey||Ge();e.fetch(f,r,a.action||i,{preventScrollReset:a.preventScrollReset,formData:u,body:c,formMethod:a.method||l,formEncType:a.encType||o,unstable_flushSync:a.unstable_flushSync})}else e.navigate(a.action||i,{preventScrollReset:a.preventScrollReset,formData:u,body:c,formMethod:a.method||l,formEncType:a.encType||o,replace:a.replace,state:a.state,fromRouteId:r,unstable_flushSync:a.unstable_flushSync,unstable_viewTransition:a.unstable_viewTransition})},[e,t,r])}function ar(e,t){let{relative:r}=t===void 0?{}:t,{basename:n}=s.useContext(z),a=s.useContext($e);a||F(!1);let[i]=a.matches.slice(-1),l=A({},te(e||".",{relative:r})),o=U();if(e==null){l.search=o.search;let u=new URLSearchParams(l.search);u.has("index")&&u.get("index")===""&&(u.delete("index"),l.search=u.toString()?"?"+u.toString():"")}return(!e||e===".")&&i.route.index&&(l.search=l.search?l.search.replace(/^\?/,"?index&"):"?index"),n!=="/"&&(l.pathname=l.pathname==="/"?n:mt([n,l.pathname])),de(l)}function ir(e){var t;let{key:r}=e===void 0?{}:e,{router:n}=ie(H.UseFetcher),a=We(ee.UseFetcher),i=s.useContext(ze),l=s.useContext($e),o=(t=l.matches[l.matches.length-1])==null?void 0:t.route.id;i||F(!1),l||F(!1),o==null&&F(!1);let u=Pe?Pe():"",[c,f]=s.useState(r||u);r&&r!==c?f(r):c||f(Ge()),s.useEffect(()=>(n.getFetcher(c),()=>{n.deleteFetcher(c)}),[n,c]);let d=s.useCallback((v,w)=>{o||F(!1),n.fetch(c,o,v,w)},[c,o,n]),m=Xe(),p=s.useCallback((v,w)=>{m(v,A({},w,{navigate:!1,fetcherKey:c}))},[c,m]),h=s.useMemo(()=>s.forwardRef((w,b)=>s.createElement(er,A({},w,{navigate:!1,fetcherKey:c,ref:b}))),[c]),g=a.fetchers.get(c)||ht,S=i.get(c);return s.useMemo(()=>A({Form:h,submit:p,load:d},g,{data:S}),[h,p,d,g,S])}const Ce="react-router-scroll-positions";let G={};function un(e){let{getKey:t,storageKey:r}=e===void 0?{}:e,{router:n}=ie(H.UseScrollRestoration),{restoreScrollPosition:a,preventScrollReset:i}=We(ee.UseScrollRestoration),{basename:l}=s.useContext(z),o=U(),u=Me(),c=je();s.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),or(s.useCallback(()=>{if(c.state==="idle"){let f=(t?t(o,u):null)||o.key;G[f]=window.scrollY}try{sessionStorage.setItem(r||Ce,JSON.stringify(G))}catch{}window.history.scrollRestoration="auto"},[r,t,c.state,o,u])),typeof document<"u"&&(s.useLayoutEffect(()=>{try{let f=sessionStorage.getItem(r||Ce);f&&(G=JSON.parse(f))}catch{}},[r]),s.useLayoutEffect(()=>{let f=t&&l!=="/"?(m,p)=>t(A({},m,{pathname:j(m.pathname,l)||m.pathname}),p):t,d=n?.enableScrollRestoration(G,()=>window.scrollY,f);return()=>d&&d()},[n,l,t]),s.useLayoutEffect(()=>{if(a!==!1){if(typeof a=="number"){window.scrollTo(0,a);return}if(o.hash){let f=document.getElementById(decodeURIComponent(o.hash.slice(1)));if(f){f.scrollIntoView();return}}i!==!0&&window.scrollTo(0,0)}},[o,a,i]))}function or(e,t){let{capture:r}={};s.useEffect(()=>{let n=r!=null?{capture:r}:void 0;return window.addEventListener("pagehide",e,n),()=>{window.removeEventListener("pagehide",e,n)}},[e,r])}function sr(e,t){t===void 0&&(t={});let r=s.useContext(Ye);r==null&&F(!1);let{basename:n}=ie(H.useViewTransitionState),a=te(e,{relative:t.relative});if(!r.isTransitioning)return!1;let i=j(r.currentLocation.pathname,n)||r.currentLocation.pathname,l=j(r.nextLocation.pathname,n)||r.nextLocation.pathname;return xe(a.pathname,l)!=null||xe(a.pathname,i)!=null}var lr=-1,ur=-2,cr=-3,fr=-4,dr=-5,mr=-6,hr=-7,pr="B",yr="D",Ze="E",gr="M",vr="N",Qe="P",Sr="R",wr="S",Er="Y",_r="U",Rr="Z",qe=class{promise;resolve;reject;constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};function br(){const e=new TextDecoder;let t="";return new TransformStream({transform(r,n){const a=e.decode(r,{stream:!0}),i=(t+a).split(`
`);t=i.pop()||"";for(const l of i)n.enqueue(l)},flush(r){t&&r.enqueue(t)}})}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var fe=typeof window<"u"?window:typeof globalThis<"u"?globalThis:void 0;function he(e){const{hydrated:t,values:r}=this;if(typeof e=="number")return k.call(this,e);if(!Array.isArray(e)||!e.length)throw new SyntaxError;const n=r.length;return r.push(...e),t.length=r.length,k.call(this,n)}function k(e){const{hydrated:t,values:r,deferred:n,plugins:a}=this;switch(e){case hr:return;case dr:return null;case ur:return NaN;case mr:return 1/0;case cr:return-1/0;case fr: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[l,o,u]=i;switch(l){case yr:return t[e]=new Date(o);case _r:return t[e]=new URL(o);case pr:return t[e]=BigInt(o);case Sr:return t[e]=new RegExp(o,u);case Er:return t[e]=Symbol.for(o);case wr:const c=new Set;t[e]=c;for(let g=1;g<i.length;g++)c.add(k.call(this,i[g]));return c;case gr:const f=new Map;t[e]=f;for(let g=1;g<i.length;g+=2)f.set(k.call(this,i[g]),k.call(this,i[g+1]));return f;case vr:const d=Object.create(null);t[e]=d;for(const g in o)d[k.call(this,Number(g))]=k.call(this,o[g]);return d;case Qe:if(t[o])return t[e]=t[o];{const g=new qe;return n[o]=g,t[e]=g.promise}case Ze:const[,m,p]=i;let h=p&&fe&&fe[p]?new fe[p](m):new Error(m);return t[e]=h,h;case Rr:return k.call(this,o);default:if(Array.isArray(a)){const g=i.slice(1).map(S=>k.call(this,S));for(const S of a){const R=S(i[0],...g);if(R)return t[e]=R.value}}throw new SyntaxError}}else{const l=[];t[e]=l;for(let o=0;o<i.length;o++){const u=i[o];u!==lr&&(l[o]=k.call(this,u))}return l}else{const l={};t[e]=l;for(const o in i)l[k.call(this,Number(o))]=k.call(this,i[o]);return l}}async function xr(e,t){const{plugins:r}=t??{},n=new qe,a=e.pipeThrough(br()).getReader(),i={values:[],hydrated:[],deferred:{},plugins:r},l=await Tr.call(i,a);let o=n.promise;return l.done?n.resolve():o=Lr.call(i,a).then(n.resolve).catch(u=>{for(const c of Object.values(i.deferred))c.reject(u);n.reject(u)}),{done:o.then(()=>a.closed),value:l.value}}async function Tr(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:he.call(this,r)}}async function Lr(e){let t=await e.read();for(;!t.done;){if(!t.value)continue;const r=t.value;switch(r[0]){case Qe:{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 l=r.slice(n+1);let o;try{o=JSON.parse(l)}catch{throw new SyntaxError}const u=he.call(this,o);i.resolve(u);break}case Ze:{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 l=r.slice(n+1);let o;try{o=JSON.parse(l)}catch{throw new SyntaxError}const u=he.call(this,o);i.reject(u);break}default:throw new SyntaxError}t=await e.read()}}/**
 * @remix-run/server-runtime v2.9.2
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */const et=Symbol("SingleFetchRedirect");/**
 * @remix-run/react v2.9.2
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */function T(){return T=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},T.apply(this,arguments)}/**
 * @remix-run/react v2.9.2
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */function J(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}/**
 * @remix-run/react v2.9.2
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */async function Pr(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{return window.__remixContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}/**
 * @remix-run/react v2.9.2
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */function Cr(e,t,r){let n=e.map(i=>{var l;let o=t[i.route.id],u=r.routes[i.route.id];return[u.css?u.css.map(c=>({rel:"stylesheet",href:c})):[],(o==null||(l=o.links)===null||l===void 0?void 0:l.call(o))||[]]}).flat(2),a=$r(e,r);return tt(n,a)}async function cn(e,t){var r,n;if(!e.css&&!t.links||!Fr())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)!we(o)&&o.rel==="stylesheet"&&i.push({...o,rel:"preload",as:"style"});let l=i.filter(o=>(!o.media||window.matchMedia(o.media).matches)&&!document.querySelector(`link[rel="stylesheet"][href="${o.href}"]`));await Promise.all(l.map(Or))}async function Or(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 we(e){return e!=null&&typeof e.page=="string"}function kr(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 Dr(e,t,r){let n=await Promise.all(e.map(async a=>{let i=await Pr(t.routes[a.route.id],r);return i.links?i.links():[]}));return tt(n.flat(1).filter(kr).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function Oe(e,t,r,n,a,i){let l=rt(e),o=(f,d)=>r[d]?f.route.id!==r[d].route.id:!0,u=(f,d)=>{var m;return r[d].pathname!==f.pathname||((m=r[d].route.path)===null||m===void 0?void 0:m.endsWith("*"))&&r[d].params["*"]!==f.params["*"]};return i==="data"&&a.search!==l.search?t.filter((f,d)=>{if(!n.routes[f.route.id].hasLoader)return!1;if(o(f,d)||u(f,d))return!0;if(f.route.shouldRevalidate){var p;let h=f.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:((p=r[0])===null||p===void 0?void 0:p.params)||{},nextUrl:new URL(e,window.origin),nextParams:f.params,defaultShouldRevalidate:!0});if(typeof h=="boolean")return h}return!0}):t.filter((f,d)=>{let m=n.routes[f.route.id];return(i==="assets"||m.hasLoader)&&(o(f,d)||u(f,d))})}function Nr(e,t,r){let n=rt(e);return Ee(t.filter(a=>r.routes[a.route.id].hasLoader).map(a=>{let{pathname:i,search:l}=n,o=new URLSearchParams(l);return o.set("_data",a.route.id),`${i}?${o}`}))}function Ar(e,t){return Ee(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 $r(e,t){return Ee(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 Ee(e){return[...new Set(e)]}function Ir(e){let t={},r=Object.keys(e).sort();for(let n of r)t[n]=e[n];return t}function tt(e,t){let r=new Set,n=new Set(t);return e.reduce((a,i)=>{if(t&&!we(i)&&i.as==="script"&&i.href&&n.has(i.href))return a;let o=JSON.stringify(Ir(i));return r.has(o)||(r.add(o),a.push({key:o,link:i})),a},[])}function rt(e){let t=gt(e);return t.search===void 0&&(t.search=""),t}let X;function Fr(){if(X!==void 0)return X;let e=document.createElement("link");return X=e.relList.supports("preload"),e=null,X}/**
 * @remix-run/react v2.9.2
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */const Mr={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},jr=/[&><\u2028\u2029]/g;function Z(e){return e.replace(jr,t=>Mr[t])}function ke(e){return{__html:e}}/**
 * @remix-run/react v2.9.2
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */function fn(e){return e.headers.get("X-Remix-Catch")!=null}function Ur(e){return e.headers.get("X-Remix-Error")!=null}function Hr(e){return Jr(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 dn(e){return e.headers.get("X-Remix-Redirect")!=null}function mn(e){var t;return!!((t=e.headers.get("Content-Type"))!==null&&t!==void 0&&t.match(/text\/remix-deferred/))}function Jr(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function hn(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 Vr(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 nt(e),i=window.__remixRevalidation,l=await fetch(n.href,a).catch(o=>{if(typeof i=="number"&&i===window.__remixRevalidation&&o?.name==="TypeError"&&r<3)return Vr(e,t,r+1);throw o});if(Ur(l)){let o=await l.json(),u=new Error(o.message);return u.stack=o.stack,u}if(Hr(l)){let o=await l.text(),u=new Error(o);return u.stack=void 0,u}return l}async function nt(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 Kr="__deferred_promise:";async function pn(e){if(!e)throw new Error("parseDeferredReadableStream requires stream argument");let t,r={};try{let n=Yr(e),i=(await n.next()).value;if(!i)throw new Error("no critical data");let l=JSON.parse(i);if(typeof l=="object"&&l!==null)for(let[o,u]of Object.entries(l))typeof u!="string"||!u.startsWith(Kr)||(t=t||{},t[o]=new Promise((c,f)=>{r[o]={resolve:d=>{c(d),delete r[o]},reject:d=>{f(d),delete r[o]}}}));return(async()=>{try{for await(let o of n){let[u,...c]=o.split(":"),f=c.join(":"),d=JSON.parse(f);if(u==="data")for(let[m,p]of Object.entries(d))r[m]&&r[m].resolve(p);else if(u==="error")for(let[m,p]of Object.entries(d)){let h=new Error(p.message);h.stack=p.stack,r[m]&&r[m].reject(h)}}for(let[o,u]of Object.entries(r))u.reject(new vt(`Deferred ${o} will never be resolved`))}catch(o){for(let u of Object.values(r))u.reject(o)}})(),new St({...l,...t})}catch(n){for(let a of Object.values(r))a.reject(n);throw n}}async function*Yr(e){let t=e.getReader(),r=[],n=[],a=!1,i=new TextEncoder,l=new TextDecoder,o=async()=>{if(n.length>0)return n.shift();for(;!a&&n.length===0;){let c=await t.read();if(c.done){a=!0;break}r.push(c.value);try{let d=l.decode(De(...r)).split(`

`);if(d.length>=2&&(n.push(...d.slice(0,-1)),r=[i.encode(d.slice(-1).join(`

`))]),n.length>0)break}catch{continue}}return n.length>0||r.length>0&&(n=l.decode(De(...r)).split(`

`).filter(f=>f),r=[]),n.shift()},u=await o();for(;u;)yield u,u=await o()}function De(...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}/**
 * @remix-run/react v2.9.2
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */function yn(e,t){return async({request:r,matches:n})=>r.method!=="GET"?zr(r,n):Br(e,t,r,n)}function zr(e,t){return Promise.all(t.map(async r=>{let n;return{...await r.resolve(async i=>({type:"data",result:await i(async()=>{let o=_e(e.url),u=await nt(e),{data:c,status:f}=await pe(o,u);return n=f,ye(c,r.route.id)}),status:n})),status:n}}))}function Br(e,t,r,n){let a;return Promise.all(n.map(async i=>i.resolve(async l=>{let o,u=Wr(_e(r.url));return e.routes[i.route.id].hasClientLoader?o=await l(async()=>{u.searchParams.set("_routes",i.route.id);let{data:c}=await pe(u);return Ne(c,i.route.id)}):o=await l(async()=>{a||(u=at(e,t,n.map(f=>f.route),n.filter(f=>f.shouldLoad).map(f=>f.route),u),a=pe(u).then(({data:f})=>f));let c=await a;return Ne(c,i.route.id)}),{type:"data",result:o}})))}function Wr(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 at(e,t,r,n,a){let i=c=>c.filter(f=>e.routes[f].hasLoader).join(",");if(!r.some(c=>{var f,d;return((f=t[c.id])===null||f===void 0?void 0:f.shouldRevalidate)||((d=e.routes[c.id])===null||d===void 0?void 0:d.hasClientLoader)}))return a;let o=i(r.map(c=>c.id)),u=i(n.filter(c=>{var f;return!((f=e.routes[c.id])!==null&&f!==void 0&&f.hasClientLoader)}).map(c=>c.id));return o!==u&&a.searchParams.set("_routes",u),a}function _e(e){let t=typeof e=="string"?new URL(e,window.location.origin):e;return t.pathname=`${t.pathname==="/"?"_root":t.pathname}.data`,t}async function pe(e,t){let r=await fetch(e,t);J(r.body,"No response body to decode");try{let n=await Gr(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 Gr(e,t){return xr(e,{plugins:[(r,...n)=>{if(r==="SanitizedError"){let[a,i,l]=n,o=Error;a&&a in t&&typeof t[a]=="function"&&(o=t[a]);let u=new o(i);return u.stack=l,{value:u}}if(r==="ErrorResponse"){let[a,i,l]=n;return{value:new Et(i,l,a)}}if(r==="SingleFetchRedirect")return{value:{[et]:n[0]}}}]})}function Ne(e,t){let r=e[et];return r?ye(r,t):e[t]!==void 0?ye(e[t],t):null}function ye(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"),wt(e.redirect,{status:e.status,headers:r})}else{if("data"in e)return e.data;throw new Error(`No response found for routeId "${t}"`)}}/**
 * @remix-run/react v2.9.2
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */function it(){let e=s.useContext(ge);return J(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function oe(){let e=s.useContext(re);return J(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}const ot=s.createContext(void 0);ot.displayName="Remix";function B(){let e=s.useContext(ot);return J(e,"You must render this element inside a <Remix> element"),e}function st(e,t){let[r,n]=s.useState(!1),[a,i]=s.useState(!1),{onFocus:l,onBlur:o,onMouseEnter:u,onMouseLeave:c,onTouchStart:f}=t,d=s.useRef(null);s.useEffect(()=>{if(e==="render"&&i(!0),e==="viewport"){let h=S=>{S.forEach(R=>{i(R.isIntersecting)})},g=new IntersectionObserver(h,{threshold:.5});return d.current&&g.observe(d.current),()=>{g.disconnect()}}},[e]);let m=()=>{e==="intent"&&n(!0)},p=()=>{e==="intent"&&(n(!1),i(!1))};return s.useEffect(()=>{if(r){let h=setTimeout(()=>{i(!0)},100);return()=>{clearTimeout(h)}}},[r]),[a,d,{onFocus:K(l,m),onBlur:K(o,p),onMouseEnter:K(u,m),onMouseLeave:K(c,p),onTouchStart:K(f,m)}]}const lt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;let Xr=s.forwardRef(({to:e,prefetch:t="none",...r},n)=>{let a=typeof e=="string"&&lt.test(e),i=ve(e),[l,o,u]=st(t,r);return s.createElement(s.Fragment,null,s.createElement(qt,T({},r,u,{ref:ut(n,o),to:e})),l&&!a?s.createElement(be,{page:i}):null)});Xr.displayName="NavLink";let Zr=s.forwardRef(({to:e,prefetch:t="none",...r},n)=>{let a=typeof e=="string"&&lt.test(e),i=ve(e),[l,o,u]=st(t,r);return s.createElement(s.Fragment,null,s.createElement(Be,T({},r,u,{ref:ut(n,o),to:e})),l&&!a?s.createElement(be,{page:i}):null)});Zr.displayName="Link";function K(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function Re(e,t,r){if(r&&!q)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 gn(){let{isSpaMode:e,manifest:t,routeModules:r,criticalCss:n}=B(),{errors:a,matches:i}=oe(),l=Re(i,a,e),o=s.useMemo(()=>Cr(l,r,t),[l,r,t]);return s.createElement(s.Fragment,null,n?s.createElement("style",{dangerouslySetInnerHTML:{__html:n}}):null,o.map(({key:u,link:c})=>we(c)?s.createElement(be,T({key:u},c)):s.createElement("link",T({key:u},c))))}function be({page:e,...t}){let{router:r}=it(),n=s.useMemo(()=>Ue(r.routes,e,r.basename),[r.routes,e,r.basename]);return n?s.createElement(qr,T({page:e,matches:n},t)):(console.warn(`Tried to prefetch ${e} but no routes matched.`),null)}function Qr(e){let{manifest:t,routeModules:r}=B(),[n,a]=s.useState([]);return s.useEffect(()=>{let i=!1;return Dr(e,t,r).then(l=>{i||a(l)}),()=>{i=!0}},[e,t,r]),n}function qr({page:e,matches:t,...r}){let n=U(),{future:a,manifest:i,routeModules:l}=B(),{matches:o}=oe(),u=s.useMemo(()=>Oe(e,t,o,i,n,"data"),[e,t,o,i,n]),c=s.useMemo(()=>Oe(e,t,o,i,n,"assets"),[e,t,o,i,n]),f=s.useMemo(()=>Nr(e,u,i),[u,e,i]),d=s.useMemo(()=>Ar(c,i),[c,i]),m=Qr(c),p=null;if(!a.unstable_singleFetch)p=f.map(h=>s.createElement("link",T({key:h,rel:"prefetch",as:"fetch",href:h},r)));else if(u.length>0){let h=at(i,l,t.map(g=>g.route),u.map(g=>g.route),_e(e));h.searchParams.get("_routes")!==""&&(p=s.createElement("link",T({key:h.pathname+h.search,rel:"prefetch",as:"fetch",href:h.pathname+h.search},r)))}return s.createElement(s.Fragment,null,p,d.map(h=>s.createElement("link",T({key:h,rel:"modulepreload",href:h},r))),m.map(({key:h,link:g})=>s.createElement("link",T({key:h},g))))}function vn(){let{isSpaMode:e,routeModules:t}=B(),{errors:r,matches:n,loaderData:a}=oe(),i=U(),l=Re(n,r,e),o=null;r&&(o=r[l[l.length-1].route.id]);let u=[],c=null,f=[];for(let d=0;d<l.length;d++){let m=l[d],p=m.route.id,h=a[p],g=m.params,S=t[p],R=[],v={id:p,data:h,meta:[],params:m.params,pathname:m.pathname,handle:m.route.handle,error:o};if(f[d]=v,S!=null&&S.meta?R=typeof S.meta=="function"?S.meta({data:h,params:g,location:i,matches:f,error:o}):Array.isArray(S.meta)?[...S.meta]:S.meta:c&&(R=[...c]),R=R||[],!Array.isArray(R))throw new Error("The route at "+m.route.path+` returns an invalid value. All route meta functions must return an array of meta objects.

To reference the meta function API, see https://remix.run/route/meta`);v.meta=R,f[d]=v,u=[...R],c=u}return s.createElement(s.Fragment,null,u.flat().map(d=>{if(!d)return null;if("tagName"in d){let{tagName:m,...p}=d;if(!en(m))return console.warn(`A meta object uses an invalid tagName: ${m}. Expected either 'link' or 'meta'`),null;let h=m;return s.createElement(h,T({key:JSON.stringify(p)},p))}if("title"in d)return s.createElement("title",{key:"title"},String(d.title));if("charset"in d&&(d.charSet??=d.charset,delete d.charset),"charSet"in d&&d.charSet!=null)return typeof d.charSet=="string"?s.createElement("meta",{key:"charSet",charSet:d.charSet}):null;if("script:ld+json"in d)try{let m=JSON.stringify(d["script:ld+json"]);return s.createElement("script",{key:`script:ld+json:${m}`,type:"application/ld+json",dangerouslySetInnerHTML:{__html:m}})}catch{return null}return s.createElement("meta",T({key:JSON.stringify(d)},d))}))}function en(e){return typeof e=="string"&&/^(meta|link)$/.test(e)}function tn(e){return s.createElement(Tt,e)}let q=!1;function Sn(e){let{manifest:t,serverHandoffString:r,abortDelay:n,serializeError:a,isSpaMode:i,future:l,renderMeta:o}=B(),{router:u,static:c,staticContext:f}=it(),{matches:d}=oe(),m=je();o&&(o.didRenderScripts=!0);let p=Re(d,null,i);s.useEffect(()=>{q=!0},[]);let h=(y,E)=>{let _;return a&&E instanceof Error?_=a(E):_=E,`${JSON.stringify(y)}:__remixContext.p(!1, ${Z(JSON.stringify(_))})`},g=(y,E,_)=>{let x;try{x=JSON.stringify(_)}catch(P){return h(E,P)}return`${JSON.stringify(E)}:__remixContext.p(${Z(x)})`},S=(y,E,_)=>{let x;return a&&_ instanceof Error?x=a(_):x=_,`__remixContext.r(${JSON.stringify(y)}, ${JSON.stringify(E)}, !1, ${Z(JSON.stringify(x))})`},R=(y,E,_)=>{let x;try{x=JSON.stringify(_)}catch(P){return S(y,E,P)}return`__remixContext.r(${JSON.stringify(y)}, ${JSON.stringify(E)}, ${Z(x)})`},v=[],w=s.useMemo(()=>{var y;let E=l.unstable_singleFetch?"window.__remixContext.stream = new ReadableStream({start(controller){window.__remixContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());":"",_=f?`window.__remixContext = ${r};${E}`:" ",x=l.unstable_singleFetch?void 0:f?.activeDeferreds;_+=x?["__remixContext.p = function(v,e,p,x) {","  if (typeof e !== 'undefined') {",`    x=new Error("Unexpected Server Error");
    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");
    x.stack=undefined;`,"    p.e(x);","  } else {","    p.r(v);","  }","};"].join(`
`)+Object.entries(x).map(([D,L])=>{let se=new Set(L.pendingKeys),ct=L.deferredKeys.map($=>{if(se.has($))return v.push(s.createElement(Ae,{key:`${D} | ${$}`,deferredData:L,routeId:D,dataKey:$,scriptProps:e,serializeData:R,serializeError:S})),`${JSON.stringify($)}:__remixContext.n(${JSON.stringify(D)}, ${JSON.stringify($)})`;{let le=L.data[$];return typeof le._error<"u"?h($,le._error):g(D,$,le._data)}}).join(`,
`);return`Object.assign(__remixContext.state.loaderData[${JSON.stringify(D)}], {${ct}});`}).join(`
`)+(v.length>0?`__remixContext.a=${v.length};`:""):"";let P=c?`${(y=t.hmr)!==null&&y!==void 0&&y.runtime?`import ${JSON.stringify(t.hmr.runtime)};`:""}import ${JSON.stringify(t.url)};
${p.map((D,L)=>`import * as route${L} from ${JSON.stringify(t.routes[D.route.id].module)};`).join(`
`)}
window.__remixRouteModules = {${p.map((D,L)=>`${JSON.stringify(D.route.id)}:route${L}`).join(",")}};

import(${JSON.stringify(t.entry.module)});`:" ";return s.createElement(s.Fragment,null,s.createElement("script",T({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:ke(_),type:void 0})),s.createElement("script",T({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:ke(P),type:"module",async:!0})))},[]);if(!c&&typeof __remixContext=="object"&&__remixContext.a)for(let y=0;y<__remixContext.a;y++)v.push(s.createElement(Ae,{key:y,scriptProps:e,serializeData:R,serializeError:S}));let b=s.useMemo(()=>{if(m.location){let y=Ue(u.routes,m.location,u.basename);return J(y,`No routes match path "${m.location.pathname}"`),y}return[]},[m.location,u.routes,u.basename]),N=p.concat(b).map(y=>{let E=t.routes[y.route.id];return(E.imports||[]).concat([E.module])}).flat(1),M=q?[]:t.entry.imports.concat(N);return q?null:s.createElement(s.Fragment,null,s.createElement("link",{rel:"modulepreload",href:t.url,crossOrigin:e.crossOrigin}),s.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin}),nn(M).map(y=>s.createElement("link",{key:y,rel:"modulepreload",href:y,crossOrigin:e.crossOrigin})),w,v)}function Ae({dataKey:e,deferredData:t,routeId:r,scriptProps:n,serializeData:a,serializeError:i}){return typeof document>"u"&&t&&e&&r&&J(t.pendingKeys.includes(e),`Deferred data for route ${r} with key ${e} was not pending but tried to render a script for it.`),s.createElement(s.Suspense,{fallback:typeof document>"u"&&t&&e&&r?null:s.createElement("script",T({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}}))},typeof document>"u"&&t&&e&&r?s.createElement(tn,{resolve:t.data[e],errorElement:s.createElement(rn,{dataKey:e,routeId:r,scriptProps:n,serializeError:i}),children:l=>s.createElement("script",T({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:a(r,e,l)}}))}):s.createElement("script",T({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}})))}function rn({dataKey:e,routeId:t,scriptProps:r,serializeError:n}){let a=xt();return s.createElement("script",T({},r,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:n(t,e,a)}}))}function nn(e){return[...new Set(e)]}function wn(){return Me()}function En(){return _t()}function _n(e){return Rt(e)}function Rn(){return bt()}function bn(e={}){return ir(e)}function ut(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}export{er as F,Zr as L,vn as M,Xr as N,ot as R,Sn as S,T as _,En as a,wn as b,bn as c,_n as d,Rn as e,Xe as f,B as g,Vr as h,J as i,dn as j,fn as k,Pr as l,mn as m,pn as n,hn as o,cn as p,Jr as q,Ke as r,Gr as s,yn as t,ln as u,sn as v,un as w,gn as x};
//# sourceMappingURL=components-Oj2xMfGE.js.map

//# debugId=eea4b823-7d77-5133-9b39-28cd235af77e
