vendor: 4,241 bytes, lines 1-9
1var Rt=Object.defineProperty;var bt=(e,r,t)=>r in e?Rt(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var J=(e,r,t)=>bt(e,typeof r!="symbol"?r+"":r,t);import{f as xt,h as _t,r as c,l as Lt,D as Se,k as ee,m as Tt,d as Ot,n as Pt,a as j,e as Ke,N as B,s as I,o as Re,p as te,q as ye,t as re,v as Ie,w as Ct,x as Dt,y as kt,z as We,A as At,B as Nt,C as It,E as Ft,i as Ge,F as jt,G as Ze,H as Q,b as $t,I as Qe,J as Ut,K as Mt,L as Ht,M as zt}from"./index-fHMyORYL.js";try{let e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="d8a1bd9f-1965-4760-90f1-461ef5c5b338",e._sentryDebugIdIdentifier="sentry-dbid-d8a1bd9f-1965-4760-90f1-461ef5c5b338")}catch{}function Bt(e,r){for(var t=0;t<r.length;t++){const n=r[t];if(typeof n!="string"&&!Array.isArray(n)){for(const a in n)if(a!=="default"&&!(a in e)){const l=Object.getOwnPropertyDescriptor(n,a);l&&Object.defineProperty(e,a,l.get?l:{enumerable:!0,get:()=>n[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var ue={exports:{}},C={};/** 2 * @license React 3 * react-dom.production.js 4 * 5 * Copyright (c) Meta Platforms, Inc. and affiliates. 6 * 7 * This source code is licensed under the MIT license found in the 8 * LICENSE file in the root directory of this source tree. 9 */var Fe;function Jt(){if(Fe)return C;Fe=1;var e=xt();function r(o){var i="https://react.dev/errors/"+o;if(1<arguments.length){i+="?args[]="+encodeURIComponent(arguments[1]);for(var f=2;f<arguments.length;f++)i+="&args[]="+encodeURIComponent(arguments[f])}return"Minified React error #"+o+"; visit "+i+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function t(){}var n={d:{f:t,r:function(){throw Error(r(522))},D:t,C:t,L:t,m:t,X:t,S:t,M:t},p:0,findDOMNode:null},a=Symbol.for("react.portal");function l(o,i,f){var d=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:d==null?null:""+d,children:o,containerInfo:i,implementation:f}}var u=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function s(o,i){if(o==="font")return"";if(typeof i=="string")return i==="use-credentials"?i:""}return C.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=n,C.createPortal=function(o,i){var f=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!i||i.nodeType!==1&&i.nodeType!==9&&i.nodeType!==11)throw Error(r(299));return l(o,i,null,f)},C.flushSync=function(o){var i=u.T,f=n.p;try{if(u.T=null,n.p=2,o)return o()}finally{u.T=i,n.p=f,n.d.f()}},C.preconnect=function(o,i){typeof o=="string"&&(i?(i=i.crossOrigin,i=typeof i=="string"?i==="use-credentials"?i:"":void 0):i=null,n.d.C(o,i))},C.prefetchDNS=function(o){typeof o=="string"&&n.d.D(o)},C.preinit=function(o,i){if(typeof o=="string"&&i&&typeof i.as=="string"){var f=i.as,d=s(f,i.crossOrigin),h=typeof i.integrity=="string"?i.integrity:void 0,y=typeof i.fetchPriority=="string"?i.fetchPriority:void 0;f==="style"?n.d.S(o,typeof i.precedence=="string"?i.precedence:void 0,{crossOrigin:d,integrity:h,fetchPriority:y}):f==="script"&&n.d.X(o,{crossOrigin:d,integrity:h,fetchPriority:y,nonce:typeof i.nonce=="string"?i.nonce:void 0})}},C.preinitModule=function(o,i){if(typeof o=="string")if(typeof i=="object"&&i!==null){if(i.as==null||i.as==="script"){var f=s(i.as,i.crossOrigin);n.d.M(o,{crossOrigin:f,integrity:typeof i.integrity=="string"?i.integrity:void 0,nonce:typeof i.nonce=="string"?i.nonce:void 0})}}else i==null&&n.d.M(o)},C.preload=function(o,i){if(typeof o=="string"&&typeof i=="object"&&i!==null&&typeof i.as=="string"){var f=i.as,d=s(f,i.crossOrigin);n.d.L(o,f,{crossOrigin:d,integrity:typeof i.integrity=="string"?i.integrity:void 0,nonce:typeof i.nonce=="string"?i.nonce:void 0,type:typeof i.type=="string"?i.type:void 0,fetchPriority:typeof i.fetchPriority=="string"?i.fetchPriority:void 0,referrerPolicy:typeof i.referrerPolicy=="string"?i.referrerPolicy:void 0,imageSrcSet:typeof i.imageSrcSet=="string"?i.imageSrcSet:void 0,imageSizes:typeof i.imageSizes=="string"?i.imageSizes:void 0,media:typeof i.media=="string"?i.media:void 0})}}
9,C.preloadModule=function(o,i){if(typeof o=="string")if(i){var f=s(i.as,i.crossOrigin);n.d.m(o,{as:typeof i.as=="string"&&i.as!=="script"?i.as:void 0,crossOrigin:f,integrity:typeof i.integrity=="string"?i.integrity:void 0})}else n.d.m(o)},C.requestFormReset=function(o){n.d.r(o)},C.unstable_batchedUpdates=function(o,i){return o(i)},C.useFormState=function(o,i,f){return u.H.useFormState(o,i,f)},C.useFormStatus=function(){return u.H.useHostTransitionStatus()},C.version="19.2.1",C}var je;function Yt(){if(je)return ue.exports;je=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(r){console.error(r)}}return e(),ue.exports=Jt(),ue.exports}var qe=Yt();const Vt=_t(qe),Xt=Bt({__proto__:null,default:Vt},[qe]);/** 10 * React Router DOM v6.30.3 11 * 12 * Copyright (c) Remix Software Inc. 13 * 14 * This source code is licensed under the MIT license found in the 15 * LICENSE.md file in the root directory of this source tree. 16 * 17 * @license MIT 18 */function F(){return F=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},F.apply(this,arguments)}function be(e,r){if(e==null)return{};var t={},n=Object.keys(e),a,l;for(l=0;l<n.length;l++)a=n[l],!(r.indexOf(a)>=0)&&(t[a]=e[a]);return t}const W="get",ce="application/x-www-form-urlencoded";function ne(e){return e!=null&&typeof e.tagName=="string"}function Kt(e){return ne(e)&&e.tagName.toLowerCase()==="button"}function Wt(e){return ne(e)&&e.tagName.toLowerCase()==="form"}function Gt(e){return ne(e)&&e.tagName.toLowerCase()==="input"}function Zt(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Qt(e,r){return e.button===0&&(!r||r==="_self")&&!Zt(e)}function pe(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((r,t)=>{let n=e[t];return r.concat(Array.isArray(n)?n.map(a=>[t,a]):[[t,n]])},[]))}function qt(e,r){let t=pe(e);return r&&r.forEach((n,a)=>{t.has(a)||r.getAll(a).forEach(l=>{t.append(a,l)})}),t}let Y=null;function er(){if(Y===null)try{new FormData(document.createElement("form"),0),Y=!1}catch{Y=!0}return Y}const tr=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function de(e){return e!=null&&!tr.has(e)?null:e}function rr(e,r){let t,n,a,l,u;if(Wt(e)){let s=e.getAttribute("action");n=s?I(s,r):null,t=e.getAttribute("method")||W,a=de(e.getAttribute("enctype"))||ce,l=new FormData(e)}else if(Kt(e)||Gt(e)&&(e.type==="submit"||e.type==="image")){let s=e.form;if(s==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let o=e.getAttribute("formaction")||s.getAttribute("action");if(n=o?I(o,r):null,t=e.getAttribute("formmethod")||s.getAttribute("method")||W,a=de(e.getAttribute("formenctype"))||de(s.getAttribute("enctype"))||ce,l=new FormData(s,e),!er()){let{name:i,type:f,value:d}=e;if(f==="image"){let h=i?i+".":"";l.append(h+"x","0"),l.append(h+"y","0")}else i&&l.append(i,d)}}else{if(ne(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');t=W,n=null,a=ce,u=e}return l&&a==="text/plain"&&(u=l,l=void 0),{action:n,method:t.toLowerCase(),encType:a,formData:l,body:u}}const nr=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],ar=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],ir=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","viewTransition"],or="6";try{window.__reactRouterVersion=or}catch{}const et=c.createContext({isTransitioning:!1}),lr=c.createContext(new Map),sr="startTransition",$e=Ot[sr],ur="flushSync",Ue=Xt[ur];function cr(e){$e?$e(e):e()}function U(e){Ue?Ue(e):e()}let dr=class{constructor(){this.status="pending",this.promise=new Promise((r,t)=>{this.resolve=n=>{this.status==="pending"&&(this.status="resolved",r(n))},this.reject=n=>{this.status==="pending"&&(this.status="rejected",t(n))}})}};function Jn(e){let{fallbackElement:r,router:t,future:n}=e,[a,l]=c.useState(t.state),[u,s]=c.useState(),[o,i]=c.useState({isTransitioning:!1}),[f,d]=c.useState(),[h,y]=c.useState(),[m,v]=c.useState(),S=c.useRef(new Map),{v7_startTransition:R}=n||{},w=c.useCallback(b=>{R?cr(b):b()},[R]),E=c.useCallback((b,L)=>{let{deletedFetchers:T,flushSync:D,viewTransitionOpts:P}=L;
18b.fetchers.forEach((A,k)=>{A.data!==void 0&&S.current.set(k,A.data)}),T.forEach(A=>S.current.delete(A));let le=t.window==null||t.window.document==null||typeof t.window.document.startViewTransition!="function";if(!P||le){D?U(()=>l(b)):w(()=>l(b));return}if(D){U(()=>{h&&(f&&f.resolve(),h.skipTransition()),i({isTransitioning:!0,flushSync:!0,currentLocation:P.currentLocation,nextLocation:P.nextLocation})});let A=t.window.document.startViewTransition(()=>{U(()=>l(b))});A.finished.finally(()=>{U(()=>{d(void 0),y(void 0),s(void 0),i({isTransitioning:!1})})}),U(()=>y(A));return}h?(f&&f.resolve(),h.skipTransition(),v({state:b,currentLocation:P.currentLocation,nextLocation:P.nextLocation})):(s(b),i({isTransitioning:!0,flushSync:!1,currentLocation:P.currentLocation,nextLocation:P.nextLocation}))},[t.window,h,f,S,w]);c.useLayoutEffect(()=>t.subscribe(E),[t,E]),c.useEffect(()=>{o.isTransitioning&&!o.flushSync&&d(new dr)},[o]),c.useEffect(()=>{if(f&&u&&t.window){let b=u,L=f.promise,T=t.window.document.startViewTransition(async()=>{w(()=>l(b)),await L});T.finished.finally(()=>{d(void 0),y(void 0),s(void 0),i({isTransitioning:!1})}),y(T)}},[w,u,f,t.window]),c.useEffect(()=>{f&&u&&a.location.key===u.location.key&&f.resolve()},[f,h,a.location,u]),c.useEffect(()=>{!o.isTransitioning&&m&&(s(m.state),i({isTransitioning:!0,flushSync:!1,currentLocation:m.currentLocation,nextLocation:m.nextLocation}),v(void 0))},[o.isTransitioning,m]),c.useEffect(()=>{},[]);let p=c.useMemo(()=>({createHref:t.createHref,encodeLocation:t.encodeLocation,go:b=>t.navigate(b),push:(b,L,T)=>t.navigate(b,{state:L,preventScrollReset:T==null?void 0:T.preventScrollReset}),replace:(b,L,T)=>t.navigate(b,{replace:!0,state:L,preventScrollReset:T==null?void 0:T.preventScrollReset})}),[t]),x=t.basename||"/",g=c.useMemo(()=>({router:t,navigator:p,static:!1,basename:x}),[t,p,x]),_=c.useMemo(()=>({v7_relativeSplatPath:t.future.v7_relativeSplatPath}),[t.future.v7_relativeSplatPath]);return c.useEffect(()=>Lt(n,t.future),[n,t.future]),c.createElement(c.Fragment,null,c.createElement(Se.Provider,{value:g},c.createElement(ee.Provider,{value:a},c.createElement(lr.Provider,{value:S.current},c.createElement(et.Provider,{value:o},c.createElement(Tt,{basename:x,location:a.location,navigationType:a.historyAction,navigator:p,future:_},a.initialized||t.future.v7_partialHydration?c.createElement(fr,{routes:t.routes,future:t.future,state:a}):r))))),null)}const fr=c.memo(hr);function hr(e){let{routes:r,future:t,state:n}=e;return Pt(r,void 0,n,t)}const mr=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",yr=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,tt=c.forwardRef(function(r,t){let{onClick:n,relative:a,reloadDocument:l,replace:u,state:s,target:o,to:i,preventScrollReset:f,viewTransition:d}=r,h=be(r,nr),{basename:y}=c.useContext(B),m,v=!1;if(typeof i=="string"&&yr.test(i)&&(m=i,mr))try{let E=new URL(window.location.href),p=i.startsWith("//")?new URL(E.protocol+i):new URL(i),x=I(p.pathname,y);p.origin===E.origin&&x!=null?i=x+p.search+p.hash:v=!0}catch{}let S=Re(i,{relative:a}),R=wr(i,{replace:u,state:s,target:o,preventScrollReset:f,relative:a,viewTransition:d});function w(E){n&&n(E),E.defaultPrevented||R(E)}return c.createElement("a",F({},h,{href:m||S,onClick:v||l?n:w,ref:t,target:o}))}),pr=c.forwardRef(function(r,t){let{"aria-current":n="page",caseSensitive:a=!1,className:l="",end:u=!1,style:s,to:o,viewTransition:i,children:f}=r,d=be(r,ar),h=te(o,{relative:d.relative}),y=j(),m=c.useContext(ee),{navigator:v,basename:S}=c.useContext(B),R=m!=null&&Lr(h)&&i===!0,w=v.encodeLocation?v.encodeLocation(h).pathname:h.pathname,E=y.pathname,p=m&&m.navigation&&m.navigation.location?m.navigation.location.pathname:null;a||(E=E.toLowerCase(),p=p?p.toLowerCase():null,w=w.toLowerCase()),p&&S&&(p=I(p,S)||p);const x=w!=="/"&&w.endsWith("/")?w.length-1:w.length;let g=E===w||!u&&E.startsWith(w)&&E.charAt(x)==="/",_=p!=null&&(p===w||!u&&p.startsWith(w)&&p.charAt(w.length)==="/"),b={isActive:g,isPending:_,isTransitioning:R},L=g?n:void 0,T;typeof l=="function"?T=l(b):T=[l,g?"active":null,_?"pending":null,R?"transitioning":null].filter(
18Boolean).join(" ");let D=typeof s=="function"?s(b):s;return c.createElement(tt,F({},d,{"aria-current":L,className:T,ref:t,style:D,to:o,viewTransition:i}),typeof f=="function"?f(b):f)}),vr=c.forwardRef((e,r)=>{let{fetcherKey:t,navigate:n,reloadDocument:a,replace:l,state:u,method:s=W,action:o,onSubmit:i,relative:f,preventScrollReset:d,viewTransition:h}=e,y=be(e,ir),m=br(),v=xr(o,{relative:f}),S=s.toLowerCase()==="get"?"get":"post",R=w=>{if(i&&i(w),w.defaultPrevented)return;w.preventDefault();let E=w.nativeEvent.submitter,p=(E==null?void 0:E.getAttribute("formmethod"))||s;m(E||w.currentTarget,{fetcherKey:t,method:p,navigate:n,replace:l,state:u,relative:f,preventScrollReset:d,viewTransition:h})};return c.createElement("form",F({ref:r,method:S,action:v,onSubmit:a?i:R},y))});var z;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(z||(z={}));var ve;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(ve||(ve={}));function xe(e){let r=c.useContext(Se);return r||re(!1),r}function gr(e){let r=c.useContext(ee);return r||re(!1),r}function wr(e,r){let{target:t,replace:n,state:a,preventScrollReset:l,relative:u,viewTransition:s}=r===void 0?{}:r,o=Ke(),i=j(),f=te(e,{relative:u});return c.useCallback(d=>{if(Qt(d,t)){d.preventDefault();let h=n!==void 0?n:ye(i)===ye(f);o(e,{replace:h,state:a,preventScrollReset:l,relative:u,viewTransition:s})}},[i,o,f,n,a,t,e,l,u,s])}function Yn(e){let r=c.useRef(pe(e)),t=c.useRef(!1),n=j(),a=c.useMemo(()=>qt(n.search,t.current?null:r.current),[n.search]),l=Ke(),u=c.useCallback((s,o)=>{const i=pe(typeof s=="function"?s(a):s);t.current=!0,l("?"+i,o)},[l,a]);return[a,u]}function Er(){if(typeof document>"u")throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.")}let Sr=0,Rr=()=>"__"+String(++Sr)+"__";function br(){let{router:e}
18=xe(z.UseSubmit),{basename:r}=c.useContext(B),t=Ct();return c.useCallback(function(n,a){a===void 0&&(a={}),Er();let{action:l,method:u,encType:s,formData:o,body:i}=rr(n,r);if(a.navigate===!1){let f=a.fetcherKey||Rr();e.fetch(f,t,a.action||l,{preventScrollReset:a.preventScrollReset,formData:o,body:i,formMethod:a.method||u,formEncType:a.encType||s,flushSync:a.flushSync})}else e.navigate(a.action||l,{preventScrollReset:a.preventScrollReset,formData:o,body:i,formMethod:a.method||u,formEncType:a.encType||s,replace:a.replace,state:a.state,fromRouteId:t,flushSync:a.flushSync,viewTransition:a.viewTransition})},[e,r,t])}function xr(e,r){let{relative:t}=r===void 0?{}:r,{basename:n}=c.useContext(B),a=c.useContext(Dt);a||re(!1);let[l]=a.matches.slice(-1),u=F({},te(e||".",{relative:t})),s=j();if(e==null){u.search=s.search;let o=new URLSearchParams(u.search),i=o.getAll("index");if(i.some(d=>d==="")){o.delete("index"),i.filter(h=>h).forEach(h=>o.append("index",h));let d=o.toString();u.search=d?"?"+d:""}}return(!e||e===".")&&l.route.index&&(u.search=u.search?u.search.replace(/^\?/,"?index&"):"?index"),n!=="/"&&(u.pathname=u.pathname==="/"?n:kt([n,u.pathname])),ye(u)}const Me="react-router-scroll-positions";let V={};function Vn(e){let{getKey:r,storageKey:t}=e===void 0?{}:e,{router:n}=xe(z.UseScrollRestoration),{restoreScrollPosition:a,preventScrollReset:l}=gr(ve.UseScrollRestoration),{basename:u}=c.useContext(B),s=j(),o=We(),i=At();c.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),_r(c.useCallback(()=>{if(i.state==="idle"){let f=(r?r(s,o):null)||s.key;V[f]=window.scrollY}try{sessionStorage.setItem(t||Me,JSON.stringify(V))}catch{}window.history.scrollRestoration="auto"},[t,r,i.state,s,o])),typeof document<"u"&&(c.useLayoutEffect(()=>{try{let f=sessionStorage.getItem(t||Me);f&&(V=JSON.parse(f))}catch{}},[t]),c.useLayoutEffect(()=>{let f=r&&u!=="/"?(h,y)=>r(F({},h,{pathname:I(h.pathname,u)||h.pathname}),y):r,d=n==null?void 0:n.enableScrollRestoration(V,()=>window.scrollY,f);return()=>d&&d()},[n,u,r]),c.useLayoutEffect(()=>{if(a!==!1){if(typeof a=="number"){window.scrollTo(0,a);return}if(s.hash){let f=document.getElementById(decodeURIComponent(s.hash.slice(1)));if(f){f.scrollIntoView();return}}l!==!0&&window.scrollTo(0,0)}},[s,a,l]))}function Xn(e,r){let{capture:t}={};c.useEffect(()=>{let n=t!=null?{capture:t}:void 0;return window.addEventListener("beforeunload",e,n),()=>{window.removeEventListener("beforeunload",e,n)}},[e,t])}function _r(e,r){let{capture:t}={};c.useEffect(()=>{let n=t!=null?{capture:t}:void 0;return window.addEventListener("pagehide",e,n),()=>{window.removeEventListener("pagehide",e,n)}},[e,t])}function Lr(e,r){r===void 0&&(r={});let t=c.useContext(et);t==null&&re(!1);let{basename:n}=xe(z.useViewTransitionState),a=te(e,{relative:r.relative});if(!t.isTransitioning)return!1;let l=I(t.currentLocation.pathname,n)||t.currentLocation.pathname,u=I(t.nextLocation.pathname,n)||t.nextLocation.pathname;return Ie(a.pathname,u)!=null||Ie(a.pathname,l)!=null}var Tr=-1,Or=-2,Pr=-3,Cr=-4,Dr=-5,kr=-6,Ar=-7,Nr="B",Ir="D",rt="E",Fr="M",jr="N",nt="P",$r="R",Ur="S",Mr="Y",Hr="U",zr="Z",at=class{constructor(){J(this,"promise");J(this,"resolve");J(this,"reject");this.promise=new Promise((e,r)=>{this.resolve=e,this.reject=r})}};function Br(){const e=new TextDecoder;let r="";return new TransformStream({transform(t,n){const a=e.decode(t,{stream:!0}),l=(r+a).split(` 19`);r=l.pop()||"";for(const u of l)n.enqueue(u)},flush(t){r&&t.enqueue(r)}})}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var fe=typeof window<"u"?window:typeof globalThis<"u"?globalThis:void 0;function ge(e){const{hydrated:r,values:t}=this;if(typeof e=="number")return He.call(this,e);if(!Array.isArray(e)||!e.length)throw new SyntaxError;const n=t.length;for(const a of e)t.push(a);return r.length=t.length,He.call(this,n)}function He(e){const{hydrated:r,values:t,deferred:n,plugins:a}=this;let l;const u=[[e,o=>{l=o}]];let s=[];for(;u.length>0;){const[o,i]=u.pop();switch(o){case Ar:i(void 0);continue;case Dr:i(null);continue;case Or:i(NaN);continue;case kr:i(1/0);continue;case Pr:i(-1/0);continue;case Cr:i(-0);continue}if(r[o]){i(r[o]);continue}const f=t[o];if(!f||typeof f!="object"){r[o]=f,i(f);continue}if(Array.isArray(f))if(typeof f[0]=="string"){const[d,h,y]=f;switch(d){case Ir:i(r[o]=new Date(h));continue;case Hr:i(r[o]=new URL(h));continue;case Nr:i(r[o]=BigInt(h));continue;case $r:i(r[o]=new RegExp(h,y));continue;case Mr:i(r[o]=Symbol.for(h));continue;case Ur:const m=new Set;r[o]=m;for(let p=1;p<f.length;p++)u.push([f[p],x=>{m.add(x)}]);i(m);continue;case Fr:const v=new Map;r[o]=v;for(let p=1;p<f.length;p+=2){const x=[];u.push([f[p+1],g=>{x[1]=g}]),u.push([f[p],g=>{x[0]=g}]),s.push(()=>{v.set(x[0],x[1])})}i(v);continue;case jr:const S=Object.create(null);r[o]=S;for(const p of Object.keys(h).reverse()){const x=[];u.push([h[p],g=>{x[1]=g}]),u.push([Number(p.slice(1)),g=>{x[0]=g}]),s.push(()=>{S[x[0]]=x[1]})}i(S);continue;case nt:if(r[h])i(r[o]=r[h]);else{const p=new at;n[h]=p,i(r[o]=p.promise)}continue;case rt:const[,R,w]=f;let E=w&&fe&&fe[w]?new fe[w](R):new Error(R);r[o]=E,i(E);continue;case zr:i(r[o]=r[h]);continue;default:if(Array.isArray(a)){const p=[],x=f.slice(1);for(let g=0;g<x.length;g++){const _=x[g];u.push([_,b=>{p[g]=b}])}s.push(()=>{for(const g of a){const _=g(f[0],...p);if(_){i(r[o]=_.value);return}}throw new SyntaxError});continue}throw new SyntaxError}}else{const d=[];r[o]=d;for(let h=0;h<f.length;h++){const y=f[h];y!==Tr&&u.push([y,m=>{d[h]=m}])}i(d);continue}else{const d={};r[o]=d;for(const h of Object.keys(f).reverse()){const y=[];u.push([f[h],m=>{y[1]=m}]),u.push([Number(h.slice(1)),m=>{y[0]=m}]),s.push(()=>{d[y[0]]=y[1]})}i(d);continue}}for(;s.length>0;)s.pop()();return l}async function Jr(e,r){const{plugins:t}=r??{},n=new at,a=e.pipeThrough(Br()).getReader(),l={values:[],hydrated:[],deferred:{},plugins:t},u=await Yr.call(l,a);let s=n.promise;
19return u.done?n.resolve():s=Vr.call(l,a).then(n.resolve).catch(o=>{for(const i of Object.values(l.deferred))i.reject(o);n.reject(o)}),{done:s.then(()=>a.closed),value:u.value}}async function Yr(e){const r=await e.read();if(!r.value)throw new SyntaxError;let t;try{t=JSON.parse(r.value)}catch{throw new SyntaxError}return{done:r.done,value:ge.call(this,t)}}async function Vr(e){let r=await e.read();for(;!r.done;){if(!r.value)continue;const t=r.value;switch(t[0]){case nt:{const n=t.indexOf(":"),a=Number(t.slice(1,n)),l=this.deferred[a];if(!l)throw new Error(`Deferred ID ${a} not found in stream`);const u=t.slice(n+1);let s;try{s=JSON.parse(u)}catch{throw new SyntaxError}const o=ge.call(this,s);l.resolve(o);break}case rt:{const n=t.indexOf(":"),a=Number(t.slice(1,n)),l=this.deferred[a];if(!l)throw new Error(`Deferred ID ${a} not found in stream`);const u=t.slice(n+1);let s;try{s=JSON.parse(u)}catch{throw new SyntaxError}const o=ge.call(this,s);l.reject(o);break}default:throw new SyntaxError}r=await e.read()}}/** 20 * @remix-run/server-runtime v2.17.4 21 * 22 * Copyright (c) Remix Software Inc. 23 * 24 * This source code is licensed under the MIT license found in the 25 * LICENSE.md file in the root directory of this source tree. 26 * 27 * @license MIT 28 */const it=Symbol("SingleFetchRedirect");/** 29 * @remix-run/react v2.17.4 30 * 31 * Copyright (c) Remix Software Inc. 32 * 33 * This source code is licensed under the MIT license found in the 34 * LICENSE.md file in the root directory of this source tree. 35 * 36 * @license MIT 37 */function O(){return O=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},O.apply(this,arguments)}/** 38 * @remix-run/react v2.17.4 39 * 40 * Copyright (c) Remix Software Inc. 41 * 42 * This source code is licensed under the MIT license found in the 43 * LICENSE.md file in the root directory of this source tree. 44 * 45 * @license MIT 46 */function N(e,r){if(e===!1||e===null||typeof e>"u")throw new Error(r)}/** 47 * @remix-run/react v2.17.4 48 * 49 * Copyright (c) Remix Software Inc. 50 * 51 * This source code is licensed under the MIT license found in the 52 * LICENSE.md file in the root directory of this source tree. 53 * 54 * @license MIT 55 */async function ot(e,r){if(e.id in r)return r[e.id];try{let t=await import(e.module);return r[e.id]=t,t}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__remixContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}/** 56 * @remix-run/react v2.17.4 57 * 58 * Copyright (c) Remix Software Inc. 59 * 60 * This source code is licensed under the MIT license found in the 61 * LICENSE.md file in the root directory of this source tree. 62 * 63 * @license MIT 64 */function Xr(e,r,t){let n=e.map(l=>{var u;let s=r[l.route.id],o=t.routes[l.route.id];return[o.css?o.css.map(i=>({rel:"stylesheet",href:i})):[],(s==null||(u=s.links)===null||u===void 0?void 0:u.call(s))||[]]}).flat(2),a=qr(e,t);return st(n,a)}async function lt(e,r){var t,n;if(!e.css&&!r.links||!tn())return;let a=[((t=e.css)===null||t===void 0?void 0:t.map(s=>({rel:"stylesheet",href:s})))??[],((n=r.links)===null||n===void 0?void 0:n.call(r))??[]].flat(1);if(a.length===0)return;let l=[];for(let s of a)!_e(s)&&s.rel==="stylesheet"&&l.push({...s,rel:"preload",as:"style"});let u=l.filter(s=>(!s.media||window.matchMedia(s.media).matches)&&!document.querySelector(`link[rel="stylesheet"][href="${s.href}"]`));await Promise.all(u.map(Kr))}async function Kr(e){return new Promise(r=>{let t=document.createElement("link");Object.assign(t,e);function n(){document.head.contains(t)&&document.head.removeChild(t)}t.onload=()=>{n(),r()},t.onerror=()=>{n(),r()},document.head.appendChild(t)})}function _e(e){return e!=null&&typeof e.page=="string"}function Wr(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function Gr(e,r,t){let n=await Promise.all(e.map(async a=>{let l=await ot(r.routes[a.route.id],t);return l.links?l.links():[]}));return st(n.flat(1).filter(Wr).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function ze(e,r,t,n,a,l,u){let s=ut(e),o=(d,h)=>t[h]?d.route.id!==t[h].route.id:!0,i=(d,h)=>{var y;return t[h].pathname!==d.pathname||((y=t[h].route.path)===null||y===void 0?void 0:y.endsWith("*"))&&t[h].params["*"]!==d.params["*"]};return u==="data"&&(l.v3_singleFetch||a.search!==s.search)?r.filter((d,h)=>{if(!n.routes[d.route.id].hasLoader)return!1;if(o(d,h)||i(d,h))return!0;let m=l.v3_singleFetch||a.search!==s.search;if(d.route.shouldRevalidate){var v;let S=d.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParam
64s:((v=t[0])===null||v===void 0?void 0:v.params)||{},nextUrl:new URL(e,window.origin),nextParams:d.params,defaultShouldRevalidate:m});if(typeof S=="boolean")return S}return m}):r.filter((d,h)=>{let y=n.routes[d.route.id];return(u==="assets"||y.hasLoader)&&(o(d,h)||i(d,h))})}function Zr(e,r,t){let n=ut(e);return Le(r.filter(a=>t.routes[a.route.id].hasLoader&&!t.routes[a.route.id].hasClientLoader).map(a=>{let{pathname:l,search:u}=n,s=new URLSearchParams(u);return s.set("_data",a.route.id),`${l}?${s}`}))}function Qr(e,r){return Le(e.map(t=>{let n=r.routes[t.route.id],a=[n.module];return n.imports&&(a=a.concat(n.imports)),a}).flat(1))}function qr(e,r){return Le(e.map(t=>{let n=r.routes[t.route.id],a=[n.module];return n.imports&&(a=a.concat(n.imports)),a}).flat(1))}function Le(e){return[...new Set(e)]}function en(e){let r={},t=Object.keys(e).sort();for(let n of t)r[n]=e[n];return r}function st(e,r){let t=new Set,n=new Set(r);return e.reduce((a,l)=>{if(r&&!_e(l)&&l.as==="script"&&l.href&&n.has(l.href))return a;let s=JSON.stringify(en(l));return t.has(s)||(t.add(s),a.push({key:s,link:l})),a},[])}function ut(e){let r=Nt(e);return r.search===void 0&&(r.search=""),r}let X;function tn(){if(X!==void 0)return X;let e=document.createElement("link");return X=e.relList.supports("preload"),e=null,X}/** 65 * @remix-run/react v2.17.4 66 * 67 * Copyright (c) Remix Software Inc. 68 * 69 * This source code is licensed under the MIT license found in the 70 * LICENSE.md file in the root directory of this source tree. 71 * 72 * @license MIT 73 */const rn={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},nn=/[&><\u2028\u2029]/g;function H(e){return e.replace(nn,r=>rn[r])}function Be(e){return{__html:e}}/** 74 * @remix-run/react v2.17.4 75 * 76 * Copyright (c) Remix Software Inc. 77 * 78 * This source code is licensed under the MIT license found in the 79 * LICENSE.md file in the root directory of this source tree. 80 * 81 * @license MIT 82 */function an(e){return e.headers.get("X-Remix-Catch")!=null}function on(e){return e.headers.get("X-Remix-Error")!=null}function ln(e){return Te(e)&&e.status>=400&&e.headers.get("X-Remix-Error")==null&&e.headers.get("X-Remix-Catch")==null&&e.headers.get("X-Remix-Response")==null}function sn(e){return e.headers.get("X-Remix-Redirect")!=null}function un(e){var r;return!!((r=e.headers.get("Content-Type"))!==null&&r!==void 0&&r.match(/text\/remix-deferred/))}function Te(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function cn(e){let r=e;return r&&typeof r=="object"&&typeof r.data=="object"&&typeof r.subscribe=="function"&&typeof r.cancel=="function"&&typeof r.resolveData=="function"}async function ct(e,r,t=0){let n=new URL(e.url);n.searchParams.set("_data",r),t>0&&await new Promise(s=>setTimeout(s,5**t*10));let a=await ae(e),l=window.__remixRevalidation,u=await fetch(n.href,a).catch(s=>{if(typeof l=="number"&&l===window.__remixRevalidation&&(s==null?void 0:s.name)==="TypeError"&&t<3)return ct(e,r,t+1);throw s});if(on(u)){let s=await u.json(),o=new Error(s.message);return o.stack=s.stack,o}if(ln(u)){let s=await u.text(),o=new Error(s);return o.stack=void 0,o}return u}async function ae(e){let r={signal:e.signal};if(e.method!=="GET"){r.method=e.method;let t=e.headers.get("Content-Type");t&&/\bapplication\/json\b/.test(t)?(r.headers={"Content-Type":t},r.body=JSON.stringify(await e.json())):t&&/\btext\/plain\b/.test(t)?(r.headers={"Content-Type":t},r.body=await e.text()):t&&/\bapplication\/x-www-form-urlencoded\b/.test(t)?r.body=new URLSearchParams(await e.text()):r.body=await e.formData()}return r}const dn="__deferred_promise:";async function fn(e){if(!e)throw new Error("parseDeferredReadableStream requires stream argument");let r,t={};try{let n=hn(e),l=(await n.next()).value;if(!l)throw new Error("no critical data");let u=JSON.parse(l);if(typeof u=="object"&&u!==null)for(let[s,o]of Object.entries(u))typeof o!="string"||!o.startsWith(dn)||(r=r||{},r[s]=new Promise((i,f)=>{t[s]={resolve:d=>{i(d),delete t[s]},reject:d=>{f(d),delete t[s]}}}));return(async()=>{try{for await(let s of n){let[o,...i]=s.split(":"),f=i.join(":"),d=JSON.parse(f);if(o==="data")for(let[h,y]of Object.entries(d))t[h]&&t[h].resolve(y);else if(o==="error")for(let[h,y]of Object.entries(d)){let m=new Error(y.message);m.stack=y.stack,t[h]&&t[h].reject(m)}}for(let[s,o]of Object.entries(t))o.reject(new It(`Deferred ${s} will never be resolved`))}catch(s){for(let o of Object.values(t))o.reject(s)}})(),new Ft({...u,...r})}catch(n){for(let a of Object.values(t))a.reject(n);throw n}}async function*hn(e){let r=e.getReader(),t=[],n=[],a=!1,l=new TextEncoder,u=new TextDecoder,s=async()=>
82{if(n.length>0)return n.shift();for(;!a&&n.length===0;){let i=await r.read();if(i.done){a=!0;break}t.push(i.value);try{let d=u.decode(Je(...t)).split(` 83 84`);if(d.length>=2&&(n.push(...d.slice(0,-1)),t=[l.encode(d.slice(-1).join(` 85 86`))]),n.length>0)break}catch{continue}}return n.length>0||t.length>0&&(n=u.decode(Je(...t)).split(` 87 88`).filter(f=>f),t=[]),n.shift()},o=await s();for(;o;)yield o,o=await s()}function Je(...e){let r=new Uint8Array(e.reduce((n,a)=>n+a.length,0)),t=0;for(let n of e)r.set(n,t),t+=n.length;return r}/** 89 * @remix-run/react v2.17.4 90 * 91 * Copyright (c) Remix Software Inc. 92 * 93 * This source code is licensed under the MIT license found in the 94 * LICENSE.md file in the root directory of this source tree. 95 * 96 * @license MIT 97 */function Kn(e,r,t){return async({request:n,matches:a,fetcherKey:l})=>n.method!=="GET"?mn(n,a):l?pn(n,a):yn(e,r,t(),n,a)}async function mn(e,r){let t=r.find(l=>l.shouldLoad);N(t,"No action match found");let n,a=await t.resolve(async l=>await l(async()=>{let s=ie(e.url),o=await ae(e),{data:i,status:f}=await Oe(s,o);return n=f,we(i,t.route.id)}));return Te(a.result)||Ge(a.result)?{[t.route.id]:a}:{[t.route.id]:{type:a.type,result:jt(a.result,n)}}}async function yn(e,r,t,n,a){let l=new Set,u=!1,s=a.map(()=>Ye()),o=Promise.all(s.map(m=>m.promise)),i=Ye(),f=ft(ie(n.url)),d=await ae(n),h={},y=Promise.all(a.map(async(m,v)=>m.resolve(async S=>{if(s[v].resolve(),!m.shouldLoad){var R;if(!t.state.initialized)return;if(m.route.id in t.state.loaderData&&e.routes[m.route.id]&&(R=r[m.route.id])!==null&&R!==void 0&&R.shouldRevalidate){e.routes[m.route.id].hasLoader&&(u=!0);return}}if(e.routes[m.route.id].hasClientLoader){e.routes[m.route.id].hasLoader&&(u=!0);try{let w=await dt(S,f,d,m.route.id);h[m.route.id]={type:"data",result:w}}catch(w){h[m.route.id]={type:"error",result:w}}return}e.routes[m.route.id].hasLoader&&l.add(m.route.id);try{let w=await S(async()=>{let E=await i.promise;return ht(E,m.route.id)});h[m.route.id]={type:"data",result:w}}catch(w){h[m.route.id]={type:"error",result:w}}})));if(await o,(!t.state.initialized||l.size===0)&&!window.__remixHdrActive)i.resolve({});else try{u&&l.size>0&&f.searchParams.set("_routes",a.filter(v=>l.has(v.route.id)).map(v=>v.route.id).join(","));let m=await Oe(f,d);i.resolve(m.data)}catch(m){i.reject(m)}return await y,h}async function pn(e,r){let t=r.find(a=>a.shouldLoad);N(t,"No fetcher match found");let n=await t.resolve(async a=>{let l=ft(ie(e.url)),u=await ae(e);return dt(a,l,u,t.route.id)});return{[t.route.id]:n}}function dt(e,r,t,n){return e(async()=>{let a=new URL(r);a.searchParams.set("_routes",n);let{data:l}=await Oe(a,t);return ht(l,n)})}function ft(e){let r=e.searchParams.getAll("index");e.searchParams.delete("index");let t=[];for(let n of r)n&&t.push(n);for(let n of t)e.searchParams.append("index",n);return e}function ie(e){let r=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return r.pathname==="/"?r.pathname="_root.data":r.pathname=`${r.pathname.replace(/\/$/,"")}.data`,r}async function Oe(e,r){let t=await fetch(e,r);if(new Set([100,101,204,205]).has(t.status))return!r.method||r.method==="GET"?{status:t.status,data:{}}:{status:t.status,data:{data:null}};N(t.body,"No response body to decode");try{let a=await vn(t.body,window);return{status:t.status,data:a.value}}catch(a){throw console.error(a),new Error(`Unable to decode turbo-stream response from URL: ${e.toString()}`)}}function vn(e,r){return Jr(e,{plugins:[(t,...n)=>{if(t==="SanitizedError"){let[a,l,u]=n,s=Error;a&&a in r&&typeof r[a]=="function"&&(s=r[a]);let o=new s(l);return o.stack=u,{value:o}}if(t==="ErrorResponse"){let[a,l,u]=n;return{value:new Q(l,u,a)}}if(t==="SingleFetchRedirect")return{value:{[it]:n[0]}}},(t,n)=>{if(t==="SingleFetchFallback")return{value:void 0};if(t==="SingleFetchClassInstance")return{value:n}}]})}function ht(e,r){let t=e[it];return t?we(t,r):e[r]!==void 0?we(e[r],r):null}function we(e,r){if("error"in e)throw e.error;if("redirect"in e){let t={};throw e.revalidate&&(t["X-Remix-Revalidate"]="yes"),e.reload&&(t["X-Remix-Reload-Document"]="yes"),e.replace&&(t["X-Remix-Replace"]="yes"),Ze(e.redirect,{status:e.status,headers:t})}else{if("data"in e)return e.data;throw new Error(`No response found for routeId "${r}"`)}}function Ye(){let e,r,t=new Promise((n,a)=>{e=async l=>{n(l);try{await t}catch{}},r=async l=>{a(l);try{await t}catch{}}});return{promise:t,resolve:e,reject:r}}/** 98 * @remix-run/react v2.17.4 99 * 100 * Copyright (c) Remix Software Inc. 101 * 102 * This source code is licensed under the MIT license found in the 103 * LICENSE.md file in the root directory of this source tree. 104 * 105 * @license MIT
106 */class Wn extends c.Component{constructor(r){super(r),this.state={error:r.error||null,location:r.location}}static getDerivedStateFromError(r){return{error:r}}static getDerivedStateFromProps(r,t){return t.location!==r.location?{error:r.error||null,location:r.location}:{error:r.error||t.error,location:t.location}}render(){return this.state.error?c.createElement(mt,{error:this.state.error,isOutsideRemixApp:!0}):this.props.children}}function mt({error:e,isOutsideRemixApp:r}){console.error(e);let t=c.createElement("script",{dangerouslySetInnerHTML:{__html:` 107 console.log( 108 "ð¿ Hey developer ð. You can provide a way better UX than this when your app throws errors. Check out https://remix.run/guides/errors for more information." 109 ); 110 `}});if(Ge(e))return c.createElement(Ee,{title:"Unhandled Thrown Response!"},c.createElement("h1",{style:{fontSize:"24px"}},e.status," ",e.statusText),t);let n;if(e instanceof Error)n=e;else{let a=e==null?"Unknown Error":typeof e=="object"&&"toString"in e?e.toString():JSON.stringify(e);n=new Error(a)}return c.createElement(Ee,{title:"Application Error!",isOutsideRemixApp:r},c.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),c.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},n.stack),t)}function Ee({title:e,renderScripts:r,isOutsideRemixApp:t,children:n}){var a;let{routeModules:l}=$();return(a=l.root)!==null&&a!==void 0&&a.Layout&&!t?n:c.createElement("html",{lang:"en"},c.createElement("head",null,c.createElement("meta",{charSet:"utf-8"}),c.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),c.createElement("title",null,e)),c.createElement("body",null,c.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},n,r?c.createElement($n,null):null)))}/** 111 * @remix-run/react v2.17.4 112 * 113 * Copyright (c) Remix Software Inc. 114 * 115 * This source code is licensed under the MIT license found in the 116 * LICENSE.md file in the root directory of this source tree. 117 * 118 * @license MIT 119 */function gn(){return c.createElement(Ee,{title:"Loading...",renderScripts:!0},c.createElement("script",{dangerouslySetInnerHTML:{__html:` 120 console.log( 121 "ð¿ Hey developer ð. You can provide a way better UX than this " + 122 "when your app is loading JS modules and/or running \`clientLoader\` " + 123 "functions. Check out https://remix.run/route/hydrate-fallback " + 124 "for more information." 125 ); 126 `}}))}/** 127 * @remix-run/react v2.17.4 128 * 129 * Copyright (c) Remix Software Inc. 130 * 131 * This source code is licensed under the MIT license found in the 132 * LICENSE.md file in the root directory of this source tree. 133 * 134 * @license MIT 135 */function yt(e){let r={};return Object.values(e).forEach(t=>{let n=t.parentId||"";r[n]||(r[n]=[]),r[n].push(t)}),r}function wn(e,r,t){let n=pt(r),a=r.HydrateFallback&&(!t||e.id==="root")?r.HydrateFallback:e.id==="root"?gn:void 0,l=r.ErrorBoundary?r.ErrorBoundary:e.id==="root"?()=>c.createElement(mt,{error:$t()}):void 0;return e.id==="root"&&r.Layout?{...n?{element:c.createElement(r.Layout,null,c.createElement(n,null))}:{Component:n},...l?{errorElement:c.createElement(r.Layout,null,c.createElement(l,null))}:{ErrorBoundary:l},...a?{hydrateFallbackElement:c.createElement(r.Layout,null,c.createElement(a,null))}:{HydrateFallback:a}}:{Component:n,ErrorBoundary:l,HydrateFallback:a}}function Gn(e,r,t,n,a,l){return Pe(r,t,n,a,l,"",yt(r),e)}function K(e,r,t){if(t){let u=`You cannot call ${e==="action"?"serverAction()":"serverLoader()"} in SPA Mode (routeId: "${r.id}")`;throw console.error(u),new Q(400,"Bad Request",new Error(u),!0)}let a=`You are trying to call ${e==="action"?"serverAction()":"serverLoader()"} on a route that does not have a server ${e} (routeId: "${r.id}")`;if(e==="loader"&&!r.hasLoader||e==="action"&&!r.hasAction)throw console.error(a),new Q(400,"Bad Request",new Error(a),!0)}function he(e,r){let t=e==="clientAction"?"a":"an",n=`Route "${r}" does not have ${t} ${e}, but you are trying to submit to it. To fix this, please add ${t} \`${e}\` function to the route`;throw console.error(n),new Q(405,"Method Not Allowed",new Error(n),!0)}function Pe(e,r,t,n,a,l="",u=yt(e),s){return(u[l]||[]).map(o=>{let i=r[o.id];async function f(E,p,x){if(typeof x=="function")return await x();let g=await Rn(E,o);return p?bn(g):g}function d(E,p,x){return o.hasLoader?f(E,p,x):Promise.resolve(null)}function h(E,p,x){if(!o.hasAction)throw he("action",o.id);return f(E,p,x)}async function y(E){let p=r[o.id],x=p?lt(o,p):Promise.resolve();try{return E()}finally{await x}}let m={id:o.id,index:o.index,path:o.path};if(i){var v,S,R;Object.assign(m,{...m,...wn(o,i,a),handle:i.handle,shouldRevalidate:Ve(n,i,o.id,s)});let E=t==null||(v=t.loaderData)===null||v===void 0?void 0:v[o.id],p=t==null||(S=t.errors)===null||S===void 0?void 0:S[o.id],x=s==null&&(((R=i.clientLoader)===null||R===void 0?void 0:R.hydrate)===!0||!o.hasLoader);m.loader=async({request:g,params:_},b)=>{try{return await y(async()=>(N(i,"No `routeModule` available for critical-route loader"),i.clientLoader?i.clientLoader({request:g,params:_,async serverLoader(){if
135(K("loader",o,a),x){if(E!==void 0)return E;if(p!==void 0)throw p;return null}return d(g,!0,b)}}):a?null:d(g,!1,b)))}finally{x=!1}},m.loader.hydrate=_n(o,i,a),m.action=({request:g,params:_},b)=>y(async()=>{if(N(i,"No `routeModule` available for critical-route action"),!i.clientAction){if(a)throw he("clientAction",o.id);return h(g,!1,b)}return i.clientAction({request:g,params:_,async serverAction(){return K("action",o,a),h(g,!0,b)}})})}else o.hasClientLoader||(m.loader=({request:E},p)=>y(()=>a?Promise.resolve(null):d(E,!1,p))),o.hasClientAction||(m.action=({request:E},p)=>y(()=>{if(a)throw he("clientAction",o.id);return h(E,!1,p)})),m.lazy=async()=>{let E=await Sn(o,r),p={...E};if(E.clientLoader){let x=E.clientLoader;p.loader=(g,_)=>x({...g,async serverLoader(){return K("loader",o,a),d(g.request,!0,_)}})}if(E.clientAction){let x=E.clientAction;p.action=(g,_)=>x({...g,async serverAction(){return K("action",o,a),h(g.request,!0,_)}})}return{...p.loader?{loader:p.loader}:{},...p.action?{action:p.action}:{},hasErrorBoundary:p.hasErrorBoundary,shouldRevalidate:Ve(n,p,o.id,s),handle:p.handle,Component:p.Component,ErrorBoundary:p.ErrorBoundary}};let w=Pe(e,r,t,n,a,o.id,u,s);return w.length>0&&(m.children=w),m})}function Ve(e,r,t,n){if(n)return En(t,r.shouldRevalidate,n);if(e.v3_singleFetch&&r.shouldRevalidate){let a=r.shouldRevalidate;return l=>a({...l,defaultShouldRevalidate:!0})}return r.shouldRevalidate}function En(e,r,t){let n=!1;return a=>n?r?r(a):a.defaultShouldRevalidate:(n=!0,t.has(e))}async function Sn(e,r){let t=await ot(e,r);return await lt(e,t),{Component:pt(t),ErrorBoundary:t.ErrorBoundary,clientAction:t.clientAction,clientLoader:t.clientLoader,handle:t.handle,links:t.links,meta:t.meta,shouldRevalidate:t.shouldRevalidate}}async function Rn(e,r){let t=await ct(e,r.id);if(t instanceof Error)throw t;if(sn(t))throw xn(t);if(an(t))throw t;return un(t)&&t.body?await fn(t.body):t}function bn(e){if(cn(e))return e.data;if(Te(e)){let r=e.headers.get("Content-Type");return r&&/\bapplication\/json\b/.test(r)?e.json():e.text()}return e}function xn(e){let r=parseInt(e.headers.get("X-Remix-Status"),10)||302,t=e.headers.get("X-Remix-Redirect"),n={},a=e.headers.get("X-Remix-Revalidate");a&&(n["X-Remix-Revalidate"]=a);let l=e.headers.get("X-Remix-Reload-Document");l&&(n["X-Remix-Reload-Document"]=l);let u=e.headers.get("X-Remix-Replace");return u&&(n["X-Remix-Replace"]=u),Ze(t,{status:r,headers:n})}function pt(e){if(e.default==null)return;if(!(typeof e.default=="object"&&Object.keys(e.default).length===0))return e.default}function _n(e,r,t){return t&&e.id!=="root"||r.clientLoader!=null&&(r.clientLoader.hydrate===!0||e.hasLoader!==!0)}/** 136 * @remix-run/react v2.17.4 137 * 138 * Copyright (c) Remix Software Inc. 139 * 140 * This source code is licensed under the MIT license found in the 141 * LICENSE.md file in the root directory of this source tree. 142 * 143 * @license MIT 144 */const G=new Set,Ln=1e3,q=new Set,Tn=7680;function Ce(e,r){return e.v3_lazyRouteDiscovery===!0&&!r}function On(e,r){let t=new Set(r.state.matches.map(u=>u.route.id)),n=r.state.location.pathname.split("/").filter(Boolean),a=["/"];for(n.pop();n.length>0;)a.push(`/${n.join("/")}`),n.pop();a.forEach(u=>{let s=Qe(r.routes,u,r.basename);s&&s.forEach(o=>t.add(o.route.id))});let l=[...t].reduce((u,s)=>Object.assign(u,{[s]:e.routes[s]}),{});return{...e,routes:l}}function Zn(e,r,t,n,a){if(Ce(t,n))return async({path:l,patch:u,signal:s,fetcherKey:o})=>{q.has(l)||await vt([l],o?window.location.href:l,e,r,t,n,a,u,s)}}function Qn(e,r,t,n,a){c.useEffect(()=>{var l;if(!Ce(n,a)||((l=navigator.connection)===null||l===void 0?void 0:l.saveData)===!0)return;function u(d){let h=d.tagName==="FORM"?d.getAttribute("action"):d.getAttribute("href");if(!h)return;let y=new URL(h,window.location.origin);q.has(y.pathname)||G.add(y.pathname)}async function s(){let d=Array.from(G.keys()).filter(h=>q.has(h)?(G.delete(h),!1):!0);if(d.length!==0)try{await vt(d,null,r,t,n,a,e.basename,e.patchRoutes)}catch(h){console.error("Failed to fetch manifest patches",h)}}document.body.querySelectorAll("a[data-discover], form[data-discover]").forEach(d=>u(d)),s();let o=Cn(s,100);function i(d){return d.nodeType===Node.ELEMENT_NODE}let f=new MutationObserver(d=>{let h=new Set;d.forEach(y=>
144{[y.target,...y.addedNodes].forEach(m=>{i(m)&&((m.tagName==="A"&&m.getAttribute("data-discover")||m.tagName==="FORM"&&m.getAttribute("data-discover"))&&h.add(m),m.tagName!=="A"&&m.querySelectorAll("a[data-discover], form[data-discover]").forEach(v=>h.add(v)))})}),h.forEach(y=>u(y)),o()});return f.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["data-discover","href","action"]}),()=>f.disconnect()},[n,a,r,t,e])}const me="remix-manifest-version";async function vt(e,r,t,n,a,l,u,s,o){let i=`${u??"/"}/__manifest`.replace(/\/+/g,"/"),f=new URL(i,window.location.origin);if(e.sort().forEach(v=>f.searchParams.append("p",v)),f.searchParams.set("version",t.version),f.toString().length>Tn){G.clear();return}let d;try{let v=await fetch(f,{signal:o});if(v.ok){if(v.status===204&&v.headers.has("X-Remix-Reload-Document")){if(!r){console.warn("Detected a manifest version mismatch during eager route discovery. The next navigation/fetch to an undiscovered route will result in a new document navigation to sync up with the latest manifest.");return}if(sessionStorage.getItem(me)===t.version){console.error("Unable to discover routes due to manifest version mismatch.");return}throw sessionStorage.setItem(me,t.version),window.location.href=r,new Error("Detected manifest version mismatch, reloading...")}else if(v.status>=400)throw new Error(await v.text())}else throw new Error(`${v.status} ${v.statusText}`);sessionStorage.removeItem(me),d=await v.json()}catch(v){if(o!=null&&o.aborted)return;throw v}let h=new Set(Object.keys(t.routes)),y=Object.values(d).reduce((v,S)=>h.has(S.id)?v:Object.assign(v,{[S.id]:S}),{});Object.assign(t.routes,y),e.forEach(v=>Pn(v,q));let m=new Set;
144Object.values(y).forEach(v=>{(!v.parentId||!y[v.parentId])&&m.add(v.parentId)}),m.forEach(v=>s(v||null,Pe(y,n,null,a,l,v)))}function Pn(e,r){if(r.size>=Ln){let t=r.values().next().value;typeof t=="string"&&r.delete(t)}r.add(e)}function Cn(e,r){let t;return(...n)=>{window.clearTimeout(t),t=window.setTimeout(()=>e(...n),r)}}function gt(){let e=c.useContext(Se);return N(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function oe(){let e=c.useContext(ee);return N(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}const wt=c.createContext(void 0);wt.displayName="Remix";function $(){let e=c.useContext(wt);return N(e,"You must render this element inside a <Remix> element"),e}function Et(e,r){let[t,n]=c.useState(!1),[a,l]=c.useState(!1),{onFocus:u,onBlur:s,onMouseEnter:o,onMouseLeave:i,onTouchStart:f}=r,d=c.useRef(null);c.useEffect(()=>{if(e==="render"&&l(!0),e==="viewport"){let m=S=>{S.forEach(R=>{l(R.isIntersecting)})},v=new IntersectionObserver(m,{threshold:.5});return d.current&&v.observe(d.current),()=>{v.disconnect()}}},[e]);let h=()=>{e==="intent"&&n(!0)},y=()=>{e==="intent"&&(n(!1),l(!1))};return c.useEffect(()=>{if(t){let m=setTimeout(()=>{l(!0)},100);return()=>{clearTimeout(m)}}},[t]),[a,d,{onFocus:M(u,h),onBlur:M(s,y),onMouseEnter:M(o,h),onMouseLeave:M(i,y),onTouchStart:M(f,h)}]}const De=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function ke(e,r,t){return e==="render"&&!r&&!t?"true":void 0}let Dn=c.forwardRef(({to:e,prefetch:r="none",discover:t="render",...n},a)=>{let l=typeof e=="string"&&De.test(e),u=Re(e),[s,o,i]=Et(r,n);return c.createElement(c.Fragment,null,c.createElement(pr,O({},n,i,{ref:St(a,o),to:e,"data-discover":ke(t,l,n.reloadDocument)})),s&&!l?c.createElement(Ne,{page:u}):null)});Dn.displayName="NavLink";let kn=c.forwardRef(({to:e,prefetch:r="none",discover:t="render",...n},a)=>{let l=typeof e=="string"&&De.test(e),u=Re(e),[s,o,i]=Et(r,n);return c.createElement(c.Fragment,null,c.createElement(tt,O({},n,i,{ref:St(a,o),to:e,"data-discover":ke(t,l,n.reloadDocument)})),s&&!l?c.createElement(Ne,{page:u}):null)});kn.displayName="Link";let An=c.forwardRef(({discover:e="render",...r},t)=>{let n=typeof r.action=="string"&&De.test(r.action);return c.createElement(vr,O({},r,{ref:t,"data-discover":ke(e,n,r.reloadDocument)}))});An.displayName="Form";function M(e,r){return t=>{e&&e(t),t.defaultPrevented||r(t)}}function Ae(e,r,t){if(t&&!Z)return[e[0]];if(r){let n=e.findIndex(a=>r[a.route.id]!==void 0);return e.slice(0,n+1)}return e}function qn(){let{isSpaMode:e,manifest:r,routeModules:t,criticalCss:n}=$(),{errors:a,matches:l}=oe(),u=Ae(l,a,e),s=c.useMemo(()=>Xr(u,t,r),[u,t,r]);return c.createElement(c.Fragment,null,n?c.createElement("style",{dangerouslySetInnerHTML:{__html:n}}):null,s.map(({key:o,link:i})=>_e(i)?c.createElement(Ne,O({key:o},i)):c.createElement("link",O({key:o},i))))}function Ne({page:e,...r}){let{router:t}=gt(),n=c.useMemo(()=>Qe(t.routes,e,t.basename),[t.routes,e,t.basename]);return n?c.createElement(In,O({page:e,matches:n},r)):(console.warn(`Tried to prefetch ${e} but no routes matched.`),null)}function Nn(e){let{manifest:r,routeModules:t}=$(),[n,a]=c.useState([]);return c.useEffect(()=>{let l=!1;return Gr(e,r,t).then(u=>{l||a(u)}),()=>{l=!0}},[e,r,t]),n}function In({page:e,matches:r,...t}){let n=j(),{future:a,manifest:l,routeModules:u}=$(),{loaderData:s,matches:o}=oe(),i=c.useMemo(()=>ze(e,r,o,l,n,a,"data"),[e,r,o,l,n,a]),f=c.useMemo(()=>{if(!a.v3_singleFetch)return Zr(e,i,l);if(e===n.pathname+n.search+n.hash)return[];let m=new Set,v=!1;if(r.forEach(R=>{var w;l.routes[R.route.id].hasLoader&&(!i.some(E=>E.route.id===R.route.id)&&R.route.id in s&&(w=u[R.route.id])!==null&&w!==void 0&&w.shouldRevalidate||l.routes[R.route.id].hasClientLoader?v=!0:m.add(R.route.id))}),m.size===0)return[];let S=ie(e);return v&&m.size>0&&S.searchParams.set("_routes",r.filter(R=>m.has(R.route.id)).map(R=>R.route.id).join(",")),[S.pathname+S.search]},[a.v3_singleFetch,s,n,l,i,r,e,u]),d=c.useMemo(()=>ze(e,r,o,l,n,a,"assets"),[e,r,o,l,n,a]),h=c.useMemo(()=>Qr(d,l),[d,l]),y=Nn(d);return c.createElement(c.Fragment,null,f.map(m=>c.createElement("link",O({key:m,rel:"prefetch",as:"fetch",href:m},t))),h.map(m=>c.createElement("link",O({key:m,rel:"modulepreload",href:m},t))),y.map(({key:m,link:v})=>c.createElement("link",O({key:m},v))))}
144function ea(){let{isSpaMode:e,routeModules:r}=$(),{errors:t,matches:n,loaderData:a}=oe(),l=j(),u=Ae(n,t,e),s=null;t&&(s=t[u[u.length-1].route.id]);let o=[],i=null,f=[];for(let d=0;d<u.length;d++){let h=u[d],y=h.route.id,m=a[y],v=h.params,S=r[y],R=[],w={id:y,data:m,meta:[],params:h.params,pathname:h.pathname,handle:h.route.handle,error:s};if(f[d]=w,S!=null&&S.meta?R=typeof S.meta=="function"?S.meta({data:m,params:v,location:l,matches:f,error:s}):Array.isArray(S.meta)?[...S.meta]:S.meta:i&&(R=[...i]),R=R||[],!Array.isArray(R))throw new Error("The route at "+h.route.path+` returns an invalid value. All route meta functions must return an array of meta objects. 145 146To reference the meta function API, see https://remix.run/route/meta`);w.meta=R,f[d]=w,o=[...R],i=o}return c.createElement(c.Fragment,null,o.flat().map(d=>{if(!d)return null;if("tagName"in d){let{tagName:h,...y}=d;if(!Fn(h))return console.warn(`A meta object uses an invalid tagName: ${h}. Expected either 'link' or 'meta'`),null;let m=h;return c.createElement(m,O({key:JSON.stringify(y)},y))}if("title"in d)return c.createElement("title",{key:"title"},String(d.title));if("charset"in d&&(d.charSet??(d.charSet=d.charset),delete d.charset),"charSet"in d&&d.charSet!=null)return typeof d.charSet=="string"?c.createElement("meta",{key:"charSet",charSet:d.charSet}):null;if("script:ld+json"in d)try{let h=JSON.stringify(d["script:ld+json"]);return c.createElement("script",{key:`script:ld+json:${h}`,type:"application/ld+json",dangerouslySetInnerHTML:{__html:H(h)}})}catch{return null}return c.createElement("meta",O({key:JSON.stringify(d)},d))}))}function Fn(e){return typeof e=="string"&&/^(meta|link)$/.test(e)}function jn(e){return c.createElement(Ut,e)}let Z=!1;function $n(e){let{manifest:r,serverHandoffString:t,abortDelay:n,serializeError:a,isSpaMode:l,future:u,renderMeta:s}=$(),{router:o,static:i,staticContext:f}=gt(),{matches:d}=oe(),h=Ce(u,l);s&&(s.didRenderScripts=!0);let y=Ae(d,null,l);c.useEffect(()=>{Z=!0},[]);let m=(g,_)=>{let b;return a&&_ instanceof Error?b=a(_):b=_,`${JSON.stringify(g)}:__remixContext.p(!1, ${H(JSON.stringify(b))})`},v=(g,_,b)=>{let L;try{L=JSON.stringify(b)}catch(T){return m(_,T)}return`${JSON.stringify(_)}:__remixContext.p(${H(L)})`},S=(g,_,b)=>{let L;return a&&b instanceof Error?L=a(b):L=b,`__remixContext.r(${JSON.stringify(g)}, ${JSON.stringify(_)}, !1, ${H(JSON.stringify(L))})`},R=(g,_,b)=>{let L;try{L=JSON.stringify(b)}catch(T){return S(g,_,T)}return`__remixContext.r(${JSON.stringify(g)}, ${JSON.stringify(_)}, ${H(L)})`},w=[],E=c.useMemo(()=>{var g;let _=u.v3_singleFetch?"window.__remixContext.stream = new ReadableStream({start(controller){window.__remixContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());":"",b=f?`window.__remixContext = ${t};${_}`:" ",L=u.v3_singleFetch||f==null?void 0:f.activeDeferreds;b+=L?["__remixContext.p = function(v,e,p,x) {"," if (typeof e !== 'undefined') {",` x=new Error("Unexpected Server Error"); 147 x.stack=undefined;`," p=Promise.reject(x);"," } else {"," p=Promise.resolve(v);"," }"," return p;","};","__remixContext.n = function(i,k) {"," __remixContext.t = __remixContext.t || {};"," __remixContext.t[i] = __remixContext.t[i] || {};"," let p = new Promise((r, e) => {__remixContext.t[i][k] = {r:(v)=>{r(v);},e:(v)=>{e(v);}};});",typeof n=="number"?`setTimeout(() => {if(typeof p._error !== "undefined" || typeof p._data !== "undefined"){return;} __remixContext.t[i][k].e(new Error("Server timeout."))}, ${n});`:""," return p;","};","__remixContext.r = function(i,k,v,e,p,x) {"," p = __remixContext.t[i][k];"," if (typeof e !== 'undefined') {",` x=new Error("Unexpected Server Error"); 148 x.stack=undefined;`," p.e(x);"," } else {"," p.r(v);"," }","};"].join(` 149`)+Object.entries(L).map(([D,P])=>{let le=new Set(P.pendingKeys),A=P.deferredKeys.map(k=>{if(le.has(k))return w.push(c.createElement(Xe,{key:`${D} | ${k}`,deferredData:P,routeId:D,dataKey:k,scriptProps:e,serializeData:R,serializeError:S})),`${JSON.stringify(k)}:__remixContext.n(${JSON.stringify(D)}, ${JSON.stringify(k)})`;{let se=P.data[k];return typeof se._error<"u"?m(k,se._error):v(D,k,se._data)}}).join(`, 150`);return`Object.assign(__remixContext.state.loaderData[${JSON.stringify(D)}], {${A}});`}).join(` 151`)+(w.length>0?`__remixContext.a=${w.length};`:""):"";let T=i?`${(g=r.hmr)!==null&&g!==void 0&&g.runtime?`import ${JSON.stringify(r.hmr.runtime)};`:""}${h?"":`import ${JSON.stringify(r.url)}`}; 152${y.map((D,P)=>`import * as route${P} from ${JSON.stringify(r.routes[D.route.id].module)};`).join(` 153`)} 154${h?`window.__remixManifest = ${JSON.stringify(On(r,o),null,2)};`:""} 155window.__remixRouteModules = {${y.map((D,P)=>`${JSON.stringify(D.route.id)}:route${P}`).join(",")}}; 156 157import(${JSON.stringify(r.entry.module)});`:" ";return c.createElement(c.Fragment,null,c.createElement("script",O({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Be(b),type:void 0})),c.createElement("script",O({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Be(T),type:"module",async:!0})))},[]);if(!i&&typeof __remixContext=="object"&&__remixContext.a)for(let g=0;g<__remixContext.a;g++)w.push(c.createElement(Xe,{key:g,scriptProps:e,serializeData:R,serializeError:S}));let p=y.map(g=>{let _=r.routes[g.route.id];return(_.imports||[]).concat([_.module])}).flat(1),x=Z?[]:r.entry.imports.concat(p);
157return Z?null:c.createElement(c.Fragment,null,h?null:c.createElement("link",{rel:"modulepreload",href:r.url,crossOrigin:e.crossOrigin}),c.createElement("link",{rel:"modulepreload",href:r.entry.module,crossOrigin:e.crossOrigin}),Mn(x).map(g=>c.createElement("link",{key:g,rel:"modulepreload",href:g,crossOrigin:e.crossOrigin})),E,w)}function Xe({dataKey:e,deferredData:r,routeId:t,scriptProps:n,serializeData:a,serializeError:l}){return typeof document>"u"&&r&&e&&t&&N(r.pendingKeys.includes(e),`Deferred data for route ${t} with key ${e} was not pending but tried to render a script for it.`),c.createElement(c.Suspense,{fallback:typeof document>"u"&&r&&e&&t?null:c.createElement("script",O({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}}))},typeof document>"u"&&r&&e&&t?c.createElement(jn,{resolve:r.data[e],errorElement:c.createElement(Un,{dataKey:e,routeId:t,scriptProps:n,serializeError:l}),children:u=>c.createElement("script",O({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:a(t,e,u)}}))}):c.createElement("script",O({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}})))}function Un({dataKey:e,routeId:r,scriptProps:t,serializeError:n}){let a=Mt();return c.createElement("script",O({},t,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:n(r,e,a)}}))}function Mn(e){return[...new Set(e)]}function ta(){return We()}function ra(){return Ht()}function na(e){return zt(e)}function St(...e){return r=>{e.forEach(t=>{typeof t=="function"?t(r):t!=null&&(t.current=r)})}}export{kn as L,ea as M,Vt as R,$n as S,O as _,Xn as a,na as b,Yn as c,$ as d,Vn as e,H as f,qn as g,Yt as h,N as i,vn as j,Pe as k,Zn as l,Kn as m,Gn as n,Qn as o,wt as p,Wn as q,qe as r,_n as s,Jn as t,ra as u,ta as v};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.