티스토리 수익 글 보기
“use strict”;(globalThis.webpackChunk_github_ui_github_ui=globalThis.webpackChunk_github_ui_github_ui||[]).push([[82216],{1723:(e,t,r)=>{r.d(t,{w:()=>eM,o:()=>eI});var a=r(88243),n=r(16213),o=r(50467),i=r(31635),s=r(74848),l=r(39595),u=r(52475),c=r(53627),d=r(3433),h=r(38056),p=r(86917);let f=new p.R;async function m(e){return f.getRegistration(e).promise}var y=r(68237),g=r(69743),v=r(16522),b=r(96540),w=r(43073),S=r(74135);let R=(0,b.memo)(function(e){let t=(0,v.c)(4),{routes:r}=e;if((0,w.E)()){let e;return t[0]!==r?(e=(0,s.jsx)(x,{routes:r}),t[0]=r,t[1]=e):e=t[1],e}{let e;return t[2]!==r?(e=(0,s.jsx)(E,{routes:r}),t[2]=r,t[3]=e):e=t[3],e}}),E=(0,b.memo)(function(e){let t,r,a,n=(0,v.c)(9),{routes:o}=e,i=(0,d.zy)();n[0]!==i||n[1]!==o?(t=(0,d.ue)(o,i)?.map(N)??[],n[0]=i,n[1]=o,n[2]=t):t=n[2];let s=t;n[3]!==o?(r=k(o),n[3]=o,n[4]=r):r=n[4];let l=r;return n[5]!==i||n[6]!==s||n[7]!==l?(a={location:i,matches:s,routes:l},n[5]=i,n[6]=s,n[7]=l,n[8]=a):a=n[8],C(a),null}),x=(0,b.memo)(function(e){let t,r,a=(0,v.c)(6),{routes:n}=e,o=(0,d.zy)(),i=(0,d.FE)();a[0]!==n?(t=k(n),a[0]=n,a[1]=t):t=a[1];let s=t;return a[2]!==o||a[3]!==i||a[4]!==s?(r={location:o,matches:i,routes:s},a[2]=o,a[3]=i,a[4]=s,a[5]=r):r=a[5],C(r),null});function C(e){let t,r,a,n,o=(0,v.c)(10),{location:i,matches:s,routes:l}=e;o[0]!==i||o[1]!==s||o[2]!==l?(t=()=>{let e=new AbortController;return document.addEventListener(“turbo:load”,()=>{(0,S.n)().setState({location:i,matches:s,routes:l})},{signal:e.signal}),()=>{e.abort()}},r=[i,l,s],o[0]=i,o[1]=s,o[2]=l,o[3]=t,o[4]=r):(t=o[3],r=o[4]),(0,b.useEffect)(t,r),o[5]!==i||o[6]!==s||o[7]!==l?(a=()=>((0,S.n)().setState({location:i,matches:s,routes:l}),_),n=[i,l,s],o[5]=i,o[6]=s,o[7]=l,o[8]=a,o[9]=n):(a=o[8],n=o[9]),(0,b.useEffect)(a,n)}function _(){(0,S.n)().setState(null)}function k(e,t=””){let r=[];for(let o of e){let e,i=!0===o.index,s=o.path??””;if(i)e=t.startsWith(“/”)&&!t.endsWith(“/”)?t.endsWith(“/”)?t:`${t}/`:t||”/”;else{var a,n;e=s.startsWith(“/”)?s:(a=t,n=s,a?n?`${a.replace(/\/+$/,””)}/${n.replace(/^\/+/,””)}`:a:n)}let l=”id”in o&&”string”==typeof o.id?o.id:e||”/”;r.push({id:l,pathname:e||”/”,route:o,loaderData:void 0}),o.children&&r.push(…k(o.children,e))}return r}try{R.displayName||(R.displayName=”RouterDevTools”)}catch{}try{E.displayName||(E.displayName=”NavigatorRouterDevTools”)}catch{}try{x.displayName||(x.displayName=”DataRouterDevTools”)}catch{}function N(e){return function({pathname:e,route:t,params:r}){return{id:t.id??t.path??e,pathname:e,params:r,loaderData:void 0,data:void 0,handle:t.handle}}(e)}var j=r(5330),L=r(79634),A=r(58578);function T(e,t,r){let a,n,o,i=(0,v.c)(8),s=(0,b.useRef)(void 0),l=(0,b.useRef)(t.state);i[0]!==t.state?(a=()=>{l.current=t.state},i[0]=t.state,i[1]=a):a=i[1],(0,b.useEffect)(a),i[2]!==r||i[3]!==e||i[4]!==t.pathname||i[5]!==t.search?(n=()=>{if(“POP”===r)return;let a=t.pathname+t.search;if(void 0===s.current)s.current=a;else if(s.current!==a&&!e){var n;if(!(“object”==typeof(n=l.current)&&null!==n&&A.V in n&&!0===n[A.V])){let e=document.querySelector(“[data-react-autofocus]”);!e&&(e=document.querySelector(“react-app h1”))&&!e.hasAttribute(“tabindex”)&&e.setAttribute(“tabindex”,”-1″),e?.focus()}s.current=a}},o=[e,t.pathname,t.search,r],i[2]=r,i[3]=e,i[4]=t.pathname,i[5]=t.search,i[6]=n,i[7]=o):(n=i[6],o=i[7]),(0,b.useEffect)(n,o)}function P(){return T(!1,(0,d.zy)(),(0,d.wQ)()),null}try{P.displayName||(P.displayName=”NavigationFocusListener”)}catch{}var D=r(97665),O=r(73900),$=r(82591),I=r(86596),M=r(4143);let z=$.z.INITIAL;function W(){let e,t,r,a,n=(0,v.c)(10),o=(0,L.X)(),i=(0,M.yT)(),s=(0,D.jE)();return n[0]!==o||n[1]!==i||n[2]!==s?(e=()=>{let e=U(i,s);document.dispatchEvent(new O.gh({payload:e,appPayload:o}))},t=[i,o,s],n[0]=o,n[1]=i,n[2]=s,n[3]=e,n[4]=t):(e=n[3],t=n[4]),(0,b.useEffect)(e,t),n[5]!==o||n[6]!==i||n[7]!==s?(r=()=>{let e=function(){let e=U(i,s);document.dispatchEvent(new O.gh({payload:e,appPayload:o}))};return document.addEventListener(z,e),()=>{document.removeEventListener(z,e)}},a=[i,o,s],n[5]=o,n[6]=i,n[7]=s,n[8]=r,n[9]=a):(r=n[8],a=n[9]),(0,b.useEffect)(r,a),null}function U(e,t){let r={};for(let a of e){if(!a.data)continue;let e=a.data.route.id;for(let n of Object.values(a.data.queries))n.type===I.g.Blocking&&(r[e]=t.getQueryData(n.queryConfig.queryKey))}return r}try{W.displayName||(W.displayName=”PublishPayload”)}catch{}var B=r(48602),F=r(73189),H=r(71315);let q=new Map,Y=!1,V=H.fV.href;async function J(){let{session:e}=await r.e(7332).then(r.bind(r,7332));document.addEventListener(“turbo:click”,e=>{V=e.detail.url}),window.addEventListener(“popstate”,()=>{let{scrollPosition:t}=e.history.getRestorationDataForIdentifier(e.history.restorationIdentifier)||{};t&&q.set(window.location.href,t)})}async function G(){H.cg&&(Y||(await J(),Y=!0))}function X(){let e=window.location.href;if(e===V&&e.includes(“#”))return;V=e;let t=q.get(e);if(!t)return;let r=setTimeout(()=>{window.scrollTo(t.x,t.y)},0);return()=>{clearTimeout(r)}}let K=H.cg?function(){(0,b.useLayoutEffect)(X)}:F.l;function Q(){let e,t=(0,v.c)(1);return(K(),”undefined”!=typeof jest)?null:(t[0]===Symbol.for(“react.memo_cache_sentinel”)?(e=(0,s.jsx)(d.OA,{}),t[0]=e):e=t[0],e)}G();try{Q.displayName||(Q.displayName=”CombinedScrollRestoration”)}catch{}var Z=r(3291),ee=r(76143),et=r(43538);function er(){let e,t,r=(0,v.c)(4),a=(0,M.yT)(),n=(0,D.jE)();return r[0]!==a||r[1]!==n?(e=()=>{for(let e of[…a].reverse()){if(!e.data?.route)continue;let t=e.data?.queries.mainQuery;if(!t)continue;let r=function(e,t){let r=e.getQueryData(t.queryKey);if(r){if(“title”in r&&r.title)return r.title;else if(“meta”in r&&r.meta)return r.meta.title}else{(0,et.G)()&&console.error(“Unexpected attempt to read title for a query that is not in the query client. If you encounter this error in your application, please reach out to #react to help diagnose the issue.”);return}}(n,t.queryConfig);if(r){(0,ee.D)((0,ee.Y)(r));break}}},t=[a,n],r[0]=a,r[1]=n,r[2]=e,r[3]=t):(e=r[2],t=r[3]),(0,b.useEffect)(e,t),null}try{er.displayName||(er.displayName=”TitleManager”)}catch{}async function ea(e,t){let{routes:r}=(await m(“app-shell”)).registration({embeddedData:t});if(1!==r.length)throw Error(“Expected app shell routes to have a single entry”);let[a]=r;return[{…a,children:e,index:!1}]}let en=new p.R;async function eo(e){return en.getRegistration(e).promise}var ei=r(76648);function es(e){let t,r,a,n,o,i,l,u,c=(0,v.c)(2),{App:h}=e;return i=(0,v.c)(8),l=(0,ei.B)(),u=(0,L.X)(),i[0]!==u||i[1]!==l?(r=()=>{let e=new AbortController;return document.addEventListener($.z.INITIAL,function(){document.dispatchEvent(new O.gh({payload:l,appPayload:u}))},{signal:e.signal}),()=>{e.abort()}},a=[u,l],i[0]=u,i[1]=l,i[2]=r,i[3]=a):(r=i[2],a=i[3]),(0,b.useEffect)(r,a),i[4]!==u||i[5]!==l?(n=()=>{document.dispatchEvent(new O.gh({payload:l,appPayload:u}))},o=[u,l],i[4]=u,i[5]=l,i[6]=n,i[7]=o):(n=i[6],o=i[7]),(0,b.useEffect)(n,o),c[0]!==h?(t=h?(0,s.jsx)(h,{children:(0,s.jsx)(d.sv,{})}):(0,s.jsx)(d.sv,{}),c[0]=h,c[1]=t):t=c[1],t}try{es.displayName||(es.displayName=”AppWrapper”)}catch{}var el=r(75202),eu=r(42270),ec=r(35750),ed=r(18150),eh=r(85242),ep=r(65432),ef=r(27744);let em=(e,t)=>null!==e&&null!==t&&e.pathname===t.pathname&&e.search===t.search&&!!t.hash;var ey=new WeakMap,eg=new WeakMap,ev=new WeakMap,eb=new WeakSet,ew=new WeakMap,eS=new WeakSet;let eR=class Navigator{update(e){var t;this.state=Object.assign({},this.state,e);let r=this.getAppNavigationState();null==(t=(0,a._)(this,eb,eE))||t.call(this,r)}subscribe(e){let t=(0,ec._)(this,ev).push(e);return()=>{(0,ec._)(this,ev)[t]=null}}async handleHistoryUpdate(e){if(“POP”===e.action&&(0,c.JV)().turboCount!==this.state.turboCount)return;if(this.isHashNavigation(e))return void this.navigateWithCurrentPayload(e);”POP”!==e.action&&(0,ep.SC)(“react”);let t=this.state.routeStateMap[e.location.key],r=void 0!==t;if(t&&t.isValid&&(r=t.isValid()),r)this.navigateFromHistory(e);else{let t=this.matchLocation(e.location);if(!t)throw Error(“handleHistoryUpdate should only be called for matching routes”);if(t.route.transitionType===ef.E.TRANSITION_WHILE_FETCHING&&this.navigateWithoutPayload(e),t.route.transitionType===ef.E.TRANSITION_WITHOUT_FETCH)return void this.navigateWithoutPayload(e);let r=(0,c.JV)().usr?.__prefetched_data;if(r)return void this.leaveLoadingStateWithRouteData(e,r,r.title);this.enterLoadingState(e);let a=await t.route.coreLoader({location:e.location,pathParams:t.params,embeddedData:t.route===(0,ec._)(this,eg)?this.initialEmbeddedData:void 0});if(e.location!==this.state.pendingNavigation?.update.location)return;switch(a.type){case”loaded”:this.leaveLoadingStateWithRouteData(e,a.data,a.title,a.isValid);break;case”error”:this.leaveLoadingStateWithError(e,a.error,!1);break;case”redirect”:window.location.replace(a.url+location.hash);break;case”route-handled-error”:this.leaveLoadingStateWithError(e,a.error,!0);break;default:throw Error(`Unexpected loader result type: ${a.type}`)}}}matchLocation(e){var t,r;return t=(0,ec._)(this,ey),r=e,(0,d.ue)(t,r.pathname)?.[0]}isHashNavigation(e){return em(this.state.location,e.location)}navigateFromHistory(e){this.update({location:e.location,pendingNavigation:null,error:null})}enterLoadingState(e){this.update({pendingNavigation:{update:e}})}leaveLoadingStateWithError(e,t,r){this.update({location:e.location,error:t,pendingNavigation:null,navigateOnError:r})}navigateWithoutPayload(e){this.update({location:e.location,error:null})}navigateWithCurrentPayload(e){let t=this.state.location.key,r=t+e.location.hash,a={…e.location,key:r},n={…this.state.routeStateMap,[r]:this.state.routeStateMap[t]};this.update({…e,location:a,routeStateMap:n,error:null})}leaveLoadingStateWithRouteData(e,t,r,a){this.update({location:e.location,pendingNavigation:null,routeStateMap:t?{…this.state.routeStateMap,[e.location.key]:{type:”loaded”,data:t,title:r,isValid:a}}:this.state.routeStateMap,error:null})}constructor(e,t,r,i){(0,n._)(this,eb),(0,n._)(this,eS),(0,o._)(this,”state”,void 0),(0,ed._)(this,ey,{writable:!0,value:void 0}),(0,ed._)(this,eg,{writable:!0,value:void 0}),(0,o._)(this,”initialEmbeddedData”,void 0),(0,ed._)(this,ev,{writable:!0,value:[]}),(0,ed._)(this,ew,{writable:!0,value:new WeakMap}),(0,o._)(this,”getAppNavigationState”,()=>{let e=(0,ec._)(this,ew).get(this.state);if(e)return e;let{location:t,error:r,navigateOnError:a,routeStateMap:n,appPayload:o,pendingNavigation:i}=this.state,s={location:t,error:r,navigateOnError:a,routeStateMap:n,appPayload:o,isLoading:!!i};return(0,ec._)(this,ew).set(this.state,s),s}),(0,eh._)(this,ey,i);const s=this.matchLocation(e);if(!s)throw Error(`No route found for initial location: ${e.pathname} in [${(0,a._)(this,eS,ex).call(this)}]`);const{data:l,title:u,isValid:d}=s.route.loadFromEmbeddedData({embeddedData:t,location:e,pathParams:s.params});this.initialEmbeddedData=t,(0,eh._)(this,eg,s.route),this.state={location:e,routeStateMap:{[e.key]:{type:”loaded”,data:l,title:u,isValid:d}},appPayload:r,pendingNavigation:null,error:null,navigateOnError:!1,turboCount:(0,c.JV)().turboCount||0}}};function eE(e){for(let t of(0,ec._)(this,ev))t?.(e)}function ex(){return(0,ec._)(this,ey).map(e=>e.path).join(“, “)}var eC=r(56629);function e_(e){var t;let r,a,n,o,i,l,u,c,h,p,f,m,w,S=(0,v.c)(33),{appName:R,initialLocation:E,history:x,embeddedData:C,routes:_,App:k,wasServerRendered:N,ssrError:j,onError:L}=e;S[0]!==R||S[1]!==C||S[2]!==E||S[3]!==_?(r={initialLocation:E,appName:R,embeddedData:C,routes:_},S[0]=R,S[1]=C,S[2]=E,S[3]=_,S[4]=r):r=S[4];let[A,P]=function(e){let t,r,a,n,o,i=(0,v.c)(13),{initialLocation:s,embeddedData:l,routes:u}=e;i[0]!==l||i[1]!==s||i[2]!==u?(t=()=>{let{appPayload:e,…t}=l;return new eR(s,{…t,enabled_features:e?.enabled_features?e.enabled_features:{}},e,u)},i[0]=l,i[1]=s,i[2]=u,i[3]=t):t=i[3];let[c]=(0,b.useState)(t);i[4]!==c?(r=e=>{let t=c.subscribe(e);return()=>{t()}},i[4]=c,i[5]=r):r=i[5];let d=(0,b.useSyncExternalStore)(r,c.getAppNavigationState,c.getAppNavigationState);i[6]!==c?(a=e=>{(0,b.startTransition)(()=>{c.handleHistoryUpdate(e)})},i[6]=c,i[7]=a):a=i[7];let h=a;return i[8]!==h?(n={handleHistoryUpdate:h},i[8]=h,i[9]=n):n=i[9],i[10]!==d||i[11]!==n?(o=[d,n],i[10]=d,i[11]=n,i[12]=o):o=i[12],o}(r),{location:D,error:O,routeStateMap:$,appPayload:I,navigateOnError:M,isLoading:z}=A,{handleHistoryUpdate:W}=P;return T(z,D),(0,eC.n)(D,z,O),t=$[D.key],m=(0,v.c)(5),w=(0,b.useRef)(null),m[0]!==t||m[1]!==O||m[2]!==D?(p=()=>{if(w.current||(w.current=D),!em(w.current,D)&&(O||t))if(O){var e;let t,r=(t=404===(e=O).httpStatus?”404 Page not found”:500===e.httpStatus?”500 Internal server error”:e.httpStatus?`Error ${e.httpStatus}`:”Error”,(0,ee.Y)(t));(0,ee.D)(r)}else t?.type===”loaded”&&t.title&&(0,ee.D)((0,ee.Y)(t.title));w.current?.key!==D.key&&(w.current=D)},f=[O,t,D],m[0]=t,m[1]=O,m[2]=D,m[3]=p,m[4]=f):(p=m[3],f=m[4]),(0,b.useEffect)(p,f),K(),S[5]!==W||S[6]!==x?(a=()=>x.listen(W),n=[x,W],S[5]=W,S[6]=x,S[7]=a,S[8]=n):(a=S[7],n=S[8]),(0,b.useLayoutEffect)(a,n),S[9]!==k||S[10]!==_?(o=(0,s.jsx)(ek,{routes:_,App:k}),S[9]=k,S[10]=_,S[11]=o):o=S[11],S[12]!==x||S[13]!==D||S[14]!==o?(i=(0,s.jsx)(d.Ix,{location:D,navigator:x,children:o}),S[12]=x,S[13]=D,S[14]=o,S[15]=i):i=S[15],S[16]!==j?(l=(0,s.jsx)(g.h,{ssrError:j}),S[16]=j,S[17]=l):l=S[17],S[18]!==I||S[19]!==O||S[20]!==M||S[21]!==$||S[22]!==_||S[23]!==i||S[24]!==l?(u=(0,s.jsxs)(eu.l,{appPayload:I,error:O,navigateOnError:M,routes:_,routeStateMap:$,children:[i,l]}),S[18]=I,S[19]=O,S[20]=M,S[21]=$,S[22]=_,S[23]=i,S[24]=l,S[25]=u):u=S[25],S[26]!==L||S[27]!==u?(c=(0,s.jsx)(el.t,{onError:L,critical:!0,children:u}),S[26]=L,S[27]=u,S[28]=c):c=S[28],S[29]!==R||S[30]!==c||S[31]!==N?(h=(0,s.jsx)(y.U,{appName:R,wasServerRendered:N,dataRouterEnabled:!1,children:c}),S[29]=R,S[30]=c,S[31]=N,S[32]=h):h=S[32],h}function ek(e){let t,r,a,n,o=(0,v.c)(10),{App:i,routes:l}=e;return o[0]!==i?(t=(0,s.jsx)(es,{App:i}),o[0]=i,o[1]=t):t=o[1],o[2]!==l?(r=(0,s.jsx)(R,{routes:l}),o[2]=l,o[3]=r):r=o[3],o[4]!==t||o[5]!==r?(a=(0,s.jsxs)(s.Fragment,{children:[t,r]}),o[4]=t,o[5]=r,o[6]=a):a=o[6],o[7]!==l||o[8]!==a?(n=[{element:a,children:l}],o[7]=l,o[8]=a,o[9]=n):n=o[9],(0,d.Ye)(n)}G();try{e_.displayName||(e_.displayName=”NavigatorClientEntry”)}catch{}try{ek.displayName||(ek.displayName=”AppRoutes”)}catch{}var eN=r(11934),ej=r(16235),eL=r(3538),eA=new WeakSet,eT=new WeakSet,eP=new WeakSet;let ReactAppElement=class ReactAppElement extends eL.H{get enabledFeatures(){if(!this.embeddedDataJSON)return[];let e=this.embeddedDataJSON.appPayload?.enabled_features||{};return Object.keys(e).filter(t=>e[t])}get routes(){return this.appRoutes||this.routerOrHistory?.routes||[]}get navigate(){return”push”in this.routerOrHistory?this.routerOrHistory.push:”navigate”in this.routerOrHistory?this.routerOrHistory.navigate:void 0}connectedCallback(){super.connectedCallback(),this.uuid=(0,u._S)(),(0,u.cW)(this.uuid),window.addEventListener(“popstate”,this.popStateListener,!0)}disconnectedCallback(){window.removeEventListener(“popstate”,this.popStateListener,!0),this.routerOrHistory?.dispose(),super.disconnectedCallback()}get isDataRouterEnabled(){return”true”===this.getAttribute(“data-data-router-enabled”)}get includeAppShell(){return”true”===this.getAttribute(“data-app-shell”)}async getReactNode(e,t){if(this.isDataRouterEnabled){let r=await m(this.name);return(0,a._)(this,eA,eD).call(this,e,t,r.registration)}let r=await eo(this.name);return(0,a._)(this,eT,eO).call(this,e,t,r.registration)}get isLazy(){return”true”===this.getAttribute(“data-lazy”)}constructor(…e){super(…e),(0,n._)(this,eA),(0,n._)(this,eT),(0,n._)(this,eP),(0,o._)(this,”nameAttribute”,”app-name”),(0,o._)(this,”appRoutes”,[]),(0,o._)(this,”popStateListener”,e=>{e.state&&this.uuid!==(0,c.JV)().appId&&this.routerOrHistory?.dispose()})}};async function eD(e,t,r){e&&((0,a._)(this,eP,e$).call(this,e),(0,ej.S)().removeQueries({queryKey:[this.name]}));let{routes:n}=r({embeddedData:e});return this.includeAppShell&&(n=await ea(n,e)),this.routerOrHistory=(0,h.T)((0,d.Ys)(function(e,{ssrError:t,appName:r,wasServerRendered:a,children:n,HydrateFallback:o,dataRouterEnabled:i,appPayload:l}){return[{id:”__DATA_ROUTER_ROOT__”,errorElement:(0,s.jsx)(B.hw,{appName:r}),HydrateFallback:o,element:(0,s.jsx)(y.U,{appName:r,wasServerRendered:a,dataRouterEnabled:i,children:(0,s.jsx)(L.z,{value:l,children:(0,s.jsxs)(j.d,{routes:e,children:[(0,s.jsx)(d.sv,{}),n,(0,s.jsx)(g.h,{ssrError:t}),(0,s.jsx)(Z.e,{}),(0,s.jsx)(P,{}),(0,s.jsx)(Q,{}),(0,s.jsx)(W,{}),(0,s.jsx)(er,{}),(0,s.jsx)(R,{routes:e})]})})}),children:[{id:”__DATA_ROUTER_APPLICATION_ROUTES__”,errorElement:(0,s.jsx)(B.Ly,{appName:r}),children:e}]}]}(n,{appPayload:e.appPayload,ssrError:this.ssrError,appName:this.name,wasServerRendered:this.hasSSRContent,dataRouterEnabled:!0}))),(0,s.jsx)(eN.f,{appName:this.name,isDataRouterEnabled:!0,children:(0,s.jsx)(eN.U,{id:this.name,children:(0,s.jsx)(d.pg,{router:this.routerOrHistory})})})}async function eO(e,t,r){let{App:a,routes:n}=r(),o=this.getAttribute(“initial-path”);if(this.isLazy){let t=await fetch(o,{mode:”no-cors”,cache:”no-cache”,credentials:”include”}),{payload:r}=await t.json();e.payload=r}let i=globalThis.window,{pathname:l,search:u,hash:h}=new URL(`${o}${i?.location.hash??””}`,i?.location.href??”https://github.com”);(0,c.C3)({key:Math.random().toString(36).substr(2,8)});let p=function(e={}){let t,r=(0,d.zR)({…e,v5Compat:!0}),a=[],n=!1;function o(e){if(a.length>0)for(let t of a)t({retry(){e()}});else e()}return{get action(){return r.action},get location(){return r.location},createHref:e=>r.createHref(e),createURL:e=>r.createURL(e),encodeLocation:e=>r.encodeLocation(e),push(e,t){o(()=>r.push(e,t))},replace(e,t){o(()=>r.replace(e,t))},go(e){o(()=>r.go(e))},listen(e){if(t)throw Error(“A history only accepts one active listener”);return t=e,()=>{t=void 0}},dispose:r.listen(e=>{if(n){n=!1;return}if(e.action===d.rc.Pop&&a.length&&null!==e.delta&&a.length>0){let t=e.delta;for(let e of(n=!0,r.go(-1*t),a))e({retry(){r.go(t)}})}else t?.(e)}),block:e=>(a.push(e),()=>{a=a.filter(t=>t!==e)})}}({window:i});this.routerOrHistory=p,this.appRoutes=n;let{key:f,state:m}=p.location;return(0,s.jsx)(eN.f,{appName:this.name,isDataRouterEnabled:!1,children:(0,s.jsx)(eN.U,{id:this.name,children:(0,s.jsx)(e_,{appName:this.name,initialLocation:{pathname:l,search:u,hash:h,key:f,state:m},history:p,embeddedData:e,routes:n,App:a,wasServerRendered:this.hasSSRContent,ssrError:this.ssrError,onError:t})})})}function e$(e){if(e.payload)for(let t of this.querySelectorAll(“rails-partial”)){let r=t.getAttribute(“data-partial-name”);r&&(e.payload[r]=t.innerHTML)}}function eI(e,t){en.register(e,{type:”NavigatorApp”,registration:t})}function eM(e){f.register(e.name,{type:”DataRouterApp”,registration:e.registration})}ReactAppElement=(0,i.Cg)([l.p_],ReactAppElement)},3291:(e,t,r)=>{r.d(t,{e:()=>i,f:()=>s});var a=r(3433),n=r(96540),o=r(56629);let i=(0,n.memo)(function(){let e=(0,a.zy)(),t=!!(0,a.cq)().location;return(0,o.n)(e,t,null),null}),s=(0,n.memo)(function(){let e=(0,a.zy)();return(0,o.n)(e,!1,null),null});try{i.displayName||(i.displayName=”SoftNavLifecycleListener”)}catch{}try{s.displayName||(s.displayName=”SoftNavLifecycleListenerLegacy”)}catch{}},3433:(e,t,r)=>{r.d(t,{AO:()=>y,B6:()=>L,BV:()=>tX,C5:()=>tY,Ew:()=>tL,FE:()=>tN,Gy:()=>rb,Ix:()=>tG,K:()=>rC,KP:()=>tP,Kd:()=>rh,LG:()=>tj,N_:()=>rf,OA:()=>ry,PI:()=>t0,RQ:()=>tu,Ri:()=>ti,Ye:()=>ty,Ys:()=>rd,Zp:()=>th,_3:()=>tt,cq:()=>tk,g:()=>tf,k2:()=>rm,o1:()=>D,ok:()=>rw,pX:()=>q,pg:()=>tF,qh:()=>tJ,r5:()=>tA,rc:()=>u,sv:()=>tV,tW:()=>j,ue:()=>x,wQ:()=>tl,x$:()=>tm,zR:()=>d,zy:()=>ts});var a,n,o,i=r(96540),s=e=>{throw TypeError(e)},l=(e,t,r)=>(t.has(e)||s(“Cannot read from private field”),r?r.call(e):t.get(e)),u=((a=u||{}).Pop=”POP”,a.Push=”PUSH”,a.Replace=”REPLACE”,a),c=”popstate”;function d(e={}){return function(e,t,r,a={}){let{window:n=document.defaultView,v5Compat:o=!1}=a,i=n.history,s=”POP”,l=null,u=d();function d(){return(i.state||{idx:null}).idx}function h(){s=”POP”;let e=d(),t=null==e?null:e-u;u=e,l&&l({action:s,location:p.location,delta:t})}null==u&&(u=0,i.replaceState({…i.state,idx:u},””));let p={get action(){return s},get location(){return e(n,i)},listen(e){if(l)throw Error(“A history only accepts one active listener”);return n.addEventListener(c,h),l=e,()=>{n.removeEventListener(c,h),l=null}},createHref:e=>t(n,e),createURL:function(e){return v(e)},encodeLocation(e){let t=v(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){s=”PUSH”;let r=m(p.location,e,t);let a=f(r,u=d()+1),c=p.createHref(r);try{i.pushState(a,””,c)}catch(e){if(e instanceof DOMException&&”DataCloneError”===e.name)throw e;n.location.assign(c)}o&&l&&l({action:s,location:p.location,delta:1})},replace:function(e,t){s=”REPLACE”;let r=m(p.location,e,t);let a=f(r,u=d()),n=p.createHref(r);i.replaceState(a,””,n),o&&l&&l({action:s,location:p.location,delta:0})},go:e=>i.go(e)};return p}(function(e,t){let{pathname:r,search:a,hash:n}=e.location;return m(“”,{pathname:r,search:a,hash:n},t.state&&t.state.usr||null,t.state&&t.state.key||”default”)},function(e,t){return”string”==typeof t?t:y(t)},null,e)}function h(e,t){if(!1===e||null==e)throw Error(t)}function p(e,t){if(!e){“undefined”!=typeof console&&console.warn(t);try{throw Error(t)}catch(e){}}}function f(e,t){return{usr:e.state,key:e.key,idx:t}}function m(e,t,r=null,a){return{pathname:”string”==typeof e?e:e.pathname,search:””,hash:””,…”string”==typeof t?g(t):t,state:r,key:t&&t.key||a||Math.random().toString(36).substring(2,10)}}function y({pathname:e=”/”,search:t=””,hash:r=””}){return t&&”?”!==t&&(e+=”?”===t.charAt(0)?t:”?”+t),r&&”#”!==r&&(e+=”#”===r.charAt(0)?r:”#”+r),e}function g(e){let t={};if(e){let r=e.indexOf(“#”);r>=0&&(t.hash=e.substring(r),e=e.substring(0,r));let a=e.indexOf(“?”);a>=0&&(t.search=e.substring(a),e=e.substring(0,a)),e&&(t.pathname=e)}return t}function v(e,t=!1){let r=”http://localhost”;”undefined”!=typeof window&&(r=”null”!==window.location.origin?window.location.origin:window.location.href),h(r,”No window.location.(origin|href) available to create URL”);let a=”string”==typeof e?e:y(e);return a=a.replace(/ $/,”%20″),!t&&a.startsWith(“//”)&&(a=r+a),new URL(a,r)}var b=class{constructor(e){if(((e,t,r)=>t.has(e)?s(“Cannot add the same private member more than once”):t instanceof WeakSet?t.add(e):t.set(e,r))(this,o,new Map),e)for(let[t,r]of e)this.set(t,r)}get(e){if(l(this,o).has(e))return l(this,o).get(e);if(void 0!==e.defaultValue)return e.defaultValue;throw Error(“No value found for context”)}set(e,t){l(this,o).set(e,t)}};o=new WeakMap;var w=new Set([“lazy”,”caseSensitive”,”path”,”id”,”index”,”children”]),S=new Set([“lazy”,”caseSensitive”,”path”,”id”,”index”,”middleware”,”children”]);function R(e,t,r=[],a={},n=!1){return e.map((e,o)=>{let i=[…r,String(o)],s=”string”==typeof e.id?e.id:i.join(“-“);if(h(!0!==e.index||!e.children,”Cannot specify children on an index route”),h(n||!a[s],`Found a route id collision on id “${s}”. Route id’s must be globally unique within Data Router usages`),!0===e.index){let r={…e,id:s};return a[s]=E(r,t(r)),r}{let r={…e,id:s,children:void 0};return a[s]=E(r,t(r)),e.children&&(r.children=R(e.children,t,i,a,n)),r}})}function E(e,t){return Object.assign(e,{…t,…”object”==typeof t.lazy&&null!=t.lazy?{lazy:{…e.lazy,…t.lazy}}:{}})}function x(e,t,r=”/”){return C(e,t,r,!1)}function C(e,t,r,a){let n=T((“string”==typeof t?g(t):t).pathname||”/”,r);if(null==n)return null;let o=function e(t,r=[],a=[],n=””,o=!1){let i=(t,i,s=o,l)=>{var u,c;let d,p,f={relativePath:void 0===l?t.path||””:l,caseSensitive:!0===t.caseSensitive,childrenIndex:i,route:t};if(f.relativePath.startsWith(“/”)){if(!f.relativePath.startsWith(n)&&s)return;h(f.relativePath.startsWith(n),`Absolute route path “${f.relativePath}” nested under path “${n}” is not valid. An absolute child route path must start with the combined path of all its parent routes.`),f.relativePath=f.relativePath.slice(n.length)}let m=W([n,f.relativePath]),y=a.concat(f);t.children&&t.children.length>0&&(h(!0!==t.index,`Index routes must not have child routes. Please remove all child routes from route path “${m}”.`),e(t.children,r,y,m,s)),(null!=t.path||t.index)&&r.push({path:m,score:(u=m,c=t.index,p=(d=u.split(“/”)).length,d.some(N)&&(p+=-2),c&&(p+=2),d.filter(e=>!N(e)).reduce((e,t)=>e+(k.test(t)?3:””===t?1:10),p)),routesMeta:y})};return t.forEach((e,t)=>{if(“”!==e.path&&e.path?.includes(“?”))for(let r of function e(t){let r=t.split(“/”);if(0===r.length)return[];let[a,…n]=r,o=a.endsWith(“?”),i=a.replace(/\?$/,””);if(0===n.length)return o?[i,””]:[i];let s=e(n.join(“/”)),l=[];return l.push(…s.map(e=>””===e?i:[i,e].join(“/”))),o&&l.push(…s),l.map(e=>t.startsWith(“/”)&&””===e?”/”:e)}(e.path))i(e,t,!0,r);else i(e,t)}),r}(e);o.sort((e,t)=>{var r,a;return e.score!==t.score?t.score-e.score:(r=e.routesMeta.map(e=>e.childrenIndex),a=t.routesMeta.map(e=>e.childrenIndex),r.length===a.length&&r.slice(0,-1).every((e,t)=>e===a[t])?r[r.length-1]-a[a.length-1]:0)});let i=null;for(let e=0;null==i&&e“*”===e;function j(e,t={}){let r=e;r.endsWith(“*”)&&”*”!==r&&!r.endsWith(“/*”)&&(p(!1,`Route path “${r}” will be treated as if it were “${r.replace(/\*$/,”/*”)}” because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to “${r.replace(/\*$/,”/*”)}”.`),r=r.replace(/\*$/,”/*”));let a=r.startsWith(“/”)?”/”:””,n=e=>null==e?””:”string”==typeof e?e:String(e);return a+r.split(/\/+/).map((e,r,a)=>{if(r===a.length-1&&”*”===e)return n(t[“*”]);let o=e.match(/^:([\w-]+)(\??)(.*)/);if(o){let[,e,r,a]=o,i=t[e];return h(“?”===r||null!=i,`Missing “:${e}” param`),encodeURIComponent(n(i))+a}return e.replace(/\?$/g,””)}).filter(e=>!!e).join(“/”)}function L(e,t){“string”==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[r,a]=function(e,t=!1,r=!0){p(“*”===e||!e.endsWith(“*”)||e.endsWith(“/*”),`Route path “${e}” will be treated as if it were “${e.replace(/\*$/,”/*”)}” because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to “${e.replace(/\*$/,”/*”)}”.`);let a=[],n=”^”+e.replace(/\/*\*?$/,””).replace(/^\/*/,”/”).replace(/[\\.*+^${}|()[\]]/g,”\\$&”).replace(/\/:([\w-]+)(\?)?/g,(e,t,r)=>(a.push({paramName:t,isOptional:null!=r}),r?”/?([^\\/]+)?”:”/([^\\/]+)”)).replace(/\/([\w-]+)\?(\/|$)/g,”(/$1)?$2″);return e.endsWith(“*”)?(a.push({paramName:”*”}),n+=”*”===e||”/*”===e?”(.*)$”:”(?:\\/(.+)|\\/*)$”):r?n+=”\\/*$”:””!==e&&”/”!==e&&(n+=”(?:(?=\\/|$))”),[new RegExp(n,t?void 0:”i”),a]}(e.path,e.caseSensitive,e.end),n=t.match(r);if(!n)return null;let o=n[0],i=o.replace(/(.)\/+$/,”$1″),s=n.slice(1);return{params:a.reduce((e,{paramName:t,isOptional:r},a)=>{if(“*”===t){let e=s[a]||””;i=o.slice(0,o.length-e.length).replace(/(.)\/+$/,”$1″)}let n=s[a];return r&&!n?e[t]=void 0:e[t]=(n||””).replace(/%2F/g,”/”),e},{}),pathname:o,pathnameBase:i,pattern:e}}function A(e){try{return e.split(“/”).map(e=>decodeURIComponent(e).replace(/\//g,”%2F”)).join(“/”)}catch(t){return p(!1,`The URL path “${e}” could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function T(e,t){if(“/”===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith(“/”)?t.length-1:t.length,a=e.charAt(r);return a&&”/”!==a?null:e.slice(r)||”/”}var P=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function D(e,t=”/”){let r,{pathname:a,search:n=””,hash:o=””}=”string”==typeof e?g(e):e;if(a){let e;if(e=a,P.test(e))r=a;else{if(a.includes(“//”)){let e=a;a=a.replace(/\/\/+/g,”/”),p(!1,`Pathnames cannot have embedded double slashes – normalizing ${e} -> ${a}`)}r=a.startsWith(“/”)?O(a.substring(1),”/”):O(a,t)}}else r=t;return{pathname:r,search:B(n),hash:F(o)}}function O(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(“/”):”/”}function $(e,t,r,a){return`Cannot include a ‘${e}’ character in a manually specified \`to.${t}\` field [${JSON.stringify(a)}]. Please separate it out to the \`to.${r}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function I(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}function M(e){let t=I(e);return t.map((e,r)=>r===t.length-1?e.pathname:e.pathnameBase)}function z(e,t,r,a=!1){let n,o;”string”==typeof e?n=g(e):(h(!(n={…e}).pathname||!n.pathname.includes(“?”),$(“?”,”pathname”,”search”,n)),h(!n.pathname||!n.pathname.includes(“#”),$(“#”,”pathname”,”hash”,n)),h(!n.search||!n.search.includes(“#”),$(“#”,”search”,”hash”,n)));let i=””===e||””===n.pathname,s=i?”/”:n.pathname;if(null==s)o=r;else{let e=t.length-1;if(!a&&s.startsWith(“..”)){let t=s.split(“/”);for(;”..”===t[0];)t.shift(),e-=1;n.pathname=t.join(“/”)}o=e>=0?t[e]:”/”}let l=D(n,o),u=s&&”/”!==s&&s.endsWith(“/”),c=(i||”.”===s)&&r.endsWith(“/”);return!l.pathname.endsWith(“/”)&&(u||c)&&(l.pathname+=”/”),l}var W=e=>e.join(“/”).replace(/\/\/+/g,”/”),U=e=>e.replace(/\/+$/,””).replace(/^\/*/,”/”),B=e=>e&&”?”!==e?e.startsWith(“?”)?e:”?”+e:””,F=e=>e&&”#”!==e?e.startsWith(“#”)?e:”#”+e:””,H=class{constructor(e,t,r,a=!1){this.status=e,this.statusText=t||””,this.internal=a,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}};function q(e){return null!=e&&”number”==typeof e.status&&”string”==typeof e.statusText&&”boolean”==typeof e.internal&&”data”in e}function Y(e){return e.map(e=>e.route.path).filter(Boolean).join(“/”).replace(/\/\/*/g,”/”)||”/”}var V=”undefined”!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function J(e,t){let r=e;if(“string”!=typeof r||!P.test(r))return{absoluteURL:void 0,isExternal:!1,to:r};let a=r,n=!1;if(V)try{let e=new URL(window.location.href),a=new URL(r.startsWith(“//”)?e.protocol+r:r),o=T(a.pathname,t);a.origin===e.origin&&null!=o?r=o+a.search+a.hash:n=!0}catch(e){p(!1,` contains an invalid URL which will probably break when clicked – please update to a valid URL path.`)}return{absoluteURL:a,isExternal:n,to:r}}var G=Symbol(“Uninstrumented”);function X(e,t,r){return 0===e.length?null:async(…a)=>{let n=await K(e,r(…a),()=>t(…a),e.length-1);if(“error”===n.type)throw n.value;return n.value}}async function K(e,t,r,a){let n,o=e[a];if(o){let i,s=async()=>(i?console.error(“You cannot call instrumented handlers more than once”):i=K(e,t,r,a-1),h(n=await i,”Expected a result”),”error”===n.type&&n.value instanceof Error)?{status:”error”,error:n.value}:{status:”success”,error:void 0};try{await o(s,t)}catch(e){console.error(“An instrumentation function threw an error:”,e)}i||await s(),await i}else try{let e=await r();n={type:”success”,value:e}}catch(e){n={type:”error”,value:e}}return n||{type:”error”,value:Error(“No result assigned in instrumentation chain.”)}}function Q(e){var t;let{request:r,context:a,params:n,unstable_pattern:o}=e;return{request:{method:(t=r).method,url:t.url,headers:{get:(…e)=>t.headers.get(…e)}},params:{…n},unstable_pattern:o,context:function(e){if(!function(e){if(null===e||”object”!=typeof e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||null===t||Object.getOwnPropertyNames(t).sort().join(“\0”)===ee}(e))return{get:t=>e.get(t)};{let t={…e};return Object.freeze(t),t}}(a)}}function Z(e,t){return{currentUrl:y(e.state.location),…”formMethod”in t?{formMethod:t.formMethod}:{},…”formEncType”in t?{formEncType:t.formEncType}:{},…”formData”in t?{formData:t.formData}:{},…”body”in t?{body:t.body}:{}}}var ee=Object.getOwnPropertyNames(Object.prototype).sort().join(“\0”),et=[“POST”,”PUT”,”PATCH”,”DELETE”],er=new Set(et),ea=new Set([“GET”,…et]),en=new Set([301,302,303,307,308]),eo=new Set([307,308]),ei={state:”idle”,location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},es={state:”idle”,data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},el={state:”unblocked”,proceed:void 0,reset:void 0,location:void 0},eu=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),ec=”remix-router-transitions”,ed=Symbol(“ResetLoaderData”);function eh(e,t,r,a,n,o){let i,s;if(n){for(let e of(i=[],t))if(i.push(e),e.route.id===n){s=e;break}}else i=t,s=t[t.length-1];let l=z(a||”.”,M(i),T(e.pathname,r)||e.pathname,”path”===o);if(null==a&&(l.search=e.search,l.hash=e.hash),(null==a||””===a||”.”===a)&&s){let e=eQ(l.search);if(s.route.index&&!e)l.search=l.search?l.search.replace(/^\?/,”?index&”):”?index”;else if(!s.route.index&&e){let e=new URLSearchParams(l.search),t=e.getAll(“index”);e.delete(“index”),t.filter(e=>e).forEach(t=>e.append(“index”,t));let r=e.toString();l.search=r?`?${r}`:””}}return”/”!==r&&(l.pathname=function({basename:e,pathname:t}){return”/”===t?e:W([e,t])}({basename:r,pathname:l.pathname})),y(l)}function ep(e,t,r){var a;let n,o;if(!r||!(null!=r&&(“formData”in r&&null!=r.formData||”body”in r&&void 0!==r.body)))return{path:t};if(r.formMethod&&(a=r.formMethod,!ea.has(a.toUpperCase())))return{path:t,error:eF(405,{method:r.formMethod})};let i=()=>({path:t,error:eF(400,{type:”invalid-body”})}),s=(r.formMethod||”get”).toUpperCase(),l=eq(t);if(void 0!==r.body){if(“text/plain”===r.formEncType){if(!eK(s))return i();let e=”string”==typeof r.body?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((e,[t,r])=>`${e}${t}=${r}
`,””):String(r.body);return{path:t,submission:{formMethod:s,formAction:l,formEncType:r.formEncType,formData:void 0,json:void 0,text:e}}}else if(“application/json”===r.formEncType){if(!eK(s))return i();try{let e=”string”==typeof r.body?JSON.parse(r.body):r.body;return{path:t,submission:{formMethod:s,formAction:l,formEncType:r.formEncType,formData:void 0,json:e,text:void 0}}}catch(e){return i()}}}if(h(“function”==typeof FormData,”FormData is not available in this environment”),r.formData)n=e$(r.formData),o=r.formData;else if(r.body instanceof FormData)n=e$(r.body),o=r.body;else if(r.body instanceof URLSearchParams)o=eI(n=r.body);else if(null==r.body)n=new URLSearchParams,o=new FormData;else try{n=new URLSearchParams(r.body),o=eI(n)}catch(e){return i()}let u={formMethod:s,formAction:l,formEncType:r&&r.formEncType||”application/x-www-form-urlencoded”,formData:o,json:void 0,text:void 0};if(eK(u.formMethod))return{path:t,submission:u};let c=g(t);return e&&c.search&&eQ(c.search)&&n.append(“index”,””),c.search=`?${n}`,{path:y(c),submission:u}}function ef(e,t,r,a,n,o,i,s,l,u,c,d,h,p,f,m,y,g,v,b,w){let S,R=b?eV(b[1])?b[1].error:b[1].data:void 0,E=n.createURL(o.location),C=n.createURL(l);if(c&&o.errors){let e=Object.keys(o.errors)[0];S=i.findIndex(t=>t.route.id===e)}else if(b&&eV(b[1])){let e=b[0];S=i.findIndex(t=>t.route.id===e)-1}let _=b?b[1].statusCode:void 0,k=_&&_>=400,N={currentUrl:E,currentParams:o.matches[0]?.params||{},nextUrl:C,nextParams:i[0].params,…s,actionResult:R,actionStatus:_},j=Y(i),L=i.map((n,i)=>{var s,l,h,p,f;let m,y,g,{route:v}=n,b=null;if(null!=S&&i>S?b=!1:v.lazy?b=!0:em(v)?c?b=ey(v,o.loaderData,o.errors):(s=o.loaderData,l=o.matches[i],h=n,m=!l||h.route.id!==l.route.id,y=!s.hasOwnProperty(h.route.id),(m||y)&&(b=!0)):b=!1,null!==b)return eN(r,a,e,j,n,u,t,b);let R=!1;”boolean”==typeof w?R=w:k?R=!1:d||E.pathname+E.search===C.pathname+C.search||E.search!==C.search?R=!0:(p=o.matches[i],f=n,g=p.route.path,(p.pathname!==f.pathname||null!=g&&g.endsWith(“*”)&&p.params[“*”]!==f.params[“*”])&&(R=!0));let x={…N,defaultShouldRevalidate:R},_=eg(n,x);return eN(r,a,e,j,n,u,t,_,x,w)}),A=[];return f.forEach((e,s)=>{if(c||!i.some(t=>t.route.id===e.routeId)||p.has(s))return;let l=o.fetchers.get(s),f=l&&”idle”!==l.state&&void 0===l.data,b=x(y,e.path,g);if(!b){if(v&&f)return;A.push({key:s,routeId:e.routeId,path:e.path,matches:null,match:null,request:null,controller:null});return}if(m.has(s))return;let S=eZ(b,e.path),R=new AbortController,E=eO(n,e.path,R.signal),C=null;if(h.has(s))h.delete(s),C=ej(r,a,E,b,S,u,t);else if(f)d&&(C=ej(r,a,E,b,S,u,t));else{let e={…N,defaultShouldRevalidate:”boolean”==typeof w?w:!k&&d};eg(S,e)&&(C=ej(r,a,E,b,S,u,t,e))}C&&A.push({key:s,routeId:e.routeId,path:e.path,matches:C,match:S,request:E,controller:R})}),{dsMatches:L,revalidatingFetchers:A}}function em(e){return null!=e.loader||null!=e.middleware&&e.middleware.length>0}function ey(e,t,r){if(e.lazy)return!0;if(!em(e))return!1;let a=null!=t&&e.id in t,n=null!=r&&void 0!==r[e.id];return(!!a||!n)&&(“function”==typeof e.loader&&!0===e.loader.hydrate||!a&&!n)}function eg(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if(“boolean”==typeof r)return r}return t.defaultShouldRevalidate}function ev(e,t,r,a,n,o){let i;if(e){let t=a[e];h(t,`No route found to patch children into: routeId = ${e}`),t.children||(t.children=[]),i=t.children}else i=r;let s=[],l=[];if(t.forEach(e=>{let t=i.find(t=>(function e(t,r){return”id”in t&&”id”in r&&t.id===r.id||t.index===r.index&&t.path===r.path&&t.caseSensitive===r.caseSensitive&&((!t.children||0===t.children.length)&&(!r.children||0===r.children.length)||t.children.every((t,a)=>r.children?.some(r=>e(t,r))))})(e,t));t?l.push({existingRoute:t,newRoute:e}):s.push(e)}),s.length>0){let t=R(s,n,[e||”_”,”patch”,String(i?.length||”0″)],a);i.push(…t)}if(o&&l.length>0)for(let e=0;e{let n=r[t.id];if(h(n,”No route found in manifest”),!n.lazy||”object”!=typeof n.lazy)return;let o=n.lazy[e];if(!o)return;let i=eb.get(n);i||(i={},eb.set(n,i));let s=i[e];if(s)return s;let l=(async()=>{let t=w.has(e),r=void 0!==n[e]&&”hasErrorBoundary”!==e;if(t)p(!t,”Route property “+e+” is not a supported lazy route property. This property will be ignored.”),i[e]=Promise.resolve();else if(r)p(!1,`Route “${n.id}” has a static property “${e}” defined. The lazy property will be ignored.`);else{let t=await o();null!=t&&(Object.assign(n,{[e]:t}),Object.assign(n,a(n)))}”object”==typeof n.lazy&&(n.lazy[e]=void 0,Object.values(n.lazy).every(e=>void 0===e)&&(n.lazy=void 0))})();return i[e]=l,l},eS=new WeakMap;async function eR(e){let t=e.matches.filter(e=>e.shouldLoad),r={};return(await Promise.all(t.map(e=>e.resolve()))).forEach((e,a)=>{r[t[a].route.id]=e}),r}async function eE(e){return e.matches.some(e=>e.route.middleware)?ex(e,()=>eR(e)):eR(e)}function ex(e,t){return eC(e,t,e=>{var t,r;if(eX(t=e)&&(r=t.status,en.has(r))&&t.headers.has(“Location”))throw e;return e},eY,function(t,r,a){if(a)return Promise.resolve(Object.assign(a.value,{[r]:{type:”error”,result:t}}));{let{matches:a}=e,n=Math.min(Math.max(a.findIndex(e=>e.route.id===r),0),Math.max(a.findIndex(e=>e.shouldCallHandler()),0));return Promise.resolve({[eU(a,a[n].route.id).route.id]:{type:”error”,result:t}})}})}async function eC(e,t,r,a,n){let{matches:o,request:i,params:s,context:l,unstable_pattern:u}=e,c=o.flatMap(e=>e.route.middleware?e.route.middleware.map(t=>[e.route.id,t]):[]);return await e_({request:i,params:s,context:l,unstable_pattern:u},c,t,r,a,n)}async function e_(e,t,r,a,n,o,i=0){let s,{request:l}=e;if(l.signal.aborted)throw l.signal.reason??Error(`Request aborted: ${l.method} ${l.url}`);let u=t[i];if(!u)return await r();let[c,d]=u,h=async()=>{if(s)throw Error(“You may only call `next()` once per middleware”);try{return(s={value:await e_(e,t,r,a,n,o,i+1)}).value}catch(e){return(s={value:await o(e,c,s)}).value}};try{let t=await d(e,h),r=null!=t?a(t):void 0;if(n(r))return r;if(s)return r??s.value;return(s={value:await h()}).value}catch(e){return await o(e,c,s)}}function ek(e,t,r,a,n){let o=ew({key:”middleware”,route:a.route,manifest:t,mapRouteProperties:e}),i=function(e,t,r,a,n){let o,i=r[e.id];if(h(i,”No route found in manifest”),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(“function”==typeof e.lazy){let t=eS.get(i);if(t)return{lazyRoutePromise:t,lazyHandlerPromise:t};let r=(async()=>{h(“function”==typeof e.lazy,”No lazy route function found”);let t=await e.lazy(),r={};for(let e in t){let a=t[e];if(void 0===a)continue;let n=S.has(e),o=void 0!==i[e]&&”hasErrorBoundary”!==e;n?p(!n,”Route property “+e+” is not a supported property to be returned from a lazy route function. This property will be ignored.”):o?p(!o,`Route “${i.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.`):r[e]=a}Object.assign(i,r),Object.assign(i,{…a(i),lazy:void 0})})();return eS.set(i,r),r.catch(()=>{}),{lazyRoutePromise:r,lazyHandlerPromise:r}}let s=Object.keys(e.lazy),l=[];for(let i of s){if(n&&n.includes(i))continue;let s=ew({key:i,route:e,manifest:r,mapRouteProperties:a});s&&(l.push(s),i===t&&(o=s))}let u=l.length>0?Promise.all(l).then(()=>{}):void 0;return u?.catch(()=>{}),o?.catch(()=>{}),{lazyRoutePromise:u,lazyHandlerPromise:o}}(a.route,eK(r.method)?”action”:”loader”,t,e,n);return{middleware:o,route:i.lazyRoutePromise,handler:i.lazyHandlerPromise}}function eN(e,t,r,a,n,o,i,s,l=null,u){let c=!1,d=ek(e,t,r,n,o);return{…n,_lazyPromises:d,shouldLoad:s,shouldRevalidateArgs:l,shouldCallHandler:e=>(c=!0,l)?”boolean”==typeof u?eg(n,{…l,defaultShouldRevalidate:u}):”boolean”==typeof e?eg(n,{…l,defaultShouldRevalidate:e}):eg(n,l):s,resolve(e){let{lazy:t,loader:o,middleware:l}=n.route,u=c||s||e&&!eK(r.method)&&(t||o),h=l&&l.length>0&&!o&&!t;return u&&(eK(r.method)||!h)?eA({request:r,unstable_pattern:a,match:n,lazyHandlerPromise:d?.handler,lazyRoutePromise:d?.route,handlerOverride:e,scopedContext:i}):Promise.resolve({type:”data”,result:void 0})}}}function ej(e,t,r,a,n,o,i,s=null){return a.map(l=>l.route.id!==n.route.id?{…l,shouldLoad:!1,shouldRevalidateArgs:s,shouldCallHandler:()=>!1,_lazyPromises:ek(e,t,r,l,o),resolve:()=>Promise.resolve({type:”data”,result:void 0})}:eN(e,t,r,Y(a),l,o,i,!0,s))}async function eL(e,t,r,a,n,o){r.some(e=>e._lazyPromises?.middleware)&&await Promise.all(r.map(e=>e._lazyPromises?.middleware));let i={request:t,unstable_pattern:Y(r),params:r[0].params,context:n,matches:r},s=o?()=>{throw Error(“You cannot call `runClientMiddleware()` from a static handler `dataStrategy`. Middleware is run outside of `dataStrategy` during SSR in order to bubble up the Response. You can enable middleware via the `respond` API in `query`/`queryRoute`”)}:e=>ex(i,()=>e({…i,fetcherKey:a,runClientMiddleware:()=>{throw Error(“Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler”)}})),l=await e({…i,fetcherKey:a,runClientMiddleware:s});try{await Promise.all(r.flatMap(e=>[e._lazyPromises?.handler,e._lazyPromises?.route]))}catch(e){}return l}async function eA({request:e,unstable_pattern:t,match:r,lazyHandlerPromise:a,lazyRoutePromise:n,handlerOverride:o,scopedContext:i}){let s,l,u=eK(e.method),c=u?”action”:”loader”,d=a=>{let n,s=new Promise((e,t)=>n=t);l=()=>n(),e.signal.addEventListener(“abort”,l);let u=n=>”function”!=typeof a?Promise.reject(Error(`You cannot call the handler for a route which defines a boolean “${c}” [routeId: ${r.route.id}]`)):a({request:e,unstable_pattern:t,params:r.params,context:i},…void 0!==n?[n]:[]);return Promise.race([(async()=>{try{let e=await (o?o(e=>u(e)):u());return{type:”data”,result:e}}catch(e){return{type:”error”,result:e}}})(),s])};try{let t=u?r.route.action:r.route.loader;if(a||n)if(t){let e,[r]=await Promise.all([d(t).catch(t=>{e=t}),a,n]);if(void 0!==e)throw e;s=r}else{await a;let t=u?r.route.action:r.route.loader;if(t)[s]=await Promise.all([d(t),n]);else{if(“action”!==c)return{type:”data”,result:void 0};let t=new URL(e.url),a=t.pathname+t.search;throw eF(405,{method:e.method,pathname:a,routeId:r.route.id})}}else if(t)s=await d(t);else{let t=new URL(e.url),r=t.pathname+t.search;throw eF(404,{pathname:r})}}catch(e){return{type:”error”,result:e}}finally{l&&e.signal.removeEventListener(“abort”,l)}return s}async function eT(e){let t=e.headers.get(“Content-Type”);return t&&/\bapplication\/json\b/.test(t)?null==e.body?null:e.json():e.text()}async function eP(e){let{result:t,type:r}=e;if(eX(t)){let e;try{e=await eT(t)}catch(e){return{type:”error”,error:e}}return”error”===r?{type:”error”,error:new H(t.status,t.statusText,e),statusCode:t.status,headers:t.headers}:{type:”data”,data:e,statusCode:t.status,headers:t.headers}}if(“error”===r){if(eG(t)){var a;return t.data instanceof Error?{type:”error”,error:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:”error”,error:(a=t,new H(a.init?.status??500,a.init?.statusText??”Internal Server Error”,a.data)),statusCode:q(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}}return{type:”error”,error:t,statusCode:q(t)?t.status:void 0}}return eG(t)?{type:”data”,data:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:”data”,data:t}}function eD(e,t,r,a){let n=[“about:”,”blob:”,”chrome:”,”chrome-untrusted:”,”content:”,”data:”,”devtools:”,”file:”,”filesystem:”,”javascript:”];if(P.test(e)){let a=new URL(e.startsWith(“//”)?t.protocol+e:e);if(n.includes(a.protocol))throw Error(“Invalid redirect location”);let o=null!=T(a.pathname,r);if(a.origin===t.origin&&o)return a.pathname+a.search+a.hash}try{let t=a.createURL(e);if(n.includes(t.protocol))throw Error(“Invalid redirect location”)}catch(e){}return e}function eO(e,t,r,a){let n=e.createURL(eq(t)).toString(),o={signal:r};if(a&&eK(a.formMethod)){let{formMethod:e,formEncType:t}=a;o.method=e.toUpperCase(),”application/json”===t?(o.headers=new Headers({“Content-Type”:t}),o.body=JSON.stringify(a.json)):”text/plain”===t?o.body=a.text:”application/x-www-form-urlencoded”===t&&a.formData?o.body=e$(a.formData):o.body=a.formData}return new Request(n,o)}function e$(e){let t=new URLSearchParams;for(let[r,a]of e.entries())t.append(r,”string”==typeof a?a:a.name);return t}function eI(e){let t=new FormData;for(let[r,a]of e.entries())t.append(r,a);return t}function eM(e,t,r,a,n,o){let{loaderData:i,errors:s}=function(e,t,r,a=!1,n=!1){let o,i={},s=null,l=!1,u={},c=r&&eV(r[1])?r[1].error:void 0;return e.forEach(r=>{if(!(r.route.id in t))return;let d=r.route.id,p=t[d];if(h(!eJ(p),”Cannot handle redirect results in processLoaderData”),eV(p)){let t=p.error;if(void 0!==c&&(t=c,c=void 0),s=s||{},n)s[d]=t;else{let r=eU(e,d);null==s[r.route.id]&&(s[r.route.id]=t)}a||(i[d]=ed),l||(l=!0,o=q(p.error)?p.error.status:500),p.headers&&(u[d]=p.headers)}else i[d]=p.data,p.statusCode&&200!==p.statusCode&&!l&&(o=p.statusCode),p.headers&&(u[d]=p.headers)}),void 0!==c&&r&&(s={[r[0]]:c},r[2]&&(i[r[2]]=void 0)),{loaderData:i,errors:s,statusCode:o||200,loaderHeaders:u}}(t,r,a);return n.filter(e=>!e.matches||e.matches.some(e=>e.shouldLoad)).forEach(t=>{let{key:r,match:a,controller:n}=t;if(n&&n.signal.aborted)return;let i=o[r];if(h(i,”Did not find corresponding fetcher result”),eV(i)){let t=eU(e.matches,a?.route.id);s&&s[t.route.id]||(s={…s,[t.route.id]:i.error}),e.fetchers.delete(r)}else if(eJ(i))h(!1,”Unhandled fetcher revalidation redirect”);else{let t=e4(i.data);e.fetchers.set(r,t)}}),{loaderData:i,errors:s}}function ez(e,t,r,a){let n=Object.entries(t).filter(([,e])=>e!==ed).reduce((e,[t,r])=>(e[t]=r,e),{});for(let o of r){let r=o.route.id;if(!t.hasOwnProperty(r)&&e.hasOwnProperty(r)&&o.route.loader&&(n[r]=e[r]),a&&a.hasOwnProperty(r))break}return n}function eW(e){return e?eV(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function eU(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 eB(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 eF(e,{pathname:t,routeId:r,method:a,type:n,message:o}={}){let i=”Unknown Server Error”,s=”Unknown @remix-run/router error”;return 400===e?(i=”Bad Request”,a&&t&&r?s=`You made a ${a} request to “${t}” but did not provide a \`loader\` for route “${r}”, so there is no way to handle the request.`:”invalid-body”===n&&(s=”Unable to encode submission body”)):403===e?(i=”Forbidden”,s=`Route “${r}” does not match URL “${t}”`):404===e?(i=”Not Found”,s=`No route matches URL “${t}”`):405===e&&(i=”Method Not Allowed”,a&&t&&r?s=`You made a ${a.toUpperCase()} request to “${t}” but did not provide an \`action\` for route “${r}”, so there is no way to handle the request.`:a&&(s=`Invalid request method “${a.toUpperCase()}”`)),new H(e||500,i,Error(s),!0)}function eH(e){let t=Object.entries(e);for(let e=t.length-1;e>=0;e–){let[r,a]=t[e];if(eJ(a))return{key:r,result:a}}}function eq(e){return y({…”string”==typeof e?g(e):e,hash:””})}function eY(e){return null!=e&&”object”==typeof e&&Object.entries(e).every(([e,t])=>{var r;return”string”==typeof e&&null!=(r=t)&&”object”==typeof r&&”type”in r&&”result”in r&&(“data”===r.type||”error”===r.type)})}function eV(e){return”error”===e.type}function eJ(e){return”redirect”===(e&&e.type)}function eG(e){return”object”==typeof e&&null!=e&&”type”in e&&”data”in e&&”init”in e&&”DataWithResponseInit”===e.type}function eX(e){return null!=e&&”number”==typeof e.status&&”string”==typeof e.statusText&&”object”==typeof e.headers&&void 0!==e.body}function eK(e){return er.has(e.toUpperCase())}function eQ(e){return new URLSearchParams(e).getAll(“index”).some(e=>””===e)}function eZ(e,t){let r=”string”==typeof t?g(t).search:t.search;if(e[e.length-1].route.index&&eQ(r||””))return e[e.length-1];let a=I(e);return a[a.length-1]}function e0(e){let{formMethod:t,formAction:r,formEncType:a,text:n,formData:o,json:i}=e;if(t&&r&&a){if(null!=n)return{formMethod:t,formAction:r,formEncType:a,formData:void 0,json:void 0,text:n};else if(null!=o)return{formMethod:t,formAction:r,formEncType:a,formData:o,json:void 0,text:void 0};else if(void 0!==i)return{formMethod:t,formAction:r,formEncType:a,formData:void 0,json:i,text:void 0}}}function e1(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 e2(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 e4(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 e3(){let e,t,r=new Promise((a,n)=>{e=async e=>{a(e);try{await r}catch(e){}},t=async e=>{n(e);try{await r}catch(e){}}});return{promise:r,resolve:e,reject:t}}var e5=i.createContext(null);e5.displayName=”DataRouter”;var e6=i.createContext(null);e6.displayName=”DataRouterState”;var e8=i.createContext(!1);function e7(){return i.useContext(e8)}var e9=i.createContext({isTransitioning:!1});e9.displayName=”ViewTransition”;var te=i.createContext(new Map);te.displayName=”Fetchers”,i.createContext(null).displayName=”Await”;var tt=i.createContext(null);tt.displayName=”Navigation”;var tr=i.createContext(null);tr.displayName=”Location”;var ta=i.createContext({outlet:null,matches:[],isDataRoute:!1});ta.displayName=”Route”;var tn=i.createContext(null);tn.displayName=”RouteError”;var to=”REACT_ROUTER_ERROR”;function ti(){return null!=i.useContext(tr)}function ts(){return h(ti(),”useLocation() may be used only in the context of a component.”),i.useContext(tr).location}function tl(){return i.useContext(tr).navigationType}function tu(e){h(ti(),”useMatch() may be used only in the context of a component.”);let{pathname:t}=ts();return i.useMemo(()=>L(e,A(t)),[t,e])}var tc=”You should call navigate() in a React.useEffect(), not when your component is first rendered.”;function td(e){i.useContext(tt).static||i.useLayoutEffect(e)}function th(){let{isDataRoute:e}=i.useContext(ta);return e?function(){let{router:e}=tx(“useNavigate”),t=t_(“useNavigate”),r=i.useRef(!1);return td(()=>{r.current=!0}),i.useCallback(async(a,n={})=>{p(r.current,tc),r.current&&(“number”==typeof a?await e.navigate(a):await e.navigate(a,{fromRouteId:t,…n}))},[e,t])}():function(){h(ti(),”useNavigate() may be used only in the context of a component.”);let e=i.useContext(e5),{basename:t,navigator:r}=i.useContext(tt),{matches:a}=i.useContext(ta),{pathname:n}=ts(),o=JSON.stringify(M(a)),s=i.useRef(!1);return td(()=>{s.current=!0}),i.useCallback((a,i={})=>{if(p(s.current,tc),!s.current)return;if(“number”==typeof a)return void r.go(a);let l=z(a,JSON.parse(o),n,”path”===i.relative);null==e&&”/”!==t&&(l.pathname=”/”===l.pathname?t:W([t,l.pathname])),(i.replace?r.replace:r.push)(l,i.state,i)},[t,r,o,n,e])}()}var tp=i.createContext(null);function tf(){let{matches:e}=i.useContext(ta),t=e[e.length-1];return t?t.params:{}}function tm(e,{relative:t}={}){let{matches:r}=i.useContext(ta),{pathname:a}=ts(),n=JSON.stringify(M(r));return i.useMemo(()=>z(e,JSON.parse(n),a,”path”===t),[e,n,a,t])}function ty(e,t){return tg(e,t)}function tg(e,t,r,a,n){let o;h(ti(),”useRoutes() may be used only in the context of a component.”);let{navigator:s}=i.useContext(tt),{matches:l}=i.useContext(ta),u=l[l.length-1],c=u?u.params:{},d=u?u.pathname:”/”,f=u?u.pathnameBase:”/”,m=u&&u.route;{let e=m&&m.path||””;tO(d,!m||e.endsWith(“*”)||e.endsWith(“*?”),`You rendered descendant (or called \`useRoutes()\`) at “${d}” (under ) but the parent route path has no trailing “*”. This means if you navigate deeper, the parent won’t match anymore and therefore the child routes will never render.
Please change the parent to .`)}let y=ts();if(t){let e=”string”==typeof t?g(t):t;h(“/”===f||e.pathname?.startsWith(f),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is “${f}” but pathname “${e.pathname}” was given in the \`location\` prop.`),o=e}else o=y;let v=o.pathname||”/”,b=v;if(“/”!==f){let e=f.replace(/^\//,””).split(“/”);b=”/”+v.replace(/^\//,””).split(“/”).slice(e.length).join(“/”)}let w=x(e,{pathname:b});p(m||null!=w,`No routes matched location “${o.pathname}${o.search}${o.hash}” `),p(null==w||void 0!==w[w.length-1].route.element||void 0!==w[w.length-1].route.Component||void 0!==w[w.length-1].route.lazy,`Matched leaf route at location “${o.pathname}${o.search}${o.hash}” does not have an element or Component. This means it will render an with a null value by default resulting in an “empty” page.`);let S=function(e,t=[],r=null,a=null,n=null){if(null==e){if(!r)return null;if(r.errors)e=r.matches;else{if(0!==t.length||r.initialized||!(r.matches.length>0))return null;e=r.matches}}let o=e,s=r?.errors;if(null!=s){let e=o.findIndex(e=>e.route.id&&s?.[e.route.id]!==void 0);h(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(s).join(“,”)}`),o=o.slice(0,Math.min(o.length,e+1))}let l=!1,u=-1;if(r)for(let e=0;e=0?o.slice(0,u+1):[o[0]];break}}}let c=r&&a?(e,t)=>{a(e,{location:r.location,params:r.matches?.[0]?.params??{},unstable_pattern:Y(r.matches),errorInfo:t})}:void 0;return o.reduceRight((e,a,n)=>{let d,h=!1,p=null,f=null;r&&(d=s&&a.route.id?s[a.route.id]:void 0,p=a.route.errorElement||tv,l&&(u<0&&0===n?(tO("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),h=!0,f=null):u===n&&(h=!0,f=a.route.hydrateFallbackElement||null)));let m=t.concat(o.slice(0,n+1)),y=()=>{let t;return t=d?p:h?f:a.route.Component?i.createElement(a.route.Component,null):a.route.element?a.route.element:e,i.createElement(tR,{match:a,routeContext:{outlet:e,matches:m,isDataRoute:null!=r},children:t})};return r&&(a.route.ErrorBoundary||a.route.errorElement||0===n)?i.createElement(tb,{location:r.location,revalidation:r.revalidation,component:p,error:d,children:y(),routeContext:{outlet:null,matches:m,isDataRoute:!0},onError:c}):y()},null)}(w&&w.map(e=>Object.assign({},e,{params:Object.assign({},c,e.params),pathname:W([f,s.encodeLocation?s.encodeLocation(e.pathname.replace(/\?/g,”%3F”).replace(/#/g,”%23″)).pathname:e.pathname]),pathnameBase:”/”===e.pathnameBase?f:W([f,s.encodeLocation?s.encodeLocation(e.pathnameBase.replace(/\?/g,”%3F”).replace(/#/g,”%23″)).pathname:e.pathnameBase])})),l,r,a,n);return t&&S?i.createElement(tr.Provider,{value:{location:{pathname:”/”,search:””,hash:””,state:null,key:”default”,…o},navigationType:”POP”}},S):S}var tv=i.createElement(function(){let e=tA(),t=q(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,a=”rgba(200,200,200, 0.5)”,n={padding:”2px 4px”,backgroundColor:a},o=null;return console.error(“Error handled by React Router default ErrorBoundary:”,e),o=i.createElement(i.Fragment,null,i.createElement(“p”,null,”\u{1F4BF} Hey developer \u{1F44B}”),i.createElement(“p”,null,”You can provide a way better UX than this when your app throws errors by providing your own “,i.createElement(“code”,{style:n},”ErrorBoundary”),” or”,” “,i.createElement(“code”,{style:n},”errorElement”),” prop on your route.”)),i.createElement(i.Fragment,null,i.createElement(“h2″,null,”Unexpected Application Error!”),i.createElement(“h3″,{style:{fontStyle:”italic”}},t),r?i.createElement(“pre”,{style:{padding:”0.5rem”,backgroundColor:a}},r):null,o)},null),tb=class extends i.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){this.props.onError?this.props.onError(e,t):console.error(“React Router caught the following error during render”,e)}render(){let e=this.state.error;if(this.context&&”object”==typeof e&&e&&”digest”in e&&”string”==typeof e.digest){let t=function(e){if(e.startsWith(`${to}:ROUTE_ERROR_RESPONSE:{`))try{let t=JSON.parse(e.slice(40));if(“object”==typeof t&&t&&”number”==typeof t.status&&”string”==typeof t.statusText)return new H(t.status,t.statusText,t.data)}catch{}}(e.digest);t&&(e=t)}let t=void 0!==e?i.createElement(ta.Provider,{value:this.props.routeContext},i.createElement(tn.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?i.createElement(tS,{error:e},t):t}};tb.contextType=e8;var tw=new WeakMap;function tS({children:e,error:t}){let{basename:r}=i.useContext(tt);if(“object”==typeof t&&t&&”digest”in t&&”string”==typeof t.digest){let e=function(e){if(e.startsWith(`${to}:REDIRECT:{`))try{let t=JSON.parse(e.slice(28));if(“object”==typeof t&&t&&”number”==typeof t.status&&”string”==typeof t.statusText&&”string”==typeof t.location&&”boolean”==typeof t.reloadDocument&&”boolean”==typeof t.replace)return t}catch{}}(t.digest);if(e){let a=tw.get(t);if(a)throw a;let n=J(e.location,r);if(V&&!tw.get(t))if(n.isExternal||e.reloadDocument)window.location.href=n.absoluteURL||n.to;else{let r=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(n.to,{replace:e.replace}));throw tw.set(t,r),r}return i.createElement(“meta”,{httpEquiv:”refresh”,content:`0;url=${n.absoluteURL||n.to}`})}}return e}function tR({routeContext:e,match:t,children:r}){let a=i.useContext(e5);return a&&a.static&&a.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=t.route.id),i.createElement(ta.Provider,{value:e},r)}function tE(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function tx(e){let t=i.useContext(e5);return h(t,tE(e)),t}function tC(e){let t=i.useContext(e6);return h(t,tE(e)),t}function t_(e){let t,r=(h(t=i.useContext(ta),tE(e)),t),a=r.matches[r.matches.length-1];return h(a.route.id,`${e} can only be used on routes that contain a unique “id”`),a.route.id}function tk(){return tC(“useNavigation”).navigation}function tN(){let{matches:e,loaderData:t}=tC(“useMatches”);return i.useMemo(()=>e.map(e=>_(e,t)),[e,t])}function tj(){let e=tC(“useLoaderData”),t=t_(“useLoaderData”);return e.loaderData[t]}function tL(e){return tC(“useRouteLoaderData”).loaderData[e]}function tA(){let e=i.useContext(tn),t=tC(“useRouteError”),r=t_(“useRouteError”);return void 0!==e?e:t.errors?.[r]}var tT=0;function tP(e){let{router:t,basename:r}=tx(“useBlocker”),a=tC(“useBlocker”),[n,o]=i.useState(“”),s=i.useCallback(t=>{if(“function”!=typeof e)return!!e;if(“/”===r)return e(t);let{currentLocation:a,nextLocation:n,historyAction:o}=t;return e({currentLocation:{…a,pathname:T(a.pathname,r)||a.pathname},nextLocation:{…n,pathname:T(n.pathname,r)||n.pathname},historyAction:o})},[r,e]);return i.useEffect(()=>{let e=String(++tT);return o(e),()=>t.deleteBlocker(e)},[t]),i.useEffect(()=>{“”!==n&&t.getBlocker(n,s)},[t,n,s]),n&&a.blockers.has(n)?a.blockers.get(n):el}var tD={};function tO(e,t,r){t||tD[e]||(tD[e]=!0,p(!1,r))}var t$={};function tI(e,t){e||t$[t]||(t$[t]=!0,console.warn(t))}var tM=(n||(n=r.t(i,2))).useOptimistic,tz=()=>void 0;function tW(e){let t={hasErrorBoundary:e.hasErrorBoundary||null!=e.ErrorBoundary||null!=e.errorElement};return e.Component&&(e.element&&p(!1,”You should not include both `Component` and `element` on your route – `Component` will be used.”),Object.assign(t,{element:i.createElement(e.Component),Component:void 0})),e.HydrateFallback&&(e.hydrateFallbackElement&&p(!1,”You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route – `HydrateFallback` will be used.”),Object.assign(t,{hydrateFallbackElement:i.createElement(e.HydrateFallback),HydrateFallback:void 0})),e.ErrorBoundary&&(e.errorElement&&p(!1,”You should not include both `ErrorBoundary` and `errorElement` on your route – `ErrorBoundary` will be used.”),Object.assign(t,{errorElement:i.createElement(e.ErrorBoundary),ErrorBoundary:void 0})),t}var tU=[“HydrateFallback”,”hydrateFallbackElement”],tB=class{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 tF({router:e,flushSync:t,onError:r,unstable_useTransitions:a}){a=e7()||a;let[n,o]=i.useState(e.state),[s,l]=tM?tM(n):[n,tz],[u,c]=i.useState(),[d,h]=i.useState({isTransitioning:!1}),[p,f]=i.useState(),[m,y]=i.useState(),[g,v]=i.useState(),b=i.useRef(new Map),w=i.useCallback((n,{deletedFetchers:s,newErrors:u,flushSync:d,viewTransitionOpts:g})=>{u&&r&&Object.values(u).forEach(e=>r(e,{location:n.location,params:n.matches[0]?.params??{},unstable_pattern:Y(n.matches)})),n.fetchers.forEach((e,t)=>{void 0!==e.data&&b.current.set(t,e.data)}),s.forEach(e=>b.current.delete(e)),tI(!1===d||null!=t,’You provided the `flushSync` option to a router update, but you are not using the `` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from “react-router/dom”` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.’);let w=null!=e.window&&null!=e.window.document&&”function”==typeof e.window.document.startViewTransition;if(tI(null==g||w,”You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available.”),!g||!w)return void(t&&d?t(()=>o(n)):!1===a?o(n):i.startTransition(()=>{!0===a&&l(e=>tH(e,n)),o(n)}));if(t&&d){t(()=>{m&&(p?.resolve(),m.skipTransition()),h({isTransitioning:!0,flushSync:!0,currentLocation:g.currentLocation,nextLocation:g.nextLocation})});let r=e.window.document.startViewTransition(()=>{t(()=>o(n))});r.finished.finally(()=>{t(()=>{f(void 0),y(void 0),c(void 0),h({isTransitioning:!1})})}),t(()=>y(r));return}m?(p?.resolve(),m.skipTransition(),v({state:n,currentLocation:g.currentLocation,nextLocation:g.nextLocation})):(c(n),h({isTransitioning:!0,flushSync:!1,currentLocation:g.currentLocation,nextLocation:g.nextLocation}))},[e.window,t,m,p,a,l,r]);i.useLayoutEffect(()=>e.subscribe(w),[e,w]),i.useEffect(()=>{d.isTransitioning&&!d.flushSync&&f(new tB)},[d]),i.useEffect(()=>{if(p&&u&&e.window){let t=p.promise,r=e.window.document.startViewTransition(async()=>{!1===a?o(u):i.startTransition(()=>{!0===a&&l(e=>tH(e,u)),o(u)}),await t});r.finished.finally(()=>{f(void 0),y(void 0),c(void 0),h({isTransitioning:!1})}),y(r)}},[u,p,e.window,a,l]),i.useEffect(()=>{p&&u&&s.location.key===u.location.key&&p.resolve()},[p,m,s.location,u]),i.useEffect(()=>{!d.isTransitioning&&g&&(c(g.state),h({isTransitioning:!0,flushSync:!1,currentLocation:g.currentLocation,nextLocation:g.nextLocation}),v(void 0))},[d.isTransitioning,g]);let S=i.useMemo(()=>({createHref:e.createHref,encodeLocation:e.encodeLocation,go:t=>e.navigate(t),push:(t,r,a)=>e.navigate(t,{state:r,preventScrollReset:a?.preventScrollReset}),replace:(t,r,a)=>e.navigate(t,{replace:!0,state:r,preventScrollReset:a?.preventScrollReset})}),[e]),R=e.basename||”/”,E=i.useMemo(()=>({router:e,navigator:S,static:!1,basename:R,onError:r}),[e,S,R,r]);return i.createElement(i.Fragment,null,i.createElement(e5.Provider,{value:E},i.createElement(e6.Provider,{value:s},i.createElement(te.Provider,{value:b.current},i.createElement(e9.Provider,{value:d},i.createElement(tG,{basename:R,location:s.location,navigationType:s.historyAction,navigator:S,unstable_useTransitions:a},i.createElement(tq,{routes:e.routes,future:e.future,state:s,onError:r})))))),null)}function tH(e,t){return{…e,navigation:”idle”!==t.navigation.state?t.navigation:e.navigation,revalidation:”idle”!==t.revalidation?t.revalidation:e.revalidation,actionData:”submitting”!==t.navigation.state?t.actionData:e.actionData,fetchers:t.fetchers}}var tq=i.memo(function({routes:e,future:t,state:r,onError:a}){return tg(e,void 0,r,a,t)});function tY({to:e,replace:t,state:r,relative:a}){h(ti(),” may be used only in the context of a component.”);let{static:n}=i.useContext(tt);p(!n,” must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.”);let{matches:o}=i.useContext(ta),{pathname:s}=ts(),l=th(),u=JSON.stringify(z(e,M(o),s,”path”===a));return i.useEffect(()=>{l(JSON.parse(u),{replace:t,state:r,relative:a})},[l,u,a,t,r]),null}function tV(e){var t;let r;return t=e.context,r=i.useContext(ta).outlet,i.useMemo(()=>r&&i.createElement(tp.Provider,{value:t},r),[r,t])}function tJ(e){h(!1,”A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .”)}function tG({basename:e=”/”,children:t=null,location:r,navigationType:a=”POP”,navigator:n,static:o=!1,unstable_useTransitions:s}){h(!ti(),”You cannot render a inside another . You should never have more than one in your app.”);let l=e.replace(/^\/*/,”/”),u=i.useMemo(()=>({basename:l,navigator:n,static:o,unstable_useTransitions:s,future:{}}),[l,n,o,s]);”string”==typeof r&&(r=g(r));let{pathname:c=”/”,search:d=””,hash:f=””,state:m=null,key:y=”default”}=r,v=i.useMemo(()=>{let e=T(c,l);return null==e?null:{location:{pathname:e,search:d,hash:f,state:m,key:y},navigationType:a}},[l,c,d,f,m,y,a]);return(p(null!=v,` is not able to match the URL “${c}${d}${f}” because it does not start with the basename, so the won’t render anything.`),null==v)?null:i.createElement(tt.Provider,{value:u},i.createElement(tr.Provider,{children:t,value:v}))}function tX({children:e,location:t}){return tg(function e(t,r=[]){let a=[];return i.Children.forEach(t,(t,n)=>{if(!i.isValidElement(t))return;let o=[…r,n];if(t.type===i.Fragment)return void a.push.apply(a,e(t.props.children,o));h(t.type===tJ,`[${“string”==typeof t.type?t.type:t.type.name}] is not a component. All component children of must be a or `),h(!t.props.index||!t.props.children,”An index route cannot have child routes.”);let s={id:t.props.id||o.join(“-“),caseSensitive:t.props.caseSensitive,element:t.props.element,Component:t.props.Component,index:t.props.index,path:t.props.path,middleware:t.props.middleware,loader:t.props.loader,action:t.props.action,hydrateFallbackElement:t.props.hydrateFallbackElement,HydrateFallback:t.props.HydrateFallback,errorElement:t.props.errorElement,ErrorBoundary:t.props.ErrorBoundary,hasErrorBoundary:!0===t.props.hasErrorBoundary||null!=t.props.ErrorBoundary||null!=t.props.errorElement,shouldRevalidate:t.props.shouldRevalidate,handle:t.props.handle,lazy:t.props.lazy};t.props.children&&(s.children=e(t.props.children,o)),a.push(s)}),a}(e),t)}i.Component;var tK=”get”,tQ=”application/x-www-form-urlencoded”;function tZ(e){return”undefined”!=typeof HTMLElement&&e instanceof HTMLElement}function t0(e=””){return new URLSearchParams(“string”==typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,r)=>{let a=e[r];return t.concat(Array.isArray(a)?a.map(e=>[r,e]):[[r,a]])},[]))}var t1=null,t2=new Set([“application/x-www-form-urlencoded”,”multipart/form-data”,”text/plain”]);function t4(e){return null==e||t2.has(e)?e:(p(!1,`”${e}” is not a valid \`encType\` for \`