PageSourceSearch

https://solarintelligence.ai/assets/react-vendor-Unhn4PzF.js

js solarintelligence.ai collected 2026-10-05 12:50:35 UTC 93,931 bytes, 4 lines download raw bytes

vendor: 6,241 bytes, line 1
1window.CESIUM_BASE_URL="/cesium/";function Nn(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 ri=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Br(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Nt={exports:{}},z={};var pr;function Fn(){if(pr)return z;pr=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"),l=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),s=Symbol.for("react.suspense"),i=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),v=Symbol.for("react.activity"),w=Symbol.iterator;function g(f){return f===null||typeof f!="object"?null:(f=w&&f[w]||f["@@iterator"],typeof f=="function"?f:null)}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},L=Object.assign,C={};function x(f,E,F){this.props=f,this.context=E,this.refs=C,this.updater=F||b}x.prototype.isReactComponent={},x.prototype.setState=function(f,E){if(typeof f!="object"&&typeof f!="function"&&f!=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,f,E,"setState")},x.prototype.forceUpdate=function(f){this.updater.enqueueForceUpdate(this,f,"forceUpdate")};function S(){}S.prototype=x.prototype;function $(f,E,F){this.props=f,this.context=E,this.refs=C,this.updater=F||b}var re=$.prototype=new S;re.constructor=$,L(re,x.prototype),re.isPureReactComponent=!0;var j=Array.isArray;function J(){}var m={H:null,A:null,T:null,S:null},B=Object.prototype.hasOwnProperty;function X(f,E,F){var A=F.ref;return{$$typeof:e,type:f,key:E,ref:A!==void 0?A:null,props:F}}function H(f,E){return X(f.type,E,f.props)}function ie(f){return typeof f=="object"&&f!==null&&f.$$typeof===e}function Se(f){var E={"=":"=0",":":"=2"};return"$"+f.replace(/[=:]/g,function(F){return E[F]})}var Pe=/\/+/g;function G(f,E){return typeof f=="object"&&f!==null&&f.key!=null?Se(""+f.key):E.toString(36)}function Q(f){switch(f.status){case"fulfilled":return f.value;case"rejected":throw f.reason;default:switch(typeof f.status=="string"?f.then(J,J):(f.status="pending",f.then(function(E){f.status==="pending"&&(f.status="fulfilled",f.value=E)},function(E){f.status==="pending"&&(f.status="rejected",f.reason=E)})),f.status){case"fulfilled":return f.value;case"rejected":throw f.reason}}throw f}function ae(f,E,F,A,k){var Y=typeof f;(Y==="undefined"||Y==="boolean")&&(f=null);var q=!1;if(f===null)q=!0;else switch(Y){case"bigint":case"string":case"number":q=!0;break;case"object":switch(f.$$typeof){case e:case t:q=!0;break;case d:return q=f._init,ae(q(f._payload),E,F,A,k)}}if(q)return k=k(f),q=A===""?"."+G(f,0):A,j(k)?(F="",q!=null&&(F=q.replace(Pe,"$&/")+"/"),ae(k,E,F,"",function(Tt){return Tt})):k!=null&&(ie(k)&&(k=H(k,F+(k.key==null||f&&f.key===k.key?"":(""+k.key).replace(Pe,"$&/")+"/")+q)),E.push(k)),1;q=0;var ge=A===""?".":A+":";if(j(f))for(var ue=0;ue<f.length;ue++)A=f[ue],Y=ge+G(A,ue),q+=ae(A,E,F,Y,k);else if(ue=g(f),typeof ue=="function")for(f=ue.call(f),ue=0;!(A=f.next()).done;)A=A.value,Y=ge+G(A,ue++),q+=ae(A,E,F,Y,k);else if(Y==="object"){if(typeof f.then=="function")return ae(Q(f),E,F,A,k);throw E=String(f),Error("Objects are not valid as a React child (found: "+(E==="[object Object]"?"object with keys {"+Object.keys(f).join(", ")+"}":E)+"). If you meant to render a collection of children, use an array instead.")}return q}function W(f,E,F){if(f==null)return f;var A=[],k=0;return ae(f,A,"","",function(Y){return E.call(F,Y,k++)}),A}function pe(f){if(f._status===-1){var E=f._result;E=E(),E.then(function(F){(f._status===0||f._status===-1)&&(f._status=1,f._result=F)},function(F){(f._status===0||f._status===-1)&&(f._status=2,f._result=F)}),f._status===-1&&(f._status=0,f._result=E)}if(f._status===1)return f._result.default;throw f._result}var se=typeof reportError=="function"?reportError:function(f){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var E=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof f=="object"&&f!==null&&typeof f.message=="string"?String(f.message):String(f),error:f});if(!window.dispatchEvent(E))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",f);return}console.error(f)},ye={map:W,forEach:function(f,E,F){W(f,function(){E.apply(this,arguments)},F)},count:function(f){var E=0;return W(f,function(){E++}),E},toArray:function(f){return W(f,function(E){return E})||[]},only:function(f){if(!ie(f))throw Error("React.Children.only expected to receive a single React element child.");return f}};return z.Activity=v,z.Children=ye,z.Component=x,z.Fragment=r,z.Profiler=a,z.PureComponent=$,z.StrictMode=n,z.Suspense=s,z.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=m,z.__COMPILER_RUNTIME={__proto__:null,c:function(f){return m.H.useMemoCache(f)}},z.cache=function(f){return function(){return f.apply(null,arguments)}},z.cacheSignal=function(){return null},z.cloneElement=function(f,E,F){if(f==null)throw Error("The argument must be a React element, but you passed "+f+".");var A=L({},f.props),k=f.key;if(E!=null)for(Y in E.key!==void 0&&(k=""+E.key),E)!B.call(E,Y)||Y==="key"||Y==="__self"||Y==="__source"||Y==="ref"&&E.ref===void 0||(A[Y]=E[Y]);var Y=arguments.length-2;if(Y===1)A.children=F;else if(1<Y){for(var q=Array(Y),ge=0;ge<Y;ge++)q[ge]=arguments[ge+2];A.children=q}return X(f.type,k,A)},z.createContext=function(f){return f={$$typeof:l,_currentValue:f,_currentValue2:f,_threadCount:0,Provider:null,Consumer:null},f.Provider=f,f.Consumer={$$typeof:o,_context:f},f},z.createElement=function(f,E,F){var A,k={},Y=null;if(E!=null)for(A in E.key!==void 0&&(Y=""+E.key),E)B.call(E,A)&&A!=="
1key"&&A!=="__self"&&A!=="__source"&&(k[A]=E[A]);var q=arguments.length-2;if(q===1)k.children=F;else if(1<q){for(var ge=Array(q),ue=0;ue<q;ue++)ge[ue]=arguments[ue+2];k.children=ge}if(f&&f.defaultProps)for(A in q=f.defaultProps,q)k[A]===void 0&&(k[A]=q[A]);return X(f,Y,k)},z.createRef=function(){return{current:null}},z.forwardRef=function(f){return{$$typeof:u,render:f}},z.isValidElement=ie,z.lazy=function(f){return{$$typeof:d,_payload:{_status:-1,_result:f},_init:pe}},z.memo=function(f,E){return{$$typeof:i,type:f,compare:E===void 0?null:E}},z.startTransition=function(f){var E=m.T,F={};m.T=F;try{var A=f(),k=m.S;k!==null&&k(F,A),typeof A=="object"&&A!==null&&typeof A.then=="function"&&A.then(J,se)}catch(Y){se(Y)}finally{E!==null&&F.types!==null&&(E.types=F.types),m.T=E}},z.unstable_useCacheRefresh=function(){return m.H.useCacheRefresh()},z.use=function(f){return m.H.use(f)},z.useActionState=function(f,E,F){return m.H.useActionState(f,E,F)},z.useCallback=function(f,E){return m.H.useCallback(f,E)},z.useContext=function(f){return m.H.useContext(f)},z.useDebugValue=function(){},z.useDeferredValue=function(f,E){return m.H.useDeferredValue(f,E)},z.useEffect=function(f,E){return m.H.useEffect(f,E)},z.useEffectEvent=function(f){return m.H.useEffectEvent(f)},z.useId=function(){return m.H.useId()},z.useImperativeHandle=function(f,E,F){return m.H.useImperativeHandle(f,E,F)},z.useInsertionEffect=function(f,E){return m.H.useInsertionEffect(f,E)},z.useLayoutEffect=function(f,E){return m.H.useLayoutEffect(f,E)},z.useMemo=function(f,E){return m.H.useMemo(f,E)},z.useOptimistic=function(f,E){return m.H.useOptimistic(f,E)},z.useReducer=function(f,E,F){return m.H.useReducer(f,E,F)},z.useRef=function(f){return m.H.useRef(f)},z.useState=function(f){return m.H.useState(f)},z.useSyncExternalStore=function(f,E,F){return m.H.useSyncExternalStore(f,E,F)},z.useTransition=function(){return m.H.useTransition()},z.version="19.2.0",z}var yr;function Wr(){return yr||(yr=1,Nt.exports=Fn()),Nt.exports}var p=Wr();const Un=Br(p),ni=Nn({__proto__:null,default:Un},[p]);var Ft={exports:{}},de={};var vr;function $n(){if(vr)return de;vr=1;var e=Wr();function t(s){var i="https://react.dev/errors/"+s;if(1<arguments.length){i+="?args[]="+encodeURIComponent(arguments[1]);for(var d=2;d<arguments.length;d++)i+="&args[]="+encodeURIComponent(arguments[d])}return"Minified React error #"+s+"; visit "+i+" 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(s,i,d){var v=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:v==null?null:""+v,children:s,containerInfo:i,implementation:d}}var l=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function u(s,i){if(s==="font")return"";if(typeof i=="string")return i==="use-credentials"?i:""}return de.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=n,de.createPortal=function(s,i){var d=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!i||i.nodeType!==1&&i.nodeType!==9&&i.nodeType!==11)throw Error(t(299));return o(s,i,null,d)},de.flushSync=function(s){var i=l.T,d=n.p;try{if(l.T=null,n.p=2,s)return s()}finally{l.T=i,n.p=d,n.d.f()}},de.preconnect=function(s,i){typeof s=="string"&&(i?(i=i.crossOrigin,i=typeof i=="string"?i==="use-credentials"?i:"":void 0):i=null,n.d.C(s,i))},de.prefetchDNS=function(s){typeof s=="string"&&n.d.D(s)},de.preinit=function(s,i){if(typeof s=="string"&&i&&typeof i.as=="string"){var d=i.as,v=u(d,i.crossOrigin),w=typeof i.integrity=="string"?i.integrity:void 0,g=typeof i.fetchPriority=="string"?i.fetchPriority:void 0;d==="style"?n.d.S(s,typeof i.precedence=="string"?i.precedence:void 0,{crossOrigin:v,integrity:w,fetchPriority:g}):d==="script"&&n.d.X(s,{crossOrigin:v,integrity:w,fetchPriority:g,nonce:typeof i.nonce=="string"?i.nonce:void 0})}},de.preinitModule=function(s,i){if(typeof s=="string")if(typeof i=="object"&&i!==null){if(i.as==null||i.as==="script"){var d=u(i.as,i.crossOrigin);n.d.M(s,{crossOrigin:d,integrity:typeof i.integrity=="string"?i.integrity:void 0,nonce:typeof i.nonce=="string"?i.nonce:void 0})}}else i==null&&n.d.M(s)}
1,de.preload=function(s,i){if(typeof s=="string"&&typeof i=="object"&&i!==null&&typeof i.as=="string"){var d=i.as,v=u(d,i.crossOrigin);n.d.L(s,d,{crossOrigin:v,integrity:typeof i.integrity=="string"?i.integrity:void 0,nonce:typeof i.nonce=="string"?i.nonce:void 0,type:typeof i.type=="string"?i.type:void 0,fetchPriority:typeof i.fetchPriority=="string"?i.fetchPriority:void 0,referrerPolicy:typeof i.referrerPolicy=="string"?i.referrerPolicy:void 0,imageSrcSet:typeof i.imageSrcSet=="string"?i.imageSrcSet:void 0,imageSizes:typeof i.imageSizes=="string"?i.imageSizes:void 0,media:typeof i.media=="string"?i.media:void 0})}},de.preloadModule=function(s,i){if(typeof s=="string")if(i){var d=u(i.as,i.crossOrigin);n.d.m(s,{as:typeof i.as=="string"&&i.as!=="script"?i.as:void 0,crossOrigin:d,integrity:typeof i.integrity=="string"?i.integrity:void 0})}else n.d.m(s)},de.requestFormReset=function(s){n.d.r(s)},de.unstable_batchedUpdates=function(s,i){return s(i)},de.useFormState=function(s,i,d){return l.H.useFormState(s,i,d)},de.useFormStatus=function(){return l.H.useHostTransitionStatus()},de.version="19.2.0",de}var gr;function jn(){if(gr)return Ft.exports;gr=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(),Ft.exports=$n(),Ft.exports}var Yr=e=>{throw TypeError(e)},zn=(e,t,r)=>t.has(e)||Yr("Cannot "+r),Ut=(e,t,r)=>(zn(e,t,"read from private field"),r?r.call(e):t.get(e)),kn=(e,t,r)=>t.has(e)?Yr("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),wr="popstate";function In(e={}){function t(n,a){let{pathname:o,search:l,hash:u}=n.location;return at("",{pathname:o,search:l,hash:u},a.state&&a.state.usr||null,a.state&&a.state.key||"default")}function r(n,a){return typeof a=="string"?a:Le(a)}return Bn(t,r,null,e)}function I(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function ne(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function Hn(){return Math.random().toString(36).substring(2,10)}function Er(e,t){return{usr:e.state,key:e.key,idx:t}}function at(e,t,r=null,n){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?$e(t):t,state:r,key:t&&t.key||n||Hn()}}function Le({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 Bn(e,t,r,n={}){let{window:a=document.defaultView,v5Compat:o=!1}=n,l=a.history,u="POP",s=null,i=d();i==null&&(i=0,l.replaceState({...l.state,idx:i},""));function d(){return(l.state||{idx:null}).idx}function v(){u="POP";let C=d(),x=C==null?null:C-i;i=C,s&&s({action:u,location:L.location,delta:x})}function w(C,x){u="PUSH";let S=at(L.location,C,x);i=d()+1;let $=Er(S,i),re=L.createHref(S);try{l.pushState($,"",re)}catch(j){if(j instanceof DOMException&&j.name==="DataCloneError")throw j;a.location.assign(re)}o&&s&&s({action:u,location:L.location,delta:1})}function g(C,x){u="REPLACE";let S=at(L.location,C,x);i=d();let $=Er(S,i),re=L.createHref(S);l.replaceState($,"",re),o&&s&&s({action:u,location:L.location,delta:0})}function b(C){return Vr(C)}let L={get action(){return u},get location(){return e(a,l)},listen(C){if(s)throw new Error("A history only accepts one active listener");return a.addEventListener(wr,v),s=C,()=>{a.removeEventListener(wr,v),s=null}},createHref(C){return t(a,C)},createURL:b,encodeLocation(C){let x=b(C);return{pathname:x.pathname,search:x.search,hash:x.hash}},push:w,replace:g,go(C){return l.go(C)}};return L}function Vr(e,t=!1){let r="http://localhost";
1typeof window<"u"&&(r=window.location.origin!=="null"?window.location.origin:window.location.href),I(r,"No window.location.(origin|href) available to create URL");let n=typeof e=="string"?e:Le(e);return n=n.replace(/ $/,"%20"),!t&&n.startsWith("//")&&(n=r+n),new URL(n,r)}var nt,Rr=class{constructor(e){if(kn(this,nt,new Map),e)for(let[t,r]of e)this.set(t,r)}get(e){if(Ut(this,nt).has(e))return Ut(this,nt).get(e);if(e.defaultValue!==void 0)return e.defaultValue;throw new Error("No value found for context")}set(e,t){Ut(this,nt).set(e,t)}};nt=new WeakMap;var Wn=new Set(["lazy","caseSensitive","path","id","index","children"]);function Yn(e){return Wn.has(e)}var Vn=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function Kn(e){return Vn.has(e)}function Gn(e){return e.index===!0}function ot(e,t,r=[],n={},a=!1){return e.map((o,l)=>{let u=[...r,String(l)],s=typeof o.id=="string"?o.id:u.join("-");if(I(o.index!==!0||!o.children,"Cannot specify children on an index route"),I(a||!n[s],`Found a route id collision on i
1d "${s}".  Route id's must be globally unique within Data Router usages`),Gn(o)){let i={...o,id:s};return n[s]=br(i,t(i)),i}else{let i={...o,id:s,children:void 0};return n[s]=br(i,t(i)),o.children&&(i.children=ot(o.children,t,u,n,a)),i}})}function br(e,t){return Object.assign(e,{...t,...typeof t.lazy=="object"&&t.lazy!=null?{lazy:{...e.lazy,...t.lazy}}:{}})}function Ne(e,t,r="/"){return gt(e,t,r,!1)}function gt(e,t,r,n){let a=typeof t=="string"?$e(t):t,o=Ee(a.pathname||"/",r);if(o==null)return null;let l=Kr(e);Jn(l);let u=null;for(let s=0;u==null&&s<l.length;++s){let i=la(o);u=oa(l[s],i,n)}return u}function qn(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 Kr(e,t=[],r=[],n="",a=!1){let o=(l,u,s=a,i)=>{let d={relativePath:i===void 0?l.path||"":i,caseSensitive:l.caseSensitive===!0,childrenIndex:u,route:l};if(d.relativePath.startsWith("/")){if(!d.relativePath.startsWith(n)&&s)return;I(d.relativePath.startsWith(n),`Absolute route path "${d.relativePath}" nested under path "${n}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),d.relativePath=d.relativePath.slice(n.length)}let v=xe([n,d.relativePath]),w=r.concat(d);l.children&&l.children.length>0&&(I(l.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${v}".`),Kr(l.children,t,w,v,s)),!(l.path==null&&!l.index)&&t.push({path:v,score:na(v,l.index),routesMeta:w})};return e.forEach((l,u)=>{if(l.path===""||!l.path?.includes("?"))o(l,u);else for(let s of Gr(l.path))o(l,u,!0,s)}),t}function Gr(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 l=Gr(n.join("/")),u=[];return u.push(...l.map(s=>s===""?o:[o,s].join("/"))),a&&u.push(...l),u.map(s=>e.startsWith("/")&&s===""?"/":s)}function Jn(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:aa(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}var Xn=/^:[\w-]+$/,Qn=3,Zn=2,ea=1,ta=10,ra=-2,Sr=e=>e==="*";function na(e,t){let r=e.split("/"),n=r.length;return r.some(Sr)&&(n+=ra),t&&(n+=Zn),r.filter(a=>!Sr(a)).reduce((a,o)=>a+(Xn.test(o)?Qn:o===""?ea:ta),n)}function aa(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 oa(e,t,r=!1){let{routesMeta:n}=e,a={},o="/",l=[];for(let u=0;u<n.length;++u){let s=n[u],i=u===n.length-1,d=o==="/"?t:t.slice(o.length)||"/",v=bt({path:s.relativePath,caseSensitive:s.caseSensitive,end:i},d),w=s.route;if(!v&&i&&r&&!n[n.length-1].route.index&&(v=bt({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},d)),!v)return null;
1Object.assign(a,v.params),l.push({params:a,pathname:xe([o,v.pathname]),pathnameBase:fa(xe([o,v.pathnameBase])),route:w}),v.pathnameBase!=="/"&&(o=xe([o,v.pathnameBase]))}return l}function bt(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=ia(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let o=a[0],l=o.replace(/(.)\/+$/,"$1"),u=a.slice(1);return{params:n.reduce((i,{paramName:d,isOptional:v},w)=>{if(d==="*"){let b=u[w]||"";l=o.slice(0,o.length-b.length).replace(/(.)\/+$/,"$1")}const g=u[w];return v&&!g?i[d]=void 0:i[d]=(g||"").replace(/%2F/g,"/"),i},{}),pathname:o,pathnameBase:l,pattern:e}}function ia(e,t=!1,r=!0){ne(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,(l,u,s)=>(n.push({paramName:u,isOptional:s!=null}),s?"/?([^\\/]+)?":"/([^\\/]+)")).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 la(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return ne(!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 Ee(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 sa({basename:e,pathname:t}){return t==="/"?e:xe([e,t])}function ua(e,t="/"){let{pathname:r,search:n="",hash:a=""}=typeof e=="string"?$e(e):e;return{pathname:r?r.startsWith("/")?r:ca(r,t):t,search:da(n),hash:ha(a)}}function ca(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?r.length>1&&r.pop():a!=="."&&r.push(a)}),r.length>1?r.join("/"):"/"}function $t(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 qr(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function Ct(e){let t=qr(e);return t.map((r,n)=>n===t.length-1?r.pathname:r.pathnameBase)}function xt(e,t,r,n=!1){let a;typeof e=="string"?a=$e(e):(a={...e},I(!a.pathname||!a.pathname.includes("?"),$t("?","pathname","search",a)),I(!a.pathname||!a.pathname.includes("#"),$t("#","pathname","hash",a)),I(!a.search||!a.search.includes("#"),$t("#","search","hash",a)));let o=e===""||a.pathname==="",l=o?"/":a.pathname,u;if(l==null)u=r;else{let v=t.length-1;if(!n&&l.startsWith("..")){let w=l.split("/");for(;w[0]==="..";)w.shift(),v-=1;a.pathname=w.join("/")}u=v>=0?t[v]:"/"}let s=ua(a,u),i=l&&l!=="/"&&l.endsWith("/"),d=(o||l===".")&&r.endsWith("/");return!s.pathname.endsWith("/")&&(i||d)&&(s.pathname+="/"),s}var xe=e=>e.join("/").replace(/\/\/+/g,"/"),fa=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),da=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,ha=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,St=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 it(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function Vt(e){return e.filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var Ue=Symbol("Uninstrumented");function ma(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 l=Object.keys(r);for(let u of l)o[u]&&r[u].push(o[u])}}));let n={};if(typeof t.lazy=="function"&&r.lazy.length>0){let a=Ge(r.lazy,t.lazy,()=>{});a&&(n.lazy=a)}if(typeof t.lazy=="object"){let a=t.lazy;["middleware","loader","action"].forEach(o=>{let l=a[o],u=r[`lazy.${o}`];if(typeof l=="function"&&u.length>0){let s=Ge(u,l,()=>{});s&&(n.lazy=Object.assign(n.lazy||{},{[o]:s}))}})}return["loader","action"].forEach(a=>{let o=t[a];if(typeof o=="function"&&r[a].length>0){let l=o[Ue]??o,u=Ge(r[a],l,(...s)=>Pr(s[0]));u&&(u[Ue]=l,n[a]=u)}}),t.middleware&&t.middleware.length>0&&r.middleware.length>0&&(n.middleware=t.middleware.map(a=>{let o=a[Ue]??a,l=Ge(r.middleware,o,(...u)=>Pr(u[0]));return l?(l[Ue]=o,l):a})),n}function pa(e,t){let r={navigate:[],fetch:[]};if(t.forEach(n=>n({instrument(a){let o=Object.keys(a);for(let l of o)a[l]&&r[l].push(a[l])}})),r.navigate.length>0){let n=e.navigate[Ue]??e.navigate,a=Ge(r.navigate,n,(...o)=>{let[l,u]=o;return{to:typeof l=="number"||typeof l=="string"?l:l?Le(l):".",...Cr(e,u??{})}});a&&(a[Ue]=n,e.navigate=a)}if(r.fetch.length>0){let n=e.fetch[Ue]??e.fetch,a=Ge(r.fetch,n,(...o)=>{let[l,,u,s]=o;return{href:u??".",fetcherKey:l,...Cr(e,s??{})}});a&&(a[Ue]=n,e.fetch=a)}return e}function Ge(e,t,r){return e.length===0?null:async(...n)=>
1{let a=await Jr(e,r(...n),()=>t(...n),e.length-1);if(a.type==="error")throw a.value;return a.value}}async function Jr(e,t,r,n){let a=e[n],o;if(a){let l,u=async()=>(l?console.error("You cannot call instrumented handlers more than once"):l=Jr(e,t,r,n-1),o=await l,I(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(s){console.error("An instrumentation function threw an error:",s)}l||await u(),await l}else try{o={type:"success",value:await r()}}catch(l){o={type:"error",value:l}}return o||{type:"error",value:new Error("No result assigned in instrumentation chain.")}}function Pr(e){let{request:t,context:r,params:n,unstable_pattern:a}=e;return{request:ya(t),params:{...n},unstable_pattern:a,context:va(r)}}function Cr(e,t){return{currentUrl:Le(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 ya(e){return{method:e.method,url:e.url,headers:{get:(...t)=>e.headers.get(...t)}}}function va(e){if(wa(e)){let t={...e};return Object.freeze(t),t}else return{get:t=>e.get(t)}}var ga=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function wa(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")===ga}var Xr=["POST","PUT","PATCH","DELETE"],Ea=new Set(Xr),Ra=["GET",...Xr],ba=new Set(Ra),Sa=new Set([301,302,303,307,308]),Pa=new Set([307,308]),jt={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ca={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},et={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},xa=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Kt=e=>xa.test(e),La=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),Qr="remix-router-transitions",Zr=Symbol("ResetLoaderData");function _a(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";I(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let n=e.hydrationRouteProperties||[],a=e.mapRouteProperties||La,o=a;if(e.unstable_instrumentations){let c=e.unstable_instrumentations;o=h=>({...a(h),...ma(c.map(y=>y.route).filter(Boolean),h)})}let l={},u=ot(e.routes,o,void 0,l),s,i=e.basename||"/";i.startsWith("/")||(i=`/${i}`);let d=e.dataStrategy||Aa,v={...e.future},w=null,g=new Set,b=null,L=null,C=null,x=e.hydrationData!=null,S=Ne(u,e.history.location,i),$=!1,re=null,j;if(S==null&&!e.patchRoutesOnNavigation){let c=we(404,{pathname:e.history.location.pathname}),{matches:h,route:y}=pt(u);j=!0,S=h,re={[y.id]:c}}else if(S&&!e.hydrationData&&ct(S,u,e.history.location.pathname).active&&(S=null),S)if(S.some(c=>c.route.lazy))j=!1;else if(!S.some(c=>Gt(c.route)))j=!0;else{let c=e.hydrationData?e.hydrationData.loaderData:null,h=e.hydrationData?e.hydrationData.errors:null;if(h){let y=S.findIndex(R=>h[R.route.id]!==void 0);j=S.slice(0,y+1).every(R=>!Ht(R.route,c,h))}else j=S.every(y=>!Ht(y.route,c,h))}else{j=!1,S=[];let c=ct(null,u,e.history.location.pathname);c.active&&c.matches&&($=!0,S=c.matches)}let J,m={historyAction:e.history.action,location:e.history.location,matches:S,initialized:j,navigation:jt,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||re,fetchers:new Map,blockers:new Map},B="POP",X=!1,H,ie=!1,Se=new Map,Pe=null,G=!1,Q=!1,ae=new Set,W=new Map,pe=0,se=-1,ye=new Map,f=new Set,E=new Map,F=new Map,A=new Set,k=new Map,Y,q=null;function ge(){if(w=e.history.listen(({action:c,location:h,delta:y})=>{if(Y){Y(),Y=void 0;return}ne(k.size===0||y!=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 R=fr({currentLocation:m.location,nextLocation:h,historyAction:c});if(R&&y!=null){let P=new Promise(T=>{Y=T});e.history.go(y*-1),ut(R,{state:"blocked",location:h,proceed(){ut(R,{state:"proceeding",proceed:void 0,reset:void 0,location:h}),P.then(()=>e.history.go(y))},reset(){let T=new Map(m.blockers);T.set(R,et),ce({blockers:T})}});return}return je(c,h)}),r){Ga(t,Se);let c=()=>qa(t,Se);t.addEventListener("pagehide",c),Pe=()=>t.removeEventListener("pagehide",c)}return m.initialized||je("POP",m.location,{initialHydration:!0}),J}function ue(){w&&w(),Pe&&Pe(),g.clear(),H&&H.abort(),m.fetchers.forEac
1h((c,h)=>Mt(h)),m.blockers.forEach((c,h)=>cr(h))}function Tt(c){return g.add(c),()=>g.delete(c)}function ce(c,h={}){c.matches&&(c.matches=c.matches.map(P=>{let T=l[P.route.id],M=P.route;return M.element!==T.element||M.errorElement!==T.errorElement||M.hydrateFallbackElement!==T.hydrateFallbackElement?{...P,route:T}:P})),m={...m,...c};let y=[],R=[];m.fetchers.forEach((P,T)=>{P.state==="idle"&&(A.has(T)?y.push(T):R.push(T))}),A.forEach(P=>{!m.fetchers.has(P)&&!W.has(P)&&y.push(P)}),[...g].forEach(P=>P(m,{deletedFetchers:y,viewTransitionOpts:h.viewTransitionOpts,flushSync:h.flushSync===!0})),y.forEach(P=>Mt(P)),R.forEach(P=>m.fetchers.delete(P))}function Ye(c,h,{flushSync:y}={}){let R=m.actionData!=null&&m.navigation.formMethod!=null&&me(m.navigation.formMethod)&&m.navigation.state==="loading"&&c.state?._isRedirect!==!0,P;h.actionData?Object.keys(h.actionData).length>0?P=h.actionData:P=null:R?P=m.actionData:P=null;let T=h.loaderData?Fr(m.loaderData,h.loaderData,h.matches||[],h.errors):m.loaderData,M=m.blockers;M.size>0&&(M=new Map(M),M.forEach((O,D)=>M.set(D,et)));let _=G?!1:hr(c,h.matches||m.matches),N=X===!0||m.navigation.formMethod!=null&&me(m.navigation.formMethod)&&c.state?._isRedirect!==!0;s&&(u=s,s=void 0),G||B==="POP"||(B==="PUSH"?e.history.push(c,c.state):B==="REPLACE"&&e.history.replace(c,c.state));let U;if(B==="POP"){let O=Se.get(m.location.pathname);O&&O.has(c.pathname)?U={currentLocation:m.location,nextLocation:c}:Se.has(c.pathname)&&(U={currentLocation:c,nextLocation:m.location})}else if(ie){let O=Se.get(m.location.pathname);O?O.add(c.pathname):(O=new Set([c.pathname]),Se.set(m.location.pathname,O)),U={currentLocation:m.location,nextLocation:c}}ce({...h,actionData:P,loaderData:T,historyAction:B,location:c,initialized:!0,navigation:jt,revalidation:"idle",restoreScrollPosition:_,preventScrollReset:N,blockers:M},{viewTransitionOpts:U,flushSync:y===!0}),B="POP",X=!1,ie=!1,G=!1,Q=!1,q?.resolve(),q=null}async function nr(c,h){if(typeof c=="number"){e.history.go(c);return}let y=It(m.location,m.matches,i,c,h?.fromRouteId,h?.relative),{path:R,submission:P,error:T}=xr(!1,y,h),M=m.location,_=at(m.location,R,h&&h.state);_={..._,...e.history.encodeLocation(_)};let N=h&&h.replace!=null?h.replace:void 0,U="PUSH";N===!0?U="REPLACE":N===!1||P!=null&&me(P.formMethod)&&P.formAction===m.location.pathname+m.location.search&&(U="REPLACE");let O=h&&"preventScrollReset"in h?h.preventScrollReset===!0:void 0,D=(h&&h.flushSync)===!0,V=fr({currentLocation:M,nextLocation:_,historyAction:U});if(V){ut(V,{state:"blocked",location:_,proceed(){ut(V,{state:"proceeding",proceed:void 0,reset:void 0,location:_}),nr(c,h)},reset(){let ee=new Map(m.blockers);ee.set(V,et),ce({blockers:ee})}});return}await je(U,_,{submission:P,pendingError:T,preventScrollReset:O,replace:h&&h.replace,enableViewTransition:h&&h.viewTransition,flushSync:D})}function wn(){q||(q=Ja()),Dt(),ce({revalidation:"loading"});let c=q.promise;return m.navigation.state==="submitting"?c:m.navigation.state==="idle"?(je(m.historyAction,m.location,{startUninterruptedRevalidation:!0}),c):(je(B||m.historyAction,m.navigation.location,{overrideNavigation:m.navigation,enableViewTransition:ie===!0}),c)}async function je(c,h,y){H&&H.abort(),H=null,B=c,G=(y&&y.startUninterruptedRevalidation)===!0,Dn(m.location,m.matches),X=(y&&y.preventScrollReset)===!0,ie=(y&&y.enableViewTransition)===!0;let R=s||u,P=y&&y.overrideNavigation,T=y?.initialHydration&&m.matches&&m.matches.length>0&&!$?m.matches:Ne(R,h,i),M=(y&&y.flushSync)===!0;if(T&&m.initialized&&!Q&&Ia(m.location,h)&&!(y&&y.submission&&me(y.submission.formMethod))){Ye(h,{matches:T},{flushSync:M});return}let _=ct(T,R,h.pathname);if(_.active&&_.matches&&(T=_.matches),!T){let{error:he,notFoundMatches:te,route:Z}=Ot(h.pathname);Ye(h,{matches:te,loaderData:{},errors:{[Z.id]:he}},{flushSync:M});return}H=new AbortController;let N=Ke(e.history,h,H.signal,y&&y.submission),U=e.getContext?await e.getContext():new Rr,O;if(y&&y.pendingError)O=[Fe(T).route.id,{type:"error",error:y.pendingError}];else if(y&&y.submission&&me(y.submission.formMethod)){let he=await En(N,h,y.submission,T,U,_.active,y&&y.initialHydration===!0,{replace:y.replace,flushSync:M});if(he.shortCircuited)return;if(he.pendingActionResult){let[te,Z]=he.pendingActionResult;if(ve(Z)&&it(Z.error)&&Z.error.status===404){H=null,Ye(h,{matches:he.matches,loaderData:{},errors:{[te]:Z.error}});return}}T=he.matches||T,O=he.pendingActionResult,P=zt(h,y.submission),M=!1,_.active=!1,N=Ke(e.history,N.url,N.signal)}let{shortCircuited:D,matches:V,loaderData:ee,errors:le}=await Rn(N,h,T,U,_.active,P,y&&y.submission,y&&y.fetcherSubmission,y&&y.replace,y&&y.initialHydration===!0,M,O);D||(H=null,Ye(h,{matches:V||T,...Ur(O),loaderData:ee,errors:le}))}async function En(c,h,y,R,P,T,M,_={}){Dt();let N=Va(h,y);if(ce({navigation:N},{flushSync:_.flushSync===!0}),T){let D=await ft(R,h.pathname,c.signal);if(D.type==="aborted")return{shortCircuited:!0};if(D.type==="error"){if(D.partialMatches.length===0){let{matches:ee,route:le}=pt(u);return{matches:ee,pendingActionResult:[le.id,{type:"error",error:D.error}]}}let V=Fe(D.partialMatches).route.id;return{matches:D.partialMatches,pendingActionResult:[V,{type:"error",error:D.error}]}}else if(D.matches)R=D.matches;else{let{notFoundMatches:V,error:ee,route:le}=Ot(h.pathname);return{matches:V,pendingActionResult:[le.id,{type:"error",error:ee}]}}}let U,O=wt(R,h);if(!O.route.action&&!O.route.lazy)U={type:"error",error:we(405,{method:c.method,pathname:h.pathname,routeId:O.route.id})};else{let D=qe(o,l,c,R,O,M?[]:n,P),V=await Xe(c,D,P,null);if(U=V[O.route.id],!U){for(let ee of R)if(V[ee.route.id]){U=V[ee.route.id];break}}if(c.signal.aborted)return{shortCircuited:!0}}if(Be(U)){let D;return _&&_.replace!=null?D=_.replace:D=Or(U.response.headers.get("Location"),new URL(c.url),i)===m.location.pathname+m.location.search,await ze(c,U,!0,{submission:y,replace:D}),{shortCircuited:!0}}if(ve(U)){let D=Fe(R,O.route.id);
1return(_&&_.replace)!==!0&&(B="PUSH"),{matches:R,pendingActionResult:[D.route.id,U,O.route.id]}}return{matches:R,pendingActionResult:[O.route.id,U]}}async function Rn(c,h,y,R,P,T,M,_,N,U,O,D){let V=T||zt(h,M),ee=M||_||jr(V),le=!G&&!U;if(P){if(le){let fe=ar(D);ce({navigation:V,...fe!==void 0?{actionData:fe}:{}},{flushSync:O})}let K=await ft(y,h.pathname,c.signal);if(K.type==="aborted")return{shortCircuited:!0};if(K.type==="error"){if(K.partialMatches.length===0){let{matches:Ve,route:He}=pt(u);return{matches:Ve,loaderData:{},errors:{[He.id]:K.error}}}let fe=Fe(K.partialMatches).route.id;return{matches:K.partialMatches,loaderData:{},errors:{[fe]:K.error}}}else if(K.matches)y=K.matches;else{let{error:fe,notFoundMatches:Ve,route:He}=Ot(h.pathname);return{matches:Ve,loaderData:{},errors:{[He.id]:fe}}}}let he=s||u,{dsMatches:te,revalidatingFetchers:Z}=Lr(c,R,o,l,e.history,m,y,ee,h,U?[]:n,U===!0,Q,ae,A,E,f,he,i,e.patchRoutesOnNavigation!=null,D);if(se=++pe,!e.dataStrategy&&!te.some(K=>K.shouldLoad)&&!te.some(K=>K.route.middleware&&K.route.middleware.length>0)&&Z.length===0){let K=sr();return Ye(h,{matches:y,loaderData:{},errors:D&&ve(D[1])?{[D[0]]:D[1].error}:null,...Ur(D),...K?{fetchers:new Map(m.fetchers)}:{}},{flushSync:O}),{shortCircuited:!0}}if(le){let K={};if(!P){K.navigation=V;let fe=ar(D);fe!==void 0&&(K.actionData=fe)}Z.length>0&&(K.fetchers=bn(Z)),ce(K,{flushSync:O})}Z.forEach(K=>{De(K.key),K.controller&&W.set(K.key,K.controller)});let ke=()=>Z.forEach(K=>De(K.key));H&&H.signal.addEventListener("abort",ke);let{loaderResults:Qe,fetcherResults:Ae}=await or(te,Z,c,R);if(c.signal.aborted)return{shortCircuited:!0};H&&H.signal.removeEventListener("abort",ke),Z.forEach(K=>W.delete(K.key));let Ce=yt(Qe);if(Ce)return await ze(c,Ce.result,!0,{replace:N}),{shortCircuited:!0};if(Ce=yt(Ae),Ce)return f.add(Ce.key),await ze(c,Ce.result,!0,{replace:N}),{shortCircuited:!0};let{loaderData:At,errors:Ze}=Nr(m,y,Qe,D,Z,Ae);U&&m.errors&&(Ze={...m.errors,...Ze});let Ie=sr(),dt=ur(se),ht=Ie||dt||Z.length>0;return{matches:y,loaderData:At,errors:Ze,...ht?{fetchers:new Map(m.fetchers)}:{}}}function ar(c){if(c&&!ve(c[1]))return{[c[0]]:c[1].data};if(m.actionData)return Object.keys(m.actionData).length===0?null:m.actionData}function bn(c){return c.forEach(h=>{let y=m.fetchers.get(h.key),R=tt(void 0,y?y.data:void 0);m.fetchers.set(h.key,R)}),new Map(m.fetchers)}async function Sn(c,h,y,R){De(c);let P=(R&&R.flushSync)===!0,T=s||u,M=It(m.location,m.matches,i,y,h,R?.relative),_=Ne(T,M,i),N=ct(_,T,M);if(N.active&&N.matches&&(_=N.matches),!_){Te(c,h,we(404,{pathname:M}),{flushSync:P});return}let{path:U,submission:O,error:D}=xr(!0,M,R);if(D){Te(c,h,D,{flushSync:P});return}let V=e.getContext?await e.getContext():new Rr,ee=(R&&R.preventScrollReset)===!0;if(O&&me(O.formMethod)){await Pn(c,h,U,_,V,N.active,P,ee,O);return}E.set(c,{routeId:h,path:U}),await Cn(c,h,U,_,V,N.active,P,ee,O)}async function Pn(c,h,y,R,P,T,M,_,N){Dt(),E.delete(c);let U=m.fetchers.get(c);_e(c,Ka(N,U),{flushSync:M});let O=new AbortController,D=Ke(e.history,y,O.signal,N);if(T){let oe=await ft(R,new URL(D.url).pathname,D.signal,c);if(oe.type==="aborted")return;if(oe.type==="error"){Te(c,h,oe.error,{flushSync:M});return}else if(oe.matches)R=oe.matches;else{Te(c,h,we(404,{pathname:y}),{flushSync:M});return}}let V=wt(R,y);if(!V.route.action&&!V.route.lazy){let oe=we(405,{method:N.formMethod,pathname:y,routeId:h});Te(c,h,oe,{flushSync:M});return}W.set(c,O);let ee=pe,le=qe(o,l,D,R,V,n,P),te=(await Xe(D,le,P,c))[V.route.id];if(D.signal.aborted){W.get(c)===O&&W.delete(c);return}if(A.has(c)){if(Be(te)||ve(te)){_e(c,Me(void 0));return}}else{if(Be(te))if(W.delete(c),se>ee){_e(c,Me(void 0));return}else return f.add(c),_e(c,tt(N)),ze(D,te,!1,{fetcherSubmission:N,preventScrollReset:_});if(ve(te)){Te(c,h,te.error);return}}let Z=m.navigation.location||m.location,ke=Ke(e.history,Z,O.signal),Qe=s||u,Ae=m.navigation.state!=="idle"?Ne(Qe,m.navigation.location,i):m.matches;I(Ae,"Didn't find any matches after fetcher action");let Ce=++pe;ye.set(c,Ce);let At=tt(N,te.data);m.fetchers.set(c,At);let{dsMatches:Ze,revalidatingFetchers:Ie}=Lr(ke,P,o,l,e.history,m,Ae,N,Z,n,!1,Q,ae,A,E,f,Qe,i,e.patchRoutesOnNavigation!=null,[V.route.id,te]);Ie.filter(oe=>
1oe.key!==c).forEach(oe=>{let mt=oe.key,mr=m.fetchers.get(mt),An=tt(void 0,mr?mr.data:void 0);m.fetchers.set(mt,An),De(mt),oe.controller&&W.set(mt,oe.controller)}),ce({fetchers:new Map(m.fetchers)});let dt=()=>Ie.forEach(oe=>De(oe.key));O.signal.addEventListener("abort",dt);let{loaderResults:ht,fetcherResults:K}=await or(Ze,Ie,ke,P);if(O.signal.aborted)return;if(O.signal.removeEventListener("abort",dt),ye.delete(c),W.delete(c),Ie.forEach(oe=>W.delete(oe.key)),m.fetchers.has(c)){let oe=Me(te.data);m.fetchers.set(c,oe)}let fe=yt(ht);if(fe)return ze(ke,fe.result,!1,{preventScrollReset:_});if(fe=yt(K),fe)return f.add(fe.key),ze(ke,fe.result,!1,{preventScrollReset:_});let{loaderData:Ve,errors:He}=Nr(m,Ae,ht,void 0,Ie,K);ur(Ce),m.navigation.state==="loading"&&Ce>se?(I(B,"Expected pending action"),H&&H.abort(),Ye(m.navigation.location,{matches:Ae,loaderData:Ve,errors:He,fetchers:new Map(m.fetchers)})):(ce({errors:He,loaderData:Fr(m.loaderData,Ve,Ae,He),fetchers:new Map(m.fetchers)}),Q=!1)}async function Cn(c,h,y,R,P,T,M,_,N){let U=m.fetchers.get(c);_e(c,tt(N,U?U.data:void 0),{flushSync:M});let O=new AbortController,D=Ke(e.history,y,O.signal);if(T){let Z=await ft(R,new URL(D.url).pathname,D.signal,c);if(Z.type==="aborted")return;if(Z.type==="error"){Te(c,h,Z.error,{flushSync:M});return}else if(Z.matches)R=Z.matches;else{Te(c,h,we(404,{pathname:y}),{flushSync:M});return}}let V=wt(R,y);W.set(c,O);let ee=pe,le=qe(o,l,D,R,V,n,P),te=(await Xe(D,le,P,c))[V.route.id];if(W.get(c)===O&&W.delete(c),!D.signal.aborted){if(A.has(c)){_e(c,Me(void 0));return}if(Be(te))if(se>ee){_e(c,Me(void 0));return}else{f.add(c),await ze(D,te,!1,{preventScrollReset:_});return}if(ve(te)){Te(c,h,te.error);return}_e(c,Me(te.data))}}async function ze(c,h,y,{submission:R,fetcherSubmission:P,preventScrollReset:T,replace:M}={}){h.response.headers.has("X-Remix-Revalidate")&&(Q=!0);let _=h.response.headers.get("Location");I(_,"Expected a Location header on the redirect Response"),_=Or(_,new URL(c.url),i);let N=at(m.location,_,{_isRedirect:!0});if(r){let le=!1;if(h.response.headers.has("X-Remix-Reload-Document"))le=!0;else if(Kt(_)){const he=Vr(_,!0);le=he.origin!==t.location.origin||Ee(he.pathname,i)==null}if(le){M?t.location.replace(_):t.location.assign(_);return}}H=null;let U=M===!0||h.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:O,formAction:D,formEncType:V}=m.navigation;!R&&!P&&O&&D&&V&&(R=jr(m.navigation));let ee=R||P;if(Pa.has(h.response.status)&&ee&&me(ee.formMethod))await je(U,N,{submission:{...ee,formAction:_},preventScrollReset:T||X,enableViewTransition:y?ie:void 0});else{let le=zt(N,R);await je(U,N,{overrideNavigation:le,fetcherSubmission:P,preventScrollReset:T||X,enableViewTransition:y?ie:void 0})}}async function Xe(c,h,y,R){let P,T={};try{P=await Fa(d,c,h,R,y,!1)}catch(M){return h.filter(_=>_.shouldLoad).forEach(_=>{T[_.route.id]={type:"error",error:M}}),T}if(c.signal.aborted)return T;for(let[M,_]of Object.entries(P))if(Wa(_)){let N=_.result;T[M]={type:"redirect",response:za(N,c,M,h,i)}}else T[M]=await ja(_);return T}async function or(c,h,y,R){let P=Xe(y,c,R,null),T=Promise.all(h.map(async N=>{if(N.matches&&N.match&&N.request&&N.controller){let O=(await Xe(N.request,N.matches,R,N.key))[N.match.route.id];return{[N.key]:O}}else return Promise.resolve({[N.key]:{type:"error",error:we(404,{pathname:N.path})}})})),M=await P,_=(await T).reduce((N,U)=>Object.assign(N,U),{});return{loaderResults:M,fetcherResults:_}}function Dt(){Q=!0,E.forEach((c,h)=>{W.has(h)&&ae.add(h),De(h)})}function _e(c,h,y={}){m.fetchers.set(c,h),ce({fetchers:new Map(m.fetchers)},{flushSync:(y&&y.flushSync)===!0})}function Te(c,h,y,R={}){let P=Fe(m.matches,h);Mt(c),ce({errors:{[P.route.id]:y},fetchers:new Map(m.fetchers)},{flushSync:(R&&R.flushSync)===!0})}function ir(c){return F.set(c,(F.get(c)||0)+1),A.has(c)&&A.delete(c),m.fetchers.get(c)||Ca}function xn(c,h){De(c,h?.reason),_e(c,Me(null))}function Mt(c){let h=m.fetchers.get(c);W.has(c)&&!(h&&h.state==="loading"&&ye.has(c))&&De(c),E.delete(c),ye.delete(c),f.delete(c),A.delete(c),ae.delete(c),m.fetchers.delete(c)}function Ln(c){let h=(F.get(c)||0)-1;h<=0?(F.delete(c),A.add(c)):F.set(c,h),ce({fetchers:new Map(m.fetchers)})}function De(c,h){let y=W.get(c);y&&(y.abort(h),W.delete(c))}function lr(c){for(let h of c){let y=ir(h),R=Me(y.data);m.fetchers.set(h,R)}}function sr(){let c=[],h=!1;for(let y of f){let R=m.fetchers.get(y);I(R,`Expected fetcher: ${y}`),R.state==="loading"&&(f.delete(y),c.push(y),h=!0)}return lr(c),h}function ur(c){let h=[];for(let[y,R]of ye)if(R<c){let P=m.fetchers.get(y);I(P,`Expected fetcher: ${y}`),P.state==="loading"&&(De(y),ye.delete(y),h.push(y))}return lr(h),h.length>0}function _n(c,h){let y=m.blockers.get(c)||et;return k.get(c)!==h&&k.set(c,h),y}function cr(c){m.blockers.delete(c),k.delete(c)}function ut(c,h){let y=m.blockers.get(c)||et;I(y.state==="unblocked"&&h.state==="blocked"||y.state==="blocked"&&h.state==="blocked"||y.state==="blocked"&&h.state==="proceeding"||y.state==="blocked"&&h.state==="unblocked"||y.state==="proceeding"&&h.state==="unblocked",`Invalid blocker state transition: ${y.state} -> ${h.state}`);let R=new Map(m.blockers);R.set(c,h),ce({blockers:R})}function fr({currentLocation:c,nextLocation:h,historyAction:y}){if(k.size===0)return;k.size>1&&ne(!1,"A router only supports one blocker at a time");let R=Array.from(k.entries()),[P,T]=R[R.length-1],M=m.blockers.get(P);if(!(M&&M.state==="proceeding")&&T({currentLocation:c,nextLocation:h,historyAction:y}))return P}function Ot(c){let h=we(404,{pathname:c}),y=s||u,{matches:R,route:P}=pt(y);return{notFoundMatches:R,route:P,error:h}}function Tn(c,h,y){if(b=c,C=h,L=y||null,!x&&m.navigation===jt){x=!0;let R=hr(m.location,m.matches);R!=null&&ce({restoreScrollPosition:R})}return()=>{b=null,C=null,L=null}}function dr(c,h){return L&&L(c,h.map(R=>qn(R,m.loaderData)))||c.key}function Dn(c,h){if(b&&C){let y=dr(c,h);b[y]=C()}}function hr(c,h){if(b){let y=dr(c,h),R=b[y];if(typeof R=="number")return R}return null}
1function ct(c,h,y){if(e.patchRoutesOnNavigation)if(c){if(Object.keys(c[0].params).length>0)return{active:!0,matches:gt(h,y,i,!0)}}else return{active:!0,matches:gt(h,y,i,!0)||[]};return{active:!1,matches:null}}async function ft(c,h,y,R){if(!e.patchRoutesOnNavigation)return{type:"success",matches:c};let P=c;for(;;){let T=s==null,M=s||u,_=l;try{await e.patchRoutesOnNavigation({signal:y,path:h,matches:P,fetcherKey:R,patch:(O,D)=>{y.aborted||_r(O,D,M,_,o,!1)}})}catch(O){return{type:"error",error:O,partialMatches:P}}finally{T&&!y.aborted&&(u=[...u])}if(y.aborted)return{type:"aborted"};let N=Ne(M,h,i);if(N)return{type:"success",matches:N};let U=gt(M,h,i,!0);if(!U||P.length===U.length&&P.every((O,D)=>O.route.id===U[D].route.id))return{type:"success",matches:null};P=U}}function Mn(c){l={},s=ot(c,o,void 0,l)}function On(c,h,y=!1){let R=s==null;_r(c,h,s||u,l,o,y),R&&(u=[...u],ce({}))}return J={get basename(){return i},get future(){return v},get state(){return m},get routes(){return u},get window(){return t},initialize:ge,subscribe:Tt,enableScrollRestoration:Tn,navigate:nr,fetch:Sn,revalidate:wn,createHref:c=>e.history.createHref(c),encodeLocation:c=>e.history.encodeLocation(c),getFetcher:ir,resetFetcher:xn,deleteFetcher:Ln,dispose:ue,getBlocker:_n,deleteBlocker:cr,patchRoutes:On,_internalFetchControllers:W,_internalSetRoutes:Mn,_internalSetStateDoNotUseOrYouWillBreakYourApp(c){ce(c)}},e.unstable_instrumentations&&(J=pa(J,e.unstable_instrumentations.map(c=>c.router).filter(Boolean))),J}function Ta(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function It(e,t,r,n,a,o){let l,u;if(a){l=[];for(let i of t)if(l.push(i),i.route.id===a){u=i;break}}else l=t,u=t[t.length-1];let s=xt(n||".",Ct(l),Ee(e.pathname,r)||e.pathname,o==="path");if(n==null&&(s.search=e.search,s.hash=e.hash),(n==null||n===""||n===".")&&u){let i=qt(s.search);if(u.route.index&&!i)s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index";else if(!u.route.index&&i){let d=new URLSearchParams(s.search),v=d.getAll("index");d.delete("index"),v.filter(g=>g).forEach(g=>d.append("index",g));let w=d.toString();s.search=w?`?${w}`:""}}return r!=="/"&&(s.pathname=sa({basename:r,pathname:s.pathname})),Le(s)}function xr(e,t,r){if(!r||!Ta(r))return{path:t};if(r.formMethod&&!Ya(r.formMethod))return{path:t,error:we(405,{method:r.formMethod})};let n=()=>({path:t,error:we(400,{type:"invalid-body"})}),o=(r.formMethod||"get").toUpperCase(),l=on(t);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!me(o))return n();let v=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((w,[g,b])=>`${w}${g}=${b}
2`,""):String(r.body);return{path:t,submission:{formMethod:o,formAction:l,formEncType:r.formEncType,formData:void 0,json:void 0,text:v}}}else if(r.formEncType==="application/json"){if(!me(o))return n();try{let v=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:t,submission:{formMethod:o,formAction:l,formEncType:r.formEncType,formData:void 0,json:v,text:void 0}}}catch{return n()}}}I(typeof FormData=="function","FormData is not available in this environment");let u,s;if(r.formData)u=Wt(r.formData),s=r.formData;else if(r.body instanceof FormData)u=Wt(r.body),s=r.body;else if(r.body instanceof URLSearchParams)u=r.body,s=Ar(u);else if(r.body==null)u=new URLSearchParams,s=new FormData;else try{u=new URLSearchParams(r.body),s=Ar(u)}catch{return n()}let i={formMethod:o,formAction:l,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:s,json:void 0,text:void 0};if(me(i.formMethod))return{path:t,submission:i};let d=$e(t);return e&&d.search&&qt(d.search)&&u.append("index",""),d.search=`?${u}`,{path:Le(d),submission:i}}function Lr(e,t,r,n,a,o,l,u,s,i,d,v,w,g,b,L,C,x,S,$){let re=$?ve($[1])?$[1].error:$[1].data:void 0,j=a.createURL(o.location),J=a.createURL(s),m;if(d&&o.errors){let G=Object.keys(o.errors)[0];m=l.findIndex(Q=>Q.route.id===G)}else if($&&ve($[1])){let G=$[0];m=l.findIndex(Q=>Q.route.id===G)-1}let B=$?$[1].statusCode:void 0,X=B&&B>
2=400,H={currentUrl:j,currentParams:o.matches[0]?.params||{},nextUrl:J,nextParams:l[0].params,...u,actionResult:re,actionStatus:B},ie=Vt(l.map(G=>G.route.path)),Se=l.map((G,Q)=>{let{route:ae}=G,W=null;if(m!=null&&Q>m?W=!1:ae.lazy?W=!0:Gt(ae)?d?W=Ht(ae,o.loaderData,o.errors):Da(o.loaderData,o.matches[Q],G)&&(W=!0):W=!1,W!==null)return Bt(r,n,e,ie,G,i,t,W);let pe=X?!1:v||j.pathname+j.search===J.pathname+J.search||j.search!==J.search||Ma(o.matches[Q],G),se={...H,defaultShouldRevalidate:pe},ye=Pt(G,se);return Bt(r,n,e,ie,G,i,t,ye,se)}),Pe=[];return b.forEach((G,Q)=>{if(d||!l.some(F=>F.route.id===G.routeId)||g.has(Q))return;let ae=o.fetchers.get(Q),W=ae&&ae.state!=="idle"&&ae.data===void 0,pe=Ne(C,G.path,x);if(!pe){if(S&&W)return;Pe.push({key:Q,routeId:G.routeId,path:G.path,matches:null,match:null,request:null,controller:null});return}if(L.has(Q))return;let se=wt(pe,G.path),ye=new AbortController,f=Ke(a,G.path,ye.signal),E=null;if(w.has(Q))w.delete(Q),E=qe(r,n,f,pe,se,i,t);else if(W)v&&(E=qe(r,n,f,pe,se,i,t));else{let F={...H,defaultShouldRevalidate:X?!1:v};Pt(se,F)&&(E=qe(r,n,f,pe,se,i,t,F))}E&&Pe.push({key:Q,routeId:G.routeId,path:G.path,matches:E,match:se,request:f,controller:ye})}),{dsMatches:Se,revalidatingFetchers:Pe}}function Gt(e){return e.loader!=null||e.middleware!=null&&e.middleware.length>0}function Ht(e,t,r){if(e.lazy)return!0;if(!Gt(e))return!1;let n=t!=null&&e.id in t,a=r!=null&&r[e.id]!==void 0;return!n&&a?!1:typeof e.loader=="function"&&e.loader.hydrate===!0?!0:!n&&!a}function Da(e,t,r){let n=!t||r.route.id!==t.route.id,a=!e.hasOwnProperty(r.route.id);return n||a}function Ma(e,t){let r=e.route.path;return e.pathname!==t.pathname||r!=null&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function Pt(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if(typeof r=="boolean")return r}return t.defaultShouldRevalidate}function _r(e,t,r,n,a,o){let l;if(e){let i=n[e];I(i,`No route found to patch children into: routeId = ${e}`),i.children||(i.children=[]),l=i.children}else l=r;let u=[],s=[];if(t.forEach(i=>{let d=l.find(v=>en(i,v));d?s.push({existingRoute:d,newRoute:i}):u.push(i)}),u.length>0){let i=ot(u,a,[e||"_","patch",String(l?.length||"0")],n);l.push(...i)}if(o&&s.length>0)for(let i=0;i<s.length;i++){let{existingRoute:d,newRoute:v}=s[i],w=d,[g]=ot([v],a,[],{},!0);Object.assign(w,{element:g.element?g.element:w.element,errorElement:g.errorElement?g.errorElement:w.errorElement,hydrateFallbackElement:g.hydrateFallbackElement?g.hydrateFallbackElement:w.hydrateFallbackElement})}}function en(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=>en(r,a))):!1}var Tr=new WeakMap,tn=({key:e,route:t,manifest:r,mapRouteProperties:n})=>{let a=r[t.id];if(I(a,"No route found in manifest"),!a.lazy||typeof a.lazy!="object")return;let o=a.lazy[e];if(!o)return;let l=Tr.get(a);l||(l={},Tr.set(a,l));let u=l[e];if(u)return u;let s=(async()=>{let i=Yn(e),v=a[e]!==void 0&&e!=="hasErrorBoundary";if(i)ne(!i,"Route property "+e+" is not a supported lazy route property. This property will be ignored."),l[e]=Promise.resolve();else if(v)ne(!1,`Route "${a.id}" has a static property "${e}" defined. The lazy property will be ignored.`);else{let w=await o();w!=null&&(Object.assign(a,{[e]:w}),Object.assign(a,n(a)))}typeof a.lazy=="object"&&(a.lazy[e]=void 0,Object.values(a.lazy).every(w=>w===void 0)&&(a.lazy=void 0))})();return l[e]=s,s},Dr=new WeakMap;function Oa(e,t,r,n,a){let o=r[e.id];if(I(o,"No route found in manifest"),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof e.lazy=="function"){let d=Dr.get(o);if(d)return{lazyRoutePromise:d,lazyHandlerPromise:d};let v=(async()=>{I(typeof e.lazy=="function","No lazy route function found");let w=await e.lazy(),g={};for(let b in w){let L=w[b];if(L===void 0)continue;let C=Kn(b),S=o[b]!==void 0&&b!=="hasErrorBoundary";C?ne(!C,"Route property "+b+" is not a supported property to be returned from a lazy route function. This property will be ignored."):S?ne(!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.`):g[b]=L}Object.assign(o,g),Object.assign(o,{...n(o),lazy:void 0})})();return Dr.set(o,v),v.catch(()=>{}),{lazyRoutePromise:v,lazyHandlerPromise:v}}let l=Object.keys(e.lazy),u=[],s;for(let d of l){if(a&&a.includes(d))continue;let v=tn({key:d,route:e,manifest:r,mapRouteProperties:n});v&&(u.push(v),d===t&&(s=v))}let i=u.length>0?Promise.all(u).then(()=>{}):void 0;return i?.catch(()=>{}),s?.catch(()=>{}),{lazyRoutePromise:i,lazyHandlerPromise:s}}async function Mr(e){let t=e.matches.filter(a=>a.shouldLoad),r={};return(await Promise.all(t.map(a=>
2a.resolve()))).forEach((a,o)=>{r[t[o].route.id]=a}),r}async function Aa(e){return e.matches.some(t=>t.route.middleware)?rn(e,()=>Mr(e)):Mr(e)}function rn(e,t){return Na(e,t,n=>n,Ha,r);function r(n,a,o){if(o)return Promise.resolve(Object.assign(o.value,{[a]:{type:"error",result:n}}));{let{matches:l}=e,u=Math.min(Math.max(l.findIndex(i=>i.route.id===a),0),Math.max(l.findIndex(i=>i.unstable_shouldCallHandler()),0)),s=Fe(l,l[u].route.id).route.id;return Promise.resolve({[s]:{type:"error",result:n}})}}}async function Na(e,t,r,n,a){let{matches:o,request:l,params:u,context:s,unstable_pattern:i}=e,d=o.flatMap(w=>w.route.middleware?w.route.middleware.map(g=>[w.route.id,g]):[]);return await nn({request:l,params:u,context:s,unstable_pattern:i},d,t,r,n,a)}async function nn(e,t,r,n,a,o,l=0){let{request:u}=e;if(u.signal.aborted)throw u.signal.reason??new Error(`Request aborted: ${u.method} ${u.url}`);let s=t[l];if(!s)return await r();let[i,d]=s,v,w=async()=>{if(v)throw new Error("You may only call `next()` once per middleware");try{return v={value:await nn(e,t,r,n,a,o,l+1)},v.value}catch(g){return v={value:await o(g,i,v)},v.value}};try{let g=await d(e,w),b=g!=null?n(g):void 0;return a(b)?b:v?b??v.value:(v={value:await w()},v.value)}catch(g){return await o(g,i,v)}}function an(e,t,r,n,a){let o=tn({key:"middleware",route:n.route,manifest:t,mapRouteProperties:e}),l=Oa(n.route,me(r.method)?"action":"loader",t,e,a);return{middleware:o,route:l.lazyRoutePromise,handler:l.lazyHandlerPromise}}function Bt(e,t,r,n,a,o,l,u,s=null){let i=!1,d=an(e,t,r,a,o);return{...a,_lazyPromises:d,shouldLoad:u,unstable_shouldRevalidateArgs:s,unstable_shouldCallHandler(v){return i=!0,s?typeof v=="boolean"?Pt(a,{...s,defaultShouldRevalidate:v}):Pt(a,s):u},resolve(v){let{lazy:w,loader:g,middleware:b}=a.route,L=i||u||v&&!me(r.method)&&(w||g),C=b&&b.length>0&&!g&&!w;return L&&(me(r.method)||!C)?Ua({request:r,unstable_pattern:n,match:a,lazyHandlerPromise:d?.handler,lazyRoutePromise:d?.route,handlerOverride:v,scopedContext:l}):Promise.resolve({type:"data",result:void 0})}}}function qe(e,t,r,n,a,o,l,u=null){return n.map(s=>s.route.id!==a.route.id?{...s,shouldLoad:!1,unstable_shouldRevalidateArgs:u,unstable_shouldCallHandler:()=>!1,_lazyPromises:an(e,t,r,s,o),resolve:()=>Promise.resolve({type:"data",result:void 0})}:Bt(e,t,r,Vt(n.map(i=>i.route.path)),s,o,l,!0,u))}async function Fa(e,t,r,n,a,o){r.some(i=>i._lazyPromises?.middleware)&&await Promise.all(r.map(i=>i._lazyPromises?.middleware));let l={request:t,unstable_pattern:Vt(r.map(i=>i.route.path)),params:r[0].params,context:a,matches:r},s=await e({...l,fetcherKey:n,runClientMiddleware:i=>{let d=l;return rn(d,()=>i({...d,fetcherKey:n,runClientMiddleware:()=>{throw new Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))}});try{await Promise.all(r.flatMap(i=>[i._lazyPromises?.handler,i._lazyPromises?.route]))}catch{}return s}async function Ua({request:e,unstable_pattern:t,match:r,lazyHandlerPromise:n,lazyRoutePromise:a,handlerOverride:o,scopedContext:l}){let u,s,i=me(e.method),d=i?"action":"loader",v=w=>{let g,b=new Promise((x,S)=>g=S);s=()=>g(),e.signal.addEventListener("abort",s);let L=x=>typeof w!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${d}" [routeId: ${r.route.id}]`)):w({request:e,unstable_pattern:t,params:r.params,context:l},...x!==void 0?[x]:[]),C=(async()=>{try{return{type:"data",result:await(o?o(S=>L(S)):L())}}catch(x){return{type:"error",result:x}}})();return Promise.race([C,b])};try{let w=i?r.route.action:r.route.loader;if(n||a)if(w){let g,[b]=await Promise.all([v(w).catch(L=>{g=L}),n,a]);if(g!==void 0)throw g;u=b}else{await n;let g=i?r.route.action:r.route.loader;if(g)[u]=await Promise.all([v(g),a]);else if(d==="action"){let b=new URL(e.url),L=b.pathname+b.search;throw we(405,{method:e.method,pathname:L,routeId:r.route.id})}else return{type:"data",result:void 0}}else if(w)u=await v(w);else{let g=new URL(e.url),b=g.pathname+g.search;throw we(404,{pathname:b})}}catch(w){return{type:"error",result:w}}finally{s&&e.signal.removeEventListener("abort",s)}return u}async function $a(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 ja(e){let{result:t,type:r}=e;if(ln(t)){let n;try{n=await $a(t)}catch(a){return{type:"error",error:a}}return r==="error"?{type:"error",error:new St(t.status,t.statusText,n),statusCode:t.status,headers:t.headers}:{type:"data",data:n,statusCode:t.status,headers:t.headers}}return r==="error"?$r(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:new St(t.init?.status||500,void 0,t.data),statusCode:it(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"error",error:t,statusCode:it(t)?t.status:void 0}:$r(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 za(e,t,r,n,a){let o=e.headers.get("Location");if(I(o,"Redirects returned/thrown from loaders/actions must have a Location header"),!Kt(o)){let l=n.slice(0,n.findIndex(u=>u.route.id===r)+1);
2o=It(new URL(t.url),l,a,o),e.headers.set("Location",o)}return e}function Or(e,t,r){if(Kt(e)){let n=e,a=n.startsWith("//")?new URL(t.protocol+n):new URL(n),o=Ee(a.pathname,r)!=null;if(a.origin===t.origin&&o)return a.pathname+a.search+a.hash}return e}function Ke(e,t,r,n){let a=e.createURL(on(t)).toString(),o={signal:r};if(n&&me(n.formMethod)){let{formMethod:l,formEncType:u}=n;o.method=l.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=Wt(n.formData):o.body=n.formData}return new Request(a,o)}function Wt(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,typeof n=="string"?n:n.name);return t}function Ar(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function ka(e,t,r,n=!1,a=!1){let o={},l=null,u,s=!1,i={},d=r&&ve(r[1])?r[1].error:void 0;return e.forEach(v=>{if(!(v.route.id in t))return;let w=v.route.id,g=t[w];if(I(!Be(g),"Cannot handle redirect results in processLoaderData"),ve(g)){let b=g.error;if(d!==void 0&&(b=d,d=void 0),l=l||{},a)l[w]=b;else{let L=Fe(e,w);l[L.route.id]==null&&(l[L.route.id]=b)}n||(o[w]=Zr),s||(s=!0,u=it(g.error)?g.error.status:500),g.headers&&(i[w]=g.headers)}else o[w]=g.data,g.statusCode&&g.statusCode!==200&&!s&&(u=g.statusCode),g.headers&&(i[w]=g.headers)}),d!==void 0&&r&&(l={[r[0]]:d},r[2]&&(o[r[2]]=void 0)),{loaderData:o,errors:l,statusCode:u||200,loaderHeaders:i}}function Nr(e,t,r,n,a,o){let{loaderData:l,errors:u}=ka(t,r,n);return a.filter(s=>!s.matches||s.matches.some(i=>i.shouldLoad)).forEach(s=>{let{key:i,match:d,controller:v}=s;if(v&&v.signal.aborted)return;let w=o[i];if(I(w,"Did not find corresponding fetcher result"),ve(w)){let g=Fe(e.matches,d?.route.id);u&&u[g.route.id]||(u={...u,[g.route.id]:w.error}),e.fetchers.delete(i)}else if(Be(w))I(!1,"Unhandled fetcher revalidation redirect");else{let g=Me(w.data);e.fetchers.set(i,g)}}),{loaderData:l,errors:u}}function Fr(e,t,r,n){let a=Object.entries(t).filter(([,o])=>o!==Zr).reduce((o,[l,u])=>(o[l]=u,o),{});for(let o of r){let l=o.route.id;if(!t.hasOwnProperty(l)&&e.hasOwnProperty(l)&&o.route.loader&&(a[l]=e[l]),n&&n.hasOwnProperty(l))break}return a}function Ur(e){return e?ve(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function Fe(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 pt(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 we(e,{pathname:t,routeId:r,method:n,type:a,message:o}={}){let l="Unknown Server Error",u="Unknown @remix-run/router error";return e===400?(l="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?(l="Forbidden",u=`Route "${r}" does not match URL "${t}"`):e===404?(l="Not Found",u=`No route matches URL "${t}"`):e===405&&(l="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 St(e||500,l,new Error(u),!0)}function yt(e){let t=Object.entries(e);for(let r=t.length-1;r>=0;r--){let[n,a]=t[r];if(Be(a))return{key:n,result:a}}}function on(e){let t=typeof e=="string"?$e(e):e;return Le({...t,hash:""})}function Ia(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function Ha(e){return e!=null&&typeof e=="object"&&Object.entries(e).every(([t,r])=>typeof t=="string"&&Ba(r))}function Ba(e){return e!=null&&typeof e=="object"&&"type"in e&&"result"in e&&(e.type==="data"||e.type==="error")}function Wa(e){return ln(e.result)&&Sa.has(e.result.status)}function ve(e){return e.type==="error"}function Be(e){return(e&&e.type)==="redirect"}function $r(e){return typeof e=="object"&&e!=null&&"type"in e&&"data"in e&&"init"in e&&e.type==="DataWithResponseInit"}function ln(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function Ya(e){return ba.has(e.toUpperCase())}function me(e){return Ea.has(e.toUpperCase())}function qt(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function wt(e,t){let r=typeof t=="string"?$e(t).search:t.search;if(e[e.length-1].route.index&&qt(r||""))return e[e.length-1];let n=qr(e);return n[n.length-1]}function jr(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:o,json:l}=e;
2if(!(!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(l!==void 0)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:l,text:void 0}}}function zt(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function Va(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}function tt(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 Ka(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 Me(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 Ga(e,t){try{let r=e.sessionStorage.getItem(Qr);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 qa(e,t){if(t.size>0){let r={};for(let[n,a]of t)r[n]=[...a];try{e.sessionStorage.setItem(Qr,JSON.stringify(r))}catch(n){ne(!1,`Failed to save applied view transitions in sessionStorage (${n}).`)}}}function Ja(){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 We=p.createContext(null);We.displayName="DataRouter";var lt=p.createContext(null);lt.displayName="DataRouterState";p.createContext(!1);var Jt=p.createContext({isTransitioning:!1});Jt.displayName="ViewTransition";var sn=p.createContext(new Map);sn.displayName="Fetchers";var Xa=p.createContext(null);Xa.displayName="Await";var Re=p.createContext(null);Re.displayName="Navigation";var Lt=p.createContext(null);Lt.displayName="Location";var be=p.createContext({outlet:null,matches:[],isDataRoute:!1});be.displayName="Route";var Xt=p.createContext(null);Xt.displayName="RouteError";function Qa(e,{relative:t}={}){I(Je(),"useHref() may be used only in the context of a <Router> component.");let{basename:r,navigator:n}=p.useContext(Re),{hash:a,pathname:o,search:l}=st(e,{relative:t}),u=o;return r!=="/"&&(u=o==="/"?r:xe([r,o])),n.createHref({pathname:u,search:l,hash:a})}function Je(){return p.useContext(Lt)!=null}function Oe(){return I(Je(),"useLocation() may be used only in the context of a <Router> component."),p.useContext(Lt).location}var un="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function cn(e){p.useContext(Re).static||p.useLayoutEffect(e)}function Qt(){let{isDataRoute:e}=p.useContext(be);return e?mo():Za()}function Za(){I(Je(),"useNavigate() may be used only in the context of a <Router> component.");let e=p.useContext(We),{basename:t,navigator:r}=p.useContext(Re),{matches:n}=p.useContext(be),{pathname:a}=Oe(),o=JSON.stringify(Ct(n)),l=p.useRef(!1);return cn(()=>{l.current=!0}),p.useCallback((s,i={})=>{if(ne(l.current,un),!l.current)return;if(typeof s=="number"){r.go(s);return}let d=xt(s,JSON.parse(o),a,i.relative==="path");e==null&&t!=="/"&&(d.pathname=d.pathname==="/"?t:xe([t,d.pathname])),(i.replace?r.replace:r.push)(d,i.state,i)},[t,r,o,a,e])}var eo=p.createContext(null);function to(e){let t=p.useContext(be).outlet;return p.useMemo(()=>t&&p.createElement(eo.Provider,{value:e},t),[t,e])}function st(e,{relative:t}={}){let{matches:r}=p.useContext(be),{pathname:n}=Oe(),a=JSON.stringify(Ct(r));return p.useMemo(()=>xt(e,JSON.parse(a),n,t==="path"),[e,a,n,t])}function ro(e,t,r,n,a){I(Je(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:o}=p.useContext(Re),{matches:l}=p.useContext(be),u=l[l.length-1],s=u?u.params:{},i=u?u.pathname:"/",d=u?u.pathnameBase:"/",v=u&&u.route;{let S=v&&v.path||"";fn(i,!v||S.endsWith("*")||S.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${i}" (under <Route path="${S}">) 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.
3
4Please change the parent <Route path="${S}"> to <Route path="${S==="/"?"*":`${S}/*`}">.`)}let w=Oe(),g;g=w;let b=g.pathname||"/",L=b;if(d!=="/"){let S=d.replace(/^\//,"").split("/");L="/"+b.replace(/^\//,"").split("/").slice(S.length).join("/")}let C=Ne(e,{pathname:L});return ne(v||C!=null,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),ne(C==null||C[C.length-1].route.element!==void 0||C[C.length-1].route.Component!==void 0||C[C.length-1].route.lazy!==void 0,`Matched leaf route at location "${g.pathname}${g.search}${g.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.`),lo(C&&C.map(S=>Object.assign({},S,{params:Object.assign({},s,S.params),pathname:xe([d,o.encodeLocation?o.encodeLocation(S.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:S.pathname]),pathnameBase:S.pathnameBase==="/"?d:xe([d,o.encodeLocation?o.encodeLocation(S.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:S.pathnameBase])})),l,r,n,a)}function no(){let e=ho(),t=it(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},l=null;return console.error("Error handled by React Router default ErrorBoundary:",e),l=p.createElement(p.Fragment,null,p.createElement("p",null,"💿 Hey developer 👋"),p.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",p.createElement("code",{style:o},"ErrorBoundary")," or"," ",p.createElement("code",{style:o},"errorElement")," prop on your route.")),p.createElement(p.Fragment,null,p.createElement("h2",null,"Unexpected Application 
4Error!"),p.createElement("h3",{style:{fontStyle:"italic"}},t),r?p.createElement("pre",{style:a},r):null,l)}var ao=p.createElement(no,null),oo=class extends p.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.unstable_onError?this.props.unstable_onError(e,t):console.error("React Router caught the following error during render",e)}render(){return this.state.error!==void 0?p.createElement(be.Provider,{value:this.props.routeContext},p.createElement(Xt.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function io({routeContext:e,match:t,children:r}){let n=p.useContext(We);return n&&n.static&&n.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=t.route.id),p.createElement(be.Provider,{value:e},r)}function lo(e,t=[],r=null,n=null,a=null){if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let o=e,l=r?.errors;if(l!=null){let i=o.findIndex(d=>d.route.id&&l?.[d.route.id]!==void 0);I(i>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(l).join(",")}`),o=o.slice(0,Math.min(o.length,i+1))}let u=!1,s=-1;if(r)for(let i=0;i<o.length;i++){let d=o[i];if((d.route.HydrateFallback||d.route.hydrateFallbackElement)&&(s=i),d.route.id){let{loaderData:v,errors:w}=r,g=d.route.loader&&!v.hasOwnProperty(d.route.id)&&(!w||w[d.route.id]===void 0);if(d.route.lazy||g){u=!0,s>=0?o=o.slice(0,s+1):o=[o[0]];break}}}return o.reduceRight((i,d,v)=>{let w,g=!1,b=null,L=null;r&&(w=l&&d.route.id?l[d.route.id]:void 0,b=d.route.errorElement||ao,u&&(s<0&&v===0?(fn("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),g=!0,L=null):s===v&&(g=!0,L=d.route.hydrateFallbackElement||null)));let C=t.concat(o.slice(0,v+1)),x=()=>{let S;return w?S=b:g?S=L:d.route.Component?S=p.createElement(d.route.Component,null):d.route.element?S=d.route.element:S=i,p.createElement(io,{match:d,routeContext:{outlet:i,matches:C,isDataRoute:r!=null},children:S})};return r&&(d.route.ErrorBoundary||d.route.errorElement||v===0)?p.createElement(oo,{location:r.location,revalidation:r.revalidation,component:b,error:w,children:x(),routeContext:{outlet:null,matches:C,isDataRoute:!0},unstable_onError:n}):x()},null)}function Zt(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function so(e){let t=p.useContext(We);return I(t,Zt(e)),t}function uo(e){let t=p.useContext(lt);return I(t,Zt(e)),t}function co(e){let t=p.useContext(be);return I(t,Zt(e)),t}function er(e){let t=co(e),r=t.matches[t.matches.length-1];return I(r.route.id,`${e} can only be used on routes that contain a unique "id"`),r.route.id}function fo(){return er("useRouteId")}function ho(){let e=p.useContext(Xt),t=uo("useRouteError"),r=er("useRouteError");return e!==void 0?e:t.errors?.[r]}function mo(){let{router:e}=so("useNavigate"),t=er("useNavigate"),r=p.useRef(!1);return cn(()=>{r.current=!0}),p.useCallback(async(a,o={})=>{ne(r.current,un),r.current&&(typeof a=="number"?e.navigate(a):await e.navigate(a,{fromRouteId:t,...o}))},[e,t])}var zr={};function fn(e,t,r){!t&&!zr[e]&&(zr[e]=!0,ne(!1,r))}var kr={};function Ir(e,t){!e&&!kr[t]&&(kr[t]=!0,console.warn(t))}function po(e){let t={hasErrorBoundary:e.hasErrorBoundary||e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&(e.element&&ne(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(t,{element:p.createElement(e.Component),Component:void 0})),e.HydrateFallback&&(e.hydrateFallbackElement&&ne(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(t,{hydrateFallbackElement:p.createElement(e.HydrateFallback),HydrateFallback:void 0})),e.ErrorBoundary&&(e.errorElement&&ne(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(t,{errorElement:p.createElement(e.ErrorBoundary),ErrorBoundary:void 0})),t}var yo=["HydrateFallback","hydrateFallbackElement"],vo=class{constructor(){this.status="pending",this.promise=new Promise((e,t)=>
4{this.resolve=r=>{this.status==="pending"&&(this.status="resolved",e(r))},this.reject=r=>{this.status==="pending"&&(this.status="rejected",t(r))}})}};function go({router:e,flushSync:t,unstable_onError:r}){let[n,a]=p.useState(e.state),[o,l]=p.useState(),[u,s]=p.useState({isTransitioning:!1}),[i,d]=p.useState(),[v,w]=p.useState(),[g,b]=p.useState(),L=p.useRef(new Map),C=p.useCallback(j=>{a(J=>(j.errors&&r&&Object.entries(j.errors).forEach(([m,B])=>{J.errors?.[m]!==B&&r(B)}),j))},[r]),x=p.useCallback((j,{deletedFetchers:J,flushSync:m,viewTransitionOpts:B})=>{j.fetchers.forEach((H,ie)=>{H.data!==void 0&&L.current.set(ie,H.data)}),J.forEach(H=>L.current.delete(H)),Ir(m===!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 X=e.window!=null&&e.window.document!=null&&typeof e.window.document.startViewTransition=="function";if(Ir(B==null||X,"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."),!B||!X){t&&m?t(()=>C(j)):p.startTransition(()=>C(j));return}if(t&&m){t(()=>{v&&(i&&i.resolve(),v.skipTransition()),s({isTransitioning:!0,flushSync:!0,currentLocation:B.currentLocation,nextLocation:B.nextLocation})});let H=e.window.document.startViewTransition(()=>{t(()=>C(j))});H.finished.finally(()=>{t(()=>{d(void 0),w(void 0),l(void 0),s({isTransitioning:!1})})}),t(()=>w(H));return}v?(i&&i.resolve(),v.skipTransition(),b({state:j,currentLocation:B.currentLocation,nextLocation:B.nextLocation})):(l(j),s({isTransitioning:!0,flushSync:!1,currentLocation:B.currentLocation,nextLocation:B.nextLocation}))},[e.window,t,v,i,C]);p.useLayoutEffect(()=>e.subscribe(x),[e,x]),p.useEffect(()=>{u.isTransitioning&&!u.flushSync&&d(new vo)},[u]),p.useEffect(()=>{if(i&&o&&e.window){let j=o,J=i.promise,m=e.window.document.startViewTransition(async()=>{p.startTransition(()=>C(j)),await J});m.finished.finally(()=>{d(void 0),w(void 0),l(void 0),s({isTransitioning:!1})}),w(m)}},[o,i,e.window,C]),p.useEffect(()=>{i&&o&&n.location.key===o.location.key&&i.resolve()},[i,v,n.location,o]),p.useEffect(()=>{!u.isTransitioning&&g&&(l(g.state),s({isTransitioning:!0,flushSync:!1,currentLocation:g.currentLocation,nextLocation:g.nextLocation}),b(void 0))},[u.isTransitioning,g]);let S=p.useMemo(()=>({createHref:e.createHref,encodeLocation:e.encodeLocation,go:j=>e.navigate(j),push:(j,J,m)=>e.navigate(j,{state:J,preventScrollReset:m?.preventScrollReset}),replace:(j,J,m)=>e.navigate(j,{replace:!0,state:J,preventScrollReset:m?.preventScrollReset})}),[e]),$=e.basename||"/",re=p.useMemo(()=>({router:e,navigator:S,static:!1,basename:$,unstable_onError:r}),[e,S,$,r]);return p.createElement(p.Fragment,null,p.createElement(We.Provider,{value:re},p.createElement(lt.Provider,{value:n},p.createElement(sn.Provider,{value:L.current},p.createElement(Jt.Provider,{value:u},p.createElement(Ro,{basename:$,location:n.location,navigationType:n.historyAction,navigator:S},p.createElement(wo,{routes:e.routes,future:e.future,state:n,unstable_onError:r})))))),null)}var wo=p.memo(Eo);function Eo({routes:e,future:t,state:r,unstable_onError:n}){return ro(e,void 0,r,n,t)}function ai({to:e,replace:t,state:r,relative:n}){I(Je(),"<Navigate> may be used only in the context of a <Router> component.");let{static:a}=p.useContext(Re);ne(!a,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:o}=p.useContext(be),{pathname:l}=Oe(),u=Qt(),s=xt(e,Ct(o),l,n==="path"),i=JSON.stringify(s);return p.useEffect(()=>{u(JSON.parse(i),{replace:t,state:r,relative:n})},[u,i,n,t,r]),null}function oi(e){return to(e.context)}function Ro({basename:e="/",children:t=null,location:r,navigationType:n="POP",navigator:a,static:o=!1}){I(!Je(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let l=e.replace(/^\/*/,"/"),u=p.useMemo(()=>({basename:l,navigator:a,static:o,future:{}}),[l,a,o]);typeof r=="string"&&(r=$e(r));let{pathname:s="/",search:i="",hash:d="",state:v=null,key:w="default"}=r,g=p.useMemo(()=>{let b=Ee(s,l);return b==null?null:{location:{pathname:b,search:i,hash:d,state:v,key:w},navigationType:n}},[l,s,i,d,v,w,n]);
4return ne(g!=null,`<Router basename="${l}"> is not able to match the URL "${s}${i}${d}" because it does not start with the basename, so the <Router> won't render anything.`),g==null?null:p.createElement(Re.Provider,{value:u},p.createElement(Lt.Provider,{children:t,value:g}))}var Et="get",Rt="application/x-www-form-urlencoded";function _t(e){return e!=null&&typeof e.tagName=="string"}function bo(e){return _t(e)&&e.tagName.toLowerCase()==="button"}function So(e){return _t(e)&&e.tagName.toLowerCase()==="form"}function Po(e){return _t(e)&&e.tagName.toLowerCase()==="input"}function Co(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function xo(e,t){return e.button===0&&(!t||t==="_self")&&!Co(e)}function Yt(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 Lo(e,t){let r=Yt(e);return t&&t.forEach((n,a)=>{r.has(a)||t.getAll(a).forEach(o=>{r.append(a,o)})}),r}var vt=null;function _o(){if(vt===null)try{new FormData(document.createElement("form"),0),vt=!1}catch{vt=!0}return vt}var To=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function kt(e){return e!=null&&!To.has(e)?(ne(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Rt}"`),null):e}function Do(e,t){let r,n,a,o,l;if(So(e)){let u=e.getAttribute("action");n=u?Ee(u,t):null,r=e.getAttribute("method")||Et,a=kt(e.getAttribute("enctype"))||Rt,o=new FormData(e)}else if(bo(e)||Po(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 s=e.getAttribute("formaction")||u.getAttribute("action");if(n=s?Ee(s,t):null,r=e.getAttribute("formmethod")||u.getAttribute("method")||Et,a=kt(e.getAttribute("formenctype"))||kt(u.getAttribute("enctype"))||Rt,o=new FormData(u,e),!_o()){let{name:i,type:d,value:v}=e;if(d==="image"){let w=i?`${i}.`:"";o.append(`${w}x`,"0"),o.append(`${w}y`,"0")}else i&&o.append(i,v)}}else{if(_t(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=Et,n=null,a=Rt,l=e}return o&&a==="text/plain"&&(l=o,o=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:o,body:l}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function tr(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Mo(e,t,r){let n=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return n.pathname==="/"?n.pathname=`_root.${r}`:t&&Ee(n.pathname,t)==="/"?n.pathname=`${t.replace(/\/$/,"")}/_root.${r}`:n.pathname=`${n.pathname.replace(/\/$/,"")}.${r}`,n}async function Oo(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 Ao(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 No(e,t,r){let n=await Promise.all(e.map(async a=>{let o=t.routes[a.route.id];if(o){let l=await Oo(o,r);return l.links?l.links():[]}return[]}));return jo(n.flat(1).filter(Ao).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function Hr(e,t,r,n,a,o){let l=(s,i)=>r[i]?s.route.id!==r[i].route.id:!0,u=(s,i)=>r[i].pathname!==s.pathname||r[i].route.path?.endsWith("*")&&r[i].params["*"]!==s.params["*"];return o==="assets"?t.filter((s,i)=>l(s,i)||u(s,i)):o==="data"?t.filter((s,i)=>{let d=n.routes[s.route.id];if(!d||!d.hasLoader)return!1;if(l(s,i)||u(s,i))return!0;if(s.route.shouldRevalidate){let v=s.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:r[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:s.params,defaultShouldRevalidate:!0});if(typeof v=="boolean")return v}return!0}):[]}function Fo(e,t,{includeHydrateFallback:r}={}){return Uo(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.c
4oncat(a.imports)),o}).flat(1))}function Uo(e){return[...new Set(e)]}function $o(e){let t={},r=Object.keys(e).sort();for(let n of r)t[n]=e[n];return t}function jo(e,t){let r=new Set;return new Set(t),e.reduce((n,a)=>{let o=JSON.stringify($o(a));return r.has(o)||(r.add(o),n.push({key:o,link:a})),n},[])}function dn(){let e=p.useContext(We);return tr(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function zo(){let e=p.useContext(lt);return tr(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var rr=p.createContext(void 0);rr.displayName="FrameworkContext";function hn(){let e=p.useContext(rr);return tr(e,"You must render this element inside a <HydratedRouter> element"),e}function ko(e,t){let r=p.useContext(rr),[n,a]=p.useState(!1),[o,l]=p.useState(!1),{onFocus:u,onBlur:s,onMouseEnter:i,onMouseLeave:d,onTouchStart:v}=t,w=p.useRef(null);p.useEffect(()=>{if(e==="render"&&l(!0),e==="viewport"){let L=x=>{x.forEach(S=>{l(S.isIntersecting)})},C=new IntersectionObserver(L,{threshold:.5});return w.current&&C.observe(w.current),()=>{C.disconnect()}}},[e]),p.useEffect(()=>{if(n){let L=setTimeout(()=>{l(!0)},100);return()=>{clearTimeout(L)}}},[n]);let g=()=>{a(!0)},b=()=>{a(!1),l(!1)};return r?e!=="intent"?[o,w,{}]:[o,w,{onFocus:rt(u,g),onBlur:rt(s,b),onMouseEnter:rt(i,g),onMouseLeave:rt(d,b),onTouchStart:rt(v,g)}]:[!1,w,{}]}function rt(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function Io({page:e,...t}){let{router:r}=dn(),n=p.useMemo(()=>Ne(r.routes,e,r.basename),[r.routes,e,r.basename]);return n?p.createElement(Bo,{page:e,matches:n,...t}):null}function Ho(e){let{manifest:t,routeModules:r}=hn(),[n,a]=p.useState([]);return p.useEffect(()=>{let o=!1;return No(e,t,r).then(l=>{o||a(l)}),()=>{o=!0}},[e,t,r]),n}function Bo({page:e,matches:t,...r}){let n=Oe(),{manifest:a,routeModules:o}=hn(),{basename:l}=dn(),{loaderData:u,matches:s}=zo(),i=p.useMemo(()=>Hr(e,t,s,a,n,"data"),[e,t,s,a,n]),d=p.useMemo(()=>Hr(e,t,s,a,n,"assets"),[e,t,s,a,n]),v=p.useMemo(()=>{if(e===n.pathname+n.search+n.hash)return[];let b=new Set,L=!1;if(t.forEach(x=>{let S=a.routes[x.route.id];!S||!S.hasLoader||(!i.some($=>$.route.id===x.route.id)&&x.route.id in u&&o[x.route.id]?.shouldRevalidate||S.hasClientLoader?L=!0:b.add(x.route.id))}),b.size===0)return[];let C=Mo(e,l,"data");return L&&b.size>0&&C.searchParams.set("_routes",t.filter(x=>b.has(x.route.id)).map(x=>x.route.id).join(",")),[C.pathname+C.search]},[l,u,n,a,i,t,e,o]),w=p.useMemo(()=>Fo(d,a),[d,a]),g=Ho(d);return p.createElement(p.Fragment,null,v.map(b=>p.createElement("link",{key:b,rel:"prefetch",as:"fetch",href:b,...r})),w.map(b=>p.createElement("link",{key:b,rel:"modulepreload",href:b,...r})),g.map(({key:b,link:L})=>p.createElement("link",{key:b,nonce:r.nonce,...L})))}function Wo(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}var mn=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{mn&&(window.__reactRouterVersion="7.9.5")}catch{}function ii(e,t){return _a({basename:t?.basename,getContext:t?.getContext,future:t?.future,history:In({window:t?.window}),hydrationData:Yo(),routes:e,mapRouteProperties:po,hydrationRouteProperties:yo,dataStrategy:t?.dataStrategy,patchRoutesOnNavigation:t?.patchRoutesOnNavigation,window:t?.window,unstable_instrumentations:t?.unstable_instrumentations}).initialize()}function Yo(){let e=window?.__staticRouterHydrationData;return e&&e.errors&&(e={...e,errors:Vo(e.errors)}),e}function Vo(e){if(!e)return null;let t=Object.entries(e),r={};for(let[n,a]of t)if(a&&a.__type==="RouteErrorResponse")r[n]=new St(a.status,a.statusText,a.data,a.internal===!0);else if(a&&a.__type==="Error"){if(a.__subType){let o=window[a.__subType];if(typeof o=="function")try{let l=new o(a.message);l.stack="",r[n]=l}catch{}}if(r[n]==null){let o=new Error(a.message);o.stack="",r[n]=o}}else r[n]=a;return r}var pn=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,yn=p.forwardRef(function({onClick:t,discover:r="render",prefetch:n="none",relative:a,reloadDocument:o,replace:l,state:u,target:s,to:i,preventScrollReset:d,viewTransition:v,...w},g){let{basename:b}=p.useContext(Re),L=typeof i=="string"&&pn.test(i),C,x=!1;if(typeof i=="string"&&L&&(C=i,mn))try{let X=new URL(window.location.href),H=i.startsWith("//")?new URL(X.protocol+i):new URL(i),ie=Ee(H.pathname,b);H.origin===X.origin&&ie!=null?i=ie+H.search+H.hash:x=!0}catch{ne(!1,`<Link to="${i}">
4 contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let S=Qa(i,{relative:a}),[$,re,j]=ko(n,w),J=Jo(i,{replace:l,state:u,target:s,preventScrollReset:d,relative:a,viewTransition:v});function m(X){t&&t(X),X.defaultPrevented||J(X)}let B=p.createElement("a",{...w,...j,href:C||S,onClick:x||o?t:m,ref:Wo(g,re),target:s,"data-discover":!L&&r==="render"?"true":void 0});return $&&!L?p.createElement(p.Fragment,null,B,p.createElement(Io,{page:S})):B});yn.displayName="Link";var Ko=p.forwardRef(function({"aria-current":t="page",caseSensitive:r=!1,className:n="",end:a=!1,style:o,to:l,viewTransition:u,children:s,...i},d){let v=st(l,{relative:i.relative}),w=Oe(),g=p.useContext(lt),{navigator:b,basename:L}=p.useContext(Re),C=g!=null&&ti(v)&&u===!0,x=b.encodeLocation?b.encodeLocation(v).pathname:v.pathname,S=w.pathname,$=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;r||(S=S.toLowerCase(),$=$?$.toLowerCase():null,x=x.toLowerCase()),$&&L&&($=Ee($,L)||$);const re=x!=="/"&&x.endsWith("/")?x.length-1:x.length;let j=S===x||!a&&S.startsWith(x)&&S.charAt(re)==="/",J=$!=null&&($===x||!a&&$.startsWith(x)&&$.charAt(x.length)==="/"),m={isActive:j,isPending:J,isTransitioning:C},B=j?t:void 0,X;typeof n=="function"?X=n(m):X=[n,j?"active":null,J?"pending":null,C?"transitioning":null].filter(Boolean).join(" ");let H=typeof o=="function"?o(m):o;return p.createElement(yn,{...i,"aria-current":B,className:X,ref:d,style:H,to:l,viewTransition:u},typeof s=="function"?s(m):s)});Ko.displayName="NavLink";var Go=p.forwardRef(({discover:e="render",fetcherKey:t,navigate:r,reloadDocument:n,replace:a,state:o,method:l=Et,action:u,onSubmit:s,relative:i,preventScrollReset:d,viewTransition:v,...w},g)=>{let b=Zo(),L=ei(u,{relative:i}),C=l.toLowerCase()==="get"?"get":"post",x=typeof u=="string"&&pn.test(u),S=$=>{if(s&&s($),$.defaultPrevented)return;$.preventDefault();let re=$.nativeEvent.submitter,j=re?.getAttribute("formmethod")||l;b(re||$.currentTarget,{fetcherKey:t,method:j,navigate:r,replace:a,state:o,relative:i,preventScrollReset:d,viewTransition:v})};return p.createElement("form",{ref:g,method:C,action:L,onSubmit:n?s:S,...w,"data-discover":!x&&e==="render"?"true":void 0})});Go.displayName="Form";function qo(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function vn(e){let t=p.useContext(We);return I(t,qo(e)),t}function Jo(e,{target:t,replace:r,state:n,preventScrollReset:a,relative:o,viewTransition:l}={}){let u=Qt(),s=Oe(),i=st(e,{relative:o});return p.useCallback(d=>{if(xo(d,t)){d.preventDefault();let v=r!==void 0?r:Le(s)===Le(i);u(e,{replace:v,state:n,preventScrollReset:a,relative:o,viewTransition:l})}},[s,u,i,r,n,t,e,a,o,l])}function li(e){ne(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.");let t=p.useRef(Yt(e)),r=p.useRef(!1),n=Oe(),a=p.useMemo(()=>Lo(n.search,r.current?null:t.current),[n.search]),o=Qt(),l=p.useCallback((u,s)=>{const i=Yt(typeof u=="function"?u(new URLSearchParams(a)):u);r.current=!0,o("?"+i,s)},[o,a]);return[a,l]}var Xo=0,Qo=()=>`__${String(++Xo)}__`;function Zo(){let{router:e}=vn("useSubmit"),{basename:t}=p.useContext(Re),r=fo();return p.useCallback(async(n,a={})=>{let{action:o,method:l,encType:u,formData:s,body:i}=Do(n,t);if(a.navigate===!1){let d=a.fetcherKey||Qo();await e.fetch(d,r,a.action||o,{preventScrollReset:a.preventScrollReset,formData:s,body:i,formMethod:a.method||l,formEncType:a.encType||u,flushSync:a.flushSync})}else await e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:s,body:i,formMethod:a.method||l,formEncType:a.encType||u,replace:a.replace,state:a.state,fromRouteId:r,flushSync:a.flushSync,viewTransition:a.viewTransition})},[e,t,r])}function ei(e,{relative:t}={}){let{basename:r}=p.useContext(Re),n=p.useContext(be);I(n,"useFormAction must be used inside a RouteContext");let[a]=n.matches.slice(-1),o={...st(e||".",{relative:t})},l=Oe();if(e==null){o.search=l.search;let u=new URLSearchParams(o.search),s=u.getAll("index");if(s.some(d=>d==="")){u.delete("index"),s.filter(v=>v).forEach(v=>u.append("index",v));let d=u.toString();o.search=d?`?${d}`:""}}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])),Le(o)}function ti(e,{relative:t}={}){let r=p.useContext(Jt);I(r!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`.  Did you accidentally import `RouterProvider` from `react-router`?");let{basename:n}=vn("useViewTransitionState"),a=st(e,{relative:t});if(!r.isTransitioning)return!1;let o=Ee(r.currentLocation.pathname,n)||r.currentLocation.pathname,l=Ee(r.nextLocation.pathname,n)||r.nextLocation.pathname;return bt(a.pathname,l)!=null||bt(a.pathname,o)!=null}var gn=jn();const si=Br(gn);function ui(e){return p.createElement(go,{flushSync:gn.flushSync,...e})}export{yn as L,ai as N,oi as O,ni as R,Wr as a,gn as b,Un as c,si as d,jn as e,Qt as f,Br as g,Oe as h,it as i,li as j,ii as k,ui as l,ri as m,p as r,ho as u};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.