vendor: 13,427 bytes, lines 1-26
1function So(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 o=Object.getOwnPropertyDescriptor(n,a);o&&Object.defineProperty(e,a,o.get?o:{enumerable:!0,get:()=>n[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var Is=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Co(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var fr={exports:{}},W={};/** 2 * @license React 3 * react.production.js 4 * 5 * Copyright (c) Meta Platforms, Inc. and affiliates. 6 * 7 * This source code is licensed under the MIT license found in the 8 * LICENSE file in the root directory of this source tree. 9 */var pn;function Lo(){if(pn)return W;pn=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),i=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),s=Symbol.for("react.memo"),c=Symbol.for("react.lazy"),d=Symbol.for("react.activity"),m=Symbol.iterator;function y(p){return p===null||typeof p!="object"?null:(p=m&&p[m]||p["@@iterator"],typeof p=="function"?p:null)}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E=Object.assign,g={};function P(p,x,A){this.props=p,this.context=x,this.refs=g,this.updater=A||b}P.prototype.isReactComponent={},P.prototype.setState=function(p,x){if(typeof p!="object"&&typeof p!="function"&&p!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,p,x,"setState")},P.prototype.forceUpdate=function(p){this.updater.enqueueForceUpdate(this,p,"forceUpdate")};function S(){}S.prototype=P.prototype;function D(p,x,A){this.props=p,this.context=x,this.refs=g,this.updater=A||b}var _=D.prototype=new S;_.constructor=D,E(_,P.prototype),_.isPureReactComponent=!0;var T=Array.isArray;function O(){}var M={H:null,A:null,T:null,S:null},w=Object.prototype.hasOwnProperty;function z(p,x,A){var N=A.ref;return{$$typeof:e,type:p,key:x,ref:N!==void 0?N:null,props:A}}function G(p,x){return z(p.type,x,p.props)}function ae(p){return typeof p=="object"&&p!==null&&p.$$typeof===e}function J(p){var x={"=":"=0",":":"=2"};return"$"+p.replace(/[=:]/g,function(A){return x[A]})}var le=/\/+/g;function ee(p,x){return typeof p=="object"&&p!==null&&p.key!=null?J(""+p.key):x.toString(36)}function ce(p){switch(p.status){case"fulfilled":return p.value;case"rejected":throw p.reason;default:switch(typeof p.status=="string"?p.then(O,O):(p.status="pending",p.then(function(x){p.status==="pending"&&(p.status="fulfilled",p.value=x)},function(x){p.status==="pending"&&(p.status="rejected",p.reason=x)})),p.status){case"fulfilled":return p.value;case"rejected":throw p.reason}}throw p}function X(p,x,A,N,B){var V=typeof p;(V==="undefined"||V==="boolean")&&(p=null);var Z=!1;if(p===null)Z=!0;else switch(V){case"bigint":case"string":case"number":Z=!0;break;case"object":switch(p.$$typeof){case e:case t:Z=!0;break;case c:return Z=p._init,X(Z(p._payload),x,A,N,B)}}if(Z)return B=B(p),Z=N===""?"."+ee(p,0):N,T(B)?(A="",Z!=null&&(A=Z.replace(le,"$&/")+"/"),X(B,x,A,"",function(ir){return ir})):B!=null&&(ae(B)&&(B=G(B,A+(B.key==null||p&&p.key===B.key?"":(""+B.key).replace(le,"$&/")+"/")+Z)),x.push(B)),1;Z=0;var ge=N===""?".":N+":";if(T(p))for(var fe=0;fe<p.length;fe++)N=p[fe],V=ge+ee(N,fe),Z+=X(N,x,A,V,B);else if(fe=y(p),typeof fe=="function")for(p=fe.call(p),fe=0;!(N=p.next()).done;)N=N.value,V=ge+ee(N,fe++),Z+=X(N,x,A,V,B);else if(V==="object"){if(typeof p.then=="function")return X(ce(p),x,A,N,B);throw x=String(p),Error("Objects are not valid as a React child (found: "+(x==="[object Object]"?"object with keys {"+Object.keys(p).join(", ")+"}":x)+"). If you meant to render a collection of children, use an array instead.")}return Z}function Q(p,x,A){if(p==null)return p;var N=[],B=0;return X(p,N,"","",function(V){return x.call(A,V,B++)}),N}function Ee(p){if(p._status===-1){var x=p._result;x=x(),x.then(function(A){(p._status===0||p._status===-1)&&(p._status=1,p._result=A)},function(A){(p._status===0||p._status===-1)&&(p._status=2,p._result=A)}),p._status===-1&&(p._status=0,p._result=x)}if(p._status===1)return p._result.default;throw p._result}var te=typeof reportError=="function"?reportError:function(p){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var x=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof p=="object"&&p!==null&&typeof p.message=="string"?String(p.message):String(p),error:p});if(!window.dispatchEvent(x))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",p);return}console.error(p)},de={map:Q,forEach:function(p,x,A){Q(p,function(){x.apply(this,arguments)},A)},count:function(p){var x=0;return Q(p,function(){x++}),x},toArray:function(p){return Q(p,function(x){return x})||[]},only:function(p){if(!ae(p))throw Error("React.Children.only expected to receive a single React element child.");return p}};return W.Activity=d,W.Children=de,W.Component=P,W.Fragment=r,W.Profiler=a,W.PureComponent=D,W.StrictMode=n,W.Suspense=l,W.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=M,W.__COMPILER_RUNTIME={__proto__:null,c:function(p){return M.H.useMemoCache(p)}},W.cache=function(p){return function(){return p.apply(null,arguments)}},W.cacheSignal=function(){return null},W.cloneElement=function(p,x,A){if(p==null)throw Error("The argument must be a React element, but you passed "+p+".");var N=E({},p.props),B=p.key;if(x!=null)for(V in x.key!==void 0&&(B=""+x.key),x)!w.call(x,V)||V==="key"||V==="__self"||V==="__source"||V==="ref"&&x.ref===void 0||(N[V]=x[V]);var V=arguments.length-2;if(V===1)N.children=A;else if(1<V){for(var Z=Array(V),ge=0;ge<V;ge++)Z[ge]=arguments[ge+2];N.children=Z}return z(p.type,B,N)},W.createContext=function(p){return p={$$typeof:i,_currentValue:p,_currentValue2:p,_threadCount:0,Provider:null,Consumer:null},p.Provider=p,p.Consumer={$$typeof:o,_context:p},p},W.createElement=function(p,x,A){var N,B={},V=null;if(x!=null)for(N in x.key!==void 0&&(V=""+x.key),x)w.call(x,N)&&N!=="key"&&N!=="__self"&&N!=="__source"&&(B[N]=x[N]);var Z=arguments.length-2;if(Z===1)B.children=A;else if(1<Z){for(var ge=Array(Z),fe=0;fe<Z;fe++)ge[fe]=arguments[fe+2];B.children=ge}if(p&&p.defaultProps)for(N in Z=p.defaultProps,Z)B[N]===void 0&&(B[N]=Z[N]);return z(p,V,B)},W.createRef=function(){return{current:null}},W.forwardRef=function(p){return{$$typeof:u,render:p}},W.isValidElement=ae,W.lazy=function(p){return{$$typeof:c,_payload:{_status:-1,_result:p},_init:Ee}},W.memo=function(p,x){return{$$typeof:s,type:p,compare:x===void 0?null:x}},W.startTransition=function(p){var x=M.T,A={};M.T=A;try{var N=p(),B=M.S;B!==null&&B(A,N),typeof N=="object"&&N!==null&&typeof N.then=="function"&&N.then(O,te)}catch(V){te(V)}finally{x!==null&&A.types!==null&&(x.types=A.types),M.T=x}},W.unstable_useCacheRefresh=function(){return M.H.useCacheRefresh()},W.use=function(p){return M.H.use(p)},W.useActionState=function(p,x,A){return M.H.useActionState(p,x,A)},W.useCallback=function(p,x){return M.H.useCallback(p,x)},W.useContext=function(p){return M.H.useContext(p)},W.useDebugValue=function(){},W.useDeferredValue=function(p,x){return M.H.useDeferredValue(p,x)},W.useEffect=function(p,x){return M.H.useEffect(p,x)},W.useEffectEvent=function(p){return M.H.useEffectEvent(p)},W.useId=function(){return M.H.useId()},W.useImperativeHandle=function(p,x,A){return M.H.useImperativeHandle(p,x,A)},W.useInsertionEffect=function(p,x){return M.H.useInsertionEffect(p,x)},W.useLayoutEffect=function(p,x){return M.H.useLayoutEffect(p,x)},W.useMemo=function(p,x){return M.H.useMemo(p,x)},W.useOptimistic=function(p,x){return M.H.useOptimistic(p,x)},W.useReducer=function(p,x,A){return M.H.useReducer(p,x,A)},W.useRef=function(p){return M.H.useRef(p)},W.useState=function(p){return M.H.useState(p)},W.useSyncExternalStore=function(p,x,A){return M.H.useSyncExternalStore(p,x,A)},W.useTransition=function(){return M.H.useTransition()},W.version="19.2.6",W}var yn;function Qn(){return yn||(yn=1,fr.exports=Lo()),fr.exports}var f=Qn();const ve=Co(f),xo=So({__proto__:null,default:ve},[f]);var hr={exports:{}},pe={};/** 10 * @license React 11 * react-dom.production.js 12 * 13 * Copyright (c) Meta Platforms, Inc. and affiliates. 14 * 15 * This source code is licensed under the MIT license found in the 16 * LICENSE file in the root directory of this source tree. 17 */var vn;function Po(){if(vn)return pe;vn=1;var e=Qn();function t(l){var s="https://react.dev/errors/"+l;if(1<arguments.length){s+="?args[]="+encodeURIComponent(arguments[1]);for(var c=2;c<arguments.length;c++)s+="&args[]="+encodeURIComponent(arguments[c])}return"Minified React error #"+l+"; visit "+s+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(){}var n={d:{f:r,r:function(){throw Error(t(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for("react.portal");function o(l,s,c){var d=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:d==null?null:""+d,children:l,containerInfo:s,implementation:c}}var i=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function u(l,s){if(l==="font")return"";if(typeof s=="string")return s==="use-credentials"?s:""}return pe.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=n,pe.createPortal=function(l,s){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!s||s.nodeType!==1&&s.nodeType!==9&&s.nodeType!==11)throw Error(t(299));return o(l,s,null,c)},pe.flushSync=function(l){var s=i.T,c=n.p;try{if(i.T=null,n.p=2,l)return l()}finally{i.T=s,n.p=c,n.d.f()}},pe.preconnect=function(l,s){typeof l=="string"&&(s?(s=s.crossOrigin,s=typeof s=="string"?s==="use-credentials"?s:"":void 0):s=null,n.d.C(l,s))},pe.prefetchDNS=function(l){typeof l=="string"&&n.d.D(l)},pe.preinit=function(l,s){if(typeof l=="string"&&s&&typeof s.as=="string"){var c=s.as,d=u(c,s.crossOrigin),m=typeof s.integrity=="string"?s.integrity:void 0,y=typeof s.fetchPriority=="string"?s.fetchPriority:void 0;c==="style"?n.d.S(l,typeof s.precedence=="string"?s.precedence:void 0,{crossOrigin:d,integrity:m,fetchPriority:y}):c==="script"&&n.d.X(l,{crossOrigin:d,integrity:m,fetchPriority:y,nonce:typeof s.nonce=="string"?s.nonce:void 0})}},pe.preinitModule=function(l,s){if(typeof l=="string")if(typeof s=="object"&&s!==null){if(s.as==null||s.as==="script"){var c=u(s.as,s.crossOrigin);n.d.M(l,{crossOrigin:c,integrity:typeof s.integrity=="string"?s.integrity:void 0,nonce:typeof s.nonce=="string"?s.nonce:void 0})}}else s==null&&n.d.M(l)},pe.preload=function(l,s){if(typeof l=="string"&&typeof s=="object"&&s!==null&&typeof s.as=="string"){var c=s.as,d=u(c,s.crossOrigin);n.d.L(l,c,{crossOrigin:d,integrity:typeof s.integrity=="string"?s.integrity:void 0,nonce:typeof s.nonce=="string"?s.nonce:void 0,type:typeof s.type=="string"?s.type:void 0,fetchPriority:typeof s.fetchPriority=="string"?s.fetchPriority:void 0,referrerPolicy:typeof s.referrerPolicy=="string"?s.referrerPolicy:void 0,imageSrcSet:typeof s.imageSrcSet=="string"?s.imageSrcSet:void 0,imageSizes:typeof s.imageSizes=="string"?s.imageSizes:void 0,media:typeof s.media=="string"?s.media:void 0})}},pe.preloadModule=function(l,s){if(typeof l=="string")if(s){var c=u(s.as,s.crossOrigin);n.d.m(l,{as:typeof s.as=="string"&&s.as!=="script"?s.as:void 0,crossOrigin:c,integrity:typeof s.integrity=="string"?s.integrity:void 0})}else n.d.m(l)},pe.requestFormReset=function(l){n.d.r(l)},pe.unstable_batchedUpdates=function(l,s){return l(s)},pe.useFormState=function(l,s,c){return i.H.useFormState(l,s,c)},pe.useFormStatus=function(){return i.H.useHostTransitionStatus()},pe.version="19.2.6",pe}var gn;function Ns(){if(gn)return hr.exports;gn=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),hr.exports=Po(),hr.exports}/** 18 * react-router v7.18.2 19 * 20 * Copyright (c) Remix Software Inc. 21 * 22 * This source code is licensed under the MIT license found in the 23 * LICENSE.md file in the root directory of this source tree. 24 * 25 * @license MIT 26 */var Zn=e=>{throw TypeError(e)},ea=(e,t,r)=>t.has(e)||Zn("Cannot "+r),_e=(e,t,r)=>(ea(e,t,"read from private field"),r?r.call(e):t.get(e)),gt=(e,t,r)=>t.has(e)?Zn("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Ie=(e,t,r,n)=>(ea(e,t,"write to private field"),t.set(e,r),r),qt=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,Ar=/^[\\/]{2}/;function ta(e,t){return t+e.replace(/\\/g,"/")}var wn="popstate";function En(e){return typeof e=="object"&&e!=null&&"pathname"in e&&"search"in e&&"hash"in e&&"state"in e&&"key"in e}function $s(e={}){function t(n,a){let o=a.state?.masked,{pathname:i,search:u,hash:l}=o||n.location;return Rt("",{pathname:i,search:u,hash:l},a.state&&a.state.usr||null,a.state&&a.state.key||"default",o?{pathname:n.location.pathname,search:n.location.search,hash:n.location.hash}:void 0)}
26function r(n,a){return typeof a=="string"?a:ke(a)}return _o(t,r,null,e)}function Y(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function ue(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function To(){return Math.random().toString(36).substring(2,10)}function Rn(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function Rt(e,t,r=null,n,a){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?$e(t):t,state:r,key:t&&t.key||n||To(),mask:a}}function ke({pathname:e="/",search:t="",hash:r=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),r&&r!=="#"&&(e+=r.charAt(0)==="#"?r:"#"+r),e}function $e(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substring(r),e=e.substring(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substring(n),e=e.substring(0,n)),e&&(t.pathname=e)}return t}function _o(e,t,r,n={}){let{window:a=document.defaultView,v5Compat:o=!1}=n,i=a.history,u="POP",l=null,s=c();s==null&&(s=0,i.replaceState({...i.state,idx:s},""));function c(){return(i.state||{idx:null}).idx}function d(){u="POP";let g=c(),P=g==null?null:g-s;s=g,l&&l({action:u,location:E.location,delta:P})}function m(g,P){u="PUSH";let S=En(g)?g:Rt(E.location,g,P);s=c()+1;let D=Rn(S,s),_=E.createHref(S.mask||S);try{i.pushState(D,"",_)}catch(T){if(T instanceof DOMException&&T.name==="DataCloneError")throw T;a.location.assign(_)}o&&l&&l({action:u,location:E.location,delta:1})}function y(g,P){u="REPLACE";let S=En(g)?g:Rt(E.location,g,P);s=c();let D=Rn(S,s),_=E.createHref(S.mask||S);i.replaceState(D,"",_),o&&l&&l({action:u,location:E.location,delta:0})}function b(g){return ra(a,g)}let E={get action(){return u},get location(){return e(a,i)},listen(g){if(l)throw new Error("A history only accepts one active listener");return a.addEventListener(wn,d),l=g,()=>{a.removeEventListener(wn,d),l=null}},createHref(g){return t(a,g)},createURL:b,encodeLocation(g){let P=b(g);return{pathname:P.pathname,search:P.search,hash:P.hash}},push:m,replace:y,go(g){return i.go(g)}};return E}function ra(e,t,r=!1){let n="http://localhost";e&&(n=e.location.origin!=="null"?e.location.origin:e.location.href),Y(n,"No window.location.(origin|href) available to create URL");let a=typeof t=="string"?t:ke(t);return a=a.replace(/ $/,"%20"),!r&&Ar.test(a)&&(a=n+a),new URL(a,n)}var wt,bn=class{constructor(e){if(gt(this,wt,new Map),e)for(let[t,r]of e)this.set(t,r)}get(e){if(_e(this,wt).has(e))return _e(this,wt).get(e);if(e.defaultValue!==void 0)return e.defaultValue;throw new Error("No value found for context")}set(e,t){_e(this,wt).set(e,t)}};wt=new WeakMap;var Do=new Set(["lazy","caseSensitive","path","id","index","children"]);function Mo(e){return Do.has(e)}var Oo=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function ko(e){return Oo.has(e)}function Ao(e){return e.index===!0}function bt(e,t,r=[],n={},a=!1){return e.map((o,i)=>{let u=[...r,String(i)],l=typeof o.id=="string"?o.id:u.join("-");if(Y(o.index!==!0||!o.children,"Cannot specify children on an index route"),Y(a||!n[l],`Found a route id collision on i
26d "${l}". Route id's must be globally unique within Data Router usages`),Ao(o)){let s={...o,id:l};return n[l]=Sn(s,t(s)),s}else{let s={...o,id:l,children:void 0};return n[l]=Sn(s,t(s)),o.children&&(s.children=bt(o.children,t,u,n,a)),s}})}function Sn(e,t){return Object.assign(e,{...t,...typeof t.lazy=="object"&&t.lazy!=null?{lazy:{...e.lazy,...t.lazy}}:{}})}function Fr(e,t,r="/"){return De(e,t,r,!1)}function De(e,t,r,n,a){let o=typeof t=="string"?$e(t):t,i=Pe(o.pathname||"/",r);if(i==null)return null;let u=a??zt(e),l=null,s=Yo(i);for(let c=0;l==null&&c<u.length;++c)l=Wo(u[c],s,n);return l}function na(e,t){let{route:r,pathname:n,params:a}=e;return{id:r.id,pathname:n,params:a,data:t[r.id],loaderData:t[r.id],handle:r.handle}}function zt(e){let t=aa(e);return Fo(t),t}function aa(e,t=[],r=[],n="",a=!1){let o=(i,u,l=a,s)=>{let c={relativePath:s===void 0?i.path||"":s,caseSensitive:i.caseSensitive===!0,childrenIndex:u,route:i};if(c.relativePath.startsWith("/")){if(!c.relativePath.startsWith(n)&&l)return;Y(c.relativePath.startsWith(n),`Absolute route path "${c.relativePath}" nested under path "${n}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(n.length)}let d=xe([n,c.relativePath]),m=r.concat(c);i.children&&i.children.length>0&&(Y(i.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${d}".`),aa(i.children,t,m,d,l)),!(i.path==null&&!i.index)&&t.push({path:d,score:zo(d,i.index),routesMeta:m.map((y,b)=>{let[E,g]=Ir(y.relativePath,y.caseSensitive,b===m.length-1);return{...y,matcher:E,compiledParams:g}})})};return e.forEach((i,u)=>{if(i.path===""||!i.path?.includes("?"))o(i,u);else for(let l of oa(i.path))o(i,u,!0,l)}),t}function oa(e){let t=e.split("/");if(t.length===0)return[];let[r,...n]=t,a=r.endsWith("?"),o=r.replace(/\?$/,"");if(n.length===0)return a?[o,""]:[o];let i=oa(n.join("/")),u=[];return u.push(...i.map(l=>l===""?o:[o,l].join("/"))),a&&u.push(...i),u.map(l=>e.startsWith("/")&&l===""?"/":l)}function Fo(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:Bo(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}var Io=/^:[\w-]+$/,No=3,$o=2,jo=1,Uo=10,Ho=-2,Cn=e=>e==="*";function zo(e,t){let r=e.split("/"),n=r.length;return r.some(Cn)&&(n+=Ho),t&&(n+=$o),r.filter(a=>!Cn(a)).reduce((a,o)=>a+(Io.test(o)?No:o===""?jo:Uo),n)}function Bo(e,t){return e.length===t.length&&e.slice(0,-1).every((n,a)=>n===t[a])?e[e.length-1]-t[t.length-1]:0}function Wo(e,t,r=!1){let{routesMeta:n}=e,a={},o="/",i=[];for(let u=0;u<n.length;++u){let l=n[u],s=u===n.length-1,c=o==="/"?t:t.slice(o.length)||"/",d={path:l.relativePath,caseSensitive:l.caseSensitive,end:s},m=l.matcher&&l.compiledParams?ia(d,c,l.matcher,l.compiledParams):Jt(d,c),y=l.route;if(!m&&s&&r&&!n[n.length-1].route.index&&(m=Jt({path:l.relativePath,caseSensitive:l.caseSensitive,end:!1},c)),!m)return null;
26Object.assign(a,m.params),i.push({params:a,pathname:xe([o,m.pathname]),pathnameBase:Go(xe([o,m.pathnameBase])),route:y}),m.pathnameBase!=="/"&&(o=xe([o,m.pathnameBase]))}return i}function Jt(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=Ir(e.path,e.caseSensitive,e.end);return ia(e,t,r,n)}function ia(e,t,r,n){let a=t.match(r);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),u=a.slice(1);return{params:n.reduce((s,{paramName:c,isOptional:d},m)=>{if(c==="*"){let b=u[m]||"";i=o.slice(0,o.length-b.length).replace(/(.)\/+$/,"$1")}const y=u[m];return d&&!y?s[c]=void 0:s[c]=(y||"").replace(/%2F/g,"/"),s},{}),pathname:o,pathnameBase:i,pattern:e}}function Ir(e,t=!1,r=!0){ue(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let n=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(i,u,l,s,c)=>{if(n.push({paramName:u,isOptional:l!=null}),l){let d=c.charAt(s+i.length);return d&&d!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(n.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}function Yo(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return ue(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function Pe(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&n!=="/"?null:e.slice(r)||"/"}function Vo({basename:e,pathname:t}){return t==="/"?e:xe([e,t])}var Nr=e=>qt.test(e);function Jo(e,t="/"){let{pathname:r,search:n="",hash:a=""}=typeof e=="string"?$e(e):e,o;return r?(r=jr(r),r.startsWith("/")?o=Ln(r.substring(1),"/"):o=Ln(r,t)):o=t,{pathname:o,search:Ko(n),hash:Xo(a)}}function Ln(e,t){let r=Gt(t).split("/");return e.split("/").forEach(a=>{a===".."?r.length>1&&r.pop():a!=="."&&r.push(a)}),r.length>1?r.join("/"):"/"}function mr(e,t,r,n){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(n)}]. Please separate it out to the \`to.${r}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function la(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function $r(e){let t=la(e);return t.map((r,n)=>n===t.length-1?r.pathname:r.pathnameBase)}function Qt(e,t,r,n=!1){let a;typeof e=="string"?a=$e(e):(a={...e},Y(!a.pathname||!a.pathname.includes("?"),mr("?","pathname","search",a)),Y(!a.pathname||!a.pathname.includes("#"),mr("#","pathname","hash",a)),Y(!a.search||!a.search.includes("#"),mr("#","search","hash",a)));let o=e===""||a.pathname==="",i=o?"/":a.pathname,u;if(i==null)u=r;else{let d=t.length-1;if(!n&&i.startsWith("..")){let m=i.split("/");for(;m[0]==="..";)m.shift(),d-=1;a.pathname=m.join("/")}u=d>=0?t[d]:"/"}let l=Jo(a,u),s=i&&i!=="/"&&i.endsWith("/"),c=(o||i===".")&&r.endsWith("/");return!l.pathname.endsWith("/")&&(s||c)&&(l.pathname+="/"),l}var jr=e=>e.replace(/[\\/]{2,}/g,"/"),xe=e=>jr(e.join("/")),Gt=e=>e.replace(/\/+$/,""),Go=e=>Gt(e).replace(/^\/*/,"/"),Ko=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Xo=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,qo=class{constructor(e,t){this.type="DataWithResponseInit",this.data=e,this.init=t||null}};function Qo(e,t){return new qo(e,typeof t=="number"?{status:t}:t)}var Zo=(e,t=302)=>{let r=t;typeof r=="number"?r={status:r}:typeof r.status>"u"&&(r.status=302);let n=new Headers(r.headers);return n.set("Location",e),new Response(null,{...r,headers:n})},sa=["EvalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],qe=class{constructor(e,t,r,n=!1){this.status=e,this.statusText=t||"",this.internal=n,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}};function Xe(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function Ct(e){let t=e.map(r=>
26r.route.path).filter(Boolean);return xe(t)||"/"}var ua=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function ca(e,t){let r=e;if(typeof r!="string"||!qt.test(r))return{absoluteURL:void 0,isExternal:!1,to:r};let n=r,a=!1;if(ua)try{let o=new URL(window.location.href),i=Ar.test(r)?new URL(ta(r,o.protocol)):new URL(r),u=Pe(i.pathname,t);i.origin===o.origin&&u!=null?r=u+i.search+i.hash:a=!0}catch{ue(!1,`<Link to="${r}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:n,isExternal:a,to:r}}var Ke=Symbol("Uninstrumented");function ei(e,t){let r={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};e.forEach(a=>a({id:t.id,index:t.index,path:t.path,instrument(o){let i=Object.keys(r);for(let u of i)o[u]&&r[u].push(o[u])}}));let n={};if(typeof t.lazy=="function"&&r.lazy.length>0){let a=ut(r.lazy,t.lazy,()=>{});a&&(n.lazy=a)}if(typeof t.lazy=="object"){let a=t.lazy;["middleware","loader","action"].forEach(o=>{let i=a[o],u=r[`lazy.${o}`];if(typeof i=="function"&&u.length>0){let l=ut(u,i,()=>{});l&&(n.lazy=Object.assign(n.lazy||{},{[o]:l}))}})}return["loader","action"].forEach(a=>{let o=t[a];if(typeof o=="function"&&r[a].length>0){let i=o[Ke]??o,u=ut(r[a],i,(...l)=>xn(l[0]));u&&(a==="loader"&&i.hydrate===!0&&(u.hydrate=!0),u[Ke]=i,n[a]=u)}}),t.middleware&&t.middleware.length>0&&r.middleware.length>0&&(n.middleware=t.middleware.map(a=>{let o=a[Ke]??a,i=ut(r.middleware,o,(...u)=>xn(u[0]));return i?(i[Ke]=o,i):a})),n}function ti(e,t){let r={navigate:[],fetch:[]};if(t.forEach(n=>n({instrument(a){let o=Object.keys(a);for(let i of o)a[i]&&r[i].push(a[i])}})),r.navigate.length>0){let n=e.navigate[Ke]??e.navigate,a=ut(r.navigate,n,(...o)=>{let[i,u]=o;return{to:typeof i=="number"||typeof i=="string"?i:i?ke(i):".",...Pn(e,u??{})}});a&&(a[Ke]=n,e.navigate=a)}if(r.fetch.length>0){let n=e.fetch[Ke]??e.fetch,a=ut(r.fetch,n,(...o)=>{let[i,,u,l]=o;return{href:u??".",fetcherKey:i,...Pn(e,l??{})}});a&&(a[Ke]=n,e.fetch=a)}return e}function ut(e,t,r){return e.length===0?null:async(...n)=>{let a=await da(e,r(...n),()=>t(...n),e.length-1);if(a.type==="error")throw a.value;return a.value}}async function da(e,t,r,n){let a=e[n],o;if(a){let i,u=async()=>(i?console.error("You cannot call instrumented handlers more than once"):i=da(e,t,r,n-1),o=await i,Y(o,"Expected a result"),o.type==="error"&&o.value instanceof Error?{status:"error",error:o.value}:{status:"success",error:void 0});try{await a(u,t)}catch(l){console.error("An instrumentation function threw an error:",l)}i||await u(),await i}else try{o={type:"success",value:await r()}}catch(i){o={type:"error",value:i}}return o||{type:"error",value:new Error("No result assigned in instrumentation chain.")}}function xn(e){let{request:t,context:r,params:n,pattern:a}=e;return{request:ri(t),params:{...n},pattern:a,context:ni(r)}}function Pn(e,t){return{currentUrl:ke(e.state.location),..."formMethod"in t?{formMethod:t.formMethod}:{},..."formEncType"in t?{formEncType:t.formEncType}:{},..."formData"in t?{formData:t.formData}:{},..."body"in t?{body:t.body}:{}}}function ri(e){return{method:e.method,url:e.url,headers:{get:(...t)=>e.headers.get(...t)}}}function ni(e){if(oi(e)){let t={...e};return Object.freeze(t),t}else return{get:t=>e.get(t)}}var ai=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function oi(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getOwnPropertyNames(t).sort().join("\0")===ai}var fa=["POST","PUT","PATCH","DELETE"],ii=new Set(fa),li=["GET",...fa],si=new Set(li),ha=new Set([301,302,303,307,308]),ui=new Set([307,308]),pr={state:"idle",location:void 0,matches:void 0,historyAction:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ma={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},pt={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},ci=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),pa="remix-router-transitions",ya=Symbol("ResetLoaderData"),tt,it,Je,lt,di=class{constructor(e){gt(this,tt),gt(this,it),gt(this,Je),gt(this,lt),Ie(this,tt,e),Ie(this,it,zt(e))}get stableRoutes(){return _e(this,tt)}get activeRoutes(){return _e(this,Je)??_e(this,tt)}get branches(){return _e(this,lt)??_e(this,it)}get hasHMRRoutes(){return _e(this,Je)!=null}setRoutes(e){Ie(this,tt,e),Ie(this,it,zt(e))}setHmrRoutes(e){Ie(this,Je,e),Ie(this,lt,zt(e))}commitHmrRoutes(){_e(this,Je)&&(Ie(this,tt,_e(this,Je)),Ie(this,it,_e(this,lt)),Ie(this,Je,void 0),Ie(this,lt,void 0))}};tt=new WeakMap;it=new WeakMap;Je=new WeakMap;lt=new WeakMap;function js(e){const t=e.window?e.window:typeof window<"u"?window:void 0,r=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u";Y(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let n=e.hydrationRouteProperties||[],a=e.mapRouteProperties||ci,o=a;if(e.instrumentations){let h=e.instrumentations;o=v=>({...a(v),...ei(h.map(R=>
26R.route).filter(Boolean),v)})}let i={},u=new di(bt(e.routes,o,void 0,i)),l=e.basename||"/";l.startsWith("/")||(l=`/${l}`);let s=e.dataStrategy||yi,c={...e.future},d=null,m=new Set,y=null,b=null,E=null,g=null,P=e.hydrationData!=null,S=De(u.activeRoutes,e.history.location,l,!1,u.branches),D=!1,_=null,T,O;if(S==null&&!e.patchRoutesOnNavigation){let h=Me(404,{pathname:e.history.location.pathname}),{matches:v,route:R}=At(u.activeRoutes);T=!0,O=!T,S=v,_={[R.id]:h}}else if(S&&!e.hydrationData&&_t(S,u.activeRoutes,e.history.location.pathname).active&&(S=null),S)if(S.some(h=>h.route.lazy))T=!1,O=!T;else if(!S.some(h=>Ur(h.route)))T=!0,O=!T;else{let h=e.hydrationData?e.hydrationData.loaderData:null,v=e.hydrationData?e.hydrationData.errors:null,R=S;if(v){let C=S.findIndex(L=>v[L.route.id]!==void 0);R=R.slice(0,C+1)}O=!1,T=!0,R.forEach(C=>{let L=va(C.route,h,v);O=O||L.renderFallback,T=T&&!L.shouldLoad})}else{T=!1,O=!T,S=[];let h=_t(null,u.activeRoutes,e.history.location.pathname);h.active&&h.matches&&(D=!0,S=h.matches)}let M,w={historyAction:e.history.action,location:e.history.location,matches:S,initialized:T,renderFallback:O,navigation:pr,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||_,fetchers:new Map,blockers:new Map},z="POP",G=null,ae=!1,J,le=!1,ee=new Map,ce=null,X=!1,Q=!1,Ee=new Set,te=new Map,de=0,p=-1,x=new Map,A=new Set,N=new Map,B=new Map,V=new Set,Z=new Map,ge,fe=null;function ir(){if(d=e.history.listen(({action:h,location:v,delta:R})=>{if(ge){ge(),ge=void 0;return}ue(Z.size===0||R!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let C=un({currentLocation:w.location,nextLocation:v,historyAction:h});if(C&&R!=null){let L=new Promise(F=>{ge=F});e.history.go(R*-1),Tt(C,{state:"blocked",location:v,proceed(){Tt(C,{state:"proceeding",proceed:void 0,reset:void 0,location:v}),L.then(()=>e.history.go(R))},reset(){let F=new Map(w.blockers);F.set(C,pt),me({blockers:F})}}),G?.resolve(),G=null;return}return Qe(h,v)}),r){Fi(t,ee);let h=()=>Ii(t,ee);t.addEventListener("pagehide",h),ce=()=>t.removeEventListener("pagehide",h)}return w.initialized||Qe("POP",w.location,{initialHydration:!0}),M}function ao(){d&&d(),ce&&ce(),m.clear(),J&&J.abort(),w.fetchers.forEach((h,v)=>sr(w.fetchers,v)),w.blockers.forEach((h,v)=>sn(v))}function oo(h){if(m.add(h),y){let{newErrors:v}=y;y=null,h(w,{deletedFetchers:[],newErrors:v,viewTransitionOpts:void 0,flushSync:!1})}return()=>m.delete(h)}function me(h,v={}){h.matches&&(h.matches=h.matches.map(L=>{let F=i[L.route.id],I=L.route;return I.element!==F.element||I.errorElement!==F.errorElement||I.hydrateFallbackElement!==F.hydrateFallbackElement?{...L,route:F}:L})),w={...w,...h};let R=[],C=[];w.fetchers.forEach((L,F)=>{L.state==="idle"&&(V.has(F)?R.push(F):C.push(F))}),V.forEach(L=>{!w.fetchers.has(L)&&!te.has(L)&&R.push(L)}),m.size===0&&(y={newErrors:h.errors??null}),[...m].forEach(L=>L(w,{deletedFetchers:R,newErrors:h.errors??null,viewTransitionOpts:v.viewTransitionOpts,flushSync:v.flushSync===!0})),R.forEach(L=>sr(w.fetchers,L)),C.forEach(L=>w.fetchers.delete(L))}function at(h,v,{flushSync:R}={}){let C=w.actionData!=null&&w.navigation.formMethod!=null&&ye(w.navigation.formMethod)&&w.navigation.state==="loading"&&h.state?._isRedirect!==!0,L;v.actionData?Object.keys(v.actionData).length>0?L=v.actionData:L=null:C?L=w.actionData:L=null;let F=v.loaderData?Nn(w.loaderData,v.loaderData,v.matches||[],v.errors):w.loaderData,I=w.blockers;I.size>0&&(I=new Map(I),I.forEach((j,K)=>I.set(K,pt)));let $=X?!1:dn(h,v.matches||w.matches),k=ae===!0||w.navigation.formMethod!=null&&ye(w.navigation.formMethod)&&h.state?._isRedirect!==!0;u.commitHmrRoutes(),X||z==="POP"||(z==="PUSH"?e.history.push(h,h.state):z==="REPLACE"&&e.history.replace(h,h.state));let U;if(z==="POP"){let j=ee.get(w.location.pathname);j&&j.has(h.pathname)?U={currentLocation:w.location,nextLocation:h}:ee.has(h.pathname)&&(U={currentLocation:h,nextLocation:w.location})}else if(le){let j=ee.get(w.location.pathname);j?j.add(h.pathname):(j=new Set([h.pathname]),ee.set(w.location.pathname,j)),U={currentLocation:w.location,nextLocation:h}}me({...v,actionData:L,loaderData:F,historyAction:z,location:h,initialized:!0,renderFallback:!1,navigation:pr,revalidation:"idle",restoreScrollPosition:$,preventScrollReset:k,blockers:I},{viewTransitionOpts:U,flushSync:R===!0}),z="POP",ae=!1,le=!1,X=!1,Q=!1,G?.resolve(),G=null,fe?.resolve(),fe=null}async function tn(h,v){if(G?.resolve(),G=null,typeof h=="number"){G||(G=Un());let ne=G.promise;return e.history.go(h),ne}let R=Rr(w.location,w.matches,l,h,v?.fromRouteId,v?.relative),{path:C,submission:L,error:F}=Tn(!1,R,v),I;v?.mask&&(I={pathname:"",search:"",hash:"",...typeof v.mask=="str
26ing"?$e(v.mask):{...w.location.mask,...v.mask}});let $=w.location,k=Rt($,C,v&&v.state,void 0,I);k={...k,...e.history.encodeLocation(k)};let U=v&&v.replace!=null?v.replace:void 0,j="PUSH";U===!0?j="REPLACE":U===!1||L!=null&&ye(L.formMethod)&&L.formAction===w.location.pathname+w.location.search&&(j="REPLACE");let K=v&&"preventScrollReset"in v?v.preventScrollReset===!0:void 0,H=(v&&v.flushSync)===!0,re=un({currentLocation:$,nextLocation:k,historyAction:j});if(re){Tt(re,{state:"blocked",location:k,proceed(){Tt(re,{state:"proceeding",proceed:void 0,reset:void 0,location:k}),tn(h,v)},reset(){let ne=new Map(w.blockers);ne.set(re,pt),me({blockers:ne})}});return}await Qe(j,k,{submission:L,pendingError:F,preventScrollReset:K,replace:v&&v.replace,enableViewTransition:v&&v.viewTransition,flushSync:H,callSiteDefaultShouldRevalidate:v&&v.defaultShouldRevalidate})}function io(){fe||(fe=Un()),lr(),me({revalidation:"loading"});let h=fe.promise;return w.navigation.state==="submitting"?h:w.navigation.state==="idle"?(Qe(w.historyAction,w.location,{startUninterruptedRevalidation:!0}),h):(Qe(z||w.historyAction,w.navigation.location,{overrideNavigation:w.navigation,enableViewTransition:le===!0}),h)}async function Qe(h,v,R){J&&J.abort(),J=null,z=h,X=(R&&R.startUninterruptedRevalidation)===!0,wo(w.location,w.matches),ae=(R&&R.preventScrollReset)===!0,le=(R&&R.enableViewTransition)===!0;let C=u.activeRoutes,L=R?.initialHydration&&w.matches&&w.matches.length>0&&!D?w.matches:De(C,v,l,!1,u.branches),F=(R&&R.flushSync)===!0;if(L&&w.initialized&&!Q&&Li(w.location,v)&&!(R&&R.submission&&ye(R.submission.formMethod))){at(v,{matches:L},{flushSync:F});return}let I=_t(L,C,v.pathname);if(I.active&&I.matches&&(L=I.matches),!L){let{error:se,notFoundMatches:oe,route:Re}=ur(v.pathname);at(v,{matches:oe,loaderData:{},errors:{[Re.id]:se}},{flushSync:F});return}let $=R&&R.overrideNavigation?{...R.overrideNavigation,matches:L,historyAction:h}:void 0;
26J=new AbortController;let k=st(e.history,v,J.signal,R&&R.submission),U=e.getContext?await e.getContext():new bn,j;if(R&&R.pendingError)j=[Ge(L).route.id,{type:"error",error:R.pendingError}];else if(R&&R.submission&&ye(R.submission.formMethod)){let se=await lo(k,v,R.submission,L,h,U,I.active,R&&R.initialHydration===!0,{replace:R.replace,flushSync:F});if(se.shortCircuited)return;if(se.pendingActionResult){let[oe,Re]=se.pendingActionResult;if(Le(Re)&&Xe(Re.error)&&Re.error.status===404){J=null,at(v,{matches:se.matches,loaderData:{},errors:{[oe]:Re.error}});return}}L=se.matches||L,j=se.pendingActionResult,$=yr(v,L,h,R.submission),F=!1,I.active=!1,k=st(e.history,k.url,k.signal)}let{shortCircuited:K,matches:H,loaderData:re,errors:ne,workingFetchers:he}=await so(k,v,L,h,U,I.active,$,R&&R.submission,R&&R.fetcherSubmission,R&&R.replace,R&&R.initialHydration===!0,F,j,R&&R.callSiteDefaultShouldRevalidate);K||(J=null,at(v,{matches:H||L,...$n(j),loaderData:re,errors:ne,...he?{fetchers:he}:{}}))}async function lo(h,v,R,C,L,F,I,$,k={}){lr();let U=ki(v,C,L,R);if(me({navigation:U},{flushSync:k.flushSync===!0}),I){let H=await Dt(C,v.pathname,h.signal);if(H.type==="aborted")return{shortCircuited:!0};if(H.type==="error"){if(H.partialMatches.length===0){let{matches:ne,route:he}=At(u.activeRoutes);return{matches:ne,pendingActionResult:[he.id,{type:"error",error:H.error}]}}let re=Ge(H.partialMatches).route.id;return{matches:H.partialMatches,pendingActionResult:[re,{type:"error",error:H.error}]}}else if(H.matches)C=H.matches;else{let{notFoundMatches:re,error:ne,route:he}=ur(v.pathname);return{matches:re,pendingActionResult:[he.id,{type:"error",error:ne}]}}}let j,K=Bt(C,v);if(!K.route.action&&!K.route.lazy)j={type:"error",error:Me(405,{method:h.method,pathname:v.pathname,routeId:K.route.id})};else{let H=ct(o,i,h,v,C,K,$?[]:n,F),re=await ht(h,v,H,F,null);if(j=re[K.route.id],!j){for(let ne of C)if(re[ne.route.id]){j=re[ne.route.id];break}}if(h.signal.aborted)return{shortCircuited:!0}}if(rt(j)){let H;return k&&k.replace!=null?H=k.replace:H=An(j.response.headers.get("Location"),new URL(h.url),l,e.history)===w.location.pathname+w.location.search,await Ze(h,j,!0,{submission:R,replace:H}),{shortCircuited:!0}}if(Le(j)){let H=Ge(C,K.route.id);return(k&&k.replace)!==!0&&(z="PUSH"),{matches:C,pendingActionResult:[H.route.id,j,K.route.id]}}return{matches:C,pendingActionResult:[K.route.id,j]}}async function so(h,v,R,C,L,F,I,$,k,U,j,K,H,re){let ne=I||yr(v,R,C,$),he=$||k||jn(ne),se=!X&&!j;if(F){if(se){let Se=rn(H);me({navigation:ne,...Se!==void 0?{actionData:Se}:{}},{flushSync:K})}let q=await Dt(R,v.pathname,h.signal);if(q.type==="aborted")return{shortCircuited:!0};if(q.type==="error"){if(q.partialMatches.length===0){let{matches:Fe,route:Be}=At(u.activeRoutes);return{matches:Fe,loaderData:{},errors:{[Be.id]:q.error}}}let Se=Ge(q.partialMatches).route.id;return{matches:q.partialMatches,loaderData:{},errors:{[Se]:q.error}}}else if(q.matches)R=q.matches;else{let{error:Se,notFoundMatches:Fe,route:Be}=ur(v.pathname);return{matches:Fe,loaderData:{},errors:{[Be.id]:Se}}}}let oe=u.activeRoutes,{dsMatches:Re,revalidatingFetchers:be}=_n(h,L,o,i,e.history,w,R,he,v,j?[]:n,j===!0,Q,Ee,V,N,A,oe,l,e.patchRoutesOnNavigation!=null,u.branches,H,re);if(p=++de,!e.dataStrategy&&!Re.some(q=>q.shouldLoad)&&!Re.some(q=>q.route.middleware&&q.route.middleware.length>0)&&be.length===0){let q=new Map(w.fetchers),Se=on(q);return at(v,{matches:R,loaderData:{},errors:H&&Le(H[1])?{[H[0]]:H[1].error}:null,...$n(H),...Se?{fetchers:q}:{}},{flushSync:K}),{shortCircuited:!0}}if(se){let q={};if(!F){q.navigation=ne;let Se=rn(H);Se!==void 0&&(q.actionData=Se)}be.length>0&&(q.fetchers=uo(be)),me(q,{flushSync:K})}be.forEach(q=>{ze(q.key),q.controller&&te.set(q.key,q.controller)});let mt=()=>be.forEach(q=>ze(q.key));J&&J.signal.addEventListener("abort",mt);let{loaderResults:We,fetcherResults:ot}=await nn(Re,be,h,v,L);if(h.signal.aborted)return{shortCircuited:!0};J&&J.signal.removeEventListener("abort",mt),be.forEach(q=>te.delete(q.key));let Ye=Ft(We);if(Ye)return await Ze(h,Ye.result,!0,{replace:U}),{shortCircuited:!0};if(Ye=Ft(ot),Ye)return A.add(Ye.key),await Ze(h,Ye.result,!0,{replace:U}),{shortCircuited:!0};let Ae=new Map(w.fetchers),{loaderData:cr,errors:Ve}=In(w,R,We,H,be,ot,Ae);j&&w.errors&&(Ve={...w.errors,...Ve});let Mt=on(Ae),Ot=ln(p,Ae),kt=Mt||Ot||be.length>0;return{matches:R,loaderData:cr,errors:Ve,...kt?{workingFetchers:Ae}:{}}}function rn(h){if(h&&!Le(h[1]))return{[h[0]]:h[1].data};if(w.actionData)return Object.keys(w.actionData).length===0?null:w.actionData}function uo(h){let v=new Map(w.fetchers);return h.forEach(R=>{let C=v.get(R.key),L=yt(void 0,C?C.data:void 0);
26v.set(R.key,L)}),v}async function co(h,v,R,C){ze(h);let L=(C&&C.flushSync)===!0,F=u.activeRoutes,I=Rr(w.location,w.matches,l,R,v,C?.relative),$=De(F,I,l,!1,u.branches),k=_t($,F,I);if(k.active&&k.matches&&($=k.matches),!$){He(h,v,Me(404,{pathname:I}),{flushSync:L});return}let{path:U,submission:j,error:K}=Tn(!0,I,C);if(K){He(h,v,K,{flushSync:L});return}let H=e.getContext?await e.getContext():new bn,re=(C&&C.preventScrollReset)===!0;if(j&&ye(j.formMethod)){await fo(h,v,U,$,H,k.active,L,re,j,C&&C.defaultShouldRevalidate);return}N.set(h,{routeId:v,path:U}),await ho(h,v,U,$,H,k.active,L,re,j)}async function fo(h,v,R,C,L,F,I,$,k,U){lr(),N.delete(h);let j=w.fetchers.get(h);Ue(h,Ai(k,j),{flushSync:I});let K=new AbortController,H=st(e.history,R,K.signal,k);if(F){let ie=await Dt(C,new URL(H.url).pathname,H.signal,h);if(ie.type==="aborted")return;if(ie.type==="error"){He(h,v,ie.error,{flushSync:I});return}else if(ie.matches)C=ie.matches;else{He(h,v,Me(404,{pathname:R}),{flushSync:I});return}}let re=Bt(C,R);if(!re.route.action&&!re.route.lazy){let ie=Me(405,{method:k.formMethod,pathname:R,routeId:v});He(h,v,ie,{flushSync:I});return}te.set(h,K);let ne=de,he=ct(o,i,H,R,C,re,n,L),se=await ht(H,R,he,L,h),oe=se[re.route.id];if(!oe){for(let ie of he)if(se[ie.route.id]){oe=se[ie.route.id];break}}if(H.signal.aborted){te.get(h)===K&&te.delete(h);return}if(V.has(h)){if(rt(oe)||Le(oe)){Ue(h,Ne(void 0));return}}else{if(rt(oe))if(te.delete(h),p>ne){Ue(h,Ne(void 0));return}else return A.add(h),Ue(h,yt(k)),Ze(H,oe,!1,{fetcherSubmission:k,preventScrollReset:$});if(Le(oe)){He(h,v,oe.error);return}}let Re=w.navigation.location||w.location,be=st(e.history,Re,K.signal),mt=u.activeRoutes,We=w.navigation.state!=="idle"?De(mt,w.navigation.location,l,!1,u.branches):w.matches;Y(We,"Didn't find any matches after fetcher action");let ot=++de;x.set(h,ot);let{dsMatches:Ye,revalidatingFetchers:Ae}=_n(be,L,o,i,e.history,w,We,k,Re,n,!1,Q,Ee,V,N,A,mt,l,e.patchRoutesOnNavigation!=null,u.branches,[re.route.id,oe],U),cr=yt(k,oe.data),Ve=new Map(w.fetchers);Ve.set(h,cr),Ae.filter(ie=>ie.key!==h).forEach(ie=>{let et=ie.key,mn=Ve.get(et),bo=yt(void 0,mn?mn.data:void 0);Ve.set(et,bo),ze(et),ie.controller&&te.set(et,ie.controller)}),me({fetchers:Ve});let Mt=()=>Ae.forEach(ie=>ze(ie.key));K.signal.addEventListener("abort",Mt);let{loaderResults:Ot,fetcherResults:kt}=await nn(Ye,Ae,be,Re,L);if(K.signal.aborted)return;K.signal.removeEventListener("abort",Mt),x.delete(h),te.delete(h),Ae.forEach(ie=>te.delete(ie.key));let q=w.fetchers.has(h),Se=ie=>{if(!q)return ie;let et=new Map(ie.fetchers);return et.set(h,Ne(oe.data)),{...ie,fetchers:et}},Fe=Ft(Ot);if(Fe)return w=Se(w),Ze(be,Fe.result,!1,{preventScrollReset:$});if(Fe=Ft(kt),Fe)return A.add(Fe.key),w=Se(w),Ze(be,Fe.result,!1,{preventScrollReset:$});let Be=new Map(w.fetchers);q&&Be.set(h,Ne(oe.data));let{loaderData:hn,errors:dr}=In(w,We,Ot,void 0,Ae,kt,Be);ln(ot,Be),w.navigation.state==="loading"&&ot>p?(Y(z,"Expected pending action"),J&&J.abort(),at(w.navigation.location,{matches:We,loaderData:hn,errors:dr,fetchers:Be})):(me({errors:dr,loaderData:Nn(w.loaderData,hn,We,dr),fetchers:Be}),Q=!1)}async function ho(h,v,R,C,L,F,I,$,k){let U=w.fetchers.get(h);Ue(h,yt(k,U?U.data:void 0),{flushSync:I});let j=new AbortController,K=st(e.history,R,j.signal);if(F){let oe=await Dt(C,new URL(K.url).pathname,K.signal,h);if(oe.type==="aborted")return;if(oe.type==="error"){He(h,v,oe.error,{flushSync:I});return}else if(oe.matches)C=oe.matches;else{He(h,v,Me(404,{pathname:R}),{flushSync:I});return}}let H=Bt(C,R);te.set(h,j);let re=de,ne=ct(o,i,K,R,C,H,n,L),he=await ht(K,R,ne,L,h),se=he[H.route.id];if(!se){for(let oe of C)if(he[oe.route.id]){se=he[oe.route.id];break}}if(te.get(h)===j&&te.delete(h),!K.signal.aborted){if(V.has(h)){Ue(h,Ne(void 0));return}if(rt(se))if(p>re){Ue(h,Ne(void 0));return}else{A.add(h),await Ze(K,se,!1,{preventScrollReset:$});return}if(Le(se)){He(h,v,se.error);return}Ue(h,Ne(se.data))}}async function Ze(h,v,R,{submission:C,fetcherSubmission:L,preventScrollReset:F,replace:I}={}){R||(G?.resolve(),G=null),v.response.headers.has("X-Remix-Revalidate")&&(Q=!0);let $=v.response.headers.get("Location");Y($,"Expected a Location header on the redirect Response"),$=An($,new URL(h.url),l,e.history);let k=Rt(w.location,$,{_isRedirect:!0});if(r){let ne=!1;if(v.response.headers.has("X-Remix-Reload-Document"))ne=!0;else if(Nr($)){const he=ra(t,$,!0);ne=he.origin!==t.location.origin||Pe(he.pathname,l)==null}if(ne){I?t.location.replace($):t.location.assign($);return}}J=null;let U=I===!0||v.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:j,formAction:K,formEncType:H}=w.navigation;!C&&!L&&j&&K&&H&&(C=jn(w.navigation));let re=C||L;if(ui.has(v.response.status)&&re&&ye(re.formMethod))await Qe(U,k,{submission:{...re,formAction:$},preventScrollReset:F||ae,enableViewTransition:R?le:void 0});else{let ne=yr(k,[],U,C);await Qe(U,k,{overrideNavigation:ne,fetcherSubmission:L,preventScrollReset:F||ae,enableViewTransition:R?le:void 0})}}async function ht(h,v,R,C,L){let F,I={};try{F=await gi(s,h,v,R,L,C,!1)}catch($){return R.filter(k=>
26k.shouldLoad).forEach(k=>{I[k.route.id]={type:"error",error:$}}),I}if(h.signal.aborted)return I;if(!ye(h.method))for(let $ of R){if(F[$.route.id]?.type==="error")break;!F.hasOwnProperty($.route.id)&&!w.loaderData.hasOwnProperty($.route.id)&&(!w.errors||!w.errors.hasOwnProperty($.route.id))&&$.shouldCallHandler()&&(F[$.route.id]={type:"error",result:new Error(`No result returned from dataStrategy for route ${$.route.id}`)})}for(let[$,k]of Object.entries(F))if(_i(k)){let U=k.result;I[$]={type:"redirect",response:bi(U,h,$,R,l)}}else I[$]=await Ri(k);return I}async function nn(h,v,R,C,L){let F=ht(R,C,h,L,null),I=Promise.all(v.map(async U=>{if(U.matches&&U.match&&U.request&&U.controller){let K=(await ht(U.request,U.path,U.matches,L,U.key))[U.match.route.id];return{[U.key]:K}}else return Promise.resolve({[U.key]:{type:"error",error:Me(404,{pathname:U.path})}})})),$=await F,k=(await I).reduce((U,j)=>Object.assign(U,j),{});return{loaderResults:$,fetcherResults:k}}function lr(){Q=!0,N.forEach((h,v)=>{te.has(v)&&Ee.add(v),ze(v)})}function Ue(h,v,R={}){let C=new Map(w.fetchers);C.set(h,v),me({fetchers:C},{flushSync:(R&&R.flushSync)===!0})}function He(h,v,R,C={}){let L=Ge(w.matches,v),F=new Map(w.fetchers);sr(F,h),me({errors:{[L.route.id]:R},fetchers:F},{flushSync:(C&&C.flushSync)===!0})}function mo(h){return B.set(h,(B.get(h)||0)+1),V.has(h)&&V.delete(h),w.fetchers.get(h)||ma}function po(h,v){ze(h,v?.reason),Ue(h,Ne(null))}function sr(h,v){let R=w.fetchers.get(v);te.has(v)&&!(R&&R.state==="loading"&&x.has(v))&&ze(v),N.delete(v),x.delete(v),A.delete(v),V.delete(v),Ee.delete(v),h.delete(v)}function yo(h){let v=(B.get(h)||0)-1;v<=0?(B.delete(h),V.add(h)):B.set(h,v),me({fetchers:new Map(w.fetchers)})}function ze(h,v){let R=te.get(h);R&&(R.abort(v),te.delete(h))}function an(h,v){for(let R of h){let C=v.get(R);Y(C,`Expected fetcher: ${R}`);let L=Ne(C.data);v.set(R,L)}}function on(h){let v=[],R=!1;for(let C of A){let L=h.get(C);Y(L,`Expected fetcher: ${C}`),L.state==="loading"&&(A.delete(C),v.push(C),R=!0)}return an(v,h),R}function ln(h,v){let R=[];for(let[C,L]of x)if(L<h){let F=v.get(C);Y(F,`Expected fetcher: ${C}`),F.state==="loading"&&(ze(C),x.delete(C),R.push(C))}return an(R,v),R.length>0}function vo(h,v){let R=w.blockers.get(h)||pt;return Z.get(h)!==v&&Z.set(h,v),R}function sn(h){w.blockers.delete(h),Z.delete(h)}function Tt(h,v){let R=w.blockers.get(h)||pt;Y(R.state==="unblocked"&&v.state==="blocked"||R.state==="blocked"&&v.state==="blocked"||R.state==="blocked"&&v.state==="proceeding"||R.state==="blocked"&&v.state==="unblocked"||R.state==="proceeding"&&v.state==="unblocked",`Invalid blocker state transition: ${R.state} -> ${v.state}`);let C=new Map(w.blockers);C.set(h,v),me({blockers:C})}function un({currentLocation:h,nextLocation:v,historyAction:R}){if(Z.size===0)return;Z.size>1&&ue(!1,"A router only supports one blocker at a time");let C=Array.from(Z.entries()),[L,F]=C[C.length-1],I=w.blockers.get(L);if(!(I&&I.state==="proceeding")&&F({currentLocation:h,nextLocation:v,historyAction:R}))return L}function ur(h){let v=Me(404,{pathname:h}),R=u.activeRoutes,{matches:C,route:L}=At(R);return{notFoundMatches:C,route:L,error:v}}function go(h,v,R){if(b=h,g=v,E=R||null,!P&&w.navigation===pr){P=!0;let C=dn(w.location,w.matches);C!=null&&me({restoreScrollPosition:C})}return()=>{b=null,g=null,E=null}}function cn(h,v){return E&&E(h,v.map(C=>na(C,w.loaderData)))||h.key}function wo(h,v){if(b&&g){let R=cn(h,v);b[R]=g()}}function dn(h,v){if(b){let R=cn(h,v),C=b[R];if(typeof C=="number")return C}return null}function _t(h,v,R){if(e.patchRoutesOnNavigation){let C=u.branches;if(h){if(Object.keys(h[0].params).length>0)return{active:!0,matches:De(v,R,l,!0,C)}}else return{active:!0,matches:De(v,R,l,!0,C)||[]}}return{active:!1,matches:null}}async function Dt(h,v,R,C){if(!e.patchRoutesOnNavigation)return{type:"success",matches:h};let L=h;for(;;){let F=i;try{await e.patchRoutesOnNavigation({signal:R,path:v,matches:L,fetcherKey:C,patch:(U,j)=>{R.aborted||Dn(U,j,u,F,o,!1)}})}catch(U){return{type:"error",error:U,partialMatches:L}}if(R.aborted)return{type:"aborted"};let I=u.branches,$=De(u.activeRoutes,v,l,!1,I),k=null;if($){if(Object.keys($[0].params).length===0)return{type:"success",matches:$};if(k=De(u.activeRoutes,v,l,!0,I),!(k&&L.length<k.length&&fn(L,k.slice(0,L.length))))return{type:"success",matches:$}}if(k||(k=De(u.activeRoutes,v,l,!0,I)),!k||fn(L,k))return{type:"success",matches:null};L=k}}function fn(h,v){return h.length===v.length&&h.every((R,C)=>R.route.id===v[C].route.id)}function Eo(h){i={},u.setHmrRoutes(bt(h,o,void 0,i))}function Ro(h,v,R=!1){Dn(h,v,u,i,o,R),u.hasHMRRoutes||me({})}return M={get basename(){return l},get future(){return c},get state(){return w},get routes(){return u.stableRoutes},get branches(){return u.branches},get manifest(){return i},get window(){return t},initialize:ir,subscribe:oo,enableScrollRestoration:go,navigate:tn,fetch:co,revalidate:io,createHref:h=>e.history.createHref(h),encodeLocation:h=>e.history.encodeLocation(h),getFetcher:mo,resetFetcher:po,deleteFetcher:yo,dispose:ao,getBlocker:vo,deleteBlocker:sn,patchRoutes:Ro,_internalFetchControllers:te,_internalSetRoutes:Eo,_internalSetStateDoNotUseOrYouWillBreakYourApp(h){me(h)}},e.instrumentations&&(M=ti(M,e.instrumentations.map(h=>
26h.router).filter(Boolean))),M}function fi(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function Rr(e,t,r,n,a,o){let i,u;if(a){i=[];for(let s of t)if(i.push(s),s.route.id===a){u=s;break}}else i=t,u=t[t.length-1];let l=Qt(n||".",$r(i),Pe(e.pathname,r)||e.pathname,o==="path");if(n==null&&(l.search=e.search,l.hash=e.hash),(n==null||n===""||n===".")&&u){let s=Hr(l.search);if(u.route.index&&!s)l.search=l.search?l.search.replace(/^\?/,"?index&"):"?index";else if(!u.route.index&&s){let c=new URLSearchParams(l.search),d=c.getAll("index");c.delete("index"),d.filter(y=>y).forEach(y=>c.append("index",y));let m=c.toString();l.search=m?`?${m}`:""}}return r!=="/"&&(l.pathname=Vo({basename:r,pathname:l.pathname})),ke(l)}function Tn(e,t,r){if(!r||!fi(r))return{path:t};if(r.formMethod&&!Oi(r.formMethod))return{path:t,error:Me(405,{method:r.formMethod})};let n=()=>({path:t,error:Me(400,{type:"invalid-body"})}),o=(r.formMethod||"get").toUpperCase(),i=Ca(t);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!ye(o))return n();let d=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((m,[y,b])=>`${m}${y}=${b} 27`,""):String(r.body);return{path:t,submission:{formMethod:o,formAction:i,formEncType:r.formEncType,formData:void 0,json:void 0,text:d}}}else if(r.formEncType==="application/json"){if(!ye(o))return n();try{let d=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:t,submission:{formMethod:o,formAction:i,formEncType:r.formEncType,formData:void 0,json:d,text:void 0}}}catch{return n()}}}Y(typeof FormData=="function","FormData is not available in this environment");let u,l;if(r.formData)u=Cr(r.formData),l=r.formData;else if(r.body instanceof FormData)u=Cr(r.body),l=r.body;else if(r.body instanceof URLSearchParams)u=r.body,l=Fn(u);else if(r.body==null)u=new URLSearchParams,l=new FormData;else try{u=new URLSearchParams(r.body),l=Fn(u)}catch{return n()}let s={formMethod:o,formAction:i,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:l,json:void 0,text:void 0};if(ye(s.formMethod))return{path:t,submission:s};let c=$e(t);return e&&c.search&&Hr(c.search)&&u.append("index",""),c.search=`?${u}`,{path:ke(c),submission:s}}function _n(e,t,r,n,a,o,i,u,l,s,c,d,m,y,b,E,g,P,S,D,_,T){let O=_?Le(_[1])?_[1].error:_[1].data:void 0,M=a.createURL(o.location),w=a.createURL(l),z;if(c&&o.errors){let X=Object.keys(o.errors)[0];z=i.findIndex(Q=>Q.route.id===X)}else if(_&&Le(_[1])){let X=_[0];z=i.findIndex(Q=>Q.route.id===X)-1}let G=_?_[1].statusCode:void 0,ae=G&&G>=400,J={currentUrl:M,currentParams:o.matches[0]?.params||{},nextUrl:w,nextParams:i[0].params,...u,actionResult:O,actionStatus:G},le=Ct(i),ee=i.map((X,Q)=>{let{route:Ee}=X,te=null;if(z!=null&&Q>z)te=!1;else if(Ee.lazy)te=!0;else if(!Ur(Ee))te=!1;else if(c){let{shouldLoad:A}=va(Ee,o.loaderData,o.errors);te=A}else hi(o.loaderData,o.matches[Q],X)&&(te=!0);if(te!==null)return br(r,n,e,l,le,X,s,t,te);let de=!1;typeof T=="boolean"?de=T:ae?de=!1:(d||M.pathname+M.search===w.pathname+w.search||M.search!==w.search||mi(o.matches[Q],X))&&(de=!0);let p={...J,defaultShouldRevalidate:de},x=Et(X,p);return br(r,n,e,l,le,X,s,t,x,p,T)}),ce=[];return b.forEach((X,Q)=>{if(c||!i.some(B=>B.route.id===X.routeId)||y.has(Q))return;let Ee=o.fetchers.get(Q),te=Ee&&Ee.state!=="idle"&&Ee.data===void 0,de=De(g,X.path,P??"/",!1,D);if(!de){if(S&&te)return;ce.push({key:Q,routeId:X.routeId,path:X.path,matches:null,match:null,request:null,controller:null});return}if(E.has(Q))return;let p=Bt(de,X.path),x=new AbortController,A=st(a,X.path,x.signal),N=null;if(m.has(Q))m.delete(Q),N=ct(r,n,A,X.path,de,p,s,t);else if(te)d&&(N=ct(r,n,A,X.path,de,p,s,t));else{let B;typeof T=="boolean"?B=T:ae?B=!1:B=d;let V={...J,defaultShouldRevalidate:B};Et(p,V)&&(N=ct(r,n,A,X.path,de,p,s,t,V))}N&&ce.push({key:Q,routeId:X.routeId,path:X.path,matches:N,match:p,request:A,controller:x})}),{dsMatches:ee,revalidatingFetchers:ce}}function Ur(e){return e.loader!=null||e.middleware!=null&&e.middleware.length>0}function va(e,t,r){if(e.lazy)return{shouldLoad:!0,renderFallback:!0};if(!Ur(e))return{shouldLoad:!1,renderFallback:!1};let n=t!=null&&e.id in t,a=r!=null&&r[e.id]!==void 0;if(!n&&a)return{shouldLoad:!1,renderFallback:!1};if(typeof e.loader=="function"&&e.loader.hydrate===!0)return{shouldLoad:!0,renderFallback:!n};let o=!n&&!a;return{shouldLoad:o,renderFallback:o}}function hi(e,t,r){let n=!t||r.route.id!==t.route.id,a=!e.hasOwnProperty(r.route.id);return n||a}function mi(e,t){let r=e.route.path;return e.pathname!==t.pathname||r!=null&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function Et(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if(typeof r=="boolean")return r}return t.defaultShouldRevalidate}function Dn(e,t,r,n,a,o){let i;if(e){let s=n[e];Y(s,`No route found to patch children into: routeId = ${e}`),s.children||(s.children=[]),i=s.children}else i=r.activeRoutes;let u=[],l=[];
27if(t.forEach(s=>{let c=i.find(d=>ga(s,d));c?l.push({existingRoute:c,newRoute:s}):u.push(s)}),u.length>0){let s=bt(u,a,[e||"_","patch",String(i?.length||"0")],n);i.push(...s)}if(o&&l.length>0)for(let s=0;s<l.length;s++){let{existingRoute:c,newRoute:d}=l[s],m=c,[y]=bt([d],a,[],{},!0);Object.assign(m,{element:y.element?y.element:m.element,errorElement:y.errorElement?y.errorElement:m.errorElement,hydrateFallbackElement:y.hydrateFallbackElement?y.hydrateFallbackElement:m.hydrateFallbackElement})}r.hasHMRRoutes||r.setRoutes([...r.activeRoutes])}function ga(e,t){return"id"in e&&"id"in t&&e.id===t.id?!0:e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive?(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children?.every((r,n)=>t.children?.some(a=>ga(r,a)))??!1:!1}var Mn=new WeakMap,wa=({key:e,route:t,manifest:r,mapRouteProperties:n})=>{let a=r[t.id];if(Y(a,"No route found in manifest"),!a.lazy||typeof a.lazy!="object")return;let o=a.lazy[e];if(!o)return;let i=Mn.get(a);i||(i={},Mn.set(a,i));let u=i[e];if(u)return u;let l=(async()=>{let s=Mo(e),d=a[e]!==void 0&&e!=="hasErrorBoundary";if(s)ue(!s,"Route property "+e+" is not a supported lazy route property. This property will be ignored."),i[e]=Promise.resolve();else if(d)ue(!1,`Route "${a.id}" has a static property "${e}" defined. The lazy property will be ignored.`);else{let m=await o();m!=null&&(Object.assign(a,{[e]:m}),Object.assign(a,n(a)))}typeof a.lazy=="object"&&(a.lazy[e]=void 0,Object.values(a.lazy).every(m=>m===void 0)&&(a.lazy=void 0))})();return i[e]=l,l},On=new WeakMap;function pi(e,t,r,n,a){let o=r[e.id];if(Y(o,"No route found in manifest"),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof e.lazy=="function"){let c=On.get(o);if(c)return{lazyRoutePromise:c,lazyHandlerPromise:c};let d=(async()=>{Y(typeof e.lazy=="function","No lazy route function found");let m=await e.lazy(),y={};for(let b in m){let E=m[b];if(E===void 0)continue;let g=ko(b),S=o[b]!==void 0&&b!=="hasErrorBoundary";g?ue(!g,"Route property "+b+" is not a supported property to be returned from a lazy route function. This property will be ignored."):S?ue(!S,`Route "${o.id}" has a static property "${b}" defined but its lazy function is also returning a value for this property. The lazy route property "${b}" will be ignored.`):y[b]=E}Object.assign(o,y),Object.assign(o,{...n(o),lazy:void 0})})();return On.set(o,d),d.catch(()=>{}),{lazyRoutePromise:d,lazyHandlerPromise:d}}let i=Object.keys(e.lazy),u=[],l;for(let c of i){if(a&&a.includes(c))continue;let d=wa({key:c,route:e,manifest:r,mapRouteProperties:n});d&&(u.push(d),c===t&&(l=d))}let s=u.length>0?Promise.all(u).then(()=>{}):void 0;return s?.catch(()=>{}),l?.catch(()=>{}),{lazyRoutePromise:s,lazyHandlerPromise:l}}async function kn(e){let t=e.matches.filter(a=>a.shouldLoad),r={};return(await Promise.all(t.map(a=>a.resolve()))).forEach((a,o)=>{r[t[o].route.id]=a}),r}async function yi(e){return e.matches.some(t=>t.route.middleware)?Ea(e,()=>kn(e)):kn(e)}function Ea(e,t){return vi(e,t,n=>{if(Mi(n))throw n;return n},Pi,r);function r(n,a,o){if(o)return Promise.resolve(Object.assign(o.value,{[a]:{type:"error",result:n}}));{let{matches:i}=e,u=Math.min(Math.max(i.findIndex(s=>s.route.id===a),0),Math.max(i.findIndex(s=>s.shouldCallHandler()),0)),l=Ge(i,i[u].route.id).route.id;return Promise.resolve({[l]:{type:"error",result:n}})}}}async function vi(e,t,r,n,a){let{matches:o,...i}=e,u=o.flatMap(s=>s.route.middleware?s.route.middleware.map(c=>[s.route.id,c]):[]);return await Ra(i,u,t,r,n,a)}async function Ra(e,t,r,n,a,o,i=0){let{request:u}=e;if(u.signal.aborted)throw u.signal.reason??new Error(`Request aborted: ${u.method} ${u.url}`);let l=t[i];if(!l)return await r();let[s,c]=l,d,m=async()=>{if(d)throw new Error("You may only call `next()` once per middleware");try{return d={value:await Ra(e,t,r,n,a,o,i+1)},d.value}catch(y){return d={value:await o(y,s,d)},d.value}};try{let y=await c(e,m),b=y!=null?n(y):void 0;return a(b)?b:d?b??d.value:(d={value:await m()},d.value)}catch(y){return await o(y,s,d)}}function ba(e,t,r,n,a){let o=wa({key:"middleware",route:n.route,manifest:t,mapRouteProperties:e}),i=pi(n.route,ye(r.method)?"action":"loader",t,e,a);return{middleware:o,route:i.lazyRoutePromise,handler:i.lazyHandlerPromise}}function br(e,t,r,n,a,o,i,u,l,s=null,c){let d=!1,m=ba(e,t,r,o,i);return{...o,_lazyPromises:m,shouldLoad:l,shouldRevalidateArgs:s,shouldCallHandler(y){return d=!0,s?typeof c=="boolean"?Et(o,{...s,defaultShouldRevalidate:c}):typeof y=="boolean"?Et(o,{...s,defaultShouldRevalidate:y}):Et(o,s):l},resolve(y){let{lazy:b,loader:E,middleware:g}
27=o.route,P=d||l||y&&!ye(r.method)&&(b||E),S=g&&g.length>0&&!E&&!b;return P&&(ye(r.method)||!S)?wi({request:r,path:n,pattern:a,match:o,lazyHandlerPromise:m?.handler,lazyRoutePromise:m?.route,handlerOverride:y,scopedContext:u}):Promise.resolve({type:"data",result:void 0})}}}function ct(e,t,r,n,a,o,i,u,l=null){return a.map(s=>s.route.id!==o.route.id?{...s,shouldLoad:!1,shouldRevalidateArgs:l,shouldCallHandler:()=>!1,_lazyPromises:ba(e,t,r,s,i),resolve:()=>Promise.resolve({type:"data",result:void 0})}:br(e,t,r,n,Ct(a),s,i,u,!0,l))}async function gi(e,t,r,n,a,o,i){n.some(c=>c._lazyPromises?.middleware)&&await Promise.all(n.map(c=>c._lazyPromises?.middleware));let u={request:t,url:Sa(t,r),pattern:Ct(n),params:n[0].params,context:o,matches:n},s=await e({...u,fetcherKey:a,runClientMiddleware:c=>{let d=u;return Ea(d,()=>c({...d,fetcherKey:a,runClientMiddleware:()=>{throw new Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))}});try{await Promise.all(n.flatMap(c=>[c._lazyPromises?.handler,c._lazyPromises?.route]))}catch{}return s}async function wi({request:e,path:t,pattern:r,match:n,lazyHandlerPromise:a,lazyRoutePromise:o,handlerOverride:i,scopedContext:u}){let l,s,c=ye(e.method),d=c?"action":"loader",m=y=>{let b,E=new Promise((S,D)=>b=D);s=()=>b(),e.signal.addEventListener("abort",s);let g=S=>typeof y!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${d}" [routeId: ${n.route.id}]`)):y({request:e,url:Sa(e,t),pattern:r,params:n.params,context:u},...S!==void 0?[S]:[]),P=(async()=>{try{return{type:"data",result:await(i?i(D=>g(D)):g())}}catch(S){return{type:"error",result:S}}})();return Promise.race([P,E])};try{let y=c?n.route.action:n.route.loader;if(a||o)if(y){let b,[E]=await Promise.all([m(y).catch(g=>{b=g}),a,o]);if(b!==void 0)throw b;l=E}else{await a;let b=c?n.route.action:n.route.loader;if(b)[l]=await Promise.all([m(b),o]);else if(d==="action"){let E=new URL(e.url),g=E.pathname+E.search;throw Me(405,{method:e.method,pathname:g,routeId:n.route.id})}else return{type:"data",result:void 0}}else if(y)l=await m(y);else{let b=new URL(e.url),E=b.pathname+b.search;throw Me(404,{pathname:E})}}catch(y){return{type:"error",result:y}}finally{s&&e.signal.removeEventListener("abort",s)}return l}async function Ei(e){let t=e.headers.get("Content-Type");return t&&/\bapplication\/json\b/.test(t)?e.body==null?null:e.json():e.text()}async function Ri(e){let{result:t,type:r}=e;if(Zt(t)){let n;try{n=await Ei(t)}catch(a){return{type:"error",error:a}}return r==="error"?{type:"error",error:new qe(t.status,t.statusText,n),statusCode:t.status,headers:t.headers}:{type:"data",data:n,statusCode:t.status,headers:t.headers}}return r==="error"?Lr(t)?t.data instanceof Error?{type:"error",error:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"error",error:xi(t),statusCode:Xe(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"error",error:t,statusCode:Xe(t)?t.status:void 0}:Lr(t)?{type:"data",data:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"data",data:t}}function bi(e,t,r,n,a){let o=e.headers.get("Location");if(Y(o,"Redirects returned/thrown from loaders/actions must have a Location header"),!Nr(o)){let i=n.slice(0,n.findIndex(u=>u.route.id===r)+1);o=Rr(new URL(t.url),i,a,o),e.headers.set("Location",o)}return e}var Si=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];function Sr(e){try{return Si.includes(new URL(e).protocol)}catch{return!1}}function An(e,t,r,n){if(Nr(e)){let a=e,o=Ar.test(a)?new URL(ta(a,t.protocol)):new URL(a);if(Sr(o.toString()))throw new Error("Invalid redirect location");let i=Pe(o.pathname,r)!=null;if(o.origin===t.origin&&i)return jr(o.pathname)+o.search+o.hash}try{let a=n.createURL(e);if(Sr(a.toString()))throw new Error("Invalid redirect location")}catch{}return e}function st(e,t,r,n){let a=e.createURL(Ca(t)).toString(),o={signal:r};if(n&&ye(n.formMethod)){let{formMethod:i,formEncType:u}=n;o.method=i.toUpperCase(),u==="application/json"?(o.headers=new Headers({"Content-Type":u}),o.body=JSON.stringify(n.json)):u==="text/plain"?o.body=n.text:u==="application/x-www-form-urlencoded"&&n.formData?o.body=Cr(n.formData):o.body=n.formData}
27return new Request(a,o)}function Sa(e,t){let r=new URL(e.url),n=typeof t=="string"?$e(t):t;if(r.pathname=n.pathname||"/",n.search){let a=new URLSearchParams(n.search),o=a.getAll("index");a.delete("index");for(let i of o.filter(Boolean))a.append("index",i);r.search=a.size?`?${a.toString()}`:""}else r.search="";return r.hash=n.hash||"",r}function Cr(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,typeof n=="string"?n:n.name);return t}function Fn(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function Ci(e,t,r,n=!1,a=!1){let o={},i=null,u,l=!1,s={},c=r&&Le(r[1])?r[1].error:void 0;return e.forEach(d=>{if(!(d.route.id in t))return;let m=d.route.id,y=t[m];if(Y(!rt(y),"Cannot handle redirect results in processLoaderData"),Le(y)){let b=y.error;if(c!==void 0&&(b=c,c=void 0),i=i||{},a)i[m]=b;else{let E=Ge(e,m);i[E.route.id]==null&&(i[E.route.id]=b)}n||(o[m]=ya),l||(l=!0,u=Xe(y.error)?y.error.status:500),y.headers&&(s[m]=y.headers)}else o[m]=y.data,y.statusCode&&y.statusCode!==200&&!l&&(u=y.statusCode),y.headers&&(s[m]=y.headers)}),c!==void 0&&r&&(i={[r[0]]:c},r[2]&&(o[r[2]]=void 0)),{loaderData:o,errors:i,statusCode:u||200,loaderHeaders:s}}function In(e,t,r,n,a,o,i){let{loaderData:u,errors:l}=Ci(t,r,n);return a.filter(s=>!s.matches||s.matches.some(c=>c.shouldLoad)).forEach(s=>{let{key:c,match:d,controller:m}=s;if(m&&m.signal.aborted)return;let y=o[c];if(Y(y,"Did not find corresponding fetcher result"),Le(y)){let b=Ge(e.matches,d?.route.id);l&&l[b.route.id]||(l={...l,[b.route.id]:y.error}),i.delete(c)}else if(rt(y))Y(!1,"Unhandled fetcher revalidation redirect");else{let b=Ne(y.data);i.set(c,b)}}),{loaderData:u,errors:l}}function Nn(e,t,r,n){let a=Object.entries(t).filter(([,o])=>o!==ya).reduce((o,[i,u])=>(o[i]=u,o),{});for(let o of r){let i=o.route.id;if(!t.hasOwnProperty(i)&&e.hasOwnProperty(i)&&o.route.loader&&(a[i]=e[i]),n&&n.hasOwnProperty(i))break}return a}function $n(e){return e?Le(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function Ge(e,t){return(t?e.slice(0,e.findIndex(n=>n.route.id===t)+1):[...e]).reverse().find(n=>n.route.hasErrorBoundary===!0)||e[0]}function At(e){let t=e.length===1?e[0]:e.find(r=>r.index||!r.path||r.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function Me(e,{pathname:t,routeId:r,method:n,type:a,message:o}={}){let i="Unknown Server Error",u="Unknown @remix-run/router error";return e===400?(i="Bad Request",n&&t&&r?u=`You made a ${n} request to "${t}" but did not provide a \`loader\` for route "${r}", so there is no way to handle the request.`:a==="invalid-body"&&(u="Unable to encode submission body")):e===403?(i="Forbidden",u=`Route "${r}" does not match URL "${t}"`):e===404?(i="Not Found",u=`No route matches URL "${t}"`):e===405&&(i="Method Not Allowed",n&&t&&r?u=`You made a ${n.toUpperCase()} request to "${t}" but did not provide an \`action\` for route "${r}", so there is no way to handle the request.`:n&&(u=`Invalid request method "${n.toUpperCase()}"`)),new qe(e||500,i,new Error(u),!0)}function Ft(e){let t=Object.entries(e);for(let r=t.length-1;r>=0;r--){let[n,a]=t[r];if(rt(a))return{key:n,result:a}}}function Ca(e){let t=typeof e=="string"?$e(e):e;return ke({...t,hash:""})}function Li(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function xi(e){return new qe(e.init?.status??500,e.init?.statusText??"Internal Server Error",e.data)}function Pi(e){return e!=null&&typeof e=="object"&&Object.entries(e).every(([t,r])=>typeof t=="string"&&Ti(r))}function Ti(e){return e!=null&&typeof e=="object"&&"type"in e&&"result"in e&&(e.type==="data"||e.type==="error")}function _i(e){return Zt(e.result)&&ha.has(e.result.status)}function Le(e){return e.type==="error"}function rt(e){return(e&&e.type)==="redirect"}function Lr(e){return typeof e=="object"&&e!=null&&"type"in e&&"data"in e&&"init"in e&&e.type==="DataWithResponseInit"}function Zt(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function Di(e){return ha.has(e)}function Mi(e){return Zt(e)&&Di(e.status)&&e.headers.has("Location")}function Oi(e){return si.has(e.toUpperCase())}function ye(e){return ii.has(e.toUpperCase())}function Hr(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function Bt(e,t){let r=typeof t=="string"?$e(t).search:t.search;if(e[e.length-1].route.index&&Hr(r||""))return e[e.length-1];let n=la(e);return n[n.length-1]}function jn(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:o,json:i}=e;
27if(!(!t||!r||!n)){if(a!=null)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a};if(o!=null)return{formMethod:t,formAction:r,formEncType:n,formData:o,json:void 0,text:void 0};if(i!==void 0)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:i,text:void 0}}}function yr(e,t,r,n){return n?{state:"loading",location:e,matches:t,historyAction:r,formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text}:{state:"loading",location:e,matches:t,historyAction:r,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function ki(e,t,r,n){return{state:"submitting",location:e,matches:t,historyAction:r,formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text}}function yt(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function Ai(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function Ne(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function Fi(e,t){try{let r=e.sessionStorage.getItem(pa);if(r){let n=JSON.parse(r);for(let[a,o]of Object.entries(n||{}))o&&Array.isArray(o)&&t.set(a,new Set(o||[]))}}catch{}}function Ii(e,t){if(t.size>0){let r={};for(let[n,a]of t)r[n]=[...a];try{e.sessionStorage.setItem(pa,JSON.stringify(r))}catch(n){ue(!1,`Failed to save applied view transitions in sessionStorage (${n}).`)}}}function Un(){let e,t,r=new Promise((n,a)=>{e=async o=>{n(o);try{await r}catch{}},t=async o=>{a(o);try{await r}catch{}}});return{promise:r,resolve:e,reject:t}}var nt=f.createContext(null);nt.displayName="DataRouter";var dt=f.createContext(null);dt.displayName="DataRouterState";var La=f.createContext(!1);function zr(){return f.useContext(La)}var Br=f.createContext({isTransitioning:!1});Br.displayName="ViewTransition";var Wr=f.createContext(new Map);Wr.displayName="Fetchers";var Ni=f.createContext(null);Ni.displayName="Await";var Ce=f.createContext(null);Ce.displayName="Navigation";var er=f.createContext(null);er.displayName="Location";var Oe=f.createContext({outlet:null,matches:[],isDataRoute:!1});Oe.displayName="Route";var Yr=f.createContext(null);Yr.displayName="RouteError";var xa="REACT_ROUTER_ERROR",$i="REDIRECT",ji="ROUTE_ERROR_RESPONSE";function Ui(e){if(e.startsWith(`${xa}:${$i}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.location=="string"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch{}}function Hi(e){if(e.startsWith(`${xa}:${ji}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new qe(t.status,t.statusText,t.data)}catch{}}function zi(e,{relative:t}={}){Y(Lt(),"useHref() may be used only in the context of a <Router> component.");let{basename:r,navigator:n}=f.useContext(Ce),{hash:a,pathname:o,search:i}=xt(e,{relative:t}),u=o;return r!=="/"&&(u=o==="/"?r:xe([r,o])),n.createHref({pathname:u,search:i,hash:a})}function Lt(){return f.useContext(er)!=null}function Te(){return Y(Lt(),"useLocation() may be used only in the context of a <Router> component."),f.useContext(er).location}var Pa="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Ta(e){f.useContext(Ce).static||f.useLayoutEffect(e)}function _a(){let{isDataRoute:e}=f.useContext(Oe);return e?el():Bi()}function Bi(){Y(Lt(),"useNavigate() may be used only in the context of a <Router> component.");let e=f.useContext(nt),{basename:t,navigator:r}=f.useContext(Ce),{matches:n}=f.useContext(Oe),{pathname:a}=Te(),o=JSON.stringify($r(n)),i=f.useRef(!1);return Ta(()=>{i.current=!0}),f.useCallback((l,s={})=>
27{if(ue(i.current,Pa),!i.current)return;if(typeof l=="number"){r.go(l);return}let c=Qt(l,JSON.parse(o),a,s.relative==="path");e==null&&t!=="/"&&(c.pathname=c.pathname==="/"?t:xe([t,c.pathname])),(s.replace?r.replace:r.push)(c,s.state,s)},[t,r,o,a,e])}var Da=f.createContext(null);function Us(){return f.useContext(Da)}function Wi(e){let t=f.useContext(Oe).outlet;return f.useMemo(()=>t&&f.createElement(Da.Provider,{value:e},t),[t,e])}function Ma(){let{matches:e}=f.useContext(Oe);return e[e.length-1]?.params??{}}function xt(e,{relative:t}={}){let{matches:r}=f.useContext(Oe),{pathname:n}=Te(),a=JSON.stringify($r(r));return f.useMemo(()=>Qt(e,JSON.parse(a),n,t==="path"),[e,a,n,t])}function Yi(e,t,r){Y(Lt(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:n}=f.useContext(Ce),{matches:a}=f.useContext(Oe),o=a[a.length-1],i=o?o.params:{},u=o?o.pathname:"/",l=o?o.pathnameBase:"/",s=o&&o.route;{let g=s&&s.path||"";Ia(u,!s||g.endsWith("*")||g.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${u}" (under <Route path="${g}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. 28 29Please change the parent <Route path="${g}"> to <Route path="${g==="/"?"*":`${g}/*`}">.`)}let c=Te(),d;d=c;let m=d.pathname||"/",y=m;if(l!=="/"){let g=l.replace(/^\//,"").split("/");y="/"+m.replace(/^\//,"").split("/").slice(g.length).join("/")}let b=r&&r.state.matches.length?r.state.matches.map(g=>Object.assign(g,{route:r.manifest[g.route.id]||g.route})):Fr(e,{pathname:y});return ue(s||b!=null,`No routes matched location "${d.pathname}${d.search}${d.hash}" `),ue(b==null||b[b.length-1].route.element!==void 0||b[b.length-1].route.Component!==void 0||b[b.length-1].route.lazy!==void 0,`Matched leaf route at location "${d.pathname}${d.search}${d.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`),Xi(b&&b.map(g=>Object.assign({},g,{params:Object.assign({},i,g.params),pathname:xe([l,n.encodeLocation?n.encodeLocation(g.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:g.pathname]),pathnameBase:g.pathnameBase==="/"?l:xe([l,n.encodeLocation?n.encodeLocation(g.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:g.pathnameBase])})),a,r)}function Vi(){let e=Gr(),t=Xe(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",a={padding:"0.5rem",backgroundColor:n},o={padding:"2px 4px",backgroundColor:n},i=null;return console.error("Error handled by React Router default ErrorBoundary:",e),i=f.createElement(f.Fragment,null,f.createElement("p",null,"ð¿ Hey developer ð"),f.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",f.createElement("code",{style:o},"ErrorBoundary")," or"," ",f.createElement("code",{style:o},"errorElement")," prop on your route.")),f.createElement(f.Fragment,null,f.createElement("h2",null,"Unexpected Application Error!"),f.createElement("h3",{style:{fontStyle:"italic"}},t),r?f.createElement("pre",{style:a},r):null,i)}var Ji=f.createElement(Vi,null),Oa=class extends f.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const r=Hi(e.digest);r&&(e=r)}let t=e!==void 0?f.createElement(Oe.Provider,{value:this.props.routeContext},f.createElement(Yr.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?f.createElement(Gi,{error:e},t):t}};
29Oa.contextType=La;var vr=new WeakMap;function Gi({children:e,error:t}){let{basename:r}=f.useContext(Ce);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let n=Ui(t.digest);if(n){let a=vr.get(t);if(a)throw a;let o=ca(n.location,r),i=o.absoluteURL||o.to;if(Sr(i))throw new Error("Invalid redirect location");if(ua&&!vr.get(t))if(o.isExternal||n.reloadDocument)window.location.href=i;else{const u=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(o.to,{replace:n.replace}));throw vr.set(t,u),u}return f.createElement("meta",{httpEquiv:"refresh",content:`0;url=${i}`})}}return e}function Ki({routeContext:e,match:t,children:r}){let n=f.useContext(nt);return n&&n.static&&n.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=t.route.id),f.createElement(Oe.Provider,{value:e},r)}function Xi(e,t=[],r){let n=r?.state;if(e==null){if(!n)return null;if(n.errors)e=n.matches;else if(t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let a=e,o=n?.errors;if(o!=null){let c=a.findIndex(d=>d.route.id&&o?.[d.route.id]!==void 0);Y(c>
29=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),a=a.slice(0,Math.min(a.length,c+1))}let i=!1,u=-1;if(r&&n){i=n.renderFallback;for(let c=0;c<a.length;c++){let d=a[c];if((d.route.HydrateFallback||d.route.hydrateFallbackElement)&&(u=c),d.route.id){let{loaderData:m,errors:y}=n,b=d.route.loader&&!m.hasOwnProperty(d.route.id)&&(!y||y[d.route.id]===void 0);if(d.route.lazy||b){r.isStatic&&(i=!0),u>=0?a=a.slice(0,u+1):a=[a[0]];break}}}}let l=r?.onError,s=n&&l?(c,d)=>{l(c,{location:n.location,params:n.matches?.[0]?.params??{},pattern:Ct(n.matches),errorInfo:d})}:void 0;return a.reduceRight((c,d,m)=>{let y,b=!1,E=null,g=null;n&&(y=o&&d.route.id?o[d.route.id]:void 0,E=d.route.errorElement||Ji,i&&(u<0&&m===0?(Ia("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),b=!0,g=null):u===m&&(b=!0,g=d.route.hydrateFallbackElement||null)));let P=t.concat(a.slice(0,m+1)),S=()=>{let D;return y?D=E:b?D=g:d.route.Component?D=f.createElement(d.route.Component,null):d.route.element?D=d.route.element:D=c,f.createElement(Ki,{match:d,routeContext:{outlet:c,matches:P,isDataRoute:n!=null},children:D})};return n&&(d.route.ErrorBoundary||d.route.errorElement||m===0)?f.createElement(Oa,{location:n.location,revalidation:n.revalidation,component:E,error:y,children:S(),routeC
29ontext:{outlet:null,matches:P,isDataRoute:!0},onError:s}):S()},null)}function Vr(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function ka(e){let t=f.useContext(nt);return Y(t,Vr(e)),t}function ft(e){let t=f.useContext(dt);return Y(t,Vr(e)),t}function qi(e){let t=f.useContext(Oe);return Y(t,Vr(e)),t}function Pt(e){let t=qi(e),r=t.matches[t.matches.length-1];return Y(r.route.id,`${e} can only be used on routes that contain a unique "id"`),r.route.id}function Qi(){return Pt("useRouteId")}function Zi(){let e=ft("useNavigation");return f.useMemo(()=>{let{matches:t,historyAction:r,...n}=e.navigation;return n},[e.navigation])}function Hs(){let e=ka("useRevalidator"),t=ft("useRevalidator"),r=f.useCallback(async()=>{await e.router.revalidate()},[e.router]);return f.useMemo(()=>({revalidate:r,state:t.revalidation}),[r,t.revalidation])}function Jr(){let{matches:e,loaderData:t}=ft("useMatches");return f.useMemo(()=>e.map(r=>na(r,t)),[e,t])}function Aa(){let e=ft("useLoaderData"),t=Pt("useLoaderData");return e.loaderData[t]}function Fa(){let e=ft("useActionData"),t=Pt("useLoaderData");return e.actionData?e.actionData[t]:void 0}function Gr(){let e=f.useContext(Yr),t=ft("useRouteError"),r=Pt("useRouteError");return e!==void 0?e:t.errors?.[r]}function el(){let{router:e}=ka("useNavigate"),t=Pt("useNavigate"),r=f.useRef(!1);return Ta(()=>{r.current=!0}),f.useCallback(async(a,o={})=>{ue(r.current,Pa),r.current&&(typeof a=="number"?await e.navigate(a):await e.navigate(a,{fromRouteId:t,...o}))},[e,t])}var Hn={};function Ia(e,t,r){!t&&!Hn[e]&&(Hn[e]=!0,ue(!1,r))}var zn={};function xr(e,t){!e&&!zn[t]&&(zn[t]=!0,console.warn(t))}var tl="useOptimistic",Bn=xo[tl],rl=()=>{};function nl(e){return Bn?Bn(e):[e,rl]}function zs(e){let t={hasErrorBoundary:e.hasErrorBoundary||e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&(e.element&&ue(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(t,{element:f.createElement(e.Component),Component:void 0})),e.HydrateFallback&&(e.hydrateFallbackElement&&ue(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(t,{hydrateFallbackElement:f.createElement(e.HydrateFallback),HydrateFallback:void 0})),e.ErrorBoundary&&(e.errorElement&&ue(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(t,{errorElement:f.createElement(e.ErrorBoundary),ErrorBoundary:void 0})),t}var Bs=["HydrateFallback","hydrateFallbackElement"],al=class{constructor(){this.status="pending",this.promise=new Promise((e,t)=>{this.resolve=r=>{this.status==="pending"&&(this.status="resolved",e(r))},this.reject=r=>{this.status==="pending"&&(this.status="rejected",t(r))}})}};function Ws({router:e,flushSync:t,onError:r,useTransitions:n}){n=zr()||n;let[o,i]=f.useState(e.state),[u,l]=nl(o),[s,c]=f.useState(),[d,m]=f.useState({isTransitioning:!1}),[y,b]=f.useState(),[E,g]=f.useState(),[P,S]=f.useState(),D=f.useRef(new Map),_=f.useCallback((w,{deletedFetchers:z,newErrors:G,flushSync:ae,viewTransitionOpts:J})=>{G&&r&&Object.values(G).forEach(ee=>r(ee,{location:w.location,params:w.matches[0]?.params??{},pattern:Ct(w.matches)})),w.fetchers.forEach((ee,ce)=>{ee.data!==void 0&&D.current.set(ce,ee.data)}),z.forEach(ee=>D.current.delete(ee)),xr(ae===!1||t!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let le=e.window!=null&&e.window.document!=null&&typeof e.window.document.startViewTransition=="function";if(xr(J==null||le,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!J||!le){t&&ae?t(()=>i(w)):n===!1?i(w):f.startTransition(()=>{n===!0&&l(ee=>Wn(ee,w)),i(w)});return}if(t&&ae){t(()=>{E&&(y?.resolve(),E.skipTransition()),m({isTransitioning:!0,flushSync:!0,currentLocation:J.currentLocation,nextLocation:J.nextLocation})});let ee=e.window.document.startViewTransition(()=>{t(()=>i(w))});ee.finished.finally(()=>{t(()=>{b(void 0),g(void 0),c(void 0),m({isTransitioning:!1})})}),t(()=>g(ee));return}E?(y?.resolve(),E.skipTransition(),S({state:w,currentLocation:J.currentLocation,nextLocation:J.nextLocation})):(c(w),m({isTransitioning:!0,flushSync:!1,currentLocation:J.currentLocation,nextLocation:J.nextLocation}))},[e.window,t,E,y,n,l,r]);f.useLayoutEffect(()=>e.subscribe(_),[e,_]),f.useEffect(()=>
29{d.isTransitioning&&!d.flushSync&&b(new al)},[d]),f.useEffect(()=>{if(y&&s&&e.window){let w=s,z=y.promise,G=e.window.document.startViewTransition(async()=>{n===!1?i(w):f.startTransition(()=>{n===!0&&l(ae=>Wn(ae,w)),i(w)}),await z});G.finished.finally(()=>{b(void 0),g(void 0),c(void 0),m({isTransitioning:!1})}),g(G)}},[s,y,e.window,n,l]),f.useEffect(()=>{y&&s&&u.location.key===s.location.key&&y.resolve()},[y,E,u.location,s]),f.useEffect(()=>{!d.isTransitioning&&P&&(c(P.state),m({isTransitioning:!0,flushSync:!1,currentLocation:P.currentLocation,nextLocation:P.nextLocation}),S(void 0))},[d.isTransitioning,P]);let T=f.useMemo(()=>({createHref:e.createHref,encodeLocation:e.encodeLocation,go:w=>e.navigate(w),push:(w,z,G)=>e.navigate(w,{state:z,preventScrollReset:G?.preventScrollReset}),replace:(w,z,G)=>e.navigate(w,{replace:!0,state:z,preventScrollReset:G?.preventScrollReset})}),[e]),O=e.basename||"/",M=f.useMemo(()=>({router:e,navigator:T,static:!1,basename:O,onError:r}),[e,T,O,r]);return f.createElement(f.Fragment,null,f.createElement(nt.Provider,{value:M},f.createElement(dt.Provider,{value:u},f.createElement(Wr.Provider,{value:D.current},f.createElement(Br.Provider,{value:d},f.createElement(ll,{basename:O,location:u.location,navigationType:u.historyAction,navigator:T,useTransitions:n},f.createElement(ol,{routes:e.routes,manifest:e.manifest,future:e.future,state:u,isStatic:!1,onError:r})))))),null)}function Wn(e,t){return{...e,navigation:t.navigation.state!=="idle"?t.navigation:e.navigation,revalidation:t.revalidation!=="idle"?t.revalidation:e.revalidation,actionData:t.navigation.state!=="submitting"?t.actionData:e.actionData,fetchers:t.fetchers}}var ol=f.memo(il);function il({routes:e,manifest:t,future:r,state:n,isStatic:a,onError:o}){return Yi(e,void 0,{manifest:t,state:n,isStatic:a,onError:o})}function Ys(e){return Wi(e.context)}function ll({basename:e="/",children:t=null,location:r,navigationType:n="POP",navigator:a,static:o=!1,useTransitions:i}){Y(!Lt(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let u=e.replace(/^\/*/,"/"),l=f.useMemo(()=>({basename:u,navigator:a,static:o,useTransitions:i,future:{}}),[u,a,o,i]);typeof r=="string"&&(r=$e(r));let{pathname:s="/",search:c="",hash:d="",state:m=null,key:y="default",mask:b}=r,E=f.useMemo(()=>{let g=Pe(s,u);return g==null?null:{location:{pathname:g,search:c,hash:d,state:m,key:y,mask:b},navigationType:n}},[u,s,c,d,m,y,n,b]);return ue(E!=null,`<Router basename="${u}"> is not able to match the URL "${s}${c}${d}" because it does not start with the basename, so the <Router> won't render anything.`),E==null?null:f.createElement(Ce.Provider,{value:l},f.createElement(er.Provider,{children:t,value:E}))}function sl(){return{params:Ma(),loaderData:Aa(),actionData:Fa(),matches:Jr()}}function Vs(e){return function(){const r=sl();return f.createElement(e,r)}}function ul(){return{params:Ma(),loaderData:Aa(),actionData:Fa(),error:Gr()}}function Js(e){return function(){const r=ul();return f.createElement(e,r)}}var Wt="get",Yt="application/x-www-form-urlencoded";function tr(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function cl(e){return tr(e)&&e.tagName.toLowerCase()==="button"}function dl(e){return tr(e)&&e.tagName.toLowerCase()==="form"}function fl(e){return tr(e)&&e.tagName.toLowerCase()==="input"}function hl(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function ml(e,t){return e.button===0&&(!t||t==="_self")&&!hl(e)}function Pr(e=""){return 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 pl(e,t){let r=Pr(e);return t&&t.forEach((n,a)=>{r.has(a)||t.getAll(a).forEach(o=>{r.append(a,o)})}),r}var It=null;function yl(){if(It===null)try{new FormData(document.createElement("form"),0),It=!1}catch{It=!0}return It}var vl=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function gr(e){return e!=null&&!vl.has(e)?(ue(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Yt}"`),null):e}function gl(e,t){let r,n,a,o,i;if(dl(e)){let u=e.getAttribute("action");n=u?Pe(u,t):null,r=e.getAttribute("method")||Wt,a=gr(e.getAttribute("enctype"))||Yt,o=new FormData(e)}else if(cl(e)||fl(e)&&(e.type==="submit"||e.type==="image")){let u=e.form;if(u==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let l=e.getAttribute("formaction")||u.getAttribute("action");if(n=l?Pe(l,t):null,r=e.getAttribute("formmethod")||u.getAttribute("method")||Wt,a=gr(e.getAttribute("formenctype"))||gr(u.getAttribute("enctype"))||Yt,o=new FormData(u,e),!yl()){let{name:s,type:c,value:d}=e;if(c==="image"){let m=s?`${s}.`:"";o.append(`${m}x`,"0"),o.append(`${m}y`,"0")}
29else s&&o.append(s,d)}}else{if(tr(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=Wt,n=null,a=Yt,i=e}return o&&a==="text/plain"&&(i=o,o=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:o,body:i}}var wl=-1,El=-2,Rl=-3,bl=-4,Sl=-5,Cl=-6,Ll=-7,xl="B",Pl="D",Na="E",Tl="M",_l="N",$a="P",Dl="R",Ml="S",Ol="Y",kl="U",Al="Z",ja=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};function Fl(){const e=new TextDecoder;let t="";return new TransformStream({transform(r,n){const a=e.decode(r,{stream:!0}),o=(t+a).split(` 30`);t=o.pop()||"";for(const i of o)n.enqueue(i)},flush(r){t&&r.enqueue(t)}})}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Nt=typeof window<"u"?window:typeof globalThis<"u"?globalThis:void 0;function Tr(e){const{hydrated:t,values:r}=this;if(typeof e=="number")return Yn.call(this,e);if(!Array.isArray(e)||!e.length)throw new SyntaxError;const n=r.length;for(const a of e)r.push(a);return t.length=r.length,Yn.call(this,n)}function Yn(e){const{hydrated:t,values:r,deferred:n,plugins:a}=this;let o;const i=[[e,l=>{o=l}]];let u=[];for(;i.length>0;){const[l,s]=i.pop();switch(l){case Ll:s(void 0);continue;case Sl:s(null);continue;case El:s(NaN);continue;case Cl:s(1/0);continue;case Rl:s(-1/0);continue;case bl:s(-0);continue}if(t[l]){s(t[l]);continue}const c=r[l];if(!c||typeof c!="object"){t[l]=c,s(c);continue}if(Array.isArray(c))if(typeof c[0]=="string"){const[d,m,y]=c;switch(d){case Pl:s(t[l]=new Date(m));continue;case kl:s(t[l]=new URL(m));continue;case xl:s(t[l]=BigInt(m));continue;case Dl:s(t[l]=new RegExp(m,y));continue;case Ol:s(t[l]=Symbol.for(m));continue;case Ml:const b=new Set;t[l]=b;for(let _=c.length-1;_>0;_--)i.push([c[_],T=>{b.add(T)}]);s(b);continue;case Tl:const E=new Map;t[l]=E;for(let _=c.length-2;_>0;_-=2){const T=[];i.push([c[_+1],O=>{T[1]=O}]),i.push([c[_],O=>{T[0]=O}]),u.push(()=>{E.set(T[0],T[1])})}s(E);continue;case _l:const g=Object.create(null);t[l]=g;for(const _ of Object.keys(m).reverse()){const T=[];i.push([m[_],O=>{T[1]=O}]),i.push([Number(_.slice(1)),O=>{T[0]=O}]),u.push(()=>{g[T[0]]=T[1]})}s(g);continue;case $a:if(t[m])s(t[l]=t[m]);else{const _=new ja;n[m]=_,s(t[l]=_.promise)}continue;case Na:const[,P,S]=c;let D=S&&Nt&&sa.includes(S)&&S in Nt&&typeof Nt[S]=="function"?new Nt[S](P):new Error(P);t[l]=D,s(D);continue;case Al:s(t[l]=t[m]);continue;default:if(Array.isArray(a)){const _=[],T=c.slice(1);for(let O=0;O<T.length;O++){const M=T[O];i.push([M,w=>{_[O]=w}])}u.push(()=>{for(const O of a){const M=O(c[0],..._);if(M){s(t[l]=M.value);return}}throw new SyntaxError});continue}throw new SyntaxError}}else{const d=[];t[l]=d;for(let m=0;m<c.length;m++){const y=c[m];y!==wl&&i.push([y,b=>{d[m]=b}])}s(d);continue}else{const d={};t[l]=d;for(const m of Object.keys(c).reverse()){const y=[];i.push([c[m],b=>{y[1]=b}]),i.push([Number(m.slice(1)),b=>{y[0]=b}]),u.push(()=>{d[y[0]]=y[1]})}s(d);continue}}for(;u.length>0;)u.pop()();return o}async function Il(e,t){const{plugins:r}=t??{},n=new ja,a=e.pipeThrough(Fl()).getReader(),o={values:[],hydrated:[],deferred:{},plugins:r},i=await Nl.call(o,a);let u=n.promise;return i.done?n.resolve():u=$l.call(o,a).then(n.resolve).catch(l=>{for(const s of Object.values(o.deferred))s.reject(l);n.reject(l)}),{done:u.then(()=>a.closed),value:i.value}}async function Nl(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:Tr.call(this,r)}}async function $l(e){let t=await e.read();for(;!t.done;){if(!t.value)continue;const r=t.value;switch(r[0]){case $a:{const n=r.indexOf(":"),a=Number(r.slice(1,n)),o=this.deferred[a];if(!o)throw new Error(`Deferred ID ${a} not found in stream`);const i=r.slice(n+1);let u;try{u=JSON.parse(i)}catch{throw new SyntaxError}const l=Tr.call(this,u);o.resolve(l);break}case Na:{const n=r.indexOf(":"),a=Number(r.slice(1,n)),o=this.deferred[a];if(!o)throw new Error(`Deferred ID ${a} not found in stream`);const i=r.slice(n+1);let u;try{u=JSON.parse(i)}catch{throw new SyntaxError}const l=Tr.call(this,u);o.reject(l);break}default:throw new SyntaxError}t=await e.read()}}async function jl(e){let t={signal:e.signal};if(e.method!=="GET"){t.method=e.method;let r=e.headers.get("Content-Type");r&&/\bapplication\/json\b/.test(r)?(t.headers={"Content-Type":r},t.body=JSON.stringify(await e.json())):r&&/\btext\/plain\b/.test(r)?(t.headers={"Content-Type":r},t.body=await e.text()):r&&/\bapplication\/x-www-form-urlencoded\b/.test(r)?t.body=new URLSearchParams(await e.text()):t.body=await e.formData()}return t}var Ul={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},Hl=/[&><\u2028\u2029]/g;function _r(e){return e.replace(Hl,t=>Ul[t])}function we(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}
30var Dr=Symbol("SingleFetchRedirect"),Ua=class extends Error{},zl=202,Ha=new Set([100,101,204,205]);function Gs(e,t,r,n,a,o){let i=Bl(e,u=>{let l=t.routes[u.route.id];return we(l,"Route not found in manifest"),{hasLoader:l.hasLoader,hasClientLoader:l.hasClientLoader}},Xl,n,a,o);return async u=>u.runClientMiddleware(i)}function Bl(e,t,r,n,a,o,i=()=>!0){return async u=>{let{request:l,matches:s,fetcherKey:c}=u,d=e();if(l.method!=="GET")return Wl(u,r,a,o);let m=s.some(y=>{let{hasLoader:b,hasClientLoader:E}=t(y);return y.shouldCallHandler()&&b&&!E});return!n&&!m?Yl(u,t,r,a,o):c?Gl(u,r,a,o):Vl(u,d,t,r,n,a,o,i)}}async function Wl(e,t,r,n){let a=e.matches.find(u=>u.shouldCallHandler());we(a,"No action match found");let o,i=await a.resolve(async u=>await u(async()=>{let{data:s,status:c}=await t(e,r,n,[a.route.id]);return o=c,St(s,a.route.id)}));return Zt(i.result)||Xe(i.result)||Lr(i.result)?{[a.route.id]:i}:{[a.route.id]:{type:i.type,result:Qo(i.result,o)}}}async function Yl(e,t,r,n,a){let o=e.matches.filter(u=>u.shouldCallHandler()),i={};return await Promise.all(o.map(u=>u.resolve(async l=>{try{let{hasClientLoader:s}=t(u),c=u.route.id,d=s?await l(async()=>{let{data:m}=await r(e,n,a,[c]);return St(m,c)}):await l();i[u.route.id]={type:"data",result:d}}catch(s){i[u.route.id]={type:"error",result:s}}}))),i}async function Vl(e,t,r,n,a,o,i,u=()=>!0){let l=new Set,s=!1,c=e.matches.map(()=>Vn()),d=Vn(),m={},y=Promise.all(e.matches.map(async(E,g)=>E.resolve(async P=>{c[g].resolve();let S=E.route.id,{hasLoader:D,hasClientLoader:_}=r(E),T=!E.shouldRevalidateArgs||E.shouldRevalidateArgs.actionStatus==null||E.shouldRevalidateArgs.actionStatus<400;if(!E.shouldCallHandler(T)){s||(s=E.shouldRevalidateArgs!=null&&D);return}if(u(E)&&_){D&&(s=!0);try{let M=await P(async()=>{let{data:w}=await n(e,o,i,[S]);return St(w,S)});m[S]={type:"data",result:M}}catch(M){m[S]={type:"error",result:M}}return}D&&l.add(S);try{let M=await P(async()=>{let w=await d.promise;return St(w,S)});m[S]={type:"data",result:M}}catch(M){m[S]={type:"error",result:M}}})));if(await Promise.all(c.map(E=>E.promise)),(!t.state.initialized&&t.state.navigation.state==="idle"||l.size===0)&&!window.__reactRouterHdrActive)d.resolve({routes:{}});else{let E=a&&s&&l.size>0?[...l.keys()]:void 0;try{let g=await n(e,o,i,E);d.resolve(g.data)}catch(g){d.reject(g)}}return await y,await Jl(d.promise,e.matches,l,m),m}async function Jl(e,t,r,n){try{let a,o=await e;if("routes"in o){for(let i of t)if(i.route.id in o.routes){let u=o.routes[i.route.id];if("error"in u){a=u.error,n[i.route.id]?.result==null&&(n[i.route.id]={type:"error",result:a});break}}}a!==void 0&&Array.from(r.values()).forEach(i=>{n[i].result instanceof Ua&&(n[i].result=a)})}catch{}}async function Gl(e,t,r,n){let a=e.matches.find(u=>u.shouldCallHandler());we(a,"No fetcher match found");let o=a.route.id,i=await a.resolve(async u=>u(async()=>{let{data:l}=await t(e,r,n,[o]);return St(l,o)}));return{[a.route.id]:i}}function Kl(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 Kr(e,t,r,n){let a=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return r?a.pathname.endsWith("/")?a.pathname=`${a.pathname}_.${n}`:a.pathname=`${a.pathname}.${n}`:a.pathname==="/"?a.pathname=`_root.${n}`:t&&Pe(a.pathname,t)==="/"?a.pathname=`${Gt(t)}/_root.${n}`:a.pathname=`${Gt(a.pathname)}.${n}`,a}async function Xl(e,t,r,n){let{request:a}=e,o=Kr(a.url,t,r,"data");a.method==="GET"&&(o=Kl(o),n&&o.searchParams.set("_routes",n.join(",")));let i=await fetch(o,await jl(a));if(i.status>=400&&!i.headers.has("X-Remix-Response"))throw new qe(i.status,i.statusText,await i.text());if(i.status===204&&i.headers.has("X-Remix-Redirect"))return{status:zl,data:{redirect:{redirect:i.headers.get("X-Remix-Redirect"),status:Number(i.headers.get("X-Remix-Status")||"302"),revalidate:i.headers.get("X-Remix-Revalidate")==="true",reload:i.headers.get("X-Remix-Reload-Document")==="true",replace:i.headers.get("X-Remix-Replace")==="true"}}};if(Ha.has(i.status)){let u={};return n&&a.method!=="GET"&&(u[n[0]]={data:void 0}),{status:i.status,data:{routes:u}}}we(i.body,"No response body to decode");try{let u=await ql(i.body,window),l;if(a.method==="GET"){let s=u.value;Dr in s?l={redirect:s[Dr]}:l={routes:s}}else{let s=u.value,c=n?.[0];we(c,"No routeId found for single fetch call decoding"),"redirect"in s?l={redirect:s}:l={routes:{[c]:s}}}return{status:i.status,data:l}}catch{throw new Error("Unable to decode turbo-stream response")}}function ql(e,t){return Il(e,{plugins:[(r,...n)=>{if(r==="SanitizedError"){let[a,o,i]=n,u=Error;a&&sa.includes(a)&&a in t&&typeof t[a]=="function"&&(u=t[a]);let l=new u(o);return l.stack=i,{value:l}}if(r==="ErrorResponse"){let[a,o,i]=n;return{value:new qe(o,i,a)}}if(r==="SingleFetchRedirect")return{value:{[Dr]:n[0]}};if(r==="SingleFetchClassInstance")return{value:n[0]};if(r==="SingleFetchFallback")return{value:void 0}}]})}function St(e,t){if("redirect"in e){let{redirect:n,revalidate:a,reload:o,replace:i,status:u}=e.redirect;throw Zo(n,{status:u,headers:{...a?{"X-Remix-Revalidate":"yes"}:null,...o?{"X-Remix-Reload-Document":"yes"}:null,...i?{"X-Remix-Replace":"yes"}:null}})}let r=e.routes[t];
30if(r==null)throw new Ua(`No result found for routeId "${t}"`);if("error"in r)throw r.error;if("data"in r)return r.data;throw new Error(`Invalid response found for routeId "${t}"`)}function Vn(){let e,t,r=new Promise((n,a)=>{e=async o=>{n(o);try{await r}catch{}},t=async o=>{a(o);try{await r}catch{}}});return{promise:r,resolve:e,reject:t}}async function za(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.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Ql(e,t,r){let n=e.map(o=>{let i=t[o.route.id],u=r.routes[o.route.id];return[u&&u.css?u.css.map(l=>({rel:"stylesheet",href:l})):[],i?.links?.()||[]]}).flat(2),a=qr(e,r);return Va(n,a)}function Ba(e){return e.css?e.css.map(t=>({rel:"stylesheet",href:t})):[]}async function Zl(e){if(!e.css)return;let t=Ba(e);await Promise.all(t.map(Ya))}async function Wa(e,t){if(!e.css&&!t.links||!as())return;let r=[];if(e.css&&r.push(...Ba(e)),t.links&&r.push(...t.links()),r.length===0)return;let n=[];for(let a of r)!Xr(a)&&a.rel==="stylesheet"&&n.push({...a,rel:"preload",as:"style"});await Promise.all(n.map(Ya))}async function Ya(e){return new Promise(t=>{if(e.media&&!window.matchMedia(e.media).matches||document.querySelector(`link[rel="stylesheet"][href="${e.href}"]`))return 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 Xr(e){return e!=null&&typeof e.page=="string"}function es(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 ts(e,t,r){let n=await Promise.all(e.map(async a=>{let o=t.routes[a.route.id];if(o){let i=await za(o,r);return i.links?i.links():[]}return[]}));return Va(n.flat(1).filter(es).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function Jn(e,t,r,n,a,o){let i=(l,s)=>r[s]?l.route.id!==r[s].route.id:!0,u=(l,s)=>r[s].pathname!==l.pathname||r[s].route.path?.endsWith("*")&&r[s].params["*"]!==l.params["*"];return o==="assets"?t.filter((l,s)=>i(l,s)||u(l,s)):o==="data"?t.filter((l,s)=>{let c=n.routes[l.route.id];if(!c||!c.hasLoader)return!1;if(i(l,s)||u(l,s))return!0;if(l.route.shouldRevalidate){let d=l.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:r[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:l.params,defaultShouldRevalidate:!0});if(typeof d=="boolean")return d}return!0}):[]}function qr(e,t,{includeHydrateFallback:r}={}){return rs(e.map(n=>{let a=t.routes[n.route.id];if(!a)return[];let o=[a.module];return a.clientActionModule&&(o=o.concat(a.clientActionModule)),a.clientLoaderModule&&(o=o.concat(a.clientLoaderModule)),r&&a.hydrateFallbackModule&&(o=o.concat(a.hydrateFallbackModule)),a.imports&&(o=o.concat(a.imports)),o}).flat(1))}function rs(e){return[...new Set(e)]}function ns(e){let t={},r=Object.keys(e).sort();for(let n of r)t[n]=e[n];return t}function Va(e,t){let r=new Set,n=new Set(t);return e.reduce((a,o)=>{if(t&&!Xr(o)&&o.as==="script"&&o.href&&n.has(o.href))return a;let u=JSON.stringify(ns(o));return r.has(u)||(r.add(u),a.push({key:u,link:o})),a},[])}var $t;function as(){if($t!==void 0)return $t;let e=document.createElement("link");return $t=e.relList.supports("preload"),e=null,$t}function os(){let{nonce:e}=je();return f.createElement(Mr,{title:"Loading...",renderScripts:!0},f.createElement("script",{nonce:e,dangerouslySetInnerHTML:{__html:` 31 console.log( 32 "ð¿ Hey developer ð. You can provide a way better UX than this " + 33 "when your app is loading JS modules and/or running \`clientLoader\` " + 34 "functions. Check out https://reactrouter.com/start/framework/route-module#hydratefallback " + 35 "for more information." 36 ); 37 `}}))}function Ja(e){let t={};return Object.values(e).forEach(r=>{if(r){let n=r.parentId||"";t[n]||(t[n]=[]),t[n].push(r)}}),t}function is(e,t,r){let n=Ga(t),a=t.HydrateFallback&&(!r||e.id==="root")?t.HydrateFallback:e.id==="root"?os:void 0,o=t.ErrorBoundary?t.ErrorBoundary:e.id==="root"?()=>f.createElement(Qa,{error:Gr()}):void 0;return e.id==="root"&&t.Layout?{...n?{element:f.createElement(t.Layout,null,f.createElement(n,null))}:{Component:n},...o?{errorElement:f.createElement(t.Layout,null,f.createElement(o,null))}:{ErrorBoundary:o},...a?{hydrateFallbackElement:f.createElement(t.Layout,null,f.createElement(a,null))}:{HydrateFallback:a}}:{Component:n,ErrorBoundary:o,HydrateFallback:a}}function Ks(e,t,r,n,a,o){return Qr(t,r,n,a,o,"",Ja(t),e)}function jt(e,t){if(e==="loader"&&!t.hasLoader||e==="action"&&!t.hasAction){let n=`You are trying to call ${e==="action"?"serverAction()":"serverLoader()"} on a route that does not have a server ${e} (routeId: "${t.id}")`;throw console.error(n),new qe(400,"Bad Request",new Error(n),!0)}}function wr(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 qe(405,"Method Not Allowed",new Error(n),!0)}
37function Qr(e,t,r,n,a,o="",i=Ja(e),u){return(i[o]||[]).map(l=>{let s=t[l.id];function c(S){return we(typeof S=="function","No single fetch function available for route handler"),S()}function d(S){return l.hasLoader?c(S):Promise.resolve(null)}function m(S){if(!l.hasAction)throw wr("action",l.id);return c(S)}function y(S){import(S)}function b(S){S.clientActionModule&&y(S.clientActionModule),S.clientLoaderModule&&y(S.clientLoaderModule)}async function E(S){let D=t[l.id],_=D?Wa(l,D):Promise.resolve();try{return S()}finally{await _}}let g={id:l.id,index:l.index,path:l.path};if(s){Object.assign(g,{...g,...is(l,s,a),middleware:s.clientMiddleware,handle:s.handle,shouldRevalidate:Gn(g.path,s,l,n,u)});let S=r&&r.loaderData&&l.id in r.loaderData,D=S?r?.loaderData?.[l.id]:void 0,_=r&&r.errors&&l.id in r.errors,T=_?r?.errors?.[l.id]:void 0,O=u==null&&(s.clientLoader?.hydrate===!0||!l.hasLoader);g.loader=async({request:M,params:w,context:z,pattern:G,url:ae},J)=>{let le=O;return O=!1,await E(async()=>(we(s,"No `routeModule` available for critical-route loader"),s.clientLoader?s.clientLoader({request:M,params:w,context:z,pattern:G,url:ae,async serverLoader(){if
37(jt("loader",l),le){if(S)return D;if(_)throw T}return d(J)}}):d(J)))},g.loader.hydrate=Ka(l.id,s.clientLoader,l.hasLoader,a),g.action=({request:M,params:w,context:z,pattern:G,url:ae},J)=>E(async()=>{if(we(s,"No `routeModule` available for critical-route action"),!s.clientAction){if(a)throw wr("clientAction",l.id);return m(J)}return s.clientAction({request:M,params:w,context:z,pattern:G,url:ae,async serverAction(){return jt("action",l),m(J)}})})}else{l.hasClientLoader||(g.loader=(_,T)=>E(()=>d(T))),l.hasClientAction||(g.action=(_,T)=>E(()=>{if(a)throw wr("clientAction",l.id);return m(T)}));let S;async function D(){return S?await S:(S=(async()=>{(l.clientLoaderModule||l.clientActionModule)&&await new Promise(T=>setTimeout(T,0));let _=ss(l,t);return b(l),await _})(),await S)}g.lazy={loader:l.hasClientLoader?async()=>{let{clientLoader:_}=l.clientLoaderModule?await import(l.clientLoaderModule):await D();return we(_,"No `clientLoader` export found"),(T,O)=>_({...T,async serverLoader(){return jt("loader",l),d(O)}})}:void 0,action:l.hasClientAction?async()=>{let _=l.clientActionModule?import(l.clientActionModule):D();b(l);let{clientAction:T}=await _;return we(T,"No `clientAction` export found"),(O,M)=>T({...O,async serverAction(){return jt("action",l),m(M)}})}:void 0,middleware:l.hasClientMiddleware?async()=>{let{clientMiddleware:_}=l.clientMiddlewareModule?await import(l.clientMiddlewareModule):await D();return we(_,"No `clientMiddleware` export found"),_}:void 0,shouldRevalidate:async()=>{let _=await D();return Gn(g.path,_,l,n,u)},handle:async()=>(await D()).handle,Component:async()=>(await D()).Component,ErrorBoundary:l.hasErrorBoundary?async()=>(await D()).ErrorBoundary:void 0}}let P=Qr(e,t,r,n,a,l.id,i,u);return P.length>0&&(g.children=P),g})}function Gn(e,t,r,n,a){if(a)return ls(r.id,t.shouldRevalidate,a);if(!n&&r.hasLoader&&!r.hasClientLoader){let o=e?Ir(e)[1].map(u=>u.paramName):[];const i=u=>o.some(l=>u.currentParams[l]!==u.nextParams[l]);if(t.shouldRevalidate){let u=t.shouldRevalidate;return l=>u({...l,defaultShouldRevalidate:i(l)})}else return u=>i(u)}return t.shouldRevalidate}function ls(e,t,r){let n=!1;return a=>n?t?t(a):a.defaultShouldRevalidate:(n=!0,r.has(e))}async function ss(e,t){let r=za(e,t),n=Zl(e),a=await r;return await Promise.all([n,Wa(e,a)]),{Component:Ga(a),ErrorBoundary:a.ErrorBoundary,clientMiddleware:a.clientMiddleware,clientAction:a.clientAction,clientLoader:a.clientLoader,handle:a.handle,links:a.links,meta:a.meta,shouldRevalidate:a.shouldRevalidate}}function Ga(e){if(e.default==null)return;if(!(typeof e.default=="object"&&Object.keys(e.default).length===0))return e.default}function Ka(e,t,r,n){return n&&e!=="root"||t!=null&&(t.hydrate===!0||r!==!0)}var Vt=new Set,us=1e3,Kt=new Set,cs=7680;function ds(e){let t=new Set;return e.forEach(r=>{r.startsWith("/")||(r=`/${r}`);for(let n=1;n<r.length;n++)r[n]==="/"&&t.add(r.slice(0,n));t.add(r)}),Array.from(t)}function Zr(e,t){return e.mode==="lazy"&&t===!0}function fs({sri:e,...t},r){let n=new Set(r.state.matches.map(u=>u.route.id)),a=r.state.location.pathname.split("/").filter(Boolean),o=["/"];for(a.pop();a.length>0;)o.push(`/${a.join("/")}`),a.pop();o.forEach(u=>{let l=De(r.routes,u,r.basename||"/",!1,r.branches);l&&l.forEach(s=>n.add(s.route.id))});let i=[...n].reduce((u,l)=>Object.assign(u,{[l]:t.routes[l]}),{});return{...t,routes:i,sri:e?!0:void 0}}function Xs(e,t,r,n,a,o,i){if(Zr(a,n))return async({path:u,patch:l,signal:s,fetcherKey:c})=>{if(Kt.has(u))return;let{state:d}=e();await Xa([u],c?window.location.href:ke(d.navigation.location||d.location),t,r,n,o,i,a.manifestPath,l,s)}}function qs(e,t,r,n,a,o){f.useEffect(()=>{if(!Zr(a,n)||window.navigator?.connection?.saveData===!0)return;function i(c){let d=c.tagName==="FORM"?c.getAttribute("action"):c.getAttribute("href");if(!d)return;let m=c.tagName==="A"?c.pathname:new URL(d,window.location.origin).pathname;Kt.has(m)||Vt.add(m)}async function u(){document.querySelectorAll("a[data-discover], form[data-discover]").forEach(i);let c=Array.from(Vt.keys()).filter(d=>Kt.has(d)?(Vt.delete(d),!1):!0);if(c.length!==0)try{await Xa(c,null,t,r,n,o,e.basename,a.manifestPath,e.patchRoutes)}catch(d){console.error("Failed to fetch manifest patches",d)}}let l=ps(u,100);u();let s=new MutationObserver(()=>l());return s.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["data-discover","href","action"]}),()=>s.disconnect()},[n,o,t,r,e,a])}function hs(e,t){let r=e||"/__manifest";return t==null?r:xe([t,r])}var Er="react-router-manifest-version";async function Xa(e,t,r,n,a,o,i,u,l,s){e=ds(e);const c=new URLSearchParams;c.set("paths",e.sort().join(",")),c.set("version",r.version);let d=new URL(hs(u,i),window.location.origin);if(d.search=c.toString(),d.toString().length>cs){Vt.clear();return}let m;try{let g=await fetch(d,{signal:s});if(g.ok){if(g.status===204&&g.headers.has("X-Remix-Reload-Document")){if(!t){console.warn("Detected a manifest version mismatch during eager route discovery. The next navigation/fetch to an undiscovered route will result in a
37new document navigation to sync up with the latest manifest.");return}try{if(sessionStorage.getItem(Er)===r.version){console.error("Unable to discover routes due to manifest version mismatch.");return}sessionStorage.setItem(Er,r.version)}catch{}window.location.href=t,console.warn("Detected manifest version mismatch, reloading..."),await new Promise(()=>{})}else if(g.status>=400)throw new Error(await g.text())}else throw new Error(`${g.status} ${g.statusText}`);try{sessionStorage.removeItem(Er)}catch{}m=await g.json()}catch(g){if(s?.aborted)return;throw g}let y=new Set(Object.keys(r.routes)),b=Object.values(m).reduce((g,P)=>(P&&!y.has(P.id)&&(g[P.id]=P),g),{});Object.assign(r.routes,b),e.forEach(g=>ms(g,Kt));let E=new Set;Object.values(b).forEach(g=>{g&&(!g.parentId||!b[g.parentId])&&E.add(g.parentId)}),E.forEach(g=>l(g||null,Qr(b,n,null,a,o,g)))}function ms(e,t){if(t.size>=us){let r=t.values().next().value;t.delete(r)}t.add(e)}function ps(e,t){let r;return(...n)=>{window.clearTimeout(r),r=window.setTimeout(()=>e(...n),t)}}function rr(){let e=f.useContext(nt);return we(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function nr(){let e=f.useContext(dt);return we(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var ar=f.createContext(void 0);ar.displayName="FrameworkContext";function je(){let e=f.useContext(ar);return we(e,"You must render this element inside a <HydratedRouter> element"),e}function ys(e,t){let r=f.useContext(ar),[n,a]=f.useState(!1),[o,i]=f.useState(!1),{onFocus:u,onBlur:l,onMouseEnter:s,onMouseLeave:c,onTouchStart:d}=t,m=f.useRef(null);f.useEffect(()=>{if(e==="render"&&i(!0),e==="viewport"){let E=P=>{P.forEach(S=>{i(S.isIntersecting)})},g=new IntersectionObserver(E,{threshold:.5});return m.current&&g.observe(m.current),()=>{g.disconnect()}}},[e]),f.useEffect(()=>{if(n){let E=setTimeout(()=>{i(!0)},100);return()=>{clearTimeout(E)}}},[n]);let y=()=>{a(!0)},b=()=>{a(!1),i(!1)};return r?e!=="intent"?[o,m,{}]:[o,m,{onFocus:vt(u,y),onBlur:vt(l,b),onMouseEnter:vt(s,y),onMouseLeave:vt(c,b),onTouchStart:vt(d,y)}]:[!1,m,{}]}function vt(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function en(e,t,r){if(r&&!Xt)return[e[0]];if(t){let n=e.findIndex(a=>t[a.route.id]!==void 0);return e.slice(0,n+1)}return e}var Kn="data-react-router-critical-css";function Qs({nonce:e,crossOrigin:t}){let{isSpaMode:r,manifest:n,routeModules:a,criticalCss:o,nonce:i}=je(),{errors:u,matches:l}=nr(),s=en(l,u,r),c=f.useMemo(()=>Ql(s,a,n),[s,a,n]);return e==null&&i&&(e=i),f.createElement(f.Fragment,null,typeof o=="string"?f.createElement("style",{[Kn]:"",nonce:e,dangerouslySetInnerHTML:{__html:o}}):null,typeof o=="object"?f.createElement("link",{[Kn]:"",rel:"stylesheet",href:o.href,nonce:e,crossOrigin:t}):null,c.map(({key:d,link:m})=>Xr(m)?f.createElement(qa,{key:d,nonce:e,...m,crossOrigin:m.crossOrigin??t}):f.createElement("link",{key:d,nonce:e,...m,crossOrigin:m.crossOrigin??t})))}function qa({page:e,...t}){let r=zr(),{nonce:n}=je(),{router:a}=rr(),o=f.useMemo(()=>Fr(a.routes,e,a.basename),[a.routes,e,a.basename]);return o?(t.nonce==null&&n&&(t={...t,nonce:n}),r?f.createElement(gs,{page:e,matches:o,...t}):f.createElement(ws,{page:e,matches:o,...t})):null}function vs(e){let{manifest:t,routeModules:r}=je(),[n,a]=f.useState([]);return f.useEffect(()=>{let o=!1;return ts(e,t,r).then(i=>{o||a(i)}),()=>{o=!0}},[e,t,r]),n}function gs({page:e,matches:t,...r}){let n=Te(),{future:a}=je(),{basename:o}=rr(),i=f.useMemo(()=>{if(e===n.pathname+n.search+n.hash)return[];let u=Kr(e,o,a.v8_trailingSlashAwareDataRequests,"rsc"),l=!1,s=[];for(let c of t)typeof c.route.shouldRevalidate=="function"?l=!0:s.push(c.route.id);return l&&s.length>0&&u.searchParams.set("_routes",s.join(",")),[u.pathname+u.search]},[o,a.v8_trailingSlashAwareDataRequests,e,n,t]);return f.createElement(f.Fragment,null,i.map(u=>f.createElement("link",{key:u,rel:"prefetch",as:"fetch",href:u,...r})))}function ws({page:e,matches:t,...r}){let n=Te(),{future:a,manifest:o,routeModules:i}=je(),{basename:u}=rr(),{loaderData:l,matches:s}=nr(),c=f.useMemo(()=>Jn(e,t,s,o,n,"data"),[e,t,s,o,n]),d=f.useMemo(()=>Jn(e,t,s,o,n,"assets"),[e,t,s,o,n]),m=f.useMemo(()=>
37{if(e===n.pathname+n.search+n.hash)return[];let E=new Set,g=!1;if(t.forEach(S=>{let D=o.routes[S.route.id];!D||!D.hasLoader||(!c.some(_=>_.route.id===S.route.id)&&S.route.id in l&&i[S.route.id]?.shouldRevalidate||D.hasClientLoader?g=!0:E.add(S.route.id))}),E.size===0)return[];let P=Kr(e,u,a.v8_trailingSlashAwareDataRequests,"data");return g&&E.size>0&&P.searchParams.set("_routes",t.filter(S=>E.has(S.route.id)).map(S=>S.route.id).join(",")),[P.pathname+P.search]},[u,a.v8_trailingSlashAwareDataRequests,l,n,o,c,t,e,i]),y=f.useMemo(()=>qr(d,o),[d,o]),b=vs(d);return f.createElement(f.Fragment,null,m.map(E=>f.createElement("link",{key:E,rel:"prefetch",as:"fetch",href:E,...r})),y.map(E=>f.createElement("link",{key:E,rel:"modulepreload",href:E,...r})),b.map(({key:E,link:g})=>f.createElement("link",{key:E,nonce:r.nonce,...g,crossOrigin:g.crossOrigin??r.crossOrigin})))}function Zs(){let{isSpaMode:e,routeModules:t}=je(),{errors:r,matches:n,loaderData:a}=nr(),o=Te(),i=en(n,r,e),u=null;r&&(u=r[i[i.length-1].route.id]);let l=[],s=null,c=[];for(let d=0;d<i.length;d++){let m=i[d],y=m.route.id,b=a[y],E=m.params,g=t[y],P=[],S={id:y,data:b,loaderData:b,meta:[],params:m.params,pathname:m.pathname,handle:m.route.handle,error:u};if(c[d]=S,g?.meta?P=typeof g.meta=="function"?g.meta({data:b,loaderData:b,params:E,location:o,matches:c,error:u}):Array.isArray(g.meta)?[...g.meta]:g.meta:s&&(P=[...s]),P=P||[],!Array.isArray(P))throw new Error("The route at "+m.route.path+` returns an invalid value. All route meta functions must return an array of meta objects. 38 39To reference the meta function API, see https://reactrouter.com/start/framework/route-module#meta`);S.meta=P,c[d]=S,l=[...P],s=l}return f.createElement(f.Fragment,null,l.flat().map(d=>{if(!d)return null;if("tagName"in d){let{tagName:m,...y}=d;if(!Es(m))return console.warn(`A meta object uses an invalid tagName: ${m}. Expected either 'link' or 'meta'`),null;let b=m;return f.createElement(b,{key:JSON.stringify(y),...y})}if("title"in d)return f.createElement("title",{key:"title"},String(d.title));if("charset"in d&&(d.charSet??(d.charSet=d.charset),delete d.charset),"charSet"in d&&d.charSet!=null)return typeof d.charSet=="string"?f.createElement("meta",{key:"charSet",charSet:d.charSet}):null;if("script:ld+json"in d)try{let m=JSON.stringify(d["script:ld+json"]);return f.createElement("script",{key:`script:ld+json:${m}`,type:"application/ld+json",dangerouslySetInnerHTML:{__html:_r(m)}})}catch{return null}return f.createElement("meta",{key:JSON.stringify(d),...d})}))}function Es(e){return typeof e=="string"&&/^(meta|link)$/.test(e)}var Xt=!1;function Rs(){Xt=!0}function bs(e){let{manifest:t,serverHandoffString:r,isSpaMode:n,renderMeta:a,routeDiscovery:o,ssr:i,nonce:u}=je(),{router:l,static:s,staticContext:c}=rr(),{matches:d}=nr(),m=zr(),y=Zr(o,i);e.nonce==null&&u&&(e={...e,nonce:u}),a&&(a.didRenderScripts=!0);let b=en(d,null,n);f.useEffect(()=>{Rs()},[]);let E=f.useMemo(()=>{if(m)return null;let D=c?`window.__reactRouterContext = ${r};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());`:" ",_=s?`${t.hmr?.runtime?`import ${JSON.stringify(t.hmr.runtime)};`:""}${y?"":`import ${JSON.stringify(t.url)}`}; 40${b.map((T,O)=>{let M=`route${O}`,w=t.routes[T.route.id];we(w,`Route ${T.route.id} not found in manifest`);let{clientActionModule:z,clientLoaderModule:G,clientMiddlewareModule:ae,hydrateFallbackModule:J,module:le}=w,ee=[...z?[{module:z,varName:`${M}_clientAction`}]:[],...G?[{module:G,varName:`${M}_clientLoader`}]:[],...ae?[{module:ae,varName:`${M}_clientMiddleware`}]:[],...J?[{module:J,varName:`${M}_HydrateFallback`}]:[],{module:le,varName:`${M}_main`}];if(ee.length===1)return`import * as ${M} from ${JSON.stringify(le)};`;let ce=ee.map(Q=>`import * as ${Q.varName} from "${Q.module}";`).join(` 41`),X=`const ${M} = {${ee.map(Q=>`...${Q.varName}`).join(",")}};`;return[ce,X].join(` 42`)}).join(` 43`)} 44 ${y?`window.__reactRouterManifest = ${JSON.stringify(fs(t,l),null,2)};`:""} 45 window.__reactRouterRouteModules = {${b.map((T,O)=>`${JSON.stringify(T.route.id)}:route${O}`).join(",")}}; 46 47import(${JSON.stringify(t.entry.module)});`:" ";return f.createElement(f.Fragment,null,f.createElement("script",{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:D},type:void 0}),f.createElement("script",{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:_},type:"module",async:!0}))},[]),g=Xt||m?[]:[...new Set(t.entry.imports.concat(qr(b,t,{includeHydrateFallback:!0})))],P=typeof t.sri=="object"?t.sri:{};return xr(!m,"The <Scripts /> element is a no-op when using RSC and can be safely removed."),Xt||m?null:f.createElement(f.Fragment,null,typeof t.sri=="object"?f.createElement("script",{...e,"rr-importmap":"",type:"importmap",suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:JSON.stringify({integrity:P})}}):null,y?null:f.createElement("link",{rel:"modulepreload",href:t.url,crossOrigin:e.crossOrigin,integrity:P[t.url],nonce:e.nonce,suppressHydrationWarning:!0}),f.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin,integrity:P[t.entry.module],nonce:e.nonce,suppressHydrationWarning:!0}),g.map(S=>f.createElement("link",{key:S,rel:"modulepreload",href:S,crossOrigin:e.crossOrigin,integrity:P[S],nonce:e.nonce,suppressHydrationWarning:!0})),E)}function Ss(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}var eu=class extends f.Component{constructor(e){super(e),this.state={error:e.error||null,location:e.location}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location?{error:e.error||null,location:e.location}:{error:e.error||t.error,location:t.location}}render(){return this.state.error?f.createElement(Qa,{error:this.state.error,isOutsideRemixApp:!0}):this.props.children}};function Qa({error:e,isOutsideRemixApp:t}){let{nonce:r}=je();console.error(e);let n=f.createElement("script",{nonce:r,dangerouslySetInnerHTML:{__html:` 48 console.log( 49 "ð¿ Hey developer ð. You can provide a way better UX than this when your app throws errors. Check out https://reactrouter.com/how-to/error-boundary for more information." 50 ); 51 `}});if(Xe(e))return f.createElement(Mr,{title:"Unhandled Thrown Response!"},f.createElement("h1",{style:{fontSize:"24px"}},e.status," ",e.statusText),n);let a;if(e instanceof Error)a=e;else{let o=e==null?"Unknown Error":typeof e=="object"&&"toString"in e?e.toString():JSON.stringify(e);a=new Error(o)}
51return f.createElement(Mr,{title:"Application Error!",isOutsideRemixApp:t},f.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),f.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},a.stack),n)}function Mr({title:e,renderScripts:t,isOutsideRemixApp:r,children:n}){let{routeModules:a}=je();return a.root?.Layout&&!r?n:f.createElement("html",{lang:"en"},f.createElement("head",null,f.createElement("meta",{charSet:"utf-8"}),f.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),f.createElement("title",null,e)),f.createElement("body",null,f.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},n,t?f.createElement(bs,null):null)))}var Cs=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Cs&&(window.__reactRouterVersion="7.18.2")}catch{}var Za=f.forwardRef(function({onClick:t,discover:r="render",prefetch:n="none",relative:a,reloadDocument:o,replace:i,mask:u,state:l,target:s,to:c,preventScrollReset:d,viewTransition:m,defaultShouldRevalidate:y,...b},E){let{basename:g,navigator:P,useTransitions:S}=f.useContext(Ce),D=typeof c=="string"&&qt.test(c),_=ca(c,g);c=_.to;let T=zi(c,{relative:a}),O=Te(),M=null;if(u){let ce=Qt(u,[],O.mask?O.mask.pathname:"/",!0);g!=="/"&&(ce.pathname=ce.pathname==="/"?g:xe([g,ce.pathname])),M=P.createHref(ce)}let[w,z,G]=ys(n,b),ae=Ps(c,{replace:i,mask:u,state:l,target:s,preventScrollReset:d,relative:a,viewTransition:m,defaultShouldRevalidate:y,useTransitions:S});function J(ce){t&&t(ce),ce.defaultPrevented||ae(ce)}let le=!(_.isExternal||o),ee=f.createElement("a",{...b,...G,href:(le?M:void 0)||_.absoluteURL||T,onClick:le?J:t,ref:Ss(E,z),target:s,"data-discover":!D&&r==="render"?"true":void 0});return w&&!D?f.createElement(f.Fragment,null,ee,f.createElement(qa,{page:T})):ee});Za.displayName="Link";var Ls=f.forwardRef(function({"aria-current":t="page",caseSensitive:r=!1,className:n="",end:a=!1,style:o,to:i,viewTransition:u,children:l,...s},c){let d=xt(i,{relative:s.relative}),m=Te(),y=f.useContext(dt),{navigator:b,basename:E}=f.useContext(Ce),g=y!=null&&ks(d)&&u===!0,P=b.encodeLocation?b.encodeLocation(d).pathname:d.pathname,S=m.pathname,D=y&&y.navigation&&y.navigation.location?y.navigation.location.pathname:null;r||(S=S.toLowerCase(),D=D?D.toLowerCase():null,P=P.toLowerCase()),D&&E&&(D=Pe(D,E)||D);const _=P!=="/"&&P.endsWith("/")?P.length-1:P.length;let T=S===P||!a&&S.startsWith(P)&&S.charAt(_)==="/",O=D!=null&&(D===P||!a&&D.startsWith(P)&&D.charAt(P.length)==="/"),M={isActive:T,isPending:O,isTransitioning:g},w=T?t:void 0,z;typeof n=="function"?z=n(M):z=[n,T?"active":null,O?"pending":null,g?"transitioning":null].filter(Boolean).join(" ");let G=typeof o=="function"?o(M):o;return f.createElement(Za,{...s,"aria-current":w,className:z,ref:c,style:G,to:i,viewTransition:u},typeof l=="function"?l(M):l)});Ls.displayName="NavLink";var eo=f.forwardRef(({discover:e="render",fetcherKey:t,navigate:r,reloadDocument:n,replace:a,state:o,method:i=Wt,action:u,onSubmit:l,relative:s,preventScrollReset:c,viewTransition:d,defaultShouldRevalidate:m,...y},b)=>{let{useTransitions:E}=f.useContext(Ce),g=no(),P=Ds(u,{relative:s}),S=i.toLowerCase()==="get"?"get":"post",D=typeof u=="string"&&qt.test(u),_=T=>{if(l&&l(T),T.defaultPrevented)return;T.preventDefault();let O=T.nativeEvent.submitter,M=O?.getAttribute("formmethod")||i,w=()=>g(O||T.currentTarget,{fetcherKey:t,method:M,navigate:r,replace:a,state:o,relative:s,preventScrollReset:c,viewTransition:d,defaultShouldRevalidate:m});E&&r!==!1?f.startTransition(()=>w()):w()};return f.createElement("form",{ref:b,method:S,action:P,onSubmit:n?l:_,...y,"data-discover":!D&&e==="render"?"true":void 0})});eo.displayName="Form";function xs({getKey:e,storageKey:t,...r}){let n=f.useContext(ar),{basename:a}=f.useContext(Ce),o=Te(),i=Jr();Ms({getKey:e,storageKey:t});let u=f.useMemo(()=>{if(!n||!e)return null;let s=kr(o,i,a,e);return s!==o.key?s:null},[]);if(!n||n.isSpaMode)return null;let l=((s,c)=>{if(!window.history.state||!window.history.state.key){let d=Math.random().toString(32).slice(2);window.history.replaceState({key:d},"")}try{let m=JSON.parse(sessionStorage.getItem(s)||"{}")[c||window.history.state.key];typeof m=="number"&&window.scrollTo(0,m)}catch(d){console.error(d),sessionStorage.removeItem(s)}}).toString();return r.nonce==null&&n?.nonce&&(r.nonce=n.nonce),f.createElement("script",{...r,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${l})(${_r(JSON.stringify(t||Or))}, ${_r(JSON.stringify(u))})`}})}xs.displayName="ScrollRestoration";function to(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function or(e){let t=f.useContext(nt);return Y(t,to(e)),t}function ro(e){let t=f.useContext(dt);return Y(t,to(e)),t}function Ps(e,{target:t,replace:r,mask:n,state:a,preventScrollReset:o,relative:i,viewTransition:u,defaultShouldRevalidate:l,useTransitions:s}={}){let c=_a(),d=Te(),m=xt(e,{relative:i});return f.useCallback(y=>{if(ml(y,t)){y.preventDefault();let b=r!==void 0?r:ke(d)===ke(m),E=()=>c(e,{replace:b,mask:n,state:a,preventScrollReset:o,relative:i,viewTransition:u,defaultShouldRevalidate:l});s?f.startTransition(()=>E()):E()}},[d,c,m,r,n,a,t,e,o,i,u,l,s])}function tu(e){ue(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");
51let t=f.useRef(Pr(e)),r=f.useRef(!1),n=Te(),a=f.useMemo(()=>pl(n.search,r.current?null:t.current),[n.search]),o=_a(),i=f.useCallback((u,l)=>{const s=Pr(typeof u=="function"?u(new URLSearchParams(a)):u);r.current=!0,o("?"+s,l)},[o,a]);return[a,i]}var Ts=0,_s=()=>`__${String(++Ts)}__`;function no(){let{router:e}=or("useSubmit"),{basename:t}=f.useContext(Ce),r=Qi(),n=e.fetch,a=e.navigate;return f.useCallback(async(o,i={})=>{let{action:u,method:l,encType:s,formData:c,body:d}=gl(o,t);if(i.navigate===!1){let m=i.fetcherKey||_s();await n(m,r,i.action||u,{defaultShouldRevalidate:i.defaultShouldRevalidate,preventScrollReset:i.preventScrollReset,formData:c,body:d,formMethod:i.method||l,formEncType:i.encType||s,flushSync:i.flushSync})}else await a(i.action||u,{defaultShouldRevalidate:i.defaultShouldRevalidate,preventScrollReset:i.preventScrollReset,formData:c,body:d,formMethod:i.method||l,formEncType:i.encType||s,replace:i.replace,state:i.state,fromRouteId:r,flushSync:i.flushSync,viewTransition:i.viewTransition})},[n,a,t,r])}function Ds(e,{relative:t}={}){let{basename:r}=f.useContext(Ce),n=f.useContext(Oe);Y(n,"useFormAction must be used inside a RouteContext");let[a]=n.matches.slice(-1),o={...xt(e||".",{relative:t})},i=Te();if(e==null){o.search=i.search;let u=new URLSearchParams(o.search),l=u.getAll("index");if(l.some(c=>c==="")){u.delete("index"),l.filter(d=>d).forEach(d=>u.append("index",d));let c=u.toString();o.search=c?`?${c}`:""}}return(!e||e===".")&&a.route.index&&(o.search=o.search?o.search.replace(/^\?/,"?index&"):"?index"),r!=="/"&&(o.pathname=o.pathname==="/"?r:xe([r,o.pathname])),ke(o)}function ru({key:e}={}){let{router:t}=or("useFetcher"),r=ro("useFetcher"),n=f.useContext(Wr),a=f.useContext(Oe),o=a.matches[a.matches.length-1]?.route.id;Y(n,"useFetcher must be used inside a FetchersContext"),Y(a,"useFetcher must be used inside a RouteContext"),Y(o!=null,'useFetcher can only be used on routes that contain a unique "id"');let i=f.useId(),[u,l]=f.useState(e||i);e&&e!==u&&l(e);let{deleteFetcher:s,getFetcher:c,resetFetcher:d,fetch:m}=t;f.useEffect(()=>(c(u),()=>s(u)),[s,c,u]);let y=f.useCallback(async(T,O)=>{Y(o,"No routeId available for fetcher.load()"),await m(u,o,T,O)},[u,o,m]),b=no(),E=f.useCallback(async(T,O)=>{await b(T,{...O,navigate:!1,fetcherKey:u})},[u,b]),g=f.useCallback(T=>d(u,T),[d,u]),P=f.useMemo(()=>{let T=f.forwardRef((O,M)=>f.createElement(eo,{...O,navigate:!1,fetcherKey:u,ref:M}));return T.displayName="fetcher.Form",T},[u]),S=r.fetchers.get(u)||ma,D=n.get(u);return f.useMemo(()=>({Form:P,submit:E,load:y,reset:g,...S,data:D}),[P,E,y,g,S,D])}var Or="react-router-scroll-positions",Ut={};function kr(e,t,r,n){let a=null;return n&&(r!=="/"?a=n({...e,pathname:Pe(e.pathname,r)||e.pathname},t):a=n(e,t)),a==null&&(a=e.key),a}function Ms({getKey:e,storageKey:t}={}){let{router:r}=or("useScrollRestoration"),{restoreScrollPosition:n,preventScrollReset:a}=ro("useScrollRestoration"),{basename:o}=f.useContext(Ce),i=Te(),u=Jr(),l=Zi();f.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),Os(f.useCallback(()=>{if(l.state==="idle"){let s=kr(i,u,o,e);Ut[s]=window.scrollY}try{sessionStorage.setItem(t||Or,JSON.stringify(Ut))}catch(s){ue(!1,`Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${s}).`)}window.history.scrollRestoration="auto"},[l.state,e,o,i,u,t])),typeof document<"u"&&(f.useLayoutEffect(()=>{try{let s=sessionStorage.getItem(t||Or);s&&(Ut=JSON.parse(s))}catch{}},[t]),f.useLayoutEffect(()=>{let s=r?.enableScrollRestoration(Ut,()=>window.scrollY,e?(c,d)=>kr(c,d,o,e):void 0);return()=>s&&s()},[r,o,e]),f.useLayoutEffect(()=>{if(n!==!1){if(typeof n=="number"){window.scrollTo(0,n);return}try{if(i.hash){let s=document.getElementById(decodeURIComponent(i.hash.slice(1)));if(s){s.scrollIntoView();return}}}catch{ue(!1,`"${i.hash.slice(1)}" is not a decodable element ID. The view will not scroll to it.`)}a!==!0&&window.scrollTo(0,0)}},[i,n,a]))}function Os(e,t){let{capture:r}={};f.useEffect(()=>{let n=r!=null?{capture:r}:void 0;return window.addEventListener("pagehide",e,n),()=>{window.removeEventListener("pagehide",e,n)}},[e,r])}function ks(e,{relative:t}={}){let r=f.useContext(Br);Y(r!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:n}=or("useViewTransitionState"),a=xt(e,{relative:t});if(!r.isTransitioning)return!1;let o=Pe(r.currentLocation.pathname,n)||r.currentLocation.pathname,i=Pe(r.nextLocation.pathname,n)||r.nextLocation.pathname;return Jt(a.pathname,i)!=null||Jt(a.pathname,o)!=null}var Ht={};/*! 52 * cookie 53 * Copyright(c) 2012-2014 Roman Shtylman 54 * Copyright(c) 2015 Douglas Christopher Wilson 55 * MIT Licensed 56 */var Xn;function As(){if(Xn)return Ht;Xn=1,Ht.parse=i,Ht.serialize=s;var e=Object.prototype.toString,t=Object.prototype.hasOwnProperty,r=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,n=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,a=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,o=/^[\u0020-\u003A\u003D-\u007E]*$/;
vendor: 1,385 bytes, line 56
56function i(y,b){if(typeof y!="string")throw new TypeError("argument str must be a string");var E={},g=y.length;if(g<2)return E;var P=b&&b.decode||c,S=0,D=0,_=0;do{if(D=y.indexOf("=",S),D===-1)break;if(_=y.indexOf(";",S),_===-1)_=g;else if(D>_){S=y.lastIndexOf(";",D-1)+1;continue}var T=u(y,S,D),O=l(y,D,T),M=y.slice(T,O);if(!t.call(E,M)){var w=u(y,D+1,_),z=l(y,_,w);y.charCodeAt(w)===34&&y.charCodeAt(z-1)===34&&(w++,z--);var G=y.slice(w,z);E[M]=m(G,P)}S=_+1}while(S<g);return E}function u(y,b,E){do{var g=y.charCodeAt(b);if(g!==32&&g!==9)return b}while(++b<E);return E}function l(y,b,E){for(;b>E;){var g=y.charCodeAt(--b);if(g!==32&&g!==9)return b+1}return E}function s(y,b,E){var g=E&&E.encode||encodeURIComponent;if(typeof g!="function")throw new TypeError("option encode is invalid");if(!r.test(y))throw new TypeError("argument name is invalid");var P=g(b);if(!n.test(P))throw new TypeError("argument val is invalid");var S=y+"="+P;if(!E)return S;if(E.maxAge!=null){var D=Math.floor(E.maxAge);if(!isFinite(D))throw new TypeError("option maxAge is invalid");S+="; Max-Age="+D}if(E.domain){if(!a.test(E.domain))throw new TypeError("option domain is invalid");S+="; Domain="+E.domain}if(E.path){if(!o.test(E.path))throw new TypeError("option path is invalid");S+="; Path="+E.path}if(E.expires){var _=E.expires;if(!d(_)||isNaN(_.valueOf()))throw new TypeError("option expires is invali
56d");S+="; Expires="+_.toUTCString()}if(E.httpOnly&&(S+="; HttpOnly"),E.secure&&(S+="; Secure"),E.partitioned&&(S+="; Partitioned"),E.priority){var T=typeof E.priority=="string"?E.priority.toLowerCase():E.priority;switch(T){case"low":S+="; Priority=Low";break;case"medium":S+="; Priority=Medium";break;case"high":S+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(E.sameSite){var O=typeof E.sameSite=="string"?E.sameSite.toLowerCase():E.sameSite;switch(O){case!0:S+="; SameSite=Strict";break;case"lax":S+="; SameSite=Lax";break;case"strict":S+="; SameSite=Strict";break;case"none":S+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return S}function c(y){return y.indexOf("%")!==-1?decodeURIComponent(y):y}function d(y){return e.call(y)==="[object Date]"}function m(y,b){try{return b(y)}catch{return y}}return Ht}As();[...Ha];new TextEncoder;(class extends ve.Component{constructor(e){super(e),this.state={error:null,location:e.location}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location?{error:null,location:e.location}:{error:t.error,location:t.location}}render(){return this.state.error?ve.createElement(Fs,{error:this.state.error,renderAppShell:!0}):this.props.children}});function qn({renderAppShell:e,title:t,children:r}){return e?ve.createElement("html",{lang:"en"},ve.createElement("head",null,ve.createElement("meta",{charSet:"utf-8"}),ve.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),ve.createElement("title",null,t)),ve.createElement("body",null,ve.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},r))):r}function Fs({error:e,renderAppShell:t}){console.error(e);let r=ve.createElement("script",{dangerouslySetInnerHTML:{__html:` 57 console.log( 58 "ð¿ Hey developer ð. You can provide a way better UX than this when your app throws errors. Check out https://reactrouter.com/how-to/error-boundary for more information." 59 ); 60 `}});if(Xe(e))return ve.createElement(qn,{renderAppShell:t,title:"Unhandled Thrown Response!"},ve.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 ve.createElement(qn,{renderAppShell:t,title:"Application Error!"},ve.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),ve.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},n.stack),r)}
60function nu({state:e,routes:t,getRouteInfo:r,location:n,basename:a,isSpaMode:o}){let i={...e,loaderData:{...e.loaderData}},u=Fr(t,n,a);if(u)for(let l of u){let s=l.route.id,c=r(s);Ka(s,c.clientLoader,c.hasLoader,o)&&(c.hasHydrateFallback||!c.hasLoader)?delete i.loaderData[s]:c.hasLoader||(i.loaderData[s]=null)}return i}export{Ks as A,zs as B,Bs as C,Zi as D,Js as E,ar as F,Qs as G,bs as H,Xe as I,Za as L,Zs as M,Ys as O,xo as R,xs as S,ve as a,tu as b,Is as c,Ns as d,Hs as e,Aa as f,Co as g,Us as h,Ma as i,Te as j,ru as k,Qn as l,Y as m,qs as n,eu as o,Ws as p,ql as q,f as r,Qr as s,nu as t,_a as u,js as v,Vs as w,Xs as x,Gs as y,$s as z};
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.