PageSourceSearch

https://ecustoms.kz/assets/index-BiWjUZwn.js

js ecustoms.kz collected 2026-10-08 16:12:55 UTC 194,325 bytes, 40 lines download raw bytes

1import{e as f,R as Bn,H as fe}from"./ecustoms_mf_2_host__loadShare__react__loadShare__-ByLk7w3R.js";import{e as gl}from"./ecustoms_mf_2_host__loadShare__react_mf_2_dom__loadShare__--qYrx-SI.js";import"./_commonjsHelpers-DaWZu8wl.js";import"./ecustoms_mf_2_host__mf_v__runtimeInit__mf_v__-CoTilJrQ.js";var Wn=e=>{throw TypeError(e)},vl=(e,t,r)=>t.has(e)||Wn("Cannot "+r),Mr=(e,t,r)=>(vl(e,t,"read from private field"),r?r.call(e):t.get(e)),wl=(e,t,r)=>t.has(e)?Wn("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Rl=(e=>(e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE",e))(Rl||{}),en="popstate";function ir(e){return typeof e=="object"&&e!=null&&"pathname"in e&&"search"in e&&"hash"in e&&"state"in e&&"key"in e}function Vn(e={}){let{initialEntries:t=["/"],initialIndex:r,v5Compat:a=!1}=e,n;n=t.map((h,p)=>d(h,typeof h=="string"?null:h.state,p===0?"default":void 0,typeof h=="string"?void 0:h.unstable_mask));let o=s(r??n.length-1),i="POP",l=null;function s(h){return Math.min(Math.max(h,0),n.length-1)}function u(){return n[o]}function d(h,p=null,v,y){let x=Ue(n?u().pathname:"/",h,p,v,y);return Q(x.pathname.charAt(0)==="/",`relative pathnames are not supported in memory history: ${JSON.stringify(h)}`),x}function c(h){return typeof h=="string"?h:ue(h)}return{get index(){return o},get action(){return i},get location(){return u()},createHref:c,createURL(h){return new URL(c(h),"http://localhost")},encodeLocation(h){let p=typeof h=="string"?xe(h):h;return{pathname:p.pathname||"",search:p.search||"",hash:p.hash||""}},push(h,p){i="PUSH";let v=ir(h)?h:d(h,p);o+=1,n.splice(o,n.length,v),a&&l&&l({action:i,location:v,delta:1})},replace(h,p){i="REPLACE";let v=ir(h)?h:d(h,p);n[o]=v,a&&l&&l({action:i,location:v,delta:0})},go(h){i="POP";let p=s(o+h),v=n[p];o=p,l&&l({action:i,location:v,delta:h})},listen(h){return l=h,()=>{l=null}}}}function ma(e={}){function t(a,n){let o=n.state?.masked,{pathname:i,search:l,hash:s}=o||a.location;return Ue("",{pathname:i,search:l,hash:s},n.state&&n.state.usr||null,n.state&&n.state.key||"default",o?{pathname:a.location.pathname,search:a.location.search,hash:a.location.hash}:void 0)}function r(a,n){return typeof n=="string"?n:ue(n)}return Jn(t,r,null,e)}function Yn(e={}){function t(n,o){let{pathname:i="/",search:l="",hash:s=""}=xe(n.location.hash.substring(1));return!i.startsWith("/")&&!i.startsWith(".")&&(i="/"+i),Ue("",{pathname:i,search:l,hash:s},o.state&&o.state.usr||null,o.state&&o.state.key||"default")}function r(n,o){let i=n.document.querySelector("base"),l="";if(i&&i.getAttribute("href")){let s=n.location.href,u=s.indexOf("#");l=u===-1?s:s.slice(0,u)}return l+"#"+(typeof o=="string"?o:ue(o))}function a(n,o){Q(n.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(o)})`)}return Jn(t,r,a,e)}function H(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Q(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function El(){return Math.random().toString(36).substring(2,10)}function tn(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.unstable_mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function Ue(e,t,r=null,a,n){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?xe(t):t,state:r,key:t&&t.key||a||El(),unstable_mask:n}}function ue({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 xe(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substring(r),e=e.substring(0,r));let a=e.indexOf("?");a>=0&&(t.search=e.substring(a),e=e.substring(0,a)),e&&(t.pathname=e)}return t}function Jn(e,t,r,a={}){let{window:n=document.defaultView,v5Compat:o=!1}=a,i=n.history,l="POP",s=null,u=d();u==null&&(u=0,i.replaceState({...i.state,idx:u},""));function d(){return(i.state||{idx:null}).idx}function c(){l="POP";let y=d(),x=y==null?null:y-u;u=y,s&&s({action:l,location:v.location,delta:x})}function m(y,x){l="PUSH";let R=ir(y)?y:Ue(v.location,y,x);r&&r(R,y),u=d()+1;let b=tn(R,u),P=v.createHref(R.unstable_mask||R);try{i.pushState(b,"",P)}catch(L){if(L instanceof DOMException&&L.name==="DataCloneError")throw L;n.location.assign(P)}o&&s&&s({action:l,location:v.location,delta:1})}function h(y,x){l="REPLACE";let R=ir(y)?y:Ue(v.location,y,x);r&&r(R,y),u=d();let b=tn(R,u),P=v.createHref(R.unstable_mask||R);i.replaceState(b,"",P),o&&s&&s({action:l,location:v.location,delta:0})}function p(y){return Kn(y)}let v={get action(){return l},get location(){return e(n,i)},listen(y){if(s)throw new Error("A history only accepts one active listener");return n.addEventListener(en,c),s=y,()=>{n.removeEventListener(en,c),s=null}},createHref(y){return t(n,y)},createURL:p,encodeLocation(y){let x=p(y);return{pathname:x.pathname,search:x.search,hash:x.hash}},push:m,replace:h,go(y){return i.go(y)}};return v}function Kn(e,t=!1){let r="http://localhost";
1typeof window<"u"&&(r=window.location.origin!=="null"?window.location.origin:window.location.href),H(r,"No window.location.(origin|href) available to create URL");let a=typeof e=="string"?e:ue(e);return a=a.replace(/ $/,"%20"),!t&&a.startsWith("//")&&(a=r+a),new URL(a,r)}function dd(e){return{defaultValue:e}}var Ot,He=class{constructor(e){if(wl(this,Ot,new Map),e)for(let[t,r]of e)this.set(t,r)}get(e){if(Mr(this,Ot).has(e))return Mr(this,Ot).get(e);if(e.defaultValue!==void 0)return e.defaultValue;throw new Error("No value found for context")}set(e,t){Mr(this,Ot).set(e,t)}};Ot=new WeakMap;var bl=new Set(["lazy","caseSensitive","path","id","index","children"]);function Sl(e){return bl.has(e)}var Cl=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function xl(e){return Cl.has(e)}function Pl(e){return e.index===!0}function qe(e,t,r=[],a={},n=!1){return e.map((o,i)=>{let l=[...r,String(i)],s=typeof o.id=="string"?o.id:l.join("-");if(H(o.index!==!0||!o.children,"Cannot specify children on an index route"),H(n||!a[s],`Found a route id collision on i
1d "${s}".  Route id's must be globally unique within Data Router usages`),Pl(o)){let u={...o,id:s};return a[s]=rn(u,t(u)),u}else{let u={...o,id:s,children:void 0};return a[s]=rn(u,t(u)),o.children&&(u.children=qe(o.children,t,l,a,n)),u}})}function rn(e,t){return Object.assign(e,{...t,...typeof t.lazy=="object"&&t.lazy!=null?{lazy:{...e.lazy,...t.lazy}}:{}})}function Ce(e,t,r="/"){return Mt(e,t,r,!1)}function Mt(e,t,r,a){let n=typeof t=="string"?xe(t):t,o=oe(n.pathname||"/",r);if(o==null)return null;let i=Gn(e);Ll(i);let l=null;for(let s=0;l==null&&s<i.length;++s){let u=Zn(o);l=Nl(i[s],u,a)}return l}function Xn(e,t){let{route:r,pathname:a,params:n}=e;return{id:r.id,pathname:a,params:n,data:t[r.id],loaderData:t[r.id],handle:r.handle}}function Gn(e,t=[],r=[],a="",n=!1){let o=(i,l,s=n,u)=>{let d={relativePath:u===void 0?i.path||"":u,caseSensitive:i.caseSensitive===!0,childrenIndex:l,route:i};if(d.relativePath.startsWith("/")){if(!d.relativePath.startsWith(a)&&s)return;H(d.relativePath.startsWith(a),`Absolute route path "${d.relativePath}" nested under path "${a}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),d.relativePath=d.relativePath.slice(a.length)}let c=ke([a,d.relativePath]),m=r.concat(d);i.children&&i.children.length>0&&(H(i.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${c}".`),Gn(i.children,t,m,c,s)),!(i.path==null&&!i.index)&&t.push({path:c,score:Fl(c,i.index),routesMeta:m})};return e.forEach((i,l)=>{if(i.path===""||!i.path?.includes("?"))o(i,l);else for(let s of qn(i.path))o(i,l,!0,s)}),t}function qn(e){let t=e.split("/");if(t.length===0)return[];let[r,...a]=t,n=r.endsWith("?"),o=r.replace(/\?$/,"");if(a.length===0)return n?[o,""]:[o];let i=qn(a.join("/")),l=[];return l.push(...i.map(s=>s===""?o:[o,s].join("/"))),n&&l.push(...i),l.map(s=>e.startsWith("/")&&s===""?"/":s)}function Ll(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:Al(t.routesMeta.map(a=>a.childrenIndex),r.routesMeta.map(a=>a.childrenIndex)))}var Dl=/^:[\w-]+$/,_l=3,kl=2,Tl=1,Ol=10,Ml=-2,an=e=>e==="*";function Fl(e,t){let r=e.split("/"),a=r.length;return r.some(an)&&(a+=Ml),t&&(a+=kl),r.filter(n=>!an(n)).reduce((n,o)=>n+(Dl.test(o)?_l:o===""?Tl:Ol),a)}function Al(e,t){return e.length===t.length&&e.slice(0,-1).every((a,n)=>a===t[n])?e[e.length-1]-t[t.length-1]:0}function Nl(e,t,r=!1){let{routesMeta:a}=e,n={},o="/",i=[];for(let l=0;l<a.length;++l){let s=a[l],u=l===a.length-1,d=o==="/"?t:t.slice(o.length)||"/",c=At({path:s.relativePath,caseSensitive:s.caseSensitive,end:u},d),m=s.route;if(!c&&u&&r&&!a[a.length-1].route.index&&(c=At({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},d)),!c)return null;
1Object.assign(n,c.params),i.push({params:n,pathname:ke([o,c.pathname]),pathnameBase:Il(ke([o,c.pathnameBase])),route:m}),c.pathnameBase!=="/"&&(o=ke([o,c.pathnameBase]))}return i}function fd(e,t={}){let r=e;r.endsWith("*")&&r!=="*"&&!r.endsWith("/*")&&(Q(!1,`Route path "${r}" will be treated as if it were "${r.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${r.replace(/\*$/,"/*")}".`),r=r.replace(/\*$/,"/*"));const a=r.startsWith("/")?"/":"",n=i=>i==null?"":typeof i=="string"?i:String(i),o=r.split(/\/+/).map((i,l,s)=>{if(l===s.length-1&&i==="*")return n(t["*"]);const d=i.match(/^:([\w-]+)(\??)(.*)/);if(d){const[,c,m,h]=d;let p=t[c];return H(m==="?"||p!=null,`Missing ":${c}" param`),encodeURIComponent(n(p))+h}return i.replace(/\?$/g,"")}).filter(i=>!!i);return a+o.join("/")}function At(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,a]=Qn(e.path,e.caseSensitive,e.end),n=t.match(r);if(!n)return null;let o=n[0],i=o.replace(/(.)\/+$/,"$1"),l=n.slice(1);return{params:a.reduce((u,{paramName:d,isOptional:c},m)=>{if(d==="*"){let p=l[m]||"";i=o.slice(0,o.length-p.length).replace(/(.)\/+$/,"$1")}const h=l[m];return c&&!h?u[d]=void 0:u[d]=(h||"").replace(/%2F/g,"/"),u},{}),pathname:o,pathnameBase:i,pattern:e}}function Qn(e,t=!1,r=!0){Q(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 a=[],n="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(i,l,s,u,d)=>{if(a.push({paramName:l,isOptional:s!=null}),s){let c=d.charAt(u+i.length);return c&&c!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(a.push({paramName:"*"}),n+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?n+="\\/*$":e!==""&&e!=="/"&&(n+="(?:(?=\\/|$))"),[new RegExp(n,t?void 0:"i"),a]}function Zn(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Q(!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 oe(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,a=e.charAt(r);return a&&a!=="/"?null:e.slice(r)||"/"}function $l({basename:e,pathname:t}){return t==="/"?e:ke([e,t])}var eo=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,pa=e=>eo.test(e);function Hl(e,t="/"){let{pathname:r,search:a="",hash:n=""}=typeof e=="string"?xe(e):e,o;return r?(r=r.replace(/\/\/+/g,"/"),r.startsWith("/")?o=nn(r.substring(1),"/"):o=nn(r,t)):o=t,{pathname:o,search:Ul(a),hash:jl(n)}}function nn(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(n=>{n===".."?r.length>1&&r.pop():n!=="."&&r.push(n)}),r.length>1?r.join("/"):"/"}function Fr(e,t,r,a){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(a)}].  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 to(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function hr(e){let t=to(e);return t.map((r,a)=>a===t.length-1?r.pathname:r.pathnameBase)}function jt(e,t,r,a=!1){let n;typeof e=="string"?n=xe(e):(n={...e},H(!n.pathname||!n.pathname.includes("?"),Fr("?","pathname","search",n)),H(!n.pathname||!n.pathname.includes("#"),Fr("#","pathname","hash",n)),H(!n.search||!n.search.includes("#"),Fr("#","search","hash",n)));let o=e===""||n.pathname==="",i=o?"/":n.pathname,l;if(i==null)l=r;else{let c=t.length-1;if(!a&&i.startsWith("..")){let m=i.split("/");for(;m[0]==="..";)m.shift(),c-=1;n.pathname=m.join("/")}l=c>=0?t[c]:"/"}let s=Hl(n,l),u=i&&i!=="/"&&i.endsWith("/"),d=(o||i===".")&&r.endsWith("/");return!s.pathname.endsWith("/")&&(u||d)&&(s.pathname+="/"),s}var ke=e=>e.join("/").replace(/\/\/+/g,"/"),Il=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Ul=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,jl=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,zl=class{constructor(e,t){this.type="DataWithResponseInit",this.data=e,this.init=t||null}};function Bl(e,t){return new zl(e,typeof t=="number"?{status:t}:t)}var mr=(e,t=302)=>{let r=t;typeof r=="number"?r={status:r}:typeof r.status>"u"&&(r.status=302);let a=new Headers(r.headers);return a.set("Location",e),new Response(null,{...r,headers:a})},Wl=(e,t)=>
1{let r=mr(e,t);return r.headers.set("X-Remix-Reload-Document","true"),r},Vl=(e,t)=>{let r=mr(e,t);return r.headers.set("X-Remix-Replace","true"),r},ve=class{constructor(e,t,r,a=!1){this.status=e,this.statusText=t||"",this.internal=a,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}};function ne(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function Ie(e){return e.map(t=>t.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var ro=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function ao(e,t){let r=e;if(typeof r!="string"||!eo.test(r))return{absoluteURL:void 0,isExternal:!1,to:r};let a=r,n=!1;if(ro)try{let o=new URL(window.location.href),i=r.startsWith("//")?new URL(o.protocol+r):new URL(r),l=oe(i.pathname,t);i.origin===o.origin&&l!=null?r=l+i.search+i.hash:n=!0}catch{Q(!1,`<Link to="${r}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:a,isExternal:n,to:r}}var Je=Symbol("Uninstrumented");function no(e,t){let r={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};e.forEach(n=>n({id:t.id,index:t.index,path:t.path,instrument(o){let i=Object.keys(r);for(let l of i)o[l]&&r[l].push(o[l])}}));let a={};if(typeof t.lazy=="function"&&r.lazy.length>0){let n=ct(r.lazy,t.lazy,()=>{});n&&(a.lazy=n)}if(typeof t.lazy=="object"){let n=t.lazy;["middleware","loader","action"].forEach(o=>{let i=n[o],l=r[`lazy.${o}`];if(typeof i=="function"&&l.length>0){let s=ct(l,i,()=>{});s&&(a.lazy=Object.assign(a.lazy||{},{[o]:s}))}})}return["loader","action"].forEach(n=>{let o=t[n];if(typeof o=="function"&&r[n].length>0){let i=o[Je]??o,l=ct(r[n],i,(...s)=>on(s[0]));l&&(n==="loader"&&i.hydrate===!0&&(l.hydrate=!0),l[Je]=i,a[n]=l)}}),t.middleware&&t.middleware.length>0&&r.middleware.length>0&&(a.middleware=t.middleware.map(n=>{let o=n[Je]??n,i=ct(r.middleware,o,(...l)=>on(l[0]));return i?(i[Je]=o,i):n})),a}function Yl(e,t){let r={navigate:[],fetch:[]};if(t.forEach(a=>a({instrument(n){let o=Object.keys(n);for(let i of o)n[i]&&r[i].push(n[i])}})),r.navigate.length>0){let a=e.navigate[Je]??e.navigate,n=ct(r.navigate,a,(...o)=>{let[i,l]=o;return{to:typeof i=="number"||typeof i=="string"?i:i?ue(i):".",...ln(e,l??{})}});n&&(n[Je]=a,e.navigate=n)}if(r.fetch.length>0){let a=e.fetch[Je]??e.fetch,n=ct(r.fetch,a,(...o)=>{let[i,,l,s]=o;return{href:l??".",fetcherKey:i,...ln(e,s??{})}});n&&(n[Je]=a,e.fetch=n)}return e}function Jl(e,t){let r={request:[]};t.forEach(n=>n({instrument(o){let i=Object.keys(o);for(let l of i)o[l]&&r[l].push(o[l])}}));let a=e;return r.request.length>0&&(a=ct(r.request,e,(...n)=>{let[o,i]=n;return{request:io(o),context:i!=null?lo(i):i}})),a}function ct(e,t,r){return e.length===0?null:async(...a)=>{let n=await oo(e,r(...a),()=>t(...a),e.length-1);if(n.type==="error")throw n.value;return n.value}}async function oo(e,t,r,a){let n=e[a],o;if(n){let i,l=async()=>(i?console.error("You cannot call instrumented handlers more than once"):i=oo(e,t,r,a-1),o=await i,H(o,"Expected a result"),o.type==="error"&&o.value instanceof Error?{status:"error",error:o.value}:{status:"success",error:void 0});try{await n(l,t)}catch(s){console.error("An instrumentation function threw an error:",s)}i||await l(),await i}else try{o={type:"success",value:await r()}}catch(i){o={type:"error",value:i}}return o||{type:"error",value:new Error("No result assigned in instrumentation chain.")}}function on(e){let{request:t,context:r,params:a,unstable_pattern:n}=e;return{request:io(t),params:{...a},unstable_pattern:n,context:lo(r)}}function ln(e,t){return{currentUrl:ue(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 io(e){return{method:e.method,url:e.url,headers:{get:(...t)=>e.headers.get(...t)}}}function lo(e){if(Xl(e)){let t={...e};return Object.freeze(t),t}else return{get:t=>e.get(t)}}var Kl=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function Xl(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")===Kl}var so=["POST","PUT","PATCH","DELETE"],Gl=new Set(so),ql=["GET",...so],Ql=new Set(ql),uo=new Set([301,302,303,307,308]),Zl=new Set([307,308]),tr={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ya={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ut={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},co=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),fo="remix-router-transitions",ho=Symbol("ResetLoaderData");function pr(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";H(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let a=e.hydrationRouteProperties||[],n=e.mapRouteProperties||co,o=n;if(e.unstable_instrumentations){let g=e.unstable_instrumentations;o=E=>({...n(E),...no(g.map(S=>
1S.route).filter(Boolean),E)})}let i={},l=qe(e.routes,o,void 0,i),s,u=e.basename||"/";u.startsWith("/")||(u=`/${u}`);let d=e.dataStrategy||os,c={...e.future},m=null,h=new Set,p=null,v=null,y=null,x=e.hydrationData!=null,R=Ce(l,e.history.location,u),b=!1,P=null,L,C;if(R==null&&!e.patchRoutesOnNavigation){let g=ae(404,{pathname:e.history.location.pathname}),{matches:E,route:S}=yt(l);L=!0,C=!L,R=E,P={[S.id]:g}}else if(R&&!e.hydrationData&&Vt(R,l,e.history.location.pathname).active&&(R=null),R)if(R.some(g=>g.route.lazy))L=!1,C=!L;else if(!R.some(g=>ga(g.route)))L=!0,C=!L;else{let g=e.hydrationData?e.hydrationData.loaderData:null,E=e.hydrationData?e.hydrationData.errors:null,S=R;if(E){let D=R.findIndex(k=>E[k.route.id]!==void 0);S=S.slice(0,D+1)}C=!1,L=S.every(D=>{let k=yo(D.route,g,E);return C=C||k.renderFallback,!k.shouldLoad})}else{L=!1,C=!L,R=[];let g=Vt(null,l,e.history.location.pathname);g.active&&g.matches&&(b=!0,R=g.matches)}let M,w={historyAction:e.history.action,location:e.history.location,matches:R,initialized:L,renderFallback:C,navigation:tr,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||P,fetchers:new Map,blockers:new Map},_="POP",T=null,O=!1,F,W=!1,Y=new Map,V=null,Z=!1,me=!1,pe=new Set,K=new Map,Ee=0,Te=-1,be=new Map,ye=new Set,Se=new Map,We=new Map,Oe=new Set,rt=new Map,Bt,xt=null;function Zi(){if(m=e.history.listen(({action:g,location:E,delta:S})=>{if(Bt){Bt(),Bt=void 0;return}Q(rt.size===0||S!=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 D=Xa({currentLocation:w.location,nextLocation:E,historyAction:g});if(D&&S!=null){let k=new Promise(I=>{Bt=I});e.history.go(S*-1),Wt(D,{state:"blocked",location:E,proceed(){Wt(D,{state:"proceeding",proceed:void 0,reset:void 0,location:E}),k.then(()=>e.history.go(S))},reset(){let I=new Map(w.blockers);I.set(D,ut),ce({blockers:I})}}),T?.resolve(),T=null;return}return at(g,E)}),r){ds(t,Y);let g=()=>fs(t,Y);t.addEventListener("pagehide",g),V=()=>t.removeEventListener("pagehide",g)}return w.initialized||at("POP",w.location,{initialHydration:!0}),M}function el(){m&&m(),V&&V(),h.clear(),F&&F.abort(),w.fetchers.forEach((g,E)=>kr(E)),w.blockers.forEach((g,E)=>Ka(E))}function tl(g){return h.add(g),()=>h.delete(g)}function ce(g,E={}){g.matches&&(g.matches=g.matches.map(k=>{let I=i[k.route.id],A=k.route;return A.element!==I.element||A.errorElement!==I.errorElement||A.hydrateFallbackElement!==I.hydrateFallbackElement?{...k,route:I}:k})),w={...w,...g};let S=[],D=[];w.fetchers.forEach((k,I)=>{k.state==="idle"&&(Oe.has(I)?S.push(I):D.push(I))}),Oe.forEach(k=>{!w.fetchers.has(k)&&!K.has(k)&&S.push(k)}),[...h].forEach(k=>k(w,{deletedFetchers:S,newErrors:g.errors??null,viewTransitionOpts:E.viewTransitionOpts,flushSync:E.flushSync===!0})),S.forEach(k=>kr(k)),D.forEach(k=>w.fetchers.delete(k))}function ht(g,E,{flushSync:S}={}){let D=w.actionData!=null&&w.navigation.formMethod!=null&&se(w.navigation.formMethod)&&w.navigation.state==="loading"&&g.state?._isRedirect!==!0,k;E.actionData?Object.keys(E.actionData).length>0?k=E.actionData:k=null:D?k=w.actionData:k=null;let I=E.loaderData?wn(w.loaderData,E.loaderData,E.matches||[],E.errors):w.loaderData,A=w.blockers;A.size>0&&(A=new Map(A),A.forEach((B,U)=>A.set(U,ut)));let j=Z?!1:qa(g,E.matches||w.matches),N=O===!0||w.navigation.formMethod!=null&&se(w.navigation.formMethod)&&g.state?._isRedirect!==!0;s&&(l=s,s=void 0),Z||_==="POP"||(_==="PUSH"?e.history.push(g,g.state):_==="REPLACE"&&e.history.replace(g,g.state));let z;if(_==="POP"){let B=Y.get(w.location.pathname);B&&B.has(g.pathname)?z={currentLocation:w.location,nextLocation:g}:Y.has(g.pathname)&&(z={currentLocation:g,nextLocation:w.location})}else if(W){let B=Y.get(w.location.pathname);B?B.add(g.pathname):(B=new Set([g.pathname]),Y.set(w.location.pathname,B)),z={currentLocation:w.location,nextLocation:g}}ce({...E,actionData:k,loaderData:I,historyAction:_,location:g,initialized:!0,renderFallback:!1,navigation:tr,revalidation:"idle",restoreScrollPosition:j,preventScrollReset:N,blockers:A},{viewTransitionOpts:z,flushSync:S===!0}),_="POP",O=!1,W=!1,Z=!1,me=!1,T?.resolve(),T=null,xt?.resolve(),xt=null}async function ja(g,E){if(T?.resolve(),T=null,typeof g=="number"){T||(T=bn());let ee=T.promise;return e.history.go(g),ee}let S=Wr(w.location,w.matches,u,g,E?.fromRouteId,E?.relative),{path:D,submission:k,error:I}=un(!1,S,E),A;E?.unstable_mask&&(A={pathname:"",search:"",hash:"",...typeof E.unstable_mask=="str
1ing"?xe(E.unstable_mask):{...w.location.unstable_mask,...E.unstable_mask}});let j=w.location,N=Ue(j,D,E&&E.state,void 0,A);N={...N,...e.history.encodeLocation(N)};let z=E&&E.replace!=null?E.replace:void 0,B="PUSH";z===!0?B="REPLACE":z===!1||k!=null&&se(k.formMethod)&&k.formAction===w.location.pathname+w.location.search&&(B="REPLACE");let U=E&&"preventScrollReset"in E?E.preventScrollReset===!0:void 0,G=(E&&E.flushSync)===!0,X=Xa({currentLocation:j,nextLocation:N,historyAction:B});if(X){Wt(X,{state:"blocked",location:N,proceed(){Wt(X,{state:"proceeding",proceed:void 0,reset:void 0,location:N}),ja(g,E)},reset(){let ee=new Map(w.blockers);ee.set(X,ut),ce({blockers:ee})}});return}await at(B,N,{submission:k,pendingError:I,preventScrollReset:U,replace:E&&E.replace,enableViewTransition:E&&E.viewTransition,flushSync:G,callSiteDefaultShouldRevalidate:E&&E.unstable_defaultShouldRevalidate})}function rl(){xt||(xt=bn()),_r(),ce({revalidation:"loading"});let g=xt.promise;return w.navigation.state==="submitting"?g:w.navigation.state==="idle"?(at(w.historyAction,w.location,{startUninterruptedRevalidation:!0}),g):(at(_||w.historyAction,w.navigation.location,{overrideNavigation:w.navigation,enableViewTransition:W===!0}),g)}async function at(g,E,S){F&&F.abort(),F=null,_=g,Z=(S&&S.startUninterruptedRevalidation)===!0,hl(w.location,w.matches),O=(S&&S.preventScrollReset)===!0,W=(S&&S.enableViewTransition)===!0;let D=s||l,k=S&&S.overrideNavigation,I=S?.initialHydration&&w.matches&&w.matches.length>0&&!b?w.matches:Ce(D,E,u),A=(S&&S.flushSync)===!0;if(I&&w.initialized&&!me&&ls(w.location,E)&&!(S&&S.submission&&se(S.submission.formMethod))){ht(E,{matches:I},{flushSync:A});return}let j=Vt(I,D,E.pathname);if(j.active&&j.matches&&(I=j.matches),!I){let{error:ie,notFoundMatches:ge,route:q}=Tr(E.pathname);ht(E,{matches:ge,loaderData:{},errors:{[q.id]:ie}},{flushSync:A});return}F=new AbortController;let N=pt(e.history,E,F.signal,S&&S.submission),z=e.getContext?await e.getContext():new He,B;if(S&&S.pendingError)B=[_e(I).route.id,{type:"error",error:S.pendingError}];else if(S&&S.submission&&se(S.submission.formMethod)){let ie=await al(N,E,S.submission,I,z,j.active,S&&S.initialHydration===!0,{replace:S.replace,flushSync:A});if(ie.shortCircuited)return;if(ie.pendingActionResult){let[ge,q]=ie.pendingActionResult;if(le(q)&&ne(q.error)&&q.error.status===404){F=null,ht(E,{matches:ie.matches,loaderData:{},errors:{[ge]:q.error}});return}}I=ie.matches||I,B=ie.pendingActionResult,k=Ar(E,S.submission),A=!1,j.active=!1,N=pt(e.history,N.url,N.signal)}let{shortCircuited:U,matches:G,loaderData:X,errors:ee}=await nl(N,E,I,z,j.active,k,S&&S.submission,S&&S.fetcherSubmission,S&&S.replace,S&&S.initialHydration===!0,A,B,S&&S.callSiteDefaultShouldRevalidate);U||(F=null,ht(E,{matches:G||I,...Rn(B),loaderData:X,errors:ee}))}async function al(g,E,S,D,k,I,A,j={}){_r();let N=us(E,S);if(ce({navigation:N},{flushSync:j.flushSync===!0}),I){let U=await Yt(D,E.pathname,g.signal);if(U.type==="aborted")return{shortCircuited:!0};if(U.type==="error"){if(U.partialMatches.length===0){let{matches:X,route:ee}=yt(l);return{matches:X,pendingActionResult:[ee.id,{type:"error",error:U.error}]}}let G=_e(U.partialMatches).route.id;return{matches:U.partialMatches,pendingActionResult:[G,{type:"error",error:U.error}]}}else if(U.matches)D=U.matches;else{let{notFoundMatches:G,error:X,route:ee}=Tr(E.pathname);return{matches:G,pendingActionResult:[ee.id,{type:"error",error:X}]}}}let z,B=gt(D,E);if(!B.route.action&&!B.route.lazy)z={type:"error",error:ae(405,{method:g.method,pathname:E.pathname,routeId:B.route.id})};else{let U=Xe(o,i,g,D,B,A?[]:a,k),G=await Pt(g,U,k,null);if(z=G[B.route.id],!z){for(let X of D)if(G[X.route.id]){z=G[X.route.id];break}}if(g.signal.aborted)return{shortCircuited:!0}}if(Ke(z)){let U;return j&&j.replace!=null?U=j.replace:U=yn(z.response.headers.get("Location"),new URL(g.url),u,e.history)===w.location.pathname+w.location.search,await nt(g,z,!0,{submission:S,replace:U}),{shortCircuited:!0}}if(le(z)){let U=_e(D,B.route.id);return(j&&j.replace)!==!0&&(_="PUSH"),{matches:D,pendingActionResult:[U.route.id,z,B.route.id]}}return{matches:D,pendingActionResult:[B.route.id,z]}}async function nl(g,E,S,D,k,I,A,j,N,z,B,U,G){let X=I||Ar(E,A),ee=A||j||En(X),ie=!Z&&!z;if(k){if(ie){let de=za(U);ce({navigation:X,...de!==void 0?{actionData:de}:{}},{flushSync:B})}let J=await Yt(S,E.pathname,g.signal);if(J.type==="aborted")return{shortCircuited:!0};if(J.type==="error"){if(J.partialMatches.length===0){let{matches:mt,route:lt}=yt(l);return{matches:mt,loaderData:{},errors:{[lt.id]:J.error}}}let de=_e(J.partialMatches).route.id;return{matches:J.partialMatches,loaderData:{},errors:{[de]:J.error}}}else if(J.matches)S=J.matches;else{let{error:de,notFoundMatches:mt,route:lt}=Tr(E.pathname);return{matches:mt,loaderData:{},errors:{[lt.id]:de}}}}let ge=s||l,{dsMatches:q,revalidatingFetchers:Le}=cn(g,D,o,i,e.history,w,S,ee,E,z?[]:a,z===!0,me,pe,Oe,Se,ye,ge,u,e.patchRoutesOnNavigation!=null,U,G);if(Te=++Ee,!e.dataStrategy&&!q.some(J=>J.shouldLoad)&&!q.some(J=>J.route.middleware&&J.route.middleware.length>0)&&Le.length===0){let J=Ya();return ht(E,{matches:S,loaderData:{},errors:U&&le(U[1])?{[U[0]]:U[1].error}:null,...Rn(U),...J?{fetchers:new Map(w.fetchers)}:{}},{flushSync:B}),{shortCircuited:!0}}if(ie){let J={};if(!k){J.navigation=X;let de=za(U);de!==void 0&&(J.actionData=de)}Le.length>0&&(J.fetchers=ol(Le)),ce(J,{flushSync:B})}Le.forEach(J=>{Ne(J.key),J.controller&&K.set(J.key,J.controller)});let ot=()=>Le.forEach(J=>Ne(J.key));F&&F.signal.addEventListener("abort",ot);let{loaderResults:Lt,fetcherResults:Ve}=await Ba(q,Le,g,D);if(g.signal.aborted)return{shortCircuited:!0};F&&F.signal.removeEventListener("abort",ot),Le.forEach(J=>K.delete(J.key));let Me=Gt(Lt);if(Me)return await nt(g,Me.result,!0,{replace:N}),{shortCircuited:!0};if(Me=Gt(Ve),Me)return ye.add(Me.key),await nt(g,Me.result,!0,{replace:N}),{shortCircuited:!0};let{loaderData:Or,errors:Dt}=vn(w,S,Lt,U,Le,Ve);z&&w.errors&&(Dt={...w.errors,...Dt});let it=Ya(),Jt=Ja(Te),Kt=it||Jt||Le.length>0;return{matches:S,loaderData:Or,errors:Dt,...Kt?{fetchers:new Map(w.fetchers)}:{}}}function za(g){if(g&&!le(g[1]))return{[g[0]]:g[1].data};if(w.actionData)return Object.keys(w.actionData).length===0?null:w.actionData}function ol(g){return g.forEach(E=>{let S=w.fetchers.get(E.key),D=_t(void 0,S?S.data:void 0);w.fetchers.set(E.key,D)}),new Map(w.fetchers)}
1async function il(g,E,S,D){Ne(g);let k=(D&&D.flushSync)===!0,I=s||l,A=Wr(w.location,w.matches,u,S,E,D?.relative),j=Ce(I,A,u),N=Vt(j,I,A);if(N.active&&N.matches&&(j=N.matches),!j){Ae(g,E,ae(404,{pathname:A}),{flushSync:k});return}let{path:z,submission:B,error:U}=un(!0,A,D);if(U){Ae(g,E,U,{flushSync:k});return}let G=e.getContext?await e.getContext():new He,X=(D&&D.preventScrollReset)===!0;if(B&&se(B.formMethod)){await ll(g,E,z,j,G,N.active,k,X,B,D&&D.unstable_defaultShouldRevalidate);return}Se.set(g,{routeId:E,path:z}),await sl(g,E,z,j,G,N.active,k,X,B)}async function ll(g,E,S,D,k,I,A,j,N,z){_r(),Se.delete(g);let B=w.fetchers.get(g);Fe(g,cs(N,B),{flushSync:A});let U=new AbortController,G=pt(e.history,S,U.signal,N);if(I){let re=await Yt(D,new URL(G.url).pathname,G.signal,g);if(re.type==="aborted")return;if(re.type==="error"){Ae(g,E,re.error,{flushSync:A});return}else if(re.matches)D=re.matches;else{Ae(g,E,ae(404,{pathname:S}),{flushSync:A});return}}let X=gt(D,S);if(!X.route.action&&!X.route.lazy){let re=ae(405,{method:N.formMethod,pathname:S,routeId:E});Ae(g,E,re,{flushSync:A});return}K.set(g,U);let ee=Ee,ie=Xe(o,i,G,D,X,a,k),ge=await Pt(G,ie,k,g),q=ge[X.route.id];if(!q){for(let re of ie)if(ge[re.route.id]){q=ge[re.route.id];break}}if(G.signal.aborted){K.get(g)===U&&K.delete(g);return}if(Oe.has(g)){if(Ke(q)||le(q)){Fe(g,$e(void 0));return}}else{if(Ke(q))if(K.delete(g),Te>ee){Fe(g,$e(void 0));return}else return ye.add(g),Fe(g,_t(N)),nt(G,q,!1,{fetcherSubmission:N,preventScrollReset:j});if(le(q)){Ae(g,E,q.error);return}}let Le=w.navigation.location||w.location,ot=pt(e.history,Le,U.signal),Lt=s||l,Ve=w.navigation.state!=="idle"?Ce(Lt,w.navigation.location,u):w.matches;H(Ve,"Didn't find any matches after fetcher action");let Me=++Ee;be.set(g,Me);let Or=_t(N,q.data);w.fetchers.set(g,Or);let{dsMatches:Dt,revalidatingFetchers:it}=cn(ot,k,o,i,e.history,w,Ve,N,Le,a,!1,me,pe,Oe,Se,ye,Lt,u,e.patchRoutesOnNavigation!=null,[X.route.id,q],z);it.filter(re=>re.key!==g).forEach(re=>{let Xt=re.key,Za=w.fetchers.get(Xt),yl=_t(void 0,Za?Za.data:void 0);w.fetchers.set(Xt,yl),Ne(Xt),re.controller&&K.set(Xt,re.controller)}),ce({fetchers:new Map(w.fetchers)});let Jt=()=>it.forEach(re=>Ne(re.key));U.signal.addEventListener("abort",Jt);let{loaderResults:Kt,fetcherResults:J}=await Ba(Dt,it,ot,k);if(U.signal.aborted)return;if(U.signal.removeEventListener("abort",Jt),be.delete(g),K.delete(g),it.forEach(re=>K.delete(re.key)),w.fetchers.has(g)){let re=$e(q.data);w.fetchers.set(g,re)}let de=Gt(Kt);if(de)return nt(ot,de.result,!1,{preventScrollReset:j});if(de=Gt(J),de)return ye.add(de.key),nt(ot,de.result,!1,{preventScrollReset:j});let{loaderData:mt,errors:lt}=vn(w,Ve,Kt,void 0,it,J);Ja(Me),w.navigation.state==="loading"&&Me>Te?(H(_,"Expected pending action"),F&&F.abort(),ht(w.navigation.location,{matches:Ve,loaderData:mt,errors:lt,fetchers:new Map(w.fetchers)})):(ce({errors:lt,loaderData:wn(w.loaderData,mt,Ve,lt),fetchers:new Map(w.fetchers)}),me=!1)}async function sl(g,E,S,D,k,I,A,j,N){let z=w.fetchers.get(g);Fe(g,_t(N,z?z.data:void 0),{flushSync:A});let B=new AbortController,U=pt(e.history,S,B.signal);if(I){let q=await Yt(D,new URL(U.url).pathname,U.signal,g);if(q.type==="aborted")return;if(q.type==="error"){Ae(g,E,q.error,{flushSync:A});return}else if(q.matches)D=q.matches;else{Ae(g,E,ae(404,{pathname:S}),{flushSync:A});return}}let G=gt(D,S);K.set(g,B);let X=Ee,ee=Xe(o,i,U,D,G,a,k),ge=(await Pt(U,ee,k,g))[G.route.id];if(K.get(g)===B&&K.delete(g),!U.signal.aborted){if(Oe.has(g)){Fe(g,$e(void 0));return}if(Ke(ge))if(Te>X){Fe(g,$e(void 0));return}else{ye.add(g),await nt(U,ge,!1,{preventScrollReset:j});return}if(le(ge)){Ae(g,E,ge.error);return}Fe(g,$e(ge.data))}}async function nt(g,E,S,{submission:D,fetcherSubmission:k,preventScrollReset:I,replace:A}={}){S||(T?.resolve(),T=null),E.response.headers.has("X-Remix-Revalidate")&&(me=!0);let j=E.response.headers.get("Location");H(j,"Expected a Location header on the redirect Response"),j=yn(j,new URL(g.url),u,e.history);let N=Ue(w.location,j,{_isRedirect:!0});if(r){let ee=!1;if(E.response.headers.has("X-Remix-Reload-Document"))ee=!0;else if(pa(j)){const ie=Kn(j,!0);ee=ie.origin!==t.location.origin||oe(ie.pathname,u)==null}if(ee){A?t.location.replace(j):t.location.assign(j);return}}F=null;let z=A===!0||E.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:B,formAction:U,formEncType:G}=w.navigation;!D&&!k&&B&&U&&G&&(D=En(w.navigation));let X=D||k;if(Zl.has(E.response.status)&&X&&se(X.formMethod))await at(z,N,{submission:{...X,formAction:j},preventScrollReset:I||O,enableViewTransition:S?W:void 0});else{let ee=Ar(N,D);await at(z,N,{overrideNavigation:ee,fetcherSubmission:k,preventScrollReset:I||O,enableViewTransition:S?W:void 0})}}async function Pt(g,E,S,D){let k,I={};try{k=await bo(d,g,E,D,S,!1)}catch(A){return E.filter(j=>
1j.shouldLoad).forEach(j=>{I[j.route.id]={type:"error",error:A}}),I}if(g.signal.aborted)return I;if(!se(g.method))for(let A of E){if(k[A.route.id]?.type==="error")break;!k.hasOwnProperty(A.route.id)&&!w.loaderData.hasOwnProperty(A.route.id)&&(!w.errors||!w.errors.hasOwnProperty(A.route.id))&&A.shouldCallHandler()&&(k[A.route.id]={type:"error",result:new Error(`No result returned from dataStrategy for route ${A.route.id}`)})}for(let[A,j]of Object.entries(k))if(ko(j)){let N=j.result;I[A]={type:"redirect",response:xo(N,g,A,E,u)}}else I[A]=await Co(j);return I}async function Ba(g,E,S,D){let k=Pt(S,g,D,null),I=Promise.all(E.map(async N=>{if(N.matches&&N.match&&N.request&&N.controller){let B=(await Pt(N.request,N.matches,D,N.key))[N.match.route.id];return{[N.key]:B}}else return Promise.resolve({[N.key]:{type:"error",error:ae(404,{pathname:N.path})}})})),A=await k,j=(await I).reduce((N,z)=>Object.assign(N,z),{});return{loaderResults:A,fetcherResults:j}}function _r(){me=!0,Se.forEach((g,E)=>{K.has(E)&&pe.add(E),Ne(E)})}function Fe(g,E,S={}){w.fetchers.set(g,E),ce({fetchers:new Map(w.fetchers)},{flushSync:(S&&S.flushSync)===!0})}function Ae(g,E,S,D={}){let k=_e(w.matches,E);kr(g),ce({errors:{[k.route.id]:S},fetchers:new Map(w.fetchers)},{flushSync:(D&&D.flushSync)===!0})}function Wa(g){return We.set(g,(We.get(g)||0)+1),Oe.has(g)&&Oe.delete(g),w.fetchers.get(g)||ya}function ul(g,E){Ne(g,E?.reason),Fe(g,$e(null))}function kr(g){let E=w.fetchers.get(g);K.has(g)&&!(E&&E.state==="loading"&&be.has(g))&&Ne(g),Se.delete(g),be.delete(g),ye.delete(g),Oe.delete(g),pe.delete(g),w.fetchers.delete(g)}function cl(g){let E=(We.get(g)||0)-1;E<=0?(We.delete(g),Oe.add(g)):We.set(g,E),ce({fetchers:new Map(w.fetchers)})}function Ne(g,E){let S=K.get(g);S&&(S.abort(E),K.delete(g))}function Va(g){for(let E of g){let S=Wa(E),D=$e(S.data);w.fetchers.set(E,D)}}function Ya(){let g=[],E=!1;for(let S of ye){let D=w.fetchers.get(S);H(D,`Expected fetcher: ${S}`),D.state==="loading"&&(ye.delete(S),g.push(S),E=!0)}return Va(g),E}function Ja(g){let E=[];for(let[S,D]of be)if(D<g){let k=w.fetchers.get(S);H(k,`Expected fetcher: ${S}`),k.state==="loading"&&(Ne(S),be.delete(S),E.push(S))}return Va(E),E.length>0}function dl(g,E){let S=w.blockers.get(g)||ut;return rt.get(g)!==E&&rt.set(g,E),S}function Ka(g){w.blockers.delete(g),rt.delete(g)}function Wt(g,E){let S=w.blockers.get(g)||ut;H(S.state==="unblocked"&&E.state==="blocked"||S.state==="blocked"&&E.state==="blocked"||S.state==="blocked"&&E.state==="proceeding"||S.state==="blocked"&&E.state==="unblocked"||S.state==="proceeding"&&E.state==="unblocked",`Invalid blocker state transition: ${S.state} -> ${E.state}`);let D=new Map(w.blockers);D.set(g,E),ce({blockers:D})}function Xa({currentLocation:g,nextLocation:E,historyAction:S}){if(rt.size===0)return;rt.size>1&&Q(!1,"A router only supports one blocker at a time");let D=Array.from(rt.entries()),[k,I]=D[D.length-1],A=w.blockers.get(k);if(!(A&&A.state==="proceeding")&&I({currentLocation:g,nextLocation:E,historyAction:S}))return k}function Tr(g){let E=ae(404,{pathname:g}),S=s||l,{matches:D,route:k}=yt(S);return{notFoundMatches:D,route:k,error:E}}function fl(g,E,S){if(p=g,y=E,v=S||null,!x&&w.navigation===tr){x=!0;let D=qa(w.location,w.matches);D!=null&&ce({restoreScrollPosition:D})}return()=>{p=null,y=null,v=null}}function Ga(g,E){return v&&v(g,E.map(D=>Xn(D,w.loaderData)))||g.key}function hl(g,E){if(p&&y){let S=Ga(g,E);p[S]=y()}}function qa(g,E){if(p){let S=Ga(g,E),D=p[S];if(typeof D=="number")return D}return null}function Vt(g,E,S){if(e.patchRoutesOnNavigation)if(g){if(Object.keys(g[0].params).length>0)return{active:!0,matches:Mt(E,S,u,!0)}}else return{active:!0,matches:Mt(E,S,u,!0)||[]};return{active:!1,matches:null}}async function Yt(g,E,S,D){if(!e.patchRoutesOnNavigation)return{type:"success",matches:g};let k=g;for(;;){let I=s==null,A=s||l,j=i;try{await e.patchRoutesOnNavigation({signal:S,path:E,matches:k,fetcherKey:D,patch:(B,U)=>{S.aborted||dn(B,U,A,j,o,!1)}})}catch(B){return{type:"error",error:B,partialMatches:k}}finally{I&&!S.aborted&&(l=[...l])}if(S.aborted)return{type:"aborted"};let N=Ce(A,E,u),z=null;if(N){if(Object.keys(N[0].params).length===0)return{type:"success",matches:N};if(z=Mt(A,E,u,!0),!(z&&k.length<z.length&&Qa(k,z.slice(0,k.length))))return{type:"success",matches:N}}if(z||(z=Mt(A,E,u,!0)),!z||Qa(k,z))return{type:"success",matches:null};k=z}}function Qa(g,E){return g.length===E.length&&g.every((S,D)=>S.route.id===E[D].route.id)}function ml(g){i={},s=qe(g,o,void 0,i)}function pl(g,E,S=!1){let D=s==null;dn(g,E,s||l,i,o,S),D&&(l=[...l],ce({}))}return M={get basename(){return u},get future(){return c},get state(){return w},get routes(){return l},get window(){return t},initialize:Zi,subscribe:tl,enableScrollRestoration:fl,navigate:ja,fetch:il,revalidate:rl,createHref:g=>e.history.createHref(g),encodeLocation:g=>e.history.encodeLocation(g),getFetcher:Wa,resetFetcher:ul,deleteFetcher:cl,dispose:el,getBlocker:dl,deleteBlocker:Ka,patchRoutes:pl,_internalFetchControllers:K,_internalSetRoutes:ml,_internalSetStateDoNotUseOrYouWillBreakYourApp(g){ce(g)}},e.unstable_instrumentations&&(M=Yl(M,e.unstable_instrumentations.map(g=>
1g.router).filter(Boolean))),M}function mo(e,t){H(e.length>0,"You must provide a non-empty routes array to createStaticHandler");let r={},a=(t?t.basename:null)||"/",n=t?.mapRouteProperties||co,o=n;if(t?.unstable_instrumentations){let h=t.unstable_instrumentations;o=p=>({...n(p),...no(h.map(v=>v.route).filter(Boolean),p)})}let i=qe(e,o,void 0,r);async function l(h,{requestContext:p,filterMatchesToLoad:v,skipLoaderErrorBubbling:y,skipRevalidation:x,dataStrategy:R,generateMiddlewareResponse:b}={}){let P=new URL(h.url),L=h.method,C=Ue("",ue(P),null,"default"),M=Ce(i,C,a);if(p=p??new He,!Kr(L)&&L!=="HEAD"){let _=ae(405,{method:L}),{matches:T,route:O}=yt(i),F={basename:a,location:C,matches:T,loaderData:{},actionData:null,errors:{[O.id]:_},statusCode:_.status,loaderHeaders:{},actionHeaders:{}};return b?b(()=>Promise.resolve(F)):F}else if(!M){let _=ae(404,{pathname:C.pathname}),{matches:T,route:O}=yt(i),F={basename:a,location:C,matches:T,loaderData:{},actionData:null,errors:{[O.id]:_},statusCode:_.status,loaderHeaders:{},actionHeaders:{}};return b?b(()=>Promise.resolve(F)):F}if(b){H(p instanceof He,"When using middleware in `staticHandler.query()`, any provided `requestContext` must be an instance of `RouterContextProvider`");try{await mn(M,r,o);let _,T=await pn({request:h,unstable_pattern:Ie(M),matches:M,params:M[0].params,context:p},async()=>await b(async(F,W={})=>{let Y=await u(F,C,M,p,R||null,y===!0,null,"filterMatchesToLoad"in W?W.filterMatchesToLoad??null:v??null,x===!0);return te(Y)?Y:(_={location:C,basename:a,...Y},_)}),async(O,F)=>{if($t(O))return O;if(te(O))try{O=new ve(O.status,O.statusText,await So(O))}catch(W){O=W}if(Ge(O)&&(O=Do(O)),_){F in _.loaderData&&(_.loaderData[F]=void 0);let W=po(i,_,O,y?F:_e(M,F).route.id);return b(()=>Promise.resolve(W))}else{let W=y?F:_e(M,M.find(V=>V.route.id===F||V.route.loader)?.route.id||F).route.id,Y={matches:M,location:C,basename:a,loaderData:{},actionData:null,errors:{[W]:O},statusCode:ne(O)?O.status:500,actionHeaders:{},loaderHeaders:{}};return b(()=>Promise.resolve(Y))}});return H(te(T),"Expected a response in query()"),T}catch(_){if(te(_))return _;throw _}}let w=await u(h,C,M,p,R||null,y===!0,null,v||null,x===!0);return te(w)?w:{location:C,basename:a,...w}}async function s(h,{routeId:p,requestContext:v,dataStrategy:y,generateMiddlewareResponse:x}={}){let R=new URL(h.url),b=h.method,P=Ue("",ue(R),null,"default"),L=Ce(i,P,a);if(v=v??new He,!Kr(b)&&b!=="HEAD"&&b!=="OPTIONS")throw ae(405,{method:b});if(!L)throw ae(404,{pathname:P.pathname});let C=p?L.find(_=>_.route.id===p):gt(L,P);if(p&&!C)throw ae(403,{pathname:P.pathname,routeId:p});if(!C)throw ae(404,{pathname:P.pathname});if(x)return H(v instanceof He,"When using middleware in `staticHandler.queryRoute()`, any provided `requestContext` must be an instance of `RouterContextProvider`"),await mn(L,r,o),await pn({request:h,unstable_pattern:Ie(L),matches:L,params:L[0].params,context:v},async()=>await x(async O=>{let F=await u(O,P,L,v,y||null,!1,C,null,!1),W=w(F);return te(W)?W:typeof W=="string"?new Response(W):Response.json(W)}),T=>{if(Ge(T))return Promise.resolve(Jr(T));if(te(T))return Promise.resolve(T);throw T});let M=await u(h,P,L,v,y||null,!1,C,null,!1);return w(M);function w(_){if(te(_))return _;let T=_.errors?Object.values(_.errors)[0]:void 0;if(T!==void 0)throw T;if(_.actionData)return Object.values(_.actionData)[0];if(_.loaderData)return Object.values(_.loaderData)[0]}}async function u(h,p,v,y,x,R,b,P,L){H(h.signal,"query()/queryRoute() requests must contain an AbortController signal");try{if(se(h.method))return await d(h,v,b||gt(v,p),y,x,R,b!=null,P,L);let C=await c(h,v,y,x,R,b,P);return te(C)?C:{...C,actionData:null,actionHeaders:{}}}catch(C){if(_o(C)&&te(C.result)){if(C.type==="error")throw C.result;return C.result}if($t(C))return C;throw C}}async function d(h,p,v,y,x,R,b,P,L){let C;if(!v.route.action&&!v.route.lazy){let _=ae(405,{method:h.method,pathname:new URL(h.url).pathname,routeId:v.route.id});if(b)throw _;C={type:"error",error:_}}else{let _=Xe(o,r,h,p,v,[],y);C=(await m(h,_,b,y,x))[v.route.id],h.signal.aborted&&sn(h,b)}if(Ke(C))throw new Response(null,{status:C.response.status,headers:{Location:C.response.headers.get("Location")}});if(b){if(le(C))throw C.error;return{matches:[v],loaderData:{},actionData:{[v.route.id]:C.data},errors:null,statusCode:200,loaderHeaders:{},actionHeaders:{}}}if(L)if(le(C)){let _=R?v:_e(p,v.route.id);return{statusCode:ne(C.error)?C.error.status:C.statusCode!=null?C.statusCode:500,actionData:null,actionHeaders:{...C.headers?{[v.route.id]:C.headers}:{}},matches:p,loaderData:{},errors:{[_.route.id]:C.error},loaderHeaders:{}}}else return{actionData:{[v.route.id]:C.data},actionHeaders:C.headers?{[v.route.id]:C.headers}:{},matches:p,loaderData:{},errors:null,statusCode:C.statusCode||200,loaderHeaders:{}};
1let M=new Request(h.url,{headers:h.headers,redirect:h.redirect,signal:h.signal});if(le(C)){let _=R?v:_e(p,v.route.id);return{...await c(M,p,y,x,R,null,P,[_.route.id,C]),statusCode:ne(C.error)?C.error.status:C.statusCode!=null?C.statusCode:500,actionData:null,actionHeaders:{...C.headers?{[v.route.id]:C.headers}:{}}}}return{...await c(M,p,y,x,R,null,P),actionData:{[v.route.id]:C.data},...C.statusCode?{statusCode:C.statusCode}:{},actionHeaders:C.headers?{[v.route.id]:C.headers}:{}}}async function c(h,p,v,y,x,R,b,P){let L=R!=null;if(L&&!R?.route.loader&&!R?.route.lazy)throw ae(400,{method:h.method,pathname:new URL(h.url).pathname,routeId:R?.route.id});let C;if(R)C=Xe(o,r,h,p,R,[],v);else{let _=P&&le(P[1])?p.findIndex(O=>O.route.id===P[0])-1:void 0,T=Ie(p);C=p.map((O,F)=>_!=null&&F>_?Nt(o,r,h,T,O,[],v,!1):Nt(o,r,h,T,O,[],v,(O.route.loader||O.route.lazy)!=null&&(!b||b(O))))}if(!y&&!C.some(_=>_.shouldLoad))return{matches:p,loaderData:{},errors:P&&le(P[1])?{[P[0]]:P[1].error}:null,statusCode:200,loaderHeaders:{}};let M=await m(h,C,L,v,y);return h.signal.aborted&&sn(h,L),{...Po(p,M,P,!0,x),matches:p}}async function m(h,p,v,y,x){let R=await bo(x||Vr,h,p,null,y,!0),b={};return await Promise.all(p.map(async P=>{if(!(P.route.id in R))return;let L=R[P.route.id];if(ko(L)){let C=L.result;throw xo(C,h,P.route.id,p,a)}if(v){if(te(L.result))throw L;if(Ge(L.result))throw Jr(L.result)}b[P.route.id]=await Co(L)})),b}return{dataRoutes:i,query:l,queryRoute:s}}function po(e,t,r,a){let n=a||t._deepestRenderedBoundaryId||e[0].id;return{...t,statusCode:ne(r)?r.status:500,errors:{[n]:r}}}function sn(e,t){if(e.signal.reason!==void 0)throw e.signal.reason;let r=t?"queryRoute":"query";throw new Error(`${r}() call aborted without an \`AbortSignal.reason\`: ${e.method} ${e.url}`)}function es(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function Wr(e,t,r,a,n,o){let i,l;if(n){i=[];for(let u of t)if(i.push(u),u.route.id===n){l=u;break}}else i=t,l=t[t.length-1];let s=jt(a||".",hr(i),oe(e.pathname,r)||e.pathname,o==="path");if(a==null&&(s.search=e.search,s.hash=e.hash),(a==null||a===""||a===".")&&l){let u=wa(s.search);if(l.route.index&&!u)s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index";else if(!l.route.index&&u){let d=new URLSearchParams(s.search),c=d.getAll("index");d.delete("index"),c.filter(h=>h).forEach(h=>d.append("index",h));let m=d.toString();s.search=m?`?${m}`:""}}return r!=="/"&&(s.pathname=$l({basename:r,pathname:s.pathname})),ue(s)}function un(e,t,r){if(!r||!es(r))return{path:t};if(r.formMethod&&!Kr(r.formMethod))return{path:t,error:ae(405,{method:r.formMethod})};let a=()=>({path:t,error:ae(400,{type:"invalid-body"})}),o=(r.formMethod||"get").toUpperCase(),i=Lo(t);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!se(o))return a();let c=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((m,[h,p])=>`${m}${h}=${p}
2`,""):String(r.body);return{path:t,submission:{formMethod:o,formAction:i,formEncType:r.formEncType,formData:void 0,json:void 0,text:c}}}else if(r.formEncType==="application/json"){if(!se(o))return a();try{let c=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:t,submission:{formMethod:o,formAction:i,formEncType:r.formEncType,formData:void 0,json:c,text:void 0}}}catch{return a()}}}H(typeof FormData=="function","FormData is not available in this environment");let l,s;if(r.formData)l=Yr(r.formData),s=r.formData;else if(r.body instanceof FormData)l=Yr(r.body),s=r.body;else if(r.body instanceof URLSearchParams)l=r.body,s=gn(l);else if(r.body==null)l=new URLSearchParams,s=new FormData;else try{l=new URLSearchParams(r.body),s=gn(l)}catch{return a()}let u={formMethod:o,formAction:i,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:s,json:void 0,text:void 0};if(se(u.formMethod))return{path:t,submission:u};let d=xe(t);return e&&d.search&&wa(d.search)&&l.append("index",""),d.search=`?${l}`,{path:ue(d),submission:u}}function cn(e,t,r,a,n,o,i,l,s,u,d,c,m,h,p,v,y,x,R,b,P){let L=b?le(b[1])?b[1].error:b[1].data:void 0,C=n.createURL(o.location),M=n.createURL(s),w;if(d&&o.errors){let V=Object.keys(o.errors)[0];w=i.findIndex(Z=>Z.route.id===V)}
2else if(b&&le(b[1])){let V=b[0];w=i.findIndex(Z=>Z.route.id===V)-1}let _=b?b[1].statusCode:void 0,T=_&&_>=400,O={currentUrl:C,currentParams:o.matches[0]?.params||{},nextUrl:M,nextParams:i[0].params,...l,actionResult:L,actionStatus:_},F=Ie(i),W=i.map((V,Z)=>{let{route:me}=V,pe=null;if(w!=null&&Z>w)pe=!1;else if(me.lazy)pe=!0;else if(!ga(me))pe=!1;else if(d){let{shouldLoad:be}=yo(me,o.loaderData,o.errors);pe=be}else ts(o.loaderData,o.matches[Z],V)&&(pe=!0);if(pe!==null)return Nt(r,a,e,F,V,u,t,pe);let K=!1;typeof P=="boolean"?K=P:T?K=!1:(c||C.pathname+C.search===M.pathname+M.search||C.search!==M.search||rs(o.matches[Z],V))&&(K=!0);let Ee={...O,defaultShouldRevalidate:K},Te=Ft(V,Ee);return Nt(r,a,e,F,V,u,t,Te,Ee,P)}),Y=[];return p.forEach((V,Z)=>{if(d||!i.some(Se=>Se.route.id===V.routeId)||h.has(Z))return;let me=o.fetchers.get(Z),pe=me&&me.state!=="idle"&&me.data===void 0,K=Ce(y,V.path,x);if(!K){if(R&&pe)return;Y.push({key:Z,routeId:V.routeId,path:V.path,matches:null,match:null,request:null,controller:null});return}if(v.has(Z))return;let Ee=gt(K,V.path),Te=new AbortController,be=pt(n,V.path,Te.signal),ye=null;if(m.has(Z))m.delete(Z),ye=Xe(r,a,be,K,Ee,u,t);else if(pe)c&&(ye=Xe(r,a,be,K,Ee,u,t));else{let Se;typeof P=="boolean"?Se=P:T?Se=!1:Se=c;let We={...O,defaultShouldRevalidate:Se};Ft(Ee,We)&&(ye=Xe(r,a,be,K,Ee,u,t,We))}ye&&Y.push({key:Z,routeId:V.routeId,path:V.path,matches:ye,match:Ee,request:be,controller:Te})}),{dsMatches:W,revalidatingFetchers:Y}}function ga(e){return e.loader!=null||e.middleware!=null&&e.middleware.length>0}function yo(e,t,r){if(e.lazy)return{shouldLoad:!0,renderFallback:!0};if(!ga(e))return{shouldLoad:!1,renderFallback:!1};let a=t!=null&&e.id in t,n=r!=null&&r[e.id]!==void 0;if(!a&&n)return{shouldLoad:!1,renderFallback:!1};if(typeof e.loader=="function"&&e.loader.hydrate===!0)return{shouldLoad:!0,renderFallback:!a};let o=!a&&!n;return{shouldLoad:o,renderFallback:o}}function ts(e,t,r){let a=!t||r.route.id!==t.route.id,n=!e.hasOwnProperty(r.route.id);return a||n}function rs(e,t){let r=e.route.path;return e.pathname!==t.pathname||r!=null&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function Ft(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if(typeof r=="boolean")return r}return t.defaultShouldRevalidate}function dn(e,t,r,a,n,o){let i;if(e){let u=a[e];H(u,`No route found to patch children into: routeId = ${e}`),u.children||(u.children=[]),i=u.children}else i=r;let l=[],s=[];if(t.forEach(u=>{let d=i.find(c=>go(u,c));d?s.push({existingRoute:d,newRoute:u}):l.push(u)}),l.length>0){let u=qe(l,n,[e||"_","patch",String(i?.length||"0")],a);i.push(...u)}if(o&&s.length>0)for(let u=0;u<s.length;u++){let{existingRoute:d,newRoute:c}=s[u],m=d,[h]=qe([c],n,[],{},!0);Object.assign(m,{element:h.element?h.element:m.element,errorElement:h.errorElement?h.errorElement:m.errorElement,hydrateFallbackElement:h.hydrateFallbackElement?h.hydrateFallbackElement:m.hydrateFallbackElement})}}function go(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,a)=>t.children?.some(n=>go(r,n)))??!1:!1}var fn=new WeakMap,va=({key:e,route:t,manifest:r,mapRouteProperties:a})=>{let n=r[t.id];if(H(n,"No route found in manifest"),!n.lazy||typeof n.lazy!="object")return;let o=n.lazy[e];if(!o)return;let i=fn.get(n);i||(i={},fn.set(n,i));let l=i[e];if(l)return l;let s=(async()=>{let u=Sl(e),c=n[e]!==void 0&&e!=="hasErrorBoundary";if(u)Q(!u,"Route property "+e+" is not a supported lazy route property. This property will be ignored."),i[e]=Promise.resolve();else if(c)Q(!1,`Route "${n.id}" has a static property "${e}" defined. The lazy property will be ignored.`);else{let m=await o();m!=null&&(Object.assign(n,{[e]:m}),Object.assign(n,a(n)))}typeof n.lazy=="object"&&(n.lazy[e]=void 0,Object.values(n.lazy).every(m=>m===void 0)&&(n.lazy=void 0))})();return i[e]=s,s},hn=new WeakMap;function as(e,t,r,a,n){let o=r[e.id];if(H(o,"No route found in manifest"),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof e.lazy=="function"){let d=hn.get(o);if(d)return{lazyRoutePromise:d,lazyHandlerPromise:d};let c=(async()=>{H(typeof e.lazy=="function","No lazy route function found");let m=await e.lazy(),h={};for(let p in m){let v=m[p];if(v===void 0)continue;let y=xl(p),R=o[p]!==void 0&&p!=="hasErrorBoundary";y?Q(!y,"Route property "+p+" is not a supported property to be returned from a lazy route function. This property will be ignored."):R?Q(!R,`Route "${o.id}" has a static property "${p}" defined but its lazy function is also returning a value for this property. The lazy route property "${p}" will be ignored.`):h[p]=v}
2Object.assign(o,h),Object.assign(o,{...a(o),lazy:void 0})})();return hn.set(o,c),c.catch(()=>{}),{lazyRoutePromise:c,lazyHandlerPromise:c}}let i=Object.keys(e.lazy),l=[],s;for(let d of i){if(n&&n.includes(d))continue;let c=va({key:d,route:e,manifest:r,mapRouteProperties:a});c&&(l.push(c),d===t&&(s=c))}let u=l.length>0?Promise.all(l).then(()=>{}):void 0;return u?.catch(()=>{}),s?.catch(()=>{}),{lazyRoutePromise:u,lazyHandlerPromise:s}}function ns(e){return e!==void 0}function mn(e,t,r){let a=e.map(({route:n})=>{if(!(typeof n.lazy!="object"||!n.lazy.middleware))return va({key:"middleware",route:n,manifest:t,mapRouteProperties:r})}).filter(ns);return a.length>0?Promise.all(a):void 0}async function Vr(e){let t=e.matches.filter(n=>n.shouldLoad),r={};return(await Promise.all(t.map(n=>n.resolve()))).forEach((n,o)=>{r[t[o].route.id]=n}),r}async function os(e){return e.matches.some(t=>t.route.middleware)?vo(e,()=>Vr(e)):Vr(e)}function pn(e,t,r){return wo(e,t,a,te,r);function a(n){return Ge(n)?Jr(n):n}}function vo(e,t){return wo(e,t,a=>{if($t(a))throw a;return a},ss,r);function r(a,n,o){if(o)return Promise.resolve(Object.assign(o.value,{[n]:{type:"error",result:a}}));{let{matches:i}=e,l=Math.min(Math.max(i.findIndex(u=>u.route.id===n),0),Math.max(i.findIndex(u=>u.shouldCallHandler()),0)),s=_e(i,i[l].route.id).route.id;return Promise.resolve({[s]:{type:"error",result:a}})}}}async function wo(e,t,r,a,n){let{matches:o,request:i,params:l,context:s,unstable_pattern:u}=e,d=o.flatMap(m=>m.route.middleware?m.route.middleware.map(h=>[m.route.id,h]):[]);return await Ro({request:i,params:l,context:s,unstable_pattern:u},d,t,r,a,n)}async function Ro(e,t,r,a,n,o,i=0){let{request:l}=e;if(l.signal.aborted)throw l.signal.reason??new Error(`Request aborted: ${l.method} ${l.url}`);let s=t[i];if(!s)return await r();let[u,d]=s,c,m=async()=>{if(c)throw new Error("You may only call `next()` once per middleware");try{return c={value:await Ro(e,t,r,a,n,o,i+1)},c.value}catch(h){return c={value:await o(h,u,c)},c.value}};try{let h=await d(e,m),p=h!=null?a(h):void 0;return n(p)?p:c?p??c.value:(c={value:await m()},c.value)}catch(h){return await o(h,u,c)}}function Eo(e,t,r,a,n){let o=va({key:"middleware",route:a.route,manifest:t,mapRouteProperties:e}),i=as(a.route,se(r.method)?"action":"loader",t,e,n);return{middleware:o,route:i.lazyRoutePromise,handler:i.lazyHandlerPromise}}function Nt(e,t,r,a,n,o,i,l,s=null,u){let d=!1,c=Eo(e,t,r,n,o);return{...n,_lazyPromises:c,shouldLoad:l,shouldRevalidateArgs:s,shouldCallHandler(m){return d=!0,s?typeof u=="boolean"?Ft(n,{...s,defaultShouldRevalidate:u}):typeof m=="boolean"?Ft(n,{...s,defaultShouldRevalidate:m}):Ft(n,s):l},resolve(m){let{lazy:h,loader:p,middleware:v}=n.route,y=d||l||m&&!se(r.method)&&(h||p),x=v&&v.length>0&&!p&&!h;return y&&(se(r.method)||!x)?is({request:r,unstable_pattern:a,match:n,lazyHandlerPromise:c?.handler,lazyRoutePromise:c?.route,handlerOverride:m,scopedContext:i}):Promise.resolve({type:"data",result:void 0})}}}function Xe(e,t,r,a,n,o,i,l=null){return a.map(s=>s.route.id!==n.route.id?{...s,shouldLoad:!1,shouldRevalidateArgs:l,shouldCallHandler:()=>!1,_lazyPromises:Eo(e,t,r,s,o),resolve:()=>Promise.resolve({type:"data",result:void 0})}:Nt(e,t,r,Ie(a),s,o,i,!0,l))}async function bo(e,t,r,a,n,o){r.some(u=>u._lazyPromises?.middleware)&&await Promise.all(r.map(u=>u._lazyPromises?.middleware));let i={request:t,unstable_pattern:Ie(r),params:r[0].params,context:n,matches:r},s=await e({...i,fetcherKey:a,runClientMiddleware:o?()=>{throw new Error("You cannot call `runClientMiddleware()` from a static handler `dataStrategy`. Middleware is run outside of `dataStrategy` during SSR in order to bubble up the Response.  You can enable middleware via the `respond` API in `query`/`queryRoute`")}:u=>{let d=i;return vo(d,()=>u({...d,fetcherKey:a,runClientMiddleware:()=>{throw new Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))}});try{await Promise.all(r.flatMap(u=>[u._lazyPromises?.handler,u._lazyPromises?.route]))}catch{}return s}async function is({request:e,unstable_pattern:t,match:r,lazyHandlerPromise:a,lazyRoutePromise:n,handlerOverride:o,scopedContext:i}){let l,s,u=se(e.method),d=u?"action":"loader",c=m=>{let h,p=new Promise((x,R)=>h=R);s=()=>h(),e.signal.addEventListener("abort",s);let v=x=>typeof m!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${d}" [routeId: ${r.route.id}]`)):m({request:e,unstable_pattern:t,params:r.params,context:i},...x!==void 0?[x]:[]),y=(async()=>{try{return{type:"data",result:await(o?o(R=>v(R)):v())}}catch(x){return{type:"error",result:x}}})();return Promise.race([y,p])};try{let m=u?r.route.action:r.route.loader;if(a||n)if(m){let h,[p]=await Promise.all([c(m).catch(v=>{h=v}),a,n]);if(h!==void 0)throw h;l=p}else{await a;let h=u?r.route.action:r.route.loader;if(h)[l]=await Promise.all([c(h),n]);else if(d==="action"){let p=new URL(e.url),v=p.pathname+p.search;throw ae(405,{method:e.method,pathname:v,routeId:r.route.id})}else return{type:"data",result:void 0}}else if(m)l=await c(m);else{let h=new URL(e.url),p=h.pathname+h.search;throw ae(404,{pathname:p})}}catch(m){return{type:"error",result:m}}finally{s&&e.signal.removeEventListener("abort",s)}return l}async function So(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 Co(e){let{result:t,type:r}=e;if(te(t)){let a;try{a=await So(t)}catch(n){return{type:"error",error:n}}return r==="error"?{type:"error",error:new ve(t.status,t.statusText,a),statusCode:t.status,headers:t.headers}:{type:"data",data:a,statusCode:t.status,headers:t.headers}}return r==="error"?Ge(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:Do(t),statusCode:ne(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"error",error:t,statusCode:ne(t)?t.status:void 0}:Ge(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 xo(e,t,r,a,n){let o=e.headers.get("Location");if(H(o,"Redirects returned/thrown from loaders/actions must have a Location header"),!pa(o)){let i=a.slice(0,a.findIndex(l=>l.route.id===r)+1);o=Wr(new URL(t.url),i,n,o),e.headers.set("Location",o)}return e}function yn(e,t,r,a){let n=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];if(pa(e)){let o=e,i=o.startsWith("//")?new URL(t.protocol+o):new URL(o);if(n.includes(i.protocol))throw new Error("Invalid redirect location");let l=oe(i.pathname,r)!=null;if(i.origin===t.origin&&l)return i.pathname+i.search+i.hash}try{let o=a.createURL(e);if(n.includes(o.protocol))throw new Error("Invalid redirect location")}catch{}return e}function pt(e,t,r,a){let n=e.createURL(Lo(t)).toString(),o={signal:r};if(a&&se(a.formMethod)){let{formMethod:i,formEncType:l}=a;o.method=i.toUpperCase(),l==="application/json"?(o.headers=new Headers({"Content-Type":l}),o.body=JSON.stringify(a.json)):l==="text/plain"?o.body=a.text:l==="application/x-www-form-urlencoded"&&a.formData?o.body=Yr(a.formData):o.body=a.formData}
2return new Request(n,o)}function Yr(e){let t=new URLSearchParams;for(let[r,a]of e.entries())t.append(r,typeof a=="string"?a:a.name);return t}function gn(e){let t=new FormData;for(let[r,a]of e.entries())t.append(r,a);return t}function Po(e,t,r,a=!1,n=!1){let o={},i=null,l,s=!1,u={},d=r&&le(r[1])?r[1].error:void 0;return e.forEach(c=>{if(!(c.route.id in t))return;let m=c.route.id,h=t[m];if(H(!Ke(h),"Cannot handle redirect results in processLoaderData"),le(h)){let p=h.error;if(d!==void 0&&(p=d,d=void 0),i=i||{},n)i[m]=p;else{let v=_e(e,m);i[v.route.id]==null&&(i[v.route.id]=p)}a||(o[m]=ho),s||(s=!0,l=ne(h.error)?h.error.status:500),h.headers&&(u[m]=h.headers)}else o[m]=h.data,h.statusCode&&h.statusCode!==200&&!s&&(l=h.statusCode),h.headers&&(u[m]=h.headers)}),d!==void 0&&r&&(i={[r[0]]:d},r[2]&&(o[r[2]]=void 0)),{loaderData:o,errors:i,statusCode:l||200,loaderHeaders:u}}function vn(e,t,r,a,n,o){let{loaderData:i,errors:l}=Po(t,r,a);return n.filter(s=>!s.matches||s.matches.some(u=>u.shouldLoad)).forEach(s=>{let{key:u,match:d,controller:c}=s;if(c&&c.signal.aborted)return;let m=o[u];if(H(m,"Did not find corresponding fetcher result"),le(m)){let h=_e(e.matches,d?.route.id);l&&l[h.route.id]||(l={...l,[h.route.id]:m.error}),e.fetchers.delete(u)}else if(Ke(m))H(!1,"Unhandled fetcher revalidation redirect");else{let h=$e(m.data);e.fetchers.set(u,h)}}),{loaderData:i,errors:l}}function wn(e,t,r,a){let n=Object.entries(t).filter(([,o])=>o!==ho).reduce((o,[i,l])=>(o[i]=l,o),{});for(let o of r){let i=o.route.id;if(!t.hasOwnProperty(i)&&e.hasOwnProperty(i)&&o.route.loader&&(n[i]=e[i]),a&&a.hasOwnProperty(i))break}return n}function Rn(e){return e?le(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function _e(e,t){return(t?e.slice(0,e.findIndex(a=>a.route.id===t)+1):[...e]).reverse().find(a=>a.route.hasErrorBoundary===!0)||e[0]}function yt(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 ae(e,{pathname:t,routeId:r,method:a,type:n,message:o}={}){let i="Unknown Server Error",l="Unknown @remix-run/router error";return e===400?(i="Bad Request",a&&t&&r?l=`You made a ${a} request to "${t}" but did not provide a \`loader\` for route "${r}", so there is no way to handle the request.`:n==="invalid-body"&&(l="Unable to encode submission body")):e===403?(i="Forbidden",l=`Route "${r}" does not match URL "${t}"`):e===404?(i="Not Found",l=`No route matches URL "${t}"`):e===405&&(i="Method Not Allowed",a&&t&&r?l=`You made a ${a.toUpperCase()} request to "${t}" but did not provide an \`action\` for route "${r}", so there is no way to handle the request.`:a&&(l=`Invalid request method "${a.toUpperCase()}"`)),new ve(e||500,i,new Error(l),!0)}function Gt(e){let t=Object.entries(e);for(let r=t.length-1;r>=0;r--){let[a,n]=t[r];if(Ke(n))return{key:a,result:n}}}function Lo(e){let t=typeof e=="string"?xe(e):e;return ue({...t,hash:""})}function ls(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function Jr(e){return Response.json(e.data,e.init??void 0)}function Do(e){return new ve(e.init?.status??500,e.init?.statusText??"Internal Server Error",e.data)}function ss(e){return e!=null&&typeof e=="object"&&Object.entries(e).every(([t,r])=>typeof t=="string"&&_o(r))}function _o(e){return e!=null&&typeof e=="object"&&"type"in e&&"result"in e&&(e.type==="data"||e.type==="error")}function ko(e){return te(e.result)&&uo.has(e.result.status)}function le(e){return e.type==="error"}function Ke(e){return(e&&e.type)==="redirect"}function Ge(e){return typeof e=="object"&&e!=null&&"type"in e&&"data"in e&&"init"in e&&e.type==="DataWithResponseInit"}function te(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function yr(e){return uo.has(e)}function $t(e){return te(e)&&yr(e.status)&&e.headers.has("Location")}function Kr(e){return Ql.has(e.toUpperCase())}function se(e){return Gl.has(e.toUpperCase())}function wa(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function gt(e,t){let r=typeof t=="string"?xe(t).search:t.search;if(e[e.length-1].route.index&&wa(r||""))return e[e.length-1];let a=to(e);return a[a.length-1]}function En(e){let{formMethod:t,formAction:r,formEncType:a,text:n,formData:o,json:i}=e;if(!(!t||!r||!a)){if(n!=null)return{formMethod:t,formAction:r,formEncType:a,formData:void 0,json:void 0,text:n};if(o!=null)return{formMethod:t,formAction:r,formEncType:a,formData:o,json:void 0,text:void 0};if(i!==void 0)return{formMethod:t,formAction:r,formEncType:a,formData:void 0,json:i,text:void 0}}}function Ar(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 us(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 _t(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 cs(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 $e(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 ds(e,t){try{let r=e.sessionStorage.getItem(fo);if(r){let a=JSON.parse(r);for(let[n,o]of Object.entries(a||{}))o&&Array.isArray(o)&&t.set(n,new Set(o||[]))}}catch{}}function fs(e,t){if(t.size>0){let r={};for(let[a,n]of t)r[a]=[...n];try{e.sessionStorage.setItem(fo,JSON.stringify(r))}catch(a){Q(!1,`Failed to save applied view transitions in sessionStorage (${a}).`)}}}function bn(){let e,t,r=new Promise((a,n)=>{e=async o=>{a(o);try{await r}catch{}},t=async o=>
2{n(o);try{await r}catch{}}});return{promise:r,resolve:e,reject:t}}var je=f.createContext(null);je.displayName="DataRouter";var et=f.createContext(null);et.displayName="DataRouterState";var Ra=f.createContext(!1);function To(){return f.useContext(Ra)}var gr=f.createContext({isTransitioning:!1});gr.displayName="ViewTransition";var vr=f.createContext(new Map);vr.displayName="Fetchers";var Rt=f.createContext(null);Rt.displayName="Await";var hd=e=>f.createElement(Rt.Provider,e),we=f.createContext(null);we.displayName="Navigation";var Et=f.createContext(null);Et.displayName="Location";var Pe=f.createContext({outlet:null,matches:[],isDataRoute:!1});Pe.displayName="Route";var Ea=f.createContext(null);Ea.displayName="RouteError";var Oo="REACT_ROUTER_ERROR",hs="REDIRECT",ms="ROUTE_ERROR_RESPONSE";function Xr(e){if(e.startsWith(`${Oo}:${hs}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.location=="string"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch{}}function Gr(e){if(e.startsWith(`${Oo}:${ms}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new ve(t.status,t.statusText,t.data)}catch{}}function ps(e,{relative:t}={}){H(dt(),"useHref() may be used only in the context of a <Router> component.");let{basename:r,navigator:a}=f.useContext(we),{hash:n,pathname:o,search:i}=zt(e,{relative:t}),l=o;return r!=="/"&&(l=o==="/"?r:ke([r,o])),a.createHref({pathname:l,search:i,hash:n})}function dt(){return f.useContext(Et)!=null}function Re(){return H(dt(),"useLocation() may be used only in the context of a <Router> component."),f.useContext(Et).location}function md(){return f.useContext(Et).navigationType}function pd(e){H(dt(),"useMatch() may be used only in the context of a <Router> component.");let{pathname:t}=Re();return f.useMemo(()=>At(e,Zn(t)),[t,e])}var Mo="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Fo(e){f.useContext(we).static||f.useLayoutEffect(e)}function ba(){let{isDataRoute:e}=f.useContext(Pe);return e?_s():ys()}function ys(){H(dt(),"useNavigate() may be used only in the context of a <Router> component.");let e=f.useContext(je),{basename:t,navigator:r}=f.useContext(we),{matches:a}=f.useContext(Pe),{pathname:n}=Re(),o=JSON.stringify(hr(a)),i=f.useRef(!1);return Fo(()=>{i.current=!0}),f.useCallback((s,u={})=>{if(Q(i.current,Mo),!i.current)return;if(typeof s=="number"){r.go(s);return}let d=jt(s,JSON.parse(o),n,u.relative==="path");e==null&&t!=="/"&&(d.pathname=d.pathname==="/"?t:ke([t,d.pathname])),(u.replace?r.replace:r.push)(d,u.state,u)},[t,r,o,n,e])}var Ao=f.createContext(null);function yd(){return f.useContext(Ao)}function gs(e){let t=f.useContext(Pe).outlet;return f.useMemo(()=>t&&f.createElement(Ao.Provider,{value:e},t),[t,e])}function Sa(){let{matches:e}=f.useContext(Pe),t=e[e.length-1];return t?t.params:{}}function zt(e,{relative:t}={}){let{matches:r}=f.useContext(Pe),{pathname:a}=Re(),n=JSON.stringify(hr(r));return f.useMemo(()=>jt(e,JSON.parse(n),a,t==="path"),[e,n,a,t])}function vs(e,t){return No(e,t)}function No(e,t,r){H(dt(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:a}=f.useContext(we),{matches:n}=f.useContext(Pe),o=n[n.length-1],i=o?o.params:{},l=o?o.pathname:"/",s=o?o.pathnameBase:"/",u=o&&o.route;{let y=u&&u.path||"";Io(l,!u||y.endsWith("*")||y.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${l}" (under <Route path="${y}">) 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="${y}"> to <Route path="${y==="/"?"*":`${y}/*`}">.`)}let d=Re(),c;if(t){let y=typeof t=="string"?xe(t):t;H(s==="/"||y.pathname?.startsWith(s),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${s}" but pathname "${y.pathname}" was given in the \`location\` prop.`),c=y}else c=d;let m=c.pathname||"/",h=m;if(s!=="/"){let y=s.replace(/^\//,"").split("/");h="/"+m.replace(/^\//,"").split("/").slice(y.length).join("/")}let p=Ce(e,{pathname:h});Q(u||p!=null,`No routes matched location "${c.pathname}
4${c.search}${c.hash}" `),Q(p==null||p[p.length-1].route.element!==void 0||p[p.length-1].route.Component!==void 0||p[p.length-1].route.lazy!==void 0,`Matched leaf route at location "${c.pathname}${c.search}${c.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.`);let v=Ho(p&&p.map(y=>Object.assign({},y,{params:Object.assign({},i,y.params),pathname:ke([s,a.encodeLocation?a.encodeLocation(y.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:y.pathname]),pathnameBase:y.pathnameBase==="/"?s:ke([s,a.encodeLocation?a.encodeLocation(y.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:y.pathnameBase])})),n,r);return t&&v?f.createElement(Et.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",unstable_mask:void 0,...c},navigationType:"POP"}},v):v}function ws(){let e=wr(),t=ne(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,a="rgba(200,200,200, 0.5)",n={padding:"0.5rem",backgroundColor:a},o={padding:"2px 4px",backgroundColor:a},i=null;return console.error("Error handled by React Router default ErrorBoundary:",e),i=f.createElement(f.Fragment,null,f.createElement("p",null,"💿 Hey developer 👋"),f.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",f.createElement("code",{style:o},"ErrorBoundary")," or"," ",f.createElement("code",{style:o},"errorElement")," prop on your route.")),f.createElement(f.Fragment,null,f.createElement("h2",null,"Unexpected Application Error!"),f.createElement("h3",{style:{fontStyle:"italic"}},t),r?f.createElement("pre",{style:n},r):null,i)}var Rs=f.createElement(ws,null),$o=class extends f.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const r=Gr(e.digest);r&&(e=r)}let t=e!==void 0?f.createElement(Pe.Provider,{value:this.props.routeContext},f.createElement(Ea.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?f.createElement(Es,{error:e},t):t}};$o.contextType=Ra;var Nr=new WeakMap;function Es({children:e,error:t}){let{basename:r}=f.useContext(we);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let a=Xr(t.digest);if(a){let n=Nr.get(t);if(n)throw n;let o=ao(a.location,r);if(ro&&!Nr.get(t))if(o.isExternal||a.reloadDocument)window.location.href=o.absoluteURL||o.to;else{const i=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(o.to,{replace:a.replace}));throw Nr.set(t,i),i}return f.createElement("meta",{httpEquiv:"refresh",content:`0;url=${o.absoluteURL||o.to}`})}}return e}function bs({routeContext:e,match:t,children:r}){let a=f.useContext(je);return a&&a.static&&a.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=t.route.id),f.createElement(Pe.Provider,{value:e},r)}function Ho(e,t=[],r){let a=r?.state;if(e==null){if(!a)return null;if(a.errors)e=a.matches;else if(t.length===0&&!a.initialized&&a.matches.length>0)e=a.matches;else return null}let n=e,o=a?.errors;if(o!=null){let d=n.findIndex(c=>c.route.id&&o?.[c.route.id]!==void 0);H(d>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),n=n.slice(0,Math.min(n.length,d+1))}let i=!1,l=-1;if(r&&a){i=a.renderFallback;for(let d=0;d<n.length;d++){let c=n[d];if((c.route.HydrateFallback||c.route.hydrateFallbackElement)&&(l=d),c.route.id){let{loaderData:m,errors:h}
4=a,p=c.route.loader&&!m.hasOwnProperty(c.route.id)&&(!h||h[c.route.id]===void 0);if(c.route.lazy||p){r.isStatic&&(i=!0),l>=0?n=n.slice(0,l+1):n=[n[0]];break}}}}let s=r?.onError,u=a&&s?(d,c)=>{s(d,{location:a.location,params:a.matches?.[0]?.params??{},unstable_pattern:Ie(a.matches),errorInfo:c})}:void 0;return n.reduceRight((d,c,m)=>{let h,p=!1,v=null,y=null;a&&(h=o&&c.route.id?o[c.route.id]:void 0,v=c.route.errorElement||Rs,i&&(l<0&&m===0?(Io("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),p=!0,y=null):l===m&&(p=!0,y=c.route.hydrateFallbackElement||null)));let x=t.concat(n.slice(0,m+1)),R=()=>{let b;return h?b=v:p?b=y:c.route.Component?b=f.createElement(c.route.Component,null):c.route.element?b=c.route.element:b=d,f.createElement(bs,{match:c,routeContext:{outlet:d,matches:x,isDataRoute:a!=null},children:b})};return a&&(c.route.ErrorBoundary||c.route.errorElement||m===0)?f.createElement($o,{location:a.location,revalidation:a.revalidation,component:v,error:h,children:R(),routeContext:{outlet:null,matches:x,isDataRoute:!0},onError:u}):R()},null)}function Ca(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function xa(e){let t=f.useContext(je);return H(t,Ca(e)),t}function ze(e){let t=f.useContext(et);return H(t,Ca(e)),t}function Ss(e){let t=f.useContext(Pe);return H(t,Ca(e)),t}function bt(e){let t=Ss(e),r=t.matches[t.matches.length-1];return H(r.route.id,`${e} can only be used on routes that contain a unique "id"`),r.route.id}function Cs(){return bt("useRouteId")}function xs(){return ze("useNavigation").navigation}function gd(){let e=xa("useRevalidator"),t=ze("useRevalidator"),r=f.useCallback(async()=>{await e.router.revalidate()},[e.router]);return f.useMemo(()=>({revalidate:r,state:t.revalidation}),[r,t.revalidation])}function Pa(){let{matches:e,loaderData:t}=ze("useMatches");return f.useMemo(()=>e.map(r=>Xn(r,t)),[e,t])}function La(){let e=ze("useLoaderData"),t=bt("useLoaderData");return e.loaderData[t]}function vd(e){return ze("useRouteLoaderData").loaderData[e]}function Da(){let e=ze("useActionData"),t=bt("useLoaderData");return e.actionData?e.actionData[t]:void 0}function wr(){let e=f.useContext(Ea),t=ze("useRouteError"),r=bt("useRouteError");return e!==void 0?e:t.errors?.[r]}function Ps(){return f.useContext(Rt)?._data}function wd(){return f.useContext(Rt)?._error}var Ls=0;function Ds(e){let{router:t,basename:r}=xa("useBlocker"),a=ze("useBlocker"),[n,o]=f.useState(""),i=f.useCallback(l=>{if(typeof e!="function")return!!e;if(r==="/")return e(l);let{currentLocation:s,nextLocation:u,historyAction:d}=l;return e({currentLocation:{...s,pathname:oe(s.pathname,r)||s.pathname},nextLocation:{...u,pathname:oe(u.pathname,r)||u.pathname},historyAction:d})},[r,e]);return f.useEffect(()=>{let l=String(++Ls);return o(l),()=>t.deleteBlocker(l)},[t]),f.useEffect(()=>{n!==""&&t.getBlocker(n,i)},[t,n,i]),n&&a.blockers.has(n)?a.blockers.get(n):ut}function _s(){let{router:e}=xa("useNavigate"),t=bt("useNavigate"),r=f.useRef(!1);return Fo(()=>{r.current=!0}),f.useCallback(async(n,o={})=>{Q(r.current,Mo),r.current&&(typeof n=="number"?await e.navigate(n):await e.navigate(n,{fromRouteId:t,...o}))},[e,t])}var Sn={};function Io(e,t,r){!t&&!Sn[e]&&(Sn[e]=!0,Q(!1,r))}function Rd(...e){const t=bt("useRoute"),r=e[0]??t,a=ze("useRoute"),n=a.matches.find(({route:o})=>o.id===r);if(n!==void 0)return{handle:n.route.handle,loaderData:a.loaderData[r],actionData:a.actionData?.[r]}}var Cn={};function Ht(e,t){!e&&!Cn[t]&&(Cn[t]=!0,console.warn(t))}var ks="useOptimistic",xn=Bn[ks],Ts=()=>{};function Os(e){return xn?xn(e):[e,Ts]}function St(e){let t={hasErrorBoundary:e.hasErrorBoundary||e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&(e.element&&Q(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(t,{element:f.createElement(e.Component),Component:void 0})),e.HydrateFallback&&(e.hydrateFallbackElement&&Q(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(t,{hydrateFallbackElement:f.createElement(e.HydrateFallback),HydrateFallback:void 0})),e.ErrorBoundary&&(e.errorElement&&Q(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(t,{errorElement:f.createElement(e.ErrorBoundary),ErrorBoundary:void 0})),t}var Rr=["HydrateFallback","hydrateFallbackElement"];function Ms(e,t){return pr({basename:t?.basename,getContext:t?.getContext,future:t?.future,history:Vn({initialEntries:t?.initialEntries,initialIndex:t?.initialIndex}),hydrationData:t?.hydrationData,routes:e,hydrationRouteProperties:Rr,mapRouteProperties:St,dataStrategy:t?.dataStrategy,patchRoutesOnNavigation:t?.patchRoutesOnNavigation,unstable_instrumentations:t?.unstable_instrumentations}).initialize()}var Fs=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 Uo({router:e,flushSync:t,onError:r,unstable_useTransitions:a}){a=To()||a;let[o,i]=f.useState(e.state),[l,s]=Os(o),[u,d]=f.useState(),[c,m]=f.useState({isTransitioning:!1}),[h,p]=f.useState(),[v,y]=f.useState(),[x,R]=f.useState(),b=f.useRef(new Map),P=f.useCallback((w,{deletedFetchers:_,newErrors:T,flushSync:O,viewTransitionOpts:F})=>{T&&r&&Object.values(T).forEach(Y=>r(Y,{location:w.location,params:w.matches[0]?.params??{},unstable_pattern:Ie(w.matches)})),w.fetchers.forEach((Y,V)=>{Y.data!==void 0&&b.current.set(V,Y.data)}),_.forEach(Y=>b.current.delete(Y)),Ht(O===!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 W=e.window!=null&&e.window.document!=null&&typeof e.window.document.startViewTransition=="function";if(Ht(F==null||W,"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."),!F||!W){t&&O?t(()=>i(w)):a===!1?i(w):f.startTransition(()=>{a===!0&&s(Y=>Pn(Y,w)),i(w)});return}if(t&&O){t(()=>{v&&(h?.resolve(),v.skipTransition()),m({isTransitioning:!0,flushSync:!0,currentLocation:F.currentLocation,nextLocation:F.nextLocation})});let Y=e.window.document.startViewTransition(()=>{t(()=>i(w))});Y.finished.finally(()=>{t(()=>{p(void 0),y(void 0),d(void 0),m({isTransitioning:!1})})}),t(()=>y(Y));return}v?(h?.resolve(),v.skipTransition(),R({state:w,currentLocation:F.currentLocation,nextLocation:F.nextLocation})):(d(w),m({isTransitioning:!0,flushSync:!1,currentLocation:F.currentLocation,nextLocation:F.nextLocation}))},[e.window,t,v,h,a,s,r]);f.useLayoutEffect(()=>e.subscribe(P),[e,P]),f.useEffect(()=>{c.isTransitioning&&!c.flushSync&&p(new Fs)},[c]),f.useEffect(()=>{if(h&&u&&e.window){let w=u,_=h.promise,T=e.window.document.startViewTransition(async()=>{a===!1?i(w):f.startTransition(()=>{a===!0&&s(O=>Pn(O,w)),i(w)}),await _});T.finished.finally(()=>{p(void 0),y(void 0),d(void 0),m({isTransitioning:!1})}),y(T)}},[u,h,e.window,a,s]),f.useEffect(()=>{h&&u&&l.location.key===u.location.key&&h.resolve()},[h,v,l.location,u]),f.useEffect(()=>{!c.isTransitioning&&x&&(d(x.state),m({isTransitioning:!0,flushSync:!1,currentLocation:x.currentLocation,nextLocation:x.nextLocation}),R(void 0))},[c.isTransitioning,x]);let L=f.useMemo(()=>({createHref:e.createHref,encodeLocation:e.encodeLocation,go:w=>e.navigate(w),push:(w,_,T)=>e.navigate(w,{state:_,preventScrollReset:T?.preventScrollReset}),replace:(w,_,T)=>e.navigate(w,{replace:!0,state:_,preventScrollReset:T?.preventScrollReset})}),[e]),C=e.basename||"/",M=f.useMemo(()=>({router:e,navigator:L,static:!1,basename:C,onError:r}),[e,L,C,r]);return f.createElement(f.Fragment,null,f.createElement(je.Provider,{value:M},f.createElement(et.Provider,{value:l},f.createElement(vr.Provider,{value:b.current},f.createElement(gr.Provider,{value:c},f.createElement(ft,{basename:C,location:l.location,navigationType:l.historyAction,navigator:L,unstable_useTransitions:a},f.createElement(As,{routes:e.routes,future:e.future,state:l,isStatic:!1,onError:r})))))),null)}function Pn(e,t){return{...e,navigation:t.navigation.state!=="idle"?t.navigation:e.navigation,revalidation:t.revalidation!=="idle"?t.revalidation:e.revalidation,actionData:t.navigation.state!=="submitting"?t.actionData:e.actionData,fetchers:t.fetchers}}var As=f.memo(jo);function jo({routes:e,future:t,state:r,isStatic:a,onError:n}){return No(e,void 0,{state:r,isStatic:a,onError:n})}function Ed({basename:e,children:t,initialEntries:r,initialIndex:a,unstable_useTransitions:n}){let o=f.useRef();o.current==null&&(o.current=Vn({initialEntries:r,initialIndex:a,v5Compat:!0}));let i=o.current,[l,s]=f.useState({action:i.action,location:i.location}),u=f.useCallback(d=>{n===!1?s(d):f.startTransition(()=>s(d))},[n]);return f.useLayoutEffect(()=>i.listen(u),[i,u]),f.createElement(ft,{basename:e,children:t,location:l.location,navigationType:l.action,navigator:i,unstable_useTransitions:n})}function bd({to:e,replace:t,state:r,relative:a}){H(dt(),"<Navigate> may be used only in the context of a <Router> component.");let{static:n}=f.useContext(we);Q(!n,"<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}=f.useContext(Pe),{pathname:i}=Re(),l=ba(),s=jt(e,hr(o),i,a==="path"),u=JSON.stringify(s);return f.useEffect(()=>{l(JSON.parse(u),{replace:t,state:r,relative:a})},[l,u,a,t,r]),null}function Ns(e){return gs(e.context)}function $s(e){H(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function ft({basename:e="/",children:t=null,location:r,navigationType:a="POP",navigator:n,static:o=!1,unstable_useTransitions:i}){H(!dt(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let l=e.replace(/^\/*/,"/"),s=f.useMemo(()=>({basename:l,navigator:n,static:o,unstable_useTransitions:i,future:{}}),[l,n,o,i]);typeof r=="string"&&(r=xe(r));
4let{pathname:u="/",search:d="",hash:c="",state:m=null,key:h="default",unstable_mask:p}=r,v=f.useMemo(()=>{let y=oe(u,l);return y==null?null:{location:{pathname:y,search:d,hash:c,state:m,key:h,unstable_mask:p},navigationType:a}},[l,u,d,c,m,h,a,p]);return Q(v!=null,`<Router basename="${l}"> is not able to match the URL "${u}${d}${c}" because it does not start with the basename, so the <Router> won't render anything.`),v==null?null:f.createElement(we.Provider,{value:s},f.createElement(Et.Provider,{children:t,value:v}))}function Sd({children:e,location:t}){return vs(lr(e),t)}function Cd({children:e,errorElement:t,resolve:r}){let a=f.useContext(je),n=f.useContext(et),o=f.useCallback((i,l)=>{a&&a.onError&&n&&a.onError(i,{location:n.location,params:n.matches[0]?.params||{},unstable_pattern:Ie(n.matches),errorInfo:l})},[a,n]);return f.createElement(Hs,{resolve:r,errorElement:t,onError:o},f.createElement(Is,null,e))}var Hs=class extends f.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("<Await> caught the following error during render",e,t)}render(){let{children:e,errorElement:t,resolve:r}=this.props,a=null,n=0;if(!(r instanceof Promise))n=1,a=Promise.resolve(),Object.defineProperty(a,"_tracked",{get:()=>!0}),Object.defineProperty(a,"_data",{get:()=>r});else if(this.state.error){n=2;let o=this.state.error;a=Promise.reject().catch(()=>{}),Object.defineProperty(a,"_tracked",{get:()=>!0}),Object.defineProperty(a,"_error",{get:()=>o})}else r._tracked?(a=r,n="_error"in a?2:"_data"in a?1:0):(n=0,Object.defineProperty(r,"_tracked",{get:()=>!0}),a=r.then(o=>Object.defineProperty(r,"_data",{get:()=>o}),o=>{this.props.onError?.(o),Object.defineProperty(r,"_error",{get:()=>o})}));if(n===2&&!t)throw a._error;if(n===2)return f.createElement(Rt.Provider,{value:a,children:t});if(n===1)return f.createElement(Rt.Provider,{value:a,children:e});throw a}};function Is({children:e}){let t=Ps(),r=typeof e=="function"?e(t):e;return f.createElement(f.Fragment,null,r)}function lr(e,t=[]){let r=[];return f.Children.forEach(e,(a,n)=>{if(!f.isValidElement(a))return;let o=[...t,n];if(a.type===f.Fragment){r.push.apply(r,lr(a.props.children,o));return}H(a.type===$s,`[${typeof a.type=="string"?a.type:a.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),H(!a.props.index||!a.props.children,"An index route cannot have child routes.");let i={id:a.props.id||o.join("-"),caseSensitive:a.props.caseSensitive,element:a.props.element,Component:a.props.Component,index:a.props.index,path:a.props.path,middleware:a.props.middleware,loader:a.props.loader,action:a.props.action,hydrateFallbackElement:a.props.hydrateFallbackElement,HydrateFallback:a.props.HydrateFallback,errorElement:a.props.errorElement,ErrorBoundary:a.props.ErrorBoundary,hasErrorBoundary:a.props.hasErrorBoundary===!0||a.props.ErrorBoundary!=null||a.props.errorElement!=null,shouldRevalidate:a.props.shouldRevalidate,handle:a.props.handle,lazy:a.props.lazy};a.props.children&&(i.children=lr(a.props.children,o)),r.push(i)}),r}var xd=lr;function Pd(e){return Ho(e)}function zo(){return{params:Sa(),loaderData:La(),actionData:Da(),matches:Pa()}}function Ld({children:e}){const t=zo();return f.cloneElement(e,t)}function Us(e){return function(){const r=zo();return f.createElement(e,r)}}function Bo(){return{params:Sa(),loaderData:La(),actionData:Da()}}function Dd({children:e}){const t=Bo();return f.cloneElement(e,t)}function js(e){return function(){const r=Bo();return f.createElement(e,r)}}function Wo(){return{params:Sa(),loaderData:La(),actionData:Da(),error:wr()}}function _d({children:e}){const t=Wo();return f.cloneElement(e,t)}function zs(e){return function(){const r=Wo();return f.createElement(e,r)}}var rr="get",ar="application/x-www-form-urlencoded";function Er(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function Bs(e){return Er(e)&&e.tagName.toLowerCase()==="button"}function Ws(e){return Er(e)&&e.tagName.toLowerCase()==="form"}function Vs(e){return Er(e)&&e.tagName.toLowerCase()==="input"}function Ys(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Js(e,t){return e.button===0&&(!t||t==="_self")&&!Ys(e)}function qr(e=""){return new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,r)=>{let a=e[r];return t.concat(Array.isArray(a)?a.map(n=>[r,n]):[[r,a]])},[]))}function Ks(e,t){let r=qr(e);return t&&t.forEach((a,n)=>
4{r.has(n)||t.getAll(n).forEach(o=>{r.append(n,o)})}),r}var qt=null;function Xs(){if(qt===null)try{new FormData(document.createElement("form"),0),qt=!1}catch{qt=!0}return qt}var Gs=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function $r(e){return e!=null&&!Gs.has(e)?(Q(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${ar}"`),null):e}function qs(e,t){let r,a,n,o,i;if(Ws(e)){let l=e.getAttribute("action");a=l?oe(l,t):null,r=e.getAttribute("method")||rr,n=$r(e.getAttribute("enctype"))||ar,o=new FormData(e)}else if(Bs(e)||Vs(e)&&(e.type==="submit"||e.type==="image")){let l=e.form;if(l==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let s=e.getAttribute("formaction")||l.getAttribute("action");if(a=s?oe(s,t):null,r=e.getAttribute("formmethod")||l.getAttribute("method")||rr,n=$r(e.getAttribute("formenctype"))||$r(l.getAttribute("enctype"))||ar,o=new FormData(l,e),!Xs()){let{name:u,type:d,value:c}=e;if(d==="image"){let m=u?`${u}.`:"";o.append(`${m}x`,"0"),o.append(`${m}y`,"0")}else u&&o.append(u,c)}}else{if(Er(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=rr,a=null,n=ar,i=e}return o&&n==="text/plain"&&(i=o,o=void 0),{action:a,method:r.toLowerCase(),encType:n,formData:o,body:i}}var Vo=-1,Yo=-2,Jo=-3,Ko=-4,_a=-5,Xo=-6,Go=-7,qo="B",Qo="D",vt="E",Qr="M",Zo="N",wt="P",ei="R",Zr="S",ti="Y",ri="U",ea="Z",ai=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};function Qs(){const e=new TextDecoder;let t="";return new TransformStream({transform(r,a){const n=e.decode(r,{stream:!0}),o=(t+n).split(`
5`);t=o.pop()||"";for(const i of o)a.enqueue(i)},flush(r){t&&r.enqueue(t)}})}function De(e){const{indices:t}=this,r=t.get(e);if(r)return[r];if(e===void 0)return Go;if(e===null)return _a;if(Number.isNaN(e))return Yo;if(e===Number.POSITIVE_INFINITY)return Xo;if(e===Number.NEGATIVE_INFINITY)return Jo;if(e===0&&1/e<0)return Ko;const a=this.index++;return t.set(e,a),Zs.call(this,e,a),a}function Zs(e,t){const{deferred:r,plugins:a,postPlugins:n}=this,o=this.stringified,i=[[e,t]];for(;i.length>0;){const[l,s]=i.pop(),u=c=>Object.keys(c).map(m=>`"_${De.call(this,m)}":${De.call(this,c[m])}`).join(",");let d=null;switch(typeof l){case"boolean":case"number":case"string":o[s]=JSON.stringify(l);break;case"bigint":o[s]=`["${qo}","${l}"]`;break;case"symbol":{const c=Symbol.keyFor(l);c?o[s]=`["${ti}",${JSON.stringify(c)}]`:d=new Error("Cannot encode symbol unless created with Symbol.for()");break}case"object":{if(!l){o[s]=`${_a}`;break}const c=Array.isArray(l);let m=!1;if(!c&&a)for(const h of a){const p=h(l);if(Array.isArray(p)){m=!0;const[v,...y]=p;o[s]=`[${JSON.stringify(v)}`,y.length>0&&(o[s]+=`,${y.map(x=>De.call(this,x)).join(",")}`),o[s]+="]";break}}if(!m){let h=c?"[":"{";if(c){for(let p=0;p<l.length;p++)h+=(p?",":"")+(p in l?De.call(this,l[p]):Vo);o[s]=`${h}]`}else if(l instanceof Date){const p=l.getTime();o[s]=`["${Qo}",${Number.isNaN(p)?JSON.stringify("invalid"):p}]`}else l instanceof URL?o[s]=`["${ri}",${JSON.stringify(l.href)}]`:l instanceof RegExp?o[s]=`["${ei}",${JSON.stringify(l.source)},${JSON.stringify(l.flags)}]`:l instanceof Set?l.size>0?o[s]=`["${Zr}",${[...l].map(p=>De.call(this,p)).join(",")}]`:o[s]=`["${Zr}"]`:l instanceof Map?l.size>0?o[s]=`["${Qr}",${[...l].flatMap(([p,v])=>[De.call(this,p),De.call(this,v)]).join(",")}]`:o[s]=`["${Qr}"]`:l instanceof Promise?(o[s]=`["${wt}",${s}]`,r[s]=l):l instanceof Error?(o[s]=`["${vt}",${JSON.stringify(l.message)}`,l.name!=="Error"&&(o[s]+=`,${JSON.stringify(l.name)}`),o[s]+="]"):Object.getPrototypeOf(l)===null?o[s]=`["${Zo}",{${u(l)}}]`:tu(l)?o[s]=`{${u(l)}}`:d=new Error("Cannot encode object with prototype")}break}default:{const c=Array.isArray(l);let m=!1;if(!c&&a)for(const h of a){const p=h(l);if(Array.isArray(p)){m=!0;const[v,...y]=p;o[s]=`[${JSON.stringify(v)}`,y.length>0&&(o[s]+=`,${y.map(x=>De.call(this,x)).join(",")}`),o[s]+="]";break}}m||(d=new Error("Cannot encode function or unexpected type"))}}if(d){let c=!1;if(n)for(const m of n){const h=m(l);if(Array.isArray(h)){c=!0;const[p,...v]=h;o[s]=`[${JSON.stringify(p)}`,v.length>0&&(o[s]+=`,${v.map(y=>De.call(this,y)).join(",")}`),o[s]+="]";break}}if(!c)throw d}}}var eu=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function tu(e){const t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getOwnPropertyNames(t).sort().join("\0")===eu}var Hr=typeof window<"u"?window:typeof globalThis<"u"?globalThis:void 0;function ta(e){const{hydrated:t,values:r}=this;if(typeof e=="number")return Ln.call(this,e);if(!Array.isArray(e)||!e.length)throw new SyntaxError;const a=r.length;for(const n of e)r.push(n);return t.length=r.length,Ln.call(this,a)}function Ln(e){const{hydrated:t,values:r,deferred:a,plugins:n}=this;let o;const i=[[e,s=>{o=s}]];let l=[];for(;i.length>0;){const[s,u]=i.pop();switch(s){case Go:u(void 0);continue;case _a:u(null);continue;case Yo:u(NaN);continue;case Xo:u(1/0);continue;case Jo:u(-1/0);continue;case Ko:u(-0);continue}if(t[s]){u(t[s]);continue}const d=r[s];if(!d||typeof d!="object"){t[s]=d,u(d);continue}if(Array.isArray(d))if(typeof d[0]=="string"){const[c,m,h]=d;switch(c){case Qo:u(t[s]=new Date(m));continue;case ri:u(t[s]=new URL(m));continue;case qo:u(t[s]=BigInt(m));continue;case ei:u(t[s]=new RegExp(m,h));continue;case ti:u(t[s]=Symbol.for(m));continue;case Zr:const p=new Set;t[s]=p;for(let P=d.length-1;P>0;P--)i.push([d[P],L=>{p.add(L)}]);u(p);continue;case Qr:const v=new Map;t[s]=v;for(let P=d.length-2;P>0;P-=2){const L=[];i.push([d[P+1],C=>{L[1]=C}]),i.push([d[P],C=>{L[0]=C}]),l.push(()=>{v.set(L[0],L[1])})}u(v);continue;case Zo:const y=Object.create(null);t[s]=y;for(const P of Object.keys(m).reverse()){const L=[];i.push([m[P],C=>{L[1]=C}]),i.push([Number(P.slice(1)),C=>{L[0]=C}]),l.push(()=>{y[L[0]]=L[1]})}u(y);continue;case wt:if(t[m])u(t[s]=t[m]);else{const P=new ai;a[m]=P,u(t[s]=P.promise)}continue;case vt:const[,x,R]=d;let b=R&&Hr&&Hr[R]?new Hr[R](x):new Error(x);t[s]=b,u(b);continue;case ea:u(t[s]=t[m]);continue;default:if(Array.isArray(n)){const P=[],L=d.slice(1);for(let C=0;C<L.length;C++){const M=L[C];i.push([M,w=>{P[C]=w}])}l.push(()=>{for(const C of n){const M=C(d[0],...P);if(M){u(t[s]=M.value);return}}throw new SyntaxError});continue}throw new SyntaxError}}else{const c=[];t[s]=c;for(let m=0;m<d.length;m++){const h=d[m];h!==Vo&&i.push([h,p=>{c[m]=p}])}u(c);continue}else{const c={};t[s]=c;for(const m of Object.keys(d).reverse()){const h=[];i.push([d[m],p=>{h[1]=p}]),i.push([Number(m.slice(1)),p=>{h[0]=p}]),l.push(()=>{c[h[0]]=h[1]})}u(c);continue}}for(;l.length>0;)l.pop()();return o}async function ru(e,t){const{plugins:r}=t??{},a=new ai,n=e.pipeThrough(Qs()).getReader(),o={values:[],hydrated:[],deferred:{},plugins:r},i=await au.call(o,n);let l=a.promise;
5return i.done?a.resolve():l=nu.call(o,n).then(a.resolve).catch(s=>{for(const u of Object.values(o.deferred))u.reject(s);a.reject(s)}),{done:l.then(()=>n.closed),value:i.value}}async function au(e){const t=await e.read();if(!t.value)throw new SyntaxError;let r;try{r=JSON.parse(t.value)}catch{throw new SyntaxError}return{done:t.done,value:ta.call(this,r)}}async function nu(e){let t=await e.read();for(;!t.done;){if(!t.value)continue;const r=t.value;switch(r[0]){case wt:{const a=r.indexOf(":"),n=Number(r.slice(1,a)),o=this.deferred[n];if(!o)throw new Error(`Deferred ID ${n} not found in stream`);const i=r.slice(a+1);let l;try{l=JSON.parse(i)}catch{throw new SyntaxError}const s=ta.call(this,l);o.resolve(s);break}case vt:{const a=r.indexOf(":"),n=Number(r.slice(1,a)),o=this.deferred[n];if(!o)throw new Error(`Deferred ID ${n} not found in stream`);const i=r.slice(a+1);let l;try{l=JSON.parse(i)}catch{throw new SyntaxError}const s=ta.call(this,l);o.reject(s);break}default:throw new SyntaxError}t=await e.read()}}function ou(e,t){const{plugins:r,postPlugins:a,signal:n,onComplete:o}=t??{},i={deferred:{},index:0,indices:new Map,stringified:[],plugins:r,postPlugins:a,signal:n},l=new TextEncoder;let s=0;return new ReadableStream({async start(d){const c=De.call(i,e);if(Array.isArray(c))throw new Error("This should never happen");c<0?d.enqueue(l.encode(`${c}
6`)):(d.enqueue(l.encode(`[${i.stringified.join(",")}]
7`)),s=i.stringified.length-1);const m=new WeakSet;if(Object.keys(i.deferred).length){let h;const p=new Promise((v,y)=>{if(h=v,n){const x=()=>y(n.reason||new Error("Signal was aborted."));n.aborted?x():n.addEventListener("abort",R=>{x()})}});for(;Object.keys(i.deferred).length>0;){for(const[v,y]of Object.entries(i.deferred))m.has(y)||m.add(i.deferred[Number(v)]=Promise.race([p,y]).then(x=>{const R=De.call(i,x);if(Array.isArray(R))d.enqueue(l.encode(`${wt}${v}:[["${ea}",${R[0]}]]
8`)),i.index++,s++;else if(R<0)d.enqueue(l.encode(`${wt}${v}:${R}
9`));else{const b=i.stringified.slice(s+1).join(",");d.enqueue(l.encode(`${wt}${v}:[${b}]
10`)),s=i.stringified.length-1}},x=>{(!x||typeof x!="object"||!(x instanceof Error))&&(x=new Error("An unknown error occurred"));const R=De.call(i,x);if(Array.isArray(R))d.enqueue(l.encode(`${vt}${v}:[["${ea}",${R[0]}]]
11`)),i.index++,s++;else if(R<0)d.enqueue(l.encode(`${vt}${v}:${R}
12`));else{const b=i.stringified.slice(s+1).join(",");d.enqueue(l.encode(`${vt}${v}:[${b}]
13`)),s=i.stringified.length-1}}).finally(()=>{delete i.deferred[Number(v)]}));await Promise.race(Object.values(i.deferred))}h()}await Promise.all(Object.values(i.deferred)),o?.(),d.close()}})}async function iu(e){let t={signal:e.signal};if(e.method!=="GET"){t.method=e.method;let r=e.headers.get("Content-Type");r&&/\bapplication\/json\b/.test(r)?(t.headers={"Content-Type":r},t.body=JSON.stringify(await e.json())):r&&/\btext\/plain\b/.test(r)?(t.headers={"Content-Type":r},t.body=await e.text()):r&&/\bapplication\/x-www-form-urlencoded\b/.test(r)?t.body=new URLSearchParams(await e.text()):t.body=await e.formData()}return t}var lu={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},su=/[&><\u2028\u2029]/g;function Qe(e){return e.replace(su,t=>lu[t])}function he(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}var Ze=Symbol("SingleFetchRedirect"),ni=class extends Error{},ka=202,oi=new Set([100,101,204,205]);function ii({context:e,identifier:t,reader:r,textDecoder:a,nonce:n}){if(!e.renderMeta||!e.renderMeta.didRenderScripts)return null;e.renderMeta.streamCache||(e.renderMeta.streamCache={});let{streamCache:o}=e.renderMeta,i=o[t];if(i||(i=o[t]=r.read().then(d=>{o[t].result={done:d.done,value:a.decode(d.value,{stream:!0})}}).catch(d=>{o[t].error=d})),i.error)throw i.error;if(i.result===void 0)throw i;let{done:l,value:s}=i.result,u=s?f.createElement("script",{nonce:n,dangerouslySetInnerHTML:{__html:`window.__reactRouterContext.streamController.enqueue(${Qe(JSON.stringify(s))});`}}):null;return l?f.createElement(f.Fragment,null,u,f.createElement("script",{nonce:n,dangerouslySetInnerHTML:{__html:"window.__reactRouterContext.streamController.close();"}})):f.createElement(f.Fragment,null,u,f.createElement(f.Suspense,null,f.createElement(ii,{context:e,identifier:t+1,reader:r,textDecoder:a,nonce:n})))}function uu(e,t,r,a,n,o){let i=cu(e,l=>{let s=t.routes[l.route.id];he(s,"Route not found in manifest");let u=r[l.route.id];
13return{hasLoader:s.hasLoader,hasClientLoader:s.hasClientLoader,hasShouldRevalidate:!!u?.shouldRevalidate}},gu,a,n,o);return async l=>l.runClientMiddleware(i)}function cu(e,t,r,a,n,o,i=()=>!0){return async l=>{let{request:s,matches:u,fetcherKey:d}=l,c=e();if(s.method!=="GET")return du(l,r,n,o);let m=u.some(h=>{let{hasLoader:p,hasClientLoader:v}=t(h);return h.shouldCallHandler()&&p&&!v});return!a&&!m?fu(l,t,r,n,o):d?pu(l,r,n,o):hu(l,c,t,r,a,n,o,i)}}async function du(e,t,r,a){let n=e.matches.find(l=>l.shouldCallHandler());he(n,"No action match found");let o,i=await n.resolve(async l=>await l(async()=>{let{data:u,status:d}=await t(e,r,a,[n.route.id]);return o=d,It(u,n.route.id)}));return te(i.result)||ne(i.result)||Ge(i.result)?{[n.route.id]:i}:{[n.route.id]:{type:i.type,result:Bl(i.result,o)}}}async function fu(e,t,r,a,n){let o=e.matches.filter(l=>l.shouldCallHandler()),i={};return await Promise.all(o.map(l=>l.resolve(async s=>{try{let{hasClientLoader:u}=t(l),d=l.route.id,c=u?await s(async()=>{let{data:m}=await r(e,a,n,[d]);return It(m,d)}):await s();i[l.route.id]={type:"data",result:c}}catch(u){i[l.route.id]={type:"error",result:u}}}))),i}async function hu(e,t,r,a,n,o,i,l=()=>!0){let s=new Set,u=!1,d=e.matches.map(()=>Dn()),c=Dn(),m={},h=Promise.all(e.matches.map(async(v,y)=>v.resolve(async x=>{d[y].resolve();let R=v.route.id,{hasLoader:b,hasClientLoader:P,hasShouldRevalidate:L}=r(v),C=!v.shouldRevalidateArgs||v.shouldRevalidateArgs.actionStatus==null||v.shouldRevalidateArgs.actionStatus<400;if(!v.shouldCallHandler(C)){u||(u=v.shouldRevalidateArgs!=null&&b&&L===!0);return}if(l(v)&&P){b&&(u=!0);try{let w=await x(async()=>{let{data:_}=await a(e,o,i,[R]);return It(_,R)});m[R]={type:"data",result:w}}catch(w){m[R]={type:"error",result:w}}return}b&&s.add(R);try{let w=await x(async()=>{let _=await c.promise;return It(_,R)});m[R]={type:"data",result:w}}catch(w){m[R]={type:"error",result:w}}})));if(await Promise.all(d.map(v=>v.promise)),(!t.state.initialized&&t.state.navigation.state==="idle"||s.size===0)&&!window.__reactRouterHdrActive)c.resolve({routes:{}});else{let v=n&&u&&s.size>0?[...s.keys()]:void 0;try{let y=await a(e,o,i,v);c.resolve(y.data)}catch(y){c.reject(y)}}return await h,await mu(c.promise,e.matches,s,m),m}async function mu(e,t,r,a){try{let n,o=await e;if("routes"in o){for(let i of t)if(i.route.id in o.routes){let l=o.routes[i.route.id];if("error"in l){n=l.error,a[i.route.id]?.result==null&&(a[i.route.id]={type:"error",result:n});break}}}n!==void 0&&Array.from(r.values()).forEach(i=>{a[i].result instanceof ni&&(a[i].result=n)})}catch{}}async function pu(e,t,r,a){let n=e.matches.find(l=>l.shouldCallHandler());he(n,"No fetcher match found");let o=n.route.id,i=await n.resolve(async l=>l(async()=>{let{data:s}=await t(e,r,a,[o]);return It(s,o)}));return{[n.route.id]:i}}function yu(e){let t=e.searchParams.getAll("index");e.searchParams.delete("index");let r=[];for(let a of t)a&&r.push(a);for(let a of r)e.searchParams.append("index",a);return e}function li(e,t,r,a){let n=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return r?n.pathname.endsWith("/")?n.pathname=`${n.pathname}_.${a}`:n.pathname=`${n.pathname}.${a}`:n.pathname==="/"?n.pathname=`_root.${a}`:t&&oe(n.pathname,t)==="/"?n.pathname=`${t.replace(/\/$/,"")}/_root.${a}`:n.pathname=`${n.pathname.replace(/\/$/,"")}.${a}`,n}async function gu(e,t,r,a){let{request:n}=e,o=li(n.url,t,r,"data");n.method==="GET"&&(o=yu(o),a&&o.searchParams.set("_routes",a.join(",")));let i=await fetch(o,await iu(n));if(i.status>=400&&!i.headers.has("X-Remix-Response"))throw new ve(i.status,i.statusText,await i.text());if(i.status===204&&i.headers.has("X-Remix-Redirect"))return{status:ka,data:{redirect:{redirect:i.headers.get("X-Remix-Redirect"),status:Number(i.headers.get("X-Remix-Status")||"302"),revalidate:i.headers.get("X-Remix-Revalidate")==="true",reload:i.headers.get("X-Remix-Reload-Document")==="true",replace:i.headers.get("X-Remix-Replace")==="true"}}};if(oi.has(i.status)){let l={};return a&&n.method!=="GET"&&(l[a[0]]={data:void 0}),{status:i.status,data:{routes:l}}}he(i.body,"No response body to decode");try{let l=await Ta(i.body,window),s;if(n.method==="GET"){let u=l.value;Ze in u?s={redirect:u[Ze]}
13:s={routes:u}}else{let u=l.value,d=a?.[0];he(d,"No routeId found for single fetch call decoding"),"redirect"in u?s={redirect:u}:s={routes:{[d]:u}}}return{status:i.status,data:s}}catch{throw new Error("Unable to decode turbo-stream response")}}function Ta(e,t){return ru(e,{plugins:[(r,...a)=>{if(r==="SanitizedError"){let[n,o,i]=a,l=Error;n&&n in t&&typeof t[n]=="function"&&(l=t[n]);let s=new l(o);return s.stack=i,{value:s}}if(r==="ErrorResponse"){let[n,o,i]=a;return{value:new ve(o,i,n)}}if(r==="SingleFetchRedirect")return{value:{[Ze]:a[0]}};if(r==="SingleFetchClassInstance")return{value:a[0]};if(r==="SingleFetchFallback")return{value:void 0}}]})}function It(e,t){if("redirect"in e){let{redirect:a,revalidate:n,reload:o,replace:i,status:l}=e.redirect;throw mr(a,{status:l,headers:{...n?{"X-Remix-Revalidate":"yes"}:null,...o?{"X-Remix-Reload-Document":"yes"}:null,...i?{"X-Remix-Replace":"yes"}:null}})}let r=e.routes[t];if(r==null)throw new ni(`No result found for routeId "${t}"`);if("error"in r)throw r.error;if("data"in r)return r.data;throw new Error(`Invalid response found for routeId "${t}"`)}function Dn(){let e,t,r=new Promise((a,n)=>{e=async o=>{a(o);try{await r}catch{}},t=async o=>{n(o);try{await r}catch{}}});return{promise:r,resolve:e,reject:t}}async function si(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 vu(e,t,r){let a=e.map(o=>{let i=t[o.route.id],l=r.routes[o.route.id];return[l&&l.css?l.css.map(s=>({rel:"stylesheet",href:s})):[],i?.links?.()||[]]}).flat(2),n=Ma(e,r);return fi(a,n)}function ui(e){return e.css?e.css.map(t=>({rel:"stylesheet",href:t})):[]}async function wu(e){if(!e.css)return;let t=ui(e);await Promise.all(t.map(di))}async function ci(e,t){if(!e.css&&!t.links||!Cu())return;let r=[];if(e.css&&r.push(...ui(e)),t.links&&r.push(...t.links()),r.length===0)return;let a=[];for(let n of r)!Oa(n)&&n.rel==="stylesheet"&&a.push({...n,rel:"preload",as:"style"});await Promise.all(a.map(di))}async function di(e){return new Promise(t=>{if(e.media&&!window.matchMedia(e.media).matches||document.querySelector(`link[rel="stylesheet"][href="${e.href}"]`))return t();let r=document.createElement("link");Object.assign(r,e);function a(){document.head.contains(r)&&document.head.removeChild(r)}r.onload=()=>{a(),t()},r.onerror=()=>{a(),t()},document.head.appendChild(r)})}function Oa(e){return e!=null&&typeof e.page=="string"}function Ru(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 Eu(e,t,r){let a=await Promise.all(e.map(async n=>{let o=t.routes[n.route.id];if(o){let i=await si(o,r);return i.links?i.links():[]}return[]}));return fi(a.flat(1).filter(Ru).filter(n=>n.rel==="stylesheet"||n.rel==="preload").map(n=>n.rel==="stylesheet"?{...n,rel:"prefetch",as:"style"}:{...n,rel:"prefetch"}))}function _n(e,t,r,a,n,o){let i=(s,u)=>r[u]?s.route.id!==r[u].route.id:!0,l=(s,u)=>r[u].pathname!==s.pathname||r[u].route.path?.endsWith("*")&&r[u].params["*"]!==s.params["*"];return o==="assets"?t.filter((s,u)=>i(s,u)||l(s,u)):o==="data"?t.filter((s,u)=>{let d=a.routes[s.route.id];if(!d||!d.hasLoader)return!1;if(i(s,u)||l(s,u))return!0;if(s.route.shouldRevalidate){let c=s.route.shouldRevalidate({currentUrl:new URL(n.pathname+n.search+n.hash,window.origin),currentParams:r[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:s.params,defaultShouldRevalidate:!0});if(typeof c=="boolean")return c}return!0}):[]}function Ma(e,t,{includeHydrateFallback:r}={}){return bu(e.map(a=>{let n=t.routes[a.route.id];if(!n)return[];let o=[n.module];return n.clientActionModule&&(o=o.concat(n.clientActionModule)),n.clientLoaderModule&&(o=o.concat(n.clientLoaderModule)),r&&n.hydrateFallbackModule&&(o=o.concat(n.hydrateFallbackModule)),n.imports&&(o=o.concat(n.imports)),o}).flat(1))}function bu(e){return[...new Set(e)]}function Su(e){let t={},r=Object.keys(e).sort();
13for(let a of r)t[a]=e[a];return t}function fi(e,t){let r=new Set,a=new Set(t);return e.reduce((n,o)=>{if(t&&!Oa(o)&&o.as==="script"&&o.href&&a.has(o.href))return n;let l=JSON.stringify(Su(o));return r.has(l)||(r.add(l),n.push({key:l,link:o})),n},[])}var Qt;function Cu(){if(Qt!==void 0)return Qt;let e=document.createElement("link");return Qt=e.relList.supports("preload"),e=null,Qt}function xu(){return f.createElement(ra,{title:"Loading...",renderScripts:!0},f.createElement("script",{dangerouslySetInnerHTML:{__html:`
14              console.log(
15                "💿 Hey developer 👋. You can provide a way better UX than this " +
16                "when your app is loading JS modules and/or running \`clientLoader\` " +
17                "functions. Check out https://reactrouter.com/start/framework/route-module#hydratefallback " +
18                "for more information."
19              );
20            `}}))}function Fa(e){let t={};return Object.values(e).forEach(r=>{if(r){let a=r.parentId||"";t[a]||(t[a]=[]),t[a].push(r)}}),t}function hi(e,t,r){let a=pi(t),n=t.HydrateFallback&&(!r||e.id==="root")?t.HydrateFallback:e.id==="root"?xu:void 0,o=t.ErrorBoundary?t.ErrorBoundary:e.id==="root"?()=>f.createElement(Ri,{error:wr()}):void 0;return e.id==="root"&&t.Layout?{...a?{element:f.createElement(t.Layout,null,f.createElement(a,null))}:{Component:a},...o?{errorElement:f.createElement(t.Layout,null,f.createElement(o,null))}:{ErrorBoundary:o},...n?{hydrateFallbackElement:f.createElement(t.Layout,null,f.createElement(n,null))}:{HydrateFallback:n}}:{Component:a,ErrorBoundary:o,HydrateFallback:n}}function mi(e,t,r,a,n="",o=Fa(e),i=Promise.resolve({Component:()=>null})){return(o[n]||[]).map(l=>{let s=t[l.id];he(s,"No `routeModule` available to create server routes");let u={...hi(l,s,a),caseSensitive:l.caseSensitive,id:l.id,index:l.index,path:l.path,handle:s.handle,lazy:a?()=>i:void 0,loader:l.hasLoader||l.hasClientLoader?()=>null:void 0},d=mi(e,t,r,a,l.id,o,i);return d.length>0&&(u.children=d),u})}function Pu(e,t,r,a,n,o){return br(t,r,a,n,o,"",Fa(t),e)}function Zt(e,t){if(e==="loader"&&!t.hasLoader||e==="action"&&!t.hasAction){let a=`You are trying to call ${e==="action"?"serverAction()":"serverLoader()"} on a route that does not have a server ${e} (routeId: "${t.id}")`;throw console.error(a),new ve(400,"Bad Request",new Error(a),!0)}}function Ir(e,t){let r=e==="clientAction"?"a":"an",a=`Route "${t}" does not have ${r} ${e}, but you are trying to submit to it. To fix this, please add ${r} \`${e}\` function to the route`;throw console.error(a),new ve(405,"Method Not Allowed",new Error(a),!0)}function br(e,t,r,a,n,o="",i=Fa(e),l){return(i[o]||[]).map(s=>{let u=t[s.id];function d(R){return he(typeof R=="function","No single fetch function available for route handler"),R()}function c(R){return s.hasLoader?d(R):Promise.resolve(null)}function m(R){if(!s.hasAction)throw Ir("action",s.id);return d(R)}function h(R){import(R)}function p(R){R.clientActionModule&&h(R.clientActionModule),R.clientLoaderModule&&h(R.clientLoaderModule)}async function v(R){let b=t[s.id],P=b?ci(s,b):Promise.resolve();try{return R()}finally{await P}}let y={id:s.id,index:s.index,path:s.path};if(u){Object.assign(y,{...y,...hi(s,u,n),middleware:u.clientMiddleware,handle:u.handle,shouldRevalidate:kn(y.path,u,s,a,l)});let R=r&&r.loaderData&&s.id in r.loaderData,b=R?r?.loaderData?.[s.id]:void 0,P=r&&r.errors&&s.id in r.errors,L=P?r?.errors?.[s.id]:void 0,C=l==null&&(u.clientLoader?.hydrate===!0||!s.hasLoader);y.loader=async({request:M,params:w,context:_,unstable_pattern:T},O)=>{try{return await v(async()=>(he(u,"No `routeModule` available for critical-route loader"),u.clientLoader?u.clientLoader({request:M,params:w,context:_,unstable_pattern:T,async serverLoader(){if
20(Zt("loader",s),C){if(R)return b;if(P)throw L}return c(O)}}):c(O)))}finally{C=!1}},y.loader.hydrate=Sr(s.id,u.clientLoader,s.hasLoader,n),y.action=({request:M,params:w,context:_,unstable_pattern:T},O)=>v(async()=>{if(he(u,"No `routeModule` available for critical-route action"),!u.clientAction){if(n)throw Ir("clientAction",s.id);return m(O)}return u.clientAction({request:M,params:w,context:_,unstable_pattern:T,async serverAction(){return Zt("action",s),m(O)}})})}else{s.hasClientLoader||(y.loader=(P,L)=>v(()=>c(L))),s.hasClientAction||(y.action=(P,L)=>v(()=>{if(n)throw Ir("clientAction",s.id);return m(L)}));let R;async function b(){return R?await R:(R=(async()=>{(s.clientLoaderModule||s.clientActionModule)&&await new Promise(L=>setTimeout(L,0));let P=Du(s,t);return p(s),await P})(),await R)}y.lazy={loader:s.hasClientLoader?async()=>{let{clientLoader:P}=s.clientLoaderModule?await import(s.clientLoaderModule):await b();return he(P,"No `clientLoader` export found"),(L,C)=>P({...L,async serverLoader(){return Zt("loader",s),c(C)}})}:void 0,action:s.hasClientAction?async()=>{let P=s.clientActionModule?import(s.clientActionModule):b();p(s);let{clientAction:L}=await P;return he(L,"No `clientAction` export found"),(C,M)=>L({...C,async serverAction(){return Zt("action",s),m(M)}})}:void 0,middleware:s.hasClientMiddleware?async()=>{let{clientMiddleware:P}=s.clientMiddlewareModule?await import(s.clientMiddlewareModule):await b();return he(P,"No `clientMiddleware` export found"),P}:void 0,shouldRevalidate:async()=>{let P=await b();return kn(y.path,P,s,a,l)},handle:async()=>(await b()).handle,Component:async()=>(await b()).Component,ErrorBoundary:s.hasErrorBoundary?async()=>(await b()).ErrorBoundary:void 0}}let x=br(e,t,r,a,n,s.id,i,l);return x.length>0&&(y.children=x),y})}function kn(e,t,r,a,n){if(n)return Lu(r.id,t.shouldRevalidate,n);if(!a&&r.hasLoader&&!r.hasClientLoader){let o=e?Qn(e)[1].map(l=>l.paramName):[];const i=l=>o.some(s=>l.currentParams[s]!==l.nextParams[s]);if(t.shouldRevalidate){let l=t.shouldRevalidate;return s=>l({...s,defaultShouldRevalidate:i(s)})}else return l=>i(l)}return t.shouldRevalidate}function Lu(e,t,r){let a=!1;return n=>a?t?t(n):n.defaultShouldRevalidate:(a=!0,r.has(e))}async function Du(e,t){let r=si(e,t),a=wu(e),n=await r;return await Promise.all([a,ci(e,n)]),{Component:pi(n),ErrorBoundary:n.ErrorBoundary,clientMiddleware:n.clientMiddleware,clientAction:n.clientAction,clientLoader:n.clientLoader,handle:n.handle,links:n.links,meta:n.meta,shouldRevalidate:n.shouldRevalidate}}function pi(e){if(e.default==null)return;if(!(typeof e.default=="object"&&Object.keys(e.default).length===0))return e.default}function Sr(e,t,r,a){return a&&e!=="root"||t!=null&&(t.hydrate===!0||r!==!0)}var nr=new Set,_u=1e3,sr=new Set,ku=7680;function Aa(e,t){return e.mode==="lazy"&&t===!0}function Tu({sri:e,...t},r){let a=new Set(r.state.matches.map(l=>l.route.id)),n=r.state.location.pathname.split("/").filter(Boolean),o=["/"];for(n.pop();n.length>0;)o.push(`/${n.join("/")}`),n.pop();o.forEach(l=>{let s=Ce(r.routes,l,r.basename);s&&s.forEach(u=>a.add(u.route.id))});let i=[...a].reduce((l,s)=>Object.assign(l,{[s]:t.routes[s]}),{});return{...t,routes:i,sri:e?!0:void 0}}function Ou(e,t,r,a,n,o,i){if(Aa(n,a))return async({path:l,patch:s,signal:u,fetcherKey:d})=>{if(sr.has(l))return;let{state:c}=e();await gi([l],d?window.location.href:ue(c.navigation.location||c.location),t,r,a,o,i,n.manifestPath,s,u)}}function Mu(e,t,r,a,n,o){f.useEffect(()=>{if(!Aa(n,a)||window.navigator?.connection?.saveData===!0)return;function i(d){let c=d.tagName==="FORM"?d.getAttribute("action"):d.getAttribute("href");if(!c)return;let m=d.tagName==="A"?d.pathname:new URL(c,window.location.origin).pathname;sr.has(m)||nr.add(m)}async function l(){document.querySelectorAll("a[data-discover], form[data-discover]").forEach(i);let d=Array.from(nr.keys()).filter(c=>sr.has(c)?(nr.delete(c),!1):!0);if(d.length!==0)try{await gi(d,null,t,r,a,o,e.basename,n.manifestPath,e.patchRoutes)}catch(c){console.error("Failed to fetch manifest patches",c)}}let s=Au(l,100);l();let u=new MutationObserver(()=>s());return u.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["data-discover","href","action"]}),()=>u.disconnect()},[a,o,t,r,e,n])}function yi(e,t){let r=e||"/__manifest";return t==null?r:`${t}${r}`.replace(/\/+/g,"/")}var Ur="react-router-manifest-version";async function gi(e,t,r,a,n,o,i,l,s,u){const d=new URLSearchParams;d.set("paths",e.sort().join(",")),d.set("version",r.version);let c=new URL(yi(l,i),window.location.origin);if(c.search=d.toString(),c.toString().length>ku){nr.clear();return}let m;try{let y=await fetch(c,{signal:u});if(y.ok){if(y.status===204&&y.headers.has("X-Remix-Reload-Document")){if(!t){console.warn("Detected a manifest version mismatch during eager route discovery. The next navigation/fetch to an undiscovered route will result in a 
20new document navigation to sync up with the latest manifest.");return}try{if(sessionStorage.getItem(Ur)===r.version){console.error("Unable to discover routes due to manifest version mismatch.");return}sessionStorage.setItem(Ur,r.version)}catch{}window.location.href=t,console.warn("Detected manifest version mismatch, reloading..."),await new Promise(()=>{})}else if(y.status>=400)throw new Error(await y.text())}else throw new Error(`${y.status} ${y.statusText}`);try{sessionStorage.removeItem(Ur)}catch{}m=await y.json()}catch(y){if(u?.aborted)return;throw y}let h=new Set(Object.keys(r.routes)),p=Object.values(m).reduce((y,x)=>(x&&!h.has(x.id)&&(y[x.id]=x),y),{});Object.assign(r.routes,p),e.forEach(y=>Fu(y,sr));let v=new Set;Object.values(p).forEach(y=>{y&&(!y.parentId||!p[y.parentId])&&v.add(y.parentId)}),v.forEach(y=>s(y||null,br(p,a,null,n,o,y)))}function Fu(e,t){if(t.size>=_u){let r=t.values().next().value;t.delete(r)}t.add(e)}function Au(e,t){let r;return(...a)=>{window.clearTimeout(r),r=window.setTimeout(()=>e(...a),t)}}function Na(){let e=f.useContext(je);return he(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Cr(){let e=f.useContext(et);return he(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var tt=f.createContext(void 0);tt.displayName="FrameworkContext";function Ct(){let e=f.useContext(tt);return he(e,"You must render this element inside a <HydratedRouter> element"),e}function Nu(e,t){let r=f.useContext(tt),[a,n]=f.useState(!1),[o,i]=f.useState(!1),{onFocus:l,onBlur:s,onMouseEnter:u,onMouseLeave:d,onTouchStart:c}=t,m=f.useRef(null);f.useEffect(()=>{if(e==="render"&&i(!0),e==="viewport"){let v=x=>{x.forEach(R=>{i(R.isIntersecting)})},y=new IntersectionObserver(v,{threshold:.5});return m.current&&y.observe(m.current),()=>{y.disconnect()}}},[e]),f.useEffect(()=>{if(a){let v=setTimeout(()=>{i(!0)},100);return()=>{clearTimeout(v)}}},[a]);let h=()=>{n(!0)},p=()=>{n(!1),i(!1)};return r?e!=="intent"?[o,m,{}]:[o,m,{onFocus:kt(l,h),onBlur:kt(s,p),onMouseEnter:kt(u,h),onMouseLeave:kt(d,p),onTouchStart:kt(c,h)}]:[!1,m,{}]}function kt(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function $a(e,t,r){if(r&&!ur)return[e[0]];if(t){let a=e.findIndex(n=>t[n.route.id]!==void 0);return e.slice(0,a+1)}return e}var Tn="data-react-router-critical-css";function kd({nonce:e,crossOrigin:t}){let{isSpaMode:r,manifest:a,routeModules:n,criticalCss:o}=Ct(),{errors:i,matches:l}=Cr(),s=$a(l,i,r),u=f.useMemo(()=>vu(s,n,a),[s,n,a]);return f.createElement(f.Fragment,null,typeof o=="string"?f.createElement("style",{[Tn]:"",nonce:e,dangerouslySetInnerHTML:{__html:o}}):null,typeof o=="object"?f.createElement("link",{[Tn]:"",rel:"stylesheet",href:o.href,nonce:e,crossOrigin:t}):null,u.map(({key:d,link:c})=>Oa(c)?f.createElement(vi,{key:d,nonce:e,...c,crossOrigin:c.crossOrigin??t}):f.createElement("link",{key:d,nonce:e,...c,crossOrigin:c.crossOrigin??t})))}function vi({page:e,...t}){let{router:r}=Na(),a=f.useMemo(()=>Ce(r.routes,e,r.basename),[r.routes,e,r.basename]);return a?f.createElement(Hu,{page:e,matches:a,...t}):null}function $u(e){let{manifest:t,routeModules:r}=Ct(),[a,n]=f.useState([]);return f.useEffect(()=>{let o=!1;return Eu(e,t,r).then(i=>{o||n(i)}),()=>{o=!0}},[e,t,r]),a}function Hu({page:e,matches:t,...r}){let a=Re(),{future:n,manifest:o,routeModules:i}=Ct(),{basename:l}=Na(),{loaderData:s,matches:u}=Cr(),d=f.useMemo(()=>_n(e,t,u,o,a,"data"),[e,t,u,o,a]),c=f.useMemo(()=>_n(e,t,u,o,a,"assets"),[e,t,u,o,a]),m=f.useMemo(()=>{if(e===a.pathname+a.search+a.hash)return[];let v=new Set,y=!1;if(t.forEach(R=>{let b=o.routes[R.route.id];!b||!b.hasLoader||(!d.some(P=>P.route.id===R.route.id)&&R.route.id in s&&i[R.route.id]?.shouldRevalidate||b.hasClientLoader?y=!0:v.add(R.route.id))}),v.size===0)return[];let x=li(e,l,n.unstable_trailingSlashAwareDataRequests,"data");return y&&v.size>0&&x.searchParams.set("_routes",t.filter(R=>v.has(R.route.id)).map(R=>R.route.id).join(",")),[x.pathname+x.search]},[l,n.unstable_trailingSlashAwareDataRequests,s,a,o,d,t,e,i]),h=f.useMemo(()=>Ma(c,o),[c,o]),p=$u(c);return f.createElement(f.Fragment,null,m.map(v=>f.createElement("link",{key:v,rel:"prefetch",as:"fetch",href:v,...r})),h.map(v=>f.createElement("link",{key:v,rel:"modulepreload",href:v,...r})),p.map(({key:v,link:y})=>f.createElement("link",{key:v,nonce:r.nonce,...y,crossOrigin:y.crossOrigin??r.crossOrigin})))}
20function Td(){let{isSpaMode:e,routeModules:t}=Ct(),{errors:r,matches:a,loaderData:n}=Cr(),o=Re(),i=$a(a,r,e),l=null;r&&(l=r[i[i.length-1].route.id]);let s=[],u=null,d=[];for(let c=0;c<i.length;c++){let m=i[c],h=m.route.id,p=n[h],v=m.params,y=t[h],x=[],R={id:h,data:p,loaderData:p,meta:[],params:m.params,pathname:m.pathname,handle:m.route.handle,error:l};if(d[c]=R,y?.meta?x=typeof y.meta=="function"?y.meta({data:p,loaderData:p,params:v,location:o,matches:d,error:l}):Array.isArray(y.meta)?[...y.meta]:y.meta:u&&(x=[...u]),x=x||[],!Array.isArray(x))throw new Error("The route at "+m.route.path+` returns an invalid value. All route meta functions must return an array of meta objects.
21
22To reference the meta function API, see https://reactrouter.com/start/framework/route-module#meta`);R.meta=x,d[c]=R,s=[...x],u=s}return f.createElement(f.Fragment,null,s.flat().map(c=>{if(!c)return null;if("tagName"in c){let{tagName:m,...h}=c;if(!Iu(m))return console.warn(`A meta object uses an invalid tagName: ${m}. Expected either 'link' or 'meta'`),null;let p=m;return f.createElement(p,{key:JSON.stringify(h),...h})}if("title"in c)return f.createElement("title",{key:"title"},String(c.title));if("charset"in c&&(c.charSet??(c.charSet=c.charset),delete c.charset),"charSet"in c&&c.charSet!=null)return typeof c.charSet=="string"?f.createElement("meta",{key:"charSet",charSet:c.charSet}):null;if("script:ld+json"in c)try{let m=JSON.stringify(c["script:ld+json"]);return f.createElement("script",{key:`script:ld+json:${m}`,type:"application/ld+json",dangerouslySetInnerHTML:{__html:Qe(m)}})}catch{return null}return f.createElement("meta",{key:JSON.stringify(c),...c})}))}function Iu(e){return typeof e=="string"&&/^(meta|link)$/.test(e)}var ur=!1;function Uu(){ur=!0}function ju(e){let{manifest:t,serverHandoffString:r,isSpaMode:a,renderMeta:n,routeDiscovery:o,ssr:i}=Ct(),{router:l,static:s,staticContext:u}=Na(),{matches:d}=Cr(),c=To(),m=Aa(o,i);n&&(n.didRenderScripts=!0);let h=$a(d,null,a);f.useEffect(()=>{Uu()},[]);let p=f.useMemo(()=>{if(c)return null;let R=u?`window.__reactRouterContext = ${r};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());`:" ",b=s?`${t.hmr?.runtime?`import ${JSON.stringify(t.hmr.runtime)};`:""}${m?"":`import ${JSON.stringify(t.url)}`};
23${h.map((P,L)=>{let C=`route${L}`,M=t.routes[P.route.id];he(M,`Route ${P.route.id} not found in manifest`);let{clientActionModule:w,clientLoaderModule:_,clientMiddlewareModule:T,hydrateFallbackModule:O,module:F}=M,W=[...w?[{module:w,varName:`${C}_clientAction`}]:[],..._?[{module:_,varName:`${C}_clientLoader`}]:[],...T?[{module:T,varName:`${C}_clientMiddleware`}]:[],...O?[{module:O,varName:`${C}_HydrateFallback`}]:[],{module:F,varName:`${C}_main`}];if(W.length===1)return`import * as ${C} from ${JSON.stringify(F)};`;let Y=W.map(Z=>`import * as ${Z.varName} from "${Z.module}";`).join(`
24`),V=`const ${C} = {${W.map(Z=>`...${Z.varName}`).join(",")}};`;return[Y,V].join(`
25`)}).join(`
26`)}
27  ${m?`window.__reactRouterManifest = ${JSON.stringify(Tu(t,l),null,2)};`:""}
28  window.__reactRouterRouteModules = {${h.map((P,L)=>`${JSON.stringify(P.route.id)}:route${L}`).join(",")}};
29
30import(${JSON.stringify(t.entry.module)});`:" ";return f.createElement(f.Fragment,null,f.createElement("script",{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:R},type:void 0}),f.createElement("script",{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:b},type:"module",async:!0}))},[]),v=ur||c?[]:zu(t.entry.imports.concat(Ma(h,t,{includeHydrateFallback:!0}))),y=typeof t.sri=="object"?t.sri:{};return Ht(!c,"The <Scripts /> element is a no-op when using RSC and can be safely removed."),ur||c?null:f.createElement(f.Fragment,null,typeof t.sri=="object"?f.createElement("script",{...e,"rr-importmap":"",type:"importmap",suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:JSON.stringify({integrity:y})}}):null,m?null:f.createElement("link",{rel:"modulepreload",href:t.url,crossOrigin:e.crossOrigin,integrity:y[t.url],suppressHydrationWarning:!0}),f.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin,integrity:y[t.entry.module],suppressHydrationWarning:!0}),v.map(x=>f.createElement("link",{key:x,rel:"modulepreload",href:x,crossOrigin:e.crossOrigin,integrity:y[x],suppressHydrationWarning:!0})),p)}function zu(e){return[...new Set(e)]}function Bu(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}var wi=class extends f.Component{constructor(e){super(e),this.state={error:e.error||null,location:e.location}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location?{error:e.error||null,location:e.location}:{error:e.error||t.error,location:t.location}}render(){return this.state.error?f.createElement(Ri,{error:this.state.error,isOutsideRemixApp:!0}):this.props.children}};function Ri({error:e,isOutsideRemixApp:t}){console.error(e);let r=f.createElement("script",{dangerouslySetInnerHTML:{__html:`
31        console.log(
32          "💿 Hey developer 👋. You can provide a way better UX than this when your app throws errors. Check out https://reactrouter.com/how-to/error-boundary for more information."
33        );
34      `}});if(ne(e))return f.createElement(ra,{title:"Unhandled Thrown Response!"},f.createElement("h1",{style:{fontSize:"24px"}},e.status," ",e.statusText),r);let a;if(e instanceof Error)a=e;else{let n=e==null?"Unknown Error":typeof e=="object"&&"toString"in e?e.toString():JSON.stringify(e);a=new Error(n)}
34return f.createElement(ra,{title:"Application Error!",isOutsideRemixApp:t},f.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),f.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},a.stack),r)}function ra({title:e,renderScripts:t,isOutsideRemixApp:r,children:a}){let{routeModules:n}=Ct();return n.root?.Layout&&!r?a:f.createElement("html",{lang:"en"},f.createElement("head",null,f.createElement("meta",{charSet:"utf-8"}),f.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),f.createElement("title",null,e)),f.createElement("body",null,f.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},a,t?f.createElement(ju,null):null)))}var Wu=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Wu&&(window.__reactRouterVersion="7.13.1")}catch{}function Od(e,t){return pr({basename:t?.basename,getContext:t?.getContext,future:t?.future,history:ma({window:t?.window}),hydrationData:t?.hydrationData||Ei(),routes:e,mapRouteProperties:St,hydrationRouteProperties:Rr,dataStrategy:t?.dataStrategy,patchRoutesOnNavigation:t?.patchRoutesOnNavigation,window:t?.window,unstable_instrumentations:t?.unstable_instrumentations}).initialize()}function Md(e,t){return pr({basename:t?.basename,getContext:t?.getContext,future:t?.future,history:Yn({window:t?.window}),hydrationData:t?.hydrationData||Ei(),routes:e,mapRouteProperties:St,hydrationRouteProperties:Rr,dataStrategy:t?.dataStrategy,patchRoutesOnNavigation:t?.patchRoutesOnNavigation,window:t?.window,unstable_instrumentations:t?.unstable_instrumentations}).initialize()}function Ei(){let e=window?.__staticRouterHydrationData;return e&&e.errors&&(e={...e,errors:Vu(e.errors)}),e}function Vu(e){if(!e)return null;let t=Object.entries(e),r={};for(let[a,n]of t)if(n&&n.__type==="RouteErrorResponse")r[a]=new ve(n.status,n.statusText,n.data,n.internal===!0);else if(n&&n.__type==="Error"){if(n.__subType){let o=window[n.__subType];if(typeof o=="function")try{let i=new o(n.message);i.stack="",r[a]=i}catch{}}if(r[a]==null){let o=new Error(n.message);o.stack="",r[a]=o}}else r[a]=n;return r}function Fd({basename:e,children:t,unstable_useTransitions:r,window:a}){let n=f.useRef();n.current==null&&(n.current=ma({window:a,v5Compat:!0}));let o=n.current,[i,l]=f.useState({action:o.action,location:o.location}),s=f.useCallback(u=>{r===!1?l(u):f.startTransition(()=>l(u))},[r]);return f.useLayoutEffect(()=>o.listen(s),[o,s]),f.createElement(ft,{basename:e,children:t,location:i.location,navigationType:i.action,navigator:o,unstable_useTransitions:r})}function Ad({basename:e,children:t,unstable_useTransitions:r,window:a}){let n=f.useRef();n.current==null&&(n.current=Yn({window:a,v5Compat:!0}));let o=n.current,[i,l]=f.useState({action:o.action,location:o.location}),s=f.useCallback(u=>{r===!1?l(u):f.startTransition(()=>l(u))},[r]);return f.useLayoutEffect(()=>o.listen(s),[o,s]),f.createElement(ft,{basename:e,children:t,location:i.location,navigationType:i.action,navigator:o,unstable_useTransitions:r})}function Yu({basename:e,children:t,history:r,unstable_useTransitions:a}){let[n,o]=f.useState({action:r.action,location:r.location}),i=f.useCallback(l=>{a===!1?o(l):f.startTransition(()=>o(l))},[a]);return f.useLayoutEffect(()=>r.listen(i),[r,i]),f.createElement(ft,{basename:e,children:t,location:n.location,navigationType:n.action,navigator:r,unstable_useTransitions:a})}Yu.displayName="unstable_HistoryRouter";var bi=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Si=f.forwardRef(function({onClick:t,discover:r="render",prefetch:a="none",relative:n,reloadDocument:o,replace:i,unstable_mask:l,state:s,target:u,to:d,preventScrollReset:c,viewTransition:m,unstable_defaultShouldRevalidate:h,...p},v){let{basename:y,navigator:x,unstable_useTransitions:R}=f.useContext(we),b=typeof d=="string"&&bi.test(d),P=ao(d,y);d=P.to;let L=ps(d,{relative:n}),C=Re(),M=null;if(l){let V=jt(l,[],C.unstable_mask?C.unstable_mask.pathname:"/",!0);y!=="/"&&(V.pathname=V.pathname==="/"?y:ke([y,V.pathname])),M=x.createHref(V)}let[w,_,T]=Nu(a,p),O=Xu(d,{replace:i,unstable_mask:l,state:s,target:u,preventScrollReset:c,relative:n,viewTransition:m,unstable_defaultShouldRevalidate:h,unstable_useTransitions:R});function F(V){t&&t(V),V.defaultPrevented||O(V)}let W=!(P.isExternal||o),Y=f.createElement("a",{...p,...T,href:(W?M:void 0)||P.absoluteURL||L,onClick:W?F:t,ref:Bu(v,_),target:u,"data-discover":!b&&r==="render"?"true":void 0});return w&&!b?f.createElement(f.Fragment,null,Y,f.createElement(vi,{page:L})):Y});Si.displayName="Link";var Ju=f.forwardRef(function({"aria-current":t="page",caseSensitive:r=!1,
34className:a="",end:n=!1,style:o,to:i,viewTransition:l,children:s,...u},d){let c=zt(i,{relative:u.relative}),m=Re(),h=f.useContext(et),{navigator:p,basename:v}=f.useContext(we),y=h!=null&&tc(c)&&l===!0,x=p.encodeLocation?p.encodeLocation(c).pathname:c.pathname,R=m.pathname,b=h&&h.navigation&&h.navigation.location?h.navigation.location.pathname:null;r||(R=R.toLowerCase(),b=b?b.toLowerCase():null,x=x.toLowerCase()),b&&v&&(b=oe(b,v)||b);const P=x!=="/"&&x.endsWith("/")?x.length-1:x.length;let L=R===x||!n&&R.startsWith(x)&&R.charAt(P)==="/",C=b!=null&&(b===x||!n&&b.startsWith(x)&&b.charAt(x.length)==="/"),M={isActive:L,isPending:C,isTransitioning:y},w=L?t:void 0,_;typeof a=="function"?_=a(M):_=[a,L?"active":null,C?"pending":null,y?"transitioning":null].filter(Boolean).join(" ");let T=typeof o=="function"?o(M):o;return f.createElement(Si,{...u,"aria-current":w,className:_,ref:d,style:T,to:i,viewTransition:l},typeof s=="function"?s(M):s)});Ju.displayName="NavLink";var Ci=f.forwardRef(({discover:e="render",fetcherKey:t,navigate:r,reloadDocument:a,replace:n,state:o,method:i=rr,action:l,onSubmit:s,relative:u,preventScrollReset:d,viewTransition:c,unstable_defaultShouldRevalidate:m,...h},p)=>{let{unstable_useTransitions:v}=f.useContext(we),y=Pi(),x=Qu(l,{relative:u}),R=i.toLowerCase()==="get"?"get":"post",b=typeof l=="string"&&bi.test(l),P=L=>{if(s&&s(L),L.defaultPrevented)return;L.preventDefault();let C=L.nativeEvent.submitter,M=C?.getAttribute("formmethod")||i,w=()=>y(C||L.currentTarget,{fetcherKey:t,method:M,navigate:r,replace:n,state:o,relative:u,preventScrollReset:d,viewTransition:c,unstable_defaultShouldRevalidate:m});v&&r!==!1?f.startTransition(()=>w()):w()};return f.createElement("form",{ref:p,method:R,action:x,onSubmit:a?s:P,...h,"data-discover":!b&&e==="render"?"true":void 0})});Ci.displayName="Form";function Ku({getKey:e,storageKey:t,...r}){let a=f.useContext(tt),{basename:n}=f.useContext(we),o=Re(),i=Pa();Zu({getKey:e,storageKey:t});let l=f.useMemo(()=>{if(!a||!e)return null;let u=na(o,i,n,e);return u!==o.key?u:null},[]);if(!a||a.isSpaMode)return null;let s=((u,d)=>{if(!window.history.state||!window.history.state.key){let c=Math.random().toString(32).slice(2);window.history.replaceState({key:c},"")}try{let m=JSON.parse(sessionStorage.getItem(u)||"{}")[d||window.history.state.key];typeof m=="number"&&window.scrollTo(0,m)}catch(c){console.error(c),sessionStorage.removeItem(u)}}).toString();return f.createElement("script",{...r,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${s})(${Qe(JSON.stringify(t||aa))}, ${Qe(JSON.stringify(l))})`}})}Ku.displayName="ScrollRestoration";function xi(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function xr(e){let t=f.useContext(je);return H(t,xi(e)),t}function Ha(e){let t=f.useContext(et);return H(t,xi(e)),t}function Xu(e,{target:t,replace:r,unstable_mask:a,state:n,preventScrollReset:o,relative:i,viewTransition:l,unstable_defaultShouldRevalidate:s,unstable_useTransitions:u}={}){let d=ba(),c=Re(),m=zt(e,{relative:i});return f.useCallback(h=>{if(Js(h,t)){h.preventDefault();let p=r!==void 0?r:ue(c)===ue(m),v=()=>d(e,{replace:p,unstable_mask:a,state:n,preventScrollReset:o,relative:i,viewTransition:l,unstable_defaultShouldRevalidate:s});u?f.startTransition(()=>v()):v()}},[c,d,m,r,a,n,t,e,o,i,l,s,u])}function Nd(e){Q(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=f.useRef(qr(e)),r=f.useRef(!1),a=Re(),n=f.useMemo(()=>Ks(a.search,r.current?null:t.current),[a.search]),o=ba(),i=f.useCallback((l,s)=>{const u=qr(typeof l=="function"?l(new URLSearchParams(n)):l);r.current=!0,o("?"+u,s)},[o,n]);return[n,i]}var Gu=0,qu=()=>`__${String(++Gu)}__`;function Pi(){let{router:e}=xr("useSubmit"),{basename:t}=f.useContext(we),r=Cs(),a=e.fetch,n=e.navigate;return f.useCallback(async(o,i={})=>{let{action:l,method:s,encType:u,formData:d,body:c}=qs(o,t);
34if(i.navigate===!1){let m=i.fetcherKey||qu();await a(m,r,i.action||l,{unstable_defaultShouldRevalidate:i.unstable_defaultShouldRevalidate,preventScrollReset:i.preventScrollReset,formData:d,body:c,formMethod:i.method||s,formEncType:i.encType||u,flushSync:i.flushSync})}else await n(i.action||l,{unstable_defaultShouldRevalidate:i.unstable_defaultShouldRevalidate,preventScrollReset:i.preventScrollReset,formData:d,body:c,formMethod:i.method||s,formEncType:i.encType||u,replace:i.replace,state:i.state,fromRouteId:r,flushSync:i.flushSync,viewTransition:i.viewTransition})},[a,n,t,r])}function Qu(e,{relative:t}={}){let{basename:r}=f.useContext(we),a=f.useContext(Pe);H(a,"useFormAction must be used inside a RouteContext");let[n]=a.matches.slice(-1),o={...zt(e||".",{relative:t})},i=Re();if(e==null){o.search=i.search;let l=new URLSearchParams(o.search),s=l.getAll("index");if(s.some(d=>d==="")){l.delete("index"),s.filter(c=>c).forEach(c=>l.append("index",c));let d=l.toString();o.search=d?`?${d}`:""}}return(!e||e===".")&&n.route.index&&(o.search=o.search?o.search.replace(/^\?/,"?index&"):"?index"),r!=="/"&&(o.pathname=o.pathname==="/"?r:ke([r,o.pathname])),ue(o)}function $d({key:e}={}){let{router:t}=xr("useFetcher"),r=Ha("useFetcher"),a=f.useContext(vr),n=f.useContext(Pe),o=n.matches[n.matches.length-1]?.route.id;H(a,"useFetcher must be used inside a FetchersContext"),H(n,"useFetcher must be used inside a RouteContext"),H(o!=null,'useFetcher can only be used on routes that contain a unique "id"');let i=f.useId(),[l,s]=f.useState(e||i);e&&e!==l&&s(e);let{deleteFetcher:u,getFetcher:d,resetFetcher:c,fetch:m}=t;f.useEffect(()=>(d(l),()=>u(l)),[u,d,l]);let h=f.useCallback(async(L,C)=>{H(o,"No routeId available for fetcher.load()"),await m(l,o,L,C)},[l,o,m]),p=Pi(),v=f.useCallback(async(L,C)=>{await p(L,{...C,navigate:!1,fetcherKey:l})},[l,p]),y=f.useCallback(L=>c(l,L),[c,l]),x=f.useMemo(()=>{let L=f.forwardRef((C,M)=>f.createElement(Ci,{...C,navigate:!1,fetcherKey:l,ref:M}));return L.displayName="fetcher.Form",L},[l]),R=r.fetchers.get(l)||ya,b=a.get(l);return f.useMemo(()=>({Form:x,submit:v,load:h,reset:y,...R,data:b}),[x,v,h,y,R,b])}function Hd(){let e=Ha("useFetchers");return Array.from(e.fetchers.entries()).map(([t,r])=>({...r,key:t}))}var aa="react-router-scroll-positions",er={};function na(e,t,r,a){let n=null;return a&&(r!=="/"?n=a({...e,pathname:oe(e.pathname,r)||e.pathname},t):n=a(e,t)),n==null&&(n=e.key),n}function Zu({getKey:e,storageKey:t}={}){let{router:r}=xr("useScrollRestoration"),{restoreScrollPosition:a,preventScrollReset:n}=Ha("useScrollRestoration"),{basename:o}=f.useContext(we),i=Re(),l=Pa(),s=xs();f.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),ec(f.useCallback(()=>{if(s.state==="idle"){let u=na(i,l,o,e);er[u]=window.scrollY}try{sessionStorage.setItem(t||aa,JSON.stringify(er))}catch(u){Q(!1,`Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${u}).`)}window.history.scrollRestoration="auto"},[s.state,e,o,i,l,t])),typeof document<"u"&&(f.useLayoutEffect(()=>{try{let u=sessionStorage.getItem(t||aa);u&&(er=JSON.parse(u))}catch{}},[t]),f.useLayoutEffect(()=>{let u=r?.enableScrollRestoration(er,()=>window.scrollY,e?(d,c)=>na(d,c,o,e):void 0);return()=>u&&u()},[r,o,e]),f.useLayoutEffect(()=>{if(a!==!1){if(typeof a=="number"){window.scrollTo(0,a);return}try{if(i.hash){let u=document.getElementById(decodeURIComponent(i.hash.slice(1)));if(u){u.scrollIntoView();return}}}catch{Q(!1,`"${i.hash.slice(1)}" is not a decodable element ID. The view will not scroll to it.`)}n!==!0&&window.scrollTo(0,0)}},[i,a,n]))}function Id(e,t){let{capture:r}=t||{};f.useEffect(()=>{let a=r!=null?{capture:r}:void 0;return window.addEventListener("beforeunload",e,a),()=>{window.removeEventListener("beforeunload",e,a)}},[e,r])}function ec(e,t){let{capture:r}={};f.useEffect(()=>{let a=r!=null?{capture:r}:void 0;return window.addEventListener("pagehide",e,a),()=>{window.removeEventListener("pagehide",e,a)}},[e,r])}function Ud({when:e,message:t}){let r=Ds(e);f.useEffect(()=>{r.state==="blocked"&&(window.confirm(t)?setTimeout(r.proceed,0):r.reset())},[r,t]),f.useEffect(()=>{r.state==="blocked"&&!e&&r.reset()},[r,e])}function tc(e,{relative:t}={}){let r=f.useContext(gr);H(r!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`.  Did you accidentally import `RouterProvider` from `react-router`?");let{basename:a}=xr("useViewTransitionState"),n=zt(e,{relative:t});if(!r.isTransitioning)return!1;let o=oe(r.currentLocation.pathname,a)||r.currentLocation.pathname,i=oe(r.nextLocation.pathname,a)||r.nextLocation.pathname;return At(n.pathname,i)!=null||At(n.pathname,o)!=null}
34function jd({basename:e,children:t,location:r="/"}){typeof r=="string"&&(r=xe(r));let a="POP",n={pathname:r.pathname||"/",search:r.search||"",hash:r.hash||"",state:r.state!=null?r.state:null,key:r.key||"default",unstable_mask:void 0},o=Di();return f.createElement(ft,{basename:e,children:t,location:n,navigationType:a,navigator:o,static:!0,unstable_useTransitions:!1})}function Li({context:e,router:t,hydrate:r=!0,nonce:a}){H(t&&e,"You must provide `router` and `context` to <StaticRouterProvider>");let n={router:t,navigator:Di(),static:!0,staticContext:e,basename:e.basename||"/"},o=new Map,i="";if(r!==!1){let s={loaderData:e.loaderData,actionData:e.actionData,errors:rc(e.errors)};i=`window.__staticRouterHydrationData = JSON.parse(${Qe(JSON.stringify(JSON.stringify(s)))});`}let{state:l}=n.router;return f.createElement(f.Fragment,null,f.createElement(je.Provider,{value:n},f.createElement(et.Provider,{value:l},f.createElement(vr.Provider,{value:o},f.createElement(gr.Provider,{value:{isTransitioning:!1}},f.createElement(ft,{basename:n.basename,location:l.location,navigationType:l.historyAction,navigator:n.navigator,static:n.static,unstable_useTransitions:!1},f.createElement(jo,{routes:t.routes,future:t.future,state:l,isStatic:!0})))))),i?f.createElement("script",{suppressHydrationWarning:!0,nonce:a,dangerouslySetInnerHTML:{__html:i}}):null)}function rc(e){if(!e)return null;let t=Object.entries(e),r={};for(let[a,n]of t)ne(n)?r[a]={...n,__type:"RouteErrorResponse"}:n instanceof Error?r[a]={message:n.message,__type:"Error",...n.name!=="Error"?{__subType:n.name}:{}}:r[a]=n;return r}function Di(){return{createHref:ki,encodeLocation:Ti,push(e){throw new Error(`You cannot use navigator.push() on the server because it is a stateless environment. This error was probably triggered when you did a \`navigate(${JSON.stringify(e)})\` somewhere in your app.`)},replace(e){throw new Error(`You cannot use navigator.replace() on the server because it is a stateless environment. This error was probably triggered when you did a \`navigate(${JSON.stringify(e)}, { replace: true })\` somewhere in your app.`)},go(e){throw new Error(`You cannot use navigator.go() on the server because it is a stateless environment. This error was probably triggered when you did a \`navigate(${e})\` somewhere in your app.`)},back(){throw new Error("You cannot use navigator.back() on the server because it is a stateless environment.")},forward(){throw new Error("You cannot use navigator.forward() on the server because it is a stateless environment.")}}}function zd(e,t){return mo(e,{...t,mapRouteProperties:St})}function _i(e,t,r={}){let a={},n=qe(e,St,void 0,a),o=t.matches.map(l=>{let s=a[l.route.id]||l.route;return{...l,route:s}}),i=l=>`You cannot use router.${l}() on the server because it is a stateless environment`;return{get basename(){return t.basename},get future(){return{v8_middleware:!1,...r?.future}},get state(){return{historyAction:"POP",location:t.location,matches:o,loaderData:t.loaderData,actionData:t.actionData,errors:t.errors,initialized:!0,renderFallback:!1,navigation:tr,restoreScrollPosition:null,preventScrollReset:!1,revalidation:"idle",fetchers:new Map,blockers:new Map}},get routes(){return n},get window(){},initialize(){throw i("initialize")},subscribe(){throw i("subscribe")},enableScrollRestoration(){throw i("enableScrollRestoration")},navigate(){throw i("navigate")},fetch(){throw i("fetch")},revalidate(){throw i("revalidate")},createHref:ki,encodeLocation:Ti,getFetcher(){return ya},deleteFetcher(){throw i("deleteFetcher")},resetFetcher(){throw i("resetFetcher")},dispose(){throw i("dispose")},getBlocker(){return ut},deleteBlocker(){throw i("deleteBlocker")},patchRoutes(){throw i("patchRoutes")},_internalFetchControllers:new Map,_internalSetRoutes(){throw i("_internalSetRoutes")},_internalSetStateDoNotUseOrYouWillBreakYourApp(){throw i("_internalSetStateDoNotUseOrYouWillBreakYourApp")}}}function ki(e){return typeof e=="string"?e:ue(e)}function Ti(e){let t=typeof e=="string"?e:ue(e);t=t.replace(/ $/,"%20");let r=ac.test(t)?new URL(t):new URL(t,"http://localhost");return{pathname:r.pathname,search:r.search,hash:r.hash}}var ac=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Be={};
34Object.defineProperty(Be,"__esModule",{value:!0});Be.parseCookie=Ai;var nc=Be.parse=Ai;Be.stringifyCookie=cc;Be.stringifySetCookie=Pr;var Oi=Be.serialize=Pr;Be.parseSetCookie=dc;Be.stringifySetCookie=Pr;Oi=Be.serialize=Pr;const Mi=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,Fi=/^[\u0021-\u003A\u003C-\u007E]*$/,oc=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,ic=/^[\u0020-\u003A\u003D-\u007E]*$/,lc=/^-?\d+$/,sc=Object.prototype.toString,uc=(()=>{const e=function(){};return e.prototype=Object.create(null),e})();function Ai(e,t){const r=new uc,a=e.length;if(a<2)return r;const n=t?.decode||Ni;let o=0;do{const i=ia(e,o,a);if(i===-1)break;const l=oa(e,o,a);if(i>l){o=e.lastIndexOf(";",i-1)+1;continue}const s=Ye(e,o,i);r[s]===void 0&&(r[s]=n(Ye(e,i+1,l))),o=l+1}while(o<a);return r}function cc(e,t){const r=t?.encode||encodeURIComponent,a=[];for(const n of Object.keys(e)){const o=e[n];if(o===void 0)continue;if(!Mi.test(n))throw new TypeError(`cookie name is invalid: ${n}`);const i=r(o);if(!Fi.test(i))throw new TypeError(`cookie val is invalid: ${o}`);a.push(`${n}=${i}`)}return a.join("; ")}function Pr(e,t,r){const a=typeof e=="object"?e:{...r,name:e,value:String(t)},o=(typeof t=="object"?t:r)?.encode||encodeURIComponent;if(!Mi.test(a.name))throw new TypeError(`argument name is invalid: ${a.name}`);const i=a.value?o(a.value):"";if(!Fi.test(i))throw new TypeError(`argument val is invalid: ${a.value}`);let l=a.name+"="+i;if(a.maxAge!==void 0){if(!Number.isInteger(a.maxAge))throw new TypeError(`option maxAge is invalid: ${a.maxAge}`);l+="; Max-Age="+a.maxAge}if(a.domain){if(!oc.test(a.domain))throw new TypeError(`option domain is invalid: ${a.domain}`);l+="; Domain="+a.domain}if(a.path){if(!ic.test(a.path))throw new TypeError(`option path is invalid: ${a.path}`);l+="; Path="+a.path}if(a.expires){if(!fc(a.expires)||!Number.isFinite(a.expires.valueOf()))throw new TypeError(`option expires is invali
34d: ${a.expires}`);l+="; Expires="+a.expires.toUTCString()}if(a.httpOnly&&(l+="; HttpOnly"),a.secure&&(l+="; Secure"),a.partitioned&&(l+="; Partitioned"),a.priority)switch(typeof a.priority=="string"?a.priority.toLowerCase():void 0){case"low":l+="; Priority=Low";break;case"medium":l+="; Priority=Medium";break;case"high":l+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${a.priority}`)}if(a.sameSite)switch(typeof a.sameSite=="string"?a.sameSite.toLowerCase():a.sameSite){case!0:case"strict":l+="; SameSite=Strict";break;case"lax":l+="; SameSite=Lax";break;case"none":l+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${a.sameSite}`)}return l}function dc(e,t){const r=t?.decode||Ni,a=e.length,n=oa(e,0,a),o=ia(e,0,n),i=o===-1?{name:"",value:r(Ye(e,0,n))}:{name:Ye(e,0,o),value:r(Ye(e,o+1,n))};let l=n+1;for(;l<a;){const s=oa(e,l,a),u=ia(e,l,s),d=u===-1?Ye(e,l,s):Ye(e,l,u),c=u===-1?void 0:Ye(e,u+1,s);switch(d.toLowerCase()){case"httponly":i.httpOnly=!0;break;case"secure":i.secure=!0;break;case"partitioned":i.partitioned=!0;break;case"domain":i.domain=c;break;case"path":i.path=c;break;case"max-age":c&&lc.test(c)&&(i.maxAge=Number(c));break;case"expires":if(!c)break;const m=new Date(c);Number.isFinite(m.valueOf())&&(i.expires=m);break;case"priority":if(!c)break;const h=c.toLowerCase();(h==="low"||h==="medium"||h==="high")&&(i.priority=h);break;case"samesite":if(!c)break;const p=c.toLowerCase();(p==="lax"||p==="strict"||p==="none")&&(i.sameSite=p);break}l=s+1}return i}function oa(e,t,r){const a=e.indexOf(";",t);return a===-1?r:a}function ia(e,t,r){const a=e.indexOf("=",t);return a<r?a:-1}function Ye(e,t,r){let a=t,n=r;do{const o=e.charCodeAt(a);if(o!==32&&o!==9)break}while(++a<n);for(;n>a;){const o=e.charCodeAt(n-1);if(o!==32&&o!==9)break;n--}return e.slice(a,n)}function Ni(e){if(e.indexOf("%")===-1)return e;try{return decodeURIComponent(e)}catch{return e}}function fc(e){return sc.call(e)==="[object Date]"}var Lr={exports:{}},cr={decodeValues:!0,map:!1,silent:!1};function la(e){return typeof e!="string"||e in{}}function sa(){return Object.create(null)}function ua(e){return typeof e=="string"&&!!e.trim()}function ca(e,t){var r=e.split(";").filter(ua),a=r.shift(),n=hc(a),o=n.name,i=n.value;if(t=t?Object.assign({},cr,t):cr,la(o))return null;try{i=t.decodeValues?decodeURIComponent(i):i}catch(s){console.error("set-cookie-parser: failed to decode cookie value. Set options.decodeValues=false to disable decoding.",s)}var l=sa();return l.name=o,l.value=i,r.forEach(function(s){var u=s.split("="),d=u.shift().trimLeft().toLowerCase();if(!la(d)){var c=u.join("=");if(d==="expires")l.expires=new Date(c);else if(d==="max-age"){var m=parseInt(c,10);Number.isNaN(m)||(l.maxAge=m)}else d==="secure"?l.secure=!0:d==="httponly"?l.httpOnly=!0:d==="samesite"?l.sameSite=c:d==="partitioned"?l.partitioned=!0:d&&(l[d]=c)}}),l}function hc(e){var t="",r="",a=e.split("=");return a.length>1?(t=a.shift(),r=a.join("=")):r=e,{name:t,value:r}}function $i(e,t){if(t=t?Object.assign({},cr,t):cr,!e)return t.map?sa():[];if(e.headers)if(typeof e.headers.getSetCookie=="function")e=e.headers.getSetCookie();else if(e.headers["set-cookie"])e=e.headers["set-cookie"];else{var r=e.headers[Object.keys(e.headers).find(function(n){return n.toLowerCase()==="set-cookie"})];!r&&e.headers.cookie&&!t.silent&&console.warn("Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning."),e=r}if(Array.isArray(e)||(e=[e]),t.map){var a=sa();return e.filter(ua).reduce(function(n,o){var i=ca(o,t);return i&&!la(i.name)&&(n[i.name]=i),n},a)}else return e.filter(ua).map(function(n){return ca(n,t)}).filter(Boolean)}function mc(e){if(Array.isArray(e))return e;if(typeof e!="string")return[];var t=[],r=0,a,n,o,i,l;function s(){for(;r<e.length&&/\s/.test(e.charAt(r));)r+=1;return r<e.length}function u(){return n=e.charAt(r),n!=="="&&n!==";"&&n!==","}for(;r<e.length;){for(a=r,l=!1;s();)if(n=e.charAt(r),n===","){for(o=r,r+=1,s(),i=r;r<e.length&&u();)r+=1;r<e.length&&e.charAt(r)==="="?(l=!0,r=i,t.push(e.substring(a,o)),a=r):r=o+1}else r+=1;(!l||r>=e.length)&&t.push(e.substring(a,e.length))}return t}Lr.exports=$i;Lr.exports.parse=$i;Lr.exports.parseString=ca;var pc=Lr.exports.splitCookiesString=mc,yc={};function Bd({context:e,url:t,nonce:r}){typeof t=="string"&&(t=new URL(t));let{manifest:a,routeModules:n,criticalCss:o,serverHandoffString:i}=e,l=mi(a.routes,n,e.future,e.isSpaMode);e.staticHandlerContext.loaderData={...e.staticHandlerContext.loaderData};for(let u of e.staticHandlerContext.matches){let d=u.route.id,c=n[d],m=e.manifest.routes[d];c&&m&&Sr(d,c.clientLoader,m.hasLoader,e.isSpaMode)&&(c.HydrateFallback||!m.hasLoader)&&delete e.staticHandlerContext.loaderData[d]}let s=_i(l,e.staticHandlerContext);return f.createElement(f.Fragment,null,f.createElement(tt.Provider,{value:{manifest:a,routeModules:n,criticalCss:o,serverHandoffString:i,future:e.future,ssr:e.ssr,isSpaMode:e.isSpaMode,routeDiscovery:e.routeDiscovery,serializeError:e.serializeError,renderMeta:e.renderMeta}},f.createElement(wi,{location:s.state.location},f.createElement(Li,{router:s,context:e.staticHandlerContext,hydrate:!1}))),e.serverHandoffStream?f.createElement(f.Suspense,null,f.createElement(ii,{context:e,identifier:0,reader:e.serverHandoffStream.getReader(),textDecoder:new TextDecoder,nonce:r})):null)}function Wd(e,t){return function({initialEntries:a,initialIndex:n,hydrationData:o,future:i}){let l=f.useRef(),s=f.useRef();if(l.current==null){s.current={future:{unstable_subResourceIntegrity:i?.unstable_subResourceIntegrity===!0,v8_middleware:i?.v8_middleware===!0,unstable_trailingSlashAwareDataRequests:i?.unstable_trailingSlashAwareDataRequests===!0},manifest:{routes:{},entry:{imports:[],module:""},url:"",version:""},routeModules:{},ssr:!1,isSpaMode:!1,routeDiscovery:{mode:"lazy",manifestPath:"/__manifest"}};let u=Hi(qe(e,d=>d),t!==void 0?t:i?.v8_middleware?new He:{},s.current.manifest,s.current.routeModules);l.current=Ms(u,{initialEntries:a,initialIndex:n,hydrationData:o})}return f.createElement(tt.Provider,{value:s.current},f.createElement(Uo,{router:l.current}))}}function Hi(e,t,r,a,n){return e.map(o=>{if(!o.id)throw new Error("Expected a route.id in react-router processRoutes() function");
34let i={id:o.id,path:o.path,index:o.index,Component:o.Component?Us(o.Component):void 0,HydrateFallback:o.HydrateFallback?js(o.HydrateFallback):void 0,ErrorBoundary:o.ErrorBoundary?zs(o.ErrorBoundary):void 0,action:o.action?s=>o.action({...s,context:t}):void 0,loader:o.loader?s=>o.loader({...s,context:t}):void 0,middleware:o.middleware?o.middleware.map(s=>(...u)=>s({...u[0],context:t},u[1])):void 0,handle:o.handle,shouldRevalidate:o.shouldRevalidate},l={id:o.id,path:o.path,index:o.index,parentId:n,hasAction:o.action!=null,hasLoader:o.loader!=null,hasClientAction:!1,hasClientLoader:!1,hasClientMiddleware:!1,hasErrorBoundary:o.ErrorBoundary!=null,module:"build/stub-path-to-module.js",clientActionModule:void 0,clientLoaderModule:void 0,clientMiddlewareModule:void 0,hydrateFallbackModule:void 0};return r.routes[i.id]=l,a[o.id]={default:i.Component||Ns,ErrorBoundary:i.ErrorBoundary||void 0,handle:o.handle,links:o.links,meta:o.meta,shouldRevalidate:o.shouldRevalidate},o.children&&(i.children=Hi(o.children,t,r,a,i.id)),i})}var Ia=new TextEncoder,gc=async(e,t)=>{let r=Ia.encode(e),a=await Ii(t,["sign"]),n=await crypto.subtle.sign("HMAC",a,r),o=btoa(String.fromCharCode(...new Uint8Array(n))).replace(/=+$/,"");return e+"."+o},vc=async(e,t)=>{let r=e.lastIndexOf("."),a=e.slice(0,r),n=e.slice(r+1),o=Ia.encode(a),i=await Ii(t,["verify"]);try{let l=wc(atob(n));return await crypto.subtle.verify("HMAC",i,l,o)?a:!1}catch{return!1}},Ii=async(e,t)=>crypto.subtle.importKey("raw",Ia.encode(e),{name:"HMAC",hash:"SHA-256"},!1,t);function wc(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}var Ui=(e,t={})=>{let{secrets:r=[],...a}={path:"/",sameSite:"lax",...t};return xc(e,a.expires),{get name(){return e},get isSigned(){return r.length>0},get expires(){return typeof a.maxAge<"u"?new Date(Date.now()+a.maxAge*1e3):a.expires},async parse(n,o){if(!n)return null;let i=nc(n,{...a,...o});if(e in i){let l=i[e];return typeof l=="string"&&l!==""?await Ec(l,r):""}else return null},async serialize(n,o){return Oi(e,n===""?"":await Rc(n,r),{...a,...o})}}},ji=e=>e!=null&&typeof e.name=="string"&&typeof e.isSigned=="boolean"&&typeof e.parse=="function"&&typeof e.serialize=="function";async function Rc(e,t){let r=bc(e);return t.length>0&&(r=await gc(r,t[0])),r}async function Ec(e,t){if(t.length>0){for(let r of t){let a=await vc(e,r);if(a!==!1)return On(a)}return null}return On(e)}function bc(e){return btoa(Cc(encodeURIComponent(JSON.stringify(e))))}function On(e){try{return JSON.parse(decodeURIComponent(Sc(atob(e))))}catch{return{}}}function Sc(e){let t=e.toString(),r="",a=0,n,o;for(;a<t.length;)n=t.charAt(a++),/[\w*+\-./@]/.exec(n)?r+=n:(o=n.charCodeAt(0),o<256?r+="%"+Mn(o,2):r+="%u"+Mn(o,4).toUpperCase());return r}function Mn(e,t){let r=e.toString(16);for(;r.length<t;)r="0"+r;return r}function Cc(e){let t=e.toString(),r="",a=0,n,o;for(;a<t.length;){if(n=t.charAt(a++),n==="%"){if(t.charAt(a)==="u"){if(o=t.slice(a+1,a+5),/^[\da-f]{4}$/i.exec(o)){r+=String.fromCharCode(parseInt(o,16)),a+=5;continue}}else if(o=t.slice(a,a+2),/^[\da-f]{2}$/i.exec(o)){r+=String.fromCharCode(parseInt(o,16)),a+=2;continue}}r+=n}return r}function xc(e,t){Ht(!t,`The "${e}" cookie has an "expires" property set. This will cause the expires value to not be updated when the session is committed. Instead, you should set the expires value when serializing the cookie. You can use \`commitSession(session, { expires })\` if using a session storage object, or \`cookie.serialize("value", { expires })\` if you're using the cookie directly.`)}function Pc(e){return Object.keys(e).reduce((t,r)=>{let a=e[r];return a&&(t[r]=a.module),t},{})}var Lc=(e=>(e.Development="development",e.Production="production",e.Test="test",e))(Lc||{});function Dc(e){return e==="development"||e==="production"||e==="test"}function Dr(e,t){if(e instanceof Error&&t!=="development"){let r=new Error("Unexpected Server Error");return r.stack=void 0,r}return e}function dr(e,t){return Object.entries(e).reduce((r,[a,n])=>Object.assign(r,{[a]:Dr(n,t)}),{})}function zi(e,t){let r=Dr(e,t);return{message:r.message,stack:r.stack}}function Fn(e,t){if(!e)return null;let r=Object.entries(e),a={};for(let[n,o]of r)if(ne(o))a[n]={...o,__type:"RouteErrorResponse"};else if(o instanceof Error){let i=Dr(o,t);a[n]={message:i.message,stack:i.stack,__type:"Error",...i.name!=="Error"?{__subType:i.name}:{}}}else a[n]=o;return a}function da(e,t,r){let a=Ce(e,t,r);return a?a.map(n=>({params:n.params,pathname:n.pathname,route:n.route})):null}async function An(e,t){let r=await e({request:kc(_c(t.request)),params:t.params,context:t.context,unstable_pattern:t.unstable_pattern});if(Ge(r)&&r.init&&r.init.status&&yr(r.init.status))throw new Response(null,r.init);return r}function _c(e){let t=new URL(e.url),r=t.searchParams.getAll("index");t.searchParams.delete("index");let a=[];for(let o of r)o&&a.push(o);for(let o of a)t.searchParams.append("index",o);let n={method:e.method,body:e.body,headers:e.headers,signal:e.signal};
34return n.body&&(n.duplex="half"),new Request(t.href,n)}function kc(e){let t=new URL(e.url);t.searchParams.delete("_routes");let r={method:e.method,body:e.body,headers:e.headers,signal:e.signal};return r.body&&(r.duplex="half"),new Request(t.href,r)}function or(e,t){if(e===!1||e===null||typeof e>"u")throw console.error("The following error is a bug in React Router; please open an issue! https://github.com/remix-run/react-router/issues/new/choose"),new Error(t)}var Bi="__reactRouterDevServerHooks";function Vd(e){globalThis[Bi]=e}function jr(){return globalThis[Bi]}function Wi(e,t){if(typeof process<"u")try{if(yc?.IS_RR_BUILD_REQUEST==="yes")return e.headers.get(t)}catch{}return null}function Vi(e){let t={};return Object.values(e).forEach(r=>{if(r){let a=r.parentId||"";t[a]||(t[a]=[]),t[a].push(r)}}),t}function Yi(e,t="",r=Vi(e)){return(r[t]||[]).map(a=>({...a,children:Yi(e,a.id,r)}))}function Ji(e,t,r="",a=Vi(e)){return(a[r]||[]).map(n=>{let o={hasErrorBoundary:n.id==="root"||n.module.ErrorBoundary!=null,id:n.id,path:n.path,middleware:n.module.middleware,loader:n.module.loader?async i=>{let l=Wi(i.request,"X-React-Router-Prerender-Data");if(l!=null){let u=l&&decodeURI(l);or(u,"Missing prerendered data for route");let d=new TextEncoder().encode(u),c=new ReadableStream({start(p){p.enqueue(d),p.close()}}),h=(await Ta(c,window)).value;if(h&&Ze in h){let p=h[Ze],v={status:p.status};throw p.reload?Wl(p.redirect,v):p.replace?Vl(p.redirect,v):mr(p.redirect,v)}else{or(h&&n.id in h,"Unable to decode prerendered data");let p=h[n.id];return or("data"in p,"Unable to process prerendered data"),p.data}}return await An(n.module.loader,i)}:void 0,action:n.module.action?i=>An(n.module.action,i):void 0,handle:n.module.handle};return n.index?{index:!0,...o}:{caseSensitive:n.caseSensitive,children:Ji(e,t,n.id,a),...o}})}function Nn(e){return Qe(JSON.stringify(e))}function Ua(e,t){return Tc(e,r=>{let a=t.routes[r.route.id];return or(a,`Route with id "${r.route.id}" not found in build`),a.module.headers})}function Tc(e,t,r){let a=e.errors?e.matches.findIndex(l=>e.errors[l.route.id]):-1,n=a>=0?e.matches.slice(0,a+1):e.matches,o;if(a>=0){let{actionHeaders:l,actionData:s,loaderHeaders:u,loaderData:d}=e;e.matches.slice(a).some(c=>{let m=c.route.id;return l[m]&&(!s||!s.hasOwnProperty(m))?o=l[m]:u[m]&&!d.hasOwnProperty(m)&&(o=u[m]),o!=null})}const i=new Headers(r);return n.reduce((l,s,u)=>{let{id:d}=s.route,c=e.loaderHeaders[d]||new Headers,m=e.actionHeaders[d]||new Headers,h=o!=null&&u===n.length-1,p=h&&o!==c&&o!==m,v=t(s);if(v==null){let x=new Headers(l);return p&&st(o,x),st(m,x),st(c,x),x}let y=new Headers(typeof v=="function"?v({loaderHeaders:c,parentHeaders:l,actionHeaders:m,errorHeaders:h?o:void 0}):v);return p&&st(o,y),st(m,y),st(c,y),st(l,y),y},new Headers(i))}function st(e,t){let r=e.get("Set-Cookie");if(r){let a=pc(r),n=new Set(t.getSetCookie());a.forEach(o=>{n.has(o)||t.append("Set-Cookie",o)})}}function Ki(e,t){let r=e.get("origin"),a=null;try{a=typeof r=="string"&&r!=="null"?new URL(r).host:r}catch{throw new Error("`origin` header is not a valid URL. Aborting the action.")}let n=Fc(e);
34if(a&&(!n||a!==n.value)&&!Mc(a,t))throw n?new Error(`${n.type} header does not match \`origin\` header from a forwarded action request. Aborting the action.`):new Error("`x-forwarded-host` or `host` headers are not provided. One of these is needed to compare the `origin` header from a forwarded action request. Aborting the action.")}function Oc(e,t){const r=e.split("."),a=t.split(".");if(a.length<1||r.length<a.length)return!1;for(;a.length;){const n=a.pop(),o=r.pop();switch(n){case"":return!1;case"*":{if(o)continue;return!1}case"**":return a.length>0?!1:o!==void 0;default:if(o!==n)return!1}}return r.length===0}function Mc(e,t=[]){return t.some(r=>r&&(r===e||Oc(e,r)))}function Fc(e){let r=e.get("x-forwarded-host")?.split(",")[0]?.trim(),a=e.get("host");return r?{type:"x-forwarded-host",value:r}:a?{type:"host",value:a}:void 0}var Xi=new Set([...oi,304]);async function Ac(e,t,r,a,n,o,i){try{try{Ki(a.headers,Array.isArray(e.allowedActionOrigins)?e.allowedActionOrigins:[])}catch{return s(new Error("Bad Request"),400)}let d=new Request(n,{method:a.method,body:a.body,headers:a.headers,signal:a.signal,...a.body?{duplex:"half"}:void 0}),c=await r.query(d,{requestContext:o,skipLoaderErrorBubbling:!0,skipRevalidation:!0,generateMiddlewareResponse:e.future.v8_middleware?async m=>{try{let h=await m(d);return l(h)}catch(h){return s(h)}}:void 0});return l(c)}catch(d){return s(d)}function l(d){return te(d)?d:u(d)}function s(d,c=500){return i(d),Ut(a,e,t,{result:{error:d},headers:new Headers,status:c})}function u(d){let c=Ua(d,e);if(yr(d.statusCode)&&c.has("Location"))return new Response(null,{status:d.statusCode,headers:c});d.errors&&(Object.values(d.errors).forEach(h=>{(!ne(h)||h.error)&&i(h)}),d.errors=dr(d.errors,t));let m;return d.errors?m={error:Object.values(d.errors)[0]}:m={data:Object.values(d.actionData||{})[0]},Ut(a,e,t,{result:m,headers:c,status:d.statusCode})}}async function Nc(e,t,r,a,n,o,i){let l=new URL(a.url).searchParams.get("_routes"),s=l?new Set(l.split(",")):null;try{let m=new Request(n,{headers:a.headers,signal:a.signal}),h=await r.query(m,{requestContext:o,filterMatchesToLoad:p=>!s||s.has(p.route.id),skipLoaderErrorBubbling:!0,generateMiddlewareResponse:e.future.v8_middleware?async p=>{try{let v=await p(m);return u(v)}catch(v){return d(v)}}:void 0});return u(h)}catch(m){return d(m)}function u(m){return te(m)?m:c(m)}function d(m){return i(m),Ut(a,e,t,{result:{error:m},headers:new Headers,status:500})}function c(m){let h=Ua(m,e);if(yr(m.statusCode)&&h.has("Location"))return new Response(null,{status:m.statusCode,headers:h});m.errors&&(Object.values(m.errors).forEach(y=>{(!ne(y)||y.error)&&i(y)}),m.errors=dr(m.errors,t));let p={},v=new Set(m.matches.filter(y=>s?s.has(y.route.id):y.route.loader!=null).map(y=>y.route.id));if(m.errors)for(let[y,x]of Object.entries(m.errors))p[y]={error:x};for(let[y,x]of Object.entries(m.loaderData))!(y in p)&&v.has(y)&&(p[y]={data:x});return Ut(a,e,t,{result:p,headers:h,status:m.statusCode})}}function Ut(e,t,r,{result:a,headers:n,status:o}){let i=new Headers(n);return i.set("X-Remix-Response","yes"),Xi.has(o)?new Response(null,{status:o,headers:i}):(i.set("Content-Type","text/x-script"),i.delete("Content-Length"),new Response(fa(a,e.signal,t.entry.module.streamTimeout,r),{status:o||200,headers:i}))}function $n(e,t,r,a){let n=$c(e.status,e.headers,r.basename),o=new Headers(e.headers);return o.delete("Location"),o.set("Content-Type","text/x-script"),Ut(t,r,a,{result:t.method==="GET"?{[Ze]:n}:n,headers:o,status:ka})}function $c(e,t,r){let a=t.get("Location");return r&&(a=oe(a,r)||a),{redirect:a,status:e,revalidate:t.has("X-Remix-Revalidate")||t.has("Set-Cookie"),reload:t.has("X-Remix-Reload-Document"),replace:t.has("X-Remix-Replace")}}function fa(e,t,r,a){let n=new AbortController,o=setTimeout(()=>n.abort(new Error("Server Timeout")),typeof r=="number"?r:4950),i=()=>clearTimeout(o);return t.addEventListener("abort",i),ou(e,{signal:n.signal,onComplete:i,plugins:[l=>{if(l instanceof Error){let{name:s,message:u,stack:d}=a==="production"?Dr(l,a):l;return["SanitizedError",s,u,d]}if(l instanceof ve){let{data:s,status:u,statusText:d}=l;return["ErrorResponse",s,u,d]}if(l&&typeof l=="object"&&Ze in l)return["SingleFetchRedirect",l[Ze]]}],postPlugins:[l=>{if(l&&typeof l=="object")return["SingleFetchClassInstance",Object.fromEntries(Object.entries(l))]},()=>["SingleFetchFallback"]]})}function Hn(e,t){let r=Yi(e.routes),a=Ji(e.routes,e.future),n=Dc(t)?t:"production",o=mo(a,{basename:e.basename,unstable_instrumentations:e.entry.module.unstable_instrumentations}),i=e.entry.module.handleError||((s,{request:u})=>{n!=="test"&&!u.signal.aborted&&console.error(ne(s)&&s.error?s.error:s)}),l=async(s,u)=>{let d={},c,m=P=>{t==="development"&&jr()?.processRequestError?.(P),i(P,{context:c,params:d,request:s})};if(e.future.v8_middleware){if(u&&!(u instanceof He)){let P=new Error("Invalid `context` value provided to `handleRequest`. When middleware is enabled you must return an instance of `RouterContextProvider` from your `getLoadContext` function.");return m(P),fr(P,n)}c=u||new He}else c=u||{};let h=new URL(s.url),p=e.basename||"/",v=h.pathname;e.future.unstable_trailingSlashAwareDataRequests?v.endsWith("/_.data")?v=v.replace(/_.data$/,""):v=v.replace(/\.data$/,""):(oe(v,p)==="/_root.data"?v=p:v.endsWith(".data")&&(v=v.replace(/\.data$/,"")),oe(v,p)!=="/"&&v.endsWith("/")&&(v=v.slice(0,-1)));let y=Wi(s,"X-React-Router-SPA-Mode")==="yes";if(!e.ssr){let P=decodeURI(v);if(p!=="/"){let L=oe(P,p);if(L==null)return i(new ve(404,"Not Found",`Refusing to prerender the \`${P}
34\` path because it does not start with the basename \`${p}\``),{context:c,params:d,request:s}),new Response("Not Found",{status:404,statusText:"Not Found"});P=L}if(e.prerender.length===0)y=!0;else if(!e.prerender.includes(P)&&!e.prerender.includes(P+"/")){if(h.pathname.endsWith(".data"))return i(new ve(404,"Not Found",`Refusing to SSR the path \`${P}\` because \`ssr:false\` is set and the path is not included in the \`prerender\` config, so in production the path will be a 404.`),{context:c,params:d,request:s}),new Response("Not Found",{status:404,statusText:"Not Found"});y=!0}}let x=yi(e.routeDiscovery.manifestPath,p);if(h.pathname===x)try{return await Hc(e,r,h)}catch(P){return m(P),new Response("Unknown Server Error",{status:500})}let R=da(r,v,e.basename);R&&R.length>0&&Object.assign(d,R[0].params);let b;if(h.pathname.endsWith(".data")){let P=new URL(s.url);P.pathname=v;let L=da(r,P.pathname,e.basename);b=await Ic(n,e,o,s,P,c,m),$t(b)&&(b=$n(b,s,e,n)),e.entry.module.handleDataRequest&&(b=await e.entry.module.handleDataRequest(b,{context:c,params:L?L[0].params:{},request:s}),$t(b)&&(b=$n(b,s,e,n)))}else if(!y&&R&&R[R.length-1].route.module.default==null&&R[R.length-1].route.module.ErrorBoundary==null)b=await jc(n,e,o,R.slice(-1)[0].route.id,s,c,m);else{let{pathname:P}=h,L;e.unstable_getCriticalCss?L=await e.unstable_getCriticalCss({pathname:P}):t==="development"&&jr()?.getCriticalCss&&(L=await jr()?.getCriticalCss?.(P)),b=await Uc(n,e,o,s,c,m,y,L)}return s.method==="HEAD"?new Response(null,{headers:b.headers,status:b.status,statusText:b.statusText}):b};return e.entry.module.unstable_instrumentations&&(l=Jl(l,e.entry.module.unstable_instrumentations.map(s=>s.handler).filter(Boolean))),{routes:r,dataRoutes:a,serverMode:n,staticHandler:o,errorHandler:i,requestHandler:l}}var Yd=(e,t)=>{let r,a,n,o,i,l;return async function(u,d){if(r=typeof e=="function"?await e():e,typeof e=="function"){let c=Hn(r,t);a=c.routes,n=c.serverMode,o=c.staticHandler,i=c.errorHandler,l=c.requestHandler}else if(!a||!n||!o||!i||!l){let c=Hn(r,t);a=c.routes,n=c.serverMode,o=c.staticHandler,i=c.errorHandler,l=c.requestHandler}return l(u,d)}};async function Hc(e,t,r){if(e.assets.version!==r.searchParams.get("version"))return new Response(null,{status:204,headers:{"X-Remix-Reload-Document":"true"}});let a={};if(r.searchParams.has("paths")){let n=new Set;(r.searchParams.get("paths")||"").split(",").filter(Boolean).forEach(l=>{l.startsWith("/")||(l=`/${l}`);let s=l.split("/").slice(1);s.forEach((u,d)=>{let c=s.slice(0,d+1).join("/");n.add(`/${c}`)})});for(let l of n){let s=da(t,l,e.basename);if(s)for(let u of s){let d=u.route.id,c=e.assets.routes[d];c&&(a[d]=c)}}return Response.json(a,{headers:{"Cache-Control":"public, max-age=31536000, immutable"}})}return new Response("Invalid Request",{status:400})}async function Ic(e,t,r,a,n,o,i){return a.method!=="GET"?await Ac(t,e,r,a,n,o,i):await Nc(t,e,r,a,n,o,i)}async function Uc(e,t,r,a,n,o,i,l){try{if(a.method==="POST")try{Ki(a.headers,Array.isArray(t.allowedActionOrigins)?t.allowedActionOrigins:[])}catch(d){return o(d),new Response("Bad Request",{status:400})}let u=await r.query(a,{requestContext:n,generateMiddlewareResponse:t.future.v8_middleware?async d=>{try{let c=await d(a);return te(c)||(c=await s(c,i)),c}catch(c){return o(c),new Response(null,{status:500})}}:void 0});return te(u)||(u=await s(u,i)),u}catch(u){return o(u),new Response(null,{status:500})}async function s(u,d){let c=Ua(u,t);if(Xi.has(u.statusCode))return new Response(null,{status:u.statusCode,headers:c});u.errors&&(Object.values(u.errors).forEach(y=>{(!ne(y)||y.error)&&o(y)}),u.errors=dr(u.errors,e));let m={loaderData:u.loaderData,actionData:u.actionData,errors:Fn(u.errors,e)},h={basename:t.basename,future:t.future,routeDiscovery:t.routeDiscovery,ssr:t.
34ssr,isSpaMode:d},p={manifest:t.assets,routeModules:Pc(t.routes),staticHandlerContext:u,criticalCss:l,serverHandoffString:Nn({...h,criticalCss:l}),serverHandoffStream:fa(m,a.signal,t.entry.module.streamTimeout,e),renderMeta:{},future:t.future,ssr:t.ssr,routeDiscovery:t.routeDiscovery,isSpaMode:d,serializeError:y=>zi(y,e)},v=t.entry.module.default;try{return await v(a,u.statusCode,c,p,n)}catch(y){o(y);let x=y;if(te(y))try{let b=await Bc(y);x=new ve(y.status,y.statusText,b)}catch{}u=po(r.dataRoutes,u,x),u.errors&&(u.errors=dr(u.errors,e));let R={loaderData:u.loaderData,actionData:u.actionData,errors:Fn(u.errors,e)};p={...p,staticHandlerContext:u,serverHandoffString:Nn(h),serverHandoffStream:fa(R,a.signal,t.entry.module.streamTimeout,e),renderMeta:{}};try{return await v(a,u.statusCode,c,p,n)}catch(b){return o(b),fr(b,e)}}}}async function jc(e,t,r,a,n,o,i){try{let u=await r.queryRoute(n,{routeId:a,requestContext:o,generateMiddlewareResponse:t.future.v8_middleware?async d=>{try{let c=await d(n);return l(c)}catch(c){return s(c)}}:void 0});return l(u)}catch(u){return s(u)}function l(u){return te(u)?u:typeof u=="string"?new Response(u):Response.json(u)}function s(u){if(te(u))return u;if(ne(u))return i(u),zc(u,e);if(u instanceof Error&&u.message==="Expected a response from queryRoute"){let d=new Error("Expected a Response to be returned from resource route handler");return i(d),fr(d,e)}return i(u),fr(u,e)}}function zc(e,t){return Response.json(zi(e.error||new Error("Unexpected Server Error"),t),{status:e.status,statusText:e.statusText})}function fr(e,t){let r="Unexpected Server Error";return t!=="production"&&(r+=`
35
36${String(e)}`),new Response(r,{status:500,headers:{"Content-Type":"text/plain"}})}function Bc(e){let t=e.headers.get("Content-Type");return t&&/\bapplication\/json\b/.test(t)?e.body==null?null:e.json():e.text()}function zr(e){return`__flash_${e}__`}var Gi=(e={},t="")=>{let r=new Map(Object.entries(e));return{get id(){return t},get data(){return Object.fromEntries(r)},has(a){return r.has(a)||r.has(zr(a))},get(a){if(r.has(a))return r.get(a);let n=zr(a);if(r.has(n)){let o=r.get(n);return r.delete(n),o}},set(a,n){r.set(a,n)},flash(a,n){r.set(zr(a),n)},unset(a){r.delete(a)}}},Jd=e=>e!=null&&typeof e.id=="string"&&typeof e.data<"u"&&typeof e.has=="function"&&typeof e.get=="function"&&typeof e.set=="function"&&typeof e.flash=="function"&&typeof e.unset=="function";function Wc({cookie:e,createData:t,readData:r,updateData:a,deleteData:n}){let o=ji(e)?e:Ui(e?.name||"__session",e);return qi(o),{async getSession(i,l){let s=i&&await o.parse(i,l),u=s&&await r(s);return Gi(u||{},s||"")},async commitSession(i,l){let{id:s,data:u}=i,d=l?.maxAge!=null?new Date(Date.now()+l.maxAge*1e3):l?.expires!=null?l.expires:o.expires;return s?await a(s,u,d):s=await t(u,d),o.serialize(s,l)},async destroySession(i,l){return await n(i.id),o.serialize("",{...l,maxAge:void 0,expires:new Date(0)})}}}function qi(e){Ht(e.isSigned,`The "${e.name}" cookie is not signed, but session cookies should be signed to prevent tampering on the client before they are sent back to the server. See https://reactrouter.com/explanation/sessions-and-cookies#signing-cookies for more information.`)}function Kd({cookie:e}={}){let t=ji(e)?e:Ui(e?.name||"__session",e);return qi(t),{async getSession(r,a){return Gi(r&&await t.parse(r,a)||{})},async commitSession(r,a){let n=await t.serialize(r.data,a);if(n.length>4096)throw new Error("Cookie length will exceed browser maximum. Length: "+n.length);return n},async destroySession(r,a){return t.serialize("",{...a,maxAge:void 0,expires:new Date(0)})}}}function Xd({cookie:e}={}){let t=new Map;return Wc({cookie:e,async createData(r,a){let n=Math.random().toString(36).substring(2,10);return t.set(n,{data:r,expires:a}),n},async readData(r){if(t.has(r)){let{data:a,expires:n}=t.get(r);if(!n||n>new Date)return a;n&&t.delete(r)}return null},async updateData(r,a,n){t.set(r,{data:a,expires:n})},async deleteData(r){t.delete(r)}})}function Gd(e,...t){let r=t[0],a=Vc(e).replace(/\/:([\w-]+)(\?)?/g,(n,o,i)=>{const l=i===void 0,s=r?.[o];if(l&&s===void 0)throw new Error(`Path '${e}' requires param '${o}' but it was not provided`);return s===void 0?"":"/"+s}
36);if(e.endsWith("*")){const n=r?.["*"];n!==void 0&&(a+="/"+n)}return a||"/"}function Vc(e){let t=e.length-1,r=e[t];if(r!=="*"&&r!=="/")return e;for(t--;t>=0&&e[t]==="/";t--);return e.slice(0,t+1)}var ha=new TextEncoder,In="</body></html>";function Un(e){let t=new TextDecoder,r,a=new Promise(s=>r=s),n=!1,o=[],i=null;function l(s){for(let u of o){let d=t.decode(u,{stream:!0});d.endsWith(In)&&(d=d.slice(0,-In.length)),s.enqueue(ha.encode(d))}o.length=0,i=null}return new TransformStream({transform(s,u){o.push(s),!i&&(i=setTimeout(async()=>{l(u),n||(n=!0,Yc(e,u).catch(d=>u.error(d)).then(r))},0))},async flush(s){await a,i&&(clearTimeout(i),l(s)),s.enqueue(ha.encode("</body></html>"))}})}async function Yc(e,t){let r=new TextDecoder("utf-8",{fatal:!0});const a=e.getReader();try{let o;for(;(o=await a.read())&&!o.done;){const i=o.value;try{Br(JSON.stringify(r.decode(i,{stream:!0})),t)}catch{let s=JSON.stringify(btoa(String.fromCodePoint(...i)));Br(`Uint8Array.from(atob(${s}), m => m.codePointAt(0))`,t)}}}finally{a.releaseLock()}let n=r.decode();n.length&&Br(JSON.stringify(n),t)}function Br(e,t){t.enqueue(ha.encode(`<script>${Jc(`(self.__FLIGHT_DATA||=[]).push(${e})`)}<\/script>`))}function Jc(e){return e.replace(/<!--/g,"<\\!--").replace(/<\/(script)/gi,"</\\$1")}var Kc=class extends fe.Component{constructor(e){super(e),this.state={error:null,location:e.location}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location?{error:null,location:e.location}:{error:t.error,location:t.location}}render(){return this.state.error?fe.createElement(Qi,{error:this.state.error,renderAppShell:!0}):this.props.children}};function jn({renderAppShell:e,title:t,children:r}){return e?fe.createElement("html",{lang:"en"},fe.createElement("head",null,fe.createElement("meta",{charSet:"utf-8"}),fe.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),fe.createElement("title",null,t)),fe.createElement("body",null,fe.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},r))):r}function Qi({error:e,renderAppShell:t}){console.error(e);let r=fe.createElement("script",{dangerouslySetInnerHTML:{__html:`
37        console.log(
38          "💿 Hey developer 👋. You can provide a way better UX than this when your app throws errors. Check out https://reactrouter.com/how-to/error-boundary for more information."
39        );
40      `}});if(ne(e))return fe.createElement(jn,{renderAppShell:t,title:"Unhandled Thrown Response!"},fe.createElement("h1",{style:{fontSize:"24px"}},e.status," ",e.statusText),r);let a;if(e instanceof Error)a=e;else{let n=e==null?"Unknown Error":typeof e=="object"&&"toString"in e?e.toString():JSON.stringify(e);a=new Error(n)}return fe.createElement(jn,{renderAppShell:t,title:"Application Error!"},fe.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),fe.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},a.stack),r)}function qd({hasRootLayout:e}){let t=wr();if(e===void 0)throw new Error("Missing 'hasRootLayout' prop");return fe.createElement(Qi,{renderAppShell:!e,error:t})}function Xc(e){const t={};for(const r of e.matches)Gc(t,r);return t}function Gc(e,t){t=Array.isArray(t)?t:[t];for(const r of t)e[r.id]={links:r.links,meta:r.meta,default:qc}}var qc=()=>null,Qc="use",zn=Bn[Qc];function Zc(e){if(zn)return zn(e);throw new Error("React Router v7 requires React 19+ for RSC features.")}async function Qd({request:e,serverResponse:t,createFromReadableStream:r,renderHTML:a,hydrate:n=!0}){const o=new URL(e.url);if(ed(o)||td(o)||e.headers.has("rsc-action-id")||t.headers.get("React-Router-Resource")==="true")return t;if(!t.body)throw new Error("Missing body in server response");const s=t.clone();let u=null;n&&(u=t.clone());const d=t.body;let c,m=[];const h=()=>c?new ReadableStream({start(R){c.forEach(b=>R.enqueue(b)),m.push(R)}}):(c=[],d.pipeThrough(new TransformStream({transform(R,b){c.push(R),b.enqueue(R),m.forEach(P=>P.enqueue(R))},flush(){m.forEach(R=>R.close()),m=[]}})));let p=null;const v=()=>{const R=Promise.resolve(r(h()));return Object.defineProperties(R,{_deepestRenderedBoundaryId:{get(){return p},set(b){p=b}},formState:{get(){return R.then(b=>b.type==="render"?b.formState:void 0)}}})};let y,x;try{if(!s.body)throw new Error("Failed to clone server response");const R=await r(s.body);if(t.status===ka&&R.type==="redirect"){const T=new Headers(t.headers);return T.delete("Content-Encoding"),T.delete("Content-Length"),T.delete("Content-Type"),T.delete("X-Remix-Response"),T.set("Location",R.location),new Response(u?.body||"",{headers:T,status:R.status,statusText:t.statusText})}let b=new Headers,P=t.status,L=t.statusText,C=await a(v,{onError(T){if(typeof T=="object"&&T&&"digest"in T&&typeof T.digest=="string"){if(y=Xr(T.digest),y)return T.digest;let O=Gr(T.digest);if(O)return x=O,P=O.status,L=O.statusText,T.digest}},onHeaders(T){for(const[O,F]of T)b.append(O,F)}});const M=new Headers(b);for(const[T,O]of t.headers)M.append(T,O);if(M.set("Content-Type","text/html; charset=utf-8"),y)return M.set("Location",y.location),new Response(C,{status:y.status,headers:M});const w=new TransformStream({flush(T){y&&T.enqueue(new TextEncoder().encode(`<meta http-equiv="refresh" content="0;url=${Qe(y.location)}"/>`))}});if(!n)return new Response(C.pipeThrough(w),{status:P,statusText:L,headers:M});if(!u?.body)throw new Error("Failed to clone server response");const _=C.pipeThrough(Un(u.body)).pipeThrough(w);return new Response(_,{status:P,statusText:L,headers:M})}catch(R){if(R instanceof Response)return R;if(y)return new Response(`Redirect: ${y.location}`,{status:y.status,headers:{Location:y.location}});try{R=x??R;let[b,P]=ne(R)?[R.status,R.statusText]:[500,""],L,C=new Headers;const M=await a(()=>{const F=Promise.resolve(r(h())).then(W=>Object.assign(W,{status:b,errors:p?{[p]:R}:{}}));return Object.defineProperties(F,{_deepestRenderedBoundaryId:{get(){return p},set(W){p=W}},formState:{get(){return F.then(W=>W.type==="render"?W.formState:void 0)}}})},{onError(O){if(typeof O=="object"&&O&&"digest"in O&&typeof O.digest=="string"){if(L=Xr(O.digest),L)return O.digest;let F=Gr(O.digest);if(F)return b=F.status,P=F.statusText,O.digest}},onHeaders(O){for(const[F,W]of O)C.append(F,W)}}),w=new Headers(C);for(const[O,F]of t.headers)w.append(O,F);if(w.set("Content-Type","text/html; charset=utf-8"),L)return w.set("Location",L.location),new Response(M,{status:L.status,headers:w});const _=new TransformStream({flush(O){L&&O.enqueue(new TextEncoder().encode(`<meta http-equiv="refresh" content="0;url=${Qe(L.location)}"/>`))}});if(!n)return new Response(M.pipeThrough(_),{status:b,statusText:P,headers:w});if(!u?.body)throw new Error("Failed to clone server response");const T=M.pipeThrough(Un(u.body)).pipeThrough(_);return new Response(T,{status:b,statusText:P,headers:w})}catch{}throw R}}function Zd({getPayload:e}){const t=e(),r=Zc(t);if(r.type==="redirect")throw new Response(null,{status:r.status,headers:{Location:r.location}});if(r.type!=="render")return null;let a={...r.loaderData};for(const l of r.matches)Sr(l.id,l.clientLoader,l.hasLoader,!1)&&(l.hydrateFallbackElement||!l.hasLoader)&&delete a[l.id];const n={get _deepestRenderedBoundaryId(){return t._deepestRenderedBoundaryId??null},set _deepestRenderedBoundaryId(l){t._deepestRenderedBoundaryId=l},actionData:r.actionData,actionHeaders:{},basename:r.basename,errors:r.errors,loaderData:a,loaderHeaders:{},location:r.location,statusCode:200,matches:r.matches.map(l=>({params:l.params,pathname:l.pathname,pathnameBase:l.pathnameBase,route:{id:l.id,action:l.hasAction||!!l.clientAction,handle:l.handle,hasErrorBoundary:l.hasErrorBoundary,loader:l.hasLoader||!!l.clientLoader,index:l.index,path:l.path,shouldRevalidate:l.shouldRevalidate}}))}
40,o=_i(r.matches.reduceRight((l,s)=>{const u={id:s.id,action:s.hasAction||!!s.clientAction,element:s.element,errorElement:s.errorElement,handle:s.handle,hasErrorBoundary:!!s.errorElement,hydrateFallbackElement:s.hydrateFallbackElement,index:s.index,loader:s.hasLoader||!!s.clientLoader,path:s.path,shouldRevalidate:s.shouldRevalidate};return l.length>0&&(u.children=l),[u]},[]),n),i={future:{v8_middleware:!1,unstable_subResourceIntegrity:!1,unstable_trailingSlashAwareDataRequests:!0},isSpaMode:!1,ssr:!0,criticalCss:"",manifest:{routes:{},version:"1",url:"",entry:{module:"",imports:[]}},routeDiscovery:{mode:"lazy",manifestPath:"/__manifest"},routeModules:Xc(r)};return f.createElement(Ra.Provider,{value:!0},f.createElement(Kc,{location:r.location},f.createElement(tt.Provider,{value:i},f.createElement(Li,{context:n,router:o,hydrate:!1,nonce:r.nonce}))))}function ed(e){return e.pathname.endsWith(".rsc")}function td(e){return e.pathname.endsWith(".manifest")}function rd(e){if(!e)return null;let t=Object.entries(e),r={};for(let[a,n]of t)if(n&&n.__type==="RouteErrorResponse")r[a]=new ve(n.status,n.statusText,n.data,n.internal===!0);else if(n&&n.__type==="Error"){if(n.__subType){let o=window[n.__subType];if(typeof o=="function")try{let i=new o(n.message);i.stack=n.stack,r[a]=i}catch{}}if(r[a]==null){let o=new Error(n.message);o.stack=n.stack,r[a]=o}}else r[a]=n;return r}function ad({state:e,routes:t,getRouteInfo:r,location:a,basename:n,isSpaMode:o}){let i={...e,loaderData:{...e.loaderData}},l=Ce(t,a,n);if(l)for(let s of l){let u=s.route.id,d=r(u);Sr(u,d.clientLoader,d.hasLoader,o)&&(d.hasHydrateFallback||!d.hasLoader)?delete i.loaderData[u]:d.hasLoader||(i.loaderData[u]=null)}return i}function nd(e){return f.createElement(Uo,{flushSync:gl.flushSync,...e})}var $=null,Tt=null;function od(){if(!$&&window.__reactRouterContext&&window.__reactRouterManifest&&window.__reactRouterRouteModules){if(window.__reactRouterManifest.sri===!0){const e=document.querySelector("script[rr-importmap]");if(e?.textContent)try{window.__reactRouterManifest.sri=JSON.parse(e.textContent).integrity}catch(t){console.error("Failed to parse import map",t)}}$={context:window.__reactRouterContext,manifest:window.__reactRouterManifest,routeModules:window.__reactRouterRouteModules,stateDecodingPromise:void 0,router:void 0,routerInitialized:!1}}}function id({getContext:e,unstable_instrumentations:t}){if(od(),!$)throw new Error("You must be using the SSR features of React Router in order to skip passing a `router` prop to `<RouterProvider>`");let r=$;if(!$.stateDecodingPromise){let i=$.context.stream;H(i,"No stream found for single fetch decoding"),$.context.stream=void 0,$.stateDecodingPromise=Ta(i,window).then(l=>{$.context.state=l.value,r.stateDecodingPromise.value=!0}).catch(l=>{r.stateDecodingPromise.error=l})}if($.stateDecodingPromise.error)throw $.stateDecodingPromise.error;if(!$.stateDecodingPromise.value)throw $.stateDecodingPromise;let a=br($.manifest.routes,$.routeModules,$.context.state,$.context.ssr,$.context.isSpaMode),n;if($.context.isSpaMode){let{loaderData:i}=$.context.state;$.manifest.routes.root?.hasLoader&&i&&"root"in i&&(n={loaderData:{root:i.root}})}else n=ad({state:$.context.state,routes:a,getRouteInfo:i=>({clientLoader:$.routeModules[i]?.clientLoader,hasLoader:$.manifest.routes[i]?.hasLoader===!0,hasHydrateFallback:$.routeModules[i]?.HydrateFallback!=null}),location:window.location,basename:window.__reactRouterContext?.basename,isSpaMode:$.context.isSpaMode}),n&&n.errors&&(n.errors=rd(n.errors));window.history.state&&window.history.state.masked&&window.history.replaceState({...window.history.state,masked:void 0},"");let o=pr({routes:a,history:ma(),basename:$.context.basename,getContext:e,hydrationData:n,hydrationRouteProperties:Rr,unstable_instrumentations:t,mapRouteProperties:St,future:{middleware:$.context.future.v8_middleware},dataStrategy:uu(()=>o,$.manifest,$.routeModules,$.context.ssr,$.context.basename,$.context.future.unstable_trailingSlashAwareDataRequests),patchRoutesOnNavigation:Ou(()=>o,$.manifest,$.routeModules,$.context.ssr,$.context.routeDiscovery,$.context.
40isSpaMode,$.context.basename)});return $.router=o,o.state.initialized&&($.routerInitialized=!0,o.initialize()),o.createRoutesForHMR=Pu,window.__reactRouterDataRouter=o,o}function ef(e){Tt||(Tt=id({getContext:e.getContext,unstable_instrumentations:e.unstable_instrumentations}));let[t,r]=f.useState(void 0);f.useEffect(()=>{},[]),f.useEffect(()=>{},[t]);let[a,n]=f.useState(Tt.state.location);return f.useLayoutEffect(()=>{$&&$.router&&!$.routerInitialized&&($.routerInitialized=!0,$.router.initialize())},[]),f.useLayoutEffect(()=>{if($&&$.router)return $.router.subscribe(o=>{o.location!==a&&n(o.location)})},[a]),H($,"ssrInfo unavailable for HydratedRouter"),Mu(Tt,$.manifest,$.routeModules,$.context.ssr,$.context.routeDiscovery,$.context.isSpaMode),f.createElement(f.Fragment,null,f.createElement(tt.Provider,{value:{manifest:$.manifest,routeModules:$.routeModules,future:$.context.future,criticalCss:t,ssr:$.context.ssr,isSpaMode:$.context.isSpaMode,routeDiscovery:$.context.routeDiscovery}},f.createElement(wi,{location:a},f.createElement(nd,{router:Tt,unstable_useTransitions:e.unstable_useTransitions,onError:e.onError}))),f.createElement(f.Fragment,null))}export{Cd as Await,Fd as BrowserRouter,Ci as Form,Ad as HashRouter,ef as HydratedRouter,ut as IDLE_BLOCKER,ya as IDLE_FETCHER,tr as IDLE_NAVIGATION,Si as Link,kd as Links,Ed as MemoryRouter,Td as Meta,Ju as NavLink,bd as Navigate,Rl as NavigationType,Ns as Outlet,vi as PrefetchPageLinks,$s as Route,ft as Router,He as RouterContextProvider,nd as RouterProvider,Sd as Routes,ju as Scripts,Ku as ScrollRestoration,Bd as ServerRouter,jd as StaticRouter,Li as StaticRouterProvider,hd as UNSAFE_AwaitContextProvider,je as UNSAFE_DataRouterContext,et as UNSAFE_DataRouterStateContext,ve as UNSAFE_ErrorResponseImpl,vr as UNSAFE_FetchersContext,tt as UNSAFE_FrameworkContext,Et as UNSAFE_LocationContext,we as UNSAFE_NavigationContext,qd as UNSAFE_RSCDefaultRootErrorBoundary,wi as UNSAFE_RemixErrorBoundary,Pe as UNSAFE_RouteContext,Lc as UNSAFE_ServerMode,Ze as UNSAFE_SingleFetchRedirectSymbol,gr as UNSAFE_ViewTransitionContext,Ld as UNSAFE_WithComponentProps,_d as UNSAFE_WithErrorBoundaryProps,Dd as UNSAFE_WithHydrateFallbackProps,ma as UNSAFE_createBrowserHistory,br as UNSAFE_createClientRoutes,Pu as UNSAFE_createClientRoutesWithHMRRevalidationOptOut,Yn as UNSAFE_createHashHistory,Vn as UNSAFE_createMemoryHistory,pr as UNSAFE_createRouter,Ta as UNSAFE_decodeViaTurboStream,rd as UNSAFE_deserializeErrors,ad as UNSAFE_getHydrationData,Ou as UNSAFE_getPatchRoutesOnNavigationFunction,uu as UNSAFE_getTurboStreamSingleFetchDataStrategy,Rr as UNSAFE_hydrationRouteProperties,H as UNSAFE_invariant,St as UNSAFE_mapRouteProperties,Sr as UNSAFE_shouldHydrateRouteLoader,Mu as UNSAFE_useFogOFWarDiscovery,Zu as UNSAFE_useScrollRestoration,Us as UNSAFE_withComponentProps,zs as UNSAFE_withErrorBoundaryProps,js as UNSAFE_withHydrateFallbackProps,Od as createBrowserRouter,dd as createContext,Ui as createCookie,Kd as createCookieSessionStorage,Md as createHashRouter,Ms as createMemoryRouter,Xd as createMemorySessionStorage,ue as createPath,Yd as createRequestHandler,lr as createRoutesFromChildren,xd as createRoutesFromElements,Wd as createRoutesStub,qr as createSearchParams,Gi as createSession,Wc as createSessionStorage,zd as createStaticHandler,_i as createStaticRouter,Bl as data,fd as generatePath,Gd as href,ji as isCookie,ne as isRouteErrorResponse,Jd as isSession,At as matchPath,Ce as matchRoutes,xe as parsePath,mr as redirect,Wl as redirectDocument,Pd as renderMatches,Vl as replace,Hl as resolvePath,Yu as unstable_HistoryRouter,Zd as unstable_RSCStaticRouter,Qd as unstable_routeRSCServerRequest,Vd as unstable_setDevServerHooks,Ud as unstable_usePrompt,Rd as unstable_useRoute,Da as useActionData,wd as useAsyncError,Ps as useAsyncValue,Id as useBeforeUnload,Ds as useBlocker,$d as useFetcher,Hd as useFetchers,Qu as useFormAction,ps as useHref,dt as useInRouterContext,Xu as useLinkClickHandler,La as useLoaderData,Re as useLocation,pd as useMatch,Pa as useMatches,ba as useNavigate,xs as useNavigation,md as useNavigationType,gs as useOutlet,yd as useOutletContext,Sa as useParams,zt as useResolvedPath,gd as useRevalidator,wr as useRouteError,vd as useRouteLoaderData,vs as useRoutes,Nd as useSearchParams,Pi as useSubmit,tc as useViewTransitionState};

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.