1"use strict";(self.webpackChunkshell=self.webpackChunkshell||[]).push([["5086"],{21613(e,t,r){var n,a,o,i;function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}r.d(t,{AO:()=>v,B6:()=>P,G3:()=>Y,Gh:()=>L,HS:()=>C,Oi:()=>h,Pq:()=>z,Rr:()=>y,Sk:()=>W,TM:()=>u,V2:()=>I,VV:()=>ErrorResponseImpl,aE:()=>G,o1:()=>M,pX:()=>$,pb:()=>k,rc:()=>n,ro:()=>E,sC:()=>d,sd:()=>A,tH:()=>AbortedDeferredError,tW:()=>S,ue:()=>D,v6:()=>_,zR:()=>c}),(o=n||(n={})).Pop="POP",o.Push="PUSH",o.Replace="REPLACE";let s="popstate";function d(e){let t;void 0===e&&(e={});let{initialEntries:r=["/"],initialIndex:a,v5Compat:o=!1}=e;t=r.map((e,t)=>c(e,"string"==typeof e?null:e.state,0===t?"default":void 0));let i=d(null==a?t.length-1:a),l=n.Pop,s=null;function d(e){return Math.min(Math.max(e,0),t.length-1)}function c(e,r,n){void 0===r&&(r=null);let a=m(t?t[i].pathname:"/",e,r,n);return f("/"===a.pathname.charAt(0),"relative pathnames are not supported in memory history: "+JSON.stringify(e)),a}function u(e){return"string"==typeof e?e:v(e)}return{get index(){return i},get action(){return l},get location(){return t[i]},createHref:u,createURL:e=>new URL(u(e),"http://localhost"),encodeLocation(e){let t="string"==typeof e?y(e):e;return{pathname:t.pathname||"",search:t.search||"",hash:t.hash||""}},push(e,r){l=n.Push;let a=c(e,r);i+=1,t.splice(i,t.length,a),o&&s&&s({action:l,location:a,delta:1})},replace(e,r){l=n.Replace;let a=c(e,r);t[i]=a,o&&s&&s({action:l,location:a,delta:0})},go(e){l=n.Pop;let r=d(i+e),a=t[r];i=r,s&&s({action:l,location:a,delta:e})},listen:e=>(s=e,()=>{s=null})}}function c(e){return void 0===e&&(e={}),g(function(e,t){let{pathname:r,search:n,hash:a}=e.location;return m("",{pathname:r,search:n,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")},function(e,t){return"string"==typeof t?t:v(t)},null,e)}function u(e){return void 0===e&&(e={}),g(function(e,t){let{pathname:r="/",search:n="",hash:a=""}=y(e.location.hash.substr(1));return r.startsWith("/")||r.startsWith(".")||(r="/"+r),m("",{pathname:r,search:n,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")},function(e,t){let r=e.document.querySelector("base"),n="";if(r&&r.getAttribute("href")){let t=e.location.href,r=t.indexOf("#");n=-1===r?t:t.slice(0,r)}return n+"#"+("string"==typeof t?t:v(t))},function(e,t){f("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")},e)}function h(e,t){if(!1===e||null==e)throw Error(t)}function f(e,t){if(!e){"u">typeof console&&console.warn(t);try{throw Error(t)}catch(e){}}}function p(e,t){return{usr:e.state,key:e.key,idx:t}}function m(e,t,r,n){return void 0===r&&(r=null),l({pathname:"string"==typeof e?e:e.pathname,search:"",hash:""},"string"==typeof t?y(t):t,{state:r,key:t&&t.key||n||Math.random().toString(36).substr(2,8)})}function v(e){let{pathname:t="/",search:r="",hash:n=""}=e;return r&&"?"!==r&&(t+="?"===r.charAt(0)?r:"?"+r),n&&"#"!==n&&(t+="#"===n.charAt(0)?n:"#"+n),t}function y(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function g(e,t,r,a){void 0===a&&(a={});let{window:o=document.defaultView,v5Compat:i=!1}=a,d=o.history,c=n.Pop,u=null,f=y();function y(){return(d.state||{idx:null}).idx}function g(){c=n.Pop;let e=y(),t=null==e?null:e-f;f=e,u&&u({action:c,location:w.location,delta:t})}function b(e){let t="null"!==o.location.origin?o.location.origin:o.location.href,r="string"==typeof e?e:v(e);return h(t,"No window.location.(origin|href) available to create URL for href: "+r),new URL(r,t)}null==f&&(f=0,d.replaceState(l({},d.state,{idx:f}),""));let w={get action(){return c},get location(){return e(o,d)},listen(e){if(u)throw Error("A history only accepts one active listener");return o.addEventListener(s,g),u=e,()=>{o.removeEventListener(s,g),u=null}},createHref:e=>t(o,e),createURL:b,encodeLocation(e){let t=b(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){c=n.Push;let a=m(w.location,e,t);r&&r(a,e);let l=p(a,f=y()+1),s=w.createHref(a);try{d.pushState(l,"",s)}catch(e){if(e instanceof DOMException&&"DataCloneError"===e.name)throw e;o.location.assign(s)}i&&u&&u({action:c,location:w.location,delta:1})},replace:function(e,t){c=n.Replace;let a=m(w.location,e,t);r&&r(a,e);let o=p(a,f=y()),l=w.createHref(a);d.replaceState(o,"",l),i&&u&&u({action:c,location:w.location,delta:0})},go:e=>d.go(e)};return w}(i=a||(a={})).data="data",i.deferred="deferred",i.redirect="redirect",i.error="error";
1let b=new Set(["lazy","caseSensitive","path","id","index","children"]);function w(e,t,r,n){return void 0===r&&(r=[]),void 0===n&&(n={}),e.map((e,a)=>{let o=[...r,a],i="string"==typeof e.id?e.id:o.join("-");if(h(!0!==e.index||!e.children,"Cannot specify children on an index route"),h(!n[i],'Found a route id collision on id "'+i+"\". Route id's must be globally unique within Data Router usages"),!0===e.index){let r=l({},e,t(e),{id:i});return n[i]=r,r}{let r=l({},e,t(e),{id:i,children:void 0});return n[i]=r,e.children&&(r.children=w(e.children,t,o,n)),r}})}function D(e,t,r){void 0===r&&(r="/");let n=k(("string"==typeof t?y(t):t).pathname||"/",r);if(null==n)return null;let a=function e(t,r,n,a){void 0===r&&(r=[]),void 0===n&&(n=[]),void 0===a&&(a="");let o=(t,o,i)=>{var l,s;let d,c,u={relativePath:void 0===i?t.path||"":i,caseSensitive:!0===t.caseSensitive,childrenIndex:o,route:t};u.relativePath.startsWith("/")&&(h(u.relativePath.startsWith(a),'Absolute route path "'+u.relativePath+'" nested under path "'+a+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),u.relativePath=u.relativePath.slice(a.length));let f=C([a,u.relativePath]),p=n.concat(u);t.children&&t.children.length>0&&(h(!0!==t.index,'Index routes must not have child routes. Please remove all child routes from route path "'+f+'".'),e(t.children,r,p,f)),(null!=t.path||t.index)&&r.push({path:f,score:(l=f,s=t.index,c=(d=l.split("/")).length,d.some(x)&&(c+=-2),s&&(c+=2),d.filter(e=>!x(e)).reduce((e,t)=>
1e+(R.test(t)?3:""===t?1:10),c)),routesMeta:p})};return t.forEach((e,t)=>{var r;if(""!==e.path&&null!=(r=e.path)&&r.includes("?"))for(let r of function e(t){let r=t.split("/");if(0===r.length)return[];let[n,...a]=r,o=n.endsWith("?"),i=n.replace(/\?$/,"");if(0===a.length)return o?[i,""]:[i];let l=e(a.join("/")),s=[];return s.push(...l.map(e=>""===e?i:[i,e].join("/"))),o&&s.push(...l),s.map(e=>t.startsWith("/")&&""===e?"/":e)}(e.path))o(e,t,r);else o(e,t)}),r}(e);a.sort((e,t)=>{var r,n;return e.score!==t.score?t.score-e.score:(r=e.routesMeta.map(e=>e.childrenIndex),n=t.routesMeta.map(e=>e.childrenIndex),r.length===n.length&&r.slice(0,-1).every((e,t)=>e===n[t])?r[r.length-1]-n[n.length-1]:0)});let o=null;for(let e=0;null==o&&e<a.length;++e)o=function(e,t){let{routesMeta:r}=e,n={},a="/",o=[];for(let e=0;e<r.length;++e){let i=r[e],l=e===r.length-1,s="/"===a?t:t.slice(a.length)||"/",d=P({path:i.relativePath,caseSensitive:i.caseSensitive,end:l},s);if(!d)return null;Object.assign(n,d.params);let c=i.route;o.push({params:n,pathname:C([a,d.pathname]),pathnameBase:T(C([a,d.pathnameBase])),route:c}),"/"!==d.pathnameBase&&(a=C([a,d.pathnameBase]))}return o}(a[e],function(e){try{return decodeURI(e)}catch(t){return f(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}(n));return o}function E(e,t){let{route:r,pathname:n,params:a}=e;return{id:r.id,pathname:n,params:a,data:t[r.id],handle:r.handle}}let R=/^:\w+$/,x=e=>"*"===e;function S(e,t){void 0===t&&(t={});let r=e;r.endsWith("*")&&"*"!==r&&!r.endsWith("/*")&&(f(!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(/\*$/,"/*"));let n=r.startsWith("/")?"/":"",a=e=>null==e?"":"string"==typeof e?e:String(e);return n+r.split(/\/+/).map((e,r,n)=>{if(r===n.length-1&&"*"===e)return a(t["*"]);let o=e.match(/^:(\w+)(\??)$/);if(o){let[,e,r]=o,n=t[e];return h("?"===r||null!=n,'Missing ":'+e+'" param'),a(n)}return e.replace(/\?$/g,"")}).filter(e=>!!e).join("/")}function P(e,t){var r,n,a;let o,i;"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[l,s]=(r=e.path,n=e.caseSensitive,a=e.end,void 0===n&&(n=!1),void 0===a&&(a=!0),f("*"===r||!r.endsWith("*")||r.endsWith("/*"),'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(/\*$/,"/*")+'".'),o=[],i="^"+r.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^$?{}|()[\]]/g,"\\$&").replace(/\/:(\w+)/g,(e,t)=>(o.push(t),"/([^\\/]+)")),r.endsWith("*")?(o.push("*"),i+="*"===r||"/*"===r?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?i+="\\/*$":""!==r&&"/"!==r&&(i+="(?:(?=\\/|$))"),[new RegExp(i,n?void 0:"i"),o]),d=t.match(l);if(!d)return null;let c=d[0],u=c.replace(/(.)\/+$/,"$1"),h=d.slice(1);return{params:s.reduce((e,t,r)=>{if("*"===t){let e=h[r]||"";u=c.slice(0,c.length-e.length).replace(/(.)\/+$/,"$1")}return e[t]=function(e,t){try{return decodeURIComponent(e)}catch(r){return f(!1,'The value for the URL param "'+t+'" will not be decoded because the string "'+e+'" is a malformed URL segment. This is probably due to a bad percent encoding ('+r+")."),e}}(h[r]||"",t),e},{}),pathname:c,pathnameBase:u,pattern:e}}function k(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&"/"!==n?null:e.slice(r)||"/"}function M(e,t){var r;let n;void 0===t&&(t="/");let{pathname:a,search:o="",hash:i=""}="string"==typeof e?y(e):e;return{pathname:a?a.startsWith("/")?a:(r=a,n=t.replace(/\/+$/,"").split("/"),r.split("/").forEach(e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)}),n.length>1?n.join("/"):"/"):t,search:U(o),hash:O(i)}}function j(e,t,r,n){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field [")+JSON.stringify(n)+"]. Please separate it out to the `to."+r+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function A(e){return e.filter((e,t)=>
10===t||e.route.path&&e.route.path.length>0)}function L(e,t,r,n){let a,o;void 0===n&&(n=!1),"string"==typeof e?a=y(e):(h(!(a=l({},e)).pathname||!a.pathname.includes("?"),j("?","pathname","search",a)),h(!a.pathname||!a.pathname.includes("#"),j("#","pathname","hash",a)),h(!a.search||!a.search.includes("#"),j("#","search","hash",a)));let i=""===e||""===a.pathname,s=i?"/":a.pathname;if(n||null==s)o=r;else{let e=t.length-1;if(s.startsWith("..")){let t=s.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}o=e>=0?t[e]:"/"}let d=M(a,o),c=s&&"/"!==s&&s.endsWith("/"),u=(i||"."===s)&&r.endsWith("/");return!d.pathname.endsWith("/")&&(c||u)&&(d.pathname+="/"),d}let C=e=>e.join("/").replace(/\/\/+/g,"/"),T=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),U=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",O=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"",z=function(e,t){void 0===t&&(t={});let r="number"==typeof t?{status:t}:t,n=new Headers(r.headers);return n.has("Content-Type")||n.set("Content-Type","application/json; charset=utf-8"),new Response(JSON.stringify(e),l({},r,{headers:n}))};let AbortedDeferredError=class AbortedDeferredError extends Error{};let DeferredData=class DeferredData{constructor(e,t){let r;this.pendingKeysSet=new Set,this.subscribers=new Set,this.deferredKeys=[],h(e&&"object"==typeof e&&!Array.isArray(e),"defer() only accepts plain objects"),this.abortPromise=new Promise((e,t)=>r=t),this.controller=new AbortController;let n=()=>r(new AbortedDeferredError("Deferred data aborted"));this.unlistenAbortSignal=()=>this.controller.signal.removeEventListener("abort",n),this.controller.signal.addEventListener("abort",n),this.data=Object.entries(e).reduce((e,t)=>{let[r,n]=t;return Object.assign(e,{[r]:this.trackPromise(r,n)})},{}),this.done&&this.unlistenAbortSignal(),this.init=t}trackPromise(e,t){if(!(t instanceof Promise))return t;this.deferredKeys.push(e),this.pendingKeysSet.add(e);let r=Promise.race([t,this.abortPromise]).then(t=>this.onSettle(r,e,void 0,t),t=>this.onSettle(r,e,t));return r.catch(()=>{}),Object.defineProperty(r,"_tracked",{get:()=>!0}),r}onSettle(e,t,r,n){if(this.controller.signal.aborted&&r instanceof AbortedDeferredError)return this.unlistenAbortSignal(),Object.defineProperty(e,"_error",{get:()=>r}),Promise.reject(r);if(this.pendingKeysSet.delete(t),this.done&&this.unlistenAbortSignal(),void 0===r&&void 0===n){let r=Error('Deferred data for key "'+t+'" resolved/rejected with `undefined`, you must resolve/reject with a value or `null`.');return Object.defineProperty(e,"_error",{get:()=>r}),this.emit(!1,t),Promise.reject(r)}return void 0===n?(Object.defineProperty(e,"_error",{get:()=>r}),this.emit(!1,t),Promise.reject(r)):(Object.defineProperty(e,"_data",{get:()=>n}),this.emit(!1,t),n)}emit(e,t){this.subscribers.forEach(r=>r(e,t))}subscribe(e){return this.subscribers.add(e),()=>this.subscribers.delete(e)}cancel(){this.controller.abort(),this.pendingKeysSet.forEach((e,t)=>this.pendingKeysSet.delete(t)),this.emit(!0)}async resolveData(e){let t=!1;if(!this.done){let r=()=>this.cancel();e.addEventListener("abort",r),t=await new Promise(t=>{this.subscribe(n=>{e.removeEventListener("abort",r),(n||this.done)&&t(n)})})}return t}get done(){return 0===this.pendingKeysSet.size}get unwrappedData(){return h(null!==this.data&&this.done,"Can only unwrap data on initialized and settled deferreds"),Object.entries(this.data).reduce((e,t)=>{let[r,n]=t;return Object.assign(e,{[r]:function(e){if(!(e instanceof Promise&&!0===e._tracked))return e;if(e._error)throw e._error;return e._data}(n)})},{})}get pendingKeys(){return Array.from(this.pendingKeysSet)}};let _=function(e,t){return void 0===t&&(t={}),new DeferredData(e,"number"==typeof t?{status:t}:t)},I=function(e,t){void 0===t&&(t=302);let r=t;"number"==typeof r?r={status:r}:void 0===r.status&&(r.status=302);let n=new Headers(r.headers);return n.set("Location",e),new Response(null,l({},r,{headers:n}))},W=(e,t)=>{let r=I(e,t);return r.headers.set("X-Remix-Reload-Document","true"),r};let ErrorResponseImpl=class ErrorResponseImpl{constructor(e,t,r,n){void 0===n&&(n=!1),this.status=e,this.statusText=t||"",this.internal=n,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}};function $(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}let B=["post","put","patch","delete"],q=new Set(B),F=new Set(["get",...B]),H=new Set([301,302,303,307,308]),N=new Set([307,308]),K={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},J={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Y={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},V=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,X=e=>({hasErrorBoundary:!!e.hasErrorBoundary});function G(e){let t,r,o,i,s=e.window?e.window:"u">typeof window?window:void 0,d=void 0!==s&&void 0!==s.document&&void 0!==s.document.createElement,c=!d;if(h(e.routes.length>0,"You must provide a non-empty routes array to createRouter"),e.mapRouteProperties)t=e.mapRouteProperties;else if(e.detectErrorBoundary){let r=e.detectErrorBoundary;t=e=>({hasErrorBoundary:r(e)})}else t=X;let u={},p=w(e.routes,t,void 0,u),v=e.basename||"/",y=l({v7_normalizeFormMethod:!1,v7_prepe
1ndBasename:!1},e.future),g=null,b=new Set,R=null,x=null,S=null,P=null!=e.hydrationData,M=D(p,e.history.location,v),j=null;if(null==M){let t=eh(404,{pathname:e.history.location.pathname}),{matches:r,route:n}=eu(p);M=r,j={[n.id]:t}}let A=!M.some(e=>e.route.lazy)&&(!M.some(e=>e.route.loader)||null!=e.hydrationData),L={historyAction:e.history.action,location:e.history.location,matches:M,initialized:A,navigation:K,restoreScrollPosition:null==e.hydrationData&&null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||j,fetchers:new Map,blockers:new Map},C=n.Pop,T=!1,U=!1,O=!1,z=[],_=[],I=new Map,W=0,$=-1,B=new Map,q=new Set,F=new Map,H=new Map,G=new Map,et=!1;function er(e){L=l({},L,e),b.forEach(e=>e(L))}function en(t,a){var o,i;let s,d=null!=L.actionData&&null!=L.navigation.formMethod&&eg(L.navigation.formMethod)&&"loading"===L.navigation.state&&(null==(o=t.state)?void 0:o._isRedirect)!==!0;s=a.actionData?Object.keys(a.actionData).length>0?a.actionData:null:d?L.actionData:null;let c=a.loaderData?ed(L.loaderData,a.loaderData,a.matches||[],a.errors):L.loaderData,u=L.blockers;u.size>0&&(u=new Map(u)).forEach((e,t)=>u.set(t,Y));let h=!0===T||null!=L.navigation.formMethod&&eg(L.navigation.formMethod)&&(null==(i=t.state)?void 0:i._isRedirect)!==!0;r&&(p=r,r=void 0),U||C===n.Pop||(C===n.Push?e.history.push(t,t.state):C===n.Replace&&e.history.replace(t,t.state)),er(l({},a,{actionData:s,loaderData:c,historyAction:C,location:t,initialized:!0,navigation:K,revalidation:"idle",restoreScrollPosition:eH(t,a.matches||L.matches),preventScrollReset:h,blockers:u})),C=n.Pop,T=!1,U=!1,O=!1,z=[],_=[]}async function ei(t,r){if("number"==typeof t)return void e.history.go(t);let a=Q(L.location,L.matches,v,y.v7_prependBasename,t,null==r?void 0:r.fromRouteId,null==r?void 0:r.relative),{path:o,submission:i,error:s}=Z(y.v7_normalizeFormMethod,!1,a,r),d=L.location,c=m(L.location,o,r&&r.state);c=l({},c,e.history.encodeLocation(c));let u=r&&null!=r.replace?r.replace:void 0,h=n.Push;!0===u?h=n.Replace:!1===u||null!=i&&eg(i.formMethod)&&i.formAction===L.location.pathname+L.location.search&&(h=n.Replace);let f=r&&"preventScrollReset"in r?!0===r.preventScrollReset:void 0,p=eB({currentLocation:d,nextLocation:c,historyAction:h});return p?void e$(p,{state:"blocked",location:c,proceed(){e$(p,{state:"proceeding",proceed:void 0,reset:void 0,location:c}),ei(t,r)},reset(){let e=new Map(L.blockers);e.set(p,Y),er({blockers:e})}}):await el(h,c,{submission:i,pendingError:s,preventScrollReset:f,replace:r&&r.replace})}
1async function el(t,n,a){var o,s,d,c;let u,h;i&&i.abort(),i=null,C=t,U=!0===(a&&a.startUninterruptedRevalidation),o=L.location,s=L.matches,R&&S&&(R[eF(o,s)]=S()),T=!0===(a&&a.preventScrollReset);let f=r||p,m=a&&a.overrideNavigation,y=D(f,n,v);if(!y){let e=eh(404,{pathname:n.pathname}),{matches:t,route:r}=eu(f);eq(),en(n,{matches:t,loaderData:{},errors:{[r.id]:e}});return}if(L.initialized&&!O&&(d=L.location,c=n,d.pathname===c.pathname&&d.search===c.search&&(""===d.hash?""!==c.hash:d.hash===c.hash||""!==c.hash||!1))&&!(a&&a.submission&&eg(a.submission.formMethod)))return void en(n,{matches:y});i=new AbortController;let g=eo(e.history,n,i.signal,a&&a.submission);if(a&&a.pendingError)h={[ec(y).route.id]:a.pendingError};else if(a&&a.submission&&eg(a.submission.formMethod)){let e=await ep(g,n,a.submission,y,{replace:a.replace});if(e.shortCircuited)return;u=e.pendingActionData,h=e.pendingActionError,m=ex(n,a.submission),g=new Request(g.url,{signal:g.signal})}let{shortCircuited:b,loaderData:w,errors:E}=await eD(g,n,y,m,a&&a.submission,a&&a.fetcherSubmission,a&&a.replace,u,h);b||(i=null,en(n,l({matches:y},u?{actionData:u}:{},{loaderData:w,errors:E})))}async function ep(e,r,o,i,l){var s;let d;void 0===l&&(l={}),eC(),er({navigation:{state:"submitting",location:r,formMethod:(s=o).formMethod,formAction:s.formAction,formEncType:s.formEncType,formData:s.formData,json:s.json,text:s.text}});let c=eE(i,r);if(c.route.action||c.route.lazy){if(d=await ea("action",e,c,i,u,t,v),e.signal.aborted)return{shortCircuited:!0}}else d={type:a.error,error:eh(405,{method:e.method,pathname:r.pathname,routeId:c.route.id})};if(ey(d)){let e;return e=l&&null!=l.replace?l.replace:d.location===L.location.pathname+L.location.search,await eA(L,d,{submission:o,replace:e}),{shortCircuited:!0}}if(ev(d)){let e=ec(i,c.route.id);return!0!==(l&&l.replace)&&(C=n.Push),{pendingActionData:{},pendingActionError:{[e.route.id]:d.error}}}if(em(d))throw eh(400,{type:"defer-action"});return{pendingActionData:{[c.route.id]:d.data}}}async function eD(t,n,a,o,s,d,c,u,h){let f=o||ex(n,s),m=s||d||eR(f),y=r||p,[g,b]=ee(e.history,L,a,m,n,O,z,_,F,q,y,v,u,h);if(eq(e=>!(a&&a.some(t=>t.route.id===e))||g&&g.some(t=>t.route.id===e)),$=++W,0===g.length&&0===b.length){let e=e_();return en(n,l({matches:a,loaderData:{},errors:h||null},u?{actionData:u}:{},e?{fetchers:new Map(L.fetchers)}:{})),{shortCircuited:!0}}if(!U){b.forEach(e=>{let t=L.fetchers.get(e.key),r=eS(void 0,t?t.data:void 0);L.fetchers.set(e.key,r)});let e=u||L.actionData;er(l({navigation:f},e?0===Object.keys(e).length?{actionData:null}:{actionData:e}:{},b.length>0?{fetchers:new Map(L.fetchers)}:{}))}b.forEach(e=>{I.has(e.key)&&eO(e.key),e.controller&&I.set(e.key,e.controller)});let w=()=>b.forEach(e=>eO(e.key));i&&i.signal.addEventListener("abort",w);let{results:D,loaderResults:E,fetcherResults:R}=await eL(L.matches,a,g,b,t);if(t.signal.aborted)return{shortCircuited:!0};i&&i.signal.removeEventListener("abort",w),b.forEach(e=>I.delete(e.key));let x=ef(D);if(x){if(x.idx>=g.length){let e=b[x.idx-g.length].key;q.add(e)}return await eA(L,x.result,{replace:c}),{shortCircuited:!0}}let{loaderData:S,errors:P}=es(L,a,g,E,h,b,R,H);H.forEach((e,t)=>{e.subscribe(r=>{(r||e.done)&&H.delete(t)})});let k=e_(),M=eI($),j=k||M||b.length>0;return l({loaderData:S,errors:P},j?{fetchers:new Map(L.fetchers)}:{})}function ek(e){return L.fetchers.get(e)||J}async function eM(n,a,o,s,d,c){var f,m;if(eC(),F.delete(n),!s.route.action&&!s.route.lazy){let e=eh(405,{method:c.formMethod,pathname:o,routeId:a});eT(n,a,e);return}let y=(f=c,m=L.fetchers.get(n),{state:"submitting",formMethod:f.formMethod,formAction:f.formAction,formEncType:f.formEncType,formData:f.formData,json:f.json,text:f.text,data:m?m.data:void 0});L.fetchers.set(n,y),er({fetchers:new Map(L.fetchers)});let g=new AbortController,b=eo(e.history,o,g.signal,c);I.set(n,g);let w=W,E=await ea("action",b,s,d,u,t,v);if(b.signal.aborted){I.get(n)===g&&I.delete(n);return}if(ey(E)){if(I.delete(n),$>w){let e=eP(void 0);L.fetchers.set(n,e),er({fetchers:new Map(L.fetchers)});return}{q.add(n);let e=eS(c);return L.fetchers.set(n,e),er({fetchers:new Map(L.fetchers)}),eA(L,E,{fetcherSubmission:c})}}if(ev(E))return void eT(n,a,E.error);if(em(E))throw eh(400,{type:"defer-action"});let R=L.navigation.location||L.location,x=eo(e.history,R,g.signal),S=r||p,P="idle"!==L.navigation.state?D(S,L.navigation.location,v):L.matches;h(P,"Didn't find any matches after fetcher action");let k=++W;B.set(n,k);let M=eS(c,E.data);L.fetchers.set(n,M);let[j,A]=ee(e.history,L,P,c,R,O,z,_,F,q,S,v,{[s.route.id]:E.data},void 0);A.filter(e=>
1e.key!==n).forEach(e=>{let t=e.key,r=L.fetchers.get(t),n=eS(void 0,r?r.data:void 0);L.fetchers.set(t,n),I.has(t)&&eO(t),e.controller&&I.set(t,e.controller)}),er({fetchers:new Map(L.fetchers)});let T=()=>A.forEach(e=>eO(e.key));g.signal.addEventListener("abort",T);let{results:U,loaderResults:N,fetcherResults:K}=await eL(L.matches,P,j,A,x);if(g.signal.aborted)return;g.signal.removeEventListener("abort",T),B.delete(n),I.delete(n),A.forEach(e=>I.delete(e.key));let J=ef(U);if(J){if(J.idx>=j.length){let e=A[J.idx-j.length].key;q.add(e)}return eA(L,J.result)}let{loaderData:Y,errors:V}=es(L,L.matches,j,N,void 0,A,K,H);if(L.fetchers.has(n)){let e=eP(E.data);L.fetchers.set(n,e)}let X=eI(k);"loading"===L.navigation.state&&k>$?(h(C,"Expected pending action"),i&&i.abort(),en(L.navigation.location,{matches:P,loaderData:Y,errors:V,fetchers:new Map(L.fetchers)})):(er(l({errors:V,loaderData:ed(L.loaderData,Y,P,V)},X||A.length>0?{fetchers:new Map(L.fetchers)}:{})),O=!1)}async function ej(r,n,a,o,i,l){let s=L.fetchers.get(r),d=eS(l,s?s.data:void 0);L.fetchers.set(r,d),er({fetchers:new Map(L.fetchers)});let c=new AbortController,f=eo(e.history,a,c.signal);I.set(r,c);let p=W,m=await ea("loader",f,o,i,u,t,v);if(em(m)&&(m=await ew(m,f.signal,!0)||m),I.get(r)===c&&I.delete(r),f.signal.aborted)return;if(ey(m))if($>p){let e=eP(void 0);L.fetchers.set(r,e),er({fetchers:new Map(L.fetchers)});return}else{q.add(r),await eA(L,m);return}if(ev(m)){let e=ec(L.matches,n);L.fetchers.delete(r),er({fetchers:new Map(L.fetchers),errors:{[e.route.id]:m.error}});return}h(!em(m),"Unhandled fetcher deferred data");let y=eP(m.data);L.fetchers.set(r,y),er({fetchers:new Map(L.fetchers)})}async function eA(t,r,a){let{submission:o,fetcherSubmission:c,replace:u}=void 0===a?{}:a;r.revalidate&&(O=!0);let f=m(t.location,r.location,{_isRedirect:!0});if(h(f,"Expected a location on the redirect navigation"),d){let t=!1;if(r.reloadDocument)t=!0;else if(V.test(r.location)){let n=e.history.createURL(r.location);t=n.origin!==s.location.origin||null==k(n.pathname,v)}if(t)return void(u?s.location.replace(r.location):s.location.assign(r.location))}i=null;let p=!0===u?n.Replace:n.Push,{formMethod:y,formAction:g,formEncType:b}=t.navigation;!o&&!c&&y&&g&&b&&(o=eR(t.navigation));let w=o||c;if(N.has(r.status)&&w&&eg(w.formMethod))await el(p,f,{submission:l({},w,{formAction:r.location}),preventScrollReset:T});else{let e=ex(f,o);await el(p,f,{overrideNavigation:e,fetcherSubmission:c,preventScrollReset:T})}}async function eL(r,n,o,i,l){let s=await Promise.all([...o.map(e=>ea("loader",l,e,n,u,t,v)),...i.map(r=>r.matches&&r.match&&r.controller?ea("loader",eo(e.history,r.path,r.controller.signal),r.match,r.matches,u,t,v):{type:a.error,error:eh(404,{pathname:r.path})})]),d=s.slice(0,o.length),c=s.slice(o.length);return await Promise.all([eb(r,o,d,d.map(()=>l.signal),!1,L.loaderData),eb(r,i.map(e=>e.match),c,i.map(e=>e.controller?e.controller.signal:null),!0)]),{results:s,loaderResults:d,fetcherResults:c}}function eC(){O=!0,z.push(...eq()),F.forEach((e,t)=>{I.has(t)&&(_.push(t),eO(t))})}function eT(e,t,r){let n=ec(L.matches,t);eU(e),er({errors:{[n.route.id]:r},fetchers:new Map(L.fetchers)})}function eU(e){let t=L.fetchers.get(e);I.has(e)&&!(t&&"loading"===t.state&&B.has(e))&&eO(e),F.delete(e),B.delete(e),q.delete(e),L.fetchers.delete(e)}function eO(e){let t=I.get(e);h(t,"Expected fetch controller: "+e),t.abort(),I.delete(e)}function ez(e){for(let t of e){let e=eP(ek(t).data);L.fetchers.set(t,e)}}function e_(){let e=[],t=!1;for(let r of q){let n=L.fetchers.get(r);h(n,"Expected fetcher: "+r),"loading"===n.state&&(q.delete(r),e.push(r),t=!0)}return ez(e),t}function eI(e){let t=[];for(let[r,n]of B)if(n<e){let e=L.fetchers.get(r);
1h(e,"Expected fetcher: "+r),"loading"===e.state&&(eO(r),B.delete(r),t.push(r))}return ez(t),t.length>0}function eW(e){L.blockers.delete(e),G.delete(e)}function e$(e,t){let r=L.blockers.get(e)||Y;h("unblocked"===r.state&&"blocked"===t.state||"blocked"===r.state&&"blocked"===t.state||"blocked"===r.state&&"proceeding"===t.state||"blocked"===r.state&&"unblocked"===t.state||"proceeding"===r.state&&"unblocked"===t.state,"Invalid blocker state transition: "+r.state+" -> "+t.state);let n=new Map(L.blockers);n.set(e,t),er({blockers:n})}function eB(e){let{currentLocation:t,nextLocation:r,historyAction:n}=e;if(0===G.size)return;G.size>1&&f(!1,"A router only supports one blocker at a time");let a=Array.from(G.entries()),[o,i]=a[a.length-1],l=L.blockers.get(o);if((!l||"proceeding"!==l.state)&&i({currentLocation:t,nextLocation:r,historyAction:n}))return o}function eq(e){let t=[];return H.forEach((r,n)=>{(!e||e(n))&&(r.cancel(),t.push(n),H.delete(n))}),t}function eF(e,t){return x&&x(e,t.map(e=>E(e,L.loaderData)))||e.key}function eH(e,t){if(R){let r=R[eF(e,t)];if("number"==typeof r)return r}return null}return o={get basename(){return v},get state(){return L},get routes(){return p},initialize:function(){return g=e.history.listen(t=>{let{action:r,location:n,delta:a}=t;if(et){et=!1;return}f(0===G.size||null!=a,"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 o=eB({currentLocation:L.location,nextLocation:n,historyAction:r});if(o&&null!=a){et=!0,e.history.go(-1*a),e$(o,{state:"blocked",location:n,proceed(){e$(o,{state:"proceeding",proceed:void 0,reset:void 0,location:n}),e.history.go(a)},reset(){let e=new Map(L.blockers);e.set(o,Y),er({blockers:e})}});return}return el(r,n)}),L.initialized||el(n.Pop,L.location),o},subscribe:function(e){return b.add(e),()=>b.delete(e)},enableScrollRestoration:function(e,t,r){if(R=e,S=t,x=r||null,!P&&L.navigation===K){P=!0;let e=eH(L.location,L.matches);null!=e&&er({restoreScrollPosition:e})}return()=>{R=null,S=null,x=null}},navigate:ei,fetch:function(e,t,n,a){if(c)throw Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");I.has(e)&&eO(e);let o=r||p,i=Q(L.location,L.matches,v,y.v7_prependBasename,n,t,null==a?void 0:a.relative),l=D(o,i,v);if(!l)return void eT(e,t,eh(404,{pathname:i}));let{path:s,submission:d,error:u}=Z(y.v7_normalizeFormMethod,!0,i,a);if(u)return void eT(e,t,u);let h=eE(l,s);(T=!0===(a&&a.preventScrollReset),d&&eg(d.formMethod))?eM(e,t,s,h,l,d):(F.set(e,{routeId:t,path:s}),ej(e,t,s,h,l,d))},revalidate:function(){if(eC(),er({revalidation:"loading"}),"submitting"!==L.navigation.state){if("idle"===L.navigation.state)return void el(L.historyAction,L.location,{startUninterruptedRevalidation:!0});el(C||L.historyAction,L.navigation.location,{overrideNavigation:L.navigation})}},createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:ek,deleteFetcher:eU,dispose:function(){g&&g(),b.clear(),i&&i.abort(),L.fetchers.forEach((e,t)=>eU(t)),L.blockers.forEach((e,t)=>eW(t))},getBlocker:function(e,t){let r=L.blockers.get(e)||Y;return G.get(e)!==t&&G.set(e,t),r},deleteBlocker:eW,_internalFetchControllers:I,_internalActiveDeferreds:H,_internalSetRoutes:function(e){r=w(e,t,void 0,u={})}}}function Q(e,t,r,n,a,o,i){let l,s;if(null!=o&&"path"!==i){for(let e of(l=[],t))if(l.push(e),e.route.id===o){s=e;break}}else l=t,s=t[t.length-1];let d=L(a||".",A(l).map(e=>e.pathnameBase),k(e.pathname,r)||e.pathname,"path"===i);return null==a&&(d.search=e.search,d.hash=e.hash),(null==a||""===a||"."===a)&&s&&s.route.index&&!eD(d.search)&&(d.search=d.search?d.search.replace(/^\?/,"?index&"):"?index"),n&&"/"!==r&&(d.pathname="/"===d.pathname?r:C([r,d.pathname])),v(d)}function Z(e,t,r,n){var a;let o,i;if(!n||!(null!=n&&("formData"in n&&null!=n.formData||"body"in n&&void 0!==n.body)))return{path:r};if(n.formMethod&&(a=n.formMethod,!F.has(a.toLowerCase())))return{path:r,error:eh(405,{method:n.formMethod})};let l=()=>({path:r,error:eh(400,{type:"invalid-body"})}),s=n.formMethod||"get",d=e?s.toUpperCase():s.toLowerCase(),c=ep(r);if(void 0!==n.body){if("text/plain"===n.formEncType){if(!eg(d))return l();let e="string"==typeof n.body?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((e,t)=>
1{let[r,n]=t;return""+e+r+"="+n+"\n"},""):String(n.body);return{path:r,submission:{formMethod:d,formAction:c,formEncType:n.formEncType,formData:void 0,json:void 0,text:e}}}else if("application/json"===n.formEncType){if(!eg(d))return l();try{let e="string"==typeof n.body?JSON.parse(n.body):n.body;return{path:r,submission:{formMethod:d,formAction:c,formEncType:n.formEncType,formData:void 0,json:e,text:void 0}}}catch(e){return l()}}}if(h("function"==typeof FormData,"FormData is not available in this environment"),n.formData)o=ei(n.formData),i=n.formData;else if(n.body instanceof FormData)o=ei(n.body),i=n.body;else if(n.body instanceof URLSearchParams)i=el(o=n.body);else if(null==n.body)o=new URLSearchParams,i=new FormData;else try{o=new URLSearchParams(n.body),i=el(o)}catch(e){return l()}let u={formMethod:d,formAction:c,formEncType:n&&n.formEncType||"application/x-www-form-urlencoded",formData:i,json:void 0,text:void 0};if(eg(u.formMethod))return{path:r,submission:u};let f=y(r);return t&&f.search&&eD(f.search)&&o.append("index",""),f.search="?"+o,{path:v(f),submission:u}}function ee(e,t,r,n,a,o,i,s,d,c,u,h,f,p){let m=p?Object.values(p)[0]:f?Object.values(f)[0]:void 0,v=e.createURL(t.location),y=e.createURL(a),g=(function(e,t){let r=e;if(t){let n=e.findIndex(e=>e.route.id===t);n>=0&&(r=e.slice(0,n))}return r})(r,p?Object.keys(p)[0]:void 0).filter((e,r)=>{var a,s,d;let c,u;if(e.route.lazy)return!0;if(null==e.route.loader)return!1;if(a=t.loaderData,s=t.matches[r],d=e,c=!s||d.route.id!==s.route.id,u=void 0===a[d.route.id],c||u||i.some(t=>t===e.route.id))return!0;let h=t.matches[r];return er(e,l({currentUrl:v,currentParams:h.params,nextUrl:y,nextParams:e.params},n,{actionResult:m,defaultShouldRevalidate:o||v.pathname+v.search===y.pathname+y.search||v.search!==y.search||et(h,e)}))}),b=[];return d.forEach((e,a)=>{if(!r.some(t=>t.route.id===e.routeId))return;let i=D(u,e.path,h);if(!i)return void b.push({key:a,routeId:e.routeId,path:e.path,matches:null,match:null,controller:null});let d=t.fetchers.get(a),f=eE(i,e.path);!c.has(a)&&(s.includes(a)||(d&&"idle"!==d.state&&void 0===d.data?o:er(f,l({currentUrl:v,currentParams:t.matches[t.matches.length-1].params,nextUrl:y,nextParams:r[r.length-1].params},n,{actionResult:m,defaultShouldRevalidate:o}))))&&b.push({key:a,routeId:e.routeId,path:e.path,matches:i,match:f,controller:new AbortController})}),[g,b]}function et(e,t){let r=e.route.path;return e.pathname!==t.pathname||null!=r&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function er(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if("boolean"==typeof r)return r}return t.defaultShouldRevalidate}async function en(e,t,r){if(!e.lazy)return;let n=await e.lazy();if(!e.lazy)return;let a=r[e.id];h(a,"No route found in manifest");let o={};for(let e in n){let t=void 0!==a[e]&&"hasErrorBoundary"!==e;f(!t,'Route "'+a.id+'" has a static property "'+e+'" defined but its lazy function is also returning a value for this property. The lazy route property "'+e+'" will be ignored.'),t||b.has(e)||(o[e]=n[e])}Object.assign(a,o),Object.assign(a,l({},t(a),{lazy:void 0}))}async function ea(e,t,r,n,o,i,l,s){var d,c,u,f;let p,m,v;void 0===s&&(s={});let y=e=>{let n,a=new Promise((e,t)=>n=t);return v=()=>n(),t.signal.addEventListener("abort",v),Promise.race([e({request:t,params:r.params,context:s.requestContext}),a])};try{let n=r.route[e];if(r.route.lazy)if(n){let e,t=await Promise.all([y(n).catch(t=>{e=t}),en(r.route,i,o)]);if(e)throw e;m=t[0]}else if(await en(r.route,i,o),n=r.route[e])m=await y(n);else{if("action"!==e)return{type:a.data,data:void 0};let n=new URL(t.url),o=n.pathname+n.search;throw eh(405,{method:t.method,pathname:o,routeId:r.route.id})}else if(n)m=await y(n);else{let e=new URL(t.url),r=e.pathname+e.search;throw eh(404,{pathname:r})}h(void 0!==m,"You defined "+("action"===e?"an action":"a loader")+" for route "+('"'+r.route.id+"\" but didn't return anything from your `")+e+"` function. Please return a value or `null`.")}catch(e){p=a.error,m=e}finally{v&&t.signal.removeEventListener("abort",v)}if(null!=(d=m)&&"number"==typeof d.status&&"string"==typeof d.statusText&&"object"==typeof d.headers&&void 0!==d.body){let e,o=m.status;if(H.has(o)){let e=m.headers.get("Location");if(h(e,"Redirects returned/thrown from loaders/actions must have a Location header"),V.test(e)){if(!s.isStaticRequest){let r=new URL(t.url),n=new URL(e.startsWith("//")?r.protocol+e:e),a=null!=k(n.pathname,l);n.origin===r.origin&&a&&(e=n.pathname+n.search+n.hash)}}else e=Q(new URL(t.url),n.slice(0,n.indexOf(r)+1),l,!0,e);if(s.isStaticRequest)throw m.headers.set("Location",e),m;return{type:a.redirect,status:o,location:e,revalidate:null!==m.headers.get("X-Remix-Revalidate"),reloadDocument:null!==m.headers.get("X-Remix-Reload-Document")}}if(s.isRouteRequest)throw{type:p===a.error?a.error:a.data,response:m};let i=m.headers.get("Content-Type");return(e=i&&/\bapplication\/json\b/.test(i)?await m.json():await m.text(),p===a.error)?{type:p,error:new ErrorResponseImpl(o,m.statusText,e),headers:m.headers}:{type:a.data,data:e,statusCode:m.status,headers:m.headers}}if(p===a.error)return{type:p,error:m};if((c=m)&&"object"==typeof c&&"object"==typeof c.data&&"function"==typeof c.subscribe&&"function"==typeof c.cancel&&"function"==typeof c.resolveData){return{type:a.deferred,deferredData:m,statusCode:null==(u=m.init)?void 0:u.status,headers:(null==(f=m.init)?void 0:f.headers)&&new Headers(m.init.headers)}}return{type:a.data,data:m}}function eo(e,t,r,n){let a=e.createURL(ep(t)).toString(),o={signal:r};if(n&&eg(n.formMethod)){let{formMethod:e,formEncType:t}=n;o.method=e.toUpperCase(),"application/json"===t?(o.headers=new Headers({"Content-Type":t}),o.body=JSON.stringify(n.json)):"text/plain"===t?o.body=n.text:"application/x-www-form-urlencoded"===t&&n.formData?o.body=ei(n.formData):o.body=n.formData}
1return new Request(a,o)}function ei(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,"string"==typeof n?n:n.name);return t}function el(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function es(e,t,r,n,a,o,i,s){var d;let c,u,f,p,m,{loaderData:v,errors:y}=(d=a,u={},f=null,p=!1,m={},n.forEach((e,n)=>{let a=r[n].route.id;if(h(!ey(e),"Cannot handle redirect results in processLoaderData"),ev(e)){let r=ec(t,a),n=e.error;d&&(n=Object.values(d)[0],d=void 0),null==(f=f||{})[r.route.id]&&(f[r.route.id]=n),u[a]=void 0,p||(p=!0,c=$(e.error)?e.error.status:500),e.headers&&(m[a]=e.headers)}else em(e)?(s.set(a,e.deferredData),u[a]=e.deferredData.data):u[a]=e.data,null==e.statusCode||200===e.statusCode||p||(c=e.statusCode),e.headers&&(m[a]=e.headers)}),d&&(f=d,u[Object.keys(d)[0]]=void 0),{loaderData:u,errors:f,statusCode:c||200,loaderHeaders:m});for(let t=0;t<o.length;t++){let{key:r,match:n,controller:a}=o[t];h(void 0!==i&&void 0!==i[t],"Did not find corresponding fetcher result");let s=i[t];if(!a||!a.signal.aborted)if(ev(s)){let t=ec(e.matches,null==n?void 0:n.route.id);y&&y[t.route.id]||(y=l({},y,{[t.route.id]:s.error})),e.fetchers.delete(r)}else if(ey(s))h(!1,"Unhandled fetcher revalidation redirect");else if(em(s))h(!1,"Unhandled fetcher deferred data");else{let t=eP(s.data);e.fetchers.set(r,t)}}return{loaderData:v,errors:y}}function ed(e,t,r,n){let a=l({},t);for(let o of r){let r=o.route.id;if(t.hasOwnProperty(r)?void 0!==t[r]&&(a[r]=t[r]):void 0!==e[r]&&o.route.loader&&(a[r]=e[r]),n&&n.hasOwnProperty(r))break}return a}function ec(e,t){return(t?e.slice(0,e.findIndex(e=>e.route.id===t)+1):[...e]).reverse().find(e=>!0===e.route.hasErrorBoundary)||e[0]}function eu(e){let t=e.find(e=>e.index||!e.path||"/"===e.path)||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function eh(e,t){let{pathname:r,routeId:n,method:a,type:o}=void 0===t?{}:t,i="Unknown Server Error",l="Unknown @remix-run/router error";return 400===e?(i="Bad Request",a&&r&&n?l="You made a "+a+' request to "'+r+'" but did not provide a `loader` for route "'+n+'", so there is no way to handle the request.':"defer-action"===o?l="defer() is not supported in actions":"invalid-body"===o&&(l="Unable to encode submission body")):403===e?(i="Forbidden",l='Route "'+n+'" does not match URL "'+r+'"'):404===e?(i="Not Found",l='No route matches URL "'+r+'"'):405===e&&(i="Method Not Allowed",a&&r&&n?l="You made a "+a.toUpperCase()+' request to "'+r+'" but did not provide an `action` for route "'+n+'", so there is no way to handle the request.':a&&(l='Invalid request method "'+a.toUpperCase()+'"')),new ErrorResponseImpl(e||500,i,Error(l),!0)}function ef(e){for(let t=e.length-1;t>=0;t--){let r=e[t];if(ey(r))return{result:r,idx:t}}}function ep(e){let t="string"==typeof e?y(e):e;return v(l({},t,{hash:""}))}function em(e){return e.type===a.deferred}function ev(e){return e.type===a.error}function ey(e){return(e&&e.type)===a.redirect}function eg(e){return q.has(e.toLowerCase())}async function eb(e,t,r,n,a,o){for(let i=0;i<r.length;i++){let l=r[i],s=t[i];if(!s)continue;let d=e.find(e=>e.route.id===s.route.id),c=null!=d&&!et(d,s)&&(o&&o[s.route.id])!==void 0;if(em(l)&&(a||c)){let e=n[i];h(e,"Expected an AbortSignal for revalidating fetcher deferred result"),await ew(l,e,a).then(e=>{e&&(r[i]=e||r[i])})}}}async function ew(e,t,r){if(void 0===r&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:a.data,data:e.deferredData.unwrappedData}}catch(e){return{type:a.error,error:e}}return{type:a.data,data:e.deferredData.data}}}function eD(e){return new URLSearchParams(e).getAll("index").some(e=>""===e)}function eE(e,t){let r="string"==typeof t?y(t).search:t.search;if(e[e.length-1].route.index&&eD(r||""))return e[e.length-1];let n=A(e);return n[n.length-1]}function eR(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:o,json:i}=e;if(t&&r&&n){if(null!=a)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a};else if(null!=o)return{formMethod:t,formAction:r,formEncType:n,formData:o,json:void 0,text:void 0};else if(void 0!==i)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:i,text:void 0}}}function ex(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 eS(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 eP(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}Symbol("deferred")}}]);
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.