@openmrs/esm-appointments-app 8.5.1-pre.5717 → 8.5.1-pre.5723

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/.turbo/turbo-build.log +14 -14
  2. package/dist/1293.js +1 -1
  3. package/dist/1293.js.map +1 -1
  4. package/dist/1625.js +1 -1
  5. package/dist/1625.js.map +1 -1
  6. package/dist/2164.js +1 -1
  7. package/dist/2164.js.map +1 -1
  8. package/dist/2372.js +1 -1
  9. package/dist/2372.js.map +1 -1
  10. package/dist/2470.js +1 -1
  11. package/dist/2470.js.map +1 -1
  12. package/dist/2537.js +1 -1
  13. package/dist/2537.js.map +1 -1
  14. package/dist/2694.js +1 -1
  15. package/dist/2694.js.map +1 -1
  16. package/dist/2913.js +1 -1
  17. package/dist/2913.js.LICENSE.txt +3 -3
  18. package/dist/2913.js.map +1 -1
  19. package/dist/3092.js +1 -1
  20. package/dist/3092.js.map +1 -1
  21. package/dist/3144.js +1 -1
  22. package/dist/3144.js.map +1 -1
  23. package/dist/3167.js +1 -1
  24. package/dist/3167.js.map +1 -1
  25. package/dist/3431.js +1 -1
  26. package/dist/3431.js.map +1 -1
  27. package/dist/3732.js +1 -1
  28. package/dist/3732.js.map +1 -1
  29. package/dist/4041.js +1 -1
  30. package/dist/4041.js.map +1 -1
  31. package/dist/4275.js +1 -1
  32. package/dist/4275.js.map +1 -1
  33. package/dist/{5283.js → 4733.js} +1 -1
  34. package/dist/4733.js.map +1 -0
  35. package/dist/4745.js +1 -1
  36. package/dist/4745.js.map +1 -1
  37. package/dist/4889.js +1 -1
  38. package/dist/4889.js.map +1 -1
  39. package/dist/5449.js +1 -1
  40. package/dist/5449.js.LICENSE.txt +1 -1
  41. package/dist/5449.js.map +1 -1
  42. package/dist/5813.js +1 -1
  43. package/dist/5813.js.map +1 -1
  44. package/dist/592.js +1 -1
  45. package/dist/592.js.map +1 -1
  46. package/dist/6112.js +1 -1
  47. package/dist/6112.js.map +1 -1
  48. package/dist/6708.js +1 -1
  49. package/dist/6708.js.map +1 -1
  50. package/dist/6931.js +1 -1
  51. package/dist/6931.js.map +1 -1
  52. package/dist/7026.js +1 -1
  53. package/dist/7026.js.map +1 -1
  54. package/dist/7420.js +1 -0
  55. package/dist/7420.js.map +1 -0
  56. package/dist/7495.js +1 -1
  57. package/dist/7495.js.map +1 -1
  58. package/dist/7565.js +1 -0
  59. package/dist/7565.js.map +1 -0
  60. package/dist/7698.js +1 -1
  61. package/dist/7698.js.map +1 -1
  62. package/dist/7881.js +2 -0
  63. package/dist/7881.js.map +1 -0
  64. package/dist/849.js +1 -1
  65. package/dist/849.js.map +1 -1
  66. package/dist/89.js +1 -1
  67. package/dist/89.js.map +1 -1
  68. package/dist/8963.js +1 -1
  69. package/dist/8963.js.map +1 -1
  70. package/dist/9712.js +1 -1
  71. package/dist/9712.js.map +1 -1
  72. package/dist/9876.js +1 -1
  73. package/dist/9876.js.map +1 -1
  74. package/dist/main.js +1 -1
  75. package/dist/main.js.map +1 -1
  76. package/dist/openmrs-esm-appointments-app.js +1 -1
  77. package/dist/openmrs-esm-appointments-app.js.buildmanifest.json +195 -222
  78. package/dist/openmrs-esm-appointments-app.js.map +1 -1
  79. package/dist/routes.json +1 -1
  80. package/package.json +1 -1
  81. package/dist/4165.js +0 -1
  82. package/dist/4165.js.map +0 -1
  83. package/dist/4331.js +0 -1
  84. package/dist/4331.js.map +0 -1
  85. package/dist/5283.js.map +0 -1
  86. package/dist/6837.js +0 -1
  87. package/dist/6837.js.map +0 -1
  88. package/dist/941.js +0 -2
  89. package/dist/941.js.map +0 -1
  90. /package/dist/{941.js.LICENSE.txt → 7881.js.LICENSE.txt} +0 -0
package/dist/2913.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see 2913.js.LICENSE.txt */
2
- "use strict";(globalThis.webpackChunk_openmrs_esm_appointments_app=globalThis.webpackChunk_openmrs_esm_appointments_app||[]).push([[2913],{52913:(e,t,r)=>{r.r(t),r.d(t,{AbortedDeferredError:()=>J,Await:()=>Ct,BrowserRouter:()=>$t,Form:()=>Vt,HashRouter:()=>Jt,Link:()=>Yt,MemoryRouter:()=>wt,NavLink:()=>qt,Navigate:()=>bt,NavigationType:()=>n,Outlet:()=>Et,Route:()=>Rt,Router:()=>Dt,RouterProvider:()=>yt,Routes:()=>St,ScrollRestoration:()=>Xt,UNSAFE_DataRouterContext:()=>_e,UNSAFE_DataRouterStateContext:()=>Ne,UNSAFE_DataStaticRouterContext:()=>ke,UNSAFE_LocationContext:()=>Be,UNSAFE_NavigationContext:()=>Ie,UNSAFE_RouteContext:()=>He,UNSAFE_enhanceManualRouteObjects:()=>Ot,createBrowserRouter:()=>Kt,createHashRouter:()=>Wt,createMemoryRouter:()=>Tt,createPath:()=>f,createRoutesFromChildren:()=>Lt,createRoutesFromElements:()=>Lt,createSearchParams:()=>Ft,defer:()=>q,generatePath:()=>M,isRouteErrorResponse:()=>X,json:()=>$,matchPath:()=>O,matchRoutes:()=>w,parsePath:()=>p,redirect:()=>V,renderMatches:()=>Mt,resolvePath:()=>_,unstable_HistoryRouter:()=>zt,useActionData:()=>pt,useAsyncError:()=>gt,useAsyncValue:()=>vt,useFetcher:()=>sr,useFetchers:()=>cr,useFormAction:()=>ir,useHref:()=>We,useInRouterContext:()=>$e,useLinkClickHandler:()=>rr,useLoaderData:()=>ht,useLocation:()=>Je,useMatch:()=>Ye,useMatches:()=>dt,useNavigate:()=>qe,useNavigation:()=>ct,useNavigationType:()=>ze,useOutlet:()=>Xe,useOutletContext:()=>Ge,useParams:()=>Qe,useResolvedPath:()=>Ze,useRevalidator:()=>ut,useRouteError:()=>mt,useRouteLoaderData:()=>ft,useRoutes:()=>et,useSearchParams:()=>nr,useSubmit:()=>ar});var n,a=r(1343);function o(){return o=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},o.apply(this,arguments)}!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(n||(n={}));const i="popstate";function l(e){void 0===e&&(e={});let t,{initialEntries:r=["/"],initialIndex:a,v5Compat:o=!1}=e;t=r.map(((e,t)=>p(e,"string"==typeof e?null:e.state,0===t?"default":void 0)));let i=c(null==a?t.length-1:a),l=n.Pop,s=null;function c(e){return Math.min(Math.max(e,0),t.length-1)}function d(){return t[i]}function p(e,r,n){void 0===r&&(r=null);let a=h(t?d().pathname:"/",e,r,n);return u("/"===a.pathname.charAt(0),"relative pathnames are not supported in memory history: "+JSON.stringify(e)),a}return{get index(){return i},get action(){return l},get location(){return d()},createHref:e=>"string"==typeof e?e:f(e),encodeLocation:e=>e,push(e,r){l=n.Push;let a=p(e,r);i+=1,t.splice(i,t.length,a),o&&s&&s({action:l,location:a})},replace(e,r){l=n.Replace;let a=p(e,r);t[i]=a,o&&s&&s({action:l,location:a})},go(e){l=n.Pop,i=c(i+e),s&&s({action:l,location:d()})},listen:e=>(s=e,()=>{s=null})}}function s(e){return void 0===e&&(e={}),v((function(e,t){let{pathname:r,search:n,hash:a}=e.location;return h("",{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:f(t)}),null,e)}function c(e){return void 0===e&&(e={}),v((function(e,t){let{pathname:r="/",search:n="",hash:a=""}=p(e.location.hash.substr(1));return h("",{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:f(t))}),(function(e,t){u("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")}),e)}function u(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(e){}}}function d(e){return{usr:e.state,key:e.key}}function h(e,t,r,n){return void 0===r&&(r=null),o({pathname:"string"==typeof e?e:e.pathname,search:"",hash:""},"string"==typeof t?p(t):t,{state:r,key:t&&t.key||n||Math.random().toString(36).substr(2,8)})}function f(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 p(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 m(e){let t="undefined"!=typeof window&&void 0!==window.location&&"null"!==window.location.origin?window.location.origin:"unknown://unknown",r="string"==typeof e?e:f(e);return new URL(r,t)}function v(e,t,r,a){void 0===a&&(a={});let{window:l=document.defaultView,v5Compat:s=!1}=a,c=l.history,u=n.Pop,p=null;function v(){u=n.Pop,p&&p({action:u,location:g.location})}let g={get action(){return u},get location(){return e(l,c)},listen(e){if(p)throw new Error("A history only accepts one active listener");return l.addEventListener(i,v),p=e,()=>{l.removeEventListener(i,v),p=null}},createHref:e=>t(l,e),encodeLocation(e){let t=m(f(e));return o({},e,{pathname:t.pathname,search:t.search,hash:t.hash})},push:function(e,t){u=n.Push;let a=h(g.location,e,t);r&&r(a,e);let o=d(a),i=g.createHref(a);try{c.pushState(o,"",i)}catch(e){l.location.assign(i)}s&&p&&p({action:u,location:g.location})},replace:function(e,t){u=n.Replace;let a=h(g.location,e,t);r&&r(a,e);let o=d(a),i=g.createHref(a);c.replaceState(o,"",i),s&&p&&p({action:u,location:g.location})},go:e=>c.go(e)};return g}var g;function y(e,t,r){return void 0===t&&(t=[]),void 0===r&&(r=new Set),e.map(((e,n)=>{let a=[...t,n],i="string"==typeof e.id?e.id:a.join("-");return j(!0!==e.index||!e.children,"Cannot specify children on an index route"),j(!r.has(i),'Found a route id collision on id "'+i+"\". Route id's must be globally unique within Data Router usages"),r.add(i),function(e){return!0===e.index}(e)?o({},e,{id:i}):o({},e,{id:i,children:e.children?y(e.children,a,r):void 0})}))}function w(e,t,r){void 0===r&&(r="/");let n=U(("string"==typeof t?p(t):t).pathname||"/",r);if(null==n)return null;let a=b(e);!function(e){e.sort(((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){return e.length===t.length&&e.slice(0,-1).every(((e,r)=>e===t[r]))?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((e=>e.childrenIndex)),t.routesMeta.map((e=>e.childrenIndex)))))}(a);let o=null;for(let e=0;null==o&&e<a.length;++e)o=L(a[e],T(n));return o}function b(e,t,r,n){return void 0===t&&(t=[]),void 0===r&&(r=[]),void 0===n&&(n=""),e.forEach(((e,a)=>{let o={relativePath:e.path||"",caseSensitive:!0===e.caseSensitive,childrenIndex:a,route:e};o.relativePath.startsWith("/")&&(j(o.relativePath.startsWith(n),'Absolute route path "'+o.relativePath+'" nested under path "'+n+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),o.relativePath=o.relativePath.slice(n.length));let i=B([n,o.relativePath]),l=r.concat(o);e.children&&e.children.length>0&&(j(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+i+'".'),b(e.children,t,l,i)),(null!=e.path||e.index)&&t.push({path:i,score:A(i,e.index),routesMeta:l})})),t}!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(g||(g={}));const E=/^:\w+$/,R=3,D=2,S=1,C=10,x=-2,P=e=>"*"===e;function A(e,t){let r=e.split("/"),n=r.length;return r.some(P)&&(n+=x),t&&(n+=D),r.filter((e=>!P(e))).reduce(((e,t)=>e+(E.test(t)?R:""===t?S:C)),n)}function L(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)||"/",c=O({path:i.relativePath,caseSensitive:i.caseSensitive,end:l},s);if(!c)return null;Object.assign(n,c.params);let u=i.route;o.push({params:n,pathname:B([a,c.pathname]),pathnameBase:H(B([a,c.pathnameBase])),route:u}),"/"!==c.pathnameBase&&(a=B([a,c.pathnameBase]))}return o}function M(e,t){return void 0===t&&(t={}),e.replace(/:(\w+)/g,((e,r)=>(j(null!=t[r],'Missing ":'+r+'" param'),t[r]))).replace(/(\/?)\*/,((e,r,n,a)=>null==t["*"]?"/*"===a?"/":"":""+r+t["*"]))}function O(e,t){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=function(e,t,r){void 0===t&&(t=!1),void 0===r&&(r=!0),k("*"===e||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were "'+e.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+e.replace(/\*$/,"/*")+'".');let n=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^$?{}|()[\]]/g,"\\$&").replace(/:(\w+)/g,((e,t)=>(n.push(t),"([^\\/]+)")));return e.endsWith("*")?(n.push("*"),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),l=a.slice(1);return{params:n.reduce(((e,t,r)=>{if("*"===t){let e=l[r]||"";i=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}return e[t]=function(e,t){try{return decodeURIComponent(e)}catch(r){return k(!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}}(l[r]||"",t),e}),{}),pathname:o,pathnameBase:i,pattern:e}}function T(e){try{return decodeURI(e)}catch(t){return k(!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}}function U(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 j(e,t){if(!1===e||null==e)throw new Error(t)}function k(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(e){}}}function _(e,t){void 0===t&&(t="/");let{pathname:r,search:n="",hash:a=""}="string"==typeof e?p(e):e,o=r?r.startsWith("/")?r:function(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((e=>{".."===e?r.length>1&&r.pop():"."!==e&&r.push(e)})),r.length>1?r.join("/"):"/"}(r,t):t;return{pathname:o,search:K(n),hash:W(a)}}function N(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 F(e){return e.filter(((e,t)=>0===t||e.route.path&&e.route.path.length>0))}function I(e,t,r,n){let a;void 0===n&&(n=!1),"string"==typeof e?a=p(e):(a=o({},e),j(!a.pathname||!a.pathname.includes("?"),N("?","pathname","search",a)),j(!a.pathname||!a.pathname.includes("#"),N("#","pathname","hash",a)),j(!a.search||!a.search.includes("#"),N("#","search","hash",a)));let i,l=""===e||""===a.pathname,s=l?"/":a.pathname;if(n||null==s)i=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("/")}i=e>=0?t[e]:"/"}let c=_(a,i),u=s&&"/"!==s&&s.endsWith("/"),d=(l||"."===s)&&r.endsWith("/");return c.pathname.endsWith("/")||!u&&!d||(c.pathname+="/"),c}const B=e=>e.join("/").replace(/\/\/+/g,"/"),H=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),K=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",W=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"",$=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),o({},r,{headers:n}))};class J extends Error{}class z{constructor(e){let t;this.pendingKeys=new Set,this.subscriber=void 0,j(e&&"object"==typeof e&&!Array.isArray(e),"defer() only accepts plain objects"),this.abortPromise=new Promise(((e,r)=>t=r)),this.controller=new AbortController;let r=()=>t(new J("Deferred data aborted"));this.unlistenAbortSignal=()=>this.controller.signal.removeEventListener("abort",r),this.controller.signal.addEventListener("abort",r),this.data=Object.entries(e).reduce(((e,t)=>{let[r,n]=t;return Object.assign(e,{[r]:this.trackPromise(r,n)})}),{})}trackPromise(e,t){if(!(t instanceof Promise))return t;this.pendingKeys.add(e);let r=Promise.race([t,this.abortPromise]).then((t=>this.onSettle(r,e,null,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 J)return this.unlistenAbortSignal(),Object.defineProperty(e,"_error",{get:()=>r}),Promise.reject(r);this.pendingKeys.delete(t),this.done&&this.unlistenAbortSignal();const a=this.subscriber;return r?(Object.defineProperty(e,"_error",{get:()=>r}),a&&a(!1),Promise.reject(r)):(Object.defineProperty(e,"_data",{get:()=>n}),a&&a(!1),n)}subscribe(e){this.subscriber=e}cancel(){this.controller.abort(),this.pendingKeys.forEach(((e,t)=>this.pendingKeys.delete(t)));let e=this.subscriber;e&&e(!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.pendingKeys.size}get unwrappedData(){return j(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]:Y(n)})}),{})}}function Y(e){if(!function(e){return e instanceof Promise&&!0===e._tracked}(e))return e;if(e._error)throw e._error;return e._data}function q(e){return new z(e)}const V=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,o({},r,{headers:n}))};class G{constructor(e,t,r){this.status=e,this.statusText=t||"",this.data=r}}function X(e){return e instanceof G}const Q={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},Z={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},ee=!("undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement);function te(e){j(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let t=y(e.routes),r=null,a=new Set,i=null,l=null,s=null,c=!1,u=w(t,e.history.location,e.basename),d=null;if(null==u){let{matches:e,route:r,error:n}=pe(t);u=e,d={[r.id]:n}}let f,p,m=!u.some((e=>e.route.loader))||null!=e.hydrationData,v={historyAction:e.history.action,location:e.history.location,matches:u,initialized:m,navigation:Q,restoreScrollPosition:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||d,fetchers:new Map},g=n.Pop,b=!1,E=!1,R=!1,D=[],S=[],C=new Map,x=0,P=-1,A=new Map,L=new Set,M=new Map,O=new Map;function T(e){v=o({},v,e),a.forEach((e=>e(v)))}function U(t,r){var a;T(o({},null!=v.actionData&&null!=v.navigation.formMethod&&"loading"===v.navigation.state&&(null==(a=v.navigation.formAction)?void 0:a.split("?")[0])===t.pathname?{}:{actionData:null},r,r.loaderData?{loaderData:he(v.loaderData,r.loaderData,r.matches||[])}:{},{historyAction:g,location:t,initialized:!0,navigation:Q,revalidation:"idle",restoreScrollPosition:!v.navigation.formData&&z(t,r.matches||v.matches),preventScrollReset:b})),E||g===n.Pop||(g===n.Push?e.history.push(t,t.state):g===n.Replace&&e.history.replace(t,t.state)),g=n.Pop,b=!1,E=!1,R=!1,D=[],S=[]}async function k(r,a,c){p&&p.abort(),p=null,g=r,E=!0===(c&&c.startUninterruptedRevalidation),function(e,t){if(i&&l&&s){let r=t.map((e=>Se(e,v.loaderData))),n=l(e,r)||e.key;i[n]=s()}}(v.location,v.matches),b=!0===(c&&c.preventScrollReset);let u=c&&c.overrideNavigation,d=w(t,a,e.basename);if(!d){let{matches:e,route:r,error:n}=pe(t);return J(),void U(a,{matches:e,loaderData:{},errors:{[r.id]:n}})}if(y=a,(m=v.location).pathname===y.pathname&&m.search===y.search&&m.hash!==y.hash)return void U(a,{matches:d});var m,y;p=new AbortController;let A,k,_=ce(a,p.signal,c&&c.submission);if(c&&c.pendingError)k={[fe(d).route.id]:c.pendingError};else if(c&&c.submission){let e=await async function(e,t,r,a,i){let l;I(),T({navigation:o({state:"submitting",location:t},r)});let s=Ce(a,t);if(s.route.action){if(l=await se("action",e,s,a,f.basename),e.signal.aborted)return{shortCircuited:!0}}else l=me(t);if(be(l)){let e=o({state:"loading",location:h(v.location,l.location)},r);return await N(l,e,i&&i.replace),{shortCircuited:!0}}if(we(l)){let e=fe(a,s.route.id);return!0!==(i&&i.replace)&&(g=n.Push),{pendingActionError:{[e.route.id]:l.error}}}if(ye(l))throw new Error("defer() is not supported in actions");return{pendingActionData:{[s.route.id]:l.data}}}(_,a,c.submission,d,{replace:c.replace});if(e.shortCircuited)return;A=e.pendingActionData,k=e.pendingActionError,u=o({state:"loading",location:a},c.submission)}let{shortCircuited:B,loaderData:H,errors:K}=await async function(e,t,r,n,a,i,l,s){let c=n;c||(c={state:"loading",location:t,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0});let[u,d]=oe(v,r,a,t,R,D,S,l,s,M);if(J((e=>!(r&&r.some((t=>t.route.id===e)))||u&&u.some((t=>t.route.id===e)))),0===u.length&&0===d.length)return U(t,{matches:r,loaderData:he(v.loaderData,{},r),errors:s||null,actionData:l||null}),{shortCircuited:!0};E||(d.forEach((e=>{let[t]=e,r=v.fetchers.get(t),n={state:"loading",data:r&&r.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(t,n)})),T(o({navigation:c,actionData:l||v.actionData||null},d.length>0?{fetchers:new Map(v.fetchers)}:{}))),P=++x,d.forEach((e=>{let[t]=e;return C.set(t,p)}));let{results:h,loaderResults:f,fetcherResults:m}=await F(v.matches,r,u,d,e);if(e.signal.aborted)return{shortCircuited:!0};d.forEach((e=>{let[t]=e;return C.delete(t)}));let g=ve(h);if(g){let e=ae(v,g);return await N(g,e,i),{shortCircuited:!0}}let{loaderData:y,errors:w}=de(v,r,u,f,s,d,m,O);return O.forEach(((e,t)=>{e.subscribe((r=>{(r||e.done)&&O.delete(t)}))})),function(){let e=[];for(let t of L){let r=v.fetchers.get(t);j(r,"Expected fetcher: "+t),"loading"===r.state&&(L.delete(t),e.push(t))}W(e)}(),o({loaderData:y,errors:w},$(P)||d.length>0?{fetchers:new Map(v.fetchers)}:{})}(_,a,d,u,c&&c.submission,c&&c.replace,A,k);B||(p=null,U(a,{matches:d,loaderData:H,errors:K}))}function _(e){return v.fetchers.get(e)||Z}async function N(e,t,r){e.revalidate&&(R=!0),j(t.location,"Expected a location on the redirect navigation"),p=null;let a=!0===r?n.Replace:n.Push;await k(a,t.location,{overrideNavigation:t})}async function F(e,t,r,n,a){let o=await Promise.all([...r.map((e=>se("loader",a,e,t,f.basename))),...n.map((e=>{let[,t,r,n]=e;return se("loader",ce(t,a.signal),r,n,f.basename)}))]),i=o.slice(0,r.length),l=o.slice(r.length);return await Promise.all([Ee(e,r,i,a.signal,!1,v.loaderData),Ee(e,n.map((e=>{let[,,t]=e;return t})),l,a.signal,!0)]),{results:o,loaderResults:i,fetcherResults:l}}function I(){R=!0,D.push(...J()),M.forEach(((e,t)=>{C.has(t)&&(S.push(t),K(t))}))}function B(e,t,r){let n=fe(v.matches,t);H(e),T({errors:{[n.route.id]:r},fetchers:new Map(v.fetchers)})}function H(e){C.has(e)&&K(e),M.delete(e),A.delete(e),L.delete(e),v.fetchers.delete(e)}function K(e){let t=C.get(e);j(t,"Expected fetch controller: "+e),t.abort(),C.delete(e)}function W(e){for(let t of e){let e={state:"idle",data:_(t).data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(t,e)}}function $(e){let t=[];for(let[r,n]of A)if(n<e){let e=v.fetchers.get(r);j(e,"Expected fetcher: "+r),"loading"===e.state&&(K(r),A.delete(r),t.push(r))}return W(t),t.length>0}function J(e){let t=[];return O.forEach(((r,n)=>{e&&!e(n)||(r.cancel(),t.push(n),O.delete(n))})),t}function z(e,t){if(i&&l&&s){let r=t.map((e=>Se(e,v.loaderData))),n=l(e,r)||e.key,a=i[n];if("number"==typeof a)return a}return null}return f={get basename(){return e.basename},get state(){return v},get routes(){return t},initialize:function(){return r=e.history.listen((e=>{let{action:t,location:r}=e;return k(t,r)})),v.initialized||k(n.Pop,v.location),f},subscribe:function(e){return a.add(e),()=>a.delete(e)},enableScrollRestoration:function(e,t,r){if(i=e,s=t,l=r||(e=>e.key),!c&&v.navigation===Q){c=!0;let e=z(v.location,v.matches);null!=e&&T({restoreScrollPosition:e})}return()=>{i=null,s=null,l=null}},navigate:async function(t,r){if("number"==typeof t)return void e.history.go(t);let{path:a,submission:o,error:i}=ne(t,r),l=h(v.location,a,r&&r.state);l=e.history.encodeLocation(l);let s=!0===(r&&r.replace)||null!=o?n.Replace:n.Push,c=r&&"preventScrollReset"in r?!0===r.preventScrollReset:void 0;return await k(s,l,{submission:o,pendingError:i,preventScrollReset:c,replace:r&&r.replace})},fetch:function(r,n,a,i){if(ee)throw new 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.");C.has(r)&&K(r);let l=w(t,a,e.basename);if(!l)return void B(r,n,new G(404,"Not Found",null));let{path:s,submission:c}=ne(a,i,!0),u=Ce(l,s);c?async function(r,n,a,i,l,s){if(I(),M.delete(r),!i.route.action){let{error:e}=me(a);return void B(r,n,e)}let c=v.fetchers.get(r),u=o({state:"submitting"},s,{data:c&&c.data});v.fetchers.set(r,u),T({fetchers:new Map(v.fetchers)});let d=new AbortController,m=ce(a,d.signal,s);C.set(r,d);let y=await se("action",m,i,l,f.basename);if(m.signal.aborted)return void(C.get(r)===d&&C.delete(r));if(be(y)){C.delete(r),L.add(r);let e=o({state:"loading"},s,{data:void 0});v.fetchers.set(r,e),T({fetchers:new Map(v.fetchers)});let t=o({state:"loading",location:h(v.location,y.location)},s);return void await N(y,t)}if(we(y))return void B(r,n,y.error);ye(y)&&j(!1,"defer() is not supported in actions");let b=v.navigation.location||v.location,E=ce(b,d.signal),k="idle"!==v.navigation.state?w(t,v.navigation.location,e.basename):v.matches;j(k,"Didn't find any matches after fetcher action");let _=++x;A.set(r,_);let H=o({state:"loading",data:y.data},s);v.fetchers.set(r,H);let[K,W]=oe(v,k,s,b,R,D,S,{[i.route.id]:y.data},void 0,M);W.filter((e=>{let[t]=e;return t!==r})).forEach((e=>{let[t]=e,r=v.fetchers.get(t),n={state:"loading",data:r&&r.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(t,n),C.set(t,d)})),T({fetchers:new Map(v.fetchers)});let{results:J,loaderResults:z,fetcherResults:Y}=await F(v.matches,k,K,W,E);if(d.signal.aborted)return;A.delete(r),C.delete(r),W.forEach((e=>{let[t]=e;return C.delete(t)}));let q=ve(J);if(q){let e=ae(v,q);return void await N(q,e)}let{loaderData:V,errors:G}=de(v,v.matches,K,z,void 0,W,Y,O),X={state:"idle",data:y.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(r,X);let Q=$(_);"loading"===v.navigation.state&&_>P?(j(g,"Expected pending action"),p&&p.abort(),U(v.navigation.location,{matches:k,loaderData:V,errors:G,fetchers:new Map(v.fetchers)})):(T(o({errors:G,loaderData:he(v.loaderData,V,k)},Q?{fetchers:new Map(v.fetchers)}:{})),R=!1)}(r,n,s,u,l,c):(M.set(r,[s,u,l]),async function(e,t,r,n,a){let o=v.fetchers.get(e),i={state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,data:o&&o.data};v.fetchers.set(e,i),T({fetchers:new Map(v.fetchers)});let l=new AbortController,s=ce(r,l.signal);C.set(e,l);let c=await se("loader",s,n,a,f.basename);if(ye(c)&&(c=await Re(c,s.signal,!0)||c),C.get(e)===l&&C.delete(e),s.signal.aborted)return;if(be(c)){let e=ae(v,c);return void await N(c,e)}if(we(c)){let r=fe(v.matches,t);return v.fetchers.delete(e),void T({fetchers:new Map(v.fetchers),errors:{[r.route.id]:c.error}})}j(!ye(c),"Unhandled fetcher deferred data");let u={state:"idle",data:c.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(e,u),T({fetchers:new Map(v.fetchers)})}(r,n,s,u,l))},revalidate:function(){I(),T({revalidation:"loading"}),"submitting"!==v.navigation.state&&("idle"!==v.navigation.state?k(g||v.historyAction,v.navigation.location,{overrideNavigation:v.navigation}):k(v.historyAction,v.location,{startUninterruptedRevalidation:!0}))},createHref:t=>e.history.createHref(t),getFetcher:_,deleteFetcher:H,dispose:function(){r&&r(),a.clear(),p&&p.abort(),v.fetchers.forEach(((e,t)=>H(t)))},_internalFetchControllers:C,_internalActiveDeferreds:O},f}const re=new Set(["POST","PUT","PATCH","DELETE"]);function ne(e,t,r){void 0===r&&(r=!1);let n="string"==typeof e?e:f(e);if(!t||!("formMethod"in t)&&!("formData"in t))return{path:n};if(null!=t.formMethod&&"get"!==t.formMethod)return{path:n,submission:{formMethod:t.formMethod,formAction:ge(n),formEncType:t&&t.formEncType||"application/x-www-form-urlencoded",formData:t.formData}};if(!t.formData)return{path:n};let a=p(n);try{let e=ue(t.formData);r&&a.search&&De(a.search)&&e.append("index",""),a.search="?"+e}catch(e){return{path:n,error:new G(400,"Bad Request","Cannot submit binary form data using GET")}}return{path:f(a)}}function ae(e,t){let{formMethod:r,formAction:n,formEncType:a,formData:o}=e.navigation;return{state:"loading",location:h(e.location,t.location),formMethod:r||void 0,formAction:n||void 0,formEncType:a||void 0,formData:o||void 0}}function oe(e,t,r,n,a,o,i,l,s,c){let u=s?Object.values(s)[0]:l?Object.values(l)[0]:null,d=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}(t,s?Object.keys(s)[0]:void 0).filter(((t,i)=>null!=t.route.loader&&(function(e,t,r){let n=!t||r.route.id!==t.route.id,a=void 0===e[r.route.id];return n||a}(e.loaderData,e.matches[i],t)||o.some((e=>e===t.route.id))||le(e.location,e.matches[i],r,n,t,a,u)))),h=[];return c&&c.forEach(((e,t)=>{let[n,o,l]=e;(i.includes(t)||a&&le(n,o,r,n,o,a,u))&&h.push([t,n,o,l])})),[d,h]}function ie(e,t){let r=e.route.path;return e.pathname!==t.pathname||r&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function le(e,t,r,n,a,i,l){let s=m(e),c=t.params,u=m(n),d=a.params,h=ie(t,a)||s.toString()===u.toString()||s.search!==u.search||i;if(a.route.shouldRevalidate){let e=a.route.shouldRevalidate(o({currentUrl:s,currentParams:c,nextUrl:u,nextParams:d},r,{actionResult:l,defaultShouldRevalidate:h}));if("boolean"==typeof e)return e}return h}async function se(e,t,r,n,a,o,i){let l,s,c;void 0===o&&(o=!1),void 0===i&&(i=!1);let u=new Promise(((e,t)=>c=t)),d=()=>c();t.signal.addEventListener("abort",d);try{let n=r.route[e];j(n,"Could not find the "+e+' to run on the "'+r.route.id+'" route'),s=await Promise.race([n({request:t,params:r.params}),u])}catch(e){l=g.error,s=e}finally{t.signal.removeEventListener("abort",d)}if(s instanceof Response){let e,c=s.status;if(c>=300&&c<=399){let e=s.headers.get("Location");j(e,"Redirects returned/thrown from loaders/actions must have a Location header");let i=I(e,F(n.slice(0,n.indexOf(r)+1)).map((e=>e.pathnameBase)),m(t.url).pathname);if(j(f(i),"Unable to resolve redirect location: "+s.headers.get("Location")),a){let e=i.pathname;i.pathname="/"===e?a:B([a,e])}if(e=f(i),o)throw s.headers.set("Location",e),s;return{type:g.redirect,status:c,location:e,revalidate:null!==s.headers.get("X-Remix-Revalidate")}}if(i)throw{type:l||g.data,response:s};let u=s.headers.get("Content-Type");return e=u&&u.startsWith("application/json")?await s.json():await s.text(),l===g.error?{type:l,error:new G(c,s.statusText,e),headers:s.headers}:{type:g.data,data:e,statusCode:s.status,headers:s.headers}}return l===g.error?{type:l,error:s}:s instanceof z?{type:g.deferred,deferredData:s}:{type:g.data,data:s}}function ce(e,t,r){let n=m(ge(e)).toString(),a={signal:t};if(r){let{formMethod:e,formEncType:t,formData:n}=r;a.method=e.toUpperCase(),a.body="application/x-www-form-urlencoded"===t?ue(n):n}return new Request(n,a)}function ue(e){let t=new URLSearchParams;for(let[r,n]of e.entries())j("string"==typeof n,'File inputs are not supported with encType "application/x-www-form-urlencoded", please use "multipart/form-data" instead.'),t.append(r,n);return t}function de(e,t,r,n,a,i,l,s){let{loaderData:c,errors:u}=function(e,t,r,n,a){let o,i={},l=null,s=!1,c={};return r.forEach(((r,u)=>{let d=t[u].route.id;if(j(!be(r),"Cannot handle redirect results in processLoaderData"),we(r)){let t=fe(e,d),a=r.error;n&&(a=Object.values(n)[0],n=void 0),l=Object.assign(l||{},{[t.route.id]:a}),s||(s=!0,o=X(r.error)?r.error.status:500),r.headers&&(c[d]=r.headers)}else ye(r)?(a&&a.set(d,r.deferredData),i[d]=r.deferredData.data):(i[d]=r.data,null==r.statusCode||200===r.statusCode||s||(o=r.statusCode),r.headers&&(c[d]=r.headers))})),n&&(l=n),{loaderData:i,errors:l,statusCode:o||200,loaderHeaders:c}}(t,r,n,a,s);for(let t=0;t<i.length;t++){let[r,,n]=i[t];j(void 0!==l&&void 0!==l[t],"Did not find corresponding fetcher result");let a=l[t];if(we(a)){let t=fe(e.matches,n.route.id);u&&u[t.route.id]||(u=o({},u,{[t.route.id]:a.error})),e.fetchers.delete(r)}else{if(be(a))throw new Error("Unhandled fetcher revalidation redirect");if(ye(a))throw new Error("Unhandled fetcher deferred data");{let t={state:"idle",data:a.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};e.fetchers.set(r,t)}}}return{loaderData:c,errors:u}}function he(e,t,r){let n=o({},t);return r.forEach((r=>{let a=r.route.id;void 0===t[a]&&void 0!==e[a]&&(n[a]=e[a])})),n}function fe(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 pe(e){return function(e,t,r){let n=e.find((e=>e.index||!e.path||"/"===e.path))||{id:"__shim-"+t+"-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:n}],route:n,error:new G(t,r,null)}}(e,404,"Not Found")}function me(e){let t="string"==typeof e?e:f(e);return console.warn("You're trying to submit to a route that does not have an action. To fix this, please add an `action` function to the route for ["+t+"]"),{type:g.error,error:new G(405,"Method Not Allowed","")}}function ve(e){for(let t=e.length-1;t>=0;t--){let r=e[t];if(be(r))return r}}function ge(e){return f(o({},"string"==typeof e?p(e):e,{hash:""}))}function ye(e){return e.type===g.deferred}function we(e){return e.type===g.error}function be(e){return(e&&e.type)===g.redirect}async function Ee(e,t,r,n,a,o){for(let i=0;i<r.length;i++){let l=r[i],s=t[i],c=e.find((e=>e.route.id===s.route.id)),u=null!=c&&!ie(c,s)&&void 0!==(o&&o[s.route.id]);ye(l)&&(a||u)&&await Re(l,n,a).then((e=>{e&&(r[i]=e||r[i])}))}}async function Re(e,t,r){if(void 0===r&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:g.data,data:e.deferredData.unwrappedData}}catch(e){return{type:g.error,error:e}}return{type:g.data,data:e.deferredData.data}}}function De(e){return new URLSearchParams(e).getAll("index").some((e=>""===e))}function Se(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}}function Ce(e,t){let r="string"==typeof t?p(t).search:t.search;if(e[e.length-1].route.index&&De(r||""))return e[e.length-1];let n=F(e);return n[n.length-1]}function xe(){return xe=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},xe.apply(this,arguments)}new Set(["GET","HEAD",...re]);const Pe="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},{useState:Ae,useEffect:Le,useLayoutEffect:Me,useDebugValue:Oe}=a;function Te(e){const t=e.getSnapshot,r=e.value;try{const e=t();return!Pe(r,e)}catch(e){return!0}}const Ue="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t,r){return t()}:function(e,t,r){const n=t(),[{inst:a},o]=Ae({inst:{value:n,getSnapshot:t}});return Me((()=>{a.value=n,a.getSnapshot=t,Te(a)&&o({inst:a})}),[e,n,t]),Le((()=>(Te(a)&&o({inst:a}),e((()=>{Te(a)&&o({inst:a})})))),[e]),Oe(n),n},je="useSyncExternalStore"in a?a.useSyncExternalStore:Ue,ke=a.createContext(null),_e=a.createContext(null),Ne=a.createContext(null),Fe=a.createContext(null),Ie=a.createContext(null),Be=a.createContext(null),He=a.createContext({outlet:null,matches:[]}),Ke=a.createContext(null);function We(e,t){let{relative:r}=void 0===t?{}:t;$e()||j(!1);let{basename:n,navigator:o}=a.useContext(Ie),{hash:i,pathname:l,search:s}=Ze(e,{relative:r}),c=l;return"/"!==n&&(c="/"===l?n:B([n,l])),o.createHref({pathname:c,search:s,hash:i})}function $e(){return null!=a.useContext(Be)}function Je(){return $e()||j(!1),a.useContext(Be).location}function ze(){return a.useContext(Be).navigationType}function Ye(e){$e()||j(!1);let{pathname:t}=Je();return a.useMemo((()=>O(e,t)),[t,e])}function qe(){$e()||j(!1);let{basename:e,navigator:t}=a.useContext(Ie),{matches:r}=a.useContext(He),{pathname:n}=Je(),o=JSON.stringify(F(r).map((e=>e.pathnameBase))),i=a.useRef(!1);return a.useEffect((()=>{i.current=!0})),a.useCallback((function(r,a){if(void 0===a&&(a={}),!i.current)return;if("number"==typeof r)return void t.go(r);let l=I(r,JSON.parse(o),n,"path"===a.relative);"/"!==e&&(l.pathname="/"===l.pathname?e:B([e,l.pathname])),(a.replace?t.replace:t.push)(l,a.state,a)}),[e,t,o,n])}const Ve=a.createContext(null);function Ge(){return a.useContext(Ve)}function Xe(e){let t=a.useContext(He).outlet;return t?a.createElement(Ve.Provider,{value:e},t):t}function Qe(){let{matches:e}=a.useContext(He),t=e[e.length-1];return t?t.params:{}}function Ze(e,t){let{relative:r}=void 0===t?{}:t,{matches:n}=a.useContext(He),{pathname:o}=Je(),i=JSON.stringify(F(n).map((e=>e.pathnameBase)));return a.useMemo((()=>I(e,JSON.parse(i),o,"path"===r)),[e,i,o,r])}function et(e,t){$e()||j(!1);let r=a.useContext(Ne),{matches:o}=a.useContext(He),i=o[o.length-1],l=i?i.params:{},s=(i&&i.pathname,i?i.pathnameBase:"/");i&&i.route;let c,u=Je();if(t){var d;let e="string"==typeof t?p(t):t;"/"===s||(null==(d=e.pathname)?void 0:d.startsWith(s))||j(!1),c=e}else c=u;let h=c.pathname||"/",f=w(e,{pathname:"/"===s?h:h.slice(s.length)||"/"}),m=at(f&&f.map((e=>Object.assign({},e,{params:Object.assign({},l,e.params),pathname:B([s,e.pathname]),pathnameBase:"/"===e.pathnameBase?s:B([s,e.pathnameBase])}))),o,r||void 0);return t&&m?a.createElement(Be.Provider,{value:{location:xe({pathname:"/",search:"",hash:"",state:null,key:"default"},c),navigationType:n.Pop}},m):m}function tt(){let e=mt(),t=X(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:n},i={padding:"2px 4px",backgroundColor:n};return a.createElement(a.Fragment,null,a.createElement("h2",null,"Unhandled Thrown Error!"),a.createElement("h3",{style:{fontStyle:"italic"}},t),r?a.createElement("pre",{style:o},r):null,a.createElement("p",null,"💿 Hey developer 👋"),a.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",a.createElement("code",{style:i},"errorElement")," props on ",a.createElement("code",{style:i},"<Route>")))}class rt extends a.Component{constructor(e){super(e),this.state={location:e.location,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location?{error:e.error,location:e.location}:{error:e.error||t.error,location:t.location}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return this.state.error?a.createElement(Ke.Provider,{value:this.state.error,children:this.props.component}):this.props.children}}function nt(e){let{routeContext:t,match:r,children:n}=e,o=a.useContext(ke);return o&&r.route.errorElement&&(o._deepestRenderedBoundaryId=r.route.id),a.createElement(He.Provider,{value:t},n)}function at(e,t,r){if(void 0===t&&(t=[]),null==e){if(null==r||!r.errors)return null;e=r.matches}let n=e,o=null==r?void 0:r.errors;if(null!=o){let e=n.findIndex((e=>e.route.id&&(null==o?void 0:o[e.route.id])));e>=0||j(!1),n=n.slice(0,Math.min(n.length,e+1))}return n.reduceRight(((e,i,l)=>{let s=i.route.id?null==o?void 0:o[i.route.id]:null,c=r?i.route.errorElement||a.createElement(tt,null):null,u=()=>a.createElement(nt,{match:i,routeContext:{outlet:e,matches:t.concat(n.slice(0,l+1))}},s?c:void 0!==i.route.element?i.route.element:e);return r&&(i.route.errorElement||0===l)?a.createElement(rt,{location:r.location,component:c,error:s,children:u()}):u()}),null)}var ot,it,lt;function st(e){let t=a.useContext(Ne);return t||j(!1),t}function ct(){return st(it.UseNavigation).navigation}function ut(){let e=function(){let e=a.useContext(_e);return e||j(!1),e}(ot.UseRevalidator),t=st(it.UseRevalidator);return{revalidate:e.router.revalidate,state:t.revalidation}}function dt(){let{matches:e,loaderData:t}=st(it.UseMatches);return a.useMemo((()=>e.map((e=>{let{pathname:r,params:n}=e;return{id:e.route.id,pathname:r,params:n,data:t[e.route.id],handle:e.route.handle}}))),[e,t])}function ht(){let e=st(it.UseLoaderData),t=a.useContext(He);t||j(!1);let r=t.matches[t.matches.length-1];return r.route.id||j(!1),e.loaderData[r.route.id]}function ft(e){return st(it.UseRouteLoaderData).loaderData[e]}function pt(){let e=st(it.UseActionData);return a.useContext(He)||j(!1),Object.values((null==e?void 0:e.actionData)||{})[0]}function mt(){var e;let t=a.useContext(Ke),r=st(it.UseRouteError),n=a.useContext(He),o=n.matches[n.matches.length-1];return t||(n||j(!1),o.route.id||j(!1),null==(e=r.errors)?void 0:e[o.route.id])}function vt(){let e=a.useContext(Fe);return null==e?void 0:e._data}function gt(){let e=a.useContext(Fe);return null==e?void 0:e._error}function yt(e){let{fallbackElement:t,router:r}=e,n=je(r.subscribe,(()=>r.state),(()=>r.state)),o=a.useMemo((()=>({createHref:r.createHref,go:e=>r.navigate(e),push:(e,t,n)=>r.navigate(e,{state:t,preventScrollReset:null==n?void 0:n.preventScrollReset}),replace:(e,t,n)=>r.navigate(e,{replace:!0,state:t,preventScrollReset:null==n?void 0:n.preventScrollReset})})),[r]),i=r.basename||"/";return a.createElement(_e.Provider,{value:{router:r,navigator:o,static:!1,basename:i}},a.createElement(Ne.Provider,{value:n},a.createElement(Dt,{basename:r.basename,location:r.state.location,navigationType:r.state.historyAction,navigator:o},r.state.initialized?a.createElement(St,null):t)))}function wt(e){let{basename:t,children:r,initialEntries:n,initialIndex:o}=e,i=a.useRef();null==i.current&&(i.current=l({initialEntries:n,initialIndex:o,v5Compat:!0}));let s=i.current,[c,u]=a.useState({action:s.action,location:s.location});return a.useLayoutEffect((()=>s.listen(u)),[s]),a.createElement(Dt,{basename:t,children:r,location:c.location,navigationType:c.action,navigator:s})}function bt(e){let{to:t,replace:r,state:n,relative:o}=e;$e()||j(!1);let i=a.useContext(Ne),l=qe();return a.useEffect((()=>{i&&"idle"!==i.navigation.state||l(t,{replace:r,state:n,relative:o})})),null}function Et(e){return Xe(e.context)}function Rt(e){j(!1)}function Dt(e){let{basename:t="/",children:r=null,location:o,navigationType:i=n.Pop,navigator:l,static:s=!1}=e;$e()&&j(!1);let c=t.replace(/^\/*/,"/"),u=a.useMemo((()=>({basename:c,navigator:l,static:s})),[c,l,s]);"string"==typeof o&&(o=p(o));let{pathname:d="/",search:h="",hash:f="",state:m=null,key:v="default"}=o,g=a.useMemo((()=>{let e=U(d,c);return null==e?null:{pathname:e,search:h,hash:f,state:m,key:v}}),[c,d,h,f,m,v]);return null==g?null:a.createElement(Ie.Provider,{value:u},a.createElement(Be.Provider,{children:r,value:{location:g,navigationType:i}}))}function St(e){let{children:t,location:r}=e,n=a.useContext(_e);return et(n&&!t?n.router.routes:Lt(t),r)}function Ct(e){let{children:t,errorElement:r,resolve:n}=e;return a.createElement(Pt,{resolve:n,errorElement:r},a.createElement(At,null,t))}!function(e){e.UseRevalidator="useRevalidator"}(ot||(ot={})),function(e){e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator"}(it||(it={})),function(e){e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error"}(lt||(lt={}));const xt=new Promise((()=>{}));class Pt extends a.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("<Await> caught the following error during render",e,t)}render(){let{children:e,errorElement:t,resolve:r}=this.props,n=null,o=lt.pending;if(r instanceof Promise)if(this.state.error){o=lt.error;let e=this.state.error;n=Promise.reject().catch((()=>{})),Object.defineProperty(n,"_tracked",{get:()=>!0}),Object.defineProperty(n,"_error",{get:()=>e})}else r._tracked?(n=r,o=void 0!==n._error?lt.error:void 0!==n._data?lt.success:lt.pending):(o=lt.pending,Object.defineProperty(r,"_tracked",{get:()=>!0}),n=r.then((e=>Object.defineProperty(r,"_data",{get:()=>e})),(e=>Object.defineProperty(r,"_error",{get:()=>e}))));else o=lt.success,n=Promise.resolve(),Object.defineProperty(n,"_tracked",{get:()=>!0}),Object.defineProperty(n,"_data",{get:()=>r});if(o===lt.error&&n._error instanceof J)throw xt;if(o===lt.error&&!t)throw n._error;if(o===lt.error)return a.createElement(Fe.Provider,{value:n,children:t});if(o===lt.success)return a.createElement(Fe.Provider,{value:n,children:e});throw n}}function At(e){let{children:t}=e,r=vt();return"function"==typeof t?t(r):a.createElement(a.Fragment,null,t)}function Lt(e,t){void 0===t&&(t=[]);let r=[];return a.Children.forEach(e,((e,n)=>{if(!a.isValidElement(e))return;if(e.type===a.Fragment)return void r.push.apply(r,Lt(e.props.children,t));e.type!==Rt&&j(!1),e.props.index&&e.props.children&&j(!1);let o=[...t,n],i={id:e.props.id||o.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,hasErrorBoundary:null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle};e.props.children&&(i.children=Lt(e.props.children,o)),r.push(i)})),r}function Mt(e){return at(e)}function Ot(e){return e.map((e=>{let t=xe({},e);return null==t.hasErrorBoundary&&(t.hasErrorBoundary=null!=t.errorElement),t.children&&(t.children=Ot(t.children)),t}))}function Tt(e,t){return te({basename:null==t?void 0:t.basename,history:l({initialEntries:null==t?void 0:t.initialEntries,initialIndex:null==t?void 0:t.initialIndex}),hydrationData:null==t?void 0:t.hydrationData,routes:Ot(e)}).initialize()}function Ut(){return Ut=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},Ut.apply(this,arguments)}function jt(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}const kt="get",_t="application/x-www-form-urlencoded";function Nt(e){return null!=e&&"string"==typeof e.tagName}function Ft(e){return void 0===e&&(e=""),new URLSearchParams("string"==typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce(((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map((e=>[r,e])):[[r,n]])}),[]))}const It=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"],Bt=["aria-current","caseSensitive","className","end","style","to","children"],Ht=["reloadDocument","replace","method","action","onSubmit","fetcherKey","routeId","relative"];function Kt(e,t){var r;return te({basename:null==t?void 0:t.basename,history:s({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||(null==(r=window)?void 0:r.__staticRouterHydrationData),routes:Ot(e)}).initialize()}function Wt(e,t){var r;return te({basename:null==t?void 0:t.basename,history:c({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||(null==(r=window)?void 0:r.__staticRouterHydrationData),routes:Ot(e)}).initialize()}function $t(e){let{basename:t,children:r,window:n}=e,o=a.useRef();null==o.current&&(o.current=s({window:n,v5Compat:!0}));let i=o.current,[l,c]=a.useState({action:i.action,location:i.location});return a.useLayoutEffect((()=>i.listen(c)),[i]),a.createElement(Dt,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:i})}function Jt(e){let{basename:t,children:r,window:n}=e,o=a.useRef();null==o.current&&(o.current=c({window:n,v5Compat:!0}));let i=o.current,[l,s]=a.useState({action:i.action,location:i.location});return a.useLayoutEffect((()=>i.listen(s)),[i]),a.createElement(Dt,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:i})}function zt(e){let{basename:t,children:r,history:n}=e;const[o,i]=a.useState({action:n.action,location:n.location});return a.useLayoutEffect((()=>n.listen(i)),[n]),a.createElement(Dt,{basename:t,children:r,location:o.location,navigationType:o.action,navigator:n})}const Yt=a.forwardRef((function(e,t){let{onClick:r,relative:n,reloadDocument:o,replace:i,state:l,target:s,to:c,preventScrollReset:u}=e,d=jt(e,It),h=We(c,{relative:n}),f=rr(c,{replace:i,state:l,target:s,preventScrollReset:u,relative:n});return a.createElement("a",Ut({},d,{href:h,onClick:o?r:function(e){r&&r(e),e.defaultPrevented||f(e)},ref:t,target:s}))})),qt=a.forwardRef((function(e,t){let{"aria-current":r="page",caseSensitive:n=!1,className:o="",end:i=!1,style:l,to:s,children:c}=e,u=jt(e,Bt),d=Ze(s,{relative:u.relative}),h=Je(),f=a.useContext(Ne),p=d.pathname,m=h.pathname,v=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;n||(m=m.toLowerCase(),v=v?v.toLowerCase():null,p=p.toLowerCase());let g,y=m===p||!i&&m.startsWith(p)&&"/"===m.charAt(p.length),w=null!=v&&(v===p||!i&&v.startsWith(p)&&"/"===v.charAt(p.length)),b=y?r:void 0;g="function"==typeof o?o({isActive:y,isPending:w}):[o,y?"active":null,w?"pending":null].filter(Boolean).join(" ");let E="function"==typeof l?l({isActive:y,isPending:w}):l;return a.createElement(Yt,Ut({},u,{"aria-current":b,className:g,ref:t,style:E,to:s}),"function"==typeof c?c({isActive:y,isPending:w}):c)})),Vt=a.forwardRef(((e,t)=>a.createElement(Gt,Ut({},e,{ref:t})))),Gt=a.forwardRef(((e,t)=>{let{reloadDocument:r,replace:n,method:o=kt,action:i,onSubmit:l,fetcherKey:s,routeId:c,relative:u}=e,d=jt(e,Ht),h=or(s,c),f="get"===o.toLowerCase()?"get":"post",p=ir(i,{relative:u});return a.createElement("form",Ut({ref:t,method:f,action:p,onSubmit:r?l:e=>{if(l&&l(e),e.defaultPrevented)return;e.preventDefault();let t=e.nativeEvent.submitter;h(t||e.currentTarget,{method:o,replace:n,relative:u})}},d))}));function Xt(e){let{getKey:t,storageKey:r}=e;return function(e){let{getKey:t,storageKey:r}=void 0===e?{}:e,{router:n}=er(Qt.UseScrollRestoration),{restoreScrollPosition:o,preventScrollReset:i}=tr(Zt.UseScrollRestoration),l=Je(),s=dt(),c=ct();var u;a.useEffect((()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"})),[]),u=a.useCallback((()=>{if("idle"===c.state){let e=(t?t(l,s):null)||l.key;dr[e]=window.scrollY}sessionStorage.setItem(r||ur,JSON.stringify(dr)),window.history.scrollRestoration="auto"}),[r,t,c.state,l,s]),a.useEffect((()=>(window.addEventListener("beforeunload",u),()=>{window.removeEventListener("beforeunload",u)})),[u]),a.useLayoutEffect((()=>{try{let e=sessionStorage.getItem(r||ur);e&&(dr=JSON.parse(e))}catch(e){}}),[r]),a.useLayoutEffect((()=>{let e=null==n?void 0:n.enableScrollRestoration(dr,(()=>window.scrollY),t);return()=>e&&e()}),[n,t]),a.useLayoutEffect((()=>{if(!1!==o)if("number"!=typeof o){if(l.hash){let e=document.getElementById(l.hash.slice(1));if(e)return void e.scrollIntoView()}!0!==i&&window.scrollTo(0,0)}else window.scrollTo(0,o)}),[l,o,i])}({getKey:t,storageKey:r}),null}var Qt,Zt;function er(e){let t=a.useContext(_e);return t||j(!1),t}function tr(e){let t=a.useContext(Ne);return t||j(!1),t}function rr(e,t){let{target:r,replace:n,state:o,preventScrollReset:i,relative:l}=void 0===t?{}:t,s=qe(),c=Je(),u=Ze(e,{relative:l});return a.useCallback((t=>{if(function(e,t){return!(0!==e.button||t&&"_self"!==t||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e))}(t,r)){t.preventDefault();let r=void 0!==n?n:f(c)===f(u);s(e,{replace:r,state:o,preventScrollReset:i,relative:l})}}),[c,s,u,n,o,r,e,i,l])}function nr(e){let t=a.useRef(Ft(e)),r=Je(),n=a.useMemo((()=>function(e,t){let r=Ft(e);for(let e of t.keys())r.has(e)||t.getAll(e).forEach((t=>{r.append(e,t)}));return r}(r.search,t.current)),[r.search]),o=qe(),i=a.useCallback(((e,t)=>{const r=Ft("function"==typeof e?e(n):e);o("?"+r,t)}),[o,n]);return[n,i]}function ar(){return or()}function or(e,t){let{router:r}=er(Qt.UseSubmitImpl),n=ir();return a.useCallback((function(a,o){if(void 0===o&&(o={}),"undefined"==typeof document)throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.");let{method:i,encType:l,formData:s,url:c}=function(e,t,r){let n,a,o,i;if(Nt(l=e)&&"form"===l.tagName.toLowerCase()){let l=r.submissionTrigger;n=r.method||e.getAttribute("method")||kt,a=r.action||e.getAttribute("action")||t,o=r.encType||e.getAttribute("enctype")||_t,i=new FormData(e),l&&l.name&&i.append(l.name,l.value)}else if(function(e){return Nt(e)&&"button"===e.tagName.toLowerCase()}(e)||function(e){return Nt(e)&&"input"===e.tagName.toLowerCase()}(e)&&("submit"===e.type||"image"===e.type)){let l=e.form;if(null==l)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');n=r.method||e.getAttribute("formmethod")||l.getAttribute("method")||kt,a=r.action||e.getAttribute("formaction")||l.getAttribute("action")||t,o=r.encType||e.getAttribute("formenctype")||l.getAttribute("enctype")||_t,i=new FormData(l),e.name&&i.append(e.name,e.value)}else{if(Nt(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');if(n=r.method||kt,a=r.action||t,o=r.encType||_t,e instanceof FormData)i=e;else if(i=new FormData,e instanceof URLSearchParams)for(let[t,r]of e)i.append(t,r);else if(null!=e)for(let t of Object.keys(e))i.append(t,e[t])}var l;let{protocol:s,host:c}=window.location;return{url:new URL(a,s+"//"+c),method:n,encType:o,formData:i}}(a,n,o),u=c.pathname+c.search,d={replace:o.replace,formData:s,formMethod:i,formEncType:l};e?(null==t&&j(!1),r.fetch(e,t,u,d)):r.navigate(u,d)}),[n,r,e,t])}function ir(e,t){let{relative:r}=void 0===t?{}:t,{basename:n}=a.useContext(Ie),o=a.useContext(He);o||j(!1);let[i]=o.matches.slice(-1),l=Ut({},Ze(null!=e?e:".",{relative:r})),s=Je();if(null==e&&(l.search=s.search,l.hash=s.hash,i.route.index)){let e=new URLSearchParams(l.search);e.delete("index"),l.search=e.toString()?"?"+e.toString():""}return e&&"."!==e||!i.route.index||(l.search=l.search?l.search.replace(/^\?/,"?index&"):"?index"),"/"!==n&&(l.pathname="/"===l.pathname?n:B([n,l.pathname])),f(l)}(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmitImpl="useSubmitImpl",e.UseFetcher="useFetcher"})(Qt||(Qt={})),function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(Zt||(Zt={}));let lr=0;function sr(){var e;let{router:t}=er(Qt.UseFetcher),r=a.useContext(He);r||j(!1);let n=null==(e=r.matches[r.matches.length-1])?void 0:e.route.id;null==n&&j(!1);let[o]=a.useState((()=>String(++lr))),[i]=a.useState((()=>(n||j(!1),function(e,t){return a.forwardRef(((r,n)=>a.createElement(Gt,Ut({},r,{ref:n,fetcherKey:e,routeId:t}))))}(o,n)))),[l]=a.useState((()=>e=>{t||j(!1),n||j(!1),t.fetch(o,n,e)})),s=or(o,n),c=t.getFetcher(o),u=a.useMemo((()=>Ut({Form:i,submit:s,load:l},c)),[c,i,s,l]);return a.useEffect((()=>()=>{t?t.deleteFetcher(o):console.warn("No fetcher available to clean up from useFetcher()")}),[t,o]),u}function cr(){return[...tr(Zt.UseFetchers).fetchers.values()]}const ur="react-router-scroll-positions";let dr={}}}]);
2
+ "use strict";(globalThis.webpackChunk_openmrs_esm_appointments_app=globalThis.webpackChunk_openmrs_esm_appointments_app||[]).push([[2913],{52913:(e,t,r)=>{r.r(t),r.d(t,{AbortedDeferredError:()=>Y,Await:()=>nr,BrowserRouter:()=>Nr,Form:()=>$r,HashRouter:()=>Br,Link:()=>Wr,MemoryRouter:()=>Gt,NavLink:()=>Kr,Navigate:()=>Qt,NavigationType:()=>n,Outlet:()=>Zt,Route:()=>er,Router:()=>tr,RouterProvider:()=>jr,Routes:()=>rr,ScrollRestoration:()=>Vr,UNSAFE_DataRouterContext:()=>at,UNSAFE_DataRouterStateContext:()=>ot,UNSAFE_ErrorResponseImpl:()=>re,UNSAFE_FetchersContext:()=>kr,UNSAFE_LocationContext:()=>lt,UNSAFE_NavigationContext:()=>st,UNSAFE_RouteContext:()=>ut,UNSAFE_ViewTransitionContext:()=>Lr,UNSAFE_useRouteId:()=>jt,UNSAFE_useScrollRestoration:()=>ln,createBrowserRouter:()=>xr,createHashRouter:()=>Dr,createMemoryRouter:()=>dr,createPath:()=>m,createRoutesFromChildren:()=>lr,createRoutesFromElements:()=>lr,createSearchParams:()=>yr,defer:()=>Q,generatePath:()=>j,isRouteErrorResponse:()=>ne,json:()=>q,matchPath:()=>O,matchRoutes:()=>S,parsePath:()=>v,redirect:()=>Z,redirectDocument:()=>ee,renderMatches:()=>ur,replace:()=>te,resolvePath:()=>B,unstable_HistoryRouter:()=>Ir,unstable_usePrompt:()=>cn,useActionData:()=>zt,useAsyncError:()=>Kt,useAsyncValue:()=>Wt,useBeforeUnload:()=>un,useBlocker:()=>Vt,useFetcher:()=>nn,useFetchers:()=>an,useFormAction:()=>rn,useHref:()=>dt,useInRouterContext:()=>ht,useLinkClickHandler:()=>Gr,useLoaderData:()=>Bt,useLocation:()=>ft,useMatch:()=>mt,useMatches:()=>Nt,useNavigate:()=>yt,useNavigation:()=>Ot,useNavigationType:()=>pt,useOutlet:()=>wt,useOutletContext:()=>bt,useParams:()=>St,useResolvedPath:()=>Et,useRevalidator:()=>Ft,useRouteError:()=>Ht,useRouteLoaderData:()=>It,useRoutes:()=>Rt,useSearchParams:()=>Qr,useSubmit:()=>tn,useViewTransitionState:()=>dn});var n,a=r(1343),o=r(98241);function i(){return i=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},i.apply(this,arguments)}!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(n||(n={}));const s="popstate";function l(e){void 0===e&&(e={});let t,{initialEntries:r=["/"],initialIndex:a,v5Compat:o=!1}=e;t=r.map((e,t)=>d(e,"string"==typeof e?null:e.state,0===t?"default":void 0));let i=u(null==a?t.length-1:a),s=n.Pop,l=null;function u(e){return Math.min(Math.max(e,0),t.length-1)}function c(){return t[i]}function d(e,r,n){void 0===r&&(r=null);let a=p(t?c().pathname:"/",e,r,n);return h("/"===a.pathname.charAt(0),"relative pathnames are not supported in memory history: "+JSON.stringify(e)),a}function f(e){return"string"==typeof e?e:m(e)}return{get index(){return i},get action(){return s},get location(){return c()},createHref:f,createURL:e=>new URL(f(e),"http://localhost"),encodeLocation(e){let t="string"==typeof e?v(e):e;return{pathname:t.pathname||"",search:t.search||"",hash:t.hash||""}},push(e,r){s=n.Push;let a=d(e,r);i+=1,t.splice(i,t.length,a),o&&l&&l({action:s,location:a,delta:1})},replace(e,r){s=n.Replace;let a=d(e,r);t[i]=a,o&&l&&l({action:s,location:a,delta:0})},go(e){s=n.Pop;let r=u(i+e),a=t[r];i=r,l&&l({action:s,location:a,delta:e})},listen:e=>(l=e,()=>{l=null})}}function u(e){return void 0===e&&(e={}),y(function(e,t){let{pathname:r,search:n,hash:a}=e.location;return p("",{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:m(t)},null,e)}function c(e){return void 0===e&&(e={}),y(function(e,t){let{pathname:r="/",search:n="",hash:a=""}=v(e.location.hash.substr(1));return r.startsWith("/")||r.startsWith(".")||(r="/"+r),p("",{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:m(t))},function(e,t){h("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")},e)}function d(e,t){if(!1===e||null==e)throw new Error(t)}function h(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(e){}}}function f(e,t){return{usr:e.state,key:e.key,idx:t}}function p(e,t,r,n){return void 0===r&&(r=null),i({pathname:"string"==typeof e?e:e.pathname,search:"",hash:""},"string"==typeof t?v(t):t,{state:r,key:t&&t.key||n||Math.random().toString(36).substr(2,8)})}function m(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 v(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 y(e,t,r,a){void 0===a&&(a={});let{window:o=document.defaultView,v5Compat:l=!1}=a,u=o.history,c=n.Pop,h=null,v=y();function y(){return(u.state||{idx:null}).idx}function g(){c=n.Pop;let e=y(),t=null==e?null:e-v;v=e,h&&h({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:m(e);return r=r.replace(/ $/,"%20"),d(t,"No window.location.(origin|href) available to create URL for href: "+r),new URL(r,t)}null==v&&(v=0,u.replaceState(i({},u.state,{idx:v}),""));let w={get action(){return c},get location(){return e(o,u)},listen(e){if(h)throw new Error("A history only accepts one active listener");return o.addEventListener(s,g),h=e,()=>{o.removeEventListener(s,g),h=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=p(w.location,e,t);r&&r(a,e),v=y()+1;let i=f(a,v),s=w.createHref(a);try{u.pushState(i,"",s)}catch(e){if(e instanceof DOMException&&"DataCloneError"===e.name)throw e;o.location.assign(s)}l&&h&&h({action:c,location:w.location,delta:1})},replace:function(e,t){c=n.Replace;let a=p(w.location,e,t);r&&r(a,e),v=y();let o=f(a,v),i=w.createHref(a);u.replaceState(o,"",i),l&&h&&h({action:c,location:w.location,delta:0})},go:e=>u.go(e)};return w}var g;!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(g||(g={}));const 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,String(a)],s="string"==typeof e.id?e.id:o.join("-");if(d(!0!==e.index||!e.children,"Cannot specify children on an index route"),d(!n[s],'Found a route id collision on id "'+s+"\". Route id's must be globally unique within Data Router usages"),function(e){return!0===e.index}(e)){let r=i({},e,t(e),{id:s});return n[s]=r,r}{let r=i({},e,t(e),{id:s,children:void 0});return n[s]=r,e.children&&(r.children=w(e.children,t,o,n)),r}})}function S(e,t,r){return void 0===r&&(r="/"),E(e,t,r,!1)}function E(e,t,r,n){let a=N(("string"==typeof t?v(t):t).pathname||"/",r);if(null==a)return null;let o=x(e);!function(e){e.sort((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){return e.length===t.length&&e.slice(0,-1).every((e,r)=>e===t[r])?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)))}(o);let i=null;for(let e=0;null==i&&e<o.length;++e){let t=F(a);i=U(o[e],t,n)}return i}function R(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}}function x(e,t,r,n){void 0===t&&(t=[]),void 0===r&&(r=[]),void 0===n&&(n="");let a=(e,a,o)=>{let i={relativePath:void 0===o?e.path||"":o,caseSensitive:!0===e.caseSensitive,childrenIndex:a,route:e};i.relativePath.startsWith("/")&&(d(i.relativePath.startsWith(n),'Absolute route path "'+i.relativePath+'" nested under path "'+n+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),i.relativePath=i.relativePath.slice(n.length));let s=K([n,i.relativePath]),l=r.concat(i);e.children&&e.children.length>0&&(d(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+s+'".'),x(e.children,t,l,s)),(null!=e.path||e.index)&&t.push({path:s,score:M(s,e.index),routesMeta:l})};return e.forEach((e,t)=>{var r;if(""!==e.path&&null!=(r=e.path)&&r.includes("?"))for(let r of D(e.path))a(e,t,r);else a(e,t)}),t}function D(e){let t=e.split("/");if(0===t.length)return[];let[r,...n]=t,a=r.endsWith("?"),o=r.replace(/\?$/,"");if(0===n.length)return a?[o,""]:[o];let i=D(n.join("/")),s=[];return s.push(...i.map(e=>""===e?o:[o,e].join("/"))),a&&s.push(...i),s.map(t=>e.startsWith("/")&&""===t?"/":t)}const C=/^:[\w-]+$/,P=3,L=2,k=1,_=10,T=-2,A=e=>"*"===e;function M(e,t){let r=e.split("/"),n=r.length;return r.some(A)&&(n+=T),t&&(n+=L),r.filter(e=>!A(e)).reduce((e,t)=>e+(C.test(t)?P:""===t?k:_),n)}function U(e,t,r){void 0===r&&(r=!1);let{routesMeta:n}=e,a={},o="/",i=[];for(let e=0;e<n.length;++e){let s=n[e],l=e===n.length-1,u="/"===o?t:t.slice(o.length)||"/",c=O({path:s.relativePath,caseSensitive:s.caseSensitive,end:l},u),d=s.route;if(!c&&l&&r&&!n[n.length-1].route.index&&(c=O({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},u)),!c)return null;Object.assign(a,c.params),i.push({params:a,pathname:K([o,c.pathname]),pathnameBase:$(K([o,c.pathnameBase])),route:d}),"/"!==c.pathnameBase&&(o=K([o,c.pathnameBase]))}return i}function j(e,t){void 0===t&&(t={});let r=e;r.endsWith("*")&&"*"!==r&&!r.endsWith("/*")&&(h(!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 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["*"]);const o=e.match(/^:([\w-]+)(\??)$/);if(o){const[,e,r]=o;let n=t[e];return d("?"===r||null!=n,'Missing ":'+e+'" param'),a(n)}return e.replace(/\?$/g,"")}).filter(e=>!!e).join("/")}function O(e,t){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=function(e,t,r){void 0===t&&(t=!1),void 0===r&&(r=!0),h("*"===e||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were "'+e.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+e.replace(/\*$/,"/*")+'".');let n=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,t,r)=>(n.push({paramName:t,isOptional:null!=r}),r?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(n.push({paramName:"*"}),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),s=a.slice(1);return{params:n.reduce((e,t,r)=>{let{paramName:n,isOptional:a}=t;if("*"===n){let e=s[r]||"";i=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}const l=s[r];return e[n]=a&&!l?void 0:(l||"").replace(/%2F/g,"/"),e},{}),pathname:o,pathnameBase:i,pattern:e}}function F(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(t){return h(!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}}function N(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 B(e,t){void 0===t&&(t="/");let{pathname:r,search:n="",hash:a=""}="string"==typeof e?v(e):e,o=r?r.startsWith("/")?r:function(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(e=>{".."===e?r.length>1&&r.pop():"."!==e&&r.push(e)}),r.length>1?r.join("/"):"/"}(r,t):t;return{pathname:o,search:V(n),hash:J(a)}}function I(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 z(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}function H(e,t){let r=z(e);return t?r.map((e,t)=>t===r.length-1?e.pathname:e.pathnameBase):r.map(e=>e.pathnameBase)}function W(e,t,r,n){let a;void 0===n&&(n=!1),"string"==typeof e?a=v(e):(a=i({},e),d(!a.pathname||!a.pathname.includes("?"),I("?","pathname","search",a)),d(!a.pathname||!a.pathname.includes("#"),I("#","pathname","hash",a)),d(!a.search||!a.search.includes("#"),I("#","search","hash",a)));let o,s=""===e||""===a.pathname,l=s?"/":a.pathname;if(null==l)o=r;else{let e=t.length-1;if(!n&&l.startsWith("..")){let t=l.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}o=e>=0?t[e]:"/"}let u=B(a,o),c=l&&"/"!==l&&l.endsWith("/"),h=(s||"."===l)&&r.endsWith("/");return u.pathname.endsWith("/")||!c&&!h||(u.pathname+="/"),u}const K=e=>e.join("/").replace(/\/\/+/g,"/"),$=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),V=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",J=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"",q=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),i({},r,{headers:n}))};class Y extends Error{}class X{constructor(e,t){let r;this.pendingKeysSet=new Set,this.subscribers=new Set,this.deferredKeys=[],d(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 Y("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 Y)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=new 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 d(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]:G(n)})},{})}get pendingKeys(){return Array.from(this.pendingKeysSet)}}function G(e){if(!function(e){return e instanceof Promise&&!0===e._tracked}(e))return e;if(e._error)throw e._error;return e._data}const Q=function(e,t){return void 0===t&&(t={}),new X(e,"number"==typeof t?{status:t}:t)},Z=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,i({},r,{headers:n}))},ee=(e,t)=>{let r=Z(e,t);return r.headers.set("X-Remix-Reload-Document","true"),r},te=(e,t)=>{let r=Z(e,t);return r.headers.set("X-Remix-Replace","true"),r};class re{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 ne(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}const ae=["post","put","patch","delete"],oe=new Set(ae),ie=["get",...ae],se=new Set(ie),le=new Set([301,302,303,307,308]),ue=new Set([307,308]),ce={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},de={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},he={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},fe=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,pe=e=>({hasErrorBoundary:Boolean(e.hasErrorBoundary)}),me="remix-router-transitions";function ve(e){const t=e.window?e.window:"undefined"!=typeof window?window:void 0,r=void 0!==t&&void 0!==t.document&&void 0!==t.document.createElement,a=!r;let o;if(d(e.routes.length>0,"You must provide a non-empty routes array to createRouter"),e.mapRouteProperties)o=e.mapRouteProperties;else if(e.detectErrorBoundary){let t=e.detectErrorBoundary;o=e=>({hasErrorBoundary:t(e)})}else o=pe;let s,l,u,c={},f=w(e.routes,o,void 0,c),m=e.basename||"/",v=e.dataStrategy||Ce,y=e.patchRoutesOnNavigation,x=i({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1,v7_skipActionErrorRevalidation:!1},e.future),D=null,C=new Set,P=null,L=null,k=null,_=null!=e.hydrationData,T=S(f,e.history.location,m),A=!1,M=null;if(null==T&&!y){let t=Ne(404,{pathname:e.history.location.pathname}),{matches:r,route:n}=Fe(f);T=r,M={[n.id]:t}}if(T&&!e.hydrationData&&ct(T,f,e.history.location.pathname).active&&(T=null),T)if(T.some(e=>e.route.lazy))l=!1;else if(T.some(e=>e.route.loader))if(x.v7_partialHydration){let t=e.hydrationData?e.hydrationData.loaderData:null,r=e.hydrationData?e.hydrationData.errors:null;if(r){let e=T.findIndex(e=>void 0!==r[e.route.id]);l=T.slice(0,e+1).every(e=>!Se(e.route,t,r))}else l=T.every(e=>!Se(e.route,t,r))}else l=null!=e.hydrationData;else l=!0;else if(l=!1,T=[],x.v7_partialHydration){let t=ct(null,f,e.history.location.pathname);t.active&&t.matches&&(A=!0,T=t.matches)}let U,j,O={historyAction:e.history.action,location:e.history.location,matches:T,initialized:l,navigation:ce,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||M,fetchers:new Map,blockers:new Map},F=n.Pop,B=!1,I=!1,z=new Map,H=null,W=!1,K=!1,$=[],V=new Set,J=new Map,q=0,Y=-1,X=new Map,G=new Set,Q=new Map,Z=new Map,ee=new Set,te=new Map,re=new Map;function ae(e,t){void 0===t&&(t={}),O=i({},O,e);let r=[],n=[];x.v7_fetcherPersist&&O.fetchers.forEach((e,t)=>{"idle"===e.state&&(ee.has(t)?n.push(t):r.push(t))}),ee.forEach(e=>{O.fetchers.has(e)||J.has(e)||n.push(e)}),[...C].forEach(e=>e(O,{deletedFetchers:n,viewTransitionOpts:t.viewTransitionOpts,flushSync:!0===t.flushSync})),x.v7_fetcherPersist?(r.forEach(e=>O.fetchers.delete(e)),n.forEach(e=>Ae(e))):n.forEach(e=>ee.delete(e))}function oe(t,r,a){var o,l;let u,{flushSync:c}=void 0===a?{}:a,d=null!=O.actionData&&null!=O.navigation.formMethod&&Je(O.navigation.formMethod)&&"loading"===O.navigation.state&&!0!==(null==(o=t.state)?void 0:o._isRedirect);u=r.actionData?Object.keys(r.actionData).length>0?r.actionData:null:d?O.actionData:null;let h=r.loaderData?Ue(O.loaderData,r.loaderData,r.matches||[],r.errors):O.loaderData,p=O.blockers;p.size>0&&(p=new Map(p),p.forEach((e,t)=>p.set(t,he)));let m,v=!0===B||null!=O.navigation.formMethod&&Je(O.navigation.formMethod)&&!0!==(null==(l=t.state)?void 0:l._isRedirect);if(s&&(f=s,s=void 0),W||F===n.Pop||(F===n.Push?e.history.push(t,t.state):F===n.Replace&&e.history.replace(t,t.state)),F===n.Pop){let e=z.get(O.location.pathname);e&&e.has(t.pathname)?m={currentLocation:O.location,nextLocation:t}:z.has(t.pathname)&&(m={currentLocation:t,nextLocation:O.location})}else if(I){let e=z.get(O.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),z.set(O.location.pathname,e)),m={currentLocation:O.location,nextLocation:t}}ae(i({},r,{actionData:u,loaderData:h,historyAction:F,location:t,initialized:!0,navigation:ce,revalidation:"idle",restoreScrollPosition:ut(t,r.matches||O.matches),preventScrollReset:v,blockers:p}),{viewTransitionOpts:m,flushSync:!0===c}),F=n.Pop,B=!1,I=!1,W=!1,K=!1,$=[]}async function ie(t,r,a){U&&U.abort(),U=null,F=t,W=!0===(a&&a.startUninterruptedRevalidation),function(e,t){if(P&&k){let r=lt(e,t);P[r]=k()}}(O.location,O.matches),B=!0===(a&&a.preventScrollReset),I=!0===(a&&a.enableViewTransition);let o=s||f,l=a&&a.overrideNavigation,u=null!=a&&a.initialHydration&&O.matches&&O.matches.length>0&&!A?O.matches:S(o,r,m),c=!0===(a&&a.flushSync);if(u&&O.initialized&&!K&&(d=O.location,h=r,d.pathname===h.pathname&&d.search===h.search&&(""===d.hash?""!==h.hash:d.hash===h.hash||""!==h.hash))&&!(a&&a.submission&&Je(a.submission.formMethod)))return void oe(r,{matches:u},{flushSync:c});var d,h;let p=ct(u,o,r.pathname);if(p.active&&p.matches&&(u=p.matches),!u){let{error:e,notFoundMatches:t,route:n}=it(r.pathname);return void oe(r,{matches:t,loaderData:{},errors:{[n.id]:e}},{flushSync:c})}U=new AbortController;let v,y=_e(e.history,r,U.signal,a&&a.submission);if(a&&a.pendingError)v=[Oe(u).route.id,{type:g.error,error:a.pendingError}];else if(a&&a.submission&&Je(a.submission.formMethod)){let t=await async function(e,t,r,a,o,i){void 0===i&&(i={}),Ee();let s,l=function(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}}(t,r);if(ae({navigation:l},{flushSync:!0===i.flushSync}),o){let r=await dt(a,t.pathname,e.signal);if("aborted"===r.type)return{shortCircuited:!0};if("error"===r.type){let e=Oe(r.partialMatches).route.id;return{matches:r.partialMatches,pendingActionResult:[e,{type:g.error,error:r.error}]}}if(!r.matches){let{notFoundMatches:e,error:r,route:n}=it(t.pathname);return{matches:e,pendingActionResult:[n.id,{type:g.error,error:r}]}}a=r.matches}let u=Qe(a,t);if(u.route.action||u.route.lazy){if(s=(await ve("action",O,e,[u],a,null))[u.route.id],e.signal.aborted)return{shortCircuited:!0}}else s={type:g.error,error:Ne(405,{method:e.method,pathname:t.pathname,routeId:u.route.id})};if(Ke(s)){let t;return t=i&&null!=i.replace?i.replace:ke(s.response.headers.get("Location"),new URL(e.url),m)===O.location.pathname+O.location.search,await le(e,s,!0,{submission:r,replace:t}),{shortCircuited:!0}}if(He(s))throw Ne(400,{type:"defer-action"});if(We(s)){let e=Oe(a,u.route.id);return!0!==(i&&i.replace)&&(F=n.Push),{matches:a,pendingActionResult:[e.route.id,s]}}return{matches:a,pendingActionResult:[u.route.id,s]}}(y,r,a.submission,u,p.active,{replace:a.replace,flushSync:c});if(t.shortCircuited)return;if(t.pendingActionResult){let[e,n]=t.pendingActionResult;if(We(n)&&ne(n.error)&&404===n.error.status)return U=null,void oe(r,{matches:t.matches,loaderData:{},errors:{[e]:n.error}})}u=t.matches||u,v=t.pendingActionResult,l=et(r,a.submission),c=!1,p.active=!1,y=_e(e.history,y.url,y.signal)}let{shortCircuited:b,matches:w,loaderData:E,errors:R}=await async function(t,r,n,a,o,l,u,c,d,h,p){let v=o||et(r,l),y=l||u||Ze(v),g=!(W||x.v7_partialHydration&&d);if(a){if(g){let e=se(p);ae(i({navigation:v},void 0!==e?{actionData:e}:{}),{flushSync:h})}let e=await dt(n,r.pathname,t.signal);if("aborted"===e.type)return{shortCircuited:!0};if("error"===e.type){let t=Oe(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}if(!e.matches){let{error:e,notFoundMatches:t,route:n}=it(r.pathname);return{matches:t,loaderData:{},errors:{[n.id]:e}}}n=e.matches}let b=s||f,[w,S]=we(e.history,O,n,y,r,x.v7_partialHydration&&!0===d,x.v7_skipActionErrorRevalidation,K,$,V,ee,Q,G,b,m,p);if(st(e=>!(n&&n.some(t=>t.route.id===e))||w&&w.some(t=>t.route.id===e)),Y=++q,0===w.length&&0===S.length){let e=Ve();return oe(r,i({matches:n,loaderData:{},errors:p&&We(p[1])?{[p[0]]:p[1].error}:null},je(p),e?{fetchers:new Map(O.fetchers)}:{}),{flushSync:h}),{shortCircuited:!0}}if(g){let e={};if(!a){e.navigation=v;let t=se(p);void 0!==t&&(e.actionData=t)}S.length>0&&(e.fetchers=function(e){return e.forEach(e=>{let t=O.fetchers.get(e.key),r=tt(void 0,t?t.data:void 0);O.fetchers.set(e.key,r)}),new Map(O.fetchers)}(S)),ae(e,{flushSync:h})}S.forEach(e=>{Ie(e.key),e.controller&&J.set(e.key,e.controller)});let E=()=>S.forEach(e=>Ie(e.key));U&&U.signal.addEventListener("abort",E);let{loaderResults:R,fetcherResults:D}=await be(O,n,w,S,t);if(t.signal.aborted)return{shortCircuited:!0};U&&U.signal.removeEventListener("abort",E),S.forEach(e=>J.delete(e.key));let C=Be(R);if(C)return await le(t,C.result,!0,{replace:c}),{shortCircuited:!0};if(C=Be(D),C)return G.add(C.key),await le(t,C.result,!0,{replace:c}),{shortCircuited:!0};let{loaderData:P,errors:L}=Me(O,n,R,p,S,D,te);te.forEach((e,t)=>{e.subscribe(r=>{(r||e.done)&&te.delete(t)})}),x.v7_partialHydration&&d&&O.errors&&(L=i({},O.errors,L));let k=Ve(),_=Ge(Y),T=k||_||S.length>0;return i({matches:n,loaderData:P,errors:L},T?{fetchers:new Map(O.fetchers)}:{})}(y,r,u,p.active,l,a&&a.submission,a&&a.fetcherSubmission,a&&a.replace,a&&!0===a.initialHydration,c,v);b||(U=null,oe(r,i({matches:w||u},je(v),{loaderData:E,errors:R})))}function se(e){return e&&!We(e[1])?{[e[0]]:e[1].data}:O.actionData?0===Object.keys(O.actionData).length?null:O.actionData:void 0}async function le(a,o,s,l){let{submission:u,fetcherSubmission:c,preventScrollReset:h,replace:f}=void 0===l?{}:l;o.response.headers.has("X-Remix-Revalidate")&&(K=!0);let v=o.response.headers.get("Location");d(v,"Expected a Location header on the redirect Response"),v=ke(v,new URL(a.url),m);let y=p(O.location,v,{_isRedirect:!0});if(r){let r=!1;if(o.response.headers.has("X-Remix-Reload-Document"))r=!0;else if(fe.test(v)){const n=e.history.createURL(v);r=n.origin!==t.location.origin||null==N(n.pathname,m)}if(r)return void(f?t.location.replace(v):t.location.assign(v))}U=null;let g=!0===f||o.response.headers.has("X-Remix-Replace")?n.Replace:n.Push,{formMethod:b,formAction:w,formEncType:S}=O.navigation;!u&&!c&&b&&w&&S&&(u=Ze(O.navigation));let E=u||c;if(ue.has(o.response.status)&&E&&Je(E.formMethod))await ie(g,y,{submission:i({},E,{formAction:v}),preventScrollReset:h||B,enableViewTransition:s?I:void 0});else{let e=et(y,u);await ie(g,y,{overrideNavigation:e,fetcherSubmission:c,preventScrollReset:h||B,enableViewTransition:s?I:void 0})}}async function ve(e,t,r,n,a,s){let l,u={};try{l=await async function(e,t,r,n,a,o,s,l,u,c){let f=o.map(e=>e.route.lazy?async function(e,t,r){if(!e.lazy)return;let n=await e.lazy();if(!e.lazy)return;let a=r[e.id];d(a,"No route found in manifest");let o={};for(let e in n){let t=void 0!==a[e]&&"hasErrorBoundary"!==e;h(!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,i({},t(a),{lazy:void 0}))}(e.route,u,l):void 0),p=o.map((e,r)=>{let o=f[r],s=a.some(t=>t.route.id===e.route.id);return i({},e,{shouldLoad:s,resolve:async r=>(r&&"GET"===n.method&&(e.route.lazy||e.route.loader)&&(s=!0),s?async function(e,t,r,n,a,o){let i,s,l=n=>{let i,l=new Promise((e,t)=>i=t);s=()=>i(),t.signal.addEventListener("abort",s);let u=a=>"function"!=typeof n?Promise.reject(new Error('You cannot call the handler for a route which defines a boolean "'+e+'" [routeId: '+r.route.id+"]")):n({request:t,params:r.params,context:o},...void 0!==a?[a]:[]),c=(async()=>{try{return{type:"data",result:await(a?a(e=>u(e)):u())}}catch(e){return{type:"error",result:e}}})();return Promise.race([c,l])};try{let a=r.route[e];if(n)if(a){let e,[t]=await Promise.all([l(a).catch(t=>{e=t}),n]);if(void 0!==e)throw e;i=t}else{if(await n,a=r.route[e],!a){if("action"===e){let e=new URL(t.url),n=e.pathname+e.search;throw Ne(405,{method:t.method,pathname:n,routeId:r.route.id})}return{type:g.data,result:void 0}}i=await l(a)}else{if(!a){let e=new URL(t.url);throw Ne(404,{pathname:e.pathname+e.search})}i=await l(a)}d(void 0!==i.result,"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){return{type:g.error,result:e}}finally{s&&t.signal.removeEventListener("abort",s)}return i}(t,n,e,o,r,c):Promise.resolve({type:g.data,result:void 0}))})}),m=await e({matches:p,request:n,params:o[0].params,fetcherKey:s,context:c});try{await Promise.all(f)}catch(e){}return m}(v,e,0,r,n,a,s,c,o)}catch(e){return n.forEach(t=>{u[t.route.id]={type:g.error,error:e}}),u}for(let[e,t]of Object.entries(l))if(ze(t)){let n=t.result;u[e]={type:g.redirect,response:Le(n,r,e,a,m,x.v7_relativeSplatPath)}}else u[e]=await Pe(t);return u}async function be(t,r,n,a,o){let i=t.matches,s=ve("loader",0,o,n,r,null),l=Promise.all(a.map(async t=>{if(t.matches&&t.match&&t.controller){let r=(await ve("loader",0,_e(e.history,t.path,t.controller.signal),[t.match],t.matches,t.key))[t.match.route.id];return{[t.key]:r}}return Promise.resolve({[t.key]:{type:g.error,error:Ne(404,{pathname:t.path})}})})),u=await s,c=(await l).reduce((e,t)=>Object.assign(e,t),{});return await Promise.all([qe(r,u,o.signal,i,t.loaderData),Ye(r,c,a)]),{loaderResults:u,fetcherResults:c}}function Ee(){K=!0,$.push(...st()),Q.forEach((e,t)=>{J.has(t)&&V.add(t),Ie(t)})}function Re(e,t,r){void 0===r&&(r={}),O.fetchers.set(e,t),ae({fetchers:new Map(O.fetchers)},{flushSync:!0===(r&&r.flushSync)})}function De(e,t,r,n){void 0===n&&(n={});let a=Oe(O.matches,t);Ae(e),ae({errors:{[a.route.id]:r},fetchers:new Map(O.fetchers)},{flushSync:!0===(n&&n.flushSync)})}function Te(e){return Z.set(e,(Z.get(e)||0)+1),ee.has(e)&&ee.delete(e),O.fetchers.get(e)||de}function Ae(e){let t=O.fetchers.get(e);!J.has(e)||t&&"loading"===t.state&&X.has(e)||Ie(e),Q.delete(e),X.delete(e),G.delete(e),x.v7_fetcherPersist&&ee.delete(e),V.delete(e),O.fetchers.delete(e)}function Ie(e){let t=J.get(e);t&&(t.abort(),J.delete(e))}function $e(e){for(let t of e){let e=rt(Te(t).data);O.fetchers.set(t,e)}}function Ve(){let e=[],t=!1;for(let r of G){let n=O.fetchers.get(r);d(n,"Expected fetcher: "+r),"loading"===n.state&&(G.delete(r),e.push(r),t=!0)}return $e(e),t}function Ge(e){let t=[];for(let[r,n]of X)if(n<e){let e=O.fetchers.get(r);d(e,"Expected fetcher: "+r),"loading"===e.state&&(Ie(r),X.delete(r),t.push(r))}return $e(t),t.length>0}function nt(e){O.blockers.delete(e),re.delete(e)}function at(e,t){let r=O.blockers.get(e)||he;d("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(O.blockers);n.set(e,t),ae({blockers:n})}function ot(e){let{currentLocation:t,nextLocation:r,historyAction:n}=e;if(0===re.size)return;re.size>1&&h(!1,"A router only supports one blocker at a time");let a=Array.from(re.entries()),[o,i]=a[a.length-1],s=O.blockers.get(o);return s&&"proceeding"===s.state?void 0:i({currentLocation:t,nextLocation:r,historyAction:n})?o:void 0}function it(e){let t=Ne(404,{pathname:e}),r=s||f,{matches:n,route:a}=Fe(r);return st(),{notFoundMatches:n,route:a,error:t}}function st(e){let t=[];return te.forEach((r,n)=>{e&&!e(n)||(r.cancel(),t.push(n),te.delete(n))}),t}function lt(e,t){return L&&L(e,t.map(e=>R(e,O.loaderData)))||e.key}function ut(e,t){if(P){let r=lt(e,t),n=P[r];if("number"==typeof n)return n}return null}function ct(e,t,r){if(y){if(!e)return{active:!0,matches:E(t,r,m,!0)||[]};if(Object.keys(e[0].params).length>0)return{active:!0,matches:E(t,r,m,!0)}}return{active:!1,matches:null}}async function dt(e,t,r,n){if(!y)return{type:"success",matches:e};let a=e;for(;;){let e=null==s,i=s||f,l=c;try{await y({signal:r,path:t,matches:a,fetcherKey:n,patch:(e,t)=>{r.aborted||xe(e,t,i,l,o)}})}catch(e){return{type:"error",error:e,partialMatches:a}}finally{e&&!r.aborted&&(f=[...f])}if(r.aborted)return{type:"aborted"};let u=S(i,t,m);if(u)return{type:"success",matches:u};let d=E(i,t,m,!0);if(!d||a.length===d.length&&a.every((e,t)=>e.route.id===d[t].route.id))return{type:"success",matches:null};a=d}}return u={get basename(){return m},get future(){return x},get state(){return O},get routes(){return f},get window(){return t},initialize:function(){if(D=e.history.listen(t=>{let{action:r,location:n,delta:a}=t;if(j)return j(),void(j=void 0);h(0===re.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=ot({currentLocation:O.location,nextLocation:n,historyAction:r});if(o&&null!=a){let t=new Promise(e=>{j=e});return e.history.go(-1*a),void at(o,{state:"blocked",location:n,proceed(){at(o,{state:"proceeding",proceed:void 0,reset:void 0,location:n}),t.then(()=>e.history.go(a))},reset(){let e=new Map(O.blockers);e.set(o,he),ae({blockers:e})}})}return ie(r,n)}),r){!function(e,t){try{let r=e.sessionStorage.getItem(me);if(r){let e=JSON.parse(r);for(let[r,n]of Object.entries(e||{}))n&&Array.isArray(n)&&t.set(r,new Set(n||[]))}}catch(e){}}(t,z);let e=()=>function(e,t){if(t.size>0){let r={};for(let[e,n]of t)r[e]=[...n];try{e.sessionStorage.setItem(me,JSON.stringify(r))}catch(e){h(!1,"Failed to save applied view transitions in sessionStorage ("+e+").")}}}(t,z);t.addEventListener("pagehide",e),H=()=>t.removeEventListener("pagehide",e)}return O.initialized||ie(n.Pop,O.location,{initialHydration:!0}),u},subscribe:function(e){return C.add(e),()=>C.delete(e)},enableScrollRestoration:function(e,t,r){if(P=e,k=t,L=r||null,!_&&O.navigation===ce){_=!0;let e=ut(O.location,O.matches);null!=e&&ae({restoreScrollPosition:e})}return()=>{P=null,k=null,L=null}},navigate:async function t(r,a){if("number"==typeof r)return void e.history.go(r);let o=ye(O.location,O.matches,m,x.v7_prependBasename,r,x.v7_relativeSplatPath,null==a?void 0:a.fromRouteId,null==a?void 0:a.relative),{path:s,submission:l,error:u}=ge(x.v7_normalizeFormMethod,!1,o,a),c=O.location,d=p(O.location,s,a&&a.state);d=i({},d,e.history.encodeLocation(d));let h=a&&null!=a.replace?a.replace:void 0,f=n.Push;!0===h?f=n.Replace:!1===h||null!=l&&Je(l.formMethod)&&l.formAction===O.location.pathname+O.location.search&&(f=n.Replace);let v=a&&"preventScrollReset"in a?!0===a.preventScrollReset:void 0,y=!0===(a&&a.flushSync),g=ot({currentLocation:c,nextLocation:d,historyAction:f});if(!g)return await ie(f,d,{submission:l,pendingError:u,preventScrollReset:v,replace:a&&a.replace,enableViewTransition:a&&a.viewTransition,flushSync:y});at(g,{state:"blocked",location:d,proceed(){at(g,{state:"proceeding",proceed:void 0,reset:void 0,location:d}),t(r,a)},reset(){let e=new Map(O.blockers);e.set(g,he),ae({blockers:e})}})},fetch:function(t,r,n,o){if(a)throw new 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.");Ie(t);let i=!0===(o&&o.flushSync),l=s||f,u=ye(O.location,O.matches,m,x.v7_prependBasename,n,x.v7_relativeSplatPath,r,null==o?void 0:o.relative),c=S(l,u,m),h=ct(c,l,u);if(h.active&&h.matches&&(c=h.matches),!c)return void De(t,r,Ne(404,{pathname:u}),{flushSync:i});let{path:p,submission:v,error:y}=ge(x.v7_normalizeFormMethod,!0,u,o);if(y)return void De(t,r,y,{flushSync:i});let g=Qe(c,p),b=!0===(o&&o.preventScrollReset);v&&Je(v.formMethod)?async function(t,r,n,a,o,i,l,u,c){function h(e){if(!e.route.action&&!e.route.lazy){let e=Ne(405,{method:c.formMethod,pathname:n,routeId:r});return De(t,r,e,{flushSync:l}),!0}return!1}if(Ee(),Q.delete(t),!i&&h(a))return;let p=O.fetchers.get(t);Re(t,function(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}}(c,p),{flushSync:l});let v=new AbortController,y=_e(e.history,n,v.signal,c);if(i){let e=await dt(o,new URL(y.url).pathname,y.signal,t);if("aborted"===e.type)return;if("error"===e.type)return void De(t,r,e.error,{flushSync:l});if(!e.matches)return void De(t,r,Ne(404,{pathname:n}),{flushSync:l});if(h(a=Qe(o=e.matches,n)))return}J.set(t,v);let g=q,b=(await ve("action",0,y,[a],o,t))[a.route.id];if(y.signal.aborted)return void(J.get(t)===v&&J.delete(t));if(x.v7_fetcherPersist&&ee.has(t)){if(Ke(b)||We(b))return void Re(t,rt(void 0))}else{if(Ke(b))return J.delete(t),Y>g?void Re(t,rt(void 0)):(G.add(t),Re(t,tt(c)),le(y,b,!1,{fetcherSubmission:c,preventScrollReset:u}));if(We(b))return void De(t,r,b.error)}if(He(b))throw Ne(400,{type:"defer-action"});let w=O.navigation.location||O.location,E=_e(e.history,w,v.signal),R=s||f,D="idle"!==O.navigation.state?S(R,O.navigation.location,m):O.matches;d(D,"Didn't find any matches after fetcher action");let C=++q;X.set(t,C);let P=tt(c,b.data);O.fetchers.set(t,P);let[L,k]=we(e.history,O,D,c,w,!1,x.v7_skipActionErrorRevalidation,K,$,V,ee,Q,G,R,m,[a.route.id,b]);k.filter(e=>e.key!==t).forEach(e=>{let t=e.key,r=O.fetchers.get(t),n=tt(void 0,r?r.data:void 0);O.fetchers.set(t,n),Ie(t),e.controller&&J.set(t,e.controller)}),ae({fetchers:new Map(O.fetchers)});let _=()=>k.forEach(e=>Ie(e.key));v.signal.addEventListener("abort",_);let{loaderResults:T,fetcherResults:A}=await be(O,D,L,k,E);if(v.signal.aborted)return;v.signal.removeEventListener("abort",_),X.delete(t),J.delete(t),k.forEach(e=>J.delete(e.key));let M=Be(T);if(M)return le(E,M.result,!1,{preventScrollReset:u});if(M=Be(A),M)return G.add(M.key),le(E,M.result,!1,{preventScrollReset:u});let{loaderData:j,errors:N}=Me(O,D,T,void 0,k,A,te);if(O.fetchers.has(t)){let e=rt(b.data);O.fetchers.set(t,e)}Ge(C),"loading"===O.navigation.state&&C>Y?(d(F,"Expected pending action"),U&&U.abort(),oe(O.navigation.location,{matches:D,loaderData:j,errors:N,fetchers:new Map(O.fetchers)})):(ae({errors:N,loaderData:Ue(O.loaderData,j,D,N),fetchers:new Map(O.fetchers)}),K=!1)}(t,r,p,g,c,h.active,i,b,v):(Q.set(t,{routeId:r,path:p}),async function(t,r,n,a,o,i,s,l,u){let c=O.fetchers.get(t);Re(t,tt(u,c?c.data:void 0),{flushSync:s});let h=new AbortController,f=_e(e.history,n,h.signal);if(i){let e=await dt(o,new URL(f.url).pathname,f.signal,t);if("aborted"===e.type)return;if("error"===e.type)return void De(t,r,e.error,{flushSync:s});if(!e.matches)return void De(t,r,Ne(404,{pathname:n}),{flushSync:s});a=Qe(o=e.matches,n)}J.set(t,h);let p=q,m=(await ve("loader",0,f,[a],o,t))[a.route.id];if(He(m)&&(m=await Xe(m,f.signal,!0)||m),J.get(t)===h&&J.delete(t),!f.signal.aborted){if(!ee.has(t))return Ke(m)?Y>p?void Re(t,rt(void 0)):(G.add(t),void await le(f,m,!1,{preventScrollReset:l})):void(We(m)?De(t,r,m.error):(d(!He(m),"Unhandled fetcher deferred data"),Re(t,rt(m.data))));Re(t,rt(void 0))}}(t,r,p,g,c,h.active,i,b,v))},revalidate:function(){Ee(),ae({revalidation:"loading"}),"submitting"!==O.navigation.state&&("idle"!==O.navigation.state?ie(F||O.historyAction,O.navigation.location,{overrideNavigation:O.navigation,enableViewTransition:!0===I}):ie(O.historyAction,O.location,{startUninterruptedRevalidation:!0}))},createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:Te,deleteFetcher:function(e){let t=(Z.get(e)||0)-1;t<=0?(Z.delete(e),ee.add(e),x.v7_fetcherPersist||Ae(e)):Z.set(e,t),ae({fetchers:new Map(O.fetchers)})},dispose:function(){D&&D(),H&&H(),C.clear(),U&&U.abort(),O.fetchers.forEach((e,t)=>Ae(t)),O.blockers.forEach((e,t)=>nt(t))},getBlocker:function(e,t){let r=O.blockers.get(e)||he;return re.get(e)!==t&&re.set(e,t),r},deleteBlocker:nt,patchRoutes:function(e,t){let r=null==s;xe(e,t,s||f,c,o),r&&(f=[...f],ae({}))},_internalFetchControllers:J,_internalActiveDeferreds:te,_internalSetRoutes:function(e){c={},s=w(e,o,void 0,c)}},u}function ye(e,t,r,n,a,o,i,s){let l,u;if(i){l=[];for(let e of t)if(l.push(e),e.route.id===i){u=e;break}}else l=t,u=t[t.length-1];let c=W(a||".",H(l,o),N(e.pathname,r)||e.pathname,"path"===s);if(null==a&&(c.search=e.search,c.hash=e.hash),(null==a||""===a||"."===a)&&u){let e=Ge(c.search);if(u.route.index&&!e)c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index";else if(!u.route.index&&e){let e=new URLSearchParams(c.search),t=e.getAll("index");e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let r=e.toString();c.search=r?"?"+r:""}}return n&&"/"!==r&&(c.pathname="/"===c.pathname?r:K([r,c.pathname])),m(c)}function ge(e,t,r,n){if(!n||!function(e){return null!=e&&("formData"in e&&null!=e.formData||"body"in e&&void 0!==e.body)}(n))return{path:r};if(n.formMethod&&(a=n.formMethod,!se.has(a.toLowerCase())))return{path:r,error:Ne(405,{method:n.formMethod})};var a;let o,i,s=()=>({path:r,error:Ne(400,{type:"invalid-body"})}),l=n.formMethod||"get",u=e?l.toUpperCase():l.toLowerCase(),c=Ie(r);if(void 0!==n.body){if("text/plain"===n.formEncType){if(!Je(u))return s();let e="string"==typeof n.body?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((e,t)=>{let[r,n]=t;return""+e+r+"="+n+"\n"},""):String(n.body);return{path:r,submission:{formMethod:u,formAction:c,formEncType:n.formEncType,formData:void 0,json:void 0,text:e}}}if("application/json"===n.formEncType){if(!Je(u))return s();try{let e="string"==typeof n.body?JSON.parse(n.body):n.body;return{path:r,submission:{formMethod:u,formAction:c,formEncType:n.formEncType,formData:void 0,json:e,text:void 0}}}catch(e){return s()}}}if(d("function"==typeof FormData,"FormData is not available in this environment"),n.formData)o=Te(n.formData),i=n.formData;else if(n.body instanceof FormData)o=Te(n.body),i=n.body;else if(n.body instanceof URLSearchParams)o=n.body,i=Ae(o);else if(null==n.body)o=new URLSearchParams,i=new FormData;else try{o=new URLSearchParams(n.body),i=Ae(o)}catch(e){return s()}let h={formMethod:u,formAction:c,formEncType:n&&n.formEncType||"application/x-www-form-urlencoded",formData:i,json:void 0,text:void 0};if(Je(h.formMethod))return{path:r,submission:h};let f=v(r);return t&&f.search&&Ge(f.search)&&o.append("index",""),f.search="?"+o,{path:m(f),submission:h}}function be(e,t,r){void 0===r&&(r=!1);let n=e.findIndex(e=>e.route.id===t);return n>=0?e.slice(0,r?n+1:n):e}function we(e,t,r,n,a,o,s,l,u,c,d,h,f,p,m,v){let y=v?We(v[1])?v[1].error:v[1].data:void 0,g=e.createURL(t.location),b=e.createURL(a),w=r;o&&t.errors?w=be(r,Object.keys(t.errors)[0],!0):v&&We(v[1])&&(w=be(r,v[0]));let E=v?v[1].statusCode:void 0,R=s&&E&&E>=400,x=w.filter((e,r)=>{let{route:a}=e;if(a.lazy)return!0;if(null==a.loader)return!1;if(o)return Se(a,t.loaderData,t.errors);if(function(e,t,r){let n=!t||r.route.id!==t.route.id,a=void 0===e[r.route.id];return n||a}(t.loaderData,t.matches[r],e)||u.some(t=>t===e.route.id))return!0;let s=t.matches[r],c=e;return Re(e,i({currentUrl:g,currentParams:s.params,nextUrl:b,nextParams:c.params},n,{actionResult:y,actionStatus:E,defaultShouldRevalidate:!R&&(l||g.pathname+g.search===b.pathname+b.search||g.search!==b.search||Ee(s,c))}))}),D=[];return h.forEach((e,a)=>{if(o||!r.some(t=>t.route.id===e.routeId)||d.has(a))return;let s=S(p,e.path,m);if(!s)return void D.push({key:a,routeId:e.routeId,path:e.path,matches:null,match:null,controller:null});let u=t.fetchers.get(a),h=Qe(s,e.path),v=!1;f.has(a)?v=!1:c.has(a)?(c.delete(a),v=!0):v=u&&"idle"!==u.state&&void 0===u.data?l:Re(h,i({currentUrl:g,currentParams:t.matches[t.matches.length-1].params,nextUrl:b,nextParams:r[r.length-1].params},n,{actionResult:y,actionStatus:E,defaultShouldRevalidate:!R&&l})),v&&D.push({key:a,routeId:e.routeId,path:e.path,matches:s,match:h,controller:new AbortController})}),[x,D]}function Se(e,t,r){if(e.lazy)return!0;if(!e.loader)return!1;let n=null!=t&&void 0!==t[e.id],a=null!=r&&void 0!==r[e.id];return!(!n&&a)&&("function"==typeof e.loader&&!0===e.loader.hydrate||!n&&!a)}function Ee(e,t){let r=e.route.path;return e.pathname!==t.pathname||null!=r&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function Re(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if("boolean"==typeof r)return r}return t.defaultShouldRevalidate}function xe(e,t,r,n,a){var o;let i;if(e){let t=n[e];d(t,"No route found to patch children into: routeId = "+e),t.children||(t.children=[]),i=t.children}else i=r;let s=w(t.filter(e=>!i.some(t=>De(e,t))),a,[e||"_","patch",String((null==(o=i)?void 0:o.length)||"0")],n);i.push(...s)}function De(e,t){return"id"in e&&"id"in t&&e.id===t.id||e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive&&(!(e.children&&0!==e.children.length||t.children&&0!==t.children.length)||e.children.every((e,r)=>{var n;return null==(n=t.children)?void 0:n.some(t=>De(e,t))}))}async function Ce(e){let{matches:t}=e,r=t.filter(e=>e.shouldLoad);return(await Promise.all(r.map(e=>e.resolve()))).reduce((e,t,n)=>Object.assign(e,{[r[n].route.id]:t}),{})}async function Pe(e){let{result:t,type:r}=e;if(Ve(t)){let e;try{let r=t.headers.get("Content-Type");e=r&&/\bapplication\/json\b/.test(r)?null==t.body?null:await t.json():await t.text()}catch(e){return{type:g.error,error:e}}return r===g.error?{type:g.error,error:new re(t.status,t.statusText,e),statusCode:t.status,headers:t.headers}:{type:g.data,data:e,statusCode:t.status,headers:t.headers}}var n,a,o,i,s,l,u,c;return r===g.error?$e(t)?t.data instanceof Error?{type:g.error,error:t.data,statusCode:null==(o=t.init)?void 0:o.status,headers:null!=(i=t.init)&&i.headers?new Headers(t.init.headers):void 0}:{type:g.error,error:new re((null==(n=t.init)?void 0:n.status)||500,void 0,t.data),statusCode:ne(t)?t.status:void 0,headers:null!=(a=t.init)&&a.headers?new Headers(t.init.headers):void 0}:{type:g.error,error:t,statusCode:ne(t)?t.status:void 0}:function(e){let t=e;return t&&"object"==typeof t&&"object"==typeof t.data&&"function"==typeof t.subscribe&&"function"==typeof t.cancel&&"function"==typeof t.resolveData}(t)?{type:g.deferred,deferredData:t,statusCode:null==(s=t.init)?void 0:s.status,headers:(null==(l=t.init)?void 0:l.headers)&&new Headers(t.init.headers)}:$e(t)?{type:g.data,data:t.data,statusCode:null==(u=t.init)?void 0:u.status,headers:null!=(c=t.init)&&c.headers?new Headers(t.init.headers):void 0}:{type:g.data,data:t}}function Le(e,t,r,n,a,o){let i=e.headers.get("Location");if(d(i,"Redirects returned/thrown from loaders/actions must have a Location header"),!fe.test(i)){let s=n.slice(0,n.findIndex(e=>e.route.id===r)+1);i=ye(new URL(t.url),s,a,!0,i,o),e.headers.set("Location",i)}return e}function ke(e,t,r){if(fe.test(e)){let n=e,a=n.startsWith("//")?new URL(t.protocol+n):new URL(n),o=null!=N(a.pathname,r);if(a.origin===t.origin&&o)return a.pathname+a.search+a.hash}return e}function _e(e,t,r,n){let a=e.createURL(Ie(t)).toString(),o={signal:r};if(n&&Je(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=Te(n.formData):o.body=n.formData}return new Request(a,o)}function Te(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,"string"==typeof n?n:n.name);return t}function Ae(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function Me(e,t,r,n,a,o,s){let{loaderData:l,errors:u}=function(e,t,r,n,a){let o,i={},s=null,l=!1,u={},c=r&&We(r[1])?r[1].error:void 0;return e.forEach(r=>{if(!(r.route.id in t))return;let h=r.route.id,f=t[h];if(d(!Ke(f),"Cannot handle redirect results in processLoaderData"),We(f)){let t=f.error;if(void 0!==c&&(t=c,c=void 0),s=s||{},a)s[h]=t;else{let r=Oe(e,h);null==s[r.route.id]&&(s[r.route.id]=t)}i[h]=void 0,l||(l=!0,o=ne(f.error)?f.error.status:500),f.headers&&(u[h]=f.headers)}else He(f)?(n.set(h,f.deferredData),i[h]=f.deferredData.data,null==f.statusCode||200===f.statusCode||l||(o=f.statusCode),f.headers&&(u[h]=f.headers)):(i[h]=f.data,f.statusCode&&200!==f.statusCode&&!l&&(o=f.statusCode),f.headers&&(u[h]=f.headers))}),void 0!==c&&r&&(s={[r[0]]:c},i[r[0]]=void 0),{loaderData:i,errors:s,statusCode:o||200,loaderHeaders:u}}(t,r,n,s,!1);return a.forEach(t=>{let{key:r,match:n,controller:a}=t,s=o[r];if(d(s,"Did not find corresponding fetcher result"),!a||!a.signal.aborted)if(We(s)){let t=Oe(e.matches,null==n?void 0:n.route.id);u&&u[t.route.id]||(u=i({},u,{[t.route.id]:s.error})),e.fetchers.delete(r)}else if(Ke(s))d(!1,"Unhandled fetcher revalidation redirect");else if(He(s))d(!1,"Unhandled fetcher deferred data");else{let t=rt(s.data);e.fetchers.set(r,t)}}),{loaderData:l,errors:u}}function Ue(e,t,r,n){let a=i({},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 je(e){return e?We(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function Oe(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 Fe(e){let t=1===e.length?e[0]:e.find(e=>e.index||!e.path||"/"===e.path)||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function Ne(e,t){let{pathname:r,routeId:n,method:a,type:o,message:i}=void 0===t?{}:t,s="Unknown Server Error",l="Unknown @remix-run/router error";return 400===e?(s="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?(s="Forbidden",l='Route "'+n+'" does not match URL "'+r+'"'):404===e?(s="Not Found",l='No route matches URL "'+r+'"'):405===e&&(s="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 re(e||500,s,new Error(l),!0)}function Be(e){let t=Object.entries(e);for(let e=t.length-1;e>=0;e--){let[r,n]=t[e];if(Ke(n))return{key:r,result:n}}}function Ie(e){return m(i({},"string"==typeof e?v(e):e,{hash:""}))}function ze(e){return Ve(e.result)&&le.has(e.result.status)}function He(e){return e.type===g.deferred}function We(e){return e.type===g.error}function Ke(e){return(e&&e.type)===g.redirect}function $e(e){return"object"==typeof e&&null!=e&&"type"in e&&"data"in e&&"init"in e&&"DataWithResponseInit"===e.type}function Ve(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"object"==typeof e.headers&&void 0!==e.body}function Je(e){return oe.has(e.toLowerCase())}async function qe(e,t,r,n,a){let o=Object.entries(t);for(let i=0;i<o.length;i++){let[s,l]=o[i],u=e.find(e=>(null==e?void 0:e.route.id)===s);if(!u)continue;let c=n.find(e=>e.route.id===u.route.id),d=null!=c&&!Ee(c,u)&&void 0!==(a&&a[u.route.id]);He(l)&&d&&await Xe(l,r,!1).then(e=>{e&&(t[s]=e)})}}async function Ye(e,t,r){for(let n=0;n<r.length;n++){let{key:a,routeId:o,controller:i}=r[n],s=t[a];e.find(e=>(null==e?void 0:e.route.id)===o)&&He(s)&&(d(i,"Expected an AbortController for revalidating fetcher deferred result"),await Xe(s,i.signal,!0).then(e=>{e&&(t[a]=e)}))}}async function Xe(e,t,r){if(void 0===r&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:g.data,data:e.deferredData.unwrappedData}}catch(e){return{type:g.error,error:e}}return{type:g.data,data:e.deferredData.data}}}function Ge(e){return new URLSearchParams(e).getAll("index").some(e=>""===e)}function Qe(e,t){let r="string"==typeof t?v(t).search:t.search;if(e[e.length-1].route.index&&Ge(r||""))return e[e.length-1];let n=z(e);return n[n.length-1]}function Ze(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:o,json:i}=e;if(t&&r&&n)return null!=a?{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a}:null!=o?{formMethod:t,formAction:r,formEncType:n,formData:o,json:void 0,text:void 0}:void 0!==i?{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:i,text:void 0}:void 0}function et(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 tt(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function rt(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 nt(){return nt=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},nt.apply(this,arguments)}Symbol("deferred");const at=a.createContext(null),ot=a.createContext(null),it=a.createContext(null),st=a.createContext(null),lt=a.createContext(null),ut=a.createContext({outlet:null,matches:[],isDataRoute:!1}),ct=a.createContext(null);function dt(e,t){let{relative:r}=void 0===t?{}:t;ht()||d(!1);let{basename:n,navigator:o}=a.useContext(st),{hash:i,pathname:s,search:l}=Et(e,{relative:r}),u=s;return"/"!==n&&(u="/"===s?n:K([n,s])),o.createHref({pathname:u,search:l,hash:i})}function ht(){return null!=a.useContext(lt)}function ft(){return ht()||d(!1),a.useContext(lt).location}function pt(){return a.useContext(lt).navigationType}function mt(e){ht()||d(!1);let{pathname:t}=ft();return a.useMemo(()=>O(e,F(t)),[t,e])}function vt(e){a.useContext(st).static||a.useLayoutEffect(e)}function yt(){let{isDataRoute:e}=a.useContext(ut);return e?function(){let{router:e}=At(_t.UseNavigateStable),t=Ut(Tt.UseNavigateStable),r=a.useRef(!1);return vt(()=>{r.current=!0}),a.useCallback(function(n,a){void 0===a&&(a={}),r.current&&("number"==typeof n?e.navigate(n):e.navigate(n,nt({fromRouteId:t},a)))},[e,t])}():function(){ht()||d(!1);let e=a.useContext(at),{basename:t,future:r,navigator:n}=a.useContext(st),{matches:o}=a.useContext(ut),{pathname:i}=ft(),s=JSON.stringify(H(o,r.v7_relativeSplatPath)),l=a.useRef(!1);return vt(()=>{l.current=!0}),a.useCallback(function(r,a){if(void 0===a&&(a={}),!l.current)return;if("number"==typeof r)return void n.go(r);let o=W(r,JSON.parse(s),i,"path"===a.relative);null==e&&"/"!==t&&(o.pathname="/"===o.pathname?t:K([t,o.pathname])),(a.replace?n.replace:n.push)(o,a.state,a)},[t,n,s,i,e])}()}const gt=a.createContext(null);function bt(){return a.useContext(gt)}function wt(e){let t=a.useContext(ut).outlet;return t?a.createElement(gt.Provider,{value:e},t):t}function St(){let{matches:e}=a.useContext(ut),t=e[e.length-1];return t?t.params:{}}function Et(e,t){let{relative:r}=void 0===t?{}:t,{future:n}=a.useContext(st),{matches:o}=a.useContext(ut),{pathname:i}=ft(),s=JSON.stringify(H(o,n.v7_relativeSplatPath));return a.useMemo(()=>W(e,JSON.parse(s),i,"path"===r),[e,s,i,r])}function Rt(e,t){return xt(e,t)}function xt(e,t,r,o){ht()||d(!1);let{navigator:i}=a.useContext(st),{matches:s}=a.useContext(ut),l=s[s.length-1],u=l?l.params:{},c=(l&&l.pathname,l?l.pathnameBase:"/");l&&l.route;let h,f=ft();if(t){var p;let e="string"==typeof t?v(t):t;"/"===c||(null==(p=e.pathname)?void 0:p.startsWith(c))||d(!1),h=e}else h=f;let m=h.pathname||"/",y=m;if("/"!==c){let e=c.replace(/^\//,"").split("/");y="/"+m.replace(/^\//,"").split("/").slice(e.length).join("/")}let g=S(e,{pathname:y}),b=kt(g&&g.map(e=>Object.assign({},e,{params:Object.assign({},u,e.params),pathname:K([c,i.encodeLocation?i.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?c:K([c,i.encodeLocation?i.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})),s,r,o);return t&&b?a.createElement(lt.Provider,{value:{location:nt({pathname:"/",search:"",hash:"",state:null,key:"default"},h),navigationType:n.Pop}},b):b}function Dt(){let e=Ht(),t=ne(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,n={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return a.createElement(a.Fragment,null,a.createElement("h2",null,"Unexpected Application Error!"),a.createElement("h3",{style:{fontStyle:"italic"}},t),r?a.createElement("pre",{style:n},r):null,null)}const Ct=a.createElement(Dt,null);class Pt extends a.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||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?a.createElement(ut.Provider,{value:this.props.routeContext},a.createElement(ct.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function Lt(e){let{routeContext:t,match:r,children:n}=e,o=a.useContext(at);return o&&o.static&&o.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=r.route.id),a.createElement(ut.Provider,{value:t},n)}function kt(e,t,r,n){var o;if(void 0===t&&(t=[]),void 0===r&&(r=null),void 0===n&&(n=null),null==e){var i;if(!r)return null;if(r.errors)e=r.matches;else{if(!(null!=(i=n)&&i.v7_partialHydration&&0===t.length&&!r.initialized&&r.matches.length>0))return null;e=r.matches}}let s=e,l=null==(o=r)?void 0:o.errors;if(null!=l){let e=s.findIndex(e=>e.route.id&&void 0!==(null==l?void 0:l[e.route.id]));e>=0||d(!1),s=s.slice(0,Math.min(s.length,e+1))}let u=!1,c=-1;if(r&&n&&n.v7_partialHydration)for(let e=0;e<s.length;e++){let t=s[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(c=e),t.route.id){let{loaderData:e,errors:n}=r,a=t.route.loader&&void 0===e[t.route.id]&&(!n||void 0===n[t.route.id]);if(t.route.lazy||a){u=!0,s=c>=0?s.slice(0,c+1):[s[0]];break}}}return s.reduceRight((e,n,o)=>{let i,d=!1,h=null,f=null;var p;r&&(i=l&&n.route.id?l[n.route.id]:void 0,h=n.route.errorElement||Ct,u&&(c<0&&0===o?(Jt[p="route-fallback"]||(Jt[p]=!0),d=!0,f=null):c===o&&(d=!0,f=n.route.hydrateFallbackElement||null)));let m=t.concat(s.slice(0,o+1)),v=()=>{let t;return t=i?h:d?f:n.route.Component?a.createElement(n.route.Component,null):n.route.element?n.route.element:e,a.createElement(Lt,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:null!=r},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||0===o)?a.createElement(Pt,{location:r.location,revalidation:r.revalidation,component:h,error:i,children:v(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):v()},null)}var _t=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(_t||{}),Tt=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Tt||{});function At(e){let t=a.useContext(at);return t||d(!1),t}function Mt(e){let t=a.useContext(ot);return t||d(!1),t}function Ut(e){let t=function(){let e=a.useContext(ut);return e||d(!1),e}(),r=t.matches[t.matches.length-1];return r.route.id||d(!1),r.route.id}function jt(){return Ut(Tt.UseRouteId)}function Ot(){return Mt(Tt.UseNavigation).navigation}function Ft(){let e=At(_t.UseRevalidator),t=Mt(Tt.UseRevalidator);return a.useMemo(()=>({revalidate:e.router.revalidate,state:t.revalidation}),[e.router.revalidate,t.revalidation])}function Nt(){let{matches:e,loaderData:t}=Mt(Tt.UseMatches);return a.useMemo(()=>e.map(e=>R(e,t)),[e,t])}function Bt(){let e=Mt(Tt.UseLoaderData),t=Ut(Tt.UseLoaderData);if(!e.errors||null==e.errors[t])return e.loaderData[t];console.error("You cannot `useLoaderData` in an errorElement (routeId: "+t+")")}function It(e){return Mt(Tt.UseRouteLoaderData).loaderData[e]}function zt(){let e=Mt(Tt.UseActionData),t=Ut(Tt.UseLoaderData);return e.actionData?e.actionData[t]:void 0}function Ht(){var e;let t=a.useContext(ct),r=Mt(Tt.UseRouteError),n=Ut(Tt.UseRouteError);return void 0!==t?t:null==(e=r.errors)?void 0:e[n]}function Wt(){let e=a.useContext(it);return null==e?void 0:e._data}function Kt(){let e=a.useContext(it);return null==e?void 0:e._error}let $t=0;function Vt(e){let{router:t,basename:r}=At(_t.UseBlocker),n=Mt(Tt.UseBlocker),[o,i]=a.useState(""),s=a.useCallback(t=>{if("function"!=typeof e)return!!e;if("/"===r)return e(t);let{currentLocation:n,nextLocation:a,historyAction:o}=t;return e({currentLocation:nt({},n,{pathname:N(n.pathname,r)||n.pathname}),nextLocation:nt({},a,{pathname:N(a.pathname,r)||a.pathname}),historyAction:o})},[r,e]);return a.useEffect(()=>{let e=String(++$t);return i(e),()=>t.deleteBlocker(e)},[t]),a.useEffect(()=>{""!==o&&t.getBlocker(o,s)},[t,o,s]),o&&n.blockers.has(o)?n.blockers.get(o):he}const Jt={},qt=(e,t,r)=>{};function Yt(e,t){void 0===(null==e?void 0:e.v7_startTransition)&&qt("v7_startTransition","React Router will begin wrapping state updates in `React.startTransition` in v7","https://reactrouter.com/v6/upgrading/future#v7_starttransition"),void 0!==(null==e?void 0:e.v7_relativeSplatPath)||t&&void 0!==t.v7_relativeSplatPath||qt("v7_relativeSplatPath","Relative route resolution within Splat routes is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath"),t&&(void 0===t.v7_fetcherPersist&&qt("v7_fetcherPersist","The persistence behavior of fetchers is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_fetcherpersist"),void 0===t.v7_normalizeFormMethod&&qt("v7_normalizeFormMethod","Casing of `formMethod` fields is being normalized to uppercase in v7","https://reactrouter.com/v6/upgrading/future#v7_normalizeformmethod"),void 0===t.v7_partialHydration&&qt("v7_partialHydration","`RouterProvider` hydration behavior is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_partialhydration"),void 0===t.v7_skipActionErrorRevalidation&&qt("v7_skipActionErrorRevalidation","The revalidation behavior after 4xx/5xx `action` responses is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_skipactionerrorrevalidation"))}const Xt=a.startTransition;function Gt(e){let{basename:t,children:r,initialEntries:n,initialIndex:o,future:i}=e,s=a.useRef();null==s.current&&(s.current=l({initialEntries:n,initialIndex:o,v5Compat:!0}));let u=s.current,[c,d]=a.useState({action:u.action,location:u.location}),{v7_startTransition:h}=i||{},f=a.useCallback(e=>{h&&Xt?Xt(()=>d(e)):d(e)},[d,h]);return a.useLayoutEffect(()=>u.listen(f),[u,f]),a.useEffect(()=>Yt(i),[i]),a.createElement(tr,{basename:t,children:r,location:c.location,navigationType:c.action,navigator:u,future:i})}function Qt(e){let{to:t,replace:r,state:n,relative:o}=e;ht()||d(!1);let{future:i,static:s}=a.useContext(st),{matches:l}=a.useContext(ut),{pathname:u}=ft(),c=yt(),h=W(t,H(l,i.v7_relativeSplatPath),u,"path"===o),f=JSON.stringify(h);return a.useEffect(()=>c(JSON.parse(f),{replace:r,state:n,relative:o}),[c,f,o,r,n]),null}function Zt(e){return wt(e.context)}function er(e){d(!1)}function tr(e){let{basename:t="/",children:r=null,location:o,navigationType:i=n.Pop,navigator:s,static:l=!1,future:u}=e;ht()&&d(!1);let c=t.replace(/^\/*/,"/"),h=a.useMemo(()=>({basename:c,navigator:s,static:l,future:nt({v7_relativeSplatPath:!1},u)}),[c,u,s,l]);"string"==typeof o&&(o=v(o));let{pathname:f="/",search:p="",hash:m="",state:y=null,key:g="default"}=o,b=a.useMemo(()=>{let e=N(f,c);return null==e?null:{location:{pathname:e,search:p,hash:m,state:y,key:g},navigationType:i}},[c,f,p,m,y,g,i]);return null==b?null:a.createElement(st.Provider,{value:h},a.createElement(lt.Provider,{children:r,value:b}))}function rr(e){let{children:t,location:r}=e;return Rt(lr(t),r)}function nr(e){let{children:t,errorElement:r,resolve:n}=e;return a.createElement(ir,{resolve:n,errorElement:r},a.createElement(sr,null,t))}var ar=function(e){return e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error",e}(ar||{});const or=new Promise(()=>{});class ir extends a.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("<Await> caught the following error during render",e,t)}render(){let{children:e,errorElement:t,resolve:r}=this.props,n=null,o=ar.pending;if(r instanceof Promise)if(this.state.error){o=ar.error;let e=this.state.error;n=Promise.reject().catch(()=>{}),Object.defineProperty(n,"_tracked",{get:()=>!0}),Object.defineProperty(n,"_error",{get:()=>e})}else r._tracked?(n=r,o="_error"in n?ar.error:"_data"in n?ar.success:ar.pending):(o=ar.pending,Object.defineProperty(r,"_tracked",{get:()=>!0}),n=r.then(e=>Object.defineProperty(r,"_data",{get:()=>e}),e=>Object.defineProperty(r,"_error",{get:()=>e})));else o=ar.success,n=Promise.resolve(),Object.defineProperty(n,"_tracked",{get:()=>!0}),Object.defineProperty(n,"_data",{get:()=>r});if(o===ar.error&&n._error instanceof Y)throw or;if(o===ar.error&&!t)throw n._error;if(o===ar.error)return a.createElement(it.Provider,{value:n,children:t});if(o===ar.success)return a.createElement(it.Provider,{value:n,children:e});throw n}}function sr(e){let{children:t}=e,r=Wt(),n="function"==typeof t?t(r):t;return a.createElement(a.Fragment,null,n)}function lr(e,t){void 0===t&&(t=[]);let r=[];return a.Children.forEach(e,(e,n)=>{if(!a.isValidElement(e))return;let o=[...t,n];if(e.type===a.Fragment)return void r.push.apply(r,lr(e.props.children,o));e.type!==er&&d(!1),e.props.index&&e.props.children&&d(!1);let i={id:e.props.id||o.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(i.children=lr(e.props.children,o)),r.push(i)}),r}function ur(e){return kt(e)}function cr(e){let t={hasErrorBoundary:null!=e.ErrorBoundary||null!=e.errorElement};return e.Component&&Object.assign(t,{element:a.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:a.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:a.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}function dr(e,t){return ve({basename:null==t?void 0:t.basename,future:nt({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:l({initialEntries:null==t?void 0:t.initialEntries,initialIndex:null==t?void 0:t.initialIndex}),hydrationData:null==t?void 0:t.hydrationData,routes:e,mapRouteProperties:cr,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation}).initialize()}function hr(){return hr=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},hr.apply(this,arguments)}function fr(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}const pr="get",mr="application/x-www-form-urlencoded";function vr(e){return null!=e&&"string"==typeof e.tagName}function yr(e){return void 0===e&&(e=""),new URLSearchParams("string"==typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map(e=>[r,e]):[[r,n]])},[]))}let gr=null;const br=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function wr(e){return null==e||br.has(e)?e:null}const Sr=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],Er=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],Rr=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","viewTransition"];try{window.__reactRouterVersion="6"}catch(e){}function xr(e,t){return ve({basename:null==t?void 0:t.basename,future:hr({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:u({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||Cr(),routes:e,mapRouteProperties:cr,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation,window:null==t?void 0:t.window}).initialize()}function Dr(e,t){return ve({basename:null==t?void 0:t.basename,future:hr({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:c({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||Cr(),routes:e,mapRouteProperties:cr,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation,window:null==t?void 0:t.window}).initialize()}function Cr(){var e;let t=null==(e=window)?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=hr({},t,{errors:Pr(t.errors)})),t}function Pr(e){if(!e)return null;let t=Object.entries(e),r={};for(let[e,n]of t)if(n&&"RouteErrorResponse"===n.__type)r[e]=new re(n.status,n.statusText,n.data,!0===n.internal);else if(n&&"Error"===n.__type){if(n.__subType){let t=window[n.__subType];if("function"==typeof t)try{let a=new t(n.message);a.stack="",r[e]=a}catch(e){}}if(null==r[e]){let t=new Error(n.message);t.stack="",r[e]=t}}else r[e]=n;return r}const Lr=a.createContext({isTransitioning:!1}),kr=a.createContext(new Map),_r=a.startTransition,Tr=o.flushSync,Ar=a.useId;function Mr(e){Tr?Tr(e):e()}class Ur{constructor(){this.status="pending",this.promise=new Promise((e,t)=>{this.resolve=t=>{"pending"===this.status&&(this.status="resolved",e(t))},this.reject=e=>{"pending"===this.status&&(this.status="rejected",t(e))}})}}function jr(e){let{fallbackElement:t,router:r,future:n}=e,[o,i]=a.useState(r.state),[s,l]=a.useState(),[u,c]=a.useState({isTransitioning:!1}),[d,h]=a.useState(),[f,p]=a.useState(),[m,v]=a.useState(),y=a.useRef(new Map),{v7_startTransition:g}=n||{},b=a.useCallback(e=>{g?function(e){_r?_r(e):e()}(e):e()},[g]),w=a.useCallback((e,t)=>{let{deletedFetchers:n,flushSync:a,viewTransitionOpts:o}=t;e.fetchers.forEach((e,t)=>{void 0!==e.data&&y.current.set(t,e.data)}),n.forEach(e=>y.current.delete(e));let s=null==r.window||null==r.window.document||"function"!=typeof r.window.document.startViewTransition;if(o&&!s){if(a){Mr(()=>{f&&(d&&d.resolve(),f.skipTransition()),c({isTransitioning:!0,flushSync:!0,currentLocation:o.currentLocation,nextLocation:o.nextLocation})});let t=r.window.document.startViewTransition(()=>{Mr(()=>i(e))});return t.finished.finally(()=>{Mr(()=>{h(void 0),p(void 0),l(void 0),c({isTransitioning:!1})})}),void Mr(()=>p(t))}f?(d&&d.resolve(),f.skipTransition(),v({state:e,currentLocation:o.currentLocation,nextLocation:o.nextLocation})):(l(e),c({isTransitioning:!0,flushSync:!1,currentLocation:o.currentLocation,nextLocation:o.nextLocation}))}else a?Mr(()=>i(e)):b(()=>i(e))},[r.window,f,d,y,b]);a.useLayoutEffect(()=>r.subscribe(w),[r,w]),a.useEffect(()=>{u.isTransitioning&&!u.flushSync&&h(new Ur)},[u]),a.useEffect(()=>{if(d&&s&&r.window){let e=s,t=d.promise,n=r.window.document.startViewTransition(async()=>{b(()=>i(e)),await t});n.finished.finally(()=>{h(void 0),p(void 0),l(void 0),c({isTransitioning:!1})}),p(n)}},[b,s,d,r.window]),a.useEffect(()=>{d&&s&&o.location.key===s.location.key&&d.resolve()},[d,f,o.location,s]),a.useEffect(()=>{!u.isTransitioning&&m&&(l(m.state),c({isTransitioning:!0,flushSync:!1,currentLocation:m.currentLocation,nextLocation:m.nextLocation}),v(void 0))},[u.isTransitioning,m]),a.useEffect(()=>{},[]);let S=a.useMemo(()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,go:e=>r.navigate(e),push:(e,t,n)=>r.navigate(e,{state:t,preventScrollReset:null==n?void 0:n.preventScrollReset}),replace:(e,t,n)=>r.navigate(e,{replace:!0,state:t,preventScrollReset:null==n?void 0:n.preventScrollReset})}),[r]),E=r.basename||"/",R=a.useMemo(()=>({router:r,navigator:S,static:!1,basename:E}),[r,S,E]),x=a.useMemo(()=>({v7_relativeSplatPath:r.future.v7_relativeSplatPath}),[r.future.v7_relativeSplatPath]);return a.useEffect(()=>Yt(n,r.future),[n,r.future]),a.createElement(a.Fragment,null,a.createElement(at.Provider,{value:R},a.createElement(ot.Provider,{value:o},a.createElement(kr.Provider,{value:y.current},a.createElement(Lr.Provider,{value:u},a.createElement(tr,{basename:E,location:o.location,navigationType:o.historyAction,navigator:S,future:x},o.initialized||r.future.v7_partialHydration?a.createElement(Or,{routes:r.routes,future:r.future,state:o}):t))))),null)}const Or=a.memo(Fr);function Fr(e){let{routes:t,future:r,state:n}=e;return xt(t,void 0,n,r)}function Nr(e){let{basename:t,children:r,future:n,window:o}=e,i=a.useRef();null==i.current&&(i.current=u({window:o,v5Compat:!0}));let s=i.current,[l,c]=a.useState({action:s.action,location:s.location}),{v7_startTransition:d}=n||{},h=a.useCallback(e=>{d&&_r?_r(()=>c(e)):c(e)},[c,d]);return a.useLayoutEffect(()=>s.listen(h),[s,h]),a.useEffect(()=>Yt(n),[n]),a.createElement(tr,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:s,future:n})}function Br(e){let{basename:t,children:r,future:n,window:o}=e,i=a.useRef();null==i.current&&(i.current=c({window:o,v5Compat:!0}));let s=i.current,[l,u]=a.useState({action:s.action,location:s.location}),{v7_startTransition:d}=n||{},h=a.useCallback(e=>{d&&_r?_r(()=>u(e)):u(e)},[u,d]);return a.useLayoutEffect(()=>s.listen(h),[s,h]),a.useEffect(()=>Yt(n),[n]),a.createElement(tr,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:s,future:n})}function Ir(e){let{basename:t,children:r,future:n,history:o}=e,[i,s]=a.useState({action:o.action,location:o.location}),{v7_startTransition:l}=n||{},u=a.useCallback(e=>{l&&_r?_r(()=>s(e)):s(e)},[s,l]);return a.useLayoutEffect(()=>o.listen(u),[o,u]),a.useEffect(()=>Yt(n),[n]),a.createElement(tr,{basename:t,children:r,location:i.location,navigationType:i.action,navigator:o,future:n})}const zr="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Hr=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Wr=a.forwardRef(function(e,t){let r,{onClick:n,relative:o,reloadDocument:i,replace:s,state:l,target:u,to:c,preventScrollReset:d,viewTransition:h}=e,f=fr(e,Sr),{basename:p}=a.useContext(st),m=!1;if("string"==typeof c&&Hr.test(c)&&(r=c,zr))try{let e=new URL(window.location.href),t=c.startsWith("//")?new URL(e.protocol+c):new URL(c),r=N(t.pathname,p);t.origin===e.origin&&null!=r?c=r+t.search+t.hash:m=!0}catch(e){}let v=dt(c,{relative:o}),y=Gr(c,{replace:s,state:l,target:u,preventScrollReset:d,relative:o,viewTransition:h});return a.createElement("a",hr({},f,{href:r||v,onClick:m||i?n:function(e){n&&n(e),e.defaultPrevented||y(e)},ref:t,target:u}))}),Kr=a.forwardRef(function(e,t){let{"aria-current":r="page",caseSensitive:n=!1,className:o="",end:i=!1,style:s,to:l,viewTransition:u,children:c}=e,d=fr(e,Er),h=Et(l,{relative:d.relative}),f=ft(),p=a.useContext(ot),{navigator:m,basename:v}=a.useContext(st),y=null!=p&&dn(h)&&!0===u,g=m.encodeLocation?m.encodeLocation(h).pathname:h.pathname,b=f.pathname,w=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;n||(b=b.toLowerCase(),w=w?w.toLowerCase():null,g=g.toLowerCase()),w&&v&&(w=N(w,v)||w);const S="/"!==g&&g.endsWith("/")?g.length-1:g.length;let E,R=b===g||!i&&b.startsWith(g)&&"/"===b.charAt(S),x=null!=w&&(w===g||!i&&w.startsWith(g)&&"/"===w.charAt(g.length)),D={isActive:R,isPending:x,isTransitioning:y},C=R?r:void 0;E="function"==typeof o?o(D):[o,R?"active":null,x?"pending":null,y?"transitioning":null].filter(Boolean).join(" ");let P="function"==typeof s?s(D):s;return a.createElement(Wr,hr({},d,{"aria-current":C,className:E,ref:t,style:P,to:l,viewTransition:u}),"function"==typeof c?c(D):c)}),$r=a.forwardRef((e,t)=>{let{fetcherKey:r,navigate:n,reloadDocument:o,replace:i,state:s,method:l=pr,action:u,onSubmit:c,relative:d,preventScrollReset:h,viewTransition:f}=e,p=fr(e,Rr),m=tn(),v=rn(u,{relative:d}),y="get"===l.toLowerCase()?"get":"post";return a.createElement("form",hr({ref:t,method:y,action:v,onSubmit:o?c:e=>{if(c&&c(e),e.defaultPrevented)return;e.preventDefault();let t=e.nativeEvent.submitter,a=(null==t?void 0:t.getAttribute("formmethod"))||l;m(t||e.currentTarget,{fetcherKey:r,method:a,navigate:n,replace:i,state:s,relative:d,preventScrollReset:h,viewTransition:f})}},p))});function Vr(e){let{getKey:t,storageKey:r}=e;return ln({getKey:t,storageKey:r}),null}var Jr,qr;function Yr(e){let t=a.useContext(at);return t||d(!1),t}function Xr(e){let t=a.useContext(ot);return t||d(!1),t}function Gr(e,t){let{target:r,replace:n,state:o,preventScrollReset:i,relative:s,viewTransition:l}=void 0===t?{}:t,u=yt(),c=ft(),d=Et(e,{relative:s});return a.useCallback(t=>{if(function(e,t){return!(0!==e.button||t&&"_self"!==t||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e))}(t,r)){t.preventDefault();let r=void 0!==n?n:m(c)===m(d);u(e,{replace:r,state:o,preventScrollReset:i,relative:s,viewTransition:l})}},[c,u,d,n,o,r,e,i,s,l])}function Qr(e){let t=a.useRef(yr(e)),r=a.useRef(!1),n=ft(),o=a.useMemo(()=>function(e,t){let r=yr(e);return t&&t.forEach((e,n)=>{r.has(n)||t.getAll(n).forEach(e=>{r.append(n,e)})}),r}(n.search,r.current?null:t.current),[n.search]),i=yt(),s=a.useCallback((e,t)=>{const n=yr("function"==typeof e?e(o):e);r.current=!0,i("?"+n,t)},[i,o]);return[o,s]}(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Jr||(Jr={})),function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(qr||(qr={}));let Zr=0,en=()=>"__"+String(++Zr)+"__";function tn(){let{router:e}=Yr(Jr.UseSubmit),{basename:t}=a.useContext(st),r=jt();return a.useCallback(function(n,a){void 0===a&&(a={}),function(){if("undefined"==typeof document)throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.")}();let{action:o,method:i,encType:s,formData:l,body:u}=function(e,t){let r,n,a,o,i;if(vr(s=e)&&"form"===s.tagName.toLowerCase()){let i=e.getAttribute("action");n=i?N(i,t):null,r=e.getAttribute("method")||pr,a=wr(e.getAttribute("enctype"))||mr,o=new FormData(e)}else if(function(e){return vr(e)&&"button"===e.tagName.toLowerCase()}(e)||function(e){return vr(e)&&"input"===e.tagName.toLowerCase()}(e)&&("submit"===e.type||"image"===e.type)){let i=e.form;if(null==i)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let s=e.getAttribute("formaction")||i.getAttribute("action");if(n=s?N(s,t):null,r=e.getAttribute("formmethod")||i.getAttribute("method")||pr,a=wr(e.getAttribute("formenctype"))||wr(i.getAttribute("enctype"))||mr,o=new FormData(i,e),!function(){if(null===gr)try{new FormData(document.createElement("form"),0),gr=!1}catch(e){gr=!0}return gr}()){let{name:t,type:r,value:n}=e;if("image"===r){let e=t?t+".":"";o.append(e+"x","0"),o.append(e+"y","0")}else t&&o.append(t,n)}}else{if(vr(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=pr,n=null,a=mr,i=e}var s;return o&&"text/plain"===a&&(i=o,o=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:o,body:i}}(n,t);if(!1===a.navigate){let t=a.fetcherKey||en();e.fetch(t,r,a.action||o,{preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||i,formEncType:a.encType||s,flushSync:a.flushSync})}else e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||i,formEncType:a.encType||s,replace:a.replace,state:a.state,fromRouteId:r,flushSync:a.flushSync,viewTransition:a.viewTransition})},[e,t,r])}function rn(e,t){let{relative:r}=void 0===t?{}:t,{basename:n}=a.useContext(st),o=a.useContext(ut);o||d(!1);let[i]=o.matches.slice(-1),s=hr({},Et(e||".",{relative:r})),l=ft();if(null==e){s.search=l.search;let e=new URLSearchParams(s.search),t=e.getAll("index");if(t.some(e=>""===e)){e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let r=e.toString();s.search=r?"?"+r:""}}return e&&"."!==e||!i.route.index||(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),"/"!==n&&(s.pathname="/"===s.pathname?n:K([n,s.pathname])),m(s)}function nn(e){var t;let{key:r}=void 0===e?{}:e,{router:n}=Yr(Jr.UseFetcher),o=Xr(qr.UseFetcher),i=a.useContext(kr),s=a.useContext(ut),l=null==(t=s.matches[s.matches.length-1])?void 0:t.route.id;i||d(!1),s||d(!1),null==l&&d(!1);let u=Ar?Ar():"",[c,h]=a.useState(r||u);r&&r!==c?h(r):c||h(en()),a.useEffect(()=>(n.getFetcher(c),()=>{n.deleteFetcher(c)}),[n,c]);let f=a.useCallback((e,t)=>{l||d(!1),n.fetch(c,l,e,t)},[c,l,n]),p=tn(),m=a.useCallback((e,t)=>{p(e,hr({},t,{navigate:!1,fetcherKey:c}))},[c,p]),v=a.useMemo(()=>a.forwardRef((e,t)=>a.createElement($r,hr({},e,{navigate:!1,fetcherKey:c,ref:t}))),[c]),y=o.fetchers.get(c)||de,g=i.get(c);return a.useMemo(()=>hr({Form:v,submit:m,load:f},y,{data:g}),[v,m,f,y,g])}function an(){let e=Xr(qr.UseFetchers);return Array.from(e.fetchers.entries()).map(e=>{let[t,r]=e;return hr({},r,{key:t})})}const on="react-router-scroll-positions";let sn={};function ln(e){let{getKey:t,storageKey:r}=void 0===e?{}:e,{router:n}=Yr(Jr.UseScrollRestoration),{restoreScrollPosition:o,preventScrollReset:i}=Xr(qr.UseScrollRestoration),{basename:s}=a.useContext(st),l=ft(),u=Nt(),c=Ot();a.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),function(e){let{capture:t}={};a.useEffect(()=>{let r=null!=t?{capture:t}:void 0;return window.addEventListener("pagehide",e,r),()=>{window.removeEventListener("pagehide",e,r)}},[e,t])}(a.useCallback(()=>{if("idle"===c.state){let e=(t?t(l,u):null)||l.key;sn[e]=window.scrollY}try{sessionStorage.setItem(r||on,JSON.stringify(sn))}catch(e){}window.history.scrollRestoration="auto"},[r,t,c.state,l,u])),"undefined"!=typeof document&&(a.useLayoutEffect(()=>{try{let e=sessionStorage.getItem(r||on);e&&(sn=JSON.parse(e))}catch(e){}},[r]),a.useLayoutEffect(()=>{let e=t&&"/"!==s?(e,r)=>t(hr({},e,{pathname:N(e.pathname,s)||e.pathname}),r):t,r=null==n?void 0:n.enableScrollRestoration(sn,()=>window.scrollY,e);return()=>r&&r()},[n,s,t]),a.useLayoutEffect(()=>{if(!1!==o)if("number"!=typeof o){if(l.hash){let e=document.getElementById(decodeURIComponent(l.hash.slice(1)));if(e)return void e.scrollIntoView()}!0!==i&&window.scrollTo(0,0)}else window.scrollTo(0,o)},[l,o,i]))}function un(e,t){let{capture:r}=t||{};a.useEffect(()=>{let t=null!=r?{capture:r}:void 0;return window.addEventListener("beforeunload",e,t),()=>{window.removeEventListener("beforeunload",e,t)}},[e,r])}function cn(e){let{when:t,message:r}=e,n=Vt(t);a.useEffect(()=>{"blocked"===n.state&&(window.confirm(r)?setTimeout(n.proceed,0):n.reset())},[n,r]),a.useEffect(()=>{"blocked"!==n.state||t||n.reset()},[n,t])}function dn(e,t){void 0===t&&(t={});let r=a.useContext(Lr);null==r&&d(!1);let{basename:n}=Yr(Jr.useViewTransitionState),o=Et(e,{relative:t.relative});if(!r.isTransitioning)return!1;let i=N(r.currentLocation.pathname,n)||r.currentLocation.pathname,s=N(r.nextLocation.pathname,n)||r.nextLocation.pathname;return null!=O(o.pathname,s)||null!=O(o.pathname,i)}}}]);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/router v1.0.3
2
+ * @remix-run/router v1.23.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -10,7 +10,7 @@
10
10
  */
11
11
 
12
12
  /**
13
- * React Router DOM v6.4.3
13
+ * React Router DOM v6.30.1
14
14
  *
15
15
  * Copyright (c) Remix Software Inc.
16
16
  *
@@ -21,7 +21,7 @@
21
21
  */
22
22
 
23
23
  /**
24
- * React Router v6.4.3
24
+ * React Router v6.30.1
25
25
  *
26
26
  * Copyright (c) Remix Software Inc.
27
27
  *