@ipv9/tokentracker-cli 0.39.51 → 0.39.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -14
- package/dashboard/dist/assets/{Card-B8V3fjn0.js → Card-CEz9362Q.js} +1 -1
- package/dashboard/dist/assets/DashboardPage-BEzDx9x_.js +60 -0
- package/dashboard/dist/assets/{IpCheckPage-CiTeykAr.js → IpCheckPage-COYl0L0c.js} +1 -1
- package/dashboard/dist/assets/LimitsPage-CxKP9yCf.js +2 -0
- package/dashboard/dist/assets/LocalOnlyNotice-mkvVeaxU.js +1 -0
- package/dashboard/dist/assets/PopoverPopup-CcXnjekJ.js +1 -0
- package/dashboard/dist/assets/Select-DfLcXuzD.js +1 -0
- package/dashboard/dist/assets/SettingsPage-BKATdxHm.js +1 -0
- package/dashboard/dist/assets/SkillsPage-BCS1cw7N.js +1 -0
- package/dashboard/dist/assets/{WrappedPage-TYb3h53L.js → WrappedPage-BZMXgdYx.js} +1 -1
- package/dashboard/dist/assets/{format-RxRKEKOo.js → format-DXnZAXRS.js} +1 -1
- package/dashboard/dist/assets/limitDisplay-Dkfaklpc.js +1 -0
- package/dashboard/dist/assets/main-C7rJ1TVR.css +1 -0
- package/dashboard/dist/assets/main-Dft1sGV7.js +610 -0
- package/dashboard/dist/assets/{mock-data-BSY76wog.js → mock-data-u9UDfqcX.js} +1 -1
- package/dashboard/dist/assets/use-limits-display-prefs-Nj1Nil2m.js +1 -0
- package/dashboard/dist/assets/useCurrency-BxAIQJRl.js +12 -0
- package/dashboard/dist/index.html +2 -18
- package/package.json +2 -4
- package/src/cli.js +1 -1
- package/src/commands/sync.js +4 -0
- package/src/lib/local-api.js +35 -10
- package/src/lib/pricing/seed-snapshot.json +1 -1
- package/src/lib/rollout.js +429 -27
- package/dashboard/dist/assets/DashboardPage-CY-J38sv.js +0 -60
- package/dashboard/dist/assets/FadeIn-CHDoW7U_.js +0 -1
- package/dashboard/dist/assets/LimitsPage-CeL9bJnV.js +0 -2
- package/dashboard/dist/assets/LocalOnlyNotice-Ci694JEz.js +0 -1
- package/dashboard/dist/assets/PopoverPopup-DuOdVhwr.js +0 -1
- package/dashboard/dist/assets/Select-CmEJ1f4r.js +0 -1
- package/dashboard/dist/assets/SelectItemText-DLwQC1NR.js +0 -12
- package/dashboard/dist/assets/SettingsPage-BY-B7Zy8.js +0 -1
- package/dashboard/dist/assets/SkillsPage-Cf3XZg8f.js +0 -1
- package/dashboard/dist/assets/WidgetsPage-DfOgT6--.js +0 -1
- package/dashboard/dist/assets/arrow-up-right-B03PmH0J.js +0 -1
- package/dashboard/dist/assets/download-B8nNpP2e.js +0 -1
- package/dashboard/dist/assets/limitDisplay-DD9iY3bZ.js +0 -1
- package/dashboard/dist/assets/main-BHmaQn5s.js +0 -700
- package/dashboard/dist/assets/main-t7dbBL4x.css +0 -1
- package/dashboard/dist/assets/use-limits-display-prefs-E_33VGNk.js +0 -1
- package/dashboard/dist/assets/use-native-settings-Jtj00HqH.js +0 -1
- package/dashboard/dist/assets/useCurrency-BjqazQG7.js +0 -1
|
@@ -0,0 +1,610 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/LimitsPage-CxKP9yCf.js","assets/limitDisplay-Dkfaklpc.js","assets/mock-data-u9UDfqcX.js","assets/format-DXnZAXRS.js","assets/use-limits-display-prefs-Nj1Nil2m.js","assets/Card-CEz9362Q.js","assets/LocalOnlyNotice-mkvVeaxU.js","assets/DashboardPage-BEzDx9x_.js","assets/useCurrency-BxAIQJRl.js","assets/PopoverPopup-CcXnjekJ.js","assets/Select-DfLcXuzD.js","assets/WrappedPage-BZMXgdYx.js","assets/SettingsPage-BKATdxHm.js","assets/SkillsPage-BCS1cw7N.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
function F_(e,t){for(var a=0;a<t.length;a++){const i=t[a];if(typeof i!="string"&&!Array.isArray(i)){for(const s in i)if(s!=="default"&&!(s in e)){const c=Object.getOwnPropertyDescriptor(i,s);c&&Object.defineProperty(e,s,c.get?c:{enumerable:!0,get:()=>i[s]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const c of s)if(c.type==="childList")for(const u of c.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&i(u)}).observe(document,{childList:!0,subtree:!0});function a(s){const c={};return s.integrity&&(c.integrity=s.integrity),s.referrerPolicy&&(c.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?c.credentials="include":s.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function i(s){if(s.ep)return;s.ep=!0;const c=a(s);fetch(s.href,c)}})();function U_(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Yu={exports:{}},yo={},Xu={exports:{}},Ve={};var Xm;function B_(){if(Xm)return Ve;Xm=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),u=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),v=Symbol.iterator;function y(E){return E===null||typeof E!="object"?null:(E=v&&E[v]||E["@@iterator"],typeof E=="function"?E:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,P={};function S(E,W,de){this.props=E,this.context=W,this.refs=P,this.updater=de||w}S.prototype.isReactComponent={},S.prototype.setState=function(E,W){if(typeof E!="object"&&typeof E!="function"&&E!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,E,W,"setState")},S.prototype.forceUpdate=function(E){this.updater.enqueueForceUpdate(this,E,"forceUpdate")};function N(){}N.prototype=S.prototype;function j(E,W,de){this.props=E,this.context=W,this.refs=P,this.updater=de||w}var M=j.prototype=new N;M.constructor=j,_(M,S.prototype),M.isPureReactComponent=!0;var D=Array.isArray,B=Object.prototype.hasOwnProperty,Z={current:null},oe={key:!0,ref:!0,__self:!0,__source:!0};function x(E,W,de){var fe,he={},pe=null,De=null;if(W!=null)for(fe in W.ref!==void 0&&(De=W.ref),W.key!==void 0&&(pe=""+W.key),W)B.call(W,fe)&&!oe.hasOwnProperty(fe)&&(he[fe]=W[fe]);var je=arguments.length-2;if(je===1)he.children=de;else if(1<je){for(var Ce=Array(je),ut=0;ut<je;ut++)Ce[ut]=arguments[ut+2];he.children=Ce}if(E&&E.defaultProps)for(fe in je=E.defaultProps,je)he[fe]===void 0&&(he[fe]=je[fe]);return{$$typeof:e,type:E,key:pe,ref:De,props:he,_owner:Z.current}}function ee(E,W){return{$$typeof:e,type:E.type,key:W,ref:E.ref,props:E.props,_owner:E._owner}}function Y(E){return typeof E=="object"&&E!==null&&E.$$typeof===e}function ue(E){var W={"=":"=0",":":"=2"};return"$"+E.replace(/[=:]/g,function(de){return W[de]})}var se=/\/+/g;function q(E,W){return typeof E=="object"&&E!==null&&E.key!=null?ue(""+E.key):W.toString(36)}function ae(E,W,de,fe,he){var pe=typeof E;(pe==="undefined"||pe==="boolean")&&(E=null);var De=!1;if(E===null)De=!0;else switch(pe){case"string":case"number":De=!0;break;case"object":switch(E.$$typeof){case e:case t:De=!0}}if(De)return De=E,he=he(De),E=fe===""?"."+q(De,0):fe,D(he)?(de="",E!=null&&(de=E.replace(se,"$&/")+"/"),ae(he,W,de,"",function(ut){return ut})):he!=null&&(Y(he)&&(he=ee(he,de+(!he.key||De&&De.key===he.key?"":(""+he.key).replace(se,"$&/")+"/")+E)),W.push(he)),1;if(De=0,fe=fe===""?".":fe+":",D(E))for(var je=0;je<E.length;je++){pe=E[je];var Ce=fe+q(pe,je);De+=ae(pe,W,de,Ce,he)}else if(Ce=y(E),typeof Ce=="function")for(E=Ce.call(E),je=0;!(pe=E.next()).done;)pe=pe.value,Ce=fe+q(pe,je++),De+=ae(pe,W,de,Ce,he);else if(pe==="object")throw W=String(E),Error("Objects are not valid as a React child (found: "+(W==="[object Object]"?"object with keys {"+Object.keys(E).join(", ")+"}":W)+"). If you meant to render a collection of children, use an array instead.");return De}function ie(E,W,de){if(E==null)return E;var fe=[],he=0;return ae(E,fe,"","",function(pe){return W.call(de,pe,he++)}),fe}function Q(E){if(E._status===-1){var W=E._result;W=W(),W.then(function(de){(E._status===0||E._status===-1)&&(E._status=1,E._result=de)},function(de){(E._status===0||E._status===-1)&&(E._status=2,E._result=de)}),E._status===-1&&(E._status=0,E._result=W)}if(E._status===1)return E._result.default;throw E._result}var ne={current:null},V={transition:null},$={ReactCurrentDispatcher:ne,ReactCurrentBatchConfig:V,ReactCurrentOwner:Z};function O(){throw Error("act(...) is not supported in production builds of React.")}return Ve.Children={map:ie,forEach:function(E,W,de){ie(E,function(){W.apply(this,arguments)},de)},count:function(E){var W=0;return ie(E,function(){W++}),W},toArray:function(E){return ie(E,function(W){return W})||[]},only:function(E){if(!Y(E))throw Error("React.Children.only expected to receive a single React element child.");return E}},Ve.Component=S,Ve.Fragment=a,Ve.Profiler=s,Ve.PureComponent=j,Ve.StrictMode=i,Ve.Suspense=f,Ve.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=$,Ve.act=O,Ve.cloneElement=function(E,W,de){if(E==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+E+".");var fe=_({},E.props),he=E.key,pe=E.ref,De=E._owner;if(W!=null){if(W.ref!==void 0&&(pe=W.ref,De=Z.current),W.key!==void 0&&(he=""+W.key),E.type&&E.type.defaultProps)var je=E.type.defaultProps;for(Ce in W)B.call(W,Ce)&&!oe.hasOwnProperty(Ce)&&(fe[Ce]=W[Ce]===void 0&&je!==void 0?je[Ce]:W[Ce])}var Ce=arguments.length-2;if(Ce===1)fe.children=de;else if(1<Ce){je=Array(Ce);for(var ut=0;ut<Ce;ut++)je[ut]=arguments[ut+2];fe.children=je}return{$$typeof:e,type:E.type,key:he,ref:pe,props:fe,_owner:De}},Ve.createContext=function(E){return E={$$typeof:u,_currentValue:E,_currentValue2:E,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},E.Provider={$$typeof:c,_context:E},E.Consumer=E},Ve.createElement=x,Ve.createFactory=function(E){var W=x.bind(null,E);return W.type=E,W},Ve.createRef=function(){return{current:null}},Ve.forwardRef=function(E){return{$$typeof:d,render:E}},Ve.isValidElement=Y,Ve.lazy=function(E){return{$$typeof:g,_payload:{_status:-1,_result:E},_init:Q}},Ve.memo=function(E,W){return{$$typeof:p,type:E,compare:W===void 0?null:W}},Ve.startTransition=function(E){var W=V.transition;V.transition={};try{E()}finally{V.transition=W}},Ve.unstable_act=O,Ve.useCallback=function(E,W){return ne.current.useCallback(E,W)},Ve.useContext=function(E){return ne.current.useContext(E)},Ve.useDebugValue=function(){},Ve.useDeferredValue=function(E){return ne.current.useDeferredValue(E)},Ve.useEffect=function(E,W){return ne.current.useEffect(E,W)},Ve.useId=function(){return ne.current.useId()},Ve.useImperativeHandle=function(E,W,de){return ne.current.useImperativeHandle(E,W,de)},Ve.useInsertionEffect=function(E,W){return ne.current.useInsertionEffect(E,W)},Ve.useLayoutEffect=function(E,W){return ne.current.useLayoutEffect(E,W)},Ve.useMemo=function(E,W){return ne.current.useMemo(E,W)},Ve.useReducer=function(E,W,de){return ne.current.useReducer(E,W,de)},Ve.useRef=function(E){return ne.current.useRef(E)},Ve.useState=function(E){return ne.current.useState(E)},Ve.useSyncExternalStore=function(E,W,de){return ne.current.useSyncExternalStore(E,W,de)},Ve.useTransition=function(){return ne.current.useTransition()},Ve.version="18.3.1",Ve}var Zm;function vh(){return Zm||(Zm=1,Xu.exports=B_()),Xu.exports}var qm;function H_(){if(qm)return yo;qm=1;var e=vh(),t=Symbol.for("react.element"),a=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,s=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c={key:!0,ref:!0,__self:!0,__source:!0};function u(d,f,p){var g,v={},y=null,w=null;p!==void 0&&(y=""+p),f.key!==void 0&&(y=""+f.key),f.ref!==void 0&&(w=f.ref);for(g in f)i.call(f,g)&&!c.hasOwnProperty(g)&&(v[g]=f[g]);if(d&&d.defaultProps)for(g in f=d.defaultProps,f)v[g]===void 0&&(v[g]=f[g]);return{$$typeof:t,type:d,key:y,ref:w,props:v,_owner:s.current}}return yo.Fragment=a,yo.jsx=u,yo.jsxs=u,yo}var Qm;function $_(){return Qm||(Qm=1,Yu.exports=H_()),Yu.exports}var L=$_(),b=vh();const yh=U_(b),kh=F_({__proto__:null,default:yh},[b]);var hl={},Zu={exports:{}},nn={},qu={exports:{}},Qu={};var Jm;function W_(){return Jm||(Jm=1,(function(e){function t(V,$){var O=V.length;V.push($);e:for(;0<O;){var E=O-1>>>1,W=V[E];if(0<s(W,$))V[E]=$,V[O]=W,O=E;else break e}}function a(V){return V.length===0?null:V[0]}function i(V){if(V.length===0)return null;var $=V[0],O=V.pop();if(O!==$){V[0]=O;e:for(var E=0,W=V.length,de=W>>>1;E<de;){var fe=2*(E+1)-1,he=V[fe],pe=fe+1,De=V[pe];if(0>s(he,O))pe<W&&0>s(De,he)?(V[E]=De,V[pe]=O,E=pe):(V[E]=he,V[fe]=O,E=fe);else if(pe<W&&0>s(De,O))V[E]=De,V[pe]=O,E=pe;else break e}}return $}function s(V,$){var O=V.sortIndex-$.sortIndex;return O!==0?O:V.id-$.id}if(typeof performance=="object"&&typeof performance.now=="function"){var c=performance;e.unstable_now=function(){return c.now()}}else{var u=Date,d=u.now();e.unstable_now=function(){return u.now()-d}}var f=[],p=[],g=1,v=null,y=3,w=!1,_=!1,P=!1,S=typeof setTimeout=="function"?setTimeout:null,N=typeof clearTimeout=="function"?clearTimeout:null,j=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function M(V){for(var $=a(p);$!==null;){if($.callback===null)i(p);else if($.startTime<=V)i(p),$.sortIndex=$.expirationTime,t(f,$);else break;$=a(p)}}function D(V){if(P=!1,M(V),!_)if(a(f)!==null)_=!0,Q(B);else{var $=a(p);$!==null&&ne(D,$.startTime-V)}}function B(V,$){_=!1,P&&(P=!1,N(x),x=-1),w=!0;var O=y;try{for(M($),v=a(f);v!==null&&(!(v.expirationTime>$)||V&&!ue());){var E=v.callback;if(typeof E=="function"){v.callback=null,y=v.priorityLevel;var W=E(v.expirationTime<=$);$=e.unstable_now(),typeof W=="function"?v.callback=W:v===a(f)&&i(f),M($)}else i(f);v=a(f)}if(v!==null)var de=!0;else{var fe=a(p);fe!==null&&ne(D,fe.startTime-$),de=!1}return de}finally{v=null,y=O,w=!1}}var Z=!1,oe=null,x=-1,ee=5,Y=-1;function ue(){return!(e.unstable_now()-Y<ee)}function se(){if(oe!==null){var V=e.unstable_now();Y=V;var $=!0;try{$=oe(!0,V)}finally{$?q():(Z=!1,oe=null)}}else Z=!1}var q;if(typeof j=="function")q=function(){j(se)};else if(typeof MessageChannel<"u"){var ae=new MessageChannel,ie=ae.port2;ae.port1.onmessage=se,q=function(){ie.postMessage(null)}}else q=function(){S(se,0)};function Q(V){oe=V,Z||(Z=!0,q())}function ne(V,$){x=S(function(){V(e.unstable_now())},$)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(V){V.callback=null},e.unstable_continueExecution=function(){_||w||(_=!0,Q(B))},e.unstable_forceFrameRate=function(V){0>V||125<V?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):ee=0<V?Math.floor(1e3/V):5},e.unstable_getCurrentPriorityLevel=function(){return y},e.unstable_getFirstCallbackNode=function(){return a(f)},e.unstable_next=function(V){switch(y){case 1:case 2:case 3:var $=3;break;default:$=y}var O=y;y=$;try{return V()}finally{y=O}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(V,$){switch(V){case 1:case 2:case 3:case 4:case 5:break;default:V=3}var O=y;y=V;try{return $()}finally{y=O}},e.unstable_scheduleCallback=function(V,$,O){var E=e.unstable_now();switch(typeof O=="object"&&O!==null?(O=O.delay,O=typeof O=="number"&&0<O?E+O:E):O=E,V){case 1:var W=-1;break;case 2:W=250;break;case 5:W=1073741823;break;case 4:W=1e4;break;default:W=5e3}return W=O+W,V={id:g++,callback:$,priorityLevel:V,startTime:O,expirationTime:W,sortIndex:-1},O>E?(V.sortIndex=O,t(p,V),a(f)===null&&V===a(p)&&(P?(N(x),x=-1):P=!0,ne(D,O-E))):(V.sortIndex=W,t(f,V),_||w||(_=!0,Q(B))),V},e.unstable_shouldYield=ue,e.unstable_wrapCallback=function(V){var $=y;return function(){var O=y;y=$;try{return V.apply(this,arguments)}finally{y=O}}}})(Qu)),Qu}var eg;function G_(){return eg||(eg=1,qu.exports=W_()),qu.exports}var tg;function K_(){if(tg)return nn;tg=1;var e=vh(),t=G_();function a(n){for(var r="https://reactjs.org/docs/error-decoder.html?invariant="+n,o=1;o<arguments.length;o++)r+="&args[]="+encodeURIComponent(arguments[o]);return"Minified React error #"+n+"; visit "+r+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,s={};function c(n,r){u(n,r),u(n+"Capture",r)}function u(n,r){for(s[n]=r,n=0;n<r.length;n++)i.add(r[n])}var d=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),f=Object.prototype.hasOwnProperty,p=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,g={},v={};function y(n){return f.call(v,n)?!0:f.call(g,n)?!1:p.test(n)?v[n]=!0:(g[n]=!0,!1)}function w(n,r,o,l){if(o!==null&&o.type===0)return!1;switch(typeof r){case"function":case"symbol":return!0;case"boolean":return l?!1:o!==null?!o.acceptsBooleans:(n=n.toLowerCase().slice(0,5),n!=="data-"&&n!=="aria-");default:return!1}}function _(n,r,o,l){if(r===null||typeof r>"u"||w(n,r,o,l))return!0;if(l)return!1;if(o!==null)switch(o.type){case 3:return!r;case 4:return r===!1;case 5:return isNaN(r);case 6:return isNaN(r)||1>r}return!1}function P(n,r,o,l,h,m,k){this.acceptsBooleans=r===2||r===3||r===4,this.attributeName=l,this.attributeNamespace=h,this.mustUseProperty=o,this.propertyName=n,this.type=r,this.sanitizeURL=m,this.removeEmptyString=k}var S={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){S[n]=new P(n,0,!1,n,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var r=n[0];S[r]=new P(r,1,!1,n[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(n){S[n]=new P(n,2,!1,n.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){S[n]=new P(n,2,!1,n,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(n){S[n]=new P(n,3,!1,n.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(n){S[n]=new P(n,3,!0,n,null,!1,!1)}),["capture","download"].forEach(function(n){S[n]=new P(n,4,!1,n,null,!1,!1)}),["cols","rows","size","span"].forEach(function(n){S[n]=new P(n,6,!1,n,null,!1,!1)}),["rowSpan","start"].forEach(function(n){S[n]=new P(n,5,!1,n.toLowerCase(),null,!1,!1)});var N=/[\-:]([a-z])/g;function j(n){return n[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(n){var r=n.replace(N,j);S[r]=new P(r,1,!1,n,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(n){var r=n.replace(N,j);S[r]=new P(r,1,!1,n,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(n){var r=n.replace(N,j);S[r]=new P(r,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(n){S[n]=new P(n,1,!1,n.toLowerCase(),null,!1,!1)}),S.xlinkHref=new P("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(n){S[n]=new P(n,1,!1,n.toLowerCase(),null,!0,!0)});function M(n,r,o,l){var h=S.hasOwnProperty(r)?S[r]:null;(h!==null?h.type!==0:l||!(2<r.length)||r[0]!=="o"&&r[0]!=="O"||r[1]!=="n"&&r[1]!=="N")&&(_(r,o,h,l)&&(o=null),l||h===null?y(r)&&(o===null?n.removeAttribute(r):n.setAttribute(r,""+o)):h.mustUseProperty?n[h.propertyName]=o===null?h.type===3?!1:"":o:(r=h.attributeName,l=h.attributeNamespace,o===null?n.removeAttribute(r):(h=h.type,o=h===3||h===4&&o===!0?"":""+o,l?n.setAttributeNS(l,r,o):n.setAttribute(r,o))))}var D=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,B=Symbol.for("react.element"),Z=Symbol.for("react.portal"),oe=Symbol.for("react.fragment"),x=Symbol.for("react.strict_mode"),ee=Symbol.for("react.profiler"),Y=Symbol.for("react.provider"),ue=Symbol.for("react.context"),se=Symbol.for("react.forward_ref"),q=Symbol.for("react.suspense"),ae=Symbol.for("react.suspense_list"),ie=Symbol.for("react.memo"),Q=Symbol.for("react.lazy"),ne=Symbol.for("react.offscreen"),V=Symbol.iterator;function $(n){return n===null||typeof n!="object"?null:(n=V&&n[V]||n["@@iterator"],typeof n=="function"?n:null)}var O=Object.assign,E;function W(n){if(E===void 0)try{throw Error()}catch(o){var r=o.stack.trim().match(/\n( *(at )?)/);E=r&&r[1]||""}return`
|
|
3
|
+
`+E+n}var de=!1;function fe(n,r){if(!n||de)return"";de=!0;var o=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(r)if(r=function(){throw Error()},Object.defineProperty(r.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(r,[])}catch(H){var l=H}Reflect.construct(n,[],r)}else{try{r.call()}catch(H){l=H}n.call(r.prototype)}else{try{throw Error()}catch(H){l=H}n()}}catch(H){if(H&&l&&typeof H.stack=="string"){for(var h=H.stack.split(`
|
|
4
|
+
`),m=l.stack.split(`
|
|
5
|
+
`),k=h.length-1,C=m.length-1;1<=k&&0<=C&&h[k]!==m[C];)C--;for(;1<=k&&0<=C;k--,C--)if(h[k]!==m[C]){if(k!==1||C!==1)do if(k--,C--,0>C||h[k]!==m[C]){var R=`
|
|
6
|
+
`+h[k].replace(" at new "," at ");return n.displayName&&R.includes("<anonymous>")&&(R=R.replace("<anonymous>",n.displayName)),R}while(1<=k&&0<=C);break}}}finally{de=!1,Error.prepareStackTrace=o}return(n=n?n.displayName||n.name:"")?W(n):""}function he(n){switch(n.tag){case 5:return W(n.type);case 16:return W("Lazy");case 13:return W("Suspense");case 19:return W("SuspenseList");case 0:case 2:case 15:return n=fe(n.type,!1),n;case 11:return n=fe(n.type.render,!1),n;case 1:return n=fe(n.type,!0),n;default:return""}}function pe(n){if(n==null)return null;if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case oe:return"Fragment";case Z:return"Portal";case ee:return"Profiler";case x:return"StrictMode";case q:return"Suspense";case ae:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case ue:return(n.displayName||"Context")+".Consumer";case Y:return(n._context.displayName||"Context")+".Provider";case se:var r=n.render;return n=n.displayName,n||(n=r.displayName||r.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case ie:return r=n.displayName||null,r!==null?r:pe(n.type)||"Memo";case Q:r=n._payload,n=n._init;try{return pe(n(r))}catch{}}return null}function De(n){var r=n.type;switch(n.tag){case 24:return"Cache";case 9:return(r.displayName||"Context")+".Consumer";case 10:return(r._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return n=r.render,n=n.displayName||n.name||"",r.displayName||(n!==""?"ForwardRef("+n+")":"ForwardRef");case 7:return"Fragment";case 5:return r;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return pe(r);case 8:return r===x?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof r=="function")return r.displayName||r.name||null;if(typeof r=="string")return r}return null}function je(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function Ce(n){var r=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(r==="checkbox"||r==="radio")}function ut(n){var r=Ce(n)?"checked":"value",o=Object.getOwnPropertyDescriptor(n.constructor.prototype,r),l=""+n[r];if(!n.hasOwnProperty(r)&&typeof o<"u"&&typeof o.get=="function"&&typeof o.set=="function"){var h=o.get,m=o.set;return Object.defineProperty(n,r,{configurable:!0,get:function(){return h.call(this)},set:function(k){l=""+k,m.call(this,k)}}),Object.defineProperty(n,r,{enumerable:o.enumerable}),{getValue:function(){return l},setValue:function(k){l=""+k},stopTracking:function(){n._valueTracker=null,delete n[r]}}}}function an(n){n._valueTracker||(n._valueTracker=ut(n))}function Xt(n){if(!n)return!1;var r=n._valueTracker;if(!r)return!0;var o=r.getValue(),l="";return n&&(l=Ce(n)?n.checked?"true":"false":n.value),n=l,n!==o?(r.setValue(n),!0):!1}function qe(n){if(n=n||(typeof document<"u"?document:void 0),typeof n>"u")return null;try{return n.activeElement||n.body}catch{return n.body}}function Et(n,r){var o=r.checked;return O({},r,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:o??n._wrapperState.initialChecked})}function la(n,r){var o=r.defaultValue==null?"":r.defaultValue,l=r.checked!=null?r.checked:r.defaultChecked;o=je(r.value!=null?r.value:o),n._wrapperState={initialChecked:l,initialValue:o,controlled:r.type==="checkbox"||r.type==="radio"?r.checked!=null:r.value!=null}}function Ba(n,r){r=r.checked,r!=null&&M(n,"checked",r,!1)}function on(n,r){Ba(n,r);var o=je(r.value),l=r.type;if(o!=null)l==="number"?(o===0&&n.value===""||n.value!=o)&&(n.value=""+o):n.value!==""+o&&(n.value=""+o);else if(l==="submit"||l==="reset"){n.removeAttribute("value");return}r.hasOwnProperty("value")?br(n,r.type,o):r.hasOwnProperty("defaultValue")&&br(n,r.type,je(r.defaultValue)),r.checked==null&&r.defaultChecked!=null&&(n.defaultChecked=!!r.defaultChecked)}function Ha(n,r,o){if(r.hasOwnProperty("value")||r.hasOwnProperty("defaultValue")){var l=r.type;if(!(l!=="submit"&&l!=="reset"||r.value!==void 0&&r.value!==null))return;r=""+n._wrapperState.initialValue,o||r===n.value||(n.value=r),n.defaultValue=r}o=n.name,o!==""&&(n.name=""),n.defaultChecked=!!n._wrapperState.initialChecked,o!==""&&(n.name=o)}function br(n,r,o){(r!=="number"||qe(n.ownerDocument)!==n)&&(o==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+o&&(n.defaultValue=""+o))}var Bn=Array.isArray;function Bt(n,r,o,l){if(n=n.options,r){r={};for(var h=0;h<o.length;h++)r["$"+o[h]]=!0;for(o=0;o<n.length;o++)h=r.hasOwnProperty("$"+n[o].value),n[o].selected!==h&&(n[o].selected=h),h&&l&&(n[o].defaultSelected=!0)}else{for(o=""+je(o),r=null,h=0;h<n.length;h++){if(n[h].value===o){n[h].selected=!0,l&&(n[h].defaultSelected=!0);return}r!==null||n[h].disabled||(r=n[h])}r!==null&&(r.selected=!0)}}function ca(n,r){if(r.dangerouslySetInnerHTML!=null)throw Error(a(91));return O({},r,{value:void 0,defaultValue:void 0,children:""+n._wrapperState.initialValue})}function $a(n,r){var o=r.value;if(o==null){if(o=r.children,r=r.defaultValue,o!=null){if(r!=null)throw Error(a(92));if(Bn(o)){if(1<o.length)throw Error(a(93));o=o[0]}r=o}r==null&&(r=""),o=r}n._wrapperState={initialValue:je(o)}}function Le(n,r){var o=je(r.value),l=je(r.defaultValue);o!=null&&(o=""+o,o!==n.value&&(n.value=o),r.defaultValue==null&&n.defaultValue!==o&&(n.defaultValue=o)),l!=null&&(n.defaultValue=""+l)}function Ae(n){var r=n.textContent;r===n._wrapperState.initialValue&&r!==""&&r!==null&&(n.value=r)}function Ze(n){switch(n){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function ot(n,r){return n==null||n==="http://www.w3.org/1999/xhtml"?Ze(r):n==="http://www.w3.org/2000/svg"&&r==="foreignObject"?"http://www.w3.org/1999/xhtml":n}var mt,Je=(function(n){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(r,o,l,h){MSApp.execUnsafeLocalFunction(function(){return n(r,o,l,h)})}:n})(function(n,r){if(n.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in n)n.innerHTML=r;else{for(mt=mt||document.createElement("div"),mt.innerHTML="<svg>"+r.valueOf().toString()+"</svg>",r=mt.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;r.firstChild;)n.appendChild(r.firstChild)}});function Ke(n,r){if(r){var o=n.firstChild;if(o&&o===n.lastChild&&o.nodeType===3){o.nodeValue=r;return}}n.textContent=r}var ir={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ni=["Webkit","ms","Moz","O"];Object.keys(ir).forEach(function(n){Ni.forEach(function(r){r=r+n.charAt(0).toUpperCase()+n.substring(1),ir[r]=ir[n]})});function Pt(n,r,o){return r==null||typeof r=="boolean"||r===""?"":o||typeof r!="number"||r===0||ir.hasOwnProperty(n)&&ir[n]?(""+r).trim():r+"px"}function or(n,r){n=n.style;for(var o in r)if(r.hasOwnProperty(o)){var l=o.indexOf("--")===0,h=Pt(o,r[o],l);o==="float"&&(o="cssFloat"),l?n.setProperty(o,h):n[o]=h}}var Ht=O({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Hn(n,r){if(r){if(Ht[n]&&(r.children!=null||r.dangerouslySetInnerHTML!=null))throw Error(a(137,n));if(r.dangerouslySetInnerHTML!=null){if(r.children!=null)throw Error(a(60));if(typeof r.dangerouslySetInnerHTML!="object"||!("__html"in r.dangerouslySetInnerHTML))throw Error(a(61))}if(r.style!=null&&typeof r.style!="object")throw Error(a(62))}}function $n(n,r){if(n.indexOf("-")===-1)return typeof r.is=="string";switch(n){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var En=null;function ua(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var wr=null,sn=null,sr=null;function Wa(n){if(n=no(n)){if(typeof wr!="function")throw Error(a(280));var r=n.stateNode;r&&(r=Ts(r),wr(n.stateNode,n.type,r))}}function cs(n){sn?sr?sr.push(n):sr=[n]:sn=n}function ji(){if(sn){var n=sn,r=sr;if(sr=sn=null,Wa(n),r)for(n=0;n<r.length;n++)Wa(r[n])}}function us(n,r){return n(r)}function Oi(){}var _r=!1;function da(n,r,o){if(_r)return n(r,o);_r=!0;try{return us(n,r,o)}finally{_r=!1,(sn!==null||sr!==null)&&(Oi(),ji())}}function xr(n,r){var o=n.stateNode;if(o===null)return null;var l=Ts(o);if(l===null)return null;o=l[r];e:switch(r){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(l=!l.disabled)||(n=n.type,l=!(n==="button"||n==="input"||n==="select"||n==="textarea")),n=!l;break e;default:n=!1}if(n)return null;if(o&&typeof o!="function")throw Error(a(231,r,typeof o));return o}var zi=!1;if(d)try{var ha={};Object.defineProperty(ha,"passive",{get:function(){zi=!0}}),window.addEventListener("test",ha,ha),window.removeEventListener("test",ha,ha)}catch{zi=!1}function T(n,r,o,l,h,m,k,C,R){var H=Array.prototype.slice.call(arguments,3);try{r.apply(o,H)}catch(J){this.onError(J)}}var I=!1,F=null,G=!1,K=null,_e={onError:function(n){I=!0,F=n}};function xe(n,r,o,l,h,m,k,C,R){I=!1,F=null,T.apply(_e,arguments)}function Pe(n,r,o,l,h,m,k,C,R){if(xe.apply(this,arguments),I){if(I){var H=F;I=!1,F=null}else throw Error(a(198));G||(G=!0,K=H)}}function le(n){var r=n,o=n;if(n.alternate)for(;r.return;)r=r.return;else{n=r;do r=n,(r.flags&4098)!==0&&(o=r.return),n=r.return;while(n)}return r.tag===3?o:null}function Te(n){if(n.tag===13){var r=n.memoizedState;if(r===null&&(n=n.alternate,n!==null&&(r=n.memoizedState)),r!==null)return r.dehydrated}return null}function Se(n){if(le(n)!==n)throw Error(a(188))}function Ne(n){var r=n.alternate;if(!r){if(r=le(n),r===null)throw Error(a(188));return r!==n?null:n}for(var o=n,l=r;;){var h=o.return;if(h===null)break;var m=h.alternate;if(m===null){if(l=h.return,l!==null){o=l;continue}break}if(h.child===m.child){for(m=h.child;m;){if(m===o)return Se(h),n;if(m===l)return Se(h),r;m=m.sibling}throw Error(a(188))}if(o.return!==l.return)o=h,l=m;else{for(var k=!1,C=h.child;C;){if(C===o){k=!0,o=h,l=m;break}if(C===l){k=!0,l=h,o=m;break}C=C.sibling}if(!k){for(C=m.child;C;){if(C===o){k=!0,o=m,l=h;break}if(C===l){k=!0,l=m,o=h;break}C=C.sibling}if(!k)throw Error(a(189))}}if(o.alternate!==l)throw Error(a(190))}if(o.tag!==3)throw Error(a(188));return o.stateNode.current===o?n:r}function Ie(n){return n=Ne(n),n!==null?Be(n):null}function Be(n){if(n.tag===5||n.tag===6)return n;for(n=n.child;n!==null;){var r=Be(n);if(r!==null)return r;n=n.sibling}return null}var Ge=t.unstable_scheduleCallback,ft=t.unstable_cancelCallback,nt=t.unstable_shouldYield,Ye=t.unstable_requestPaint,Fe=t.unstable_now,Mt=t.unstable_getCurrentPriorityLevel,lr=t.unstable_ImmediatePriority,Rn=t.unstable_UserBlockingPriority,Dn=t.unstable_NormalPriority,Wn=t.unstable_LowPriority,ln=t.unstable_IdlePriority,Pr=null,kt=null;function Ga(n){if(kt&&typeof kt.onCommitFiberRoot=="function")try{kt.onCommitFiberRoot(Pr,n,void 0,(n.current.flags&128)===128)}catch{}}var Lt=Math.clz32?Math.clz32:Nt,Ka=Math.log,Ue=Math.LN2;function Nt(n){return n>>>=0,n===0?32:31-(Ka(n)/Ue|0)|0}var $t=64,Zt=4194304;function Sr(n){switch(n&-n){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return n&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return n}}function Cr(n,r){var o=n.pendingLanes;if(o===0)return 0;var l=0,h=n.suspendedLanes,m=n.pingedLanes,k=o&268435455;if(k!==0){var C=k&~h;C!==0?l=Sr(C):(m&=k,m!==0&&(l=Sr(m)))}else k=o&~h,k!==0?l=Sr(k):m!==0&&(l=Sr(m));if(l===0)return 0;if(r!==0&&r!==l&&(r&h)===0&&(h=l&-l,m=r&-r,h>=m||h===16&&(m&4194240)!==0))return r;if((l&4)!==0&&(l|=o&16),r=n.entangledLanes,r!==0)for(n=n.entanglements,r&=l;0<r;)o=31-Lt(r),h=1<<o,l|=n[o],r&=~h;return l}function et(n,r){switch(n){case 1:case 2:case 4:return r+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function cr(n,r){for(var o=n.suspendedLanes,l=n.pingedLanes,h=n.expirationTimes,m=n.pendingLanes;0<m;){var k=31-Lt(m),C=1<<k,R=h[k];R===-1?((C&o)===0||(C&l)!==0)&&(h[k]=et(C,r)):R<=r&&(n.expiredLanes|=C),m&=~C}}function Ya(n){return n=n.pendingLanes&-1073741825,n!==0?n:n&1073741824?1073741824:0}function ds(){var n=$t;return $t<<=1,($t&4194240)===0&&($t=64),n}function gc(n){for(var r=[],o=0;31>o;o++)r.push(n);return r}function Vi(n,r,o){n.pendingLanes|=r,r!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,r=31-Lt(r),n[r]=o}function sw(n,r){var o=n.pendingLanes&~r;n.pendingLanes=r,n.suspendedLanes=0,n.pingedLanes=0,n.expiredLanes&=r,n.mutableReadLanes&=r,n.entangledLanes&=r,r=n.entanglements;var l=n.eventTimes;for(n=n.expirationTimes;0<o;){var h=31-Lt(o),m=1<<h;r[h]=0,l[h]=-1,n[h]=-1,o&=~m}}function vc(n,r){var o=n.entangledLanes|=r;for(n=n.entanglements;o;){var l=31-Lt(o),h=1<<l;h&r|n[l]&r&&(n[l]|=r),o&=~h}}var Xe=0;function Tf(n){return n&=-n,1<n?4<n?(n&268435455)!==0?16:536870912:4:1}var Ef,yc,Rf,Df,If,kc=!1,hs=[],Tr=null,Er=null,Rr=null,Fi=new Map,Ui=new Map,Dr=[],lw="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Af(n,r){switch(n){case"focusin":case"focusout":Tr=null;break;case"dragenter":case"dragleave":Er=null;break;case"mouseover":case"mouseout":Rr=null;break;case"pointerover":case"pointerout":Fi.delete(r.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ui.delete(r.pointerId)}}function Bi(n,r,o,l,h,m){return n===null||n.nativeEvent!==m?(n={blockedOn:r,domEventName:o,eventSystemFlags:l,nativeEvent:m,targetContainers:[h]},r!==null&&(r=no(r),r!==null&&yc(r)),n):(n.eventSystemFlags|=l,r=n.targetContainers,h!==null&&r.indexOf(h)===-1&&r.push(h),n)}function cw(n,r,o,l,h){switch(r){case"focusin":return Tr=Bi(Tr,n,r,o,l,h),!0;case"dragenter":return Er=Bi(Er,n,r,o,l,h),!0;case"mouseover":return Rr=Bi(Rr,n,r,o,l,h),!0;case"pointerover":var m=h.pointerId;return Fi.set(m,Bi(Fi.get(m)||null,n,r,o,l,h)),!0;case"gotpointercapture":return m=h.pointerId,Ui.set(m,Bi(Ui.get(m)||null,n,r,o,l,h)),!0}return!1}function Mf(n){var r=fa(n.target);if(r!==null){var o=le(r);if(o!==null){if(r=o.tag,r===13){if(r=Te(o),r!==null){n.blockedOn=r,If(n.priority,function(){Rf(o)});return}}else if(r===3&&o.stateNode.current.memoizedState.isDehydrated){n.blockedOn=o.tag===3?o.stateNode.containerInfo:null;return}}}n.blockedOn=null}function fs(n){if(n.blockedOn!==null)return!1;for(var r=n.targetContainers;0<r.length;){var o=wc(n.domEventName,n.eventSystemFlags,r[0],n.nativeEvent);if(o===null){o=n.nativeEvent;var l=new o.constructor(o.type,o);En=l,o.target.dispatchEvent(l),En=null}else return r=no(o),r!==null&&yc(r),n.blockedOn=o,!1;r.shift()}return!0}function Lf(n,r,o){fs(n)&&o.delete(r)}function uw(){kc=!1,Tr!==null&&fs(Tr)&&(Tr=null),Er!==null&&fs(Er)&&(Er=null),Rr!==null&&fs(Rr)&&(Rr=null),Fi.forEach(Lf),Ui.forEach(Lf)}function Hi(n,r){n.blockedOn===r&&(n.blockedOn=null,kc||(kc=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,uw)))}function $i(n){function r(h){return Hi(h,n)}if(0<hs.length){Hi(hs[0],n);for(var o=1;o<hs.length;o++){var l=hs[o];l.blockedOn===n&&(l.blockedOn=null)}}for(Tr!==null&&Hi(Tr,n),Er!==null&&Hi(Er,n),Rr!==null&&Hi(Rr,n),Fi.forEach(r),Ui.forEach(r),o=0;o<Dr.length;o++)l=Dr[o],l.blockedOn===n&&(l.blockedOn=null);for(;0<Dr.length&&(o=Dr[0],o.blockedOn===null);)Mf(o),o.blockedOn===null&&Dr.shift()}var Xa=D.ReactCurrentBatchConfig,ps=!0;function dw(n,r,o,l){var h=Xe,m=Xa.transition;Xa.transition=null;try{Xe=1,bc(n,r,o,l)}finally{Xe=h,Xa.transition=m}}function hw(n,r,o,l){var h=Xe,m=Xa.transition;Xa.transition=null;try{Xe=4,bc(n,r,o,l)}finally{Xe=h,Xa.transition=m}}function bc(n,r,o,l){if(ps){var h=wc(n,r,o,l);if(h===null)zc(n,r,l,ms,o),Af(n,l);else if(cw(h,n,r,o,l))l.stopPropagation();else if(Af(n,l),r&4&&-1<lw.indexOf(n)){for(;h!==null;){var m=no(h);if(m!==null&&Ef(m),m=wc(n,r,o,l),m===null&&zc(n,r,l,ms,o),m===h)break;h=m}h!==null&&l.stopPropagation()}else zc(n,r,l,null,o)}}var ms=null;function wc(n,r,o,l){if(ms=null,n=ua(l),n=fa(n),n!==null)if(r=le(n),r===null)n=null;else if(o=r.tag,o===13){if(n=Te(r),n!==null)return n;n=null}else if(o===3){if(r.stateNode.current.memoizedState.isDehydrated)return r.tag===3?r.stateNode.containerInfo:null;n=null}else r!==n&&(n=null);return ms=n,null}function Nf(n){switch(n){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Mt()){case lr:return 1;case Rn:return 4;case Dn:case Wn:return 16;case ln:return 536870912;default:return 16}default:return 16}}var Ir=null,_c=null,gs=null;function jf(){if(gs)return gs;var n,r=_c,o=r.length,l,h="value"in Ir?Ir.value:Ir.textContent,m=h.length;for(n=0;n<o&&r[n]===h[n];n++);var k=o-n;for(l=1;l<=k&&r[o-l]===h[m-l];l++);return gs=h.slice(n,1<l?1-l:void 0)}function vs(n){var r=n.keyCode;return"charCode"in n?(n=n.charCode,n===0&&r===13&&(n=13)):n=r,n===10&&(n=13),32<=n||n===13?n:0}function ys(){return!0}function Of(){return!1}function cn(n){function r(o,l,h,m,k){this._reactName=o,this._targetInst=h,this.type=l,this.nativeEvent=m,this.target=k,this.currentTarget=null;for(var C in n)n.hasOwnProperty(C)&&(o=n[C],this[C]=o?o(m):m[C]);return this.isDefaultPrevented=(m.defaultPrevented!=null?m.defaultPrevented:m.returnValue===!1)?ys:Of,this.isPropagationStopped=Of,this}return O(r.prototype,{preventDefault:function(){this.defaultPrevented=!0;var o=this.nativeEvent;o&&(o.preventDefault?o.preventDefault():typeof o.returnValue!="unknown"&&(o.returnValue=!1),this.isDefaultPrevented=ys)},stopPropagation:function(){var o=this.nativeEvent;o&&(o.stopPropagation?o.stopPropagation():typeof o.cancelBubble!="unknown"&&(o.cancelBubble=!0),this.isPropagationStopped=ys)},persist:function(){},isPersistent:ys}),r}var Za={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(n){return n.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},xc=cn(Za),Wi=O({},Za,{view:0,detail:0}),fw=cn(Wi),Pc,Sc,Gi,ks=O({},Wi,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Tc,button:0,buttons:0,relatedTarget:function(n){return n.relatedTarget===void 0?n.fromElement===n.srcElement?n.toElement:n.fromElement:n.relatedTarget},movementX:function(n){return"movementX"in n?n.movementX:(n!==Gi&&(Gi&&n.type==="mousemove"?(Pc=n.screenX-Gi.screenX,Sc=n.screenY-Gi.screenY):Sc=Pc=0,Gi=n),Pc)},movementY:function(n){return"movementY"in n?n.movementY:Sc}}),zf=cn(ks),pw=O({},ks,{dataTransfer:0}),mw=cn(pw),gw=O({},Wi,{relatedTarget:0}),Cc=cn(gw),vw=O({},Za,{animationName:0,elapsedTime:0,pseudoElement:0}),yw=cn(vw),kw=O({},Za,{clipboardData:function(n){return"clipboardData"in n?n.clipboardData:window.clipboardData}}),bw=cn(kw),ww=O({},Za,{data:0}),Vf=cn(ww),_w={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},xw={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Pw={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Sw(n){var r=this.nativeEvent;return r.getModifierState?r.getModifierState(n):(n=Pw[n])?!!r[n]:!1}function Tc(){return Sw}var Cw=O({},Wi,{key:function(n){if(n.key){var r=_w[n.key]||n.key;if(r!=="Unidentified")return r}return n.type==="keypress"?(n=vs(n),n===13?"Enter":String.fromCharCode(n)):n.type==="keydown"||n.type==="keyup"?xw[n.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Tc,charCode:function(n){return n.type==="keypress"?vs(n):0},keyCode:function(n){return n.type==="keydown"||n.type==="keyup"?n.keyCode:0},which:function(n){return n.type==="keypress"?vs(n):n.type==="keydown"||n.type==="keyup"?n.keyCode:0}}),Tw=cn(Cw),Ew=O({},ks,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Ff=cn(Ew),Rw=O({},Wi,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Tc}),Dw=cn(Rw),Iw=O({},Za,{propertyName:0,elapsedTime:0,pseudoElement:0}),Aw=cn(Iw),Mw=O({},ks,{deltaX:function(n){return"deltaX"in n?n.deltaX:"wheelDeltaX"in n?-n.wheelDeltaX:0},deltaY:function(n){return"deltaY"in n?n.deltaY:"wheelDeltaY"in n?-n.wheelDeltaY:"wheelDelta"in n?-n.wheelDelta:0},deltaZ:0,deltaMode:0}),Lw=cn(Mw),Nw=[9,13,27,32],Ec=d&&"CompositionEvent"in window,Ki=null;d&&"documentMode"in document&&(Ki=document.documentMode);var jw=d&&"TextEvent"in window&&!Ki,Uf=d&&(!Ec||Ki&&8<Ki&&11>=Ki),Bf=" ",Hf=!1;function $f(n,r){switch(n){case"keyup":return Nw.indexOf(r.keyCode)!==-1;case"keydown":return r.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Wf(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var qa=!1;function Ow(n,r){switch(n){case"compositionend":return Wf(r);case"keypress":return r.which!==32?null:(Hf=!0,Bf);case"textInput":return n=r.data,n===Bf&&Hf?null:n;default:return null}}function zw(n,r){if(qa)return n==="compositionend"||!Ec&&$f(n,r)?(n=jf(),gs=_c=Ir=null,qa=!1,n):null;switch(n){case"paste":return null;case"keypress":if(!(r.ctrlKey||r.altKey||r.metaKey)||r.ctrlKey&&r.altKey){if(r.char&&1<r.char.length)return r.char;if(r.which)return String.fromCharCode(r.which)}return null;case"compositionend":return Uf&&r.locale!=="ko"?null:r.data;default:return null}}var Vw={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Gf(n){var r=n&&n.nodeName&&n.nodeName.toLowerCase();return r==="input"?!!Vw[n.type]:r==="textarea"}function Kf(n,r,o,l){cs(l),r=Ps(r,"onChange"),0<r.length&&(o=new xc("onChange","change",null,o,l),n.push({event:o,listeners:r}))}var Yi=null,Xi=null;function Fw(n){dp(n,0)}function bs(n){var r=ni(n);if(Xt(r))return n}function Uw(n,r){if(n==="change")return r}var Yf=!1;if(d){var Rc;if(d){var Dc="oninput"in document;if(!Dc){var Xf=document.createElement("div");Xf.setAttribute("oninput","return;"),Dc=typeof Xf.oninput=="function"}Rc=Dc}else Rc=!1;Yf=Rc&&(!document.documentMode||9<document.documentMode)}function Zf(){Yi&&(Yi.detachEvent("onpropertychange",qf),Xi=Yi=null)}function qf(n){if(n.propertyName==="value"&&bs(Xi)){var r=[];Kf(r,Xi,n,ua(n)),da(Fw,r)}}function Bw(n,r,o){n==="focusin"?(Zf(),Yi=r,Xi=o,Yi.attachEvent("onpropertychange",qf)):n==="focusout"&&Zf()}function Hw(n){if(n==="selectionchange"||n==="keyup"||n==="keydown")return bs(Xi)}function $w(n,r){if(n==="click")return bs(r)}function Ww(n,r){if(n==="input"||n==="change")return bs(r)}function Gw(n,r){return n===r&&(n!==0||1/n===1/r)||n!==n&&r!==r}var In=typeof Object.is=="function"?Object.is:Gw;function Zi(n,r){if(In(n,r))return!0;if(typeof n!="object"||n===null||typeof r!="object"||r===null)return!1;var o=Object.keys(n),l=Object.keys(r);if(o.length!==l.length)return!1;for(l=0;l<o.length;l++){var h=o[l];if(!f.call(r,h)||!In(n[h],r[h]))return!1}return!0}function Qf(n){for(;n&&n.firstChild;)n=n.firstChild;return n}function Jf(n,r){var o=Qf(n);n=0;for(var l;o;){if(o.nodeType===3){if(l=n+o.textContent.length,n<=r&&l>=r)return{node:o,offset:r-n};n=l}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=Qf(o)}}function ep(n,r){return n&&r?n===r?!0:n&&n.nodeType===3?!1:r&&r.nodeType===3?ep(n,r.parentNode):"contains"in n?n.contains(r):n.compareDocumentPosition?!!(n.compareDocumentPosition(r)&16):!1:!1}function tp(){for(var n=window,r=qe();r instanceof n.HTMLIFrameElement;){try{var o=typeof r.contentWindow.location.href=="string"}catch{o=!1}if(o)n=r.contentWindow;else break;r=qe(n.document)}return r}function Ic(n){var r=n&&n.nodeName&&n.nodeName.toLowerCase();return r&&(r==="input"&&(n.type==="text"||n.type==="search"||n.type==="tel"||n.type==="url"||n.type==="password")||r==="textarea"||n.contentEditable==="true")}function Kw(n){var r=tp(),o=n.focusedElem,l=n.selectionRange;if(r!==o&&o&&o.ownerDocument&&ep(o.ownerDocument.documentElement,o)){if(l!==null&&Ic(o)){if(r=l.start,n=l.end,n===void 0&&(n=r),"selectionStart"in o)o.selectionStart=r,o.selectionEnd=Math.min(n,o.value.length);else if(n=(r=o.ownerDocument||document)&&r.defaultView||window,n.getSelection){n=n.getSelection();var h=o.textContent.length,m=Math.min(l.start,h);l=l.end===void 0?m:Math.min(l.end,h),!n.extend&&m>l&&(h=l,l=m,m=h),h=Jf(o,m);var k=Jf(o,l);h&&k&&(n.rangeCount!==1||n.anchorNode!==h.node||n.anchorOffset!==h.offset||n.focusNode!==k.node||n.focusOffset!==k.offset)&&(r=r.createRange(),r.setStart(h.node,h.offset),n.removeAllRanges(),m>l?(n.addRange(r),n.extend(k.node,k.offset)):(r.setEnd(k.node,k.offset),n.addRange(r)))}}for(r=[],n=o;n=n.parentNode;)n.nodeType===1&&r.push({element:n,left:n.scrollLeft,top:n.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o<r.length;o++)n=r[o],n.element.scrollLeft=n.left,n.element.scrollTop=n.top}}var Yw=d&&"documentMode"in document&&11>=document.documentMode,Qa=null,Ac=null,qi=null,Mc=!1;function np(n,r,o){var l=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;Mc||Qa==null||Qa!==qe(l)||(l=Qa,"selectionStart"in l&&Ic(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),qi&&Zi(qi,l)||(qi=l,l=Ps(Ac,"onSelect"),0<l.length&&(r=new xc("onSelect","select",null,r,o),n.push({event:r,listeners:l}),r.target=Qa)))}function ws(n,r){var o={};return o[n.toLowerCase()]=r.toLowerCase(),o["Webkit"+n]="webkit"+r,o["Moz"+n]="moz"+r,o}var Ja={animationend:ws("Animation","AnimationEnd"),animationiteration:ws("Animation","AnimationIteration"),animationstart:ws("Animation","AnimationStart"),transitionend:ws("Transition","TransitionEnd")},Lc={},rp={};d&&(rp=document.createElement("div").style,"AnimationEvent"in window||(delete Ja.animationend.animation,delete Ja.animationiteration.animation,delete Ja.animationstart.animation),"TransitionEvent"in window||delete Ja.transitionend.transition);function _s(n){if(Lc[n])return Lc[n];if(!Ja[n])return n;var r=Ja[n],o;for(o in r)if(r.hasOwnProperty(o)&&o in rp)return Lc[n]=r[o];return n}var ap=_s("animationend"),ip=_s("animationiteration"),op=_s("animationstart"),sp=_s("transitionend"),lp=new Map,cp="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Ar(n,r){lp.set(n,r),c(r,[n])}for(var Nc=0;Nc<cp.length;Nc++){var jc=cp[Nc],Xw=jc.toLowerCase(),Zw=jc[0].toUpperCase()+jc.slice(1);Ar(Xw,"on"+Zw)}Ar(ap,"onAnimationEnd"),Ar(ip,"onAnimationIteration"),Ar(op,"onAnimationStart"),Ar("dblclick","onDoubleClick"),Ar("focusin","onFocus"),Ar("focusout","onBlur"),Ar(sp,"onTransitionEnd"),u("onMouseEnter",["mouseout","mouseover"]),u("onMouseLeave",["mouseout","mouseover"]),u("onPointerEnter",["pointerout","pointerover"]),u("onPointerLeave",["pointerout","pointerover"]),c("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),c("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),c("onBeforeInput",["compositionend","keypress","textInput","paste"]),c("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Qi="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),qw=new Set("cancel close invalid load scroll toggle".split(" ").concat(Qi));function up(n,r,o){var l=n.type||"unknown-event";n.currentTarget=o,Pe(l,r,void 0,n),n.currentTarget=null}function dp(n,r){r=(r&4)!==0;for(var o=0;o<n.length;o++){var l=n[o],h=l.event;l=l.listeners;e:{var m=void 0;if(r)for(var k=l.length-1;0<=k;k--){var C=l[k],R=C.instance,H=C.currentTarget;if(C=C.listener,R!==m&&h.isPropagationStopped())break e;up(h,C,H),m=R}else for(k=0;k<l.length;k++){if(C=l[k],R=C.instance,H=C.currentTarget,C=C.listener,R!==m&&h.isPropagationStopped())break e;up(h,C,H),m=R}}}if(G)throw n=K,G=!1,K=null,n}function rt(n,r){var o=r[$c];o===void 0&&(o=r[$c]=new Set);var l=n+"__bubble";o.has(l)||(hp(r,n,2,!1),o.add(l))}function Oc(n,r,o){var l=0;r&&(l|=4),hp(o,n,l,r)}var xs="_reactListening"+Math.random().toString(36).slice(2);function Ji(n){if(!n[xs]){n[xs]=!0,i.forEach(function(o){o!=="selectionchange"&&(qw.has(o)||Oc(o,!1,n),Oc(o,!0,n))});var r=n.nodeType===9?n:n.ownerDocument;r===null||r[xs]||(r[xs]=!0,Oc("selectionchange",!1,r))}}function hp(n,r,o,l){switch(Nf(r)){case 1:var h=dw;break;case 4:h=hw;break;default:h=bc}o=h.bind(null,r,o,n),h=void 0,!zi||r!=="touchstart"&&r!=="touchmove"&&r!=="wheel"||(h=!0),l?h!==void 0?n.addEventListener(r,o,{capture:!0,passive:h}):n.addEventListener(r,o,!0):h!==void 0?n.addEventListener(r,o,{passive:h}):n.addEventListener(r,o,!1)}function zc(n,r,o,l,h){var m=l;if((r&1)===0&&(r&2)===0&&l!==null)e:for(;;){if(l===null)return;var k=l.tag;if(k===3||k===4){var C=l.stateNode.containerInfo;if(C===h||C.nodeType===8&&C.parentNode===h)break;if(k===4)for(k=l.return;k!==null;){var R=k.tag;if((R===3||R===4)&&(R=k.stateNode.containerInfo,R===h||R.nodeType===8&&R.parentNode===h))return;k=k.return}for(;C!==null;){if(k=fa(C),k===null)return;if(R=k.tag,R===5||R===6){l=m=k;continue e}C=C.parentNode}}l=l.return}da(function(){var H=m,J=ua(o),te=[];e:{var X=lp.get(n);if(X!==void 0){var ce=xc,ge=n;switch(n){case"keypress":if(vs(o)===0)break e;case"keydown":case"keyup":ce=Tw;break;case"focusin":ge="focus",ce=Cc;break;case"focusout":ge="blur",ce=Cc;break;case"beforeblur":case"afterblur":ce=Cc;break;case"click":if(o.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":ce=zf;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":ce=mw;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":ce=Dw;break;case ap:case ip:case op:ce=yw;break;case sp:ce=Aw;break;case"scroll":ce=fw;break;case"wheel":ce=Lw;break;case"copy":case"cut":case"paste":ce=bw;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":ce=Ff}var be=(r&4)!==0,pt=!be&&n==="scroll",z=be?X!==null?X+"Capture":null:X;be=[];for(var A=H,U;A!==null;){U=A;var re=U.stateNode;if(U.tag===5&&re!==null&&(U=re,z!==null&&(re=xr(A,z),re!=null&&be.push(eo(A,re,U)))),pt)break;A=A.return}0<be.length&&(X=new ce(X,ge,null,o,J),te.push({event:X,listeners:be}))}}if((r&7)===0){e:{if(X=n==="mouseover"||n==="pointerover",ce=n==="mouseout"||n==="pointerout",X&&o!==En&&(ge=o.relatedTarget||o.fromElement)&&(fa(ge)||ge[ur]))break e;if((ce||X)&&(X=J.window===J?J:(X=J.ownerDocument)?X.defaultView||X.parentWindow:window,ce?(ge=o.relatedTarget||o.toElement,ce=H,ge=ge?fa(ge):null,ge!==null&&(pt=le(ge),ge!==pt||ge.tag!==5&&ge.tag!==6)&&(ge=null)):(ce=null,ge=H),ce!==ge)){if(be=zf,re="onMouseLeave",z="onMouseEnter",A="mouse",(n==="pointerout"||n==="pointerover")&&(be=Ff,re="onPointerLeave",z="onPointerEnter",A="pointer"),pt=ce==null?X:ni(ce),U=ge==null?X:ni(ge),X=new be(re,A+"leave",ce,o,J),X.target=pt,X.relatedTarget=U,re=null,fa(J)===H&&(be=new be(z,A+"enter",ge,o,J),be.target=U,be.relatedTarget=pt,re=be),pt=re,ce&&ge)t:{for(be=ce,z=ge,A=0,U=be;U;U=ei(U))A++;for(U=0,re=z;re;re=ei(re))U++;for(;0<A-U;)be=ei(be),A--;for(;0<U-A;)z=ei(z),U--;for(;A--;){if(be===z||z!==null&&be===z.alternate)break t;be=ei(be),z=ei(z)}be=null}else be=null;ce!==null&&fp(te,X,ce,be,!1),ge!==null&&pt!==null&&fp(te,pt,ge,be,!0)}}e:{if(X=H?ni(H):window,ce=X.nodeName&&X.nodeName.toLowerCase(),ce==="select"||ce==="input"&&X.type==="file")var we=Uw;else if(Gf(X))if(Yf)we=Ww;else{we=Hw;var Ee=Bw}else(ce=X.nodeName)&&ce.toLowerCase()==="input"&&(X.type==="checkbox"||X.type==="radio")&&(we=$w);if(we&&(we=we(n,H))){Kf(te,we,o,J);break e}Ee&&Ee(n,X,H),n==="focusout"&&(Ee=X._wrapperState)&&Ee.controlled&&X.type==="number"&&br(X,"number",X.value)}switch(Ee=H?ni(H):window,n){case"focusin":(Gf(Ee)||Ee.contentEditable==="true")&&(Qa=Ee,Ac=H,qi=null);break;case"focusout":qi=Ac=Qa=null;break;case"mousedown":Mc=!0;break;case"contextmenu":case"mouseup":case"dragend":Mc=!1,np(te,o,J);break;case"selectionchange":if(Yw)break;case"keydown":case"keyup":np(te,o,J)}var Re;if(Ec)e:{switch(n){case"compositionstart":var Me="onCompositionStart";break e;case"compositionend":Me="onCompositionEnd";break e;case"compositionupdate":Me="onCompositionUpdate";break e}Me=void 0}else qa?$f(n,o)&&(Me="onCompositionEnd"):n==="keydown"&&o.keyCode===229&&(Me="onCompositionStart");Me&&(Uf&&o.locale!=="ko"&&(qa||Me!=="onCompositionStart"?Me==="onCompositionEnd"&&qa&&(Re=jf()):(Ir=J,_c="value"in Ir?Ir.value:Ir.textContent,qa=!0)),Ee=Ps(H,Me),0<Ee.length&&(Me=new Vf(Me,n,null,o,J),te.push({event:Me,listeners:Ee}),Re?Me.data=Re:(Re=Wf(o),Re!==null&&(Me.data=Re)))),(Re=jw?Ow(n,o):zw(n,o))&&(H=Ps(H,"onBeforeInput"),0<H.length&&(J=new Vf("onBeforeInput","beforeinput",null,o,J),te.push({event:J,listeners:H}),J.data=Re))}dp(te,r)})}function eo(n,r,o){return{instance:n,listener:r,currentTarget:o}}function Ps(n,r){for(var o=r+"Capture",l=[];n!==null;){var h=n,m=h.stateNode;h.tag===5&&m!==null&&(h=m,m=xr(n,o),m!=null&&l.unshift(eo(n,m,h)),m=xr(n,r),m!=null&&l.push(eo(n,m,h))),n=n.return}return l}function ei(n){if(n===null)return null;do n=n.return;while(n&&n.tag!==5);return n||null}function fp(n,r,o,l,h){for(var m=r._reactName,k=[];o!==null&&o!==l;){var C=o,R=C.alternate,H=C.stateNode;if(R!==null&&R===l)break;C.tag===5&&H!==null&&(C=H,h?(R=xr(o,m),R!=null&&k.unshift(eo(o,R,C))):h||(R=xr(o,m),R!=null&&k.push(eo(o,R,C)))),o=o.return}k.length!==0&&n.push({event:r,listeners:k})}var Qw=/\r\n?/g,Jw=/\u0000|\uFFFD/g;function pp(n){return(typeof n=="string"?n:""+n).replace(Qw,`
|
|
7
|
+
`).replace(Jw,"")}function Ss(n,r,o){if(r=pp(r),pp(n)!==r&&o)throw Error(a(425))}function Cs(){}var Vc=null,Fc=null;function Uc(n,r){return n==="textarea"||n==="noscript"||typeof r.children=="string"||typeof r.children=="number"||typeof r.dangerouslySetInnerHTML=="object"&&r.dangerouslySetInnerHTML!==null&&r.dangerouslySetInnerHTML.__html!=null}var Bc=typeof setTimeout=="function"?setTimeout:void 0,e_=typeof clearTimeout=="function"?clearTimeout:void 0,mp=typeof Promise=="function"?Promise:void 0,t_=typeof queueMicrotask=="function"?queueMicrotask:typeof mp<"u"?function(n){return mp.resolve(null).then(n).catch(n_)}:Bc;function n_(n){setTimeout(function(){throw n})}function Hc(n,r){var o=r,l=0;do{var h=o.nextSibling;if(n.removeChild(o),h&&h.nodeType===8)if(o=h.data,o==="/$"){if(l===0){n.removeChild(h),$i(r);return}l--}else o!=="$"&&o!=="$?"&&o!=="$!"||l++;o=h}while(o);$i(r)}function Mr(n){for(;n!=null;n=n.nextSibling){var r=n.nodeType;if(r===1||r===3)break;if(r===8){if(r=n.data,r==="$"||r==="$!"||r==="$?")break;if(r==="/$")return null}}return n}function gp(n){n=n.previousSibling;for(var r=0;n;){if(n.nodeType===8){var o=n.data;if(o==="$"||o==="$!"||o==="$?"){if(r===0)return n;r--}else o==="/$"&&r++}n=n.previousSibling}return null}var ti=Math.random().toString(36).slice(2),Gn="__reactFiber$"+ti,to="__reactProps$"+ti,ur="__reactContainer$"+ti,$c="__reactEvents$"+ti,r_="__reactListeners$"+ti,a_="__reactHandles$"+ti;function fa(n){var r=n[Gn];if(r)return r;for(var o=n.parentNode;o;){if(r=o[ur]||o[Gn]){if(o=r.alternate,r.child!==null||o!==null&&o.child!==null)for(n=gp(n);n!==null;){if(o=n[Gn])return o;n=gp(n)}return r}n=o,o=n.parentNode}return null}function no(n){return n=n[Gn]||n[ur],!n||n.tag!==5&&n.tag!==6&&n.tag!==13&&n.tag!==3?null:n}function ni(n){if(n.tag===5||n.tag===6)return n.stateNode;throw Error(a(33))}function Ts(n){return n[to]||null}var Wc=[],ri=-1;function Lr(n){return{current:n}}function at(n){0>ri||(n.current=Wc[ri],Wc[ri]=null,ri--)}function tt(n,r){ri++,Wc[ri]=n.current,n.current=r}var Nr={},jt=Lr(Nr),qt=Lr(!1),pa=Nr;function ai(n,r){var o=n.type.contextTypes;if(!o)return Nr;var l=n.stateNode;if(l&&l.__reactInternalMemoizedUnmaskedChildContext===r)return l.__reactInternalMemoizedMaskedChildContext;var h={},m;for(m in o)h[m]=r[m];return l&&(n=n.stateNode,n.__reactInternalMemoizedUnmaskedChildContext=r,n.__reactInternalMemoizedMaskedChildContext=h),h}function Qt(n){return n=n.childContextTypes,n!=null}function Es(){at(qt),at(jt)}function vp(n,r,o){if(jt.current!==Nr)throw Error(a(168));tt(jt,r),tt(qt,o)}function yp(n,r,o){var l=n.stateNode;if(r=r.childContextTypes,typeof l.getChildContext!="function")return o;l=l.getChildContext();for(var h in l)if(!(h in r))throw Error(a(108,De(n)||"Unknown",h));return O({},o,l)}function Rs(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||Nr,pa=jt.current,tt(jt,n),tt(qt,qt.current),!0}function kp(n,r,o){var l=n.stateNode;if(!l)throw Error(a(169));o?(n=yp(n,r,pa),l.__reactInternalMemoizedMergedChildContext=n,at(qt),at(jt),tt(jt,n)):at(qt),tt(qt,o)}var dr=null,Ds=!1,Gc=!1;function bp(n){dr===null?dr=[n]:dr.push(n)}function i_(n){Ds=!0,bp(n)}function jr(){if(!Gc&&dr!==null){Gc=!0;var n=0,r=Xe;try{var o=dr;for(Xe=1;n<o.length;n++){var l=o[n];do l=l(!0);while(l!==null)}dr=null,Ds=!1}catch(h){throw dr!==null&&(dr=dr.slice(n+1)),Ge(lr,jr),h}finally{Xe=r,Gc=!1}}return null}var ii=[],oi=0,Is=null,As=0,mn=[],gn=0,ma=null,hr=1,fr="";function ga(n,r){ii[oi++]=As,ii[oi++]=Is,Is=n,As=r}function wp(n,r,o){mn[gn++]=hr,mn[gn++]=fr,mn[gn++]=ma,ma=n;var l=hr;n=fr;var h=32-Lt(l)-1;l&=~(1<<h),o+=1;var m=32-Lt(r)+h;if(30<m){var k=h-h%5;m=(l&(1<<k)-1).toString(32),l>>=k,h-=k,hr=1<<32-Lt(r)+h|o<<h|l,fr=m+n}else hr=1<<m|o<<h|l,fr=n}function Kc(n){n.return!==null&&(ga(n,1),wp(n,1,0))}function Yc(n){for(;n===Is;)Is=ii[--oi],ii[oi]=null,As=ii[--oi],ii[oi]=null;for(;n===ma;)ma=mn[--gn],mn[gn]=null,fr=mn[--gn],mn[gn]=null,hr=mn[--gn],mn[gn]=null}var un=null,dn=null,st=!1,An=null;function _p(n,r){var o=bn(5,null,null,0);o.elementType="DELETED",o.stateNode=r,o.return=n,r=n.deletions,r===null?(n.deletions=[o],n.flags|=16):r.push(o)}function xp(n,r){switch(n.tag){case 5:var o=n.type;return r=r.nodeType!==1||o.toLowerCase()!==r.nodeName.toLowerCase()?null:r,r!==null?(n.stateNode=r,un=n,dn=Mr(r.firstChild),!0):!1;case 6:return r=n.pendingProps===""||r.nodeType!==3?null:r,r!==null?(n.stateNode=r,un=n,dn=null,!0):!1;case 13:return r=r.nodeType!==8?null:r,r!==null?(o=ma!==null?{id:hr,overflow:fr}:null,n.memoizedState={dehydrated:r,treeContext:o,retryLane:1073741824},o=bn(18,null,null,0),o.stateNode=r,o.return=n,n.child=o,un=n,dn=null,!0):!1;default:return!1}}function Xc(n){return(n.mode&1)!==0&&(n.flags&128)===0}function Zc(n){if(st){var r=dn;if(r){var o=r;if(!xp(n,r)){if(Xc(n))throw Error(a(418));r=Mr(o.nextSibling);var l=un;r&&xp(n,r)?_p(l,o):(n.flags=n.flags&-4097|2,st=!1,un=n)}}else{if(Xc(n))throw Error(a(418));n.flags=n.flags&-4097|2,st=!1,un=n}}}function Pp(n){for(n=n.return;n!==null&&n.tag!==5&&n.tag!==3&&n.tag!==13;)n=n.return;un=n}function Ms(n){if(n!==un)return!1;if(!st)return Pp(n),st=!0,!1;var r;if((r=n.tag!==3)&&!(r=n.tag!==5)&&(r=n.type,r=r!=="head"&&r!=="body"&&!Uc(n.type,n.memoizedProps)),r&&(r=dn)){if(Xc(n))throw Sp(),Error(a(418));for(;r;)_p(n,r),r=Mr(r.nextSibling)}if(Pp(n),n.tag===13){if(n=n.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(a(317));e:{for(n=n.nextSibling,r=0;n;){if(n.nodeType===8){var o=n.data;if(o==="/$"){if(r===0){dn=Mr(n.nextSibling);break e}r--}else o!=="$"&&o!=="$!"&&o!=="$?"||r++}n=n.nextSibling}dn=null}}else dn=un?Mr(n.stateNode.nextSibling):null;return!0}function Sp(){for(var n=dn;n;)n=Mr(n.nextSibling)}function si(){dn=un=null,st=!1}function qc(n){An===null?An=[n]:An.push(n)}var o_=D.ReactCurrentBatchConfig;function ro(n,r,o){if(n=o.ref,n!==null&&typeof n!="function"&&typeof n!="object"){if(o._owner){if(o=o._owner,o){if(o.tag!==1)throw Error(a(309));var l=o.stateNode}if(!l)throw Error(a(147,n));var h=l,m=""+n;return r!==null&&r.ref!==null&&typeof r.ref=="function"&&r.ref._stringRef===m?r.ref:(r=function(k){var C=h.refs;k===null?delete C[m]:C[m]=k},r._stringRef=m,r)}if(typeof n!="string")throw Error(a(284));if(!o._owner)throw Error(a(290,n))}return n}function Ls(n,r){throw n=Object.prototype.toString.call(r),Error(a(31,n==="[object Object]"?"object with keys {"+Object.keys(r).join(", ")+"}":n))}function Cp(n){var r=n._init;return r(n._payload)}function Tp(n){function r(z,A){if(n){var U=z.deletions;U===null?(z.deletions=[A],z.flags|=16):U.push(A)}}function o(z,A){if(!n)return null;for(;A!==null;)r(z,A),A=A.sibling;return null}function l(z,A){for(z=new Map;A!==null;)A.key!==null?z.set(A.key,A):z.set(A.index,A),A=A.sibling;return z}function h(z,A){return z=$r(z,A),z.index=0,z.sibling=null,z}function m(z,A,U){return z.index=U,n?(U=z.alternate,U!==null?(U=U.index,U<A?(z.flags|=2,A):U):(z.flags|=2,A)):(z.flags|=1048576,A)}function k(z){return n&&z.alternate===null&&(z.flags|=2),z}function C(z,A,U,re){return A===null||A.tag!==6?(A=Bu(U,z.mode,re),A.return=z,A):(A=h(A,U),A.return=z,A)}function R(z,A,U,re){var we=U.type;return we===oe?J(z,A,U.props.children,re,U.key):A!==null&&(A.elementType===we||typeof we=="object"&&we!==null&&we.$$typeof===Q&&Cp(we)===A.type)?(re=h(A,U.props),re.ref=ro(z,A,U),re.return=z,re):(re=al(U.type,U.key,U.props,null,z.mode,re),re.ref=ro(z,A,U),re.return=z,re)}function H(z,A,U,re){return A===null||A.tag!==4||A.stateNode.containerInfo!==U.containerInfo||A.stateNode.implementation!==U.implementation?(A=Hu(U,z.mode,re),A.return=z,A):(A=h(A,U.children||[]),A.return=z,A)}function J(z,A,U,re,we){return A===null||A.tag!==7?(A=Pa(U,z.mode,re,we),A.return=z,A):(A=h(A,U),A.return=z,A)}function te(z,A,U){if(typeof A=="string"&&A!==""||typeof A=="number")return A=Bu(""+A,z.mode,U),A.return=z,A;if(typeof A=="object"&&A!==null){switch(A.$$typeof){case B:return U=al(A.type,A.key,A.props,null,z.mode,U),U.ref=ro(z,null,A),U.return=z,U;case Z:return A=Hu(A,z.mode,U),A.return=z,A;case Q:var re=A._init;return te(z,re(A._payload),U)}if(Bn(A)||$(A))return A=Pa(A,z.mode,U,null),A.return=z,A;Ls(z,A)}return null}function X(z,A,U,re){var we=A!==null?A.key:null;if(typeof U=="string"&&U!==""||typeof U=="number")return we!==null?null:C(z,A,""+U,re);if(typeof U=="object"&&U!==null){switch(U.$$typeof){case B:return U.key===we?R(z,A,U,re):null;case Z:return U.key===we?H(z,A,U,re):null;case Q:return we=U._init,X(z,A,we(U._payload),re)}if(Bn(U)||$(U))return we!==null?null:J(z,A,U,re,null);Ls(z,U)}return null}function ce(z,A,U,re,we){if(typeof re=="string"&&re!==""||typeof re=="number")return z=z.get(U)||null,C(A,z,""+re,we);if(typeof re=="object"&&re!==null){switch(re.$$typeof){case B:return z=z.get(re.key===null?U:re.key)||null,R(A,z,re,we);case Z:return z=z.get(re.key===null?U:re.key)||null,H(A,z,re,we);case Q:var Ee=re._init;return ce(z,A,U,Ee(re._payload),we)}if(Bn(re)||$(re))return z=z.get(U)||null,J(A,z,re,we,null);Ls(A,re)}return null}function ge(z,A,U,re){for(var we=null,Ee=null,Re=A,Me=A=0,Tt=null;Re!==null&&Me<U.length;Me++){Re.index>Me?(Tt=Re,Re=null):Tt=Re.sibling;var We=X(z,Re,U[Me],re);if(We===null){Re===null&&(Re=Tt);break}n&&Re&&We.alternate===null&&r(z,Re),A=m(We,A,Me),Ee===null?we=We:Ee.sibling=We,Ee=We,Re=Tt}if(Me===U.length)return o(z,Re),st&&ga(z,Me),we;if(Re===null){for(;Me<U.length;Me++)Re=te(z,U[Me],re),Re!==null&&(A=m(Re,A,Me),Ee===null?we=Re:Ee.sibling=Re,Ee=Re);return st&&ga(z,Me),we}for(Re=l(z,Re);Me<U.length;Me++)Tt=ce(Re,z,Me,U[Me],re),Tt!==null&&(n&&Tt.alternate!==null&&Re.delete(Tt.key===null?Me:Tt.key),A=m(Tt,A,Me),Ee===null?we=Tt:Ee.sibling=Tt,Ee=Tt);return n&&Re.forEach(function(Wr){return r(z,Wr)}),st&&ga(z,Me),we}function be(z,A,U,re){var we=$(U);if(typeof we!="function")throw Error(a(150));if(U=we.call(U),U==null)throw Error(a(151));for(var Ee=we=null,Re=A,Me=A=0,Tt=null,We=U.next();Re!==null&&!We.done;Me++,We=U.next()){Re.index>Me?(Tt=Re,Re=null):Tt=Re.sibling;var Wr=X(z,Re,We.value,re);if(Wr===null){Re===null&&(Re=Tt);break}n&&Re&&Wr.alternate===null&&r(z,Re),A=m(Wr,A,Me),Ee===null?we=Wr:Ee.sibling=Wr,Ee=Wr,Re=Tt}if(We.done)return o(z,Re),st&&ga(z,Me),we;if(Re===null){for(;!We.done;Me++,We=U.next())We=te(z,We.value,re),We!==null&&(A=m(We,A,Me),Ee===null?we=We:Ee.sibling=We,Ee=We);return st&&ga(z,Me),we}for(Re=l(z,Re);!We.done;Me++,We=U.next())We=ce(Re,z,Me,We.value,re),We!==null&&(n&&We.alternate!==null&&Re.delete(We.key===null?Me:We.key),A=m(We,A,Me),Ee===null?we=We:Ee.sibling=We,Ee=We);return n&&Re.forEach(function(V_){return r(z,V_)}),st&&ga(z,Me),we}function pt(z,A,U,re){if(typeof U=="object"&&U!==null&&U.type===oe&&U.key===null&&(U=U.props.children),typeof U=="object"&&U!==null){switch(U.$$typeof){case B:e:{for(var we=U.key,Ee=A;Ee!==null;){if(Ee.key===we){if(we=U.type,we===oe){if(Ee.tag===7){o(z,Ee.sibling),A=h(Ee,U.props.children),A.return=z,z=A;break e}}else if(Ee.elementType===we||typeof we=="object"&&we!==null&&we.$$typeof===Q&&Cp(we)===Ee.type){o(z,Ee.sibling),A=h(Ee,U.props),A.ref=ro(z,Ee,U),A.return=z,z=A;break e}o(z,Ee);break}else r(z,Ee);Ee=Ee.sibling}U.type===oe?(A=Pa(U.props.children,z.mode,re,U.key),A.return=z,z=A):(re=al(U.type,U.key,U.props,null,z.mode,re),re.ref=ro(z,A,U),re.return=z,z=re)}return k(z);case Z:e:{for(Ee=U.key;A!==null;){if(A.key===Ee)if(A.tag===4&&A.stateNode.containerInfo===U.containerInfo&&A.stateNode.implementation===U.implementation){o(z,A.sibling),A=h(A,U.children||[]),A.return=z,z=A;break e}else{o(z,A);break}else r(z,A);A=A.sibling}A=Hu(U,z.mode,re),A.return=z,z=A}return k(z);case Q:return Ee=U._init,pt(z,A,Ee(U._payload),re)}if(Bn(U))return ge(z,A,U,re);if($(U))return be(z,A,U,re);Ls(z,U)}return typeof U=="string"&&U!==""||typeof U=="number"?(U=""+U,A!==null&&A.tag===6?(o(z,A.sibling),A=h(A,U),A.return=z,z=A):(o(z,A),A=Bu(U,z.mode,re),A.return=z,z=A),k(z)):o(z,A)}return pt}var li=Tp(!0),Ep=Tp(!1),Ns=Lr(null),js=null,ci=null,Qc=null;function Jc(){Qc=ci=js=null}function eu(n){var r=Ns.current;at(Ns),n._currentValue=r}function tu(n,r,o){for(;n!==null;){var l=n.alternate;if((n.childLanes&r)!==r?(n.childLanes|=r,l!==null&&(l.childLanes|=r)):l!==null&&(l.childLanes&r)!==r&&(l.childLanes|=r),n===o)break;n=n.return}}function ui(n,r){js=n,Qc=ci=null,n=n.dependencies,n!==null&&n.firstContext!==null&&((n.lanes&r)!==0&&(Jt=!0),n.firstContext=null)}function vn(n){var r=n._currentValue;if(Qc!==n)if(n={context:n,memoizedValue:r,next:null},ci===null){if(js===null)throw Error(a(308));ci=n,js.dependencies={lanes:0,firstContext:n}}else ci=ci.next=n;return r}var va=null;function nu(n){va===null?va=[n]:va.push(n)}function Rp(n,r,o,l){var h=r.interleaved;return h===null?(o.next=o,nu(r)):(o.next=h.next,h.next=o),r.interleaved=o,pr(n,l)}function pr(n,r){n.lanes|=r;var o=n.alternate;for(o!==null&&(o.lanes|=r),o=n,n=n.return;n!==null;)n.childLanes|=r,o=n.alternate,o!==null&&(o.childLanes|=r),o=n,n=n.return;return o.tag===3?o.stateNode:null}var Or=!1;function ru(n){n.updateQueue={baseState:n.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Dp(n,r){n=n.updateQueue,r.updateQueue===n&&(r.updateQueue={baseState:n.baseState,firstBaseUpdate:n.firstBaseUpdate,lastBaseUpdate:n.lastBaseUpdate,shared:n.shared,effects:n.effects})}function mr(n,r){return{eventTime:n,lane:r,tag:0,payload:null,callback:null,next:null}}function zr(n,r,o){var l=n.updateQueue;if(l===null)return null;if(l=l.shared,($e&2)!==0){var h=l.pending;return h===null?r.next=r:(r.next=h.next,h.next=r),l.pending=r,pr(n,o)}return h=l.interleaved,h===null?(r.next=r,nu(l)):(r.next=h.next,h.next=r),l.interleaved=r,pr(n,o)}function Os(n,r,o){if(r=r.updateQueue,r!==null&&(r=r.shared,(o&4194240)!==0)){var l=r.lanes;l&=n.pendingLanes,o|=l,r.lanes=o,vc(n,o)}}function Ip(n,r){var o=n.updateQueue,l=n.alternate;if(l!==null&&(l=l.updateQueue,o===l)){var h=null,m=null;if(o=o.firstBaseUpdate,o!==null){do{var k={eventTime:o.eventTime,lane:o.lane,tag:o.tag,payload:o.payload,callback:o.callback,next:null};m===null?h=m=k:m=m.next=k,o=o.next}while(o!==null);m===null?h=m=r:m=m.next=r}else h=m=r;o={baseState:l.baseState,firstBaseUpdate:h,lastBaseUpdate:m,shared:l.shared,effects:l.effects},n.updateQueue=o;return}n=o.lastBaseUpdate,n===null?o.firstBaseUpdate=r:n.next=r,o.lastBaseUpdate=r}function zs(n,r,o,l){var h=n.updateQueue;Or=!1;var m=h.firstBaseUpdate,k=h.lastBaseUpdate,C=h.shared.pending;if(C!==null){h.shared.pending=null;var R=C,H=R.next;R.next=null,k===null?m=H:k.next=H,k=R;var J=n.alternate;J!==null&&(J=J.updateQueue,C=J.lastBaseUpdate,C!==k&&(C===null?J.firstBaseUpdate=H:C.next=H,J.lastBaseUpdate=R))}if(m!==null){var te=h.baseState;k=0,J=H=R=null,C=m;do{var X=C.lane,ce=C.eventTime;if((l&X)===X){J!==null&&(J=J.next={eventTime:ce,lane:0,tag:C.tag,payload:C.payload,callback:C.callback,next:null});e:{var ge=n,be=C;switch(X=r,ce=o,be.tag){case 1:if(ge=be.payload,typeof ge=="function"){te=ge.call(ce,te,X);break e}te=ge;break e;case 3:ge.flags=ge.flags&-65537|128;case 0:if(ge=be.payload,X=typeof ge=="function"?ge.call(ce,te,X):ge,X==null)break e;te=O({},te,X);break e;case 2:Or=!0}}C.callback!==null&&C.lane!==0&&(n.flags|=64,X=h.effects,X===null?h.effects=[C]:X.push(C))}else ce={eventTime:ce,lane:X,tag:C.tag,payload:C.payload,callback:C.callback,next:null},J===null?(H=J=ce,R=te):J=J.next=ce,k|=X;if(C=C.next,C===null){if(C=h.shared.pending,C===null)break;X=C,C=X.next,X.next=null,h.lastBaseUpdate=X,h.shared.pending=null}}while(!0);if(J===null&&(R=te),h.baseState=R,h.firstBaseUpdate=H,h.lastBaseUpdate=J,r=h.shared.interleaved,r!==null){h=r;do k|=h.lane,h=h.next;while(h!==r)}else m===null&&(h.shared.lanes=0);ba|=k,n.lanes=k,n.memoizedState=te}}function Ap(n,r,o){if(n=r.effects,r.effects=null,n!==null)for(r=0;r<n.length;r++){var l=n[r],h=l.callback;if(h!==null){if(l.callback=null,l=o,typeof h!="function")throw Error(a(191,h));h.call(l)}}}var ao={},Kn=Lr(ao),io=Lr(ao),oo=Lr(ao);function ya(n){if(n===ao)throw Error(a(174));return n}function au(n,r){switch(tt(oo,r),tt(io,n),tt(Kn,ao),n=r.nodeType,n){case 9:case 11:r=(r=r.documentElement)?r.namespaceURI:ot(null,"");break;default:n=n===8?r.parentNode:r,r=n.namespaceURI||null,n=n.tagName,r=ot(r,n)}at(Kn),tt(Kn,r)}function di(){at(Kn),at(io),at(oo)}function Mp(n){ya(oo.current);var r=ya(Kn.current),o=ot(r,n.type);r!==o&&(tt(io,n),tt(Kn,o))}function iu(n){io.current===n&&(at(Kn),at(io))}var lt=Lr(0);function Vs(n){for(var r=n;r!==null;){if(r.tag===13){var o=r.memoizedState;if(o!==null&&(o=o.dehydrated,o===null||o.data==="$?"||o.data==="$!"))return r}else if(r.tag===19&&r.memoizedProps.revealOrder!==void 0){if((r.flags&128)!==0)return r}else if(r.child!==null){r.child.return=r,r=r.child;continue}if(r===n)break;for(;r.sibling===null;){if(r.return===null||r.return===n)return null;r=r.return}r.sibling.return=r.return,r=r.sibling}return null}var ou=[];function su(){for(var n=0;n<ou.length;n++)ou[n]._workInProgressVersionPrimary=null;ou.length=0}var Fs=D.ReactCurrentDispatcher,lu=D.ReactCurrentBatchConfig,ka=0,ct=null,bt=null,St=null,Us=!1,so=!1,lo=0,s_=0;function Ot(){throw Error(a(321))}function cu(n,r){if(r===null)return!1;for(var o=0;o<r.length&&o<n.length;o++)if(!In(n[o],r[o]))return!1;return!0}function uu(n,r,o,l,h,m){if(ka=m,ct=r,r.memoizedState=null,r.updateQueue=null,r.lanes=0,Fs.current=n===null||n.memoizedState===null?d_:h_,n=o(l,h),so){m=0;do{if(so=!1,lo=0,25<=m)throw Error(a(301));m+=1,St=bt=null,r.updateQueue=null,Fs.current=f_,n=o(l,h)}while(so)}if(Fs.current=$s,r=bt!==null&&bt.next!==null,ka=0,St=bt=ct=null,Us=!1,r)throw Error(a(300));return n}function du(){var n=lo!==0;return lo=0,n}function Yn(){var n={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return St===null?ct.memoizedState=St=n:St=St.next=n,St}function yn(){if(bt===null){var n=ct.alternate;n=n!==null?n.memoizedState:null}else n=bt.next;var r=St===null?ct.memoizedState:St.next;if(r!==null)St=r,bt=n;else{if(n===null)throw Error(a(310));bt=n,n={memoizedState:bt.memoizedState,baseState:bt.baseState,baseQueue:bt.baseQueue,queue:bt.queue,next:null},St===null?ct.memoizedState=St=n:St=St.next=n}return St}function co(n,r){return typeof r=="function"?r(n):r}function hu(n){var r=yn(),o=r.queue;if(o===null)throw Error(a(311));o.lastRenderedReducer=n;var l=bt,h=l.baseQueue,m=o.pending;if(m!==null){if(h!==null){var k=h.next;h.next=m.next,m.next=k}l.baseQueue=h=m,o.pending=null}if(h!==null){m=h.next,l=l.baseState;var C=k=null,R=null,H=m;do{var J=H.lane;if((ka&J)===J)R!==null&&(R=R.next={lane:0,action:H.action,hasEagerState:H.hasEagerState,eagerState:H.eagerState,next:null}),l=H.hasEagerState?H.eagerState:n(l,H.action);else{var te={lane:J,action:H.action,hasEagerState:H.hasEagerState,eagerState:H.eagerState,next:null};R===null?(C=R=te,k=l):R=R.next=te,ct.lanes|=J,ba|=J}H=H.next}while(H!==null&&H!==m);R===null?k=l:R.next=C,In(l,r.memoizedState)||(Jt=!0),r.memoizedState=l,r.baseState=k,r.baseQueue=R,o.lastRenderedState=l}if(n=o.interleaved,n!==null){h=n;do m=h.lane,ct.lanes|=m,ba|=m,h=h.next;while(h!==n)}else h===null&&(o.lanes=0);return[r.memoizedState,o.dispatch]}function fu(n){var r=yn(),o=r.queue;if(o===null)throw Error(a(311));o.lastRenderedReducer=n;var l=o.dispatch,h=o.pending,m=r.memoizedState;if(h!==null){o.pending=null;var k=h=h.next;do m=n(m,k.action),k=k.next;while(k!==h);In(m,r.memoizedState)||(Jt=!0),r.memoizedState=m,r.baseQueue===null&&(r.baseState=m),o.lastRenderedState=m}return[m,l]}function Lp(){}function Np(n,r){var o=ct,l=yn(),h=r(),m=!In(l.memoizedState,h);if(m&&(l.memoizedState=h,Jt=!0),l=l.queue,pu(zp.bind(null,o,l,n),[n]),l.getSnapshot!==r||m||St!==null&&St.memoizedState.tag&1){if(o.flags|=2048,uo(9,Op.bind(null,o,l,h,r),void 0,null),Ct===null)throw Error(a(349));(ka&30)!==0||jp(o,r,h)}return h}function jp(n,r,o){n.flags|=16384,n={getSnapshot:r,value:o},r=ct.updateQueue,r===null?(r={lastEffect:null,stores:null},ct.updateQueue=r,r.stores=[n]):(o=r.stores,o===null?r.stores=[n]:o.push(n))}function Op(n,r,o,l){r.value=o,r.getSnapshot=l,Vp(r)&&Fp(n)}function zp(n,r,o){return o(function(){Vp(r)&&Fp(n)})}function Vp(n){var r=n.getSnapshot;n=n.value;try{var o=r();return!In(n,o)}catch{return!0}}function Fp(n){var r=pr(n,1);r!==null&&jn(r,n,1,-1)}function Up(n){var r=Yn();return typeof n=="function"&&(n=n()),r.memoizedState=r.baseState=n,n={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:co,lastRenderedState:n},r.queue=n,n=n.dispatch=u_.bind(null,ct,n),[r.memoizedState,n]}function uo(n,r,o,l){return n={tag:n,create:r,destroy:o,deps:l,next:null},r=ct.updateQueue,r===null?(r={lastEffect:null,stores:null},ct.updateQueue=r,r.lastEffect=n.next=n):(o=r.lastEffect,o===null?r.lastEffect=n.next=n:(l=o.next,o.next=n,n.next=l,r.lastEffect=n)),n}function Bp(){return yn().memoizedState}function Bs(n,r,o,l){var h=Yn();ct.flags|=n,h.memoizedState=uo(1|r,o,void 0,l===void 0?null:l)}function Hs(n,r,o,l){var h=yn();l=l===void 0?null:l;var m=void 0;if(bt!==null){var k=bt.memoizedState;if(m=k.destroy,l!==null&&cu(l,k.deps)){h.memoizedState=uo(r,o,m,l);return}}ct.flags|=n,h.memoizedState=uo(1|r,o,m,l)}function Hp(n,r){return Bs(8390656,8,n,r)}function pu(n,r){return Hs(2048,8,n,r)}function $p(n,r){return Hs(4,2,n,r)}function Wp(n,r){return Hs(4,4,n,r)}function Gp(n,r){if(typeof r=="function")return n=n(),r(n),function(){r(null)};if(r!=null)return n=n(),r.current=n,function(){r.current=null}}function Kp(n,r,o){return o=o!=null?o.concat([n]):null,Hs(4,4,Gp.bind(null,r,n),o)}function mu(){}function Yp(n,r){var o=yn();r=r===void 0?null:r;var l=o.memoizedState;return l!==null&&r!==null&&cu(r,l[1])?l[0]:(o.memoizedState=[n,r],n)}function Xp(n,r){var o=yn();r=r===void 0?null:r;var l=o.memoizedState;return l!==null&&r!==null&&cu(r,l[1])?l[0]:(n=n(),o.memoizedState=[n,r],n)}function Zp(n,r,o){return(ka&21)===0?(n.baseState&&(n.baseState=!1,Jt=!0),n.memoizedState=o):(In(o,r)||(o=ds(),ct.lanes|=o,ba|=o,n.baseState=!0),r)}function l_(n,r){var o=Xe;Xe=o!==0&&4>o?o:4,n(!0);var l=lu.transition;lu.transition={};try{n(!1),r()}finally{Xe=o,lu.transition=l}}function qp(){return yn().memoizedState}function c_(n,r,o){var l=Br(n);if(o={lane:l,action:o,hasEagerState:!1,eagerState:null,next:null},Qp(n))Jp(r,o);else if(o=Rp(n,r,o,l),o!==null){var h=Gt();jn(o,n,l,h),em(o,r,l)}}function u_(n,r,o){var l=Br(n),h={lane:l,action:o,hasEagerState:!1,eagerState:null,next:null};if(Qp(n))Jp(r,h);else{var m=n.alternate;if(n.lanes===0&&(m===null||m.lanes===0)&&(m=r.lastRenderedReducer,m!==null))try{var k=r.lastRenderedState,C=m(k,o);if(h.hasEagerState=!0,h.eagerState=C,In(C,k)){var R=r.interleaved;R===null?(h.next=h,nu(r)):(h.next=R.next,R.next=h),r.interleaved=h;return}}catch{}o=Rp(n,r,h,l),o!==null&&(h=Gt(),jn(o,n,l,h),em(o,r,l))}}function Qp(n){var r=n.alternate;return n===ct||r!==null&&r===ct}function Jp(n,r){so=Us=!0;var o=n.pending;o===null?r.next=r:(r.next=o.next,o.next=r),n.pending=r}function em(n,r,o){if((o&4194240)!==0){var l=r.lanes;l&=n.pendingLanes,o|=l,r.lanes=o,vc(n,o)}}var $s={readContext:vn,useCallback:Ot,useContext:Ot,useEffect:Ot,useImperativeHandle:Ot,useInsertionEffect:Ot,useLayoutEffect:Ot,useMemo:Ot,useReducer:Ot,useRef:Ot,useState:Ot,useDebugValue:Ot,useDeferredValue:Ot,useTransition:Ot,useMutableSource:Ot,useSyncExternalStore:Ot,useId:Ot,unstable_isNewReconciler:!1},d_={readContext:vn,useCallback:function(n,r){return Yn().memoizedState=[n,r===void 0?null:r],n},useContext:vn,useEffect:Hp,useImperativeHandle:function(n,r,o){return o=o!=null?o.concat([n]):null,Bs(4194308,4,Gp.bind(null,r,n),o)},useLayoutEffect:function(n,r){return Bs(4194308,4,n,r)},useInsertionEffect:function(n,r){return Bs(4,2,n,r)},useMemo:function(n,r){var o=Yn();return r=r===void 0?null:r,n=n(),o.memoizedState=[n,r],n},useReducer:function(n,r,o){var l=Yn();return r=o!==void 0?o(r):r,l.memoizedState=l.baseState=r,n={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:r},l.queue=n,n=n.dispatch=c_.bind(null,ct,n),[l.memoizedState,n]},useRef:function(n){var r=Yn();return n={current:n},r.memoizedState=n},useState:Up,useDebugValue:mu,useDeferredValue:function(n){return Yn().memoizedState=n},useTransition:function(){var n=Up(!1),r=n[0];return n=l_.bind(null,n[1]),Yn().memoizedState=n,[r,n]},useMutableSource:function(){},useSyncExternalStore:function(n,r,o){var l=ct,h=Yn();if(st){if(o===void 0)throw Error(a(407));o=o()}else{if(o=r(),Ct===null)throw Error(a(349));(ka&30)!==0||jp(l,r,o)}h.memoizedState=o;var m={value:o,getSnapshot:r};return h.queue=m,Hp(zp.bind(null,l,m,n),[n]),l.flags|=2048,uo(9,Op.bind(null,l,m,o,r),void 0,null),o},useId:function(){var n=Yn(),r=Ct.identifierPrefix;if(st){var o=fr,l=hr;o=(l&~(1<<32-Lt(l)-1)).toString(32)+o,r=":"+r+"R"+o,o=lo++,0<o&&(r+="H"+o.toString(32)),r+=":"}else o=s_++,r=":"+r+"r"+o.toString(32)+":";return n.memoizedState=r},unstable_isNewReconciler:!1},h_={readContext:vn,useCallback:Yp,useContext:vn,useEffect:pu,useImperativeHandle:Kp,useInsertionEffect:$p,useLayoutEffect:Wp,useMemo:Xp,useReducer:hu,useRef:Bp,useState:function(){return hu(co)},useDebugValue:mu,useDeferredValue:function(n){var r=yn();return Zp(r,bt.memoizedState,n)},useTransition:function(){var n=hu(co)[0],r=yn().memoizedState;return[n,r]},useMutableSource:Lp,useSyncExternalStore:Np,useId:qp,unstable_isNewReconciler:!1},f_={readContext:vn,useCallback:Yp,useContext:vn,useEffect:pu,useImperativeHandle:Kp,useInsertionEffect:$p,useLayoutEffect:Wp,useMemo:Xp,useReducer:fu,useRef:Bp,useState:function(){return fu(co)},useDebugValue:mu,useDeferredValue:function(n){var r=yn();return bt===null?r.memoizedState=n:Zp(r,bt.memoizedState,n)},useTransition:function(){var n=fu(co)[0],r=yn().memoizedState;return[n,r]},useMutableSource:Lp,useSyncExternalStore:Np,useId:qp,unstable_isNewReconciler:!1};function Mn(n,r){if(n&&n.defaultProps){r=O({},r),n=n.defaultProps;for(var o in n)r[o]===void 0&&(r[o]=n[o]);return r}return r}function gu(n,r,o,l){r=n.memoizedState,o=o(l,r),o=o==null?r:O({},r,o),n.memoizedState=o,n.lanes===0&&(n.updateQueue.baseState=o)}var Ws={isMounted:function(n){return(n=n._reactInternals)?le(n)===n:!1},enqueueSetState:function(n,r,o){n=n._reactInternals;var l=Gt(),h=Br(n),m=mr(l,h);m.payload=r,o!=null&&(m.callback=o),r=zr(n,m,h),r!==null&&(jn(r,n,h,l),Os(r,n,h))},enqueueReplaceState:function(n,r,o){n=n._reactInternals;var l=Gt(),h=Br(n),m=mr(l,h);m.tag=1,m.payload=r,o!=null&&(m.callback=o),r=zr(n,m,h),r!==null&&(jn(r,n,h,l),Os(r,n,h))},enqueueForceUpdate:function(n,r){n=n._reactInternals;var o=Gt(),l=Br(n),h=mr(o,l);h.tag=2,r!=null&&(h.callback=r),r=zr(n,h,l),r!==null&&(jn(r,n,l,o),Os(r,n,l))}};function tm(n,r,o,l,h,m,k){return n=n.stateNode,typeof n.shouldComponentUpdate=="function"?n.shouldComponentUpdate(l,m,k):r.prototype&&r.prototype.isPureReactComponent?!Zi(o,l)||!Zi(h,m):!0}function nm(n,r,o){var l=!1,h=Nr,m=r.contextType;return typeof m=="object"&&m!==null?m=vn(m):(h=Qt(r)?pa:jt.current,l=r.contextTypes,m=(l=l!=null)?ai(n,h):Nr),r=new r(o,m),n.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,r.updater=Ws,n.stateNode=r,r._reactInternals=n,l&&(n=n.stateNode,n.__reactInternalMemoizedUnmaskedChildContext=h,n.__reactInternalMemoizedMaskedChildContext=m),r}function rm(n,r,o,l){n=r.state,typeof r.componentWillReceiveProps=="function"&&r.componentWillReceiveProps(o,l),typeof r.UNSAFE_componentWillReceiveProps=="function"&&r.UNSAFE_componentWillReceiveProps(o,l),r.state!==n&&Ws.enqueueReplaceState(r,r.state,null)}function vu(n,r,o,l){var h=n.stateNode;h.props=o,h.state=n.memoizedState,h.refs={},ru(n);var m=r.contextType;typeof m=="object"&&m!==null?h.context=vn(m):(m=Qt(r)?pa:jt.current,h.context=ai(n,m)),h.state=n.memoizedState,m=r.getDerivedStateFromProps,typeof m=="function"&&(gu(n,r,m,o),h.state=n.memoizedState),typeof r.getDerivedStateFromProps=="function"||typeof h.getSnapshotBeforeUpdate=="function"||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(r=h.state,typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount(),r!==h.state&&Ws.enqueueReplaceState(h,h.state,null),zs(n,o,h,l),h.state=n.memoizedState),typeof h.componentDidMount=="function"&&(n.flags|=4194308)}function hi(n,r){try{var o="",l=r;do o+=he(l),l=l.return;while(l);var h=o}catch(m){h=`
|
|
8
|
+
Error generating stack: `+m.message+`
|
|
9
|
+
`+m.stack}return{value:n,source:r,stack:h,digest:null}}function yu(n,r,o){return{value:n,source:null,stack:o??null,digest:r??null}}function ku(n,r){try{console.error(r.value)}catch(o){setTimeout(function(){throw o})}}var p_=typeof WeakMap=="function"?WeakMap:Map;function am(n,r,o){o=mr(-1,o),o.tag=3,o.payload={element:null};var l=r.value;return o.callback=function(){Qs||(Qs=!0,Lu=l),ku(n,r)},o}function im(n,r,o){o=mr(-1,o),o.tag=3;var l=n.type.getDerivedStateFromError;if(typeof l=="function"){var h=r.value;o.payload=function(){return l(h)},o.callback=function(){ku(n,r)}}var m=n.stateNode;return m!==null&&typeof m.componentDidCatch=="function"&&(o.callback=function(){ku(n,r),typeof l!="function"&&(Fr===null?Fr=new Set([this]):Fr.add(this));var k=r.stack;this.componentDidCatch(r.value,{componentStack:k!==null?k:""})}),o}function om(n,r,o){var l=n.pingCache;if(l===null){l=n.pingCache=new p_;var h=new Set;l.set(r,h)}else h=l.get(r),h===void 0&&(h=new Set,l.set(r,h));h.has(o)||(h.add(o),n=E_.bind(null,n,r,o),r.then(n,n))}function sm(n){do{var r;if((r=n.tag===13)&&(r=n.memoizedState,r=r!==null?r.dehydrated!==null:!0),r)return n;n=n.return}while(n!==null);return null}function lm(n,r,o,l,h){return(n.mode&1)===0?(n===r?n.flags|=65536:(n.flags|=128,o.flags|=131072,o.flags&=-52805,o.tag===1&&(o.alternate===null?o.tag=17:(r=mr(-1,1),r.tag=2,zr(o,r,1))),o.lanes|=1),n):(n.flags|=65536,n.lanes=h,n)}var m_=D.ReactCurrentOwner,Jt=!1;function Wt(n,r,o,l){r.child=n===null?Ep(r,null,o,l):li(r,n.child,o,l)}function cm(n,r,o,l,h){o=o.render;var m=r.ref;return ui(r,h),l=uu(n,r,o,l,m,h),o=du(),n!==null&&!Jt?(r.updateQueue=n.updateQueue,r.flags&=-2053,n.lanes&=~h,gr(n,r,h)):(st&&o&&Kc(r),r.flags|=1,Wt(n,r,l,h),r.child)}function um(n,r,o,l,h){if(n===null){var m=o.type;return typeof m=="function"&&!Uu(m)&&m.defaultProps===void 0&&o.compare===null&&o.defaultProps===void 0?(r.tag=15,r.type=m,dm(n,r,m,l,h)):(n=al(o.type,null,l,r,r.mode,h),n.ref=r.ref,n.return=r,r.child=n)}if(m=n.child,(n.lanes&h)===0){var k=m.memoizedProps;if(o=o.compare,o=o!==null?o:Zi,o(k,l)&&n.ref===r.ref)return gr(n,r,h)}return r.flags|=1,n=$r(m,l),n.ref=r.ref,n.return=r,r.child=n}function dm(n,r,o,l,h){if(n!==null){var m=n.memoizedProps;if(Zi(m,l)&&n.ref===r.ref)if(Jt=!1,r.pendingProps=l=m,(n.lanes&h)!==0)(n.flags&131072)!==0&&(Jt=!0);else return r.lanes=n.lanes,gr(n,r,h)}return bu(n,r,o,l,h)}function hm(n,r,o){var l=r.pendingProps,h=l.children,m=n!==null?n.memoizedState:null;if(l.mode==="hidden")if((r.mode&1)===0)r.memoizedState={baseLanes:0,cachePool:null,transitions:null},tt(pi,hn),hn|=o;else{if((o&1073741824)===0)return n=m!==null?m.baseLanes|o:o,r.lanes=r.childLanes=1073741824,r.memoizedState={baseLanes:n,cachePool:null,transitions:null},r.updateQueue=null,tt(pi,hn),hn|=n,null;r.memoizedState={baseLanes:0,cachePool:null,transitions:null},l=m!==null?m.baseLanes:o,tt(pi,hn),hn|=l}else m!==null?(l=m.baseLanes|o,r.memoizedState=null):l=o,tt(pi,hn),hn|=l;return Wt(n,r,h,o),r.child}function fm(n,r){var o=r.ref;(n===null&&o!==null||n!==null&&n.ref!==o)&&(r.flags|=512,r.flags|=2097152)}function bu(n,r,o,l,h){var m=Qt(o)?pa:jt.current;return m=ai(r,m),ui(r,h),o=uu(n,r,o,l,m,h),l=du(),n!==null&&!Jt?(r.updateQueue=n.updateQueue,r.flags&=-2053,n.lanes&=~h,gr(n,r,h)):(st&&l&&Kc(r),r.flags|=1,Wt(n,r,o,h),r.child)}function pm(n,r,o,l,h){if(Qt(o)){var m=!0;Rs(r)}else m=!1;if(ui(r,h),r.stateNode===null)Ks(n,r),nm(r,o,l),vu(r,o,l,h),l=!0;else if(n===null){var k=r.stateNode,C=r.memoizedProps;k.props=C;var R=k.context,H=o.contextType;typeof H=="object"&&H!==null?H=vn(H):(H=Qt(o)?pa:jt.current,H=ai(r,H));var J=o.getDerivedStateFromProps,te=typeof J=="function"||typeof k.getSnapshotBeforeUpdate=="function";te||typeof k.UNSAFE_componentWillReceiveProps!="function"&&typeof k.componentWillReceiveProps!="function"||(C!==l||R!==H)&&rm(r,k,l,H),Or=!1;var X=r.memoizedState;k.state=X,zs(r,l,k,h),R=r.memoizedState,C!==l||X!==R||qt.current||Or?(typeof J=="function"&&(gu(r,o,J,l),R=r.memoizedState),(C=Or||tm(r,o,C,l,X,R,H))?(te||typeof k.UNSAFE_componentWillMount!="function"&&typeof k.componentWillMount!="function"||(typeof k.componentWillMount=="function"&&k.componentWillMount(),typeof k.UNSAFE_componentWillMount=="function"&&k.UNSAFE_componentWillMount()),typeof k.componentDidMount=="function"&&(r.flags|=4194308)):(typeof k.componentDidMount=="function"&&(r.flags|=4194308),r.memoizedProps=l,r.memoizedState=R),k.props=l,k.state=R,k.context=H,l=C):(typeof k.componentDidMount=="function"&&(r.flags|=4194308),l=!1)}else{k=r.stateNode,Dp(n,r),C=r.memoizedProps,H=r.type===r.elementType?C:Mn(r.type,C),k.props=H,te=r.pendingProps,X=k.context,R=o.contextType,typeof R=="object"&&R!==null?R=vn(R):(R=Qt(o)?pa:jt.current,R=ai(r,R));var ce=o.getDerivedStateFromProps;(J=typeof ce=="function"||typeof k.getSnapshotBeforeUpdate=="function")||typeof k.UNSAFE_componentWillReceiveProps!="function"&&typeof k.componentWillReceiveProps!="function"||(C!==te||X!==R)&&rm(r,k,l,R),Or=!1,X=r.memoizedState,k.state=X,zs(r,l,k,h);var ge=r.memoizedState;C!==te||X!==ge||qt.current||Or?(typeof ce=="function"&&(gu(r,o,ce,l),ge=r.memoizedState),(H=Or||tm(r,o,H,l,X,ge,R)||!1)?(J||typeof k.UNSAFE_componentWillUpdate!="function"&&typeof k.componentWillUpdate!="function"||(typeof k.componentWillUpdate=="function"&&k.componentWillUpdate(l,ge,R),typeof k.UNSAFE_componentWillUpdate=="function"&&k.UNSAFE_componentWillUpdate(l,ge,R)),typeof k.componentDidUpdate=="function"&&(r.flags|=4),typeof k.getSnapshotBeforeUpdate=="function"&&(r.flags|=1024)):(typeof k.componentDidUpdate!="function"||C===n.memoizedProps&&X===n.memoizedState||(r.flags|=4),typeof k.getSnapshotBeforeUpdate!="function"||C===n.memoizedProps&&X===n.memoizedState||(r.flags|=1024),r.memoizedProps=l,r.memoizedState=ge),k.props=l,k.state=ge,k.context=R,l=H):(typeof k.componentDidUpdate!="function"||C===n.memoizedProps&&X===n.memoizedState||(r.flags|=4),typeof k.getSnapshotBeforeUpdate!="function"||C===n.memoizedProps&&X===n.memoizedState||(r.flags|=1024),l=!1)}return wu(n,r,o,l,m,h)}function wu(n,r,o,l,h,m){fm(n,r);var k=(r.flags&128)!==0;if(!l&&!k)return h&&kp(r,o,!1),gr(n,r,m);l=r.stateNode,m_.current=r;var C=k&&typeof o.getDerivedStateFromError!="function"?null:l.render();return r.flags|=1,n!==null&&k?(r.child=li(r,n.child,null,m),r.child=li(r,null,C,m)):Wt(n,r,C,m),r.memoizedState=l.state,h&&kp(r,o,!0),r.child}function mm(n){var r=n.stateNode;r.pendingContext?vp(n,r.pendingContext,r.pendingContext!==r.context):r.context&&vp(n,r.context,!1),au(n,r.containerInfo)}function gm(n,r,o,l,h){return si(),qc(h),r.flags|=256,Wt(n,r,o,l),r.child}var _u={dehydrated:null,treeContext:null,retryLane:0};function xu(n){return{baseLanes:n,cachePool:null,transitions:null}}function vm(n,r,o){var l=r.pendingProps,h=lt.current,m=!1,k=(r.flags&128)!==0,C;if((C=k)||(C=n!==null&&n.memoizedState===null?!1:(h&2)!==0),C?(m=!0,r.flags&=-129):(n===null||n.memoizedState!==null)&&(h|=1),tt(lt,h&1),n===null)return Zc(r),n=r.memoizedState,n!==null&&(n=n.dehydrated,n!==null)?((r.mode&1)===0?r.lanes=1:n.data==="$!"?r.lanes=8:r.lanes=1073741824,null):(k=l.children,n=l.fallback,m?(l=r.mode,m=r.child,k={mode:"hidden",children:k},(l&1)===0&&m!==null?(m.childLanes=0,m.pendingProps=k):m=il(k,l,0,null),n=Pa(n,l,o,null),m.return=r,n.return=r,m.sibling=n,r.child=m,r.child.memoizedState=xu(o),r.memoizedState=_u,n):Pu(r,k));if(h=n.memoizedState,h!==null&&(C=h.dehydrated,C!==null))return g_(n,r,k,l,C,h,o);if(m){m=l.fallback,k=r.mode,h=n.child,C=h.sibling;var R={mode:"hidden",children:l.children};return(k&1)===0&&r.child!==h?(l=r.child,l.childLanes=0,l.pendingProps=R,r.deletions=null):(l=$r(h,R),l.subtreeFlags=h.subtreeFlags&14680064),C!==null?m=$r(C,m):(m=Pa(m,k,o,null),m.flags|=2),m.return=r,l.return=r,l.sibling=m,r.child=l,l=m,m=r.child,k=n.child.memoizedState,k=k===null?xu(o):{baseLanes:k.baseLanes|o,cachePool:null,transitions:k.transitions},m.memoizedState=k,m.childLanes=n.childLanes&~o,r.memoizedState=_u,l}return m=n.child,n=m.sibling,l=$r(m,{mode:"visible",children:l.children}),(r.mode&1)===0&&(l.lanes=o),l.return=r,l.sibling=null,n!==null&&(o=r.deletions,o===null?(r.deletions=[n],r.flags|=16):o.push(n)),r.child=l,r.memoizedState=null,l}function Pu(n,r){return r=il({mode:"visible",children:r},n.mode,0,null),r.return=n,n.child=r}function Gs(n,r,o,l){return l!==null&&qc(l),li(r,n.child,null,o),n=Pu(r,r.pendingProps.children),n.flags|=2,r.memoizedState=null,n}function g_(n,r,o,l,h,m,k){if(o)return r.flags&256?(r.flags&=-257,l=yu(Error(a(422))),Gs(n,r,k,l)):r.memoizedState!==null?(r.child=n.child,r.flags|=128,null):(m=l.fallback,h=r.mode,l=il({mode:"visible",children:l.children},h,0,null),m=Pa(m,h,k,null),m.flags|=2,l.return=r,m.return=r,l.sibling=m,r.child=l,(r.mode&1)!==0&&li(r,n.child,null,k),r.child.memoizedState=xu(k),r.memoizedState=_u,m);if((r.mode&1)===0)return Gs(n,r,k,null);if(h.data==="$!"){if(l=h.nextSibling&&h.nextSibling.dataset,l)var C=l.dgst;return l=C,m=Error(a(419)),l=yu(m,l,void 0),Gs(n,r,k,l)}if(C=(k&n.childLanes)!==0,Jt||C){if(l=Ct,l!==null){switch(k&-k){case 4:h=2;break;case 16:h=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:h=32;break;case 536870912:h=268435456;break;default:h=0}h=(h&(l.suspendedLanes|k))!==0?0:h,h!==0&&h!==m.retryLane&&(m.retryLane=h,pr(n,h),jn(l,n,h,-1))}return Fu(),l=yu(Error(a(421))),Gs(n,r,k,l)}return h.data==="$?"?(r.flags|=128,r.child=n.child,r=R_.bind(null,n),h._reactRetry=r,null):(n=m.treeContext,dn=Mr(h.nextSibling),un=r,st=!0,An=null,n!==null&&(mn[gn++]=hr,mn[gn++]=fr,mn[gn++]=ma,hr=n.id,fr=n.overflow,ma=r),r=Pu(r,l.children),r.flags|=4096,r)}function ym(n,r,o){n.lanes|=r;var l=n.alternate;l!==null&&(l.lanes|=r),tu(n.return,r,o)}function Su(n,r,o,l,h){var m=n.memoizedState;m===null?n.memoizedState={isBackwards:r,rendering:null,renderingStartTime:0,last:l,tail:o,tailMode:h}:(m.isBackwards=r,m.rendering=null,m.renderingStartTime=0,m.last=l,m.tail=o,m.tailMode=h)}function km(n,r,o){var l=r.pendingProps,h=l.revealOrder,m=l.tail;if(Wt(n,r,l.children,o),l=lt.current,(l&2)!==0)l=l&1|2,r.flags|=128;else{if(n!==null&&(n.flags&128)!==0)e:for(n=r.child;n!==null;){if(n.tag===13)n.memoizedState!==null&&ym(n,o,r);else if(n.tag===19)ym(n,o,r);else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===r)break e;for(;n.sibling===null;){if(n.return===null||n.return===r)break e;n=n.return}n.sibling.return=n.return,n=n.sibling}l&=1}if(tt(lt,l),(r.mode&1)===0)r.memoizedState=null;else switch(h){case"forwards":for(o=r.child,h=null;o!==null;)n=o.alternate,n!==null&&Vs(n)===null&&(h=o),o=o.sibling;o=h,o===null?(h=r.child,r.child=null):(h=o.sibling,o.sibling=null),Su(r,!1,h,o,m);break;case"backwards":for(o=null,h=r.child,r.child=null;h!==null;){if(n=h.alternate,n!==null&&Vs(n)===null){r.child=h;break}n=h.sibling,h.sibling=o,o=h,h=n}Su(r,!0,o,null,m);break;case"together":Su(r,!1,null,null,void 0);break;default:r.memoizedState=null}return r.child}function Ks(n,r){(r.mode&1)===0&&n!==null&&(n.alternate=null,r.alternate=null,r.flags|=2)}function gr(n,r,o){if(n!==null&&(r.dependencies=n.dependencies),ba|=r.lanes,(o&r.childLanes)===0)return null;if(n!==null&&r.child!==n.child)throw Error(a(153));if(r.child!==null){for(n=r.child,o=$r(n,n.pendingProps),r.child=o,o.return=r;n.sibling!==null;)n=n.sibling,o=o.sibling=$r(n,n.pendingProps),o.return=r;o.sibling=null}return r.child}function v_(n,r,o){switch(r.tag){case 3:mm(r),si();break;case 5:Mp(r);break;case 1:Qt(r.type)&&Rs(r);break;case 4:au(r,r.stateNode.containerInfo);break;case 10:var l=r.type._context,h=r.memoizedProps.value;tt(Ns,l._currentValue),l._currentValue=h;break;case 13:if(l=r.memoizedState,l!==null)return l.dehydrated!==null?(tt(lt,lt.current&1),r.flags|=128,null):(o&r.child.childLanes)!==0?vm(n,r,o):(tt(lt,lt.current&1),n=gr(n,r,o),n!==null?n.sibling:null);tt(lt,lt.current&1);break;case 19:if(l=(o&r.childLanes)!==0,(n.flags&128)!==0){if(l)return km(n,r,o);r.flags|=128}if(h=r.memoizedState,h!==null&&(h.rendering=null,h.tail=null,h.lastEffect=null),tt(lt,lt.current),l)break;return null;case 22:case 23:return r.lanes=0,hm(n,r,o)}return gr(n,r,o)}var bm,Cu,wm,_m;bm=function(n,r){for(var o=r.child;o!==null;){if(o.tag===5||o.tag===6)n.appendChild(o.stateNode);else if(o.tag!==4&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===r)break;for(;o.sibling===null;){if(o.return===null||o.return===r)return;o=o.return}o.sibling.return=o.return,o=o.sibling}},Cu=function(){},wm=function(n,r,o,l){var h=n.memoizedProps;if(h!==l){n=r.stateNode,ya(Kn.current);var m=null;switch(o){case"input":h=Et(n,h),l=Et(n,l),m=[];break;case"select":h=O({},h,{value:void 0}),l=O({},l,{value:void 0}),m=[];break;case"textarea":h=ca(n,h),l=ca(n,l),m=[];break;default:typeof h.onClick!="function"&&typeof l.onClick=="function"&&(n.onclick=Cs)}Hn(o,l);var k;o=null;for(H in h)if(!l.hasOwnProperty(H)&&h.hasOwnProperty(H)&&h[H]!=null)if(H==="style"){var C=h[H];for(k in C)C.hasOwnProperty(k)&&(o||(o={}),o[k]="")}else H!=="dangerouslySetInnerHTML"&&H!=="children"&&H!=="suppressContentEditableWarning"&&H!=="suppressHydrationWarning"&&H!=="autoFocus"&&(s.hasOwnProperty(H)?m||(m=[]):(m=m||[]).push(H,null));for(H in l){var R=l[H];if(C=h?.[H],l.hasOwnProperty(H)&&R!==C&&(R!=null||C!=null))if(H==="style")if(C){for(k in C)!C.hasOwnProperty(k)||R&&R.hasOwnProperty(k)||(o||(o={}),o[k]="");for(k in R)R.hasOwnProperty(k)&&C[k]!==R[k]&&(o||(o={}),o[k]=R[k])}else o||(m||(m=[]),m.push(H,o)),o=R;else H==="dangerouslySetInnerHTML"?(R=R?R.__html:void 0,C=C?C.__html:void 0,R!=null&&C!==R&&(m=m||[]).push(H,R)):H==="children"?typeof R!="string"&&typeof R!="number"||(m=m||[]).push(H,""+R):H!=="suppressContentEditableWarning"&&H!=="suppressHydrationWarning"&&(s.hasOwnProperty(H)?(R!=null&&H==="onScroll"&&rt("scroll",n),m||C===R||(m=[])):(m=m||[]).push(H,R))}o&&(m=m||[]).push("style",o);var H=m;(r.updateQueue=H)&&(r.flags|=4)}},_m=function(n,r,o,l){o!==l&&(r.flags|=4)};function ho(n,r){if(!st)switch(n.tailMode){case"hidden":r=n.tail;for(var o=null;r!==null;)r.alternate!==null&&(o=r),r=r.sibling;o===null?n.tail=null:o.sibling=null;break;case"collapsed":o=n.tail;for(var l=null;o!==null;)o.alternate!==null&&(l=o),o=o.sibling;l===null?r||n.tail===null?n.tail=null:n.tail.sibling=null:l.sibling=null}}function zt(n){var r=n.alternate!==null&&n.alternate.child===n.child,o=0,l=0;if(r)for(var h=n.child;h!==null;)o|=h.lanes|h.childLanes,l|=h.subtreeFlags&14680064,l|=h.flags&14680064,h.return=n,h=h.sibling;else for(h=n.child;h!==null;)o|=h.lanes|h.childLanes,l|=h.subtreeFlags,l|=h.flags,h.return=n,h=h.sibling;return n.subtreeFlags|=l,n.childLanes=o,r}function y_(n,r,o){var l=r.pendingProps;switch(Yc(r),r.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return zt(r),null;case 1:return Qt(r.type)&&Es(),zt(r),null;case 3:return l=r.stateNode,di(),at(qt),at(jt),su(),l.pendingContext&&(l.context=l.pendingContext,l.pendingContext=null),(n===null||n.child===null)&&(Ms(r)?r.flags|=4:n===null||n.memoizedState.isDehydrated&&(r.flags&256)===0||(r.flags|=1024,An!==null&&(Ou(An),An=null))),Cu(n,r),zt(r),null;case 5:iu(r);var h=ya(oo.current);if(o=r.type,n!==null&&r.stateNode!=null)wm(n,r,o,l,h),n.ref!==r.ref&&(r.flags|=512,r.flags|=2097152);else{if(!l){if(r.stateNode===null)throw Error(a(166));return zt(r),null}if(n=ya(Kn.current),Ms(r)){l=r.stateNode,o=r.type;var m=r.memoizedProps;switch(l[Gn]=r,l[to]=m,n=(r.mode&1)!==0,o){case"dialog":rt("cancel",l),rt("close",l);break;case"iframe":case"object":case"embed":rt("load",l);break;case"video":case"audio":for(h=0;h<Qi.length;h++)rt(Qi[h],l);break;case"source":rt("error",l);break;case"img":case"image":case"link":rt("error",l),rt("load",l);break;case"details":rt("toggle",l);break;case"input":la(l,m),rt("invalid",l);break;case"select":l._wrapperState={wasMultiple:!!m.multiple},rt("invalid",l);break;case"textarea":$a(l,m),rt("invalid",l)}Hn(o,m),h=null;for(var k in m)if(m.hasOwnProperty(k)){var C=m[k];k==="children"?typeof C=="string"?l.textContent!==C&&(m.suppressHydrationWarning!==!0&&Ss(l.textContent,C,n),h=["children",C]):typeof C=="number"&&l.textContent!==""+C&&(m.suppressHydrationWarning!==!0&&Ss(l.textContent,C,n),h=["children",""+C]):s.hasOwnProperty(k)&&C!=null&&k==="onScroll"&&rt("scroll",l)}switch(o){case"input":an(l),Ha(l,m,!0);break;case"textarea":an(l),Ae(l);break;case"select":case"option":break;default:typeof m.onClick=="function"&&(l.onclick=Cs)}l=h,r.updateQueue=l,l!==null&&(r.flags|=4)}else{k=h.nodeType===9?h:h.ownerDocument,n==="http://www.w3.org/1999/xhtml"&&(n=Ze(o)),n==="http://www.w3.org/1999/xhtml"?o==="script"?(n=k.createElement("div"),n.innerHTML="<script><\/script>",n=n.removeChild(n.firstChild)):typeof l.is=="string"?n=k.createElement(o,{is:l.is}):(n=k.createElement(o),o==="select"&&(k=n,l.multiple?k.multiple=!0:l.size&&(k.size=l.size))):n=k.createElementNS(n,o),n[Gn]=r,n[to]=l,bm(n,r,!1,!1),r.stateNode=n;e:{switch(k=$n(o,l),o){case"dialog":rt("cancel",n),rt("close",n),h=l;break;case"iframe":case"object":case"embed":rt("load",n),h=l;break;case"video":case"audio":for(h=0;h<Qi.length;h++)rt(Qi[h],n);h=l;break;case"source":rt("error",n),h=l;break;case"img":case"image":case"link":rt("error",n),rt("load",n),h=l;break;case"details":rt("toggle",n),h=l;break;case"input":la(n,l),h=Et(n,l),rt("invalid",n);break;case"option":h=l;break;case"select":n._wrapperState={wasMultiple:!!l.multiple},h=O({},l,{value:void 0}),rt("invalid",n);break;case"textarea":$a(n,l),h=ca(n,l),rt("invalid",n);break;default:h=l}Hn(o,h),C=h;for(m in C)if(C.hasOwnProperty(m)){var R=C[m];m==="style"?or(n,R):m==="dangerouslySetInnerHTML"?(R=R?R.__html:void 0,R!=null&&Je(n,R)):m==="children"?typeof R=="string"?(o!=="textarea"||R!=="")&&Ke(n,R):typeof R=="number"&&Ke(n,""+R):m!=="suppressContentEditableWarning"&&m!=="suppressHydrationWarning"&&m!=="autoFocus"&&(s.hasOwnProperty(m)?R!=null&&m==="onScroll"&&rt("scroll",n):R!=null&&M(n,m,R,k))}switch(o){case"input":an(n),Ha(n,l,!1);break;case"textarea":an(n),Ae(n);break;case"option":l.value!=null&&n.setAttribute("value",""+je(l.value));break;case"select":n.multiple=!!l.multiple,m=l.value,m!=null?Bt(n,!!l.multiple,m,!1):l.defaultValue!=null&&Bt(n,!!l.multiple,l.defaultValue,!0);break;default:typeof h.onClick=="function"&&(n.onclick=Cs)}switch(o){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}}l&&(r.flags|=4)}r.ref!==null&&(r.flags|=512,r.flags|=2097152)}return zt(r),null;case 6:if(n&&r.stateNode!=null)_m(n,r,n.memoizedProps,l);else{if(typeof l!="string"&&r.stateNode===null)throw Error(a(166));if(o=ya(oo.current),ya(Kn.current),Ms(r)){if(l=r.stateNode,o=r.memoizedProps,l[Gn]=r,(m=l.nodeValue!==o)&&(n=un,n!==null))switch(n.tag){case 3:Ss(l.nodeValue,o,(n.mode&1)!==0);break;case 5:n.memoizedProps.suppressHydrationWarning!==!0&&Ss(l.nodeValue,o,(n.mode&1)!==0)}m&&(r.flags|=4)}else l=(o.nodeType===9?o:o.ownerDocument).createTextNode(l),l[Gn]=r,r.stateNode=l}return zt(r),null;case 13:if(at(lt),l=r.memoizedState,n===null||n.memoizedState!==null&&n.memoizedState.dehydrated!==null){if(st&&dn!==null&&(r.mode&1)!==0&&(r.flags&128)===0)Sp(),si(),r.flags|=98560,m=!1;else if(m=Ms(r),l!==null&&l.dehydrated!==null){if(n===null){if(!m)throw Error(a(318));if(m=r.memoizedState,m=m!==null?m.dehydrated:null,!m)throw Error(a(317));m[Gn]=r}else si(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;zt(r),m=!1}else An!==null&&(Ou(An),An=null),m=!0;if(!m)return r.flags&65536?r:null}return(r.flags&128)!==0?(r.lanes=o,r):(l=l!==null,l!==(n!==null&&n.memoizedState!==null)&&l&&(r.child.flags|=8192,(r.mode&1)!==0&&(n===null||(lt.current&1)!==0?wt===0&&(wt=3):Fu())),r.updateQueue!==null&&(r.flags|=4),zt(r),null);case 4:return di(),Cu(n,r),n===null&&Ji(r.stateNode.containerInfo),zt(r),null;case 10:return eu(r.type._context),zt(r),null;case 17:return Qt(r.type)&&Es(),zt(r),null;case 19:if(at(lt),m=r.memoizedState,m===null)return zt(r),null;if(l=(r.flags&128)!==0,k=m.rendering,k===null)if(l)ho(m,!1);else{if(wt!==0||n!==null&&(n.flags&128)!==0)for(n=r.child;n!==null;){if(k=Vs(n),k!==null){for(r.flags|=128,ho(m,!1),l=k.updateQueue,l!==null&&(r.updateQueue=l,r.flags|=4),r.subtreeFlags=0,l=o,o=r.child;o!==null;)m=o,n=l,m.flags&=14680066,k=m.alternate,k===null?(m.childLanes=0,m.lanes=n,m.child=null,m.subtreeFlags=0,m.memoizedProps=null,m.memoizedState=null,m.updateQueue=null,m.dependencies=null,m.stateNode=null):(m.childLanes=k.childLanes,m.lanes=k.lanes,m.child=k.child,m.subtreeFlags=0,m.deletions=null,m.memoizedProps=k.memoizedProps,m.memoizedState=k.memoizedState,m.updateQueue=k.updateQueue,m.type=k.type,n=k.dependencies,m.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext}),o=o.sibling;return tt(lt,lt.current&1|2),r.child}n=n.sibling}m.tail!==null&&Fe()>mi&&(r.flags|=128,l=!0,ho(m,!1),r.lanes=4194304)}else{if(!l)if(n=Vs(k),n!==null){if(r.flags|=128,l=!0,o=n.updateQueue,o!==null&&(r.updateQueue=o,r.flags|=4),ho(m,!0),m.tail===null&&m.tailMode==="hidden"&&!k.alternate&&!st)return zt(r),null}else 2*Fe()-m.renderingStartTime>mi&&o!==1073741824&&(r.flags|=128,l=!0,ho(m,!1),r.lanes=4194304);m.isBackwards?(k.sibling=r.child,r.child=k):(o=m.last,o!==null?o.sibling=k:r.child=k,m.last=k)}return m.tail!==null?(r=m.tail,m.rendering=r,m.tail=r.sibling,m.renderingStartTime=Fe(),r.sibling=null,o=lt.current,tt(lt,l?o&1|2:o&1),r):(zt(r),null);case 22:case 23:return Vu(),l=r.memoizedState!==null,n!==null&&n.memoizedState!==null!==l&&(r.flags|=8192),l&&(r.mode&1)!==0?(hn&1073741824)!==0&&(zt(r),r.subtreeFlags&6&&(r.flags|=8192)):zt(r),null;case 24:return null;case 25:return null}throw Error(a(156,r.tag))}function k_(n,r){switch(Yc(r),r.tag){case 1:return Qt(r.type)&&Es(),n=r.flags,n&65536?(r.flags=n&-65537|128,r):null;case 3:return di(),at(qt),at(jt),su(),n=r.flags,(n&65536)!==0&&(n&128)===0?(r.flags=n&-65537|128,r):null;case 5:return iu(r),null;case 13:if(at(lt),n=r.memoizedState,n!==null&&n.dehydrated!==null){if(r.alternate===null)throw Error(a(340));si()}return n=r.flags,n&65536?(r.flags=n&-65537|128,r):null;case 19:return at(lt),null;case 4:return di(),null;case 10:return eu(r.type._context),null;case 22:case 23:return Vu(),null;case 24:return null;default:return null}}var Ys=!1,Vt=!1,b_=typeof WeakSet=="function"?WeakSet:Set,me=null;function fi(n,r){var o=n.ref;if(o!==null)if(typeof o=="function")try{o(null)}catch(l){dt(n,r,l)}else o.current=null}function Tu(n,r,o){try{o()}catch(l){dt(n,r,l)}}var xm=!1;function w_(n,r){if(Vc=ps,n=tp(),Ic(n)){if("selectionStart"in n)var o={start:n.selectionStart,end:n.selectionEnd};else e:{o=(o=n.ownerDocument)&&o.defaultView||window;var l=o.getSelection&&o.getSelection();if(l&&l.rangeCount!==0){o=l.anchorNode;var h=l.anchorOffset,m=l.focusNode;l=l.focusOffset;try{o.nodeType,m.nodeType}catch{o=null;break e}var k=0,C=-1,R=-1,H=0,J=0,te=n,X=null;t:for(;;){for(var ce;te!==o||h!==0&&te.nodeType!==3||(C=k+h),te!==m||l!==0&&te.nodeType!==3||(R=k+l),te.nodeType===3&&(k+=te.nodeValue.length),(ce=te.firstChild)!==null;)X=te,te=ce;for(;;){if(te===n)break t;if(X===o&&++H===h&&(C=k),X===m&&++J===l&&(R=k),(ce=te.nextSibling)!==null)break;te=X,X=te.parentNode}te=ce}o=C===-1||R===-1?null:{start:C,end:R}}else o=null}o=o||{start:0,end:0}}else o=null;for(Fc={focusedElem:n,selectionRange:o},ps=!1,me=r;me!==null;)if(r=me,n=r.child,(r.subtreeFlags&1028)!==0&&n!==null)n.return=r,me=n;else for(;me!==null;){r=me;try{var ge=r.alternate;if((r.flags&1024)!==0)switch(r.tag){case 0:case 11:case 15:break;case 1:if(ge!==null){var be=ge.memoizedProps,pt=ge.memoizedState,z=r.stateNode,A=z.getSnapshotBeforeUpdate(r.elementType===r.type?be:Mn(r.type,be),pt);z.__reactInternalSnapshotBeforeUpdate=A}break;case 3:var U=r.stateNode.containerInfo;U.nodeType===1?U.textContent="":U.nodeType===9&&U.documentElement&&U.removeChild(U.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}catch(re){dt(r,r.return,re)}if(n=r.sibling,n!==null){n.return=r.return,me=n;break}me=r.return}return ge=xm,xm=!1,ge}function fo(n,r,o){var l=r.updateQueue;if(l=l!==null?l.lastEffect:null,l!==null){var h=l=l.next;do{if((h.tag&n)===n){var m=h.destroy;h.destroy=void 0,m!==void 0&&Tu(r,o,m)}h=h.next}while(h!==l)}}function Xs(n,r){if(r=r.updateQueue,r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&n)===n){var l=o.create;o.destroy=l()}o=o.next}while(o!==r)}}function Eu(n){var r=n.ref;if(r!==null){var o=n.stateNode;n.tag,n=o,typeof r=="function"?r(n):r.current=n}}function Pm(n){var r=n.alternate;r!==null&&(n.alternate=null,Pm(r)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(r=n.stateNode,r!==null&&(delete r[Gn],delete r[to],delete r[$c],delete r[r_],delete r[a_])),n.stateNode=null,n.return=null,n.dependencies=null,n.memoizedProps=null,n.memoizedState=null,n.pendingProps=null,n.stateNode=null,n.updateQueue=null}function Sm(n){return n.tag===5||n.tag===3||n.tag===4}function Cm(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||Sm(n.return))return null;n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.flags&2||n.child===null||n.tag===4)continue e;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function Ru(n,r,o){var l=n.tag;if(l===5||l===6)n=n.stateNode,r?o.nodeType===8?o.parentNode.insertBefore(n,r):o.insertBefore(n,r):(o.nodeType===8?(r=o.parentNode,r.insertBefore(n,o)):(r=o,r.appendChild(n)),o=o._reactRootContainer,o!=null||r.onclick!==null||(r.onclick=Cs));else if(l!==4&&(n=n.child,n!==null))for(Ru(n,r,o),n=n.sibling;n!==null;)Ru(n,r,o),n=n.sibling}function Du(n,r,o){var l=n.tag;if(l===5||l===6)n=n.stateNode,r?o.insertBefore(n,r):o.appendChild(n);else if(l!==4&&(n=n.child,n!==null))for(Du(n,r,o),n=n.sibling;n!==null;)Du(n,r,o),n=n.sibling}var Rt=null,Ln=!1;function Vr(n,r,o){for(o=o.child;o!==null;)Tm(n,r,o),o=o.sibling}function Tm(n,r,o){if(kt&&typeof kt.onCommitFiberUnmount=="function")try{kt.onCommitFiberUnmount(Pr,o)}catch{}switch(o.tag){case 5:Vt||fi(o,r);case 6:var l=Rt,h=Ln;Rt=null,Vr(n,r,o),Rt=l,Ln=h,Rt!==null&&(Ln?(n=Rt,o=o.stateNode,n.nodeType===8?n.parentNode.removeChild(o):n.removeChild(o)):Rt.removeChild(o.stateNode));break;case 18:Rt!==null&&(Ln?(n=Rt,o=o.stateNode,n.nodeType===8?Hc(n.parentNode,o):n.nodeType===1&&Hc(n,o),$i(n)):Hc(Rt,o.stateNode));break;case 4:l=Rt,h=Ln,Rt=o.stateNode.containerInfo,Ln=!0,Vr(n,r,o),Rt=l,Ln=h;break;case 0:case 11:case 14:case 15:if(!Vt&&(l=o.updateQueue,l!==null&&(l=l.lastEffect,l!==null))){h=l=l.next;do{var m=h,k=m.destroy;m=m.tag,k!==void 0&&((m&2)!==0||(m&4)!==0)&&Tu(o,r,k),h=h.next}while(h!==l)}Vr(n,r,o);break;case 1:if(!Vt&&(fi(o,r),l=o.stateNode,typeof l.componentWillUnmount=="function"))try{l.props=o.memoizedProps,l.state=o.memoizedState,l.componentWillUnmount()}catch(C){dt(o,r,C)}Vr(n,r,o);break;case 21:Vr(n,r,o);break;case 22:o.mode&1?(Vt=(l=Vt)||o.memoizedState!==null,Vr(n,r,o),Vt=l):Vr(n,r,o);break;default:Vr(n,r,o)}}function Em(n){var r=n.updateQueue;if(r!==null){n.updateQueue=null;var o=n.stateNode;o===null&&(o=n.stateNode=new b_),r.forEach(function(l){var h=D_.bind(null,n,l);o.has(l)||(o.add(l),l.then(h,h))})}}function Nn(n,r){var o=r.deletions;if(o!==null)for(var l=0;l<o.length;l++){var h=o[l];try{var m=n,k=r,C=k;e:for(;C!==null;){switch(C.tag){case 5:Rt=C.stateNode,Ln=!1;break e;case 3:Rt=C.stateNode.containerInfo,Ln=!0;break e;case 4:Rt=C.stateNode.containerInfo,Ln=!0;break e}C=C.return}if(Rt===null)throw Error(a(160));Tm(m,k,h),Rt=null,Ln=!1;var R=h.alternate;R!==null&&(R.return=null),h.return=null}catch(H){dt(h,r,H)}}if(r.subtreeFlags&12854)for(r=r.child;r!==null;)Rm(r,n),r=r.sibling}function Rm(n,r){var o=n.alternate,l=n.flags;switch(n.tag){case 0:case 11:case 14:case 15:if(Nn(r,n),Xn(n),l&4){try{fo(3,n,n.return),Xs(3,n)}catch(be){dt(n,n.return,be)}try{fo(5,n,n.return)}catch(be){dt(n,n.return,be)}}break;case 1:Nn(r,n),Xn(n),l&512&&o!==null&&fi(o,o.return);break;case 5:if(Nn(r,n),Xn(n),l&512&&o!==null&&fi(o,o.return),n.flags&32){var h=n.stateNode;try{Ke(h,"")}catch(be){dt(n,n.return,be)}}if(l&4&&(h=n.stateNode,h!=null)){var m=n.memoizedProps,k=o!==null?o.memoizedProps:m,C=n.type,R=n.updateQueue;if(n.updateQueue=null,R!==null)try{C==="input"&&m.type==="radio"&&m.name!=null&&Ba(h,m),$n(C,k);var H=$n(C,m);for(k=0;k<R.length;k+=2){var J=R[k],te=R[k+1];J==="style"?or(h,te):J==="dangerouslySetInnerHTML"?Je(h,te):J==="children"?Ke(h,te):M(h,J,te,H)}switch(C){case"input":on(h,m);break;case"textarea":Le(h,m);break;case"select":var X=h._wrapperState.wasMultiple;h._wrapperState.wasMultiple=!!m.multiple;var ce=m.value;ce!=null?Bt(h,!!m.multiple,ce,!1):X!==!!m.multiple&&(m.defaultValue!=null?Bt(h,!!m.multiple,m.defaultValue,!0):Bt(h,!!m.multiple,m.multiple?[]:"",!1))}h[to]=m}catch(be){dt(n,n.return,be)}}break;case 6:if(Nn(r,n),Xn(n),l&4){if(n.stateNode===null)throw Error(a(162));h=n.stateNode,m=n.memoizedProps;try{h.nodeValue=m}catch(be){dt(n,n.return,be)}}break;case 3:if(Nn(r,n),Xn(n),l&4&&o!==null&&o.memoizedState.isDehydrated)try{$i(r.containerInfo)}catch(be){dt(n,n.return,be)}break;case 4:Nn(r,n),Xn(n);break;case 13:Nn(r,n),Xn(n),h=n.child,h.flags&8192&&(m=h.memoizedState!==null,h.stateNode.isHidden=m,!m||h.alternate!==null&&h.alternate.memoizedState!==null||(Mu=Fe())),l&4&&Em(n);break;case 22:if(J=o!==null&&o.memoizedState!==null,n.mode&1?(Vt=(H=Vt)||J,Nn(r,n),Vt=H):Nn(r,n),Xn(n),l&8192){if(H=n.memoizedState!==null,(n.stateNode.isHidden=H)&&!J&&(n.mode&1)!==0)for(me=n,J=n.child;J!==null;){for(te=me=J;me!==null;){switch(X=me,ce=X.child,X.tag){case 0:case 11:case 14:case 15:fo(4,X,X.return);break;case 1:fi(X,X.return);var ge=X.stateNode;if(typeof ge.componentWillUnmount=="function"){l=X,o=X.return;try{r=l,ge.props=r.memoizedProps,ge.state=r.memoizedState,ge.componentWillUnmount()}catch(be){dt(l,o,be)}}break;case 5:fi(X,X.return);break;case 22:if(X.memoizedState!==null){Am(te);continue}}ce!==null?(ce.return=X,me=ce):Am(te)}J=J.sibling}e:for(J=null,te=n;;){if(te.tag===5){if(J===null){J=te;try{h=te.stateNode,H?(m=h.style,typeof m.setProperty=="function"?m.setProperty("display","none","important"):m.display="none"):(C=te.stateNode,R=te.memoizedProps.style,k=R!=null&&R.hasOwnProperty("display")?R.display:null,C.style.display=Pt("display",k))}catch(be){dt(n,n.return,be)}}}else if(te.tag===6){if(J===null)try{te.stateNode.nodeValue=H?"":te.memoizedProps}catch(be){dt(n,n.return,be)}}else if((te.tag!==22&&te.tag!==23||te.memoizedState===null||te===n)&&te.child!==null){te.child.return=te,te=te.child;continue}if(te===n)break e;for(;te.sibling===null;){if(te.return===null||te.return===n)break e;J===te&&(J=null),te=te.return}J===te&&(J=null),te.sibling.return=te.return,te=te.sibling}}break;case 19:Nn(r,n),Xn(n),l&4&&Em(n);break;case 21:break;default:Nn(r,n),Xn(n)}}function Xn(n){var r=n.flags;if(r&2){try{e:{for(var o=n.return;o!==null;){if(Sm(o)){var l=o;break e}o=o.return}throw Error(a(160))}switch(l.tag){case 5:var h=l.stateNode;l.flags&32&&(Ke(h,""),l.flags&=-33);var m=Cm(n);Du(n,m,h);break;case 3:case 4:var k=l.stateNode.containerInfo,C=Cm(n);Ru(n,C,k);break;default:throw Error(a(161))}}catch(R){dt(n,n.return,R)}n.flags&=-3}r&4096&&(n.flags&=-4097)}function __(n,r,o){me=n,Dm(n)}function Dm(n,r,o){for(var l=(n.mode&1)!==0;me!==null;){var h=me,m=h.child;if(h.tag===22&&l){var k=h.memoizedState!==null||Ys;if(!k){var C=h.alternate,R=C!==null&&C.memoizedState!==null||Vt;C=Ys;var H=Vt;if(Ys=k,(Vt=R)&&!H)for(me=h;me!==null;)k=me,R=k.child,k.tag===22&&k.memoizedState!==null?Mm(h):R!==null?(R.return=k,me=R):Mm(h);for(;m!==null;)me=m,Dm(m),m=m.sibling;me=h,Ys=C,Vt=H}Im(n)}else(h.subtreeFlags&8772)!==0&&m!==null?(m.return=h,me=m):Im(n)}}function Im(n){for(;me!==null;){var r=me;if((r.flags&8772)!==0){var o=r.alternate;try{if((r.flags&8772)!==0)switch(r.tag){case 0:case 11:case 15:Vt||Xs(5,r);break;case 1:var l=r.stateNode;if(r.flags&4&&!Vt)if(o===null)l.componentDidMount();else{var h=r.elementType===r.type?o.memoizedProps:Mn(r.type,o.memoizedProps);l.componentDidUpdate(h,o.memoizedState,l.__reactInternalSnapshotBeforeUpdate)}var m=r.updateQueue;m!==null&&Ap(r,m,l);break;case 3:var k=r.updateQueue;if(k!==null){if(o=null,r.child!==null)switch(r.child.tag){case 5:o=r.child.stateNode;break;case 1:o=r.child.stateNode}Ap(r,k,o)}break;case 5:var C=r.stateNode;if(o===null&&r.flags&4){o=C;var R=r.memoizedProps;switch(r.type){case"button":case"input":case"select":case"textarea":R.autoFocus&&o.focus();break;case"img":R.src&&(o.src=R.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(r.memoizedState===null){var H=r.alternate;if(H!==null){var J=H.memoizedState;if(J!==null){var te=J.dehydrated;te!==null&&$i(te)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(a(163))}Vt||r.flags&512&&Eu(r)}catch(X){dt(r,r.return,X)}}if(r===n){me=null;break}if(o=r.sibling,o!==null){o.return=r.return,me=o;break}me=r.return}}function Am(n){for(;me!==null;){var r=me;if(r===n){me=null;break}var o=r.sibling;if(o!==null){o.return=r.return,me=o;break}me=r.return}}function Mm(n){for(;me!==null;){var r=me;try{switch(r.tag){case 0:case 11:case 15:var o=r.return;try{Xs(4,r)}catch(R){dt(r,o,R)}break;case 1:var l=r.stateNode;if(typeof l.componentDidMount=="function"){var h=r.return;try{l.componentDidMount()}catch(R){dt(r,h,R)}}var m=r.return;try{Eu(r)}catch(R){dt(r,m,R)}break;case 5:var k=r.return;try{Eu(r)}catch(R){dt(r,k,R)}}}catch(R){dt(r,r.return,R)}if(r===n){me=null;break}var C=r.sibling;if(C!==null){C.return=r.return,me=C;break}me=r.return}}var x_=Math.ceil,Zs=D.ReactCurrentDispatcher,Iu=D.ReactCurrentOwner,kn=D.ReactCurrentBatchConfig,$e=0,Ct=null,gt=null,Dt=0,hn=0,pi=Lr(0),wt=0,po=null,ba=0,qs=0,Au=0,mo=null,en=null,Mu=0,mi=1/0,vr=null,Qs=!1,Lu=null,Fr=null,Js=!1,Ur=null,el=0,go=0,Nu=null,tl=-1,nl=0;function Gt(){return($e&6)!==0?Fe():tl!==-1?tl:tl=Fe()}function Br(n){return(n.mode&1)===0?1:($e&2)!==0&&Dt!==0?Dt&-Dt:o_.transition!==null?(nl===0&&(nl=ds()),nl):(n=Xe,n!==0||(n=window.event,n=n===void 0?16:Nf(n.type)),n)}function jn(n,r,o,l){if(50<go)throw go=0,Nu=null,Error(a(185));Vi(n,o,l),(($e&2)===0||n!==Ct)&&(n===Ct&&(($e&2)===0&&(qs|=o),wt===4&&Hr(n,Dt)),tn(n,l),o===1&&$e===0&&(r.mode&1)===0&&(mi=Fe()+500,Ds&&jr()))}function tn(n,r){var o=n.callbackNode;cr(n,r);var l=Cr(n,n===Ct?Dt:0);if(l===0)o!==null&&ft(o),n.callbackNode=null,n.callbackPriority=0;else if(r=l&-l,n.callbackPriority!==r){if(o!=null&&ft(o),r===1)n.tag===0?i_(Nm.bind(null,n)):bp(Nm.bind(null,n)),t_(function(){($e&6)===0&&jr()}),o=null;else{switch(Tf(l)){case 1:o=lr;break;case 4:o=Rn;break;case 16:o=Dn;break;case 536870912:o=ln;break;default:o=Dn}o=Hm(o,Lm.bind(null,n))}n.callbackPriority=r,n.callbackNode=o}}function Lm(n,r){if(tl=-1,nl=0,($e&6)!==0)throw Error(a(327));var o=n.callbackNode;if(gi()&&n.callbackNode!==o)return null;var l=Cr(n,n===Ct?Dt:0);if(l===0)return null;if((l&30)!==0||(l&n.expiredLanes)!==0||r)r=rl(n,l);else{r=l;var h=$e;$e|=2;var m=Om();(Ct!==n||Dt!==r)&&(vr=null,mi=Fe()+500,_a(n,r));do try{C_();break}catch(C){jm(n,C)}while(!0);Jc(),Zs.current=m,$e=h,gt!==null?r=0:(Ct=null,Dt=0,r=wt)}if(r!==0){if(r===2&&(h=Ya(n),h!==0&&(l=h,r=ju(n,h))),r===1)throw o=po,_a(n,0),Hr(n,l),tn(n,Fe()),o;if(r===6)Hr(n,l);else{if(h=n.current.alternate,(l&30)===0&&!P_(h)&&(r=rl(n,l),r===2&&(m=Ya(n),m!==0&&(l=m,r=ju(n,m))),r===1))throw o=po,_a(n,0),Hr(n,l),tn(n,Fe()),o;switch(n.finishedWork=h,n.finishedLanes=l,r){case 0:case 1:throw Error(a(345));case 2:xa(n,en,vr);break;case 3:if(Hr(n,l),(l&130023424)===l&&(r=Mu+500-Fe(),10<r)){if(Cr(n,0)!==0)break;if(h=n.suspendedLanes,(h&l)!==l){Gt(),n.pingedLanes|=n.suspendedLanes&h;break}n.timeoutHandle=Bc(xa.bind(null,n,en,vr),r);break}xa(n,en,vr);break;case 4:if(Hr(n,l),(l&4194240)===l)break;for(r=n.eventTimes,h=-1;0<l;){var k=31-Lt(l);m=1<<k,k=r[k],k>h&&(h=k),l&=~m}if(l=h,l=Fe()-l,l=(120>l?120:480>l?480:1080>l?1080:1920>l?1920:3e3>l?3e3:4320>l?4320:1960*x_(l/1960))-l,10<l){n.timeoutHandle=Bc(xa.bind(null,n,en,vr),l);break}xa(n,en,vr);break;case 5:xa(n,en,vr);break;default:throw Error(a(329))}}}return tn(n,Fe()),n.callbackNode===o?Lm.bind(null,n):null}function ju(n,r){var o=mo;return n.current.memoizedState.isDehydrated&&(_a(n,r).flags|=256),n=rl(n,r),n!==2&&(r=en,en=o,r!==null&&Ou(r)),n}function Ou(n){en===null?en=n:en.push.apply(en,n)}function P_(n){for(var r=n;;){if(r.flags&16384){var o=r.updateQueue;if(o!==null&&(o=o.stores,o!==null))for(var l=0;l<o.length;l++){var h=o[l],m=h.getSnapshot;h=h.value;try{if(!In(m(),h))return!1}catch{return!1}}}if(o=r.child,r.subtreeFlags&16384&&o!==null)o.return=r,r=o;else{if(r===n)break;for(;r.sibling===null;){if(r.return===null||r.return===n)return!0;r=r.return}r.sibling.return=r.return,r=r.sibling}}return!0}function Hr(n,r){for(r&=~Au,r&=~qs,n.suspendedLanes|=r,n.pingedLanes&=~r,n=n.expirationTimes;0<r;){var o=31-Lt(r),l=1<<o;n[o]=-1,r&=~l}}function Nm(n){if(($e&6)!==0)throw Error(a(327));gi();var r=Cr(n,0);if((r&1)===0)return tn(n,Fe()),null;var o=rl(n,r);if(n.tag!==0&&o===2){var l=Ya(n);l!==0&&(r=l,o=ju(n,l))}if(o===1)throw o=po,_a(n,0),Hr(n,r),tn(n,Fe()),o;if(o===6)throw Error(a(345));return n.finishedWork=n.current.alternate,n.finishedLanes=r,xa(n,en,vr),tn(n,Fe()),null}function zu(n,r){var o=$e;$e|=1;try{return n(r)}finally{$e=o,$e===0&&(mi=Fe()+500,Ds&&jr())}}function wa(n){Ur!==null&&Ur.tag===0&&($e&6)===0&&gi();var r=$e;$e|=1;var o=kn.transition,l=Xe;try{if(kn.transition=null,Xe=1,n)return n()}finally{Xe=l,kn.transition=o,$e=r,($e&6)===0&&jr()}}function Vu(){hn=pi.current,at(pi)}function _a(n,r){n.finishedWork=null,n.finishedLanes=0;var o=n.timeoutHandle;if(o!==-1&&(n.timeoutHandle=-1,e_(o)),gt!==null)for(o=gt.return;o!==null;){var l=o;switch(Yc(l),l.tag){case 1:l=l.type.childContextTypes,l!=null&&Es();break;case 3:di(),at(qt),at(jt),su();break;case 5:iu(l);break;case 4:di();break;case 13:at(lt);break;case 19:at(lt);break;case 10:eu(l.type._context);break;case 22:case 23:Vu()}o=o.return}if(Ct=n,gt=n=$r(n.current,null),Dt=hn=r,wt=0,po=null,Au=qs=ba=0,en=mo=null,va!==null){for(r=0;r<va.length;r++)if(o=va[r],l=o.interleaved,l!==null){o.interleaved=null;var h=l.next,m=o.pending;if(m!==null){var k=m.next;m.next=h,l.next=k}o.pending=l}va=null}return n}function jm(n,r){do{var o=gt;try{if(Jc(),Fs.current=$s,Us){for(var l=ct.memoizedState;l!==null;){var h=l.queue;h!==null&&(h.pending=null),l=l.next}Us=!1}if(ka=0,St=bt=ct=null,so=!1,lo=0,Iu.current=null,o===null||o.return===null){wt=1,po=r,gt=null;break}e:{var m=n,k=o.return,C=o,R=r;if(r=Dt,C.flags|=32768,R!==null&&typeof R=="object"&&typeof R.then=="function"){var H=R,J=C,te=J.tag;if((J.mode&1)===0&&(te===0||te===11||te===15)){var X=J.alternate;X?(J.updateQueue=X.updateQueue,J.memoizedState=X.memoizedState,J.lanes=X.lanes):(J.updateQueue=null,J.memoizedState=null)}var ce=sm(k);if(ce!==null){ce.flags&=-257,lm(ce,k,C,m,r),ce.mode&1&&om(m,H,r),r=ce,R=H;var ge=r.updateQueue;if(ge===null){var be=new Set;be.add(R),r.updateQueue=be}else ge.add(R);break e}else{if((r&1)===0){om(m,H,r),Fu();break e}R=Error(a(426))}}else if(st&&C.mode&1){var pt=sm(k);if(pt!==null){(pt.flags&65536)===0&&(pt.flags|=256),lm(pt,k,C,m,r),qc(hi(R,C));break e}}m=R=hi(R,C),wt!==4&&(wt=2),mo===null?mo=[m]:mo.push(m),m=k;do{switch(m.tag){case 3:m.flags|=65536,r&=-r,m.lanes|=r;var z=am(m,R,r);Ip(m,z);break e;case 1:C=R;var A=m.type,U=m.stateNode;if((m.flags&128)===0&&(typeof A.getDerivedStateFromError=="function"||U!==null&&typeof U.componentDidCatch=="function"&&(Fr===null||!Fr.has(U)))){m.flags|=65536,r&=-r,m.lanes|=r;var re=im(m,C,r);Ip(m,re);break e}}m=m.return}while(m!==null)}Vm(o)}catch(we){r=we,gt===o&&o!==null&&(gt=o=o.return);continue}break}while(!0)}function Om(){var n=Zs.current;return Zs.current=$s,n===null?$s:n}function Fu(){(wt===0||wt===3||wt===2)&&(wt=4),Ct===null||(ba&268435455)===0&&(qs&268435455)===0||Hr(Ct,Dt)}function rl(n,r){var o=$e;$e|=2;var l=Om();(Ct!==n||Dt!==r)&&(vr=null,_a(n,r));do try{S_();break}catch(h){jm(n,h)}while(!0);if(Jc(),$e=o,Zs.current=l,gt!==null)throw Error(a(261));return Ct=null,Dt=0,wt}function S_(){for(;gt!==null;)zm(gt)}function C_(){for(;gt!==null&&!nt();)zm(gt)}function zm(n){var r=Bm(n.alternate,n,hn);n.memoizedProps=n.pendingProps,r===null?Vm(n):gt=r,Iu.current=null}function Vm(n){var r=n;do{var o=r.alternate;if(n=r.return,(r.flags&32768)===0){if(o=y_(o,r,hn),o!==null){gt=o;return}}else{if(o=k_(o,r),o!==null){o.flags&=32767,gt=o;return}if(n!==null)n.flags|=32768,n.subtreeFlags=0,n.deletions=null;else{wt=6,gt=null;return}}if(r=r.sibling,r!==null){gt=r;return}gt=r=n}while(r!==null);wt===0&&(wt=5)}function xa(n,r,o){var l=Xe,h=kn.transition;try{kn.transition=null,Xe=1,T_(n,r,o,l)}finally{kn.transition=h,Xe=l}return null}function T_(n,r,o,l){do gi();while(Ur!==null);if(($e&6)!==0)throw Error(a(327));o=n.finishedWork;var h=n.finishedLanes;if(o===null)return null;if(n.finishedWork=null,n.finishedLanes=0,o===n.current)throw Error(a(177));n.callbackNode=null,n.callbackPriority=0;var m=o.lanes|o.childLanes;if(sw(n,m),n===Ct&&(gt=Ct=null,Dt=0),(o.subtreeFlags&2064)===0&&(o.flags&2064)===0||Js||(Js=!0,Hm(Dn,function(){return gi(),null})),m=(o.flags&15990)!==0,(o.subtreeFlags&15990)!==0||m){m=kn.transition,kn.transition=null;var k=Xe;Xe=1;var C=$e;$e|=4,Iu.current=null,w_(n,o),Rm(o,n),Kw(Fc),ps=!!Vc,Fc=Vc=null,n.current=o,__(o),Ye(),$e=C,Xe=k,kn.transition=m}else n.current=o;if(Js&&(Js=!1,Ur=n,el=h),m=n.pendingLanes,m===0&&(Fr=null),Ga(o.stateNode),tn(n,Fe()),r!==null)for(l=n.onRecoverableError,o=0;o<r.length;o++)h=r[o],l(h.value,{componentStack:h.stack,digest:h.digest});if(Qs)throw Qs=!1,n=Lu,Lu=null,n;return(el&1)!==0&&n.tag!==0&&gi(),m=n.pendingLanes,(m&1)!==0?n===Nu?go++:(go=0,Nu=n):go=0,jr(),null}function gi(){if(Ur!==null){var n=Tf(el),r=kn.transition,o=Xe;try{if(kn.transition=null,Xe=16>n?16:n,Ur===null)var l=!1;else{if(n=Ur,Ur=null,el=0,($e&6)!==0)throw Error(a(331));var h=$e;for($e|=4,me=n.current;me!==null;){var m=me,k=m.child;if((me.flags&16)!==0){var C=m.deletions;if(C!==null){for(var R=0;R<C.length;R++){var H=C[R];for(me=H;me!==null;){var J=me;switch(J.tag){case 0:case 11:case 15:fo(8,J,m)}var te=J.child;if(te!==null)te.return=J,me=te;else for(;me!==null;){J=me;var X=J.sibling,ce=J.return;if(Pm(J),J===H){me=null;break}if(X!==null){X.return=ce,me=X;break}me=ce}}}var ge=m.alternate;if(ge!==null){var be=ge.child;if(be!==null){ge.child=null;do{var pt=be.sibling;be.sibling=null,be=pt}while(be!==null)}}me=m}}if((m.subtreeFlags&2064)!==0&&k!==null)k.return=m,me=k;else e:for(;me!==null;){if(m=me,(m.flags&2048)!==0)switch(m.tag){case 0:case 11:case 15:fo(9,m,m.return)}var z=m.sibling;if(z!==null){z.return=m.return,me=z;break e}me=m.return}}var A=n.current;for(me=A;me!==null;){k=me;var U=k.child;if((k.subtreeFlags&2064)!==0&&U!==null)U.return=k,me=U;else e:for(k=A;me!==null;){if(C=me,(C.flags&2048)!==0)try{switch(C.tag){case 0:case 11:case 15:Xs(9,C)}}catch(we){dt(C,C.return,we)}if(C===k){me=null;break e}var re=C.sibling;if(re!==null){re.return=C.return,me=re;break e}me=C.return}}if($e=h,jr(),kt&&typeof kt.onPostCommitFiberRoot=="function")try{kt.onPostCommitFiberRoot(Pr,n)}catch{}l=!0}return l}finally{Xe=o,kn.transition=r}}return!1}function Fm(n,r,o){r=hi(o,r),r=am(n,r,1),n=zr(n,r,1),r=Gt(),n!==null&&(Vi(n,1,r),tn(n,r))}function dt(n,r,o){if(n.tag===3)Fm(n,n,o);else for(;r!==null;){if(r.tag===3){Fm(r,n,o);break}else if(r.tag===1){var l=r.stateNode;if(typeof r.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Fr===null||!Fr.has(l))){n=hi(o,n),n=im(r,n,1),r=zr(r,n,1),n=Gt(),r!==null&&(Vi(r,1,n),tn(r,n));break}}r=r.return}}function E_(n,r,o){var l=n.pingCache;l!==null&&l.delete(r),r=Gt(),n.pingedLanes|=n.suspendedLanes&o,Ct===n&&(Dt&o)===o&&(wt===4||wt===3&&(Dt&130023424)===Dt&&500>Fe()-Mu?_a(n,0):Au|=o),tn(n,r)}function Um(n,r){r===0&&((n.mode&1)===0?r=1:(r=Zt,Zt<<=1,(Zt&130023424)===0&&(Zt=4194304)));var o=Gt();n=pr(n,r),n!==null&&(Vi(n,r,o),tn(n,o))}function R_(n){var r=n.memoizedState,o=0;r!==null&&(o=r.retryLane),Um(n,o)}function D_(n,r){var o=0;switch(n.tag){case 13:var l=n.stateNode,h=n.memoizedState;h!==null&&(o=h.retryLane);break;case 19:l=n.stateNode;break;default:throw Error(a(314))}l!==null&&l.delete(r),Um(n,o)}var Bm;Bm=function(n,r,o){if(n!==null)if(n.memoizedProps!==r.pendingProps||qt.current)Jt=!0;else{if((n.lanes&o)===0&&(r.flags&128)===0)return Jt=!1,v_(n,r,o);Jt=(n.flags&131072)!==0}else Jt=!1,st&&(r.flags&1048576)!==0&&wp(r,As,r.index);switch(r.lanes=0,r.tag){case 2:var l=r.type;Ks(n,r),n=r.pendingProps;var h=ai(r,jt.current);ui(r,o),h=uu(null,r,l,n,h,o);var m=du();return r.flags|=1,typeof h=="object"&&h!==null&&typeof h.render=="function"&&h.$$typeof===void 0?(r.tag=1,r.memoizedState=null,r.updateQueue=null,Qt(l)?(m=!0,Rs(r)):m=!1,r.memoizedState=h.state!==null&&h.state!==void 0?h.state:null,ru(r),h.updater=Ws,r.stateNode=h,h._reactInternals=r,vu(r,l,n,o),r=wu(null,r,l,!0,m,o)):(r.tag=0,st&&m&&Kc(r),Wt(null,r,h,o),r=r.child),r;case 16:l=r.elementType;e:{switch(Ks(n,r),n=r.pendingProps,h=l._init,l=h(l._payload),r.type=l,h=r.tag=A_(l),n=Mn(l,n),h){case 0:r=bu(null,r,l,n,o);break e;case 1:r=pm(null,r,l,n,o);break e;case 11:r=cm(null,r,l,n,o);break e;case 14:r=um(null,r,l,Mn(l.type,n),o);break e}throw Error(a(306,l,""))}return r;case 0:return l=r.type,h=r.pendingProps,h=r.elementType===l?h:Mn(l,h),bu(n,r,l,h,o);case 1:return l=r.type,h=r.pendingProps,h=r.elementType===l?h:Mn(l,h),pm(n,r,l,h,o);case 3:e:{if(mm(r),n===null)throw Error(a(387));l=r.pendingProps,m=r.memoizedState,h=m.element,Dp(n,r),zs(r,l,null,o);var k=r.memoizedState;if(l=k.element,m.isDehydrated)if(m={element:l,isDehydrated:!1,cache:k.cache,pendingSuspenseBoundaries:k.pendingSuspenseBoundaries,transitions:k.transitions},r.updateQueue.baseState=m,r.memoizedState=m,r.flags&256){h=hi(Error(a(423)),r),r=gm(n,r,l,o,h);break e}else if(l!==h){h=hi(Error(a(424)),r),r=gm(n,r,l,o,h);break e}else for(dn=Mr(r.stateNode.containerInfo.firstChild),un=r,st=!0,An=null,o=Ep(r,null,l,o),r.child=o;o;)o.flags=o.flags&-3|4096,o=o.sibling;else{if(si(),l===h){r=gr(n,r,o);break e}Wt(n,r,l,o)}r=r.child}return r;case 5:return Mp(r),n===null&&Zc(r),l=r.type,h=r.pendingProps,m=n!==null?n.memoizedProps:null,k=h.children,Uc(l,h)?k=null:m!==null&&Uc(l,m)&&(r.flags|=32),fm(n,r),Wt(n,r,k,o),r.child;case 6:return n===null&&Zc(r),null;case 13:return vm(n,r,o);case 4:return au(r,r.stateNode.containerInfo),l=r.pendingProps,n===null?r.child=li(r,null,l,o):Wt(n,r,l,o),r.child;case 11:return l=r.type,h=r.pendingProps,h=r.elementType===l?h:Mn(l,h),cm(n,r,l,h,o);case 7:return Wt(n,r,r.pendingProps,o),r.child;case 8:return Wt(n,r,r.pendingProps.children,o),r.child;case 12:return Wt(n,r,r.pendingProps.children,o),r.child;case 10:e:{if(l=r.type._context,h=r.pendingProps,m=r.memoizedProps,k=h.value,tt(Ns,l._currentValue),l._currentValue=k,m!==null)if(In(m.value,k)){if(m.children===h.children&&!qt.current){r=gr(n,r,o);break e}}else for(m=r.child,m!==null&&(m.return=r);m!==null;){var C=m.dependencies;if(C!==null){k=m.child;for(var R=C.firstContext;R!==null;){if(R.context===l){if(m.tag===1){R=mr(-1,o&-o),R.tag=2;var H=m.updateQueue;if(H!==null){H=H.shared;var J=H.pending;J===null?R.next=R:(R.next=J.next,J.next=R),H.pending=R}}m.lanes|=o,R=m.alternate,R!==null&&(R.lanes|=o),tu(m.return,o,r),C.lanes|=o;break}R=R.next}}else if(m.tag===10)k=m.type===r.type?null:m.child;else if(m.tag===18){if(k=m.return,k===null)throw Error(a(341));k.lanes|=o,C=k.alternate,C!==null&&(C.lanes|=o),tu(k,o,r),k=m.sibling}else k=m.child;if(k!==null)k.return=m;else for(k=m;k!==null;){if(k===r){k=null;break}if(m=k.sibling,m!==null){m.return=k.return,k=m;break}k=k.return}m=k}Wt(n,r,h.children,o),r=r.child}return r;case 9:return h=r.type,l=r.pendingProps.children,ui(r,o),h=vn(h),l=l(h),r.flags|=1,Wt(n,r,l,o),r.child;case 14:return l=r.type,h=Mn(l,r.pendingProps),h=Mn(l.type,h),um(n,r,l,h,o);case 15:return dm(n,r,r.type,r.pendingProps,o);case 17:return l=r.type,h=r.pendingProps,h=r.elementType===l?h:Mn(l,h),Ks(n,r),r.tag=1,Qt(l)?(n=!0,Rs(r)):n=!1,ui(r,o),nm(r,l,h),vu(r,l,h,o),wu(null,r,l,!0,n,o);case 19:return km(n,r,o);case 22:return hm(n,r,o)}throw Error(a(156,r.tag))};function Hm(n,r){return Ge(n,r)}function I_(n,r,o,l){this.tag=n,this.key=o,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=r,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function bn(n,r,o,l){return new I_(n,r,o,l)}function Uu(n){return n=n.prototype,!(!n||!n.isReactComponent)}function A_(n){if(typeof n=="function")return Uu(n)?1:0;if(n!=null){if(n=n.$$typeof,n===se)return 11;if(n===ie)return 14}return 2}function $r(n,r){var o=n.alternate;return o===null?(o=bn(n.tag,r,n.key,n.mode),o.elementType=n.elementType,o.type=n.type,o.stateNode=n.stateNode,o.alternate=n,n.alternate=o):(o.pendingProps=r,o.type=n.type,o.flags=0,o.subtreeFlags=0,o.deletions=null),o.flags=n.flags&14680064,o.childLanes=n.childLanes,o.lanes=n.lanes,o.child=n.child,o.memoizedProps=n.memoizedProps,o.memoizedState=n.memoizedState,o.updateQueue=n.updateQueue,r=n.dependencies,o.dependencies=r===null?null:{lanes:r.lanes,firstContext:r.firstContext},o.sibling=n.sibling,o.index=n.index,o.ref=n.ref,o}function al(n,r,o,l,h,m){var k=2;if(l=n,typeof n=="function")Uu(n)&&(k=1);else if(typeof n=="string")k=5;else e:switch(n){case oe:return Pa(o.children,h,m,r);case x:k=8,h|=8;break;case ee:return n=bn(12,o,r,h|2),n.elementType=ee,n.lanes=m,n;case q:return n=bn(13,o,r,h),n.elementType=q,n.lanes=m,n;case ae:return n=bn(19,o,r,h),n.elementType=ae,n.lanes=m,n;case ne:return il(o,h,m,r);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case Y:k=10;break e;case ue:k=9;break e;case se:k=11;break e;case ie:k=14;break e;case Q:k=16,l=null;break e}throw Error(a(130,n==null?n:typeof n,""))}return r=bn(k,o,r,h),r.elementType=n,r.type=l,r.lanes=m,r}function Pa(n,r,o,l){return n=bn(7,n,l,r),n.lanes=o,n}function il(n,r,o,l){return n=bn(22,n,l,r),n.elementType=ne,n.lanes=o,n.stateNode={isHidden:!1},n}function Bu(n,r,o){return n=bn(6,n,null,r),n.lanes=o,n}function Hu(n,r,o){return r=bn(4,n.children!==null?n.children:[],n.key,r),r.lanes=o,r.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},r}function M_(n,r,o,l,h){this.tag=r,this.containerInfo=n,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=gc(0),this.expirationTimes=gc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gc(0),this.identifierPrefix=l,this.onRecoverableError=h,this.mutableSourceEagerHydrationData=null}function $u(n,r,o,l,h,m,k,C,R){return n=new M_(n,r,o,C,R),r===1?(r=1,m===!0&&(r|=8)):r=0,m=bn(3,null,null,r),n.current=m,m.stateNode=n,m.memoizedState={element:l,isDehydrated:o,cache:null,transitions:null,pendingSuspenseBoundaries:null},ru(m),n}function L_(n,r,o){var l=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Z,key:l==null?null:""+l,children:n,containerInfo:r,implementation:o}}function $m(n){if(!n)return Nr;n=n._reactInternals;e:{if(le(n)!==n||n.tag!==1)throw Error(a(170));var r=n;do{switch(r.tag){case 3:r=r.stateNode.context;break e;case 1:if(Qt(r.type)){r=r.stateNode.__reactInternalMemoizedMergedChildContext;break e}}r=r.return}while(r!==null);throw Error(a(171))}if(n.tag===1){var o=n.type;if(Qt(o))return yp(n,o,r)}return r}function Wm(n,r,o,l,h,m,k,C,R){return n=$u(o,l,!0,n,h,m,k,C,R),n.context=$m(null),o=n.current,l=Gt(),h=Br(o),m=mr(l,h),m.callback=r??null,zr(o,m,h),n.current.lanes=h,Vi(n,h,l),tn(n,l),n}function ol(n,r,o,l){var h=r.current,m=Gt(),k=Br(h);return o=$m(o),r.context===null?r.context=o:r.pendingContext=o,r=mr(m,k),r.payload={element:n},l=l===void 0?null:l,l!==null&&(r.callback=l),n=zr(h,r,k),n!==null&&(jn(n,h,k,m),Os(n,h,k)),k}function sl(n){return n=n.current,n.child?(n.child.tag===5,n.child.stateNode):null}function Gm(n,r){if(n=n.memoizedState,n!==null&&n.dehydrated!==null){var o=n.retryLane;n.retryLane=o!==0&&o<r?o:r}}function Wu(n,r){Gm(n,r),(n=n.alternate)&&Gm(n,r)}function N_(){return null}var Km=typeof reportError=="function"?reportError:function(n){console.error(n)};function Gu(n){this._internalRoot=n}ll.prototype.render=Gu.prototype.render=function(n){var r=this._internalRoot;if(r===null)throw Error(a(409));ol(n,r,null,null)},ll.prototype.unmount=Gu.prototype.unmount=function(){var n=this._internalRoot;if(n!==null){this._internalRoot=null;var r=n.containerInfo;wa(function(){ol(null,n,null,null)}),r[ur]=null}};function ll(n){this._internalRoot=n}ll.prototype.unstable_scheduleHydration=function(n){if(n){var r=Df();n={blockedOn:null,target:n,priority:r};for(var o=0;o<Dr.length&&r!==0&&r<Dr[o].priority;o++);Dr.splice(o,0,n),o===0&&Mf(n)}};function Ku(n){return!(!n||n.nodeType!==1&&n.nodeType!==9&&n.nodeType!==11)}function cl(n){return!(!n||n.nodeType!==1&&n.nodeType!==9&&n.nodeType!==11&&(n.nodeType!==8||n.nodeValue!==" react-mount-point-unstable "))}function Ym(){}function j_(n,r,o,l,h){if(h){if(typeof l=="function"){var m=l;l=function(){var H=sl(k);m.call(H)}}var k=Wm(r,l,n,0,null,!1,!1,"",Ym);return n._reactRootContainer=k,n[ur]=k.current,Ji(n.nodeType===8?n.parentNode:n),wa(),k}for(;h=n.lastChild;)n.removeChild(h);if(typeof l=="function"){var C=l;l=function(){var H=sl(R);C.call(H)}}var R=$u(n,0,!1,null,null,!1,!1,"",Ym);return n._reactRootContainer=R,n[ur]=R.current,Ji(n.nodeType===8?n.parentNode:n),wa(function(){ol(r,R,o,l)}),R}function ul(n,r,o,l,h){var m=o._reactRootContainer;if(m){var k=m;if(typeof h=="function"){var C=h;h=function(){var R=sl(k);C.call(R)}}ol(r,k,n,h)}else k=j_(o,r,n,h,l);return sl(k)}Ef=function(n){switch(n.tag){case 3:var r=n.stateNode;if(r.current.memoizedState.isDehydrated){var o=Sr(r.pendingLanes);o!==0&&(vc(r,o|1),tn(r,Fe()),($e&6)===0&&(mi=Fe()+500,jr()))}break;case 13:wa(function(){var l=pr(n,1);if(l!==null){var h=Gt();jn(l,n,1,h)}}),Wu(n,1)}},yc=function(n){if(n.tag===13){var r=pr(n,134217728);if(r!==null){var o=Gt();jn(r,n,134217728,o)}Wu(n,134217728)}},Rf=function(n){if(n.tag===13){var r=Br(n),o=pr(n,r);if(o!==null){var l=Gt();jn(o,n,r,l)}Wu(n,r)}},Df=function(){return Xe},If=function(n,r){var o=Xe;try{return Xe=n,r()}finally{Xe=o}},wr=function(n,r,o){switch(r){case"input":if(on(n,o),r=o.name,o.type==="radio"&&r!=null){for(o=n;o.parentNode;)o=o.parentNode;for(o=o.querySelectorAll("input[name="+JSON.stringify(""+r)+'][type="radio"]'),r=0;r<o.length;r++){var l=o[r];if(l!==n&&l.form===n.form){var h=Ts(l);if(!h)throw Error(a(90));Xt(l),on(l,h)}}}break;case"textarea":Le(n,o);break;case"select":r=o.value,r!=null&&Bt(n,!!o.multiple,r,!1)}},us=zu,Oi=wa;var O_={usingClientEntryPoint:!1,Events:[no,ni,Ts,cs,ji,zu]},vo={findFiberByHostInstance:fa,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},z_={bundleType:vo.bundleType,version:vo.version,rendererPackageName:vo.rendererPackageName,rendererConfig:vo.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:D.ReactCurrentDispatcher,findHostInstanceByFiber:function(n){return n=Ie(n),n===null?null:n.stateNode},findFiberByHostInstance:vo.findFiberByHostInstance||N_,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var dl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!dl.isDisabled&&dl.supportsFiber)try{Pr=dl.inject(z_),kt=dl}catch{}}return nn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=O_,nn.createPortal=function(n,r){var o=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Ku(r))throw Error(a(200));return L_(n,r,null,o)},nn.createRoot=function(n,r){if(!Ku(n))throw Error(a(299));var o=!1,l="",h=Km;return r!=null&&(r.unstable_strictMode===!0&&(o=!0),r.identifierPrefix!==void 0&&(l=r.identifierPrefix),r.onRecoverableError!==void 0&&(h=r.onRecoverableError)),r=$u(n,1,!1,null,null,o,!1,l,h),n[ur]=r.current,Ji(n.nodeType===8?n.parentNode:n),new Gu(r)},nn.findDOMNode=function(n){if(n==null)return null;if(n.nodeType===1)return n;var r=n._reactInternals;if(r===void 0)throw typeof n.render=="function"?Error(a(188)):(n=Object.keys(n).join(","),Error(a(268,n)));return n=Ie(r),n=n===null?null:n.stateNode,n},nn.flushSync=function(n){return wa(n)},nn.hydrate=function(n,r,o){if(!cl(r))throw Error(a(200));return ul(null,n,r,!0,o)},nn.hydrateRoot=function(n,r,o){if(!Ku(n))throw Error(a(405));var l=o!=null&&o.hydratedSources||null,h=!1,m="",k=Km;if(o!=null&&(o.unstable_strictMode===!0&&(h=!0),o.identifierPrefix!==void 0&&(m=o.identifierPrefix),o.onRecoverableError!==void 0&&(k=o.onRecoverableError)),r=Wm(r,null,n,1,o??null,h,!1,m,k),n[ur]=r.current,Ji(n),l)for(n=0;n<l.length;n++)o=l[n],h=o._getVersion,h=h(o._source),r.mutableSourceEagerHydrationData==null?r.mutableSourceEagerHydrationData=[o,h]:r.mutableSourceEagerHydrationData.push(o,h);return new ll(r)},nn.render=function(n,r,o){if(!cl(r))throw Error(a(200));return ul(null,n,r,!1,o)},nn.unmountComponentAtNode=function(n){if(!cl(n))throw Error(a(40));return n._reactRootContainer?(wa(function(){ul(null,null,n,!1,function(){n._reactRootContainer=null,n[ur]=null})}),!0):!1},nn.unstable_batchedUpdates=zu,nn.unstable_renderSubtreeIntoContainer=function(n,r,o,l){if(!cl(o))throw Error(a(200));if(n==null||n._reactInternals===void 0)throw Error(a(38));return ul(n,r,o,!1,l)},nn.version="18.3.1-next-f1338f8080-20240426",nn}var ng;function wy(){if(ng)return Zu.exports;ng=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(t){console.error(t)}}return e(),Zu.exports=K_(),Zu.exports}var rg;function Y_(){if(rg)return hl;rg=1;var e=wy();return hl.createRoot=e.createRoot,hl.hydrateRoot=e.hydrateRoot,hl}var X_=Y_();var _y=e=>{throw TypeError(e)},xy=(e,t,a)=>t.has(e)||_y("Cannot "+a),wn=(e,t,a)=>(xy(e,t,"read from private field"),a?a.call(e):t.get(e)),Co=(e,t,a)=>t.has(e)?_y("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,a),Zn=(e,t,a,i)=>(xy(e,t,"write to private field"),t.set(e,a),a),ag="popstate";function ig(e){return typeof e=="object"&&e!=null&&"pathname"in e&&"search"in e&&"hash"in e&&"state"in e&&"key"in e}function Z_(e={}){function t(i,s){let c=s.state?.masked,{pathname:u,search:d,hash:f}=c||i.location;return Vo("",{pathname:u,search:d,hash:f},s.state&&s.state.usr||null,s.state&&s.state.key||"default",c?{pathname:i.location.pathname,search:i.location.search,hash:i.location.hash}:void 0)}function a(i,s){return typeof s=="string"?s:tr(s)}return Q_(t,a,null,e)}function ze(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function yt(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function q_(){return Math.random().toString(36).substring(2,10)}function og(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function Vo(e,t,a=null,i,s){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?ar(t):t,state:a,key:t&&t.key||i||q_(),mask:s}}function tr({pathname:e="/",search:t="",hash:a=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),a&&a!=="#"&&(e+=a.charAt(0)==="#"?a:"#"+a),e}function ar(e){let t={};if(e){let a=e.indexOf("#");a>=0&&(t.hash=e.substring(a),e=e.substring(0,a));let i=e.indexOf("?");i>=0&&(t.search=e.substring(i),e=e.substring(0,i)),e&&(t.pathname=e)}return t}function Q_(e,t,a,i={}){let{window:s=document.defaultView,v5Compat:c=!1}=i,u=s.history,d="POP",f=null,p=g();p==null&&(p=0,u.replaceState({...u.state,idx:p},""));function g(){return(u.state||{idx:null}).idx}function v(){d="POP";let S=g(),N=S==null?null:S-p;p=S,f&&f({action:d,location:P.location,delta:N})}function y(S,N){d="PUSH";let j=ig(S)?S:Vo(P.location,S,N);p=g()+1;let M=og(j,p),D=P.createHref(j.mask||j);try{u.pushState(M,"",D)}catch(B){if(B instanceof DOMException&&B.name==="DataCloneError")throw B;s.location.assign(D)}c&&f&&f({action:d,location:P.location,delta:1})}function w(S,N){d="REPLACE";let j=ig(S)?S:Vo(P.location,S,N);p=g();let M=og(j,p),D=P.createHref(j.mask||j);u.replaceState(M,"",D),c&&f&&f({action:d,location:P.location,delta:0})}function _(S){return Py(s,S)}let P={get action(){return d},get location(){return e(s,u)},listen(S){if(f)throw new Error("A history only accepts one active listener");return s.addEventListener(ag,v),f=S,()=>{s.removeEventListener(ag,v),f=null}},createHref(S){return t(s,S)},createURL:_,encodeLocation(S){let N=_(S);return{pathname:N.pathname,search:N.search,hash:N.hash}},push:y,replace:w,go(S){return u.go(S)}};return P}function Py(e,t,a=!1){let i="http://localhost";e&&(i=e.location.origin!=="null"?e.location.origin:e.location.href),ze(i,"No window.location.(origin|href) available to create URL");let s=typeof t=="string"?t:tr(t);return s=s.replace(/ $/,"%20"),!a&&s.startsWith("//")&&(s=i+s),new URL(s,i)}var To,sg=class{constructor(e){if(Co(this,To,new Map),e)for(let[t,a]of e)this.set(t,a)}get(e){if(wn(this,To).has(e))return wn(this,To).get(e);if(e.defaultValue!==void 0)return e.defaultValue;throw new Error("No value found for context")}set(e,t){wn(this,To).set(e,t)}};To=new WeakMap;var J_=new Set(["lazy","caseSensitive","path","id","index","children"]);function e1(e){return J_.has(e)}var t1=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function n1(e){return t1.has(e)}function r1(e){return e.index===!0}function Fo(e,t,a=[],i={},s=!1){return e.map((c,u)=>{let d=[...a,String(u)],f=typeof c.id=="string"?c.id:d.join("-");if(ze(c.index!==!0||!c.children,"Cannot specify children on an index route"),ze(s||!i[f],`Found a route id collision on id "${f}". Route id's must be globally unique within Data Router usages`),r1(c)){let p={...c,id:f};return i[f]=lg(p,t(p)),p}else{let p={...c,id:f,children:void 0};return i[f]=lg(p,t(p)),c.children&&(p.children=Fo(c.children,t,d,i,s)),p}})}function lg(e,t){return Object.assign(e,{...t,...typeof t.lazy=="object"&&t.lazy!=null?{lazy:{...e.lazy,...t.lazy}}:{}})}function Sy(e,t,a="/"){return zn(e,t,a,!1)}function zn(e,t,a,i,s){let c=typeof t=="string"?ar(t):t,u=Cn(c.pathname||"/",a);if(u==null)return null;let d=s??Sl(e),f=null,p=g1(u);for(let g=0;f==null&&g<d.length;++g)f=p1(d[g],p,i);return f}function a1(e,t){let{route:a,pathname:i,params:s}=e;return{id:a.id,pathname:i,params:s,data:t[a.id],loaderData:t[a.id],handle:a.handle}}function Sl(e){let t=Cy(e);return i1(t),t}function Cy(e,t=[],a=[],i="",s=!1){let c=(u,d,f=s,p)=>{let g={relativePath:p===void 0?u.path||"":p,caseSensitive:u.caseSensitive===!0,childrenIndex:d,route:u};if(g.relativePath.startsWith("/")){if(!g.relativePath.startsWith(i)&&f)return;ze(g.relativePath.startsWith(i),`Absolute route path "${g.relativePath}" nested under path "${i}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),g.relativePath=g.relativePath.slice(i.length)}let v=Pn([i,g.relativePath]),y=a.concat(g);u.children&&u.children.length>0&&(ze(u.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${v}".`),Cy(u.children,t,y,v,f)),!(u.path==null&&!u.index)&&t.push({path:v,score:h1(v,u.index),routesMeta:y})};return e.forEach((u,d)=>{if(u.path===""||!u.path?.includes("?"))c(u,d);else for(let f of Ty(u.path))c(u,d,!0,f)}),t}function Ty(e){let t=e.split("/");if(t.length===0)return[];let[a,...i]=t,s=a.endsWith("?"),c=a.replace(/\?$/,"");if(i.length===0)return s?[c,""]:[c];let u=Ty(i.join("/")),d=[];return d.push(...u.map(f=>f===""?c:[c,f].join("/"))),s&&d.push(...u),d.map(f=>e.startsWith("/")&&f===""?"/":f)}function i1(e){e.sort((t,a)=>t.score!==a.score?a.score-t.score:f1(t.routesMeta.map(i=>i.childrenIndex),a.routesMeta.map(i=>i.childrenIndex)))}var o1=/^:[\w-]+$/,s1=3,l1=2,c1=1,u1=10,d1=-2,cg=e=>e==="*";function h1(e,t){let a=e.split("/"),i=a.length;return a.some(cg)&&(i+=d1),t&&(i+=l1),a.filter(s=>!cg(s)).reduce((s,c)=>s+(o1.test(c)?s1:c===""?c1:u1),i)}function f1(e,t){return e.length===t.length&&e.slice(0,-1).every((i,s)=>i===t[s])?e[e.length-1]-t[t.length-1]:0}function p1(e,t,a=!1){let{routesMeta:i}=e,s={},c="/",u=[];for(let d=0;d<i.length;++d){let f=i[d],p=d===i.length-1,g=c==="/"?t:t.slice(c.length)||"/",v=zl({path:f.relativePath,caseSensitive:f.caseSensitive,end:p},g),y=f.route;if(!v&&p&&a&&!i[i.length-1].route.index&&(v=zl({path:f.relativePath,caseSensitive:f.caseSensitive,end:!1},g)),!v)return null;Object.assign(s,v.params),u.push({params:s,pathname:Pn([c,v.pathname]),pathnameBase:k1(Pn([c,v.pathnameBase])),route:y}),v.pathnameBase!=="/"&&(c=Pn([c,v.pathnameBase]))}return u}function zl(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[a,i]=m1(e.path,e.caseSensitive,e.end),s=t.match(a);if(!s)return null;let c=s[0],u=c.replace(/(.)\/+$/,"$1"),d=s.slice(1);return{params:i.reduce((p,{paramName:g,isOptional:v},y)=>{if(g==="*"){let _=d[y]||"";u=c.slice(0,c.length-_.length).replace(/(.)\/+$/,"$1")}const w=d[y];return v&&!w?p[g]=void 0:p[g]=(w||"").replace(/%2F/g,"/"),p},{}),pathname:c,pathnameBase:u,pattern:e}}function m1(e,t=!1,a=!0){yt(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 i=[],s="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(u,d,f,p,g)=>{if(i.push({paramName:d,isOptional:f!=null}),f){let v=g.charAt(p+u.length);return v&&v!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(i.push({paramName:"*"}),s+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?s+="\\/*$":e!==""&&e!=="/"&&(s+="(?:(?=\\/|$))"),[new RegExp(s,t?void 0:"i"),i]}function g1(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return yt(!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 Cn(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let a=t.endsWith("/")?t.length-1:t.length,i=e.charAt(a);return i&&i!=="/"?null:e.slice(a)||"/"}function v1({basename:e,pathname:t}){return t==="/"?e:Pn([e,t])}var Ey=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,bh=e=>Ey.test(e);function y1(e,t="/"){let{pathname:a,search:i="",hash:s=""}=typeof e=="string"?ar(e):e,c;return a?(a=_h(a),a.startsWith("/")?c=ug(a.substring(1),"/"):c=ug(a,t)):c=t,{pathname:c,search:b1(i),hash:w1(s)}}function ug(e,t){let a=Vl(t).split("/");return e.split("/").forEach(s=>{s===".."?a.length>1&&a.pop():s!=="."&&a.push(s)}),a.length>1?a.join("/"):"/"}function Ju(e,t,a,i){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(i)}]. Please separate it out to the \`to.${a}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Ry(e){return e.filter((t,a)=>a===0||t.route.path&&t.route.path.length>0)}function wh(e){let t=Ry(e);return t.map((a,i)=>i===t.length-1?a.pathname:a.pathnameBase)}function rc(e,t,a,i=!1){let s;typeof e=="string"?s=ar(e):(s={...e},ze(!s.pathname||!s.pathname.includes("?"),Ju("?","pathname","search",s)),ze(!s.pathname||!s.pathname.includes("#"),Ju("#","pathname","hash",s)),ze(!s.search||!s.search.includes("#"),Ju("#","search","hash",s)));let c=e===""||s.pathname==="",u=c?"/":s.pathname,d;if(u==null)d=a;else{let v=t.length-1;if(!i&&u.startsWith("..")){let y=u.split("/");for(;y[0]==="..";)y.shift(),v-=1;s.pathname=y.join("/")}d=v>=0?t[v]:"/"}let f=y1(s,d),p=u&&u!=="/"&&u.endsWith("/"),g=(c||u===".")&&a.endsWith("/");return!f.pathname.endsWith("/")&&(p||g)&&(f.pathname+="/"),f}var _h=e=>e.replace(/\/\/+/g,"/"),Pn=e=>_h(e.join("/")),Vl=e=>e.replace(/\/+$/,""),k1=e=>Vl(e).replace(/^\/*/,"/"),b1=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,w1=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,Xo=class{constructor(e,t,a,i=!1){this.status=e,this.statusText=t||"",this.internal=i,a instanceof Error?(this.data=a.toString(),this.error=a):this.data=a}};function Uo(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function Zo(e){let t=e.map(a=>a.route.path).filter(Boolean);return Pn(t)||"/"}var Dy=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Iy(e,t){let a=e;if(typeof a!="string"||!Ey.test(a))return{absoluteURL:void 0,isExternal:!1,to:a};let i=a,s=!1;if(Dy)try{let c=new URL(window.location.href),u=a.startsWith("//")?new URL(c.protocol+a):new URL(a),d=Cn(u.pathname,t);u.origin===c.origin&&d!=null?a=d+u.search+u.hash:s=!0}catch{yt(!1,`<Link to="${a}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:i,isExternal:s,to:a}}var Jr=Symbol("Uninstrumented");function _1(e,t){let a={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};e.forEach(s=>s({id:t.id,index:t.index,path:t.path,instrument(c){let u=Object.keys(a);for(let d of u)c[d]&&a[d].push(c[d])}}));let i={};if(typeof t.lazy=="function"&&a.lazy.length>0){let s=wi(a.lazy,t.lazy,()=>{});s&&(i.lazy=s)}if(typeof t.lazy=="object"){let s=t.lazy;["middleware","loader","action"].forEach(c=>{let u=s[c],d=a[`lazy.${c}`];if(typeof u=="function"&&d.length>0){let f=wi(d,u,()=>{});f&&(i.lazy=Object.assign(i.lazy||{},{[c]:f}))}})}return["loader","action"].forEach(s=>{let c=t[s];if(typeof c=="function"&&a[s].length>0){let u=c[Jr]??c,d=wi(a[s],u,(...f)=>dg(f[0]));d&&(s==="loader"&&u.hydrate===!0&&(d.hydrate=!0),d[Jr]=u,i[s]=d)}}),t.middleware&&t.middleware.length>0&&a.middleware.length>0&&(i.middleware=t.middleware.map(s=>{let c=s[Jr]??s,u=wi(a.middleware,c,(...d)=>dg(d[0]));return u?(u[Jr]=c,u):s})),i}function x1(e,t){let a={navigate:[],fetch:[]};if(t.forEach(i=>i({instrument(s){let c=Object.keys(s);for(let u of c)s[u]&&a[u].push(s[u])}})),a.navigate.length>0){let i=e.navigate[Jr]??e.navigate,s=wi(a.navigate,i,(...c)=>{let[u,d]=c;return{to:typeof u=="number"||typeof u=="string"?u:u?tr(u):".",...hg(e,d??{})}});s&&(s[Jr]=i,e.navigate=s)}if(a.fetch.length>0){let i=e.fetch[Jr]??e.fetch,s=wi(a.fetch,i,(...c)=>{let[u,,d,f]=c;return{href:d??".",fetcherKey:u,...hg(e,f??{})}});s&&(s[Jr]=i,e.fetch=s)}return e}function wi(e,t,a){return e.length===0?null:async(...i)=>{let s=await Ay(e,a(...i),()=>t(...i),e.length-1);if(s.type==="error")throw s.value;return s.value}}async function Ay(e,t,a,i){let s=e[i],c;if(s){let u,d=async()=>(u?console.error("You cannot call instrumented handlers more than once"):u=Ay(e,t,a,i-1),c=await u,ze(c,"Expected a result"),c.type==="error"&&c.value instanceof Error?{status:"error",error:c.value}:{status:"success",error:void 0});try{await s(d,t)}catch(f){console.error("An instrumentation function threw an error:",f)}u||await d(),await u}else try{c={type:"success",value:await a()}}catch(u){c={type:"error",value:u}}return c||{type:"error",value:new Error("No result assigned in instrumentation chain.")}}function dg(e){let{request:t,context:a,params:i,pattern:s}=e;return{request:P1(t),params:{...i},pattern:s,context:S1(a)}}function hg(e,t){return{currentUrl:tr(e.state.location),..."formMethod"in t?{formMethod:t.formMethod}:{},..."formEncType"in t?{formEncType:t.formEncType}:{},..."formData"in t?{formData:t.formData}:{},..."body"in t?{body:t.body}:{}}}function P1(e){return{method:e.method,url:e.url,headers:{get:(...t)=>e.headers.get(...t)}}}function S1(e){if(T1(e)){let t={...e};return Object.freeze(t),t}else return{get:t=>e.get(t)}}var C1=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function T1(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getOwnPropertyNames(t).sort().join("\0")===C1}var My=["POST","PUT","PATCH","DELETE"],E1=new Set(My),R1=["GET",...My],D1=new Set(R1),Ly=new Set([301,302,303,307,308]),I1=new Set([307,308]),ed={state:"idle",location:void 0,matches:void 0,historyAction:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},A1={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ko={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},M1=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),Ny="remix-router-transitions",jy=Symbol("ResetLoaderData"),Ra,vi,Xr,yi,L1=class{constructor(e){Co(this,Ra),Co(this,vi),Co(this,Xr),Co(this,yi),Zn(this,Ra,e),Zn(this,vi,Sl(e))}get stableRoutes(){return wn(this,Ra)}get activeRoutes(){return wn(this,Xr)??wn(this,Ra)}get branches(){return wn(this,yi)??wn(this,vi)}get hasHMRRoutes(){return wn(this,Xr)!=null}setRoutes(e){Zn(this,Ra,e),Zn(this,vi,Sl(e))}setHmrRoutes(e){Zn(this,Xr,e),Zn(this,yi,Sl(e))}commitHmrRoutes(){wn(this,Xr)&&(Zn(this,Ra,wn(this,Xr)),Zn(this,vi,wn(this,yi)),Zn(this,Xr,void 0),Zn(this,yi,void 0))}};Ra=new WeakMap;vi=new WeakMap;Xr=new WeakMap;yi=new WeakMap;function N1(e){const t=e.window?e.window:typeof window<"u"?window:void 0,a=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u";ze(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let i=e.hydrationRouteProperties||[],s=e.mapRouteProperties||M1,c=s;if(e.instrumentations){let T=e.instrumentations;c=I=>({...s(I),..._1(T.map(F=>F.route).filter(Boolean),I)})}let u={},d=new L1(Fo(e.routes,c,void 0,u)),f=e.basename||"/";f.startsWith("/")||(f=`/${f}`);let p=e.dataStrategy||F1,g={...e.future},v=null,y=new Set,w=null,_=null,P=null,S=null,N=e.hydrationData!=null,j=zn(d.activeRoutes,e.history.location,f,!1,d.branches),M=!1,D=null,B,Z;if(j==null&&!e.patchRoutesOnNavigation){let T=_n(404,{pathname:e.history.location.pathname}),{matches:I,route:F}=fl(d.activeRoutes);B=!0,Z=!B,j=I,D={[F.id]:T}}else if(j&&!e.hydrationData&&_r(j,d.activeRoutes,e.history.location.pathname).active&&(j=null),j)if(j.some(T=>T.route.lazy))B=!1,Z=!B;else if(!j.some(T=>xh(T.route)))B=!0,Z=!B;else{let T=e.hydrationData?e.hydrationData.loaderData:null,I=e.hydrationData?e.hydrationData.errors:null,F=j;if(I){let G=j.findIndex(K=>I[K.route.id]!==void 0);F=F.slice(0,G+1)}Z=!1,B=!0,F.forEach(G=>{let K=Oy(G.route,T,I);Z=Z||K.renderFallback,B=B&&!K.shouldLoad})}else{B=!1,Z=!B,j=[];let T=_r(null,d.activeRoutes,e.history.location.pathname);T.active&&T.matches&&(M=!0,j=T.matches)}let oe,x={historyAction:e.history.action,location:e.history.location,matches:j,initialized:B,renderFallback:Z,navigation:ed,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||D,fetchers:new Map,blockers:new Map},ee="POP",Y=null,ue=!1,se,q=!1,ae=new Map,ie=null,Q=!1,ne=!1,V=new Set,$=new Map,O=0,E=-1,W=new Map,de=new Set,fe=new Map,he=new Map,pe=new Set,De=new Map,je,Ce=null;function ut(){if(v=e.history.listen(({action:T,location:I,delta:F})=>{if(je){je(),je=void 0;return}yt(De.size===0||F!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let G=sr({currentLocation:x.location,nextLocation:I,historyAction:T});if(G&&F!=null){let K=new Promise(_e=>{je=_e});e.history.go(F*-1),sn(G,{state:"blocked",location:I,proceed(){sn(G,{state:"proceeding",proceed:void 0,reset:void 0,location:I}),K.then(()=>e.history.go(F))},reset(){let _e=new Map(x.blockers);_e.set(G,ko),qe({blockers:_e})}}),Y?.resolve(),Y=null;return}return on(T,I)}),a){ax(t,ae);let T=()=>ix(t,ae);t.addEventListener("pagehide",T),ie=()=>t.removeEventListener("pagehide",T)}return x.initialized||on("POP",x.location,{initialHydration:!0}),oe}function an(){v&&v(),ie&&ie(),y.clear(),se&&se.abort(),x.fetchers.forEach((T,I)=>Pt(x.fetchers,I)),x.blockers.forEach((T,I)=>wr(I))}function Xt(T){if(y.add(T),w){let{newErrors:I}=w;w=null,T(x,{deletedFetchers:[],newErrors:I,viewTransitionOpts:void 0,flushSync:!1})}return()=>y.delete(T)}function qe(T,I={}){T.matches&&(T.matches=T.matches.map(K=>{let _e=u[K.route.id],xe=K.route;return xe.element!==_e.element||xe.errorElement!==_e.errorElement||xe.hydrateFallbackElement!==_e.hydrateFallbackElement?{...K,route:_e}:K})),x={...x,...T};let F=[],G=[];x.fetchers.forEach((K,_e)=>{K.state==="idle"&&(pe.has(_e)?F.push(_e):G.push(_e))}),pe.forEach(K=>{!x.fetchers.has(K)&&!$.has(K)&&F.push(K)}),y.size===0&&(w={newErrors:T.errors??null}),[...y].forEach(K=>K(x,{deletedFetchers:F,newErrors:T.errors??null,viewTransitionOpts:I.viewTransitionOpts,flushSync:I.flushSync===!0})),F.forEach(K=>Pt(x.fetchers,K)),G.forEach(K=>x.fetchers.delete(K))}function Et(T,I,{flushSync:F}={}){let G=x.actionData!=null&&x.navigation.formMethod!=null&&Ft(x.navigation.formMethod)&&x.navigation.state==="loading"&&T.state?._isRedirect!==!0,K;I.actionData?Object.keys(I.actionData).length>0?K=I.actionData:K=null:G?K=x.actionData:K=null;let _e=I.loaderData?xg(x.loaderData,I.loaderData,I.matches||[],I.errors):x.loaderData,xe=x.blockers;xe.size>0&&(xe=new Map(xe),xe.forEach((Se,Ne)=>xe.set(Ne,ko)));let Pe=Q?!1:Oi(T,I.matches||x.matches),le=ue===!0||x.navigation.formMethod!=null&&Ft(x.navigation.formMethod)&&T.state?._isRedirect!==!0;d.commitHmrRoutes(),Q||ee==="POP"||(ee==="PUSH"?e.history.push(T,T.state):ee==="REPLACE"&&e.history.replace(T,T.state));let Te;if(ee==="POP"){let Se=ae.get(x.location.pathname);Se&&Se.has(T.pathname)?Te={currentLocation:x.location,nextLocation:T}:ae.has(T.pathname)&&(Te={currentLocation:T,nextLocation:x.location})}else if(q){let Se=ae.get(x.location.pathname);Se?Se.add(T.pathname):(Se=new Set([T.pathname]),ae.set(x.location.pathname,Se)),Te={currentLocation:x.location,nextLocation:T}}qe({...I,actionData:K,loaderData:_e,historyAction:ee,location:T,initialized:!0,renderFallback:!1,navigation:ed,revalidation:"idle",restoreScrollPosition:Pe,preventScrollReset:le,blockers:xe},{viewTransitionOpts:Te,flushSync:F===!0}),ee="POP",ue=!1,q=!1,Q=!1,ne=!1,Y?.resolve(),Y=null,Ce?.resolve(),Ce=null}async function la(T,I){if(Y?.resolve(),Y=null,typeof T=="number"){Y||(Y=Tg());let Ge=Y.promise;return e.history.go(T),Ge}let F=Dd(x.location,x.matches,f,T,I?.fromRouteId,I?.relative),{path:G,submission:K,error:_e}=fg(!1,F,I),xe;I?.mask&&(xe={pathname:"",search:"",hash:"",...typeof I.mask=="string"?ar(I.mask):{...x.location.mask,...I.mask}});let Pe=x.location,le=Vo(Pe,G,I&&I.state,void 0,xe);le={...le,...e.history.encodeLocation(le)};let Te=I&&I.replace!=null?I.replace:void 0,Se="PUSH";Te===!0?Se="REPLACE":Te===!1||K!=null&&Ft(K.formMethod)&&K.formAction===x.location.pathname+x.location.search&&(Se="REPLACE");let Ne=I&&"preventScrollReset"in I?I.preventScrollReset===!0:void 0,Ie=(I&&I.flushSync)===!0,Be=sr({currentLocation:Pe,nextLocation:le,historyAction:Se});if(Be){sn(Be,{state:"blocked",location:le,proceed(){sn(Be,{state:"proceeding",proceed:void 0,reset:void 0,location:le}),la(T,I)},reset(){let Ge=new Map(x.blockers);Ge.set(Be,ko),qe({blockers:Ge})}});return}await on(Se,le,{submission:K,pendingError:_e,preventScrollReset:Ne,replace:I&&I.replace,enableViewTransition:I&&I.viewTransition,flushSync:Ie,callSiteDefaultShouldRevalidate:I&&I.defaultShouldRevalidate})}function Ba(){Ce||(Ce=Tg()),mt(),qe({revalidation:"loading"});let T=Ce.promise;return x.navigation.state==="submitting"?T:x.navigation.state==="idle"?(on(x.historyAction,x.location,{startUninterruptedRevalidation:!0}),T):(on(ee||x.historyAction,x.navigation.location,{overrideNavigation:x.navigation,enableViewTransition:q===!0}),T)}async function on(T,I,F){se&&se.abort(),se=null,ee=T,Q=(F&&F.startUninterruptedRevalidation)===!0,us(x.location,x.matches),ue=(F&&F.preventScrollReset)===!0,q=(F&&F.enableViewTransition)===!0;let G=d.activeRoutes,K=F?.initialHydration&&x.matches&&x.matches.length>0&&!M?x.matches:zn(G,I,f,!1,d.branches),_e=(F&&F.flushSync)===!0;if(K&&x.initialized&&!ne&&Y1(x.location,I)&&!(F&&F.submission&&Ft(F.submission.formMethod))){Et(I,{matches:K},{flushSync:_e});return}let xe=_r(K,G,I.pathname);if(xe.active&&xe.matches&&(K=xe.matches),!K){let{error:nt,notFoundMatches:Ye,route:Fe}=Wa(I.pathname);Et(I,{matches:Ye,loaderData:{},errors:{[Fe.id]:nt}},{flushSync:_e});return}let Pe=F&&F.overrideNavigation?{...F.overrideNavigation,matches:K,historyAction:T}:void 0;se=new AbortController;let le=ki(e.history,I,se.signal,F&&F.submission),Te=e.getContext?await e.getContext():new sg,Se;if(F&&F.pendingError)Se=[qr(K).route.id,{type:"error",error:F.pendingError}];else if(F&&F.submission&&Ft(F.submission.formMethod)){let nt=await Ha(le,I,F.submission,K,T,Te,xe.active,F&&F.initialHydration===!0,{replace:F.replace,flushSync:_e});if(nt.shortCircuited)return;if(nt.pendingActionResult){let[Ye,Fe]=nt.pendingActionResult;if(fn(Fe)&&Uo(Fe.error)&&Fe.error.status===404){se=null,Et(I,{matches:nt.matches,loaderData:{},errors:{[Ye]:Fe.error}});return}}K=nt.matches||K,Se=nt.pendingActionResult,Pe=td(I,K,T,F.submission),_e=!1,xe.active=!1,le=ki(e.history,le.url,le.signal)}let{shortCircuited:Ne,matches:Ie,loaderData:Be,errors:Ge,workingFetchers:ft}=await br(le,I,K,T,Te,xe.active,Pe,F&&F.submission,F&&F.fetcherSubmission,F&&F.replace,F&&F.initialHydration===!0,_e,Se,F&&F.callSiteDefaultShouldRevalidate);Ne||(se=null,Et(I,{matches:Ie||K,...Pg(Se),loaderData:Be,errors:Ge,...ft?{fetchers:ft}:{}}))}async function Ha(T,I,F,G,K,_e,xe,Pe,le={}){mt();let Te=nx(I,G,K,F);if(qe({navigation:Te},{flushSync:le.flushSync===!0}),xe){let Ie=await da(G,I.pathname,T.signal);if(Ie.type==="aborted")return{shortCircuited:!0};if(Ie.type==="error"){if(Ie.partialMatches.length===0){let{matches:Ge,route:ft}=fl(d.activeRoutes);return{matches:Ge,pendingActionResult:[ft.id,{type:"error",error:Ie.error}]}}let Be=qr(Ie.partialMatches).route.id;return{matches:Ie.partialMatches,pendingActionResult:[Be,{type:"error",error:Ie.error}]}}else if(Ie.matches)G=Ie.matches;else{let{notFoundMatches:Be,error:Ge,route:ft}=Wa(I.pathname);return{matches:Be,pendingActionResult:[ft.id,{type:"error",error:Ge}]}}}let Se,Ne=Cl(G,I);if(!Ne.route.action&&!Ne.route.lazy)Se={type:"error",error:_n(405,{method:T.method,pathname:I.pathname,routeId:Ne.route.id})};else{let Ie=Ci(c,u,T,I,G,Ne,Pe?[]:i,_e),Be=await Ze(T,I,Ie,_e,null);if(Se=Be[Ne.route.id],!Se){for(let Ge of G)if(Be[Ge.route.id]){Se=Be[Ge.route.id];break}}if(T.signal.aborted)return{shortCircuited:!0}}if(Ia(Se)){let Ie;return le&&le.replace!=null?Ie=le.replace:Ie=bg(Se.response.headers.get("Location"),new URL(T.url),f,e.history)===x.location.pathname+x.location.search,await Ae(T,Se,!0,{submission:F,replace:Ie}),{shortCircuited:!0}}if(fn(Se)){let Ie=qr(G,Ne.route.id);return(le&&le.replace)!==!0&&(ee="PUSH"),{matches:G,pendingActionResult:[Ie.route.id,Se,Ne.route.id]}}return{matches:G,pendingActionResult:[Ne.route.id,Se]}}async function br(T,I,F,G,K,_e,xe,Pe,le,Te,Se,Ne,Ie,Be){let Ge=xe||td(I,F,G,Pe),ft=Pe||le||Cg(Ge),nt=!Q&&!Se;if(_e){if(nt){let Nt=Bn(Ie);qe({navigation:Ge,...Nt!==void 0?{actionData:Nt}:{}},{flushSync:Ne})}let Ue=await da(F,I.pathname,T.signal);if(Ue.type==="aborted")return{shortCircuited:!0};if(Ue.type==="error"){if(Ue.partialMatches.length===0){let{matches:$t,route:Zt}=fl(d.activeRoutes);return{matches:$t,loaderData:{},errors:{[Zt.id]:Ue.error}}}let Nt=qr(Ue.partialMatches).route.id;return{matches:Ue.partialMatches,loaderData:{},errors:{[Nt]:Ue.error}}}else if(Ue.matches)F=Ue.matches;else{let{error:Nt,notFoundMatches:$t,route:Zt}=Wa(I.pathname);return{matches:$t,loaderData:{},errors:{[Zt.id]:Nt}}}}let Ye=d.activeRoutes,{dsMatches:Fe,revalidatingFetchers:Mt}=pg(T,K,c,u,e.history,x,F,ft,I,Se?[]:i,Se===!0,ne,V,pe,fe,de,Ye,f,e.patchRoutesOnNavigation!=null,d.branches,Ie,Be);if(E=++O,!e.dataStrategy&&!Fe.some(Ue=>Ue.shouldLoad)&&!Fe.some(Ue=>Ue.route.middleware&&Ue.route.middleware.length>0)&&Mt.length===0){let Ue=new Map(x.fetchers),Nt=$n(Ue);return Et(I,{matches:F,loaderData:{},errors:Ie&&fn(Ie[1])?{[Ie[0]]:Ie[1].error}:null,...Pg(Ie),...Nt?{fetchers:Ue}:{}},{flushSync:Ne}),{shortCircuited:!0}}if(nt){let Ue={};if(!_e){Ue.navigation=Ge;let Nt=Bn(Ie);Nt!==void 0&&(Ue.actionData=Nt)}Mt.length>0&&(Ue.fetchers=Bt(Mt)),qe(Ue,{flushSync:Ne})}Mt.forEach(Ue=>{Ht(Ue.key),Ue.controller&&$.set(Ue.key,Ue.controller)});let lr=()=>Mt.forEach(Ue=>Ht(Ue.key));se&&se.signal.addEventListener("abort",lr);let{loaderResults:Rn,fetcherResults:Dn}=await ot(Fe,Mt,T,I,K);if(T.signal.aborted)return{shortCircuited:!0};se&&se.signal.removeEventListener("abort",lr),Mt.forEach(Ue=>$.delete(Ue.key));let Wn=pl(Rn);if(Wn)return await Ae(T,Wn.result,!0,{replace:Te}),{shortCircuited:!0};if(Wn=pl(Dn),Wn)return de.add(Wn.key),await Ae(T,Wn.result,!0,{replace:Te}),{shortCircuited:!0};let ln=new Map(x.fetchers),{loaderData:Pr,errors:kt}=_g(x,F,Rn,Ie,Mt,Dn,ln);Se&&x.errors&&(kt={...x.errors,...kt});let Ga=$n(ln),Lt=En(E,ln),Ka=Ga||Lt||Mt.length>0;return{matches:F,loaderData:Pr,errors:kt,...Ka?{workingFetchers:ln}:{}}}function Bn(T){if(T&&!fn(T[1]))return{[T[0]]:T[1].data};if(x.actionData)return Object.keys(x.actionData).length===0?null:x.actionData}function Bt(T){let I=new Map(x.fetchers);return T.forEach(F=>{let G=I.get(F.key),K=bo(void 0,G?G.data:void 0);I.set(F.key,K)}),I}async function ca(T,I,F,G){Ht(T);let K=(G&&G.flushSync)===!0,_e=d.activeRoutes,xe=Dd(x.location,x.matches,f,F,I,G?.relative),Pe=zn(_e,xe,f,!1,d.branches),le=_r(Pe,_e,xe);if(le.active&&le.matches&&(Pe=le.matches),!Pe){Ke(T,I,_n(404,{pathname:xe}),{flushSync:K});return}let{path:Te,submission:Se,error:Ne}=fg(!0,xe,G);if(Ne){Ke(T,I,Ne,{flushSync:K});return}let Ie=e.getContext?await e.getContext():new sg,Be=(G&&G.preventScrollReset)===!0;if(Se&&Ft(Se.formMethod)){await $a(T,I,Te,Pe,Ie,le.active,K,Be,Se,G&&G.defaultShouldRevalidate);return}fe.set(T,{routeId:I,path:Te}),await Le(T,I,Te,Pe,Ie,le.active,K,Be,Se)}async function $a(T,I,F,G,K,_e,xe,Pe,le,Te){mt(),fe.delete(T);let Se=x.fetchers.get(T);Je(T,rx(le,Se),{flushSync:xe});let Ne=new AbortController,Ie=ki(e.history,F,Ne.signal,le);if(_e){let et=await da(G,new URL(Ie.url).pathname,Ie.signal,T);if(et.type==="aborted")return;if(et.type==="error"){Ke(T,I,et.error,{flushSync:xe});return}else if(et.matches)G=et.matches;else{Ke(T,I,_n(404,{pathname:F}),{flushSync:xe});return}}let Be=Cl(G,F);if(!Be.route.action&&!Be.route.lazy){let et=_n(405,{method:le.formMethod,pathname:F,routeId:I});Ke(T,I,et,{flushSync:xe});return}$.set(T,Ne);let Ge=O,ft=Ci(c,u,Ie,F,G,Be,i,K),nt=await Ze(Ie,F,ft,K,T),Ye=nt[Be.route.id];if(!Ye){for(let et of ft)if(nt[et.route.id]){Ye=nt[et.route.id];break}}if(Ie.signal.aborted){$.get(T)===Ne&&$.delete(T);return}if(pe.has(T)){if(Ia(Ye)||fn(Ye)){Je(T,qn(void 0));return}}else{if(Ia(Ye))if($.delete(T),E>Ge){Je(T,qn(void 0));return}else return de.add(T),Je(T,bo(le)),Ae(Ie,Ye,!1,{fetcherSubmission:le,preventScrollReset:Pe});if(fn(Ye)){Ke(T,I,Ye.error);return}}let Fe=x.navigation.location||x.location,Mt=ki(e.history,Fe,Ne.signal),lr=d.activeRoutes,Rn=x.navigation.state!=="idle"?zn(lr,x.navigation.location,f,!1,d.branches):x.matches;ze(Rn,"Didn't find any matches after fetcher action");let Dn=++O;W.set(T,Dn);let{dsMatches:Wn,revalidatingFetchers:ln}=pg(Mt,K,c,u,e.history,x,Rn,le,Fe,i,!1,ne,V,pe,fe,de,lr,f,e.patchRoutesOnNavigation!=null,d.branches,[Be.route.id,Ye],Te),Pr=bo(le,Ye.data),kt=new Map(x.fetchers);kt.set(T,Pr),ln.filter(et=>et.key!==T).forEach(et=>{let cr=et.key,Ya=kt.get(cr),ds=bo(void 0,Ya?Ya.data:void 0);kt.set(cr,ds),Ht(cr),et.controller&&$.set(cr,et.controller)}),qe({fetchers:kt});let Ga=()=>ln.forEach(et=>Ht(et.key));Ne.signal.addEventListener("abort",Ga);let{loaderResults:Lt,fetcherResults:Ka}=await ot(Wn,ln,Mt,Fe,K);if(Ne.signal.aborted)return;Ne.signal.removeEventListener("abort",Ga),W.delete(T),$.delete(T),ln.forEach(et=>$.delete(et.key));let Ue=x.fetchers.has(T),Nt=et=>{if(!Ue)return et;let cr=new Map(et.fetchers);return cr.set(T,qn(Ye.data)),{...et,fetchers:cr}},$t=pl(Lt);if($t)return x=Nt(x),Ae(Mt,$t.result,!1,{preventScrollReset:Pe});if($t=pl(Ka),$t)return de.add($t.key),x=Nt(x),Ae(Mt,$t.result,!1,{preventScrollReset:Pe});let Zt=new Map(x.fetchers);Ue&&Zt.set(T,qn(Ye.data));let{loaderData:Sr,errors:Cr}=_g(x,Rn,Lt,void 0,ln,Ka,Zt);En(Dn,Zt),x.navigation.state==="loading"&&Dn>E?(ze(ee,"Expected pending action"),se&&se.abort(),Et(x.navigation.location,{matches:Rn,loaderData:Sr,errors:Cr,fetchers:Zt})):(qe({errors:Cr,loaderData:xg(x.loaderData,Sr,Rn,Cr),fetchers:Zt}),ne=!1)}async function Le(T,I,F,G,K,_e,xe,Pe,le){let Te=x.fetchers.get(T);Je(T,bo(le,Te?Te.data:void 0),{flushSync:xe});let Se=new AbortController,Ne=ki(e.history,F,Se.signal);if(_e){let Ye=await da(G,new URL(Ne.url).pathname,Ne.signal,T);if(Ye.type==="aborted")return;if(Ye.type==="error"){Ke(T,I,Ye.error,{flushSync:xe});return}else if(Ye.matches)G=Ye.matches;else{Ke(T,I,_n(404,{pathname:F}),{flushSync:xe});return}}let Ie=Cl(G,F);$.set(T,Se);let Be=O,Ge=Ci(c,u,Ne,F,G,Ie,i,K),ft=await Ze(Ne,F,Ge,K,T),nt=ft[Ie.route.id];if(!nt){for(let Ye of G)if(ft[Ye.route.id]){nt=ft[Ye.route.id];break}}if($.get(T)===Se&&$.delete(T),!Ne.signal.aborted){if(pe.has(T)){Je(T,qn(void 0));return}if(Ia(nt))if(E>Be){Je(T,qn(void 0));return}else{de.add(T),await Ae(Ne,nt,!1,{preventScrollReset:Pe});return}if(fn(nt)){Ke(T,I,nt.error);return}Je(T,qn(nt.data))}}async function Ae(T,I,F,{submission:G,fetcherSubmission:K,preventScrollReset:_e,replace:xe}={}){F||(Y?.resolve(),Y=null),I.response.headers.has("X-Remix-Revalidate")&&(ne=!0);let Pe=I.response.headers.get("Location");ze(Pe,"Expected a Location header on the redirect Response"),Pe=bg(Pe,new URL(T.url),f,e.history);let le=Vo(x.location,Pe,{_isRedirect:!0});if(a){let Ge=!1;if(I.response.headers.has("X-Remix-Reload-Document"))Ge=!0;else if(bh(Pe)){const ft=Py(t,Pe,!0);Ge=ft.origin!==t.location.origin||Cn(ft.pathname,f)==null}if(Ge){xe?t.location.replace(Pe):t.location.assign(Pe);return}}se=null;let Te=xe===!0||I.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:Se,formAction:Ne,formEncType:Ie}=x.navigation;!G&&!K&&Se&&Ne&&Ie&&(G=Cg(x.navigation));let Be=G||K;if(I1.has(I.response.status)&&Be&&Ft(Be.formMethod))await on(Te,le,{submission:{...Be,formAction:Pe},preventScrollReset:_e||ue,enableViewTransition:F?q:void 0});else{let Ge=td(le,[],Te,G);await on(Te,le,{overrideNavigation:Ge,fetcherSubmission:K,preventScrollReset:_e||ue,enableViewTransition:F?q:void 0})}}async function Ze(T,I,F,G,K){let _e,xe={};try{_e=await B1(p,T,I,F,K,G,!1)}catch(Pe){return F.filter(le=>le.shouldLoad).forEach(le=>{xe[le.route.id]={type:"error",error:Pe}}),xe}if(T.signal.aborted)return xe;if(!Ft(T.method))for(let Pe of F){if(_e[Pe.route.id]?.type==="error")break;!_e.hasOwnProperty(Pe.route.id)&&!x.loaderData.hasOwnProperty(Pe.route.id)&&(!x.errors||!x.errors.hasOwnProperty(Pe.route.id))&&Pe.shouldCallHandler()&&(_e[Pe.route.id]={type:"error",result:new Error(`No result returned from dataStrategy for route ${Pe.route.id}`)})}for(let[Pe,le]of Object.entries(_e))if(Q1(le)){let Te=le.result;xe[Pe]={type:"redirect",response:G1(Te,T,Pe,F,f)}}else xe[Pe]=await W1(le);return xe}async function ot(T,I,F,G,K){let _e=Ze(F,G,T,K,null),xe=Promise.all(I.map(async Te=>{if(Te.matches&&Te.match&&Te.request&&Te.controller){let Ne=(await Ze(Te.request,Te.path,Te.matches,K,Te.key))[Te.match.route.id];return{[Te.key]:Ne}}else return Promise.resolve({[Te.key]:{type:"error",error:_n(404,{pathname:Te.path})}})})),Pe=await _e,le=(await xe).reduce((Te,Se)=>Object.assign(Te,Se),{});return{loaderResults:Pe,fetcherResults:le}}function mt(){ne=!0,fe.forEach((T,I)=>{$.has(I)&&V.add(I),Ht(I)})}function Je(T,I,F={}){let G=new Map(x.fetchers);G.set(T,I),qe({fetchers:G},{flushSync:(F&&F.flushSync)===!0})}function Ke(T,I,F,G={}){let K=qr(x.matches,I),_e=new Map(x.fetchers);Pt(_e,T),qe({errors:{[K.route.id]:F},fetchers:_e},{flushSync:(G&&G.flushSync)===!0})}function ir(T){return he.set(T,(he.get(T)||0)+1),pe.has(T)&&pe.delete(T),x.fetchers.get(T)||A1}function Ni(T,I){Ht(T,I?.reason),Je(T,qn(null))}function Pt(T,I){let F=x.fetchers.get(I);$.has(I)&&!(F&&F.state==="loading"&&W.has(I))&&Ht(I),fe.delete(I),W.delete(I),de.delete(I),pe.delete(I),V.delete(I),T.delete(I)}function or(T){let I=(he.get(T)||0)-1;I<=0?(he.delete(T),pe.add(T)):he.set(T,I),qe({fetchers:new Map(x.fetchers)})}function Ht(T,I){let F=$.get(T);F&&(F.abort(I),$.delete(T))}function Hn(T,I){for(let F of T){let G=I.get(F);ze(G,`Expected fetcher: ${F}`);let K=qn(G.data);I.set(F,K)}}function $n(T){let I=[],F=!1;for(let G of de){let K=T.get(G);ze(K,`Expected fetcher: ${G}`),K.state==="loading"&&(de.delete(G),I.push(G),F=!0)}return Hn(I,T),F}function En(T,I){let F=[];for(let[G,K]of W)if(K<T){let _e=I.get(G);ze(_e,`Expected fetcher: ${G}`),_e.state==="loading"&&(Ht(G),W.delete(G),F.push(G))}return Hn(F,I),F.length>0}function ua(T,I){let F=x.blockers.get(T)||ko;return De.get(T)!==I&&De.set(T,I),F}function wr(T){x.blockers.delete(T),De.delete(T)}function sn(T,I){let F=x.blockers.get(T)||ko;ze(F.state==="unblocked"&&I.state==="blocked"||F.state==="blocked"&&I.state==="blocked"||F.state==="blocked"&&I.state==="proceeding"||F.state==="blocked"&&I.state==="unblocked"||F.state==="proceeding"&&I.state==="unblocked",`Invalid blocker state transition: ${F.state} -> ${I.state}`);let G=new Map(x.blockers);G.set(T,I),qe({blockers:G})}function sr({currentLocation:T,nextLocation:I,historyAction:F}){if(De.size===0)return;De.size>1&&yt(!1,"A router only supports one blocker at a time");let G=Array.from(De.entries()),[K,_e]=G[G.length-1],xe=x.blockers.get(K);if(!(xe&&xe.state==="proceeding")&&_e({currentLocation:T,nextLocation:I,historyAction:F}))return K}function Wa(T){let I=_n(404,{pathname:T}),F=d.activeRoutes,{matches:G,route:K}=fl(F);return{notFoundMatches:G,route:K,error:I}}function cs(T,I,F){if(_=T,S=I,P=F||null,!N&&x.navigation===ed){N=!0;let G=Oi(x.location,x.matches);G!=null&&qe({restoreScrollPosition:G})}return()=>{_=null,S=null,P=null}}function ji(T,I){return P&&P(T,I.map(G=>a1(G,x.loaderData)))||T.key}function us(T,I){if(_&&S){let F=ji(T,I);_[F]=S()}}function Oi(T,I){if(_){let F=ji(T,I),G=_[F];if(typeof G=="number")return G}return null}function _r(T,I,F){if(e.patchRoutesOnNavigation){let G=d.branches;if(T){if(Object.keys(T[0].params).length>0)return{active:!0,matches:zn(I,F,f,!0,G)}}else return{active:!0,matches:zn(I,F,f,!0,G)||[]}}return{active:!1,matches:null}}async function da(T,I,F,G){if(!e.patchRoutesOnNavigation)return{type:"success",matches:T};let K=T;for(;;){let _e=u;try{await e.patchRoutesOnNavigation({signal:F,path:I,matches:K,fetcherKey:G,patch:(Te,Se)=>{F.aborted||mg(Te,Se,d,_e,c,!1)}})}catch(Te){return{type:"error",error:Te,partialMatches:K}}if(F.aborted)return{type:"aborted"};let xe=d.branches,Pe=zn(d.activeRoutes,I,f,!1,xe),le=null;if(Pe){if(Object.keys(Pe[0].params).length===0)return{type:"success",matches:Pe};if(le=zn(d.activeRoutes,I,f,!0,xe),!(le&&K.length<le.length&&xr(K,le.slice(0,K.length))))return{type:"success",matches:Pe}}if(le||(le=zn(d.activeRoutes,I,f,!0,xe)),!le||xr(K,le))return{type:"success",matches:null};K=le}}function xr(T,I){return T.length===I.length&&T.every((F,G)=>F.route.id===I[G].route.id)}function zi(T){u={},d.setHmrRoutes(Fo(T,c,void 0,u))}function ha(T,I,F=!1){mg(T,I,d,u,c,F),d.hasHMRRoutes||qe({})}return oe={get basename(){return f},get future(){return g},get state(){return x},get routes(){return d.stableRoutes},get branches(){return d.branches},get manifest(){return u},get window(){return t},initialize:ut,subscribe:Xt,enableScrollRestoration:cs,navigate:la,fetch:ca,revalidate:Ba,createHref:T=>e.history.createHref(T),encodeLocation:T=>e.history.encodeLocation(T),getFetcher:ir,resetFetcher:Ni,deleteFetcher:or,dispose:an,getBlocker:ua,deleteBlocker:wr,patchRoutes:ha,_internalFetchControllers:$,_internalSetRoutes:zi,_internalSetStateDoNotUseOrYouWillBreakYourApp(T){qe(T)}},e.instrumentations&&(oe=x1(oe,e.instrumentations.map(T=>T.router).filter(Boolean))),oe}function j1(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function Dd(e,t,a,i,s,c){let u,d;if(s){u=[];for(let p of t)if(u.push(p),p.route.id===s){d=p;break}}else u=t,d=t[t.length-1];let f=rc(i||".",wh(u),Cn(e.pathname,a)||e.pathname,c==="path");if(i==null&&(f.search=e.search,f.hash=e.hash),(i==null||i===""||i===".")&&d){let p=Sh(f.search);if(d.route.index&&!p)f.search=f.search?f.search.replace(/^\?/,"?index&"):"?index";else if(!d.route.index&&p){let g=new URLSearchParams(f.search),v=g.getAll("index");g.delete("index"),v.filter(w=>w).forEach(w=>g.append("index",w));let y=g.toString();f.search=y?`?${y}`:""}}return a!=="/"&&(f.pathname=v1({basename:a,pathname:f.pathname})),tr(f)}function fg(e,t,a){if(!a||!j1(a))return{path:t};if(a.formMethod&&!tx(a.formMethod))return{path:t,error:_n(405,{method:a.formMethod})};let i=()=>({path:t,error:_n(400,{type:"invalid-body"})}),c=(a.formMethod||"get").toUpperCase(),u=$y(t);if(a.body!==void 0){if(a.formEncType==="text/plain"){if(!Ft(c))return i();let v=typeof a.body=="string"?a.body:a.body instanceof FormData||a.body instanceof URLSearchParams?Array.from(a.body.entries()).reduce((y,[w,_])=>`${y}${w}=${_}
|
|
10
|
+
`,""):String(a.body);return{path:t,submission:{formMethod:c,formAction:u,formEncType:a.formEncType,formData:void 0,json:void 0,text:v}}}else if(a.formEncType==="application/json"){if(!Ft(c))return i();try{let v=typeof a.body=="string"?JSON.parse(a.body):a.body;return{path:t,submission:{formMethod:c,formAction:u,formEncType:a.formEncType,formData:void 0,json:v,text:void 0}}}catch{return i()}}}ze(typeof FormData=="function","FormData is not available in this environment");let d,f;if(a.formData)d=Ad(a.formData),f=a.formData;else if(a.body instanceof FormData)d=Ad(a.body),f=a.body;else if(a.body instanceof URLSearchParams)d=a.body,f=wg(d);else if(a.body==null)d=new URLSearchParams,f=new FormData;else try{d=new URLSearchParams(a.body),f=wg(d)}catch{return i()}let p={formMethod:c,formAction:u,formEncType:a&&a.formEncType||"application/x-www-form-urlencoded",formData:f,json:void 0,text:void 0};if(Ft(p.formMethod))return{path:t,submission:p};let g=ar(t);return e&&g.search&&Sh(g.search)&&d.append("index",""),g.search=`?${d}`,{path:tr(g),submission:p}}function pg(e,t,a,i,s,c,u,d,f,p,g,v,y,w,_,P,S,N,j,M,D,B){let Z=D?fn(D[1])?D[1].error:D[1].data:void 0,oe=s.createURL(c.location),x=s.createURL(f),ee;if(g&&c.errors){let Q=Object.keys(c.errors)[0];ee=u.findIndex(ne=>ne.route.id===Q)}else if(D&&fn(D[1])){let Q=D[0];ee=u.findIndex(ne=>ne.route.id===Q)-1}let Y=D?D[1].statusCode:void 0,ue=Y&&Y>=400,se={currentUrl:oe,currentParams:c.matches[0]?.params||{},nextUrl:x,nextParams:u[0].params,...d,actionResult:Z,actionStatus:Y},q=Zo(u),ae=u.map((Q,ne)=>{let{route:V}=Q,$=null;if(ee!=null&&ne>ee)$=!1;else if(V.lazy)$=!0;else if(!xh(V))$=!1;else if(g){let{shouldLoad:de}=Oy(V,c.loaderData,c.errors);$=de}else O1(c.loaderData,c.matches[ne],Q)&&($=!0);if($!==null)return Id(a,i,e,f,q,Q,p,t,$);let O=!1;typeof B=="boolean"?O=B:ue?O=!1:(v||oe.pathname+oe.search===x.pathname+x.search||oe.search!==x.search||z1(c.matches[ne],Q))&&(O=!0);let E={...se,defaultShouldRevalidate:O},W=Do(Q,E);return Id(a,i,e,f,q,Q,p,t,W,E,B)}),ie=[];return _.forEach((Q,ne)=>{if(g||!u.some(he=>he.route.id===Q.routeId)||w.has(ne))return;let V=c.fetchers.get(ne),$=V&&V.state!=="idle"&&V.data===void 0,O=zn(S,Q.path,N??"/",!1,M);if(!O){if(j&&$)return;ie.push({key:ne,routeId:Q.routeId,path:Q.path,matches:null,match:null,request:null,controller:null});return}if(P.has(ne))return;let E=Cl(O,Q.path),W=new AbortController,de=ki(s,Q.path,W.signal),fe=null;if(y.has(ne))y.delete(ne),fe=Ci(a,i,de,Q.path,O,E,p,t);else if($)v&&(fe=Ci(a,i,de,Q.path,O,E,p,t));else{let he;typeof B=="boolean"?he=B:ue?he=!1:he=v;let pe={...se,defaultShouldRevalidate:he};Do(E,pe)&&(fe=Ci(a,i,de,Q.path,O,E,p,t,pe))}fe&&ie.push({key:ne,routeId:Q.routeId,path:Q.path,matches:fe,match:E,request:de,controller:W})}),{dsMatches:ae,revalidatingFetchers:ie}}function xh(e){return e.loader!=null||e.middleware!=null&&e.middleware.length>0}function Oy(e,t,a){if(e.lazy)return{shouldLoad:!0,renderFallback:!0};if(!xh(e))return{shouldLoad:!1,renderFallback:!1};let i=t!=null&&e.id in t,s=a!=null&&a[e.id]!==void 0;if(!i&&s)return{shouldLoad:!1,renderFallback:!1};if(typeof e.loader=="function"&&e.loader.hydrate===!0)return{shouldLoad:!0,renderFallback:!i};let c=!i&&!s;return{shouldLoad:c,renderFallback:c}}function O1(e,t,a){let i=!t||a.route.id!==t.route.id,s=!e.hasOwnProperty(a.route.id);return i||s}function z1(e,t){let a=e.route.path;return e.pathname!==t.pathname||a!=null&&a.endsWith("*")&&e.params["*"]!==t.params["*"]}function Do(e,t){if(e.route.shouldRevalidate){let a=e.route.shouldRevalidate(t);if(typeof a=="boolean")return a}return t.defaultShouldRevalidate}function mg(e,t,a,i,s,c){let u;if(e){let p=i[e];ze(p,`No route found to patch children into: routeId = ${e}`),p.children||(p.children=[]),u=p.children}else u=a.activeRoutes;let d=[],f=[];if(t.forEach(p=>{let g=u.find(v=>zy(p,v));g?f.push({existingRoute:g,newRoute:p}):d.push(p)}),d.length>0){let p=Fo(d,s,[e||"_","patch",String(u?.length||"0")],i);u.push(...p)}if(c&&f.length>0)for(let p=0;p<f.length;p++){let{existingRoute:g,newRoute:v}=f[p],y=g,[w]=Fo([v],s,[],{},!0);Object.assign(y,{element:w.element?w.element:y.element,errorElement:w.errorElement?w.errorElement:y.errorElement,hydrateFallbackElement:w.hydrateFallbackElement?w.hydrateFallbackElement:y.hydrateFallbackElement})}a.hasHMRRoutes||a.setRoutes([...a.activeRoutes])}function zy(e,t){return"id"in e&&"id"in t&&e.id===t.id?!0:e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive?(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children?.every((a,i)=>t.children?.some(s=>zy(a,s)))??!1:!1}var gg=new WeakMap,Vy=({key:e,route:t,manifest:a,mapRouteProperties:i})=>{let s=a[t.id];if(ze(s,"No route found in manifest"),!s.lazy||typeof s.lazy!="object")return;let c=s.lazy[e];if(!c)return;let u=gg.get(s);u||(u={},gg.set(s,u));let d=u[e];if(d)return d;let f=(async()=>{let p=e1(e),v=s[e]!==void 0&&e!=="hasErrorBoundary";if(p)yt(!p,"Route property "+e+" is not a supported lazy route property. This property will be ignored."),u[e]=Promise.resolve();else if(v)yt(!1,`Route "${s.id}" has a static property "${e}" defined. The lazy property will be ignored.`);else{let y=await c();y!=null&&(Object.assign(s,{[e]:y}),Object.assign(s,i(s)))}typeof s.lazy=="object"&&(s.lazy[e]=void 0,Object.values(s.lazy).every(y=>y===void 0)&&(s.lazy=void 0))})();return u[e]=f,f},vg=new WeakMap;function V1(e,t,a,i,s){let c=a[e.id];if(ze(c,"No route found in manifest"),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof e.lazy=="function"){let g=vg.get(c);if(g)return{lazyRoutePromise:g,lazyHandlerPromise:g};let v=(async()=>{ze(typeof e.lazy=="function","No lazy route function found");let y=await e.lazy(),w={};for(let _ in y){let P=y[_];if(P===void 0)continue;let S=n1(_),j=c[_]!==void 0&&_!=="hasErrorBoundary";S?yt(!S,"Route property "+_+" is not a supported property to be returned from a lazy route function. This property will be ignored."):j?yt(!j,`Route "${c.id}" has a static property "${_}" defined but its lazy function is also returning a value for this property. The lazy route property "${_}" will be ignored.`):w[_]=P}Object.assign(c,w),Object.assign(c,{...i(c),lazy:void 0})})();return vg.set(c,v),v.catch(()=>{}),{lazyRoutePromise:v,lazyHandlerPromise:v}}let u=Object.keys(e.lazy),d=[],f;for(let g of u){if(s&&s.includes(g))continue;let v=Vy({key:g,route:e,manifest:a,mapRouteProperties:i});v&&(d.push(v),g===t&&(f=v))}let p=d.length>0?Promise.all(d).then(()=>{}):void 0;return p?.catch(()=>{}),f?.catch(()=>{}),{lazyRoutePromise:p,lazyHandlerPromise:f}}async function yg(e){let t=e.matches.filter(s=>s.shouldLoad),a={};return(await Promise.all(t.map(s=>s.resolve()))).forEach((s,c)=>{a[t[c].route.id]=s}),a}async function F1(e){return e.matches.some(t=>t.route.middleware)?Fy(e,()=>yg(e)):yg(e)}function Fy(e,t){return U1(e,t,i=>{if(ex(i))throw i;return i},Z1,a);function a(i,s,c){if(c)return Promise.resolve(Object.assign(c.value,{[s]:{type:"error",result:i}}));{let{matches:u}=e,d=Math.min(Math.max(u.findIndex(p=>p.route.id===s),0),Math.max(u.findIndex(p=>p.shouldCallHandler()),0)),f=qr(u,u[d].route.id).route.id;return Promise.resolve({[f]:{type:"error",result:i}})}}}async function U1(e,t,a,i,s){let{matches:c,...u}=e,d=c.flatMap(p=>p.route.middleware?p.route.middleware.map(g=>[p.route.id,g]):[]);return await Uy(u,d,t,a,i,s)}async function Uy(e,t,a,i,s,c,u=0){let{request:d}=e;if(d.signal.aborted)throw d.signal.reason??new Error(`Request aborted: ${d.method} ${d.url}`);let f=t[u];if(!f)return await a();let[p,g]=f,v,y=async()=>{if(v)throw new Error("You may only call `next()` once per middleware");try{return v={value:await Uy(e,t,a,i,s,c,u+1)},v.value}catch(w){return v={value:await c(w,p,v)},v.value}};try{let w=await g(e,y),_=w!=null?i(w):void 0;return s(_)?_:v?_??v.value:(v={value:await y()},v.value)}catch(w){return await c(w,p,v)}}function By(e,t,a,i,s){let c=Vy({key:"middleware",route:i.route,manifest:t,mapRouteProperties:e}),u=V1(i.route,Ft(a.method)?"action":"loader",t,e,s);return{middleware:c,route:u.lazyRoutePromise,handler:u.lazyHandlerPromise}}function Id(e,t,a,i,s,c,u,d,f,p=null,g){let v=!1,y=By(e,t,a,c,u);return{...c,_lazyPromises:y,shouldLoad:f,shouldRevalidateArgs:p,shouldCallHandler(w){return v=!0,p?typeof g=="boolean"?Do(c,{...p,defaultShouldRevalidate:g}):typeof w=="boolean"?Do(c,{...p,defaultShouldRevalidate:w}):Do(c,p):f},resolve(w){let{lazy:_,loader:P,middleware:S}=c.route,N=v||f||w&&!Ft(a.method)&&(_||P),j=S&&S.length>0&&!P&&!_;return N&&(Ft(a.method)||!j)?H1({request:a,path:i,pattern:s,match:c,lazyHandlerPromise:y?.handler,lazyRoutePromise:y?.route,handlerOverride:w,scopedContext:d}):Promise.resolve({type:"data",result:void 0})}}}function Ci(e,t,a,i,s,c,u,d,f=null){return s.map(p=>p.route.id!==c.route.id?{...p,shouldLoad:!1,shouldRevalidateArgs:f,shouldCallHandler:()=>!1,_lazyPromises:By(e,t,a,p,u),resolve:()=>Promise.resolve({type:"data",result:void 0})}:Id(e,t,a,i,Zo(s),p,u,d,!0,f))}async function B1(e,t,a,i,s,c,u){i.some(g=>g._lazyPromises?.middleware)&&await Promise.all(i.map(g=>g._lazyPromises?.middleware));let d={request:t,url:Hy(t,a),pattern:Zo(i),params:i[0].params,context:c,matches:i},p=await e({...d,fetcherKey:s,runClientMiddleware:g=>{let v=d;return Fy(v,()=>g({...v,fetcherKey:s,runClientMiddleware:()=>{throw new Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))}});try{await Promise.all(i.flatMap(g=>[g._lazyPromises?.handler,g._lazyPromises?.route]))}catch{}return p}async function H1({request:e,path:t,pattern:a,match:i,lazyHandlerPromise:s,lazyRoutePromise:c,handlerOverride:u,scopedContext:d}){let f,p,g=Ft(e.method),v=g?"action":"loader",y=w=>{let _,P=new Promise((j,M)=>_=M);p=()=>_(),e.signal.addEventListener("abort",p);let S=j=>typeof w!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${v}" [routeId: ${i.route.id}]`)):w({request:e,url:Hy(e,t),pattern:a,params:i.params,context:d},...j!==void 0?[j]:[]),N=(async()=>{try{return{type:"data",result:await(u?u(M=>S(M)):S())}}catch(j){return{type:"error",result:j}}})();return Promise.race([N,P])};try{let w=g?i.route.action:i.route.loader;if(s||c)if(w){let _,[P]=await Promise.all([y(w).catch(S=>{_=S}),s,c]);if(_!==void 0)throw _;f=P}else{await s;let _=g?i.route.action:i.route.loader;if(_)[f]=await Promise.all([y(_),c]);else if(v==="action"){let P=new URL(e.url),S=P.pathname+P.search;throw _n(405,{method:e.method,pathname:S,routeId:i.route.id})}else return{type:"data",result:void 0}}else if(w)f=await y(w);else{let _=new URL(e.url),P=_.pathname+_.search;throw _n(404,{pathname:P})}}catch(w){return{type:"error",result:w}}finally{p&&e.signal.removeEventListener("abort",p)}return f}async function $1(e){let t=e.headers.get("Content-Type");return t&&/\bapplication\/json\b/.test(t)?e.body==null?null:e.json():e.text()}async function W1(e){let{result:t,type:a}=e;if(Ph(t)){let i;try{i=await $1(t)}catch(s){return{type:"error",error:s}}return a==="error"?{type:"error",error:new Xo(t.status,t.statusText,i),statusCode:t.status,headers:t.headers}:{type:"data",data:i,statusCode:t.status,headers:t.headers}}return a==="error"?Sg(t)?t.data instanceof Error?{type:"error",error:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"error",error:X1(t),statusCode:Uo(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"error",error:t,statusCode:Uo(t)?t.status:void 0}:Sg(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 G1(e,t,a,i,s){let c=e.headers.get("Location");if(ze(c,"Redirects returned/thrown from loaders/actions must have a Location header"),!bh(c)){let u=i.slice(0,i.findIndex(d=>d.route.id===a)+1);c=Dd(new URL(t.url),u,s,c),e.headers.set("Location",c)}return e}var kg=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];function bg(e,t,a,i){if(bh(e)){let s=e,c=s.startsWith("//")?new URL(t.protocol+s):new URL(s);if(kg.includes(c.protocol))throw new Error("Invalid redirect location");let u=Cn(c.pathname,a)!=null;if(c.origin===t.origin&&u)return _h(c.pathname)+c.search+c.hash}try{let s=i.createURL(e);if(kg.includes(s.protocol))throw new Error("Invalid redirect location")}catch{}return e}function ki(e,t,a,i){let s=e.createURL($y(t)).toString(),c={signal:a};if(i&&Ft(i.formMethod)){let{formMethod:u,formEncType:d}=i;c.method=u.toUpperCase(),d==="application/json"?(c.headers=new Headers({"Content-Type":d}),c.body=JSON.stringify(i.json)):d==="text/plain"?c.body=i.text:d==="application/x-www-form-urlencoded"&&i.formData?c.body=Ad(i.formData):c.body=i.formData}return new Request(s,c)}function Hy(e,t){let a=new URL(e.url),i=typeof t=="string"?ar(t):t;if(a.pathname=i.pathname||"/",i.search){let s=new URLSearchParams(i.search),c=s.getAll("index");s.delete("index");for(let u of c.filter(Boolean))s.append("index",u);a.search=s.size?`?${s.toString()}`:""}else a.search="";return a.hash=i.hash||"",a}function Ad(e){let t=new URLSearchParams;for(let[a,i]of e.entries())t.append(a,typeof i=="string"?i:i.name);return t}function wg(e){let t=new FormData;for(let[a,i]of e.entries())t.append(a,i);return t}function K1(e,t,a,i=!1,s=!1){let c={},u=null,d,f=!1,p={},g=a&&fn(a[1])?a[1].error:void 0;return e.forEach(v=>{if(!(v.route.id in t))return;let y=v.route.id,w=t[y];if(ze(!Ia(w),"Cannot handle redirect results in processLoaderData"),fn(w)){let _=w.error;if(g!==void 0&&(_=g,g=void 0),u=u||{},s)u[y]=_;else{let P=qr(e,y);u[P.route.id]==null&&(u[P.route.id]=_)}i||(c[y]=jy),f||(f=!0,d=Uo(w.error)?w.error.status:500),w.headers&&(p[y]=w.headers)}else c[y]=w.data,w.statusCode&&w.statusCode!==200&&!f&&(d=w.statusCode),w.headers&&(p[y]=w.headers)}),g!==void 0&&a&&(u={[a[0]]:g},a[2]&&(c[a[2]]=void 0)),{loaderData:c,errors:u,statusCode:d||200,loaderHeaders:p}}function _g(e,t,a,i,s,c,u){let{loaderData:d,errors:f}=K1(t,a,i);return s.filter(p=>!p.matches||p.matches.some(g=>g.shouldLoad)).forEach(p=>{let{key:g,match:v,controller:y}=p;if(y&&y.signal.aborted)return;let w=c[g];if(ze(w,"Did not find corresponding fetcher result"),fn(w)){let _=qr(e.matches,v?.route.id);f&&f[_.route.id]||(f={...f,[_.route.id]:w.error}),u.delete(g)}else if(Ia(w))ze(!1,"Unhandled fetcher revalidation redirect");else{let _=qn(w.data);u.set(g,_)}}),{loaderData:d,errors:f}}function xg(e,t,a,i){let s=Object.entries(t).filter(([,c])=>c!==jy).reduce((c,[u,d])=>(c[u]=d,c),{});for(let c of a){let u=c.route.id;if(!t.hasOwnProperty(u)&&e.hasOwnProperty(u)&&c.route.loader&&(s[u]=e[u]),i&&i.hasOwnProperty(u))break}return s}function Pg(e){return e?fn(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function qr(e,t){return(t?e.slice(0,e.findIndex(i=>i.route.id===t)+1):[...e]).reverse().find(i=>i.route.hasErrorBoundary===!0)||e[0]}function fl(e){let t=e.length===1?e[0]:e.find(a=>a.index||!a.path||a.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function _n(e,{pathname:t,routeId:a,method:i,type:s,message:c}={}){let u="Unknown Server Error",d="Unknown @remix-run/router error";return e===400?(u="Bad Request",i&&t&&a?d=`You made a ${i} request to "${t}" but did not provide a \`loader\` for route "${a}", so there is no way to handle the request.`:s==="invalid-body"&&(d="Unable to encode submission body")):e===403?(u="Forbidden",d=`Route "${a}" does not match URL "${t}"`):e===404?(u="Not Found",d=`No route matches URL "${t}"`):e===405&&(u="Method Not Allowed",i&&t&&a?d=`You made a ${i.toUpperCase()} request to "${t}" but did not provide an \`action\` for route "${a}", so there is no way to handle the request.`:i&&(d=`Invalid request method "${i.toUpperCase()}"`)),new Xo(e||500,u,new Error(d),!0)}function pl(e){let t=Object.entries(e);for(let a=t.length-1;a>=0;a--){let[i,s]=t[a];if(Ia(s))return{key:i,result:s}}}function $y(e){let t=typeof e=="string"?ar(e):e;return tr({...t,hash:""})}function Y1(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function X1(e){return new Xo(e.init?.status??500,e.init?.statusText??"Internal Server Error",e.data)}function Z1(e){return e!=null&&typeof e=="object"&&Object.entries(e).every(([t,a])=>typeof t=="string"&&q1(a))}function q1(e){return e!=null&&typeof e=="object"&&"type"in e&&"result"in e&&(e.type==="data"||e.type==="error")}function Q1(e){return Ph(e.result)&&Ly.has(e.result.status)}function fn(e){return e.type==="error"}function Ia(e){return(e&&e.type)==="redirect"}function Sg(e){return typeof e=="object"&&e!=null&&"type"in e&&"data"in e&&"init"in e&&e.type==="DataWithResponseInit"}function Ph(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function J1(e){return Ly.has(e)}function ex(e){return Ph(e)&&J1(e.status)&&e.headers.has("Location")}function tx(e){return D1.has(e.toUpperCase())}function Ft(e){return E1.has(e.toUpperCase())}function Sh(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function Cl(e,t){let a=typeof t=="string"?ar(t).search:t.search;if(e[e.length-1].route.index&&Sh(a||""))return e[e.length-1];let i=Ry(e);return i[i.length-1]}function Cg(e){let{formMethod:t,formAction:a,formEncType:i,text:s,formData:c,json:u}=e;if(!(!t||!a||!i)){if(s!=null)return{formMethod:t,formAction:a,formEncType:i,formData:void 0,json:void 0,text:s};if(c!=null)return{formMethod:t,formAction:a,formEncType:i,formData:c,json:void 0,text:void 0};if(u!==void 0)return{formMethod:t,formAction:a,formEncType:i,formData:void 0,json:u,text:void 0}}}function td(e,t,a,i){return i?{state:"loading",location:e,matches:t,historyAction:a,formMethod:i.formMethod,formAction:i.formAction,formEncType:i.formEncType,formData:i.formData,json:i.json,text:i.text}:{state:"loading",location:e,matches:t,historyAction:a,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function nx(e,t,a,i){return{state:"submitting",location:e,matches:t,historyAction:a,formMethod:i.formMethod,formAction:i.formAction,formEncType:i.formEncType,formData:i.formData,json:i.json,text:i.text}}function bo(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 rx(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function qn(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 ax(e,t){try{let a=e.sessionStorage.getItem(Ny);if(a){let i=JSON.parse(a);for(let[s,c]of Object.entries(i||{}))c&&Array.isArray(c)&&t.set(s,new Set(c||[]))}}catch{}}function ix(e,t){if(t.size>0){let a={};for(let[i,s]of t)a[i]=[...s];try{e.sessionStorage.setItem(Ny,JSON.stringify(a))}catch(i){yt(!1,`Failed to save applied view transitions in sessionStorage (${i}).`)}}}function Tg(){let e,t,a=new Promise((i,s)=>{e=async c=>{i(c);try{await a}catch{}},t=async c=>{s(c);try{await a}catch{}}});return{promise:a,resolve:e,reject:t}}var Oa=b.createContext(null);Oa.displayName="DataRouter";var qo=b.createContext(null);qo.displayName="DataRouterState";var Wy=b.createContext(!1);function Gy(){return b.useContext(Wy)}var Ch=b.createContext({isTransitioning:!1});Ch.displayName="ViewTransition";var Ky=b.createContext(new Map);Ky.displayName="Fetchers";var ox=b.createContext(null);ox.displayName="Await";var Tn=b.createContext(null);Tn.displayName="Navigation";var ac=b.createContext(null);ac.displayName="Location";var kr=b.createContext({outlet:null,matches:[],isDataRoute:!1});kr.displayName="Route";var Th=b.createContext(null);Th.displayName="RouteError";var Yy="REACT_ROUTER_ERROR",sx="REDIRECT",lx="ROUTE_ERROR_RESPONSE";function cx(e){if(e.startsWith(`${Yy}:${sx}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.location=="string"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch{}}function ux(e){if(e.startsWith(`${Yy}:${lx}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new Xo(t.status,t.statusText,t.data)}catch{}}function dx(e,{relative:t}={}){ze(Qo(),"useHref() may be used only in the context of a <Router> component.");let{basename:a,navigator:i}=b.useContext(Tn),{hash:s,pathname:c,search:u}=Jo(e,{relative:t}),d=c;return a!=="/"&&(d=c==="/"?a:Pn([a,c])),i.createHref({pathname:d,search:u,hash:s})}function Qo(){return b.useContext(ac)!=null}function Un(){return ze(Qo(),"useLocation() may be used only in the context of a <Router> component."),b.useContext(ac).location}var Xy="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Zy(e){b.useContext(Tn).static||b.useLayoutEffect(e)}function qy(){let{isDataRoute:e}=b.useContext(kr);return e?Px():hx()}function hx(){ze(Qo(),"useNavigate() may be used only in the context of a <Router> component.");let e=b.useContext(Oa),{basename:t,navigator:a}=b.useContext(Tn),{matches:i}=b.useContext(kr),{pathname:s}=Un(),c=JSON.stringify(wh(i)),u=b.useRef(!1);return Zy(()=>{u.current=!0}),b.useCallback((f,p={})=>{if(yt(u.current,Xy),!u.current)return;if(typeof f=="number"){a.go(f);return}let g=rc(f,JSON.parse(c),s,p.relative==="path");e==null&&t!=="/"&&(g.pathname=g.pathname==="/"?t:Pn([t,g.pathname])),(p.replace?a.replace:a.push)(g,p.state,p)},[t,a,c,s,e])}b.createContext(null);function Jo(e,{relative:t}={}){let{matches:a}=b.useContext(kr),{pathname:i}=Un(),s=JSON.stringify(wh(a));return b.useMemo(()=>rc(e,JSON.parse(s),i,t==="path"),[e,s,i,t])}function fx(e,t,a){ze(Qo(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:i}=b.useContext(Tn),{matches:s}=b.useContext(kr),c=s[s.length-1],u=c?c.params:{},d=c?c.pathname:"/",f=c?c.pathnameBase:"/",p=c&&c.route;{let S=p&&p.path||"";Jy(d,!p||S.endsWith("*")||S.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${d}" (under <Route path="${S}">) 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.
|
|
11
|
+
|
|
12
|
+
Please change the parent <Route path="${S}"> to <Route path="${S==="/"?"*":`${S}/*`}">.`)}let g=Un(),v;v=g;let y=v.pathname||"/",w=y;if(f!=="/"){let S=f.replace(/^\//,"").split("/");w="/"+y.replace(/^\//,"").split("/").slice(S.length).join("/")}let _=a&&a.state.matches.length?a.state.matches.map(S=>Object.assign(S,{route:a.manifest[S.route.id]||S.route})):Sy(e,{pathname:w});return yt(p||_!=null,`No routes matched location "${v.pathname}${v.search}${v.hash}" `),yt(_==null||_[_.length-1].route.element!==void 0||_[_.length-1].route.Component!==void 0||_[_.length-1].route.lazy!==void 0,`Matched leaf route at location "${v.pathname}${v.search}${v.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`),yx(_&&_.map(S=>Object.assign({},S,{params:Object.assign({},u,S.params),pathname:Pn([f,i.encodeLocation?i.encodeLocation(S.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:S.pathname]),pathnameBase:S.pathnameBase==="/"?f:Pn([f,i.encodeLocation?i.encodeLocation(S.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:S.pathnameBase])})),s,a)}function px(){let e=xx(),t=Uo(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),a=e instanceof Error?e.stack:null,i="rgba(200,200,200, 0.5)",s={padding:"0.5rem",backgroundColor:i},c={padding:"2px 4px",backgroundColor:i},u=null;return console.error("Error handled by React Router default ErrorBoundary:",e),u=b.createElement(b.Fragment,null,b.createElement("p",null,"💿 Hey developer 👋"),b.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",b.createElement("code",{style:c},"ErrorBoundary")," or"," ",b.createElement("code",{style:c},"errorElement")," prop on your route.")),b.createElement(b.Fragment,null,b.createElement("h2",null,"Unexpected Application Error!"),b.createElement("h3",{style:{fontStyle:"italic"}},t),a?b.createElement("pre",{style:s},a):null,u)}var mx=b.createElement(px,null),Qy=class extends b.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const a=ux(e.digest);a&&(e=a)}let t=e!==void 0?b.createElement(kr.Provider,{value:this.props.routeContext},b.createElement(Th.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?b.createElement(gx,{error:e},t):t}};Qy.contextType=Wy;var nd=new WeakMap;function gx({children:e,error:t}){let{basename:a}=b.useContext(Tn);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let i=cx(t.digest);if(i){let s=nd.get(t);if(s)throw s;let c=Iy(i.location,a);if(Dy&&!nd.get(t))if(c.isExternal||i.reloadDocument)window.location.href=c.absoluteURL||c.to;else{const u=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(c.to,{replace:i.replace}));throw nd.set(t,u),u}return b.createElement("meta",{httpEquiv:"refresh",content:`0;url=${c.absoluteURL||c.to}`})}}return e}function vx({routeContext:e,match:t,children:a}){let i=b.useContext(Oa);return i&&i.static&&i.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=t.route.id),b.createElement(kr.Provider,{value:e},a)}function yx(e,t=[],a){let i=a?.state;if(e==null){if(!i)return null;if(i.errors)e=i.matches;else if(t.length===0&&!i.initialized&&i.matches.length>0)e=i.matches;else return null}let s=e,c=i?.errors;if(c!=null){let g=s.findIndex(v=>v.route.id&&c?.[v.route.id]!==void 0);ze(g>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(c).join(",")}`),s=s.slice(0,Math.min(s.length,g+1))}let u=!1,d=-1;if(a&&i){u=i.renderFallback;for(let g=0;g<s.length;g++){let v=s[g];if((v.route.HydrateFallback||v.route.hydrateFallbackElement)&&(d=g),v.route.id){let{loaderData:y,errors:w}=i,_=v.route.loader&&!y.hasOwnProperty(v.route.id)&&(!w||w[v.route.id]===void 0);if(v.route.lazy||_){a.isStatic&&(u=!0),d>=0?s=s.slice(0,d+1):s=[s[0]];break}}}}let f=a?.onError,p=i&&f?(g,v)=>{f(g,{location:i.location,params:i.matches?.[0]?.params??{},pattern:Zo(i.matches),errorInfo:v})}:void 0;return s.reduceRight((g,v,y)=>{let w,_=!1,P=null,S=null;i&&(w=c&&v.route.id?c[v.route.id]:void 0,P=v.route.errorElement||mx,u&&(d<0&&y===0?(Jy("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),_=!0,S=null):d===y&&(_=!0,S=v.route.hydrateFallbackElement||null)));let N=t.concat(s.slice(0,y+1)),j=()=>{let M;return w?M=P:_?M=S:v.route.Component?M=b.createElement(v.route.Component,null):v.route.element?M=v.route.element:M=g,b.createElement(vx,{match:v,routeContext:{outlet:g,matches:N,isDataRoute:i!=null},children:M})};return i&&(v.route.ErrorBoundary||v.route.errorElement||y===0)?b.createElement(Qy,{location:i.location,revalidation:i.revalidation,component:P,error:w,children:j(),routeContext:{outlet:null,matches:N,isDataRoute:!0},onError:p}):j()},null)}function Eh(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function kx(e){let t=b.useContext(Oa);return ze(t,Eh(e)),t}function bx(e){let t=b.useContext(qo);return ze(t,Eh(e)),t}function wx(e){let t=b.useContext(kr);return ze(t,Eh(e)),t}function Rh(e){let t=wx(e),a=t.matches[t.matches.length-1];return ze(a.route.id,`${e} can only be used on routes that contain a unique "id"`),a.route.id}function _x(){return Rh("useRouteId")}function xx(){let e=b.useContext(Th),t=bx("useRouteError"),a=Rh("useRouteError");return e!==void 0?e:t.errors?.[a]}function Px(){let{router:e}=kx("useNavigate"),t=Rh("useNavigate"),a=b.useRef(!1);return Zy(()=>{a.current=!0}),b.useCallback(async(s,c={})=>{yt(a.current,Xy),a.current&&(typeof s=="number"?await e.navigate(s):await e.navigate(s,{fromRouteId:t,...c}))},[e,t])}var Eg={};function Jy(e,t,a){!t&&!Eg[e]&&(Eg[e]=!0,yt(!1,a))}var Rg={};function Dg(e,t){!e&&!Rg[t]&&(Rg[t]=!0,console.warn(t))}var Sx="useOptimistic",Ig=kh[Sx],Cx=()=>{};function Tx(e){return Ig?Ig(e):[e,Cx]}function Ex(e){let t={hasErrorBoundary:e.hasErrorBoundary||e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&(e.element&&yt(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(t,{element:b.createElement(e.Component),Component:void 0})),e.HydrateFallback&&(e.hydrateFallbackElement&&yt(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(t,{hydrateFallbackElement:b.createElement(e.HydrateFallback),HydrateFallback:void 0})),e.ErrorBoundary&&(e.errorElement&&yt(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(t,{errorElement:b.createElement(e.ErrorBoundary),ErrorBoundary:void 0})),t}var Rx=["HydrateFallback","hydrateFallbackElement"],Dx=class{constructor(){this.status="pending",this.promise=new Promise((e,t)=>{this.resolve=a=>{this.status==="pending"&&(this.status="resolved",e(a))},this.reject=a=>{this.status==="pending"&&(this.status="rejected",t(a))}})}};function Ix({router:e,flushSync:t,onError:a,useTransitions:i}){i=Gy()||i;let[c,u]=b.useState(e.state),[d,f]=Tx(c),[p,g]=b.useState(),[v,y]=b.useState({isTransitioning:!1}),[w,_]=b.useState(),[P,S]=b.useState(),[N,j]=b.useState(),M=b.useRef(new Map),D=b.useCallback((x,{deletedFetchers:ee,newErrors:Y,flushSync:ue,viewTransitionOpts:se})=>{Y&&a&&Object.values(Y).forEach(ae=>a(ae,{location:x.location,params:x.matches[0]?.params??{},pattern:Zo(x.matches)})),x.fetchers.forEach((ae,ie)=>{ae.data!==void 0&&M.current.set(ie,ae.data)}),ee.forEach(ae=>M.current.delete(ae)),Dg(ue===!1||t!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let q=e.window!=null&&e.window.document!=null&&typeof e.window.document.startViewTransition=="function";if(Dg(se==null||q,"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."),!se||!q){t&&ue?t(()=>u(x)):i===!1?u(x):b.startTransition(()=>{i===!0&&f(ae=>Ag(ae,x)),u(x)});return}if(t&&ue){t(()=>{P&&(w?.resolve(),P.skipTransition()),y({isTransitioning:!0,flushSync:!0,currentLocation:se.currentLocation,nextLocation:se.nextLocation})});let ae=e.window.document.startViewTransition(()=>{t(()=>u(x))});ae.finished.finally(()=>{t(()=>{_(void 0),S(void 0),g(void 0),y({isTransitioning:!1})})}),t(()=>S(ae));return}P?(w?.resolve(),P.skipTransition(),j({state:x,currentLocation:se.currentLocation,nextLocation:se.nextLocation})):(g(x),y({isTransitioning:!0,flushSync:!1,currentLocation:se.currentLocation,nextLocation:se.nextLocation}))},[e.window,t,P,w,i,f,a]);b.useLayoutEffect(()=>e.subscribe(D),[e,D]),b.useEffect(()=>{v.isTransitioning&&!v.flushSync&&_(new Dx)},[v]),b.useEffect(()=>{if(w&&p&&e.window){let x=p,ee=w.promise,Y=e.window.document.startViewTransition(async()=>{i===!1?u(x):b.startTransition(()=>{i===!0&&f(ue=>Ag(ue,x)),u(x)}),await ee});Y.finished.finally(()=>{_(void 0),S(void 0),g(void 0),y({isTransitioning:!1})}),S(Y)}},[p,w,e.window,i,f]),b.useEffect(()=>{w&&p&&d.location.key===p.location.key&&w.resolve()},[w,P,d.location,p]),b.useEffect(()=>{!v.isTransitioning&&N&&(g(N.state),y({isTransitioning:!0,flushSync:!1,currentLocation:N.currentLocation,nextLocation:N.nextLocation}),j(void 0))},[v.isTransitioning,N]);let B=b.useMemo(()=>({createHref:e.createHref,encodeLocation:e.encodeLocation,go:x=>e.navigate(x),push:(x,ee,Y)=>e.navigate(x,{state:ee,preventScrollReset:Y?.preventScrollReset}),replace:(x,ee,Y)=>e.navigate(x,{replace:!0,state:ee,preventScrollReset:Y?.preventScrollReset})}),[e]),Z=e.basename||"/",oe=b.useMemo(()=>({router:e,navigator:B,static:!1,basename:Z,onError:a}),[e,B,Z,a]);return b.createElement(b.Fragment,null,b.createElement(Oa.Provider,{value:oe},b.createElement(qo.Provider,{value:d},b.createElement(Ky.Provider,{value:M.current},b.createElement(Ch.Provider,{value:v},b.createElement(Lx,{basename:Z,location:d.location,navigationType:d.historyAction,navigator:B,useTransitions:i},b.createElement(Ax,{routes:e.routes,manifest:e.manifest,future:e.future,state:d,isStatic:!1,onError:a})))))),null)}function Ag(e,t){return{...e,navigation:t.navigation.state!=="idle"?t.navigation:e.navigation,revalidation:t.revalidation!=="idle"?t.revalidation:e.revalidation,actionData:t.navigation.state!=="submitting"?t.actionData:e.actionData,fetchers:t.fetchers}}var Ax=b.memo(Mx);function Mx({routes:e,manifest:t,future:a,state:i,isStatic:s,onError:c}){return fx(e,void 0,{manifest:t,state:i,isStatic:s,onError:c})}function Lx({basename:e="/",children:t=null,location:a,navigationType:i="POP",navigator:s,static:c=!1,useTransitions:u}){ze(!Qo(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let d=e.replace(/^\/*/,"/"),f=b.useMemo(()=>({basename:d,navigator:s,static:c,useTransitions:u,future:{}}),[d,s,c,u]);typeof a=="string"&&(a=ar(a));let{pathname:p="/",search:g="",hash:v="",state:y=null,key:w="default",mask:_}=a,P=b.useMemo(()=>{let S=Cn(p,d);return S==null?null:{location:{pathname:S,search:g,hash:v,state:y,key:w,mask:_},navigationType:i}},[d,p,g,v,y,w,i,_]);return yt(P!=null,`<Router basename="${d}"> is not able to match the URL "${p}${g}${v}" because it does not start with the basename, so the <Router> won't render anything.`),P==null?null:b.createElement(Tn.Provider,{value:f},b.createElement(ac.Provider,{children:t,value:P}))}var Tl="get",El="application/x-www-form-urlencoded";function ic(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function Nx(e){return ic(e)&&e.tagName.toLowerCase()==="button"}function jx(e){return ic(e)&&e.tagName.toLowerCase()==="form"}function Ox(e){return ic(e)&&e.tagName.toLowerCase()==="input"}function zx(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Vx(e,t){return e.button===0&&(!t||t==="_self")&&!zx(e)}var ml=null;function Fx(){if(ml===null)try{new FormData(document.createElement("form"),0),ml=!1}catch{ml=!0}return ml}var Ux=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function rd(e){return e!=null&&!Ux.has(e)?(yt(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${El}"`),null):e}function Bx(e,t){let a,i,s,c,u;if(jx(e)){let d=e.getAttribute("action");i=d?Cn(d,t):null,a=e.getAttribute("method")||Tl,s=rd(e.getAttribute("enctype"))||El,c=new FormData(e)}else if(Nx(e)||Ox(e)&&(e.type==="submit"||e.type==="image")){let d=e.form;if(d==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let f=e.getAttribute("formaction")||d.getAttribute("action");if(i=f?Cn(f,t):null,a=e.getAttribute("formmethod")||d.getAttribute("method")||Tl,s=rd(e.getAttribute("formenctype"))||rd(d.getAttribute("enctype"))||El,c=new FormData(d,e),!Fx()){let{name:p,type:g,value:v}=e;if(g==="image"){let y=p?`${p}.`:"";c.append(`${y}x`,"0"),c.append(`${y}y`,"0")}else p&&c.append(p,v)}}else{if(ic(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');a=Tl,i=null,s=El,u=e}return c&&s==="text/plain"&&(u=c,c=void 0),{action:i,method:a.toLowerCase(),encType:s,formData:c,body:u}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function Dh(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function ek(e,t,a,i){let s=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return a?s.pathname.endsWith("/")?s.pathname=`${s.pathname}_.${i}`:s.pathname=`${s.pathname}.${i}`:s.pathname==="/"?s.pathname=`_root.${i}`:t&&Cn(s.pathname,t)==="/"?s.pathname=`${Vl(t)}/_root.${i}`:s.pathname=`${Vl(s.pathname)}.${i}`,s}async function Hx(e,t){if(e.id in t)return t[e.id];try{let a=await import(e.module);return t[e.id]=a,a}catch(a){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(a),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function $x(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 Wx(e,t,a){let i=await Promise.all(e.map(async s=>{let c=t.routes[s.route.id];if(c){let u=await Hx(c,a);return u.links?u.links():[]}return[]}));return Xx(i.flat(1).filter($x).filter(s=>s.rel==="stylesheet"||s.rel==="preload").map(s=>s.rel==="stylesheet"?{...s,rel:"prefetch",as:"style"}:{...s,rel:"prefetch"}))}function Mg(e,t,a,i,s,c){let u=(f,p)=>a[p]?f.route.id!==a[p].route.id:!0,d=(f,p)=>a[p].pathname!==f.pathname||a[p].route.path?.endsWith("*")&&a[p].params["*"]!==f.params["*"];return c==="assets"?t.filter((f,p)=>u(f,p)||d(f,p)):c==="data"?t.filter((f,p)=>{let g=i.routes[f.route.id];if(!g||!g.hasLoader)return!1;if(u(f,p)||d(f,p))return!0;if(f.route.shouldRevalidate){let v=f.route.shouldRevalidate({currentUrl:new URL(s.pathname+s.search+s.hash,window.origin),currentParams:a[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:f.params,defaultShouldRevalidate:!0});if(typeof v=="boolean")return v}return!0}):[]}function Gx(e,t,{includeHydrateFallback:a}={}){return Kx(e.map(i=>{let s=t.routes[i.route.id];if(!s)return[];let c=[s.module];return s.clientActionModule&&(c=c.concat(s.clientActionModule)),s.clientLoaderModule&&(c=c.concat(s.clientLoaderModule)),a&&s.hydrateFallbackModule&&(c=c.concat(s.hydrateFallbackModule)),s.imports&&(c=c.concat(s.imports)),c}).flat(1))}function Kx(e){return[...new Set(e)]}function Yx(e){let t={},a=Object.keys(e).sort();for(let i of a)t[i]=e[i];return t}function Xx(e,t){let a=new Set;return new Set(t),e.reduce((i,s)=>{let c=JSON.stringify(Yx(s));return a.has(c)||(a.add(c),i.push({key:c,link:s})),i},[])}function Ih(){let e=b.useContext(Oa);return Dh(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Zx(){let e=b.useContext(qo);return Dh(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var Ah=b.createContext(void 0);Ah.displayName="FrameworkContext";function Mh(){let e=b.useContext(Ah);return Dh(e,"You must render this element inside a <HydratedRouter> element"),e}function qx(e,t){let a=b.useContext(Ah),[i,s]=b.useState(!1),[c,u]=b.useState(!1),{onFocus:d,onBlur:f,onMouseEnter:p,onMouseLeave:g,onTouchStart:v}=t,y=b.useRef(null);b.useEffect(()=>{if(e==="render"&&u(!0),e==="viewport"){let P=N=>{N.forEach(j=>{u(j.isIntersecting)})},S=new IntersectionObserver(P,{threshold:.5});return y.current&&S.observe(y.current),()=>{S.disconnect()}}},[e]),b.useEffect(()=>{if(i){let P=setTimeout(()=>{u(!0)},100);return()=>{clearTimeout(P)}}},[i]);let w=()=>{s(!0)},_=()=>{s(!1),u(!1)};return a?e!=="intent"?[c,y,{}]:[c,y,{onFocus:wo(d,w),onBlur:wo(f,_),onMouseEnter:wo(p,w),onMouseLeave:wo(g,_),onTouchStart:wo(v,w)}]:[!1,y,{}]}function wo(e,t){return a=>{e&&e(a),a.defaultPrevented||t(a)}}function Qx({page:e,...t}){let a=Gy(),{router:i}=Ih(),s=b.useMemo(()=>Sy(i.routes,e,i.basename),[i.routes,e,i.basename]);return s?a?b.createElement(eP,{page:e,matches:s,...t}):b.createElement(tP,{page:e,matches:s,...t}):null}function Jx(e){let{manifest:t,routeModules:a}=Mh(),[i,s]=b.useState([]);return b.useEffect(()=>{let c=!1;return Wx(e,t,a).then(u=>{c||s(u)}),()=>{c=!0}},[e,t,a]),i}function eP({page:e,matches:t,...a}){let i=Un(),{future:s}=Mh(),{basename:c}=Ih(),u=b.useMemo(()=>{if(e===i.pathname+i.search+i.hash)return[];let d=ek(e,c,s.v8_trailingSlashAwareDataRequests,"rsc"),f=!1,p=[];for(let g of t)typeof g.route.shouldRevalidate=="function"?f=!0:p.push(g.route.id);return f&&p.length>0&&d.searchParams.set("_routes",p.join(",")),[d.pathname+d.search]},[c,s.v8_trailingSlashAwareDataRequests,e,i,t]);return b.createElement(b.Fragment,null,u.map(d=>b.createElement("link",{key:d,rel:"prefetch",as:"fetch",href:d,...a})))}function tP({page:e,matches:t,...a}){let i=Un(),{future:s,manifest:c,routeModules:u}=Mh(),{basename:d}=Ih(),{loaderData:f,matches:p}=Zx(),g=b.useMemo(()=>Mg(e,t,p,c,i,"data"),[e,t,p,c,i]),v=b.useMemo(()=>Mg(e,t,p,c,i,"assets"),[e,t,p,c,i]),y=b.useMemo(()=>{if(e===i.pathname+i.search+i.hash)return[];let P=new Set,S=!1;if(t.forEach(j=>{let M=c.routes[j.route.id];!M||!M.hasLoader||(!g.some(D=>D.route.id===j.route.id)&&j.route.id in f&&u[j.route.id]?.shouldRevalidate||M.hasClientLoader?S=!0:P.add(j.route.id))}),P.size===0)return[];let N=ek(e,d,s.v8_trailingSlashAwareDataRequests,"data");return S&&P.size>0&&N.searchParams.set("_routes",t.filter(j=>P.has(j.route.id)).map(j=>j.route.id).join(",")),[N.pathname+N.search]},[d,s.v8_trailingSlashAwareDataRequests,f,i,c,g,t,e,u]),w=b.useMemo(()=>Gx(v,c),[v,c]),_=Jx(v);return b.createElement(b.Fragment,null,y.map(P=>b.createElement("link",{key:P,rel:"prefetch",as:"fetch",href:P,...a})),w.map(P=>b.createElement("link",{key:P,rel:"modulepreload",href:P,...a})),_.map(({key:P,link:S})=>b.createElement("link",{key:P,nonce:a.nonce,...S,crossOrigin:S.crossOrigin??a.crossOrigin})))}function nP(...e){return t=>{e.forEach(a=>{typeof a=="function"?a(t):a!=null&&(a.current=t)})}}var rP=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{rP&&(window.__reactRouterVersion="7.17.0")}catch{}function aP(e,t){return N1({basename:t?.basename,getContext:t?.getContext,future:t?.future,history:Z_({window:t?.window}),hydrationData:iP(),routes:e,mapRouteProperties:Ex,hydrationRouteProperties:Rx,dataStrategy:t?.dataStrategy,patchRoutesOnNavigation:t?.patchRoutesOnNavigation,window:t?.window,instrumentations:t?.instrumentations}).initialize()}function iP(){let e=window?.__staticRouterHydrationData;return e&&e.errors&&(e={...e,errors:oP(e.errors)}),e}function oP(e){if(!e)return null;let t=Object.entries(e),a={};for(let[i,s]of t)if(s&&s.__type==="RouteErrorResponse")a[i]=new Xo(s.status,s.statusText,s.data,s.internal===!0);else if(s&&s.__type==="Error"){if(s.__subType){let c=window[s.__subType];if(typeof c=="function")try{let u=new c(s.message);u.stack="",a[i]=u}catch{}}if(a[i]==null){let c=new Error(s.message);c.stack="",a[i]=c}}else a[i]=s;return a}var tk=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,oc=b.forwardRef(function({onClick:t,discover:a="render",prefetch:i="none",relative:s,reloadDocument:c,replace:u,mask:d,state:f,target:p,to:g,preventScrollReset:v,viewTransition:y,defaultShouldRevalidate:w,..._},P){let{basename:S,navigator:N,useTransitions:j}=b.useContext(Tn),M=typeof g=="string"&&tk.test(g),D=Iy(g,S);g=D.to;let B=dx(g,{relative:s}),Z=Un(),oe=null;if(d){let ie=rc(d,[],Z.mask?Z.mask.pathname:"/",!0);S!=="/"&&(ie.pathname=ie.pathname==="/"?S:Pn([S,ie.pathname])),oe=N.createHref(ie)}let[x,ee,Y]=qx(i,_),ue=uP(g,{replace:u,mask:d,state:f,target:p,preventScrollReset:v,relative:s,viewTransition:y,defaultShouldRevalidate:w,useTransitions:j});function se(ie){t&&t(ie),ie.defaultPrevented||ue(ie)}let q=!(D.isExternal||c),ae=b.createElement("a",{..._,...Y,href:(q?oe:void 0)||D.absoluteURL||B,onClick:q?se:t,ref:nP(P,ee),target:p,"data-discover":!M&&a==="render"?"true":void 0});return x&&!M?b.createElement(b.Fragment,null,ae,b.createElement(Qx,{page:B})):ae});oc.displayName="Link";var sP=b.forwardRef(function({"aria-current":t="page",caseSensitive:a=!1,className:i="",end:s=!1,style:c,to:u,viewTransition:d,children:f,...p},g){let v=Jo(u,{relative:p.relative}),y=Un(),w=b.useContext(qo),{navigator:_,basename:P}=b.useContext(Tn),S=w!=null&&mP(v)&&d===!0,N=_.encodeLocation?_.encodeLocation(v).pathname:v.pathname,j=y.pathname,M=w&&w.navigation&&w.navigation.location?w.navigation.location.pathname:null;a||(j=j.toLowerCase(),M=M?M.toLowerCase():null,N=N.toLowerCase()),M&&P&&(M=Cn(M,P)||M);const D=N!=="/"&&N.endsWith("/")?N.length-1:N.length;let B=j===N||!s&&j.startsWith(N)&&j.charAt(D)==="/",Z=M!=null&&(M===N||!s&&M.startsWith(N)&&M.charAt(N.length)==="/"),oe={isActive:B,isPending:Z,isTransitioning:S},x=B?t:void 0,ee;typeof i=="function"?ee=i(oe):ee=[i,B?"active":null,Z?"pending":null,S?"transitioning":null].filter(Boolean).join(" ");let Y=typeof c=="function"?c(oe):c;return b.createElement(oc,{...p,"aria-current":x,className:ee,ref:g,style:Y,to:u,viewTransition:d},typeof f=="function"?f(oe):f)});sP.displayName="NavLink";var lP=b.forwardRef(({discover:e="render",fetcherKey:t,navigate:a,reloadDocument:i,replace:s,state:c,method:u=Tl,action:d,onSubmit:f,relative:p,preventScrollReset:g,viewTransition:v,defaultShouldRevalidate:y,...w},_)=>{let{useTransitions:P}=b.useContext(Tn),S=fP(),N=pP(d,{relative:p}),j=u.toLowerCase()==="get"?"get":"post",M=typeof d=="string"&&tk.test(d),D=B=>{if(f&&f(B),B.defaultPrevented)return;B.preventDefault();let Z=B.nativeEvent.submitter,oe=Z?.getAttribute("formmethod")||u,x=()=>S(Z||B.currentTarget,{fetcherKey:t,method:oe,navigate:a,replace:s,state:c,relative:p,preventScrollReset:g,viewTransition:v,defaultShouldRevalidate:y});P&&a!==!1?b.startTransition(()=>x()):x()};return b.createElement("form",{ref:_,method:j,action:N,onSubmit:i?f:D,...w,"data-discover":!M&&e==="render"?"true":void 0})});lP.displayName="Form";function cP(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function nk(e){let t=b.useContext(Oa);return ze(t,cP(e)),t}function uP(e,{target:t,replace:a,mask:i,state:s,preventScrollReset:c,relative:u,viewTransition:d,defaultShouldRevalidate:f,useTransitions:p}={}){let g=qy(),v=Un(),y=Jo(e,{relative:u});return b.useCallback(w=>{if(Vx(w,t)){w.preventDefault();let _=a!==void 0?a:tr(v)===tr(y),P=()=>g(e,{replace:_,mask:i,state:s,preventScrollReset:c,relative:u,viewTransition:d,defaultShouldRevalidate:f});p?b.startTransition(()=>P()):P()}},[v,g,y,a,i,s,t,e,c,u,d,f,p])}var dP=0,hP=()=>`__${String(++dP)}__`;function fP(){let{router:e}=nk("useSubmit"),{basename:t}=b.useContext(Tn),a=_x(),i=e.fetch,s=e.navigate;return b.useCallback(async(c,u={})=>{let{action:d,method:f,encType:p,formData:g,body:v}=Bx(c,t);if(u.navigate===!1){let y=u.fetcherKey||hP();await i(y,a,u.action||d,{defaultShouldRevalidate:u.defaultShouldRevalidate,preventScrollReset:u.preventScrollReset,formData:g,body:v,formMethod:u.method||f,formEncType:u.encType||p,flushSync:u.flushSync})}else await s(u.action||d,{defaultShouldRevalidate:u.defaultShouldRevalidate,preventScrollReset:u.preventScrollReset,formData:g,body:v,formMethod:u.method||f,formEncType:u.encType||p,replace:u.replace,state:u.state,fromRouteId:a,flushSync:u.flushSync,viewTransition:u.viewTransition})},[i,s,t,a])}function pP(e,{relative:t}={}){let{basename:a}=b.useContext(Tn),i=b.useContext(kr);ze(i,"useFormAction must be used inside a RouteContext");let[s]=i.matches.slice(-1),c={...Jo(e||".",{relative:t})},u=Un();if(e==null){c.search=u.search;let d=new URLSearchParams(c.search),f=d.getAll("index");if(f.some(g=>g==="")){d.delete("index"),f.filter(v=>v).forEach(v=>d.append("index",v));let g=d.toString();c.search=g?`?${g}`:""}}return(!e||e===".")&&s.route.index&&(c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index"),a!=="/"&&(c.pathname=c.pathname==="/"?a:Pn([a,c.pathname])),tr(c)}function mP(e,{relative:t}={}){let a=b.useContext(Ch);ze(a!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:i}=nk("useViewTransitionState"),s=Jo(e,{relative:t});if(!a.isTransitioning)return!1;let c=Cn(a.currentLocation.pathname,i)||a.currentLocation.pathname,u=Cn(a.nextLocation.pathname,i)||a.nextLocation.pathname;return zl(s.pathname,u)!=null||zl(s.pathname,c)!=null}var za=wy();function gP(e){return b.createElement(Ix,{flushSync:za.flushSync,...e})}const vP=`key,module,page,component,slot,text,notes,status
|
|
13
|
+
shared.placeholder.short,shared,*,*,placeholder_short,--,,active
|
|
14
|
+
shared.unit.percent,shared,*,*,unit_percent,%,,active
|
|
15
|
+
shared.unit.thousand_abbrev,shared,*,*,unit_thousand_abbrev,K,,active
|
|
16
|
+
shared.unit.million_abbrev,shared,*,*,unit_million_abbrev,M,,active
|
|
17
|
+
shared.unit.billion_abbrev,shared,*,*,unit_billion_abbrev,B,,active
|
|
18
|
+
shared.data_source,shared,*,*,label,Data source: {{source}},,active
|
|
19
|
+
shared.error.prefix,shared,*,*,label,Error: {{error}},,active
|
|
20
|
+
shared.status.unsynced,shared,*,*,status,—,,active
|
|
21
|
+
error.boundary.title,shared,*,ErrorBoundary,title,Something went wrong,,active
|
|
22
|
+
error.boundary.subtitle,shared,*,ErrorBoundary,subtitle,This view failed to render,,active
|
|
23
|
+
error.boundary.hint,shared,*,ErrorBoundary,hint,"Open the console, then reload the page",,active
|
|
24
|
+
error.boundary.no_details,shared,*,ErrorBoundary,details,No error details,,active
|
|
25
|
+
error.boundary.action.reload,shared,*,ErrorBoundary,action_reload,Reload,,active
|
|
26
|
+
identity_card.rank_label,ui,IdentityCard,IdentityCard,rank_label,Started,,active
|
|
27
|
+
identity_card.streak_label,ui,IdentityCard,IdentityCard,streak_label,Active days,,active
|
|
28
|
+
identity_card.rank_placeholder,ui,IdentityCard,IdentityCard,rank_placeholder,—,,active
|
|
29
|
+
identity_card.streak_value,ui,IdentityCard,IdentityCard,streak_value,{{days}} DAY,,active
|
|
30
|
+
dashboard.core_index.collapse_label,dashboard,DashboardPage,UsagePanel,toggle,▾,,active
|
|
31
|
+
dashboard.core_index.expand_label,dashboard,DashboardPage,UsagePanel,toggle,▸,,active
|
|
32
|
+
dashboard.core_index.collapse_aria,dashboard,DashboardPage,UsagePanel,toggle_aria,Collapse model breakdown,,active
|
|
33
|
+
dashboard.core_index.expand_aria,dashboard,DashboardPage,UsagePanel,toggle_aria,Expand model breakdown,,active
|
|
34
|
+
usage.summary.total,ui,UsagePanel,UsagePanel,summary_label_total,Total tokens,,active
|
|
35
|
+
usage.summary.updated_at,ui,UsagePanel,UsagePanel,summary_updated_at,Updated {{timestamp}},,active
|
|
36
|
+
usage.metric.total,ui,UsagePanel,UsagePanel,metric_total,Total,,active
|
|
37
|
+
usage.metric.input,ui,UsagePanel,UsagePanel,metric_input,Input,,active
|
|
38
|
+
usage.metric.output,ui,UsagePanel,UsagePanel,metric_output,Output,,active
|
|
39
|
+
usage.metric.cached_input,ui,UsagePanel,UsagePanel,metric_cached_input,Cached input,,active
|
|
40
|
+
usage.metric.reasoning_output,ui,UsagePanel,UsagePanel,metric_reasoning_output,Reasoning output,,active
|
|
41
|
+
usage.button.refresh,ui,UsagePanel,UsagePanel,button_refresh,Refresh,,active
|
|
42
|
+
dashboard.rolling.title,ui,RollingUsagePanel,RollingUsagePanel,title,Recent Activity,,active
|
|
43
|
+
dashboard.rolling.last_7d,ui,RollingUsagePanel,RollingUsagePanel,label_last_7d,Last 7 days,,active
|
|
44
|
+
dashboard.rolling.last_30d,ui,RollingUsagePanel,RollingUsagePanel,label_last_30d,Last 30 days,,active
|
|
45
|
+
dashboard.rolling.avg_active_day,ui,RollingUsagePanel,RollingUsagePanel,label_avg_active_day,Daily average,,active
|
|
46
|
+
dashboard.projects.title,ui,ProjectUsagePanel,ProjectUsagePanel,title,Project Usage,,active
|
|
47
|
+
dashboard.projects.tokens_label,ui,ProjectUsagePanel,ProjectUsagePanel,tokens_label,Tokens,,active
|
|
48
|
+
dashboard.projects.stars_label,ui,ProjectUsagePanel,ProjectUsagePanel,stars_label,STAR,,active
|
|
49
|
+
dashboard.projects.limit_label,ui,ProjectUsagePanel,ProjectUsagePanel,limit_label,Show,,active
|
|
50
|
+
dashboard.projects.limit_aria,ui,ProjectUsagePanel,ProjectUsagePanel,limit_aria,Select repository limit,,active
|
|
51
|
+
dashboard.projects.limit_top_3,ui,ProjectUsagePanel,ProjectUsagePanel,limit_top_3,TOP 3,,active
|
|
52
|
+
dashboard.projects.limit_top_6,ui,ProjectUsagePanel,ProjectUsagePanel,limit_top_6,TOP 6,,active
|
|
53
|
+
dashboard.projects.limit_top_10,ui,ProjectUsagePanel,ProjectUsagePanel,limit_top_10,TOP 10,,active
|
|
54
|
+
dashboard.projects.empty,ui,ProjectUsagePanel,ProjectUsagePanel,empty,No public repositories,,active
|
|
55
|
+
dashboard.projects.unattributed,ui,ProjectUsagePanel,ProjectUsagePanel,unattributed,Not counted per repo:,Prefix for the list of sources with usage but no project attribution,active
|
|
56
|
+
dashboard.projects.unpriced,ui,ProjectUsagePanel,ProjectUsagePanel,unpriced,no model recorded,Shown instead of a cost when every row for this repo predates per-model project attribution,active
|
|
57
|
+
dashboard.plan_value.title,ui,PlanValueCard,PlanValueCard,title,Plan vs list price,,active
|
|
58
|
+
dashboard.plan_value.empty,ui,PlanValueCard,PlanValueCard,empty,Enter what you pay for a plan to compare it against list price.,Shown when no provider has a plan price set,active
|
|
59
|
+
dashboard.plan_value.headline,ui,PlanValueCard,PlanValueCard,headline,{{plan}}/mo of plans · {{list}} of usage at API list price,"Deliberately neutral: no ""saved"" or ""wasted""",active
|
|
60
|
+
dashboard.plan_value.row,ui,PlanValueCard,PlanValueCard,row,{{plan}}/mo · {{list}} at list price,Per-provider line,active
|
|
61
|
+
dashboard.plan_value.floor_note,ui,PlanValueCard,PlanValueCard,floor_note,At least this much — some usage could not be priced ({{models}}).,Shown when any model is unpriced or fuzzy-matched,active
|
|
62
|
+
dashboard.plan_value.disclaimer,ui,PlanValueCard,PlanValueCard,disclaimer,List-price-equivalent for this window — not a bill you would have paid.,Guards against reading the number as a counterfactual,active
|
|
63
|
+
dashboard.plan_value.input_aria,ui,PlanValueCard,PlanValueCard,input_aria,Monthly plan price for {{source}},,active
|
|
64
|
+
dashboard.cost_breakdown.title,ui,CostAnalysisModal,CostAnalysisModal,title,Cost Breakdown,,active
|
|
65
|
+
dashboard.cost_breakdown.total_label,ui,CostAnalysisModal,CostAnalysisModal,total_label,Estimated Total Cost,,active
|
|
66
|
+
dashboard.cost_breakdown.close,ui,CostAnalysisModal,CostAnalysisModal,close_label,Close,,active
|
|
67
|
+
trend.monitor.label,ui,TrendMonitor,TrendMonitor,label,Usage Trend,,active
|
|
68
|
+
trend.zoom.open_aria,ui,TrendMonitor,TrendMonitor,zoom_open_aria,Expand to full screen,,active
|
|
69
|
+
trend.zoom.close_aria,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_close_aria,Close,,active
|
|
70
|
+
trend.zoom.badge,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_badge,Trend Insight,,active
|
|
71
|
+
trend.zoom.desc,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_desc,"Hover any bar to inspect tokens, cost and conversations. Switch granularity to drill from months down to half-hours.",,active
|
|
72
|
+
trend.zoom.insight_badge,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_insight_badge,Insight,,active
|
|
73
|
+
trend.zoom.tooltip.cost,ui,TrendMonitor,TrendMonitor,zoom_tooltip_cost,cost,,active
|
|
74
|
+
trend.zoom.tooltip.conversations,ui,TrendMonitor,TrendMonitor,zoom_tooltip_conversations,conversations,,active
|
|
75
|
+
trend.zoom.stats.tokens,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_stats_tokens,Total Tokens,,active
|
|
76
|
+
trend.zoom.stats.cost,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_stats_cost,Total Cost,,active
|
|
77
|
+
trend.zoom.stats.conversations,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_stats_conversations,Conversations,,active
|
|
78
|
+
trend.zoom.stats.peak,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_stats_peak,Peak Bucket,,active
|
|
79
|
+
trend.zoom.gran.aria,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_gran_aria,Granularity,,active
|
|
80
|
+
trend.zoom.gran.30min,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_gran_30min,30 min,,active
|
|
81
|
+
trend.zoom.gran.day,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_gran_day,Day,,active
|
|
82
|
+
trend.zoom.gran.month,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_gran_month,Month,,active
|
|
83
|
+
trend.zoom.prev_day,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_prev_day,Previous day,,active
|
|
84
|
+
trend.zoom.next_day,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_next_day,Next day,,active
|
|
85
|
+
trend.zoom.loading,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_loading,Loading…,,active
|
|
86
|
+
trend.zoom.pick_day,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_pick_day,Pick a day,,active
|
|
87
|
+
trend.zoom.pick_range,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_pick_range,Pick a date range,,active
|
|
88
|
+
trend.zoom.insight.empty,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_insight_empty,A quiet stretch. Not a single token crossed the wire.,,active
|
|
89
|
+
trend.zoom.insight.calm,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_insight_calm,"Light touch. The model mostly sat on standby, waking only when you reached for it.",,active
|
|
90
|
+
trend.zoom.insight.steady,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_insight_steady,"A steady rhythm across {{active}} active stretches, cresting at {{peak}}. The kind of pace that ships things without drama.",,active
|
|
91
|
+
trend.zoom.insight.heavy,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_insight_heavy,"Heavy lifting: {{active}} stretches running hot, peaking at {{peak}}. This is output from someone who manufactures momentum instead of waiting for it.",,active
|
|
92
|
+
trend.zoom.insight.massive,ui,TrendMonitorZoomModal,TrendMonitorZoomModal,zoom_insight_massive,"Industrial scale. A {{peak}} peak and throughput that never cools. At this volume you are not using the model, you are running a foundry.",,active
|
|
93
|
+
heatmap.title,ui,ActivityHeatmap,ActivityHeatmap,title,Activity Heatmap,,active
|
|
94
|
+
heatmap.empty,ui,ActivityHeatmap,ActivityHeatmap,empty_state,No activity data yet.,,active
|
|
95
|
+
heatmap.legend.less,ui,ActivityHeatmap,ActivityHeatmap,legend_less,Less,,active
|
|
96
|
+
heatmap.legend.more,ui,ActivityHeatmap,ActivityHeatmap,legend_more,More,,active
|
|
97
|
+
heatmap.legend.utc,ui,ActivityHeatmap,ActivityHeatmap,legend_utc,UTC,,active
|
|
98
|
+
heatmap.tooltip,ui,ActivityHeatmap,ActivityHeatmap,tooltip,{{day}} • {{value}} {{unit}} • {{tz}},,active
|
|
99
|
+
heatmap.unit.tokens,ui,ActivityHeatmap,ActivityHeatmap,unit_tokens,tokens,,active
|
|
100
|
+
heatmap.iso.aria,ui,ActivityHeatmap,ActivityHeatmap3D,iso_aria,3D isometric activity heatmap,,active
|
|
101
|
+
heatmap.view.2d,ui,ActivityHeatmap,ActivityHeatmap,view_2d,2D,,active
|
|
102
|
+
heatmap.view.3d,ui,ActivityHeatmap,ActivityHeatmap,view_3d,3D,,active
|
|
103
|
+
heatmap.month.jan,ui,ActivityHeatmap,ActivityHeatmap,month_label,Jan,,active
|
|
104
|
+
heatmap.month.feb,ui,ActivityHeatmap,ActivityHeatmap,month_label,Feb,,active
|
|
105
|
+
heatmap.month.mar,ui,ActivityHeatmap,ActivityHeatmap,month_label,Mar,,active
|
|
106
|
+
heatmap.month.apr,ui,ActivityHeatmap,ActivityHeatmap,month_label,Apr,,active
|
|
107
|
+
heatmap.month.may,ui,ActivityHeatmap,ActivityHeatmap,month_label,May,,active
|
|
108
|
+
heatmap.month.jun,ui,ActivityHeatmap,ActivityHeatmap,month_label,Jun,,active
|
|
109
|
+
heatmap.month.jul,ui,ActivityHeatmap,ActivityHeatmap,month_label,Jul,,active
|
|
110
|
+
heatmap.month.aug,ui,ActivityHeatmap,ActivityHeatmap,month_label,Aug,,active
|
|
111
|
+
heatmap.month.sep,ui,ActivityHeatmap,ActivityHeatmap,month_label,Sep,,active
|
|
112
|
+
heatmap.month.oct,ui,ActivityHeatmap,ActivityHeatmap,month_label,Oct,,active
|
|
113
|
+
heatmap.month.nov,ui,ActivityHeatmap,ActivityHeatmap,month_label,Nov,,active
|
|
114
|
+
heatmap.month.dec,ui,ActivityHeatmap,ActivityHeatmap,month_label,Dec,,active
|
|
115
|
+
heatmap.day.sun,ui,ActivityHeatmap,ActivityHeatmap,day_label,Sun,,active
|
|
116
|
+
heatmap.day.mon,ui,ActivityHeatmap,ActivityHeatmap,day_label,Mon,,active
|
|
117
|
+
heatmap.day.tue,ui,ActivityHeatmap,ActivityHeatmap,day_label,Tue,,active
|
|
118
|
+
heatmap.day.wed,ui,ActivityHeatmap,ActivityHeatmap,day_label,Wed,,active
|
|
119
|
+
heatmap.day.thu,ui,ActivityHeatmap,ActivityHeatmap,day_label,Thu,,active
|
|
120
|
+
heatmap.day.fri,ui,ActivityHeatmap,ActivityHeatmap,day_label,Fri,,active
|
|
121
|
+
heatmap.day.sat,ui,ActivityHeatmap,ActivityHeatmap,day_label,Sat,,active
|
|
122
|
+
daily.sort.date.label,dashboard,DashboardPage,DailyTable,sort_label,Date,,active
|
|
123
|
+
daily.sort.date.title,dashboard,DashboardPage,DailyTable,sort_title,Sort by Date,,active
|
|
124
|
+
daily.sort.total.label,dashboard,DashboardPage,DailyTable,sort_label,Total,,active
|
|
125
|
+
daily.sort.total.title,dashboard,DashboardPage,DailyTable,sort_title,Sort by Total,,active
|
|
126
|
+
daily.sort.input.label,dashboard,DashboardPage,DailyTable,sort_label,Input,,active
|
|
127
|
+
daily.sort.input.title,dashboard,DashboardPage,DailyTable,sort_title,Sort by Input,,active
|
|
128
|
+
daily.sort.output.label,dashboard,DashboardPage,DailyTable,sort_label,Output,,active
|
|
129
|
+
daily.sort.output.title,dashboard,DashboardPage,DailyTable,sort_title,Sort by Output,,active
|
|
130
|
+
daily.sort.cached.label,dashboard,DashboardPage,DailyTable,sort_label,Cached,,active
|
|
131
|
+
daily.sort.cached.title,dashboard,DashboardPage,DailyTable,sort_title,Sort by Cached input,,active
|
|
132
|
+
daily.sort.reasoning.label,dashboard,DashboardPage,DailyTable,sort_label,Reasoning,,active
|
|
133
|
+
daily.sort.reasoning.title,dashboard,DashboardPage,DailyTable,sort_title,Sort by Reasoning output,,active
|
|
134
|
+
daily.sort.conversations.label,dashboard,DashboardPage,DailyTable,sort_label,Convs,,active
|
|
135
|
+
daily.sort.conversations.title,dashboard,DashboardPage,DailyTable,sort_title,Sort by Conversations,,active
|
|
136
|
+
daily.sort.cost.label,dashboard,DashboardPage,DailyTable,sort_label,Cost,,active
|
|
137
|
+
daily.sort.cost.title,dashboard,DashboardPage,DailyTable,sort_title,Sort by Cost,,active
|
|
138
|
+
daily.sort.cost_per_mtok.label,dashboard,DashboardPage,DailyTable,sort_label,$/MTok,,active
|
|
139
|
+
daily.sort.cost_per_mtok.title,dashboard,DashboardPage,DailyTable,sort_title,Sort by Cost per million tokens,,active
|
|
140
|
+
daily.sort.top_model.label,dashboard,DashboardPage,DailyTable,sort_label,Top model,,active
|
|
141
|
+
daily.sort.top_model.title,dashboard,DashboardPage,DailyTable,sort_title,Sort by Top model,,active
|
|
142
|
+
details.pagination.prev,dashboard,DashboardPage,DailyTable,pagination_prev,Prev,,active
|
|
143
|
+
details.pagination.next,dashboard,DashboardPage,DailyTable,pagination_next,Next,,active
|
|
144
|
+
limits.copilot.otelHint.title,dashboard,LimitsPage,LimitsPage,otel_hint_title,Track Copilot token usage,,active
|
|
145
|
+
limits.copilot.otelHint.body,dashboard,LimitsPage,LimitsPage,otel_hint_body,"Limits load via your GitHub OAuth token. To also record per-token usage, enable Copilot's OpenTelemetry export and add these lines to your shell profile (~/.zshrc or ~/.bashrc):",,active
|
|
146
|
+
limits.copilot.otelHint.copy,dashboard,LimitsPage,LimitsPage,otel_hint_copy,Copy,,active
|
|
147
|
+
limits.copilot.otelHint.copied,dashboard,LimitsPage,LimitsPage,otel_hint_copied,Copied,,active
|
|
148
|
+
dashboard.session_expired.copy_label,dashboard,DashboardPage,AsciiBox,body,run npx --yes @ipv9/tokentracker-cli init,,active
|
|
149
|
+
dashboard.session_expired.copied,dashboard,DashboardPage,AsciiBox,body,copied,,active
|
|
150
|
+
dashboard.install.prompt,dashboard,DashboardPage,AsciiBox,install_prompt,Install Node.js 18+ then run:,,active
|
|
151
|
+
dashboard.install.cmd.init,dashboard,DashboardPage,AsciiBox,install_cmd,npx --yes @ipv9/tokentracker-cli init,,active
|
|
152
|
+
dashboard.install.cmd.init_link_code,dashboard,DashboardPage,AsciiBox,install_cmd,npx --yes @ipv9/tokentracker-cli init --link-code {{link_code}},,active
|
|
153
|
+
dashboard.install.copy,dashboard,DashboardPage,AsciiBox,install_copy,Copy install command,,active
|
|
154
|
+
dashboard.install.copy_base,dashboard,DashboardPage,AsciiBox,install_copy,Copy init command,,active
|
|
155
|
+
dashboard.install.copied,dashboard,DashboardPage,AsciiBox,install_copy,Copied to clipboard,,active
|
|
156
|
+
dashboard.install.link_code.loading,dashboard,DashboardPage,AsciiBox,install_status,Generating private code...,,active
|
|
157
|
+
dashboard.install.link_code.failed,dashboard,DashboardPage,AsciiBox,install_status,Private code unavailable,,active
|
|
158
|
+
dashboard.install.cmd.sync,dashboard,DashboardPage,AsciiBox,install_cmd,npx --yes @ipv9/tokentracker-cli sync,,active
|
|
159
|
+
dashboard.daily.title,dashboard,DashboardPage,AsciiBox,title,Daily Breakdown,,active
|
|
160
|
+
dashboard.daily.empty,dashboard,DashboardPage,AsciiBox,empty_state,No data yet. Use your AI CLI then run {{cmd}}.,,active
|
|
161
|
+
dashboard.data_health.day_empty_has_recent,dashboard,DashboardPage,DashboardView,data_health_day_recent,No tokens in today's local day. Last 7 days has {{tokens}} tokens; switch to 7d or 30d to review recent usage.,,active
|
|
162
|
+
dashboard.data_health.period_empty_has_30d,dashboard,DashboardPage,DashboardView,data_health_period_30d,No tokens in this range. Last 30 days has {{tokens}} tokens; widen the range to review recent usage.,,active
|
|
163
|
+
dashboard.data_health.month_empty_has_30d,dashboard,DashboardPage,DashboardView,data_health_month_30d,No tokens in this calendar month yet. Last 30 days has {{tokens}} tokens.,,active
|
|
164
|
+
dashboard.data_health.no_recent_data,dashboard,DashboardPage,DashboardView,data_health_no_recent,No recent token data found. Run sync or check status to confirm readable tool logs.,,active
|
|
165
|
+
dashboard.identity.title,dashboard,DashboardPage,IdentityCard,title,Your Profile,,active
|
|
166
|
+
dashboard.identity.subtitle,dashboard,DashboardPage,IdentityCard,subtitle,Track your coding journey,,active
|
|
167
|
+
dashboard.identity.fallback,dashboard,DashboardPage,IdentityCard,handle_fallback,Anonymous,,active
|
|
168
|
+
dashboard.screenshot.title_line1,dashboard,DashboardPage,ScreenshotTitle,title_line,Coding Agent,,active
|
|
169
|
+
dashboard.screenshot.title_line2,dashboard,DashboardPage,ScreenshotTitle,title_line,2025 Wrapped,,active
|
|
170
|
+
nav.usage,shared,*,Sidebar,nav_usage,Tokens,,active
|
|
171
|
+
nav.limits,shared,*,Sidebar,nav_limits,Limits,,active
|
|
172
|
+
nav.collapse,shared,*,Sidebar,nav_collapse,Collapse sidebar,,active
|
|
173
|
+
nav.expand,shared,*,Sidebar,nav_expand,Expand sidebar,,active
|
|
174
|
+
nav.menu,shared,*,Sidebar,nav_menu,Open navigation menu,,active
|
|
175
|
+
nav.close_menu,shared,*,Sidebar,nav_close_menu,Close navigation menu,,active
|
|
176
|
+
nav.aside_label,shared,*,Sidebar,aside_label,Main navigation,,active
|
|
177
|
+
nav.nav_label,shared,*,Sidebar,nav_label,Primary,,active
|
|
178
|
+
nav.version,shared,*,Sidebar,version,Token Tracker version {{version}},,active
|
|
179
|
+
limits.page.subtitle,ui,LimitsPage,LimitsPage,subtitle,Rate limits and quota usage across your AI tools.,,active
|
|
180
|
+
limits.settings.toggle_visible,ui,LimitsPage,LimitsSettingsPanel,toggle_visible,Toggle visibility,,active
|
|
181
|
+
limits.settings.display_mode_label,ui,LimitsPage,LimitsSettingsPanel,display_mode_label,Usage,,active
|
|
182
|
+
limits.settings.display_mode_used,ui,LimitsPage,LimitsSettingsPanel,display_mode_used,Used,,active
|
|
183
|
+
limits.settings.display_mode_remaining,ui,LimitsPage,LimitsSettingsPanel,display_mode_remaining,Remaining,,active
|
|
184
|
+
limits.page.openSettings,ui,LimitsPage,LimitsPage,open_settings,Display settings,,active
|
|
185
|
+
nav.group.general,shared,*,Sidebar,group_general,General,,active
|
|
186
|
+
nav.group.tools,shared,*,Sidebar,group_tools,Tools,,active
|
|
187
|
+
nav.group.account,shared,*,Sidebar,group_account,Account,,active
|
|
188
|
+
nav.settings,shared,*,Sidebar,nav_settings,Settings,,active
|
|
189
|
+
settings.page.title,ui,SettingsPage,SettingsPage,title,Settings,,active
|
|
190
|
+
settings.page.subtitle,ui,SettingsPage,SettingsPage,subtitle,Manage appearance and display preferences.,,active
|
|
191
|
+
settings.section.appearance,ui,SettingsPage,SettingsPage,sec_appearance,Appearance,,active
|
|
192
|
+
settings.section.account,ui,SettingsPage,SettingsPage,sec_account,Account,,active
|
|
193
|
+
settings.section.limits,ui,SettingsPage,SettingsPage,sec_limits,Limits Display,,active
|
|
194
|
+
settings.appearance.theme.label,ui,SettingsPage,SettingsPage,theme_label,Theme,,active
|
|
195
|
+
settings.appearance.theme.hint,ui,SettingsPage,SettingsPage,theme_hint,Choose how Token Tracker looks across the dashboard.,,active
|
|
196
|
+
settings.appearance.theme.light,ui,SettingsPage,SettingsPage,theme_light,Light,,active
|
|
197
|
+
settings.appearance.theme.dark,ui,SettingsPage,SettingsPage,theme_dark,Dark,,active
|
|
198
|
+
settings.appearance.theme.system,ui,SettingsPage,SettingsPage,theme_system,System,,active
|
|
199
|
+
settings.appearance.currency.label,ui,SettingsPage,SettingsPage,currency_label,Currency,,active
|
|
200
|
+
settings.appearance.currency.hint,ui,SettingsPage,SettingsPage,currency_hint,Select the display currency for usage costs.,,active
|
|
201
|
+
settings.appearance.currency.opt.usd,ui,SettingsPage,SettingsPage,currency_opt_usd,USD ($),,active
|
|
202
|
+
settings.appearance.currency.opt.eur,ui,SettingsPage,SettingsPage,currency_opt_eur,EUR (€),,active
|
|
203
|
+
settings.appearance.currency.opt.gbp,ui,SettingsPage,SettingsPage,currency_opt_gbp,GBP (£),,active
|
|
204
|
+
settings.appearance.currency.opt.cny,ui,SettingsPage,SettingsPage,currency_opt_cny,CNY (¥),,active
|
|
205
|
+
settings.appearance.currency.opt.jpy,ui,SettingsPage,SettingsPage,currency_opt_jpy,JPY (¥),,active
|
|
206
|
+
settings.appearance.currency.opt.hkd,ui,SettingsPage,SettingsPage,currency_opt_hkd,HKD (HK$),,active
|
|
207
|
+
settings.appearance.currency.rate_source.default,ui,SettingsPage,SettingsPage,rate_source_default,Bundled default rate,,active
|
|
208
|
+
settings.appearance.currency.rate_source.fetched,ui,SettingsPage,SettingsPage,rate_source_fetched,Source: open.er-api.com,,active
|
|
209
|
+
settings.appearance.currency.rate_updated,ui,SettingsPage,SettingsPage,rate_updated,updated {{when}},,active
|
|
210
|
+
settings.appearance.currency.rate_never,ui,SettingsPage,SettingsPage,rate_never,awaiting first refresh,,active
|
|
211
|
+
stats.period.today,ui,DashboardPage,StatsPanel,period_today,today convs,,active
|
|
212
|
+
stats.period.last24h,ui,DashboardPage,StatsPanel,period_last24h,24h convs,,active
|
|
213
|
+
stats.period.week,ui,DashboardPage,StatsPanel,period_week,7d convs,,active
|
|
214
|
+
stats.period.month,ui,DashboardPage,StatsPanel,period_month,30d convs,,active
|
|
215
|
+
stats.period.this_month,ui,DashboardPage,StatsPanel,period_this_month,month,,active
|
|
216
|
+
stats.period.all,ui,DashboardPage,StatsPanel,period_all,all convs,,active
|
|
217
|
+
stats.period.convs,ui,DashboardPage,StatsPanel,period_convs,convs,,active
|
|
218
|
+
usage.period.day,ui,DashboardPage,UsageOverview,period_day,Day,,active
|
|
219
|
+
usage.period.last24h,ui,DashboardPage,UsageOverview,period_last24h,24h,,active
|
|
220
|
+
usage.period.week,ui,DashboardPage,UsageOverview,period_week,7d,,active
|
|
221
|
+
usage.period.month,ui,DashboardPage,UsageOverview,period_month,30d,,active
|
|
222
|
+
usage.period.total,ui,DashboardPage,UsageOverview,period_total,Total,,active
|
|
223
|
+
usage.period.custom,ui,DashboardPage,UsageOverview,period_custom,Custom,,active
|
|
224
|
+
usage.overview.tablist_aria,ui,DashboardPage,UsageOverview,tablist_aria,Time period,,active
|
|
225
|
+
usage.auto_refresh.aria,ui,DashboardPage,UsageOverview,auto_refresh_aria,Auto refresh interval,,active
|
|
226
|
+
usage.auto_refresh.off,ui,DashboardPage,UsageOverview,auto_refresh_off,Off,,active
|
|
227
|
+
usage.auto_refresh.30s,ui,DashboardPage,UsageOverview,auto_refresh_30s,30s,,active
|
|
228
|
+
usage.auto_refresh.60s,ui,DashboardPage,UsageOverview,auto_refresh_60s,60s,,active
|
|
229
|
+
usage.auto_refresh.120s,ui,DashboardPage,UsageOverview,auto_refresh_120s,120s,,active
|
|
230
|
+
usage.overview.cost_breakdown_aria,ui,DashboardPage,UsageOverview,cost_breakdown_aria,View cost breakdown,,active
|
|
231
|
+
usage.overview.distribution_aria,ui,DashboardPage,UsageOverview,distribution_aria,Provider distribution: {{items}},,active
|
|
232
|
+
usage.overview.distribution_item,ui,DashboardPage,UsageOverview,distribution_item,{{label}} {{percent}}%,,active
|
|
233
|
+
usage.overview.provider_card_aria,ui,DashboardPage,UsageOverview,provider_card_aria,"{{provider}}: {{percent}}%, {{tokens}} tokens, {{cost}}. Click to {{action}} details",,active
|
|
234
|
+
usage.overview.expand,ui,DashboardPage,UsageOverview,expand,expand,,active
|
|
235
|
+
usage.overview.collapse,ui,DashboardPage,UsageOverview,collapse,collapse,,active
|
|
236
|
+
usage.overview.model_count,ui,DashboardPage,UsageOverview,model_count,{{count}} models,,active
|
|
237
|
+
usage.overview.model_chip,ui,DashboardPage,UsageOverview,model_chip,{{model}} {{percent}}%,,active
|
|
238
|
+
usage.overview.model_percent,ui,DashboardPage,UsageOverview,model_percent,{{percent}}%,,active
|
|
239
|
+
usage.overview.model_more,ui,DashboardPage,UsageOverview,model_more,+{{count}} more,,active
|
|
240
|
+
usage.overview.cost_per_mtok,ui,DashboardPage,UsageOverview,cost_per_mtok,{{value}},,active
|
|
241
|
+
usage.overview.top_cost_model,ui,DashboardPage,UsageOverview,top_cost_model,Top cost {{model}},,active
|
|
242
|
+
usage.overview.top_usage_model,ui,DashboardPage,UsageOverview,top_usage_model,Top usage {{model}},,active
|
|
243
|
+
usage.overview.missing_pricing_count,ui,DashboardPage,UsageOverview,missing_pricing_count,{{count}} pricing missing,,active
|
|
244
|
+
usage.overview.provider_top_cost,ui,DashboardPage,UsageOverview,provider_top_cost,Top cost: {{model}},,active
|
|
245
|
+
usage.overview.provider_missing_pricing,ui,DashboardPage,UsageOverview,provider_missing_pricing,{{count}} pricing missing,,active
|
|
246
|
+
usage.overview.provider_limit,ui,DashboardPage,UsageOverview,provider_limit,{{label}} · {{percent}}%,,active
|
|
247
|
+
usage.overview.provider_limit_reset,ui,DashboardPage,UsageOverview,provider_limit_reset,{{label}} · {{percent}}% · resets in {{reset}},,active
|
|
248
|
+
usage.overview.provider_limit_count,ui,DashboardPage,UsageOverview,provider_limit_count,{{used}}/{{limit}},,active
|
|
249
|
+
usage.overview.provider_limit_counted,ui,DashboardPage,UsageOverview,provider_limit_counted,{{label}} · {{used}} of {{limit}} ({{percent}}%),,active
|
|
250
|
+
usage.overview.provider_limit_counted_reset,ui,DashboardPage,UsageOverview,provider_limit_counted_reset,{{label}} · {{used}} of {{limit}} ({{percent}}%) · resets in {{reset}},,active
|
|
251
|
+
usage.overview.model_details_aria,ui,DashboardPage,UsageOverview,model_details_aria,{{provider}} model details,,active
|
|
252
|
+
usage.overview.antigravity_notice_title,ui,DashboardPage,UsageOverview,antigravity_notice_title,Estimated tokens,,active
|
|
253
|
+
usage.overview.antigravity_notice_body,ui,DashboardPage,UsageOverview,antigravity_notice_body,"Antigravity transcripts don't record real usage numbers. These counts are estimated from text length (~4 chars/token) and don't reflect Gemini's prompt-cache discount, so treat them as an upper bound, not a billing figure.",,active
|
|
254
|
+
limits.panel.title,ui,LimitsPage,UsageLimitsPanel,title,Usage Limits,,active
|
|
255
|
+
limits.panel.mode_separator,ui,LimitsPage,UsageLimitsPanel,title_separator, · ,,active
|
|
256
|
+
limits.label.cursor_plan,ui,LimitsPage,UsageLimitsPanel,cursor_plan,Plan,,active
|
|
257
|
+
limits.label.cursor_auto,ui,LimitsPage,UsageLimitsPanel,cursor_auto,Auto,,active
|
|
258
|
+
limits.label.cursor_api,ui,LimitsPage,UsageLimitsPanel,cursor_api,API,,active
|
|
259
|
+
limits.label.kiro_month,ui,LimitsPage,UsageLimitsPanel,kiro_month,Month,,active
|
|
260
|
+
limits.label.kiro_bonus,ui,LimitsPage,UsageLimitsPanel,kiro_bonus,Bonus,,active
|
|
261
|
+
limits.label.kimi_weekly,ui,LimitsPage,UsageLimitsPanel,kimi_weekly,Weekly,,active
|
|
262
|
+
limits.label.kimi_5h,ui,LimitsPage,UsageLimitsPanel,kimi_5h,5h,,active
|
|
263
|
+
limits.label.kimi_total,ui,LimitsPage,UsageLimitsPanel,kimi_total,Total,,active
|
|
264
|
+
limits.label.kimi_parallel,ui,LimitsPage,UsageLimitsPanel,kimi_parallel,Parallel: {{count}},,active
|
|
265
|
+
limits.label.zai_5h,ui,LimitsPage,UsageLimitsPanel,zai_5h,5h,,active
|
|
266
|
+
limits.label.zai_weekly,ui,LimitsPage,UsageLimitsPanel,zai_weekly,Weekly,,active
|
|
267
|
+
limits.label.zai_mcp,ui,LimitsPage,UsageLimitsPanel,zai_mcp,MCP,,active
|
|
268
|
+
limits.label.copilot_premium,ui,LimitsPage,UsageLimitsPanel,copilot_premium,Premium,,active
|
|
269
|
+
limits.label.copilot_chat,ui,LimitsPage,UsageLimitsPanel,copilot_chat,Chat,,active
|
|
270
|
+
limits.status.not_connected,ui,LimitsPage,UsageLimitsPanel,status_not_connected,Not connected,,active
|
|
271
|
+
limits.status.no_data,ui,LimitsPage,UsageLimitsPanel,status_no_data,No live limit data returned,,active
|
|
272
|
+
limits.status.cached,ui,LimitsPage,UsageLimitsPanel,status_cached,Showing latest cached quota while live refresh is temporarily limited.,,active
|
|
273
|
+
limits.status.all_hidden,ui,LimitsPage,UsageLimitsPanel,status_all_hidden,All limit providers are hidden. Open display settings to show them.,,active
|
|
274
|
+
shared.time.now,shared,*,Shared,time_now,now,,active
|
|
275
|
+
nav.ip_check,shared,*,Sidebar,nav_ip_check,Claude IP Check,,active
|
|
276
|
+
nav.skills,shared,*,Sidebar,nav_skills,Skills,,active
|
|
277
|
+
skills.page.title,ui,SkillsPage,SkillsPage,title,Skills,,active
|
|
278
|
+
skills.tab.my,ui,SkillsPage,SkillsPage,tab_my,My Skills,,active
|
|
279
|
+
skills.tab.browse,ui,SkillsPage,SkillsPage,tab_browse,Browse,,active
|
|
280
|
+
skills.action.refresh,ui,SkillsPage,SkillsPage,action_refresh,Refresh,,active
|
|
281
|
+
skills.action.install,ui,SkillsPage,SkillCard,action_install,Install,,active
|
|
282
|
+
skills.action.choose_targets,ui,SkillsPage,SkillCard,action_choose_targets,Choose targets,,active
|
|
283
|
+
skills.target.menu_label,ui,SkillsPage,SkillCard,target_menu_label,Install to,,active
|
|
284
|
+
skills.target.none,ui,SkillsPage,SkillsPage,target_none,no targets,,active
|
|
285
|
+
skills.toast.installed,ui,SkillsPage,SkillsPage,toast_installed,Installed {{name}} to {{targets}}.,,active
|
|
286
|
+
skills.action.remove,ui,SkillsPage,SkillsPage,action_remove,Remove,,active
|
|
287
|
+
skills.action.search,ui,SkillsPage,SkillsPage,action_search,Search,,active
|
|
288
|
+
skills.action.search_aria,ui,SkillsPage,SkillsPage,action_search_aria,Search skills,,active
|
|
289
|
+
skills.target.synced_summary,ui,SkillsPage,InstalledSkillRow,target_synced_summary,Synced to {{targets}},,active
|
|
290
|
+
skills.target.synced_none,ui,SkillsPage,InstalledSkillRow,target_synced_none,Not synced to any agent,,active
|
|
291
|
+
skills.row.open_details,ui,SkillsPage,InstalledSkillRow,row_open_details,Open details for {{name}},,active
|
|
292
|
+
skills.detail.close,ui,SkillsPage,SkillDetailPanel,detail_close,Close details,,active
|
|
293
|
+
skills.detail.sync_section_title,ui,SkillsPage,SkillDetailPanel,detail_sync_section_title,Sync to,,active
|
|
294
|
+
skills.detail.remove_button,ui,SkillsPage,SkillDetailPanel,detail_remove_button,Remove from all agents,,active
|
|
295
|
+
skills.detail.remove_confirm_hint,ui,SkillsPage,SkillDetailPanel,detail_remove_confirm_hint,This unsyncs the skill from every agent and deletes its local copy.,,active
|
|
296
|
+
skills.filter.agent_label,ui,SkillsPage,SkillsPage,filter_agent_label,Agent,,active
|
|
297
|
+
skills.filter.agent_all,ui,SkillsPage,SkillsPage,filter_agent_all,All agents,,active
|
|
298
|
+
skills.filter.clear,ui,SkillsPage,SkillsPage,filter_clear,Clear filters,,active
|
|
299
|
+
skills.filter.result_count,ui,SkillsPage,SkillsPage,filter_result_count,{{filtered}} of {{total}} skills,,active
|
|
300
|
+
skills.filter.result_count_browse,ui,SkillsPage,SkillsPage,filter_result_count_browse,{{count}} results,,active
|
|
301
|
+
skills.empty.no_match,ui,SkillsPage,SkillsPage,empty_no_match,No skills match the current filters.,,active
|
|
302
|
+
hint.dismiss,ui,shared,DismissibleHint,hint_dismiss,Dismiss hint,,active
|
|
303
|
+
hint.dismissible_aria,ui,shared,DismissibleHint,hint_dismissible_aria,Dismissible hint,,active
|
|
304
|
+
skills.card.installed,ui,SkillsPage,SkillCard,card_installed,Installed,,active
|
|
305
|
+
skills.card.manage,ui,SkillsPage,SkillCard,card_manage,Manage,,active
|
|
306
|
+
skills.card.targets_prefix,ui,SkillsPage,SkillCard,card_targets_prefix,Will install to:,,active
|
|
307
|
+
skills.card.targets_change,ui,SkillsPage,SkillCard,card_targets_change,Change,,active
|
|
308
|
+
skills.card.installs,ui,SkillsPage,SkillCard,installs,{{count}} installs,,active
|
|
309
|
+
skills.source.label,ui,SkillsPage,SkillsPage,source_label,Source,,active
|
|
310
|
+
skills.source.all,ui,SkillsPage,SkillsPage,source_all,All repositories,,active
|
|
311
|
+
skills.mode.repo,ui,SkillsPage,SkillsPage,mode_repo,Repositories,,active
|
|
312
|
+
skills.mode.skillssh,ui,SkillsPage,SkillsPage,mode_skillssh,skills.sh,,active
|
|
313
|
+
skills.browse.placeholder_all,ui,SkillsPage,SkillsPage,browse_placeholder_all,Search across enabled repositories…,,active
|
|
314
|
+
skills.browse.placeholder_repo,ui,SkillsPage,SkillsPage,browse_placeholder_repo,Search in {{repo}}…,,active
|
|
315
|
+
skills.browse.placeholder_skillssh,ui,SkillsPage,SkillsPage,browse_placeholder_skillssh,Search the skills.sh registry…,,active
|
|
316
|
+
skills.browse.empty_sources,ui,SkillsPage,SkillsPage,browse_empty_sources,Add a GitHub repository below to start browsing skills.,,active
|
|
317
|
+
skills.browse.add_repo_hint,ui,SkillsPage,SkillsPage,browse_add_repo_hint,Need more skills? Add a GitHub repository.,,active
|
|
318
|
+
skills.browse.manage_sources,ui,SkillsPage,SkillsPage,browse_manage_sources,Manage sources,,active
|
|
319
|
+
skills.browse.hint_skillssh,ui,SkillsPage,SkillsPage,browse_hint_skillssh,Type at least 2 characters to search skills.sh.,,active
|
|
320
|
+
skills.browse.loading_hint,ui,SkillsPage,SkillsPage,browse_loading_hint,Fetching skill metadata from GitHub. First load can take up to a minute; results are cached.,,active
|
|
321
|
+
skills.error.generic,ui,SkillsPage,SkillsPage,error_generic,Skill operation failed.,,active
|
|
322
|
+
skills.confirm.remove_title,ui,SkillsPage,SkillsPage,confirm_remove_title,Remove {{name}}?,,active
|
|
323
|
+
skills.confirm.remove_managed,ui,SkillsPage,SkillsPage,confirm_remove_managed,This skill will be removed from every connected AI tool. You'll have a few seconds to undo.,,active
|
|
324
|
+
skills.confirm.remove_local,ui,SkillsPage,SkillsPage,confirm_remove_local,This will delete the skill folder on disk from every connected AI tool. This cannot be undone.,,active
|
|
325
|
+
skills.toast.removed,ui,SkillsPage,SkillsPage,toast_removed,Removed {{name}}.,,active
|
|
326
|
+
shared.action.undo,shared,*,Shared,action_undo,Undo,,active
|
|
327
|
+
shared.action.dismiss,shared,*,Shared,action_dismiss,Dismiss,,active
|
|
328
|
+
shared.action.cancel,shared,*,Shared,action_cancel,Cancel,,active
|
|
329
|
+
shared.action.apply,shared,*,Shared,action_apply,Apply,,active
|
|
330
|
+
skills.empty.my,ui,SkillsPage,SkillsPage,empty_my,No skills yet. Open Discover to search and install.,,active
|
|
331
|
+
skills.empty.my_cta,ui,SkillsPage,SkillsPage,empty_my_cta,Browse,,active
|
|
332
|
+
skills.empty.browse,ui,SkillsPage,SkillsPage,empty_browse,No skills found for this source.,,active
|
|
333
|
+
skills.empty.search,ui,SkillsPage,SkillsPage,empty_search,No results. Try a different query.,,active
|
|
334
|
+
skills.repo.placeholder,ui,SkillsPage,SkillsPage,repo_placeholder,owner/repository,,active
|
|
335
|
+
skills.repo.add,ui,SkillsPage,SkillsPage,repo_add,Add repository,,active
|
|
336
|
+
skills.repo.invalid,ui,SkillsPage,SkillsPage,repo_invalid,Use owner/repository or a GitHub repository URL.,,active
|
|
337
|
+
skills.repo.remove,ui,SkillsPage,RepoRow,repo_remove,Remove repository,,active
|
|
338
|
+
settings.appearance.language.label,ui,SettingsPage,SettingsPage,language_label,Language,,active
|
|
339
|
+
settings.appearance.language.hint,ui,SettingsPage,SettingsPage,language_hint,Use System to follow your computer language by default.,,active
|
|
340
|
+
settings.appearance.language.system,ui,SettingsPage,SettingsPage,language_system,System,,active
|
|
341
|
+
settings.appearance.language.english,ui,SettingsPage,SettingsPage,language_english,English,,active
|
|
342
|
+
settings.appearance.language.chinese,ui,SettingsPage,SettingsPage,language_chinese,Simplified Chinese,,active
|
|
343
|
+
settings.appearance.language.traditional_chinese,ui,SettingsPage,SettingsPage,language_traditional_chinese,Traditional Chinese,,active
|
|
344
|
+
settings.appearance.language.japanese,ui,SettingsPage,SettingsPage,language_japanese,Japanese,,active
|
|
345
|
+
settings.appearance.language.korean,ui,SettingsPage,SettingsPage,language_korean,Korean,,active
|
|
346
|
+
dashboard.context_breakdown.card_title,dashboard,DashboardPage,ContextCard,card_title,Context breakdown,,active
|
|
347
|
+
dashboard.context_breakdown.empty,dashboard,DashboardPage,ContextBreakdownPanel,empty,No Claude Code activity in the selected period.,,active
|
|
348
|
+
dashboard.context_breakdown.empty_codex,dashboard,DashboardPage,ContextBreakdownPanel,empty_codex,No Codex activity in the selected period.,,active
|
|
349
|
+
dashboard.context_breakdown.error,dashboard,DashboardPage,ContextBreakdownPanel,error,Couldn't read Claude Code logs for this view.,,active
|
|
350
|
+
dashboard.context_breakdown.error_codex,dashboard,DashboardPage,ContextBreakdownPanel,error_codex,Couldn't read Codex logs for this view.,,active
|
|
351
|
+
dashboard.context_breakdown.bar_aria,dashboard,DashboardPage,ContextBreakdownPanel,bar_aria,Token distribution: {{summary}},,active
|
|
352
|
+
dashboard.context_breakdown.system_prefix_tooltip,dashboard,DashboardPage,ContextBreakdownPanel,tooltip,"System prompt, tools schema, skills, rules, and MCP descriptions are cached together as one prefix and can't be separated from the logs.",,active
|
|
353
|
+
dashboard.context_breakdown.footnote,dashboard,DashboardPage,ContextBreakdownPanel,footnote,"Approximate: cache reads accumulate across turns, so conversation history dominates over time. Only Claude Code logs expose the per-message detail this view requires.",,active
|
|
354
|
+
dashboard.context_breakdown.footnote_codex,dashboard,DashboardPage,ContextBreakdownPanel,footnote_codex,Codex uses non-overlapping token buckets here. Tool and exec drill-downs are separate heuristic attributions over the same turns.,,active
|
|
355
|
+
dashboard.context_breakdown.category.system_prompt,dashboard,DashboardPage,ContextBreakdownPanel,cat,System prompt,,active
|
|
356
|
+
dashboard.context_breakdown.category.messages,dashboard,DashboardPage,ContextBreakdownPanel,cat,Messages,,active
|
|
357
|
+
dashboard.context_breakdown.category.tool_calls,dashboard,DashboardPage,ContextBreakdownPanel,cat,Tool calls,,active
|
|
358
|
+
dashboard.context_breakdown.category.mcp_servers,dashboard,DashboardPage,ContextBreakdownPanel,cat,MCP servers,,active
|
|
359
|
+
dashboard.context_breakdown.category.custom_agents,dashboard,DashboardPage,ContextBreakdownPanel,cat,Custom agents,,active
|
|
360
|
+
dashboard.context_breakdown.category.reasoning,dashboard,DashboardPage,ContextBreakdownPanel,cat,Reasoning,,active
|
|
361
|
+
dashboard.context_breakdown.category.skills,dashboard,DashboardPage,ContextBreakdownPanel,cat,Skills,,active
|
|
362
|
+
dashboard.context_breakdown.loading_aria,dashboard,DashboardPage,ContextBreakdownPanel,loading_aria,Loading context breakdown,,active
|
|
363
|
+
dashboard.context_breakdown.loading_hint,dashboard,DashboardPage,ContextBreakdownPanel,loading_hint,Scanning session logs…,,active
|
|
364
|
+
dashboard.context_breakdown.tool_details.total_column,dashboard,DashboardPage,ContextBreakdownPanel,tool_details_total_column,Total,,active
|
|
365
|
+
dashboard.context_breakdown.tool_details.unavailable_codex,dashboard,DashboardPage,ContextBreakdownPanel,tool_details_unavailable_codex,Tool-level Codex details are unavailable for this period; showing queue totals only.,,active
|
|
366
|
+
dashboard.context_breakdown.message_details.title,dashboard,DashboardPage,ContextBreakdownPanel,message_details_title,Message details,,active
|
|
367
|
+
dashboard.context_breakdown.message_details.note,dashboard,DashboardPage,ContextBreakdownPanel,message_details_note,Aggregated only — message text is not stored.,,active
|
|
368
|
+
dashboard.context_breakdown.message_details.category_column,dashboard,DashboardPage,ContextBreakdownPanel,message_details_category_column,Category,,active
|
|
369
|
+
dashboard.context_breakdown.message_details.user_input,dashboard,DashboardPage,ContextBreakdownPanel,message_details_user_input,User input,,active
|
|
370
|
+
dashboard.context_breakdown.message_details.conversation_history,dashboard,DashboardPage,ContextBreakdownPanel,message_details_conversation_history,Conversation history,,active
|
|
371
|
+
dashboard.context_breakdown.message_details.assistant_response,dashboard,DashboardPage,ContextBreakdownPanel,message_details_assistant_response,Assistant response,,active
|
|
372
|
+
dashboard.context_breakdown.exec_details.title,dashboard,DashboardPage,ContextBreakdownPanel,exec_details_title,Exec command details,,active
|
|
373
|
+
dashboard.context_breakdown.exec_details.kind_column,dashboard,DashboardPage,ContextBreakdownPanel,exec_details_kind_column,Type,,active
|
|
374
|
+
dashboard.context_breakdown.exec_details.calls_column,dashboard,DashboardPage,ContextBreakdownPanel,exec_details_calls_column,Calls,,active
|
|
375
|
+
dashboard.context_breakdown.exec_details.failures_column,dashboard,DashboardPage,ContextBreakdownPanel,exec_details_failures_column,Fail,,active
|
|
376
|
+
dashboard.context_breakdown.exec_details.duration_column,dashboard,DashboardPage,ContextBreakdownPanel,exec_details_duration_column,Duration,,active
|
|
377
|
+
dashboard.context_breakdown.exec_details.max_duration_column,dashboard,DashboardPage,ContextBreakdownPanel,exec_details_max_duration_column,Max,,active
|
|
378
|
+
dashboard.context_breakdown.exec_details.output_column,dashboard,DashboardPage,ContextBreakdownPanel,exec_details_output_column,Lines,,active
|
|
379
|
+
dashboard.context_breakdown.exec_details.group_by_type,dashboard,DashboardPage,ContextBreakdownPanel,exec_details_group_by_type,By type,,active
|
|
380
|
+
dashboard.context_breakdown.exec_details.group_by_executable,dashboard,DashboardPage,ContextBreakdownPanel,exec_details_group_by_executable,Executable,,active
|
|
381
|
+
dashboard.context_breakdown.exec_details.group_by_command,dashboard,DashboardPage,ContextBreakdownPanel,exec_details_group_by_command,Command,,active
|
|
382
|
+
dashboard.context_breakdown.exec_details.group_by_duration,dashboard,DashboardPage,ContextBreakdownPanel,exec_details_group_by_duration,Duration,,active
|
|
383
|
+
dashboard.context_breakdown.exec_details.group_by_output,dashboard,DashboardPage,ContextBreakdownPanel,exec_details_group_by_output,Output,,active
|
|
384
|
+
dashboard.context_breakdown.exec_details.group_by_exit,dashboard,DashboardPage,ContextBreakdownPanel,exec_details_group_by_exit,By exit,,active
|
|
385
|
+
heatmap.3d.hover_tip,ui,ActivityHeatmap,ActivityHeatmap,hover_tip,Click to enter 3D fullscreen rotation analysis mode,,active
|
|
386
|
+
heatmap.3d.modal.title,ui,ActivityHeatmap,ActivityHeatmap,title,Token 3D Perspective,,active
|
|
387
|
+
heatmap.3d.modal.desc,ui,ActivityHeatmap,ActivityHeatmap,desc,Drag with left mouse button to rotate. Hover to inspect daily activity and multidimensional metrics.,,active
|
|
388
|
+
heatmap.3d.modal.stats.total_tokens,ui,ActivityHeatmap,ActivityHeatmap,stats_total_tokens,Annual Total Tokens,,active
|
|
389
|
+
heatmap.3d.modal.stats.precision_total_tokens,ui,ActivityHeatmap,ActivityHeatmap,stats_precision_total_tokens,Precise annual consumption,,active
|
|
390
|
+
heatmap.3d.modal.stats.estimated_cost,ui,ActivityHeatmap,ActivityHeatmap,stats_estimated_cost,Annual Estimated Cost,,active
|
|
391
|
+
heatmap.3d.modal.stats.active_rate_days,ui,ActivityHeatmap,ActivityHeatmap,stats_active_rate_days,Active Rate / Days,,active
|
|
392
|
+
heatmap.3d.modal.stats.max_streak,ui,ActivityHeatmap,ActivityHeatmap,stats_max_streak,Longest Active Streak,,active
|
|
393
|
+
heatmap.3d.modal.stats.days_suffix,ui,ActivityHeatmap,ActivityHeatmap,stats_days_suffix,Days,,active
|
|
394
|
+
heatmap.3d.modal.stats.peak_day,ui,ActivityHeatmap,ActivityHeatmap,stats_peak_day,Peak Day Blowout,,active
|
|
395
|
+
heatmap.3d.modal.stats.precision_peak_value,ui,ActivityHeatmap,ActivityHeatmap,stats_precision_peak_value,Precise daily peak,,active
|
|
396
|
+
heatmap.3d.modal.stats.no_data,ui,ActivityHeatmap,ActivityHeatmap,stats_no_data,No data,,active
|
|
397
|
+
heatmap.3d.modal.legend.title,ui,ActivityHeatmap,ActivityHeatmap,legend_title,Activity Levels,,active
|
|
398
|
+
heatmap.3d.modal.palette.emerald,ui,ActivityHeatmap,ActivityHeatmap,palette_emerald,Emerald City,,active
|
|
399
|
+
heatmap.3d.modal.palette.ocean,ui,ActivityHeatmap,ActivityHeatmap,palette_ocean,Ocean Abyss,,active
|
|
400
|
+
heatmap.3d.modal.palette.neon,ui,ActivityHeatmap,ActivityHeatmap,palette_neon,Cyber Neon,,active
|
|
401
|
+
heatmap.3d.modal.palette.amber,ui,ActivityHeatmap,ActivityHeatmap,palette_amber,Blazing Amber,,active
|
|
402
|
+
heatmap.3d.modal.control.play,ui,ActivityHeatmap,ActivityHeatmap,control_play,Start slow rotation,,active
|
|
403
|
+
heatmap.3d.modal.control.pause,ui,ActivityHeatmap,ActivityHeatmap,control_pause,Pause auto-rotation,,active
|
|
404
|
+
heatmap.3d.modal.control.reset,ui,ActivityHeatmap,ActivityHeatmap,control_reset,Reset 3D view,,active
|
|
405
|
+
heatmap.3d.modal.footer.tip,ui,ActivityHeatmap,ActivityHeatmap,footer_tip,Pinch to zoom / Scroll to zoom / Drag to rotate 3D chart,,active
|
|
406
|
+
heatmap.3d.modal.ai.title.default,ui,ActivityHeatmap,ActivityHeatmap,ai_title_default,Persistent Creator,,active
|
|
407
|
+
heatmap.3d.modal.ai.eval.default,ui,ActivityHeatmap,ActivityHeatmap,ai_eval_default,"Persist in the river of technology. Daily coding may not always be majestic, but every tiny active point records your thoughts and exploration. Sparks accumulate, eventually converging into your own digital ocean.",,active
|
|
408
|
+
heatmap.3d.modal.ai.title.peak,ui,ActivityHeatmap,ActivityHeatmap,ai_title_peak,Peak Contributor,,active
|
|
409
|
+
heatmap.3d.modal.ai.eval.peak,ui,ActivityHeatmap,ActivityHeatmap,ai_eval_peak,"This year, your token output shows extremely high engineering density. This scale of development is equivalent to deeply participating in the refactoring of a medium-to-large system base, with each keystroke converging complex logic into deterministic code. A testament to pure engineering passion.",,active
|
|
410
|
+
heatmap.3d.modal.ai.title.heavy,ui,ActivityHeatmap,ActivityHeatmap,ai_title_heavy,Heavy Producer,,active
|
|
411
|
+
heatmap.3d.modal.ai.eval.heavy,ui,ActivityHeatmap,ActivityHeatmap,ai_eval_heavy,"Exceptional continuous output. Your accumulated tokens have reached millions, equivalent to the volume of dozens of technical novellas. The highly saturated coding pace demonstrates your great execution in building digital assets.",,active
|
|
412
|
+
heatmap.3d.modal.ai.title.core,ui,ActivityHeatmap,ActivityHeatmap,ai_title_core,Core Productivity Expert,,active
|
|
413
|
+
heatmap.3d.modal.ai.eval.core,ui,ActivityHeatmap,ActivityHeatmap,ai_eval_core,"Highly resilient long-term commitment. Over the past year, you have steadily maintained a high-intensity development rhythm. With solid code volume and token output, you have silently built the core architecture, a true engineering backbone.",,active
|
|
414
|
+
heatmap.3d.modal.ai.title.steady,ui,ActivityHeatmap,ActivityHeatmap,ai_title_steady,Steady Developer,,active
|
|
415
|
+
heatmap.3d.modal.ai.eval.steady,ui,ActivityHeatmap,ActivityHeatmap,ai_eval_steady,Steady and firm accumulation of technology. Every step of token increment is a brick in the foundation of your future. This slow but steady pace is the path for an excellent developer to become an engineering master.,,active
|
|
416
|
+
heatmap.3d.voxel.joke.1,ui,ActivityHeatmap3D,ActivityHeatmap3D,voxel_joke1,🔥 Extremely crazy! Produced {{value}} tokens! Are you training a large language model or writing a compiler by hand?,,active
|
|
417
|
+
heatmap.3d.voxel.joke.2,ui,ActivityHeatmap3D,ActivityHeatmap3D,voxel_joke2,"🚀 Epic output! Total {{value}} tokens. Today's production can circle the earth once, even the AI is amazed by you!",,active
|
|
418
|
+
heatmap.3d.voxel.joke.3,ui,ActivityHeatmap3D,ActivityHeatmap3D,voxel_joke3,"⚡ Critical Day! {{value}} tokens. Code is gushing out, and the keyboard is starting to smoke!",,active
|
|
419
|
+
heatmap.3d.voxel.level3,ui,ActivityHeatmap3D,ActivityHeatmap3D,voxel_level3,"⚡ Productivity explosion ({{value}} tokens)! High efficiency and focus, keep up this peak state!",,active
|
|
420
|
+
heatmap.3d.voxel.level2,ui,ActivityHeatmap3D,ActivityHeatmap3D,voxel_level2,"🌱 Getting into the groove ({{value}} tokens)! Steady output, every keystroke is contributing to the architecture.",,active
|
|
421
|
+
heatmap.3d.voxel.level1,ui,ActivityHeatmap3D,ActivityHeatmap3D,voxel_level1,"🍃 Every drop counts ({{value}} tokens). Tiny commits are investments in the future, embrace compound interest!",,active
|
|
422
|
+
heatmap.3d.voxel.level0,ui,ActivityHeatmap3D,ActivityHeatmap3D,voxel_level0,"💤 Recharging. On days without coding, inspiration grows silently.",,active
|
|
423
|
+
ipcheck.page.title,ui,IpCheckPage,IpCheckPage,page_title,Claude IP Check,,active
|
|
424
|
+
ipcheck.page.subtitle,ui,IpCheckPage,IpCheckPage,page_subtitle,"Inspect the exit IP used to reach Claude, plus reputation, geo, and risk signals that may affect sign-in or trigger rate-limiting.",,active
|
|
425
|
+
ipcheck.mask.toggle,ui,IpCheckPage,IpCheckPage,mask_toggle,Hide IP,,active
|
|
426
|
+
ipcheck.ipv6.warn,ui,IpCheckPage,IpCheckPage,ipv6_warn,IPv6 detected. Using IPv6 to reach Claude Code is not recommended; some checks may be incomplete.,,active
|
|
427
|
+
ipcheck.ip.cn,ui,IpCheckPage,IpCheckPage,ip_cn,China exit IPv4,,active
|
|
428
|
+
ipcheck.ip.cloudflare,ui,IpCheckPage,IpCheckPage,ip_cloudflare,Cloudflare exit,,active
|
|
429
|
+
ipcheck.ip.claude,ui,IpCheckPage,IpCheckPage,ip_claude,Claude exit,,active
|
|
430
|
+
ipcheck.ip.failed,ui,IpCheckPage,IpCheckPage,ip_failed,Unable to fetch,,active
|
|
431
|
+
ipcheck.ip.loading,ui,IpCheckPage,IpCheckPage,ip_loading,Loading...,,active
|
|
432
|
+
ipcheck.trust.title,ui,IpCheckPage,IpCheckPage,trust_title,Trust Score,,active
|
|
433
|
+
ipcheck.trust.subtitle,ui,IpCheckPage,IpCheckPage,trust_subtitle,IP cleanliness from Claude's risk view,,active
|
|
434
|
+
ipcheck.trust.no_data,ui,IpCheckPage,IpCheckPage,trust_no_data,No data,,active
|
|
435
|
+
ipcheck.trust.no_ip,ui,IpCheckPage,IpCheckPage,trust_no_ip,Claude exit IP not detected — cannot score,,active
|
|
436
|
+
ipcheck.trust.no_score,ui,IpCheckPage,IpCheckPage,trust_no_score,No score data for this IP,,active
|
|
437
|
+
ipcheck.trust.gauge.low,ui,IpCheckPage,IpCheckPage,trust_gauge_low,0 High risk,,active
|
|
438
|
+
ipcheck.trust.gauge.high,ui,IpCheckPage,IpCheckPage,trust_gauge_high,100 Trusted,,active
|
|
439
|
+
ipcheck.trust.label.pristine,ui,IpCheckPage,IpCheckPage,trust_label_pristine,Pristine,,active
|
|
440
|
+
ipcheck.trust.label.clean,ui,IpCheckPage,IpCheckPage,trust_label_clean,Clean,,active
|
|
441
|
+
ipcheck.trust.label.good,ui,IpCheckPage,IpCheckPage,trust_label_good,Good,,active
|
|
442
|
+
ipcheck.trust.label.neutral,ui,IpCheckPage,IpCheckPage,trust_label_neutral,Neutral,,active
|
|
443
|
+
ipcheck.trust.label.suspicious,ui,IpCheckPage,IpCheckPage,trust_label_suspicious,Suspicious,,active
|
|
444
|
+
ipcheck.trust.label.unreachable,ui,IpCheckPage,IpCheckPage,trust_label_unreachable,Unreachable,,active
|
|
445
|
+
ipcheck.trust.text.excellent,ui,IpCheckPage,IpCheckPage,trust_text_excellent,Excellent reputation,,active
|
|
446
|
+
ipcheck.trust.text.great,ui,IpCheckPage,IpCheckPage,trust_text_great,Strong reputation,,active
|
|
447
|
+
ipcheck.trust.text.minor,ui,IpCheckPage,IpCheckPage,trust_text_minor,Minor risk,,active
|
|
448
|
+
ipcheck.trust.text.moderate,ui,IpCheckPage,IpCheckPage,trust_text_moderate,Moderate risk,,active
|
|
449
|
+
ipcheck.trust.text.severe,ui,IpCheckPage,IpCheckPage,trust_text_severe,Severe risk,,active
|
|
450
|
+
ipcheck.trust.text.restricted,ui,IpCheckPage,IpCheckPage,trust_text_restricted,Restricted region — Claude enforces strict risk controls,,active
|
|
451
|
+
ipcheck.trust.region_warn.title,ui,IpCheckPage,IpCheckPage,region_warn_title,Claude exit IP is in {{region}},,active
|
|
452
|
+
ipcheck.trust.region_warn.body,ui,IpCheckPage,IpCheckPage,region_warn_body,Avoid signing in — high chance of triggering account flagging.,,active
|
|
453
|
+
ipcheck.trust.region_support,ui,IpCheckPage,IpCheckPage,region_support,Claude support,,active
|
|
454
|
+
ipcheck.trust.region.accessible,ui,IpCheckPage,IpCheckPage,region_accessible,Accessible,,active
|
|
455
|
+
ipcheck.common.unknown,ui,IpCheckPage,IpCheckPage,common_unknown,Unknown,,active
|
|
456
|
+
ipcheck.props.title,ui,IpCheckPage,IpCheckPage,props_title,IP Attributes,,active
|
|
457
|
+
ipcheck.props.region,ui,IpCheckPage,IpCheckPage,props_region,Region,,active
|
|
458
|
+
ipcheck.props.city,ui,IpCheckPage,IpCheckPage,props_city,City,,active
|
|
459
|
+
ipcheck.props.type,ui,IpCheckPage,IpCheckPage,props_type,Type,,active
|
|
460
|
+
ipcheck.props.asn,ui,IpCheckPage,IpCheckPage,props_asn,ASN,,active
|
|
461
|
+
ipcheck.props.org,ui,IpCheckPage,IpCheckPage,props_org,ISP,,active
|
|
462
|
+
ipcheck.props.residential,ui,IpCheckPage,IpCheckPage,props_residential,Residential,,active
|
|
463
|
+
ipcheck.props.datacenter,ui,IpCheckPage,IpCheckPage,props_datacenter,Datacenter,,active
|
|
464
|
+
ipcheck.security.title,ui,IpCheckPage,IpCheckPage,sec_title,Security Checks,,active
|
|
465
|
+
ipcheck.security.vpn,ui,IpCheckPage,IpCheckPage,sec_vpn,VPN,,active
|
|
466
|
+
ipcheck.security.proxy,ui,IpCheckPage,IpCheckPage,sec_proxy,Proxy,,active
|
|
467
|
+
ipcheck.security.tor,ui,IpCheckPage,IpCheckPage,sec_tor,Tor,,active
|
|
468
|
+
ipcheck.security.crawler,ui,IpCheckPage,IpCheckPage,sec_crawler,Crawler,,active
|
|
469
|
+
ipcheck.security.abuser,ui,IpCheckPage,IpCheckPage,sec_abuser,Abuse history,,active
|
|
470
|
+
ipcheck.security.proxy_flag,ui,IpCheckPage,IpCheckPage,sec_proxy_flag,Proxy,,active
|
|
471
|
+
ipcheck.security.crawler_yes,ui,IpCheckPage,IpCheckPage,sec_crawler_yes,Yes,,active
|
|
472
|
+
ipcheck.security.crawler_no,ui,IpCheckPage,IpCheckPage,sec_crawler_no,No,,active
|
|
473
|
+
ipcheck.security.abuser_yes,ui,IpCheckPage,IpCheckPage,sec_abuser_yes,Reported,,active
|
|
474
|
+
ipcheck.security.abuser_no,ui,IpCheckPage,IpCheckPage,sec_abuser_no,Clean,,active
|
|
475
|
+
ipcheck.security.clean,ui,IpCheckPage,IpCheckPage,sec_clean,Not detected,,active
|
|
476
|
+
ipcheck.avail.title,ui,IpCheckPage,IpCheckPage,avail_title,Claude Availability,,active
|
|
477
|
+
ipcheck.avail.tooltip,ui,IpCheckPage,IpCheckPage,avail_tooltip,Claude servers run in the US; latency above 100ms from Asia is normal.,,active
|
|
478
|
+
ipcheck.avail.refresh,ui,IpCheckPage,IpCheckPage,avail_refresh,Refresh,,active
|
|
479
|
+
ipcheck.avail.svc_row,ui,IpCheckPage,IpCheckPage,avail_svc_row,Service status,,active
|
|
480
|
+
ipcheck.avail.latency.normal,ui,IpCheckPage,IpCheckPage,avail_lat_normal,Normal,,active
|
|
481
|
+
ipcheck.avail.latency.good,ui,IpCheckPage,IpCheckPage,avail_lat_good,Good,,active
|
|
482
|
+
ipcheck.avail.latency.slow,ui,IpCheckPage,IpCheckPage,avail_lat_slow,Slow,,active
|
|
483
|
+
ipcheck.avail.latency.unreachable,ui,IpCheckPage,IpCheckPage,avail_lat_unreach,Unreachable,,active
|
|
484
|
+
ipcheck.avail.svc.none,ui,IpCheckPage,IpCheckPage,avail_svc_none,All systems normal,,active
|
|
485
|
+
ipcheck.avail.svc.minor,ui,IpCheckPage,IpCheckPage,avail_svc_minor,Minor outage,,active
|
|
486
|
+
ipcheck.avail.svc.major,ui,IpCheckPage,IpCheckPage,avail_svc_major,Major outage,,active
|
|
487
|
+
ipcheck.avail.svc.critical,ui,IpCheckPage,IpCheckPage,avail_svc_critical,Critical outage,,active
|
|
488
|
+
ipcheck.avail.svc.maintenance,ui,IpCheckPage,IpCheckPage,avail_svc_maintenance,Maintenance,,active
|
|
489
|
+
ipcheck.avail.svc.other,ui,IpCheckPage,IpCheckPage,avail_svc_other,Disrupted,,active
|
|
490
|
+
ipcheck.dns.title,ui,IpCheckPage,IpCheckPage,dns_title,DNS Leak,,active
|
|
491
|
+
ipcheck.dns.status,ui,IpCheckPage,IpCheckPage,dns_status,Status,,active
|
|
492
|
+
ipcheck.dns.outlet,ui,IpCheckPage,IpCheckPage,dns_outlet,DNS exit,,active
|
|
493
|
+
ipcheck.dns.outlet_ip,ui,IpCheckPage,IpCheckPage,dns_outlet_ip,DNS exit IP,,active
|
|
494
|
+
ipcheck.dns.isp,ui,IpCheckPage,IpCheckPage,dns_isp,Provider,,active
|
|
495
|
+
ipcheck.dns.leaked,ui,IpCheckPage,IpCheckPage,dns_leaked,Possible leak,,active
|
|
496
|
+
ipcheck.dns.no_leak,ui,IpCheckPage,IpCheckPage,dns_no_leak,No leak detected,,active
|
|
497
|
+
ipcheck.dns.encrypted,ui,IpCheckPage,IpCheckPage,dns_encrypted,DNS encrypted or hidden,,active
|
|
498
|
+
ipcheck.dns.cn_tag,ui,IpCheckPage,IpCheckPage,dns_cn_tag,China DNS,,active
|
|
499
|
+
ipcheck.udp.title,ui,IpCheckPage,IpCheckPage,udp_title,WebRTC UDP Leak,,active
|
|
500
|
+
ipcheck.udp.status,ui,IpCheckPage,IpCheckPage,udp_status,Status,,active
|
|
501
|
+
ipcheck.udp.outlet,ui,IpCheckPage,IpCheckPage,udp_outlet,UDP exit,,active
|
|
502
|
+
ipcheck.udp.outlet_ip,ui,IpCheckPage,IpCheckPage,udp_outlet_ip,UDP exit IP,,active
|
|
503
|
+
ipcheck.udp.origin,ui,IpCheckPage,IpCheckPage,udp_origin,Origin,,active
|
|
504
|
+
ipcheck.udp.disabled,ui,IpCheckPage,IpCheckPage,udp_disabled,WebRTC disabled,,active
|
|
505
|
+
ipcheck.udp.no_leak,ui,IpCheckPage,IpCheckPage,udp_no_leak,No leak detected,,active
|
|
506
|
+
ipcheck.udp.leaked,ui,IpCheckPage,IpCheckPage,udp_leaked,Possible leak,,active
|
|
507
|
+
ipcheck.udp.anomaly,ui,IpCheckPage,IpCheckPage,udp_anomaly,Anomaly,,active
|
|
508
|
+
ipcheck.device.title,ui,IpCheckPage,IpCheckPage,dev_title,Device Info,,active
|
|
509
|
+
ipcheck.device.tz,ui,IpCheckPage,IpCheckPage,dev_tz,Timezone,,active
|
|
510
|
+
ipcheck.device.lang,ui,IpCheckPage,IpCheckPage,dev_lang,Language,,active
|
|
511
|
+
ipcheck.device.os,ui,IpCheckPage,IpCheckPage,dev_os,OS / Browser,,active
|
|
512
|
+
ipcheck.device.touch,ui,IpCheckPage,IpCheckPage,dev_touch,Touch,,active
|
|
513
|
+
ipcheck.device.net,ui,IpCheckPage,IpCheckPage,dev_net,Network type,,active
|
|
514
|
+
ipcheck.device.dnt,ui,IpCheckPage,IpCheckPage,dev_dnt,Do Not Track,,active
|
|
515
|
+
ipcheck.device.webgl_render,ui,IpCheckPage,IpCheckPage,dev_webgl_render,WebGL renderer,,active
|
|
516
|
+
ipcheck.device.canvas_fp,ui,IpCheckPage,IpCheckPage,dev_canvas_fp,Canvas fingerprint,,active
|
|
517
|
+
ipcheck.device.webgl_fp,ui,IpCheckPage,IpCheckPage,dev_webgl_fp,WebGL fingerprint,,active
|
|
518
|
+
ipcheck.device.match,ui,IpCheckPage,IpCheckPage,dev_match,Match,,active
|
|
519
|
+
ipcheck.device.mismatch,ui,IpCheckPage,IpCheckPage,dev_mismatch,Mismatch,,active
|
|
520
|
+
ipcheck.device.local,ui,IpCheckPage,IpCheckPage,dev_local,Local,,active
|
|
521
|
+
ipcheck.device.estimate_suffix,ui,IpCheckPage,IpCheckPage,dev_est_suffix,(est.),,active
|
|
522
|
+
ipcheck.device.diff_equal,ui,IpCheckPage,IpCheckPage,dev_diff_eq,Slight offset,,active
|
|
523
|
+
ipcheck.device.diff_ahead,ui,IpCheckPage,IpCheckPage,dev_diff_ahead,Claude is {{h}}h ahead,,active
|
|
524
|
+
ipcheck.device.diff_behind,ui,IpCheckPage,IpCheckPage,dev_diff_behind,Claude is {{h}}h behind,,active
|
|
525
|
+
ipcheck.device.lang_expected,ui,IpCheckPage,IpCheckPage,dev_lang_expected,Claude region usually,,active
|
|
526
|
+
ipcheck.device.touch_yes,ui,IpCheckPage,IpCheckPage,dev_touch_yes,Yes,,active
|
|
527
|
+
ipcheck.device.touch_no,ui,IpCheckPage,IpCheckPage,dev_touch_no,No,,active
|
|
528
|
+
ipcheck.device.dnt_on,ui,IpCheckPage,IpCheckPage,dev_dnt_on,On,,active
|
|
529
|
+
ipcheck.device.dnt_off,ui,IpCheckPage,IpCheckPage,dev_dnt_off,Off,,active
|
|
530
|
+
ipcheck.device.dnt_unset,ui,IpCheckPage,IpCheckPage,dev_dnt_unset,Unset,,active
|
|
531
|
+
ipcheck.device.net_unsupported,ui,IpCheckPage,IpCheckPage,dev_net_unsup,Not detected,,active
|
|
532
|
+
ipcheck.device.unsupported,ui,IpCheckPage,IpCheckPage,dev_unsupported,Unsupported,,active
|
|
533
|
+
ipcheck.history.title,ui,IpCheckPage,IpCheckPage,hist_title,Claude exit IP history,,active
|
|
534
|
+
ipcheck.history.subtitle,ui,IpCheckPage,IpCheckPage,hist_subtitle,"Stored only in this browser, up to 6 entries",,active
|
|
535
|
+
ipcheck.history.clear,ui,IpCheckPage,IpCheckPage,hist_clear,Clear,,active
|
|
536
|
+
ipcheck.history.empty,ui,IpCheckPage,IpCheckPage,hist_empty,No history yet,,active
|
|
537
|
+
ipcheck.history.current,ui,IpCheckPage,IpCheckPage,hist_current,Now,,active
|
|
538
|
+
ipcheck.region.CN,ui,IpCheckPage,IpCheckPage,region_cn,Mainland China,,active
|
|
539
|
+
ipcheck.region.HK,ui,IpCheckPage,IpCheckPage,region_hk,Hong Kong,,active
|
|
540
|
+
ipcheck.region.MO,ui,IpCheckPage,IpCheckPage,region_mo,Macao,,active
|
|
541
|
+
ipcheck.region.RU,ui,IpCheckPage,IpCheckPage,region_ru,Russia,,active
|
|
542
|
+
ipcheck.region.KP,ui,IpCheckPage,IpCheckPage,region_kp,North Korea,,active
|
|
543
|
+
ipcheck.region.IR,ui,IpCheckPage,IpCheckPage,region_ir,Iran,,active
|
|
544
|
+
ipcheck.region.SY,ui,IpCheckPage,IpCheckPage,region_sy,Syria,,active
|
|
545
|
+
ipcheck.region.CU,ui,IpCheckPage,IpCheckPage,region_cu,Cuba,,active
|
|
546
|
+
ipcheck.region.BY,ui,IpCheckPage,IpCheckPage,region_by,Belarus,,active
|
|
547
|
+
ipcheck.region.VE,ui,IpCheckPage,IpCheckPage,region_ve,Venezuela,,active
|
|
548
|
+
local_only.title,dashboard,LocalOnlyNotice,LocalOnlyNotice,title,Local dashboard required,,active
|
|
549
|
+
local_only.body,dashboard,LocalOnlyNotice,LocalOnlyNotice,body,Start the TokenTracker CLI locally and open its localhost URL. TokenTracker has no hosted or native-app fallback.,,active
|
|
550
|
+
shared.app_name,shared,*,*,app_name,Token Tracker,,active
|
|
551
|
+
cmdk.placeholder,ui,CommandPalette,CommandPalette,placeholder,Search pages and skills…,,active
|
|
552
|
+
cmdk.empty,ui,CommandPalette,CommandPalette,empty,No matches,,active
|
|
553
|
+
cmdk.group.pages,ui,CommandPalette,CommandPalette,group_pages,Pages,,active
|
|
554
|
+
cmdk.group.skills,ui,CommandPalette,CommandPalette,group_skills,Skills,,active
|
|
555
|
+
cmdk.close,ui,CommandPalette,CommandPalette,close,Close command menu,,active
|
|
556
|
+
cmdk.open_aria,ui,CommandPalette,CommandPalette,open_aria,Command menu,,active
|
|
557
|
+
skills.dot.synced_aria,ui,SkillsPage,AgentDots,dot_synced_aria,{{agent}}: synced. Click to unsync.,,active
|
|
558
|
+
skills.dot.off_aria,ui,SkillsPage,AgentDots,dot_off_aria,{{agent}}: not synced. Click to sync.,,active
|
|
559
|
+
skills.dot.orphan_aria,ui,SkillsPage,AgentDots,dot_orphan_aria,{{agent}}: link broken. Click to re-sync.,,active
|
|
560
|
+
skills.update.badge,ui,SkillsPage,InstalledSkillRow,update_badge,Update,,active
|
|
561
|
+
skills.select.row_aria,ui,SkillsPage,InstalledSkillRow,select_row_aria,Select {{name}},,active
|
|
562
|
+
skills.select.toolbar_aria,ui,SkillsPage,BatchToolbar,select_toolbar_aria,Bulk actions,,active
|
|
563
|
+
skills.select.count,ui,SkillsPage,BatchToolbar,select_count,{{count}} selected,,active
|
|
564
|
+
skills.select.bulk_sync,ui,SkillsPage,BatchToolbar,select_bulk_sync,Sync to,,active
|
|
565
|
+
skills.select.bulk_sync_hint,ui,SkillsPage,BatchToolbar,select_bulk_sync_hint,Add agent to all selected,,active
|
|
566
|
+
skills.select.bulk_remove,ui,SkillsPage,BatchToolbar,select_bulk_remove,Remove,,active
|
|
567
|
+
skills.select.clear,ui,SkillsPage,BatchToolbar,select_clear,Clear,,active
|
|
568
|
+
skills.mode.popular,ui,SkillsPage,SkillsPage,mode_popular,Popular,,active
|
|
569
|
+
skills.browse.placeholder_popular,ui,SkillsPage,SkillsPage,browse_placeholder_popular,Filter popular skills,,active
|
|
570
|
+
skills.empty.popular,ui,SkillsPage,SkillsPage,empty_popular,No popular skills right now.,,active
|
|
571
|
+
skills.toast.bulk_synced,ui,SkillsPage,SkillsPage,toast_bulk_synced,Synced {{count}} skills to {{agent}}.,,active
|
|
572
|
+
skills.toast.bulk_removed,ui,SkillsPage,SkillsPage,toast_bulk_removed,Removed {{count}} skills.,,active
|
|
573
|
+
skills.toast.synced_one,ui,SkillsPage,SkillsPage,toast_synced_one,Synced {{name}} to {{agent}}.,,active
|
|
574
|
+
skills.toast.unsynced_one,ui,SkillsPage,SkillsPage,toast_unsynced_one,Unsynced {{name}} from {{agent}}.,,active
|
|
575
|
+
skills.toast.updated,ui,SkillsPage,SkillsPage,toast_updated,Updated {{name}}.,,active
|
|
576
|
+
skills.confirm.bulk_remove_title,ui,SkillsPage,SkillsPage,confirm_bulk_remove_title,Remove {{count}} skills?,,active
|
|
577
|
+
skills.confirm.bulk_remove_desc,ui,SkillsPage,SkillsPage,confirm_bulk_remove_desc,This unsyncs each skill from every agent and deletes its local copy.,,active
|
|
578
|
+
skills.update.available,ui,SkillsPage,SkillDetailPanel,update_available,A newer version is available upstream.,,active
|
|
579
|
+
skills.update.action,ui,SkillsPage,SkillDetailPanel,update_action,Update,,active
|
|
580
|
+
skills.usage.section_title,ui,SkillsPage,SkillDetailPanel,usage_section_title,Activity,,active
|
|
581
|
+
skills.usage.invocations,ui,SkillsPage,SkillDetailPanel,usage_invocations,Invocations,,active
|
|
582
|
+
skills.usage.cost,ui,SkillsPage,SkillDetailPanel,usage_cost,Est. cost,,active
|
|
583
|
+
skills.usage.never,ui,SkillsPage,SkillDetailPanel,usage_never,Never,,active
|
|
584
|
+
skills.usage.last_used,ui,SkillsPage,SkillDetailPanel,usage_last_used,Last used,,active
|
|
585
|
+
skills.usage.today,ui,SkillsPage,SkillDetailPanel,usage_today,Today,,active
|
|
586
|
+
skills.usage.days_ago,ui,SkillsPage,SkillDetailPanel,usage_days_ago,{{days}}d ago,,active
|
|
587
|
+
skills.usage.months_ago,ui,SkillsPage,SkillDetailPanel,usage_months_ago,{{months}}mo ago,,active
|
|
588
|
+
skills.usage.unknown,ui,SkillsPage,SkillDetailPanel,usage_unknown,Unknown,,active
|
|
589
|
+
skills.usage.unused,ui,SkillsPage,SkillDetailPanel,usage_unused,Not invoked yet. Possible dead weight if you never use it.,,active
|
|
590
|
+
skills.usage.disclaimer,ui,SkillsPage,SkillDetailPanel,usage_disclaimer,Counts from Claude transcripts. Cost is the approximate spend of turns that invoked this skill.,,active
|
|
591
|
+
app.meta.title,app,*,*,meta_title,TokenTracker,Local dashboard <title>; replaces the removed landing.meta.* keys,active
|
|
592
|
+
app.meta.description,app,*,*,meta_description,See how many tokens your AI coding tools use — locally.,,active
|
|
593
|
+
app.meta.og_site_name,app,*,*,meta_og_site_name,TokenTracker,,active
|
|
594
|
+
app.meta.og_type,app,*,*,meta_og_type,website,,active
|
|
595
|
+
app.meta.twitter_card,app,*,*,meta_twitter_card,summary,,active
|
|
596
|
+
dashboard.ingestHealth.suppressed.title,dashboard,DashboardPage,IngestHealthNotice,title,Some Claude usage is not being recorded,,active
|
|
597
|
+
dashboard.ingestHealth.suppressed.body,dashboard,DashboardPage,IngestHealthNotice,body,"{{count}} running Claude CLI session(s) ({{models}}) write no session transcript. TokenTracker reads Claude usage from transcript files, so tokens from these sessions are not counted.",,active
|
|
598
|
+
dashboard.ingestHealth.suppressed.bodyNoModel,dashboard,DashboardPage,IngestHealthNotice,body_no_model,"{{count}} running Claude CLI session(s) write no session transcript. TokenTracker reads Claude usage from transcript files, so tokens from these sessions are not counted.",,active
|
|
599
|
+
dashboard.ingestHealth.suppressed.remedy,dashboard,DashboardPage,IngestHealthNotice,remedy,"The tool that launched Claude chose this, not TokenTracker. Run tokentracker doctor for details.",,active
|
|
600
|
+
`,yP={"shared.placeholder.short":"--","shared.unit.percent":"%","shared.unit.thousand_abbrev":"K","shared.unit.million_abbrev":"M","shared.unit.billion_abbrev":"B","shared.data_source":"数据来源:{{source}}","shared.error.prefix":"错误:{{error}}","shared.status.unsynced":"—","shared.time.now":"刚刚","error.boundary.title":"出了点问题","error.boundary.subtitle":"这个视图渲染失败了","error.boundary.hint":"打开控制台,然后重新加载页面","error.boundary.no_details":"没有错误详细信息","error.boundary.action.reload":"重新加载","identity_card.rank_label":"排名","identity_card.streak_label":"活跃天数","identity_card.rank_placeholder":"—","identity_card.streak_value":"{{days}} 天","usage.summary.total":"Token 总数","usage.summary.updated_at":"更新于 {{timestamp}}","usage.period.day":"日","usage.period.week":"周","usage.period.month":"月","usage.period.total":"总计","usage.period.custom":"自定义","usage.metric.total":"总计","usage.metric.input":"输入","usage.metric.output":"输出","usage.metric.cached_input":"缓存输入","usage.metric.reasoning_output":"推理输出","usage.button.refresh":"刷新","usage.overview.tablist_aria":"时间范围","usage.auto_refresh.aria":"自动刷新间隔","usage.auto_refresh.off":"关闭","usage.auto_refresh.30s":"30 秒","usage.auto_refresh.60s":"60 秒","usage.auto_refresh.120s":"120 秒","usage.overview.cost_breakdown_aria":"查看成本明细","usage.overview.distribution_aria":"来源占比:{{items}}","usage.overview.distribution_item":"{{label}} {{percent}}%","usage.overview.provider_card_aria":"{{provider}}:{{percent}}%,{{tokens}} Token,{{cost}}。点击{{action}}详情","usage.overview.expand":"展开","usage.overview.collapse":"收起","usage.overview.model_count":"{{count}} 个模型","usage.overview.model_details_aria":"{{provider}} 模型详情","daily.sort.date.label":"日期","daily.sort.date.title":"按日期排序","daily.sort.total.label":"总计","daily.sort.total.title":"按总计排序","daily.sort.input.label":"输入","daily.sort.input.title":"按输入排序","daily.sort.output.label":"输出","daily.sort.output.title":"按输出排序","daily.sort.cached.label":"缓存","daily.sort.cached.title":"按缓存输入排序","daily.sort.reasoning.label":"推理","daily.sort.reasoning.title":"按推理输出排序","daily.sort.conversations.label":"对话数","daily.sort.conversations.title":"按对话排序","details.pagination.prev":"上一页","details.pagination.next":"下一页","limits.copilot.otelHint.title":"跟踪 Copilot Token 使用情况","limits.copilot.otelHint.body":"限额信息通过你的 GitHub OAuth 令牌读取。如果还想记录逐 Token 用量,请启用 Copilot 的 OpenTelemetry 导出,把下面这段加到你的 shell 配置文件(~/.zshrc 或 ~/.bashrc):","limits.copilot.otelHint.copy":"复制","limits.copilot.otelHint.copied":"已复制","limits.panel.title":"使用限制","limits.panel.mode_separator":" · ","limits.label.cursor_plan":"套餐","limits.label.cursor_auto":"自动","limits.label.cursor_api":"API","limits.label.kiro_month":"月度","limits.label.kiro_bonus":"奖励","limits.label.kimi_weekly":"周","limits.label.kimi_5h":"5h","limits.label.kimi_total":"总量","limits.label.kimi_parallel":"并发:{{count}}","limits.label.copilot_premium":"高级","limits.label.copilot_chat":"对话","limits.status.not_connected":"未连接","limits.status.no_data":"未返回实时限额数据","limits.status.all_hidden":"所有限额提供商都已隐藏。请打开显示设置重新显示。","nav.usage":"用量","nav.limits":"限额","nav.skills":"Skills","nav.collapse":"折叠侧边栏","nav.expand":"展开侧边栏","nav.menu":"打开导航菜单","nav.close_menu":"关闭导航菜单","nav.aside_label":"主导航","nav.nav_label":"导航","nav.version":"Token Tracker 版本 {{version}}","limits.page.subtitle":"AI 工具的速率限制和配额使用情况。","limits.settings.toggle_visible":"切换可见性","limits.settings.display_mode_label":"用量","limits.settings.display_mode_used":"已用","limits.settings.display_mode_remaining":"剩余","limits.page.openSettings":"显示设置","nav.group.general":"常规","nav.group.tools":"工具","nav.group.account":"账户","nav.settings":"设置","settings.page.title":"设置","settings.page.subtitle":"管理你的账户、外观和显示偏好。","settings.section.appearance":"外观","settings.section.account":"账户","settings.section.limits":"限制显示","settings.appearance.theme.label":"主题","settings.appearance.theme.hint":"选择 Token Tracker 在仪表盘中的显示方式。","settings.appearance.theme.light":"浅色","settings.appearance.theme.dark":"深色","settings.appearance.theme.system":"系统","nav.ip_check":"Claude IP 检查","skills.page.title":"Skills","skills.tab.my":"我的","skills.tab.browse":"发现","skills.action.refresh":"刷新","skills.action.install":"安装","skills.action.choose_targets":"选择目标","skills.target.menu_label":"安装到","skills.target.none":"未选目标","skills.toast.installed":"已把 {{name}} 安装到 {{targets}}。","skills.action.remove":"移除","skills.action.search":"搜索","skills.action.search_aria":"搜索 skills","skills.target.synced_summary":"已同步到 {{targets}}","skills.target.synced_none":"尚未同步到任何 agent","skills.row.open_details":"查看 {{name}} 详情","skills.detail.close":"关闭详情","skills.detail.sync_section_title":"同步到","skills.detail.remove_button":"从所有 agent 移除","skills.detail.remove_confirm_hint":"这会从每个 agent 取消同步并删除本地副本。","skills.filter.agent_label":"Agent","skills.filter.agent_all":"全部 agent","skills.filter.clear":"清除筛选","skills.filter.result_count":"{{filtered}} / {{total}} 个 skill","skills.filter.result_count_browse":"{{count}} 个结果","skills.empty.no_match":"当前筛选下没有匹配的 skill。","hint.dismiss":"关闭提示","hint.dismissible_aria":"可关闭的提示","skills.card.installed":"已安装","skills.card.targets_prefix":"将安装到:","skills.card.targets_change":"更改","skills.card.installs":"{{count}} 次安装","skills.source.label":"来源","skills.source.all":"全部仓库","skills.mode.repo":"仓库","skills.mode.skillssh":"skills.sh","skills.browse.placeholder_all":"在已启用的仓库里搜索…","skills.browse.placeholder_repo":"在 {{repo}} 中搜索…","skills.browse.placeholder_skillssh":"在 skills.sh 仓库中搜索…","skills.browse.empty_sources":"添加一个 GitHub 仓库以开始浏览技能。","skills.browse.add_repo_hint":"想要更多 skill?添加一个 GitHub 仓库。","skills.browse.manage_sources":"管理来源","skills.browse.hint_skillssh":"至少输入 2 个字符以搜索 skills.sh。","skills.browse.loading_hint":"正在从 GitHub 拉取 skill 信息,首次加载可能需要一分钟,结果会缓存。","skills.error.generic":"Skill 操作失败。","skills.confirm.remove_title":"要移除 {{name}} 吗?","skills.confirm.remove_managed":"这个 skill 将从所有已连接的 AI 工具中移除,几秒内可以撤销。","skills.confirm.remove_local":"将从所有 AI 工具目录中删除该 skill 文件夹。此操作无法撤销。","skills.toast.removed":"已移除 {{name}}。","shared.action.undo":"撤销","shared.action.cancel":"取消","shared.action.apply":"应用","skills.empty.my":"还没有 skill。去「发现」搜索或安装。","skills.empty.my_cta":"去发现","skills.empty.browse":"这个来源下没有找到技能。","skills.empty.search":"没有结果,换个关键词试试。","skills.repo.placeholder":"owner/repository","skills.repo.add":"添加仓库","skills.repo.invalid":"请输入 owner/repository 或 GitHub 仓库 URL。","skills.repo.remove":"移除仓库","settings.appearance.language.label":"语言","settings.appearance.language.hint":"使用“系统”时会默认跟随本机语言。","settings.appearance.language.system":"系统","settings.appearance.language.english":"英语","settings.appearance.language.chinese":"简体中文","settings.appearance.language.traditional_chinese":"繁体中文","settings.appearance.language.japanese":"日语","settings.appearance.language.korean":"韩语","settings.appearance.currency.label":"货币","settings.appearance.currency.hint":"选择用量成本的显示币种。","settings.appearance.currency.opt.usd":"美元 ($)","settings.appearance.currency.opt.eur":"欧元 (€)","settings.appearance.currency.opt.gbp":"英镑 (£)","settings.appearance.currency.opt.cny":"人民币 (¥)","settings.appearance.currency.opt.jpy":"日元 (¥)","settings.appearance.currency.opt.hkd":"港币 (HK$)","settings.appearance.currency.rate_source.default":"内置默认汇率","settings.appearance.currency.rate_source.fetched":"数据源:open.er-api.com","settings.appearance.currency.rate_updated":"更新于 {{when}}","settings.appearance.currency.rate_never":"尚未刷新"},kP={"usage.overview.antigravity_notice_title":"Token 为估算值","usage.overview.antigravity_notice_body":"Antigravity 的本地日志没有真实用量字段,这里的数字是按字符长度(约 4 字符/Token)估算出来的,也没有扣除 Gemini 的 prompt cache 折扣。请把它当作上限估算,不要直接对账账单。","usage.period.last24h":"24h","stats.period.today":"今日","stats.period.last24h":"24h","stats.period.week":"本周","stats.period.month":"本月","stats.period.this_month":"本月","stats.period.all":"全部","stats.period.convs":"对话","dashboard.core_index.collapse_label":"▾","dashboard.core_index.expand_label":"▸","dashboard.core_index.collapse_aria":"折叠模型分解","dashboard.core_index.expand_aria":"展开模型细分","dashboard.rolling.title":"最近的活动","dashboard.rolling.last_7d":"过去 7 天","dashboard.rolling.last_30d":"过去 30 天","dashboard.rolling.avg_active_day":"日平均","dashboard.projects.title":"项目用量","dashboard.projects.tokens_label":"Token","dashboard.projects.stars_label":"星标","dashboard.projects.limit_label":"展示","dashboard.projects.limit_aria":"选择仓库显示数量","dashboard.projects.limit_top_3":"前 3 名","dashboard.projects.limit_top_6":"前 6 名","dashboard.projects.limit_top_10":"前 10 名","dashboard.projects.empty":"没有公开仓库","dashboard.cost_breakdown.title":"成本明细","dashboard.cost_breakdown.total_label":"预计总成本","dashboard.cost_breakdown.close":"关闭","trend.monitor.label":"使用趋势","trend.zoom.open_aria":"展开全屏","trend.zoom.close_aria":"关闭","trend.zoom.badge":"趋势洞察","trend.zoom.desc":"悬停任意柱子查看 token、成本与对话数。切换粒度可从月份下钻到半小时。","trend.zoom.insight_badge":"洞察","trend.zoom.tooltip.cost":"成本","trend.zoom.tooltip.conversations":"对话","trend.zoom.stats.tokens":"Token 总量","trend.zoom.stats.cost":"总成本","trend.zoom.stats.conversations":"对话数","trend.zoom.stats.peak":"峰值时段","trend.zoom.gran.aria":"粒度","trend.zoom.gran.30min":"30 分钟","trend.zoom.gran.day":"天","trend.zoom.gran.month":"月","trend.zoom.prev_day":"前一天","trend.zoom.next_day":"后一天","trend.zoom.loading":"加载中…","trend.zoom.pick_day":"选择日期","trend.zoom.pick_range":"选择日期范围","trend.zoom.insight.empty":"一段安静的时光,没有一个 token 流过。","trend.zoom.insight.calm":"轻描淡写。模型大多在待命,只在你需要时才醒来搭把手。","trend.zoom.insight.steady":"{{active}} 个活跃时段里节奏平稳,峰值 {{peak}}。是那种不声不响就把事情交付掉的节奏。","trend.zoom.insight.heavy":"火力全开:{{active}} 个时段持续高热,峰值冲到 {{peak}}。这是自己制造势能、而非等待灵感的人的产出。","trend.zoom.insight.massive":"工业级别。{{peak}} 的峰值,吞吐从不降温。到这个量级,你已经不是在用模型,而是在运营一座工厂。","heatmap.title":"热力图","heatmap.empty":"尚无活动数据。","heatmap.legend.less":"少","heatmap.legend.more":"多","heatmap.legend.utc":"UTC","heatmap.tooltip":"{{day}} • {{value}} {{unit}} • {{tz}}","heatmap.unit.tokens":"Token","heatmap.month.jan":"1月","heatmap.month.feb":"2月","heatmap.month.mar":"3月","heatmap.month.apr":"4月","heatmap.month.may":"5月","heatmap.month.jun":"6月","heatmap.month.jul":"7月","heatmap.month.aug":"8月","heatmap.month.sep":"9月","heatmap.month.oct":"10月","heatmap.month.nov":"11月","heatmap.month.dec":"12月","heatmap.day.sun":"日","heatmap.day.mon":"一","heatmap.day.tue":"二","heatmap.day.wed":"三","heatmap.day.thu":"四","heatmap.day.fri":"五","heatmap.day.sat":"六","dashboard.session_expired.copy_label":"运行 npx --yes @ipv9/tokentracker-cli init","dashboard.session_expired.copied":"已复制","dashboard.install.prompt":"安装 Node.js 18+ 然后运行:","dashboard.install.cmd.init":"npx --yes @ipv9/tokentracker-cli init","dashboard.install.cmd.init_link_code":"npx --yes @ipv9/tokentracker-cli init --link-code {{link_code}}","dashboard.install.copy":"复制安装命令","dashboard.install.copy_base":"复制初始化命令","dashboard.install.copied":"已复制到剪贴板","dashboard.install.link_code.loading":"正在生成专属代码...","dashboard.install.link_code.failed":"专属代码不可用","dashboard.install.cmd.sync":"npx --yes @ipv9/tokentracker-cli sync","dashboard.daily.title":"每日细目","dashboard.daily.empty":"还没有数据。先使用 AI CLI,再运行 {{cmd}}。","dashboard.identity.title":"你的个人资料","dashboard.identity.subtitle":"记录你的编码之旅","dashboard.identity.fallback":"匿名用户","dashboard.screenshot.title_line1":"AI 编程助手","dashboard.screenshot.title_line2":"2025 年度回顾","heatmap.3d.hover_tip":"点击进入 3D 全屏旋转分析模式","heatmap.3d.modal.title":"Token 三维透视","heatmap.3d.modal.desc":"按住左键拖拽可任意旋转,悬浮感知每日活跃数据与多维统计。","heatmap.3d.modal.stats.total_tokens":"年度 Token 总量","heatmap.3d.modal.stats.precision_total_tokens":"精准年消耗量","heatmap.3d.modal.stats.estimated_cost":"年度估算费用","heatmap.3d.modal.stats.active_rate_days":"活跃占比 / 天数","heatmap.3d.modal.stats.max_streak":"最长连续活跃","heatmap.3d.modal.stats.days_suffix":"天","heatmap.3d.modal.stats.peak_day":"单日峰值暴击","heatmap.3d.modal.stats.precision_peak_value":"精确单日峰值","heatmap.3d.modal.stats.no_data":"无数据","heatmap.3d.modal.legend.title":"活跃度层级","heatmap.3d.modal.palette.emerald":"翡翠之城","heatmap.3d.modal.palette.ocean":"深海浩瀚","heatmap.3d.modal.palette.neon":"赛博霓虹","heatmap.3d.modal.palette.amber":"烈焰余晖","heatmap.3d.modal.control.play":"启动慢速自转","heatmap.3d.modal.control.pause":"暂停自动旋转","heatmap.3d.modal.control.reset":"重置 3D 视角","heatmap.3d.modal.footer.tip":"双指缩放 / 滚轮缩放 / 鼠标拖拽旋转 3D 图表","heatmap.3d.modal.ai.title.default":"持之以恒的行者","heatmap.3d.modal.ai.eval.default":"在技术的长河中持之以恒。也许日常的编码并不总是波澜壮阔,但每一个微小的活跃点都在记录着您的思考与探索。星火成留,终将汇聚成属于您的数字海洋。","heatmap.3d.modal.ai.title.peak":"极限活跃级贡献者","heatmap.3d.modal.ai.eval.peak":"这一年中,您的 Token 产出表现出极高的工程密度。如此规模的开发量相当于深度参与了中大型系统底座的重构,每一次击键都在将复杂的逻辑收敛为确定性的代码。这是极度专注与纯粹工程热爱的最好印证。","heatmap.3d.modal.ai.title.heavy":"高频产出级开发者","heatmap.3d.modal.ai.eval.heavy":"卓越的持续输出。您的 Token 累积量已达数百万字,相当于数十部中篇技术巨著的体量。高饱和度的编码节奏表明您正在以极高的执行力构建属于您的数字资产,展现了卓越的创造力。","heatmap.3d.modal.ai.title.core":"核心生产力专家","heatmap.3d.modal.ai.eval.core":"极具韧性的长期投入。在过去的一年中,您在较长周期内稳定保持着高强度的开发节奏。您用扎实的代码行数与 Token 产出,默默筑起了项目的核心架构,是当之无愧的工程支柱。","heatmap.3d.modal.ai.title.steady":"稳健成长型工程师","heatmap.3d.modal.ai.eval.steady":"踏实而坚定的技术积累。每一次 Token 的递增,都是您在坚实地砌下通往未来的代码基石。这种细水长流的稳健节奏,往往是一个优秀开发者通往工程大师的必经之路。","heatmap.3d.voxel.joke.1":"🔥 极度疯狂!产出 {{value}} tokens!你是在疯狂训练大模型,还是手撸了一个编译器?","heatmap.3d.voxel.joke.2":"🚀 史诗级输出!共 {{value}} tokens。今日产出可绕地球一圈,AI 都在为你惊叹!","heatmap.3d.voxel.joke.3":"⚡ 爆击日!{{value}} tokens。代码如泉涌,键盘已经开始冒烟了!","heatmap.3d.voxel.level3":"⚡ 生产力大爆发({{value}} tokens)!高效专注的黄金时刻,继续保持这个巅峰状态!","heatmap.3d.voxel.level2":"🌱 渐入佳境({{value}} tokens)!稳步产出,每一次敲击键盘都是在为大厦添砖加瓦。","heatmap.3d.voxel.level1":"🍃 聚沙成塔({{value}} tokens)。微小的提交也是对未来的投资,保持复利的力量!","heatmap.3d.voxel.level0":"💤 养精蓄锐。在不写代码的日子里,灵感也在悄悄生长。","ipcheck.page.title":"Claude IP 检测","ipcheck.page.subtitle":"查看当前访问 Claude 的出口 IP、纯净度、地理与风险信号,识别可能影响登录或触发风控的因素。","ipcheck.mask.toggle":"隐藏 IP","ipcheck.ipv6.warn":"当前为 IPv6 环境,不建议用 IPv6 访问 Claude Code,部分检测结果可能不完整。","ipcheck.ip.cn":"中国出口 IPv4","ipcheck.ip.cloudflare":"Cloudflare 出口","ipcheck.ip.claude":"Claude 出口","ipcheck.ip.failed":"获取失败","ipcheck.ip.loading":"加载中...","ipcheck.trust.title":"信任评分","ipcheck.trust.subtitle":"Claude 风控视角下的 IP 纯净度","ipcheck.trust.no_data":"无数据","ipcheck.trust.no_ip":"未获取到 Claude 出口 IP,无法评分","ipcheck.trust.no_score":"该 IP 暂无评分数据","ipcheck.trust.gauge.low":"0 高危","ipcheck.trust.gauge.high":"100 可信","ipcheck.trust.label.pristine":"极度纯净","ipcheck.trust.label.clean":"纯净","ipcheck.trust.label.good":"良好","ipcheck.trust.label.neutral":"中性","ipcheck.trust.label.suspicious":"可疑","ipcheck.trust.label.unreachable":"不可访问","ipcheck.trust.text.excellent":"该 IP 信誉极好","ipcheck.trust.text.great":"该 IP 信誉优异","ipcheck.trust.text.minor":"该 IP 存在轻微风险","ipcheck.trust.text.moderate":"该 IP 存在一定风险","ipcheck.trust.text.severe":"该 IP 风险极高","ipcheck.trust.text.restricted":"处于不可访问区域,Claude 会严格风控","ipcheck.trust.region_warn.title":"Claude 出口 IP 位于 {{region}}","ipcheck.trust.region_warn.body":"不建议登录 Claude,容易触发封号风控。","ipcheck.trust.region_support":"Claude 支持地区","ipcheck.trust.region.accessible":"可访问","ipcheck.common.unknown":"未知","ipcheck.props.title":"IP 属性","ipcheck.props.region":"地区","ipcheck.props.city":"城市","ipcheck.props.type":"类型","ipcheck.props.asn":"ASN","ipcheck.props.org":"运营商","ipcheck.props.residential":"家庭住宅","ipcheck.props.datacenter":"机房","ipcheck.security.title":"安全检测","ipcheck.security.vpn":"VPN","ipcheck.security.proxy":"代理 (Proxy)","ipcheck.security.tor":"Tor","ipcheck.security.crawler":"机器人 (Crawler)","ipcheck.security.abuser":"滥用记录","ipcheck.security.proxy_flag":"代理","ipcheck.security.crawler_yes":"是","ipcheck.security.crawler_no":"否","ipcheck.security.abuser_yes":"有记录","ipcheck.security.abuser_no":"无记录","ipcheck.security.clean":"未检测到","ipcheck.avail.title":"Claude 可用性","ipcheck.avail.tooltip":"Claude 服务器在美国,从亚洲访问延迟超过 100ms 属于正常情况。","ipcheck.avail.refresh":"刷新","ipcheck.avail.svc_row":"服务状态","ipcheck.avail.latency.normal":"正常","ipcheck.avail.latency.good":"良好","ipcheck.avail.latency.slow":"较慢","ipcheck.avail.latency.unreachable":"不可访问","ipcheck.avail.svc.none":"全部正常","ipcheck.avail.svc.minor":"轻微故障","ipcheck.avail.svc.major":"重大故障","ipcheck.avail.svc.critical":"严重故障","ipcheck.avail.svc.maintenance":"维护中","ipcheck.avail.svc.other":"服务异常","ipcheck.dns.title":"DNS 泄露检测","ipcheck.dns.status":"状态","ipcheck.dns.outlet":"DNS 出口","ipcheck.dns.outlet_ip":"DNS 出口 IP","ipcheck.dns.isp":"服务商","ipcheck.dns.leaked":"可能泄露","ipcheck.dns.no_leak":"未检测到泄露","ipcheck.dns.encrypted":"DNS 加密或未暴露","ipcheck.dns.cn_tag":"中国 DNS","ipcheck.udp.title":"WebRTC UDP 泄露","ipcheck.udp.status":"状态","ipcheck.udp.outlet":"UDP 出口","ipcheck.udp.outlet_ip":"UDP 出口 IP","ipcheck.udp.origin":"归属地","ipcheck.udp.disabled":"WebRTC 已禁用","ipcheck.udp.no_leak":"未检测到泄露","ipcheck.udp.leaked":"可能泄露","ipcheck.udp.anomaly":"异常","ipcheck.device.title":"设备信息","ipcheck.device.tz":"时区","ipcheck.device.lang":"语言","ipcheck.device.os":"操作系统 / 浏览器","ipcheck.device.touch":"触屏","ipcheck.device.net":"网络类型","ipcheck.device.dnt":"Do Not Track","ipcheck.device.webgl_render":"WebGL 渲染器","ipcheck.device.canvas_fp":"Canvas 指纹","ipcheck.device.webgl_fp":"WebGL 指纹","ipcheck.device.match":"一致","ipcheck.device.mismatch":"不一致","ipcheck.device.local":"本地","ipcheck.device.estimate_suffix":"(估算)","ipcheck.device.diff_equal":"偏移略有差异","ipcheck.device.diff_ahead":"Claude 快 {{h}} 小时","ipcheck.device.diff_behind":"Claude 慢 {{h}} 小时","ipcheck.device.lang_expected":"Claude 出口常用","ipcheck.device.touch_yes":"是","ipcheck.device.touch_no":"否","ipcheck.device.dnt_on":"已开启","ipcheck.device.dnt_off":"已关闭","ipcheck.device.dnt_unset":"未设置","ipcheck.device.net_unsupported":"不支持检测","ipcheck.device.unsupported":"不支持","ipcheck.history.title":"Claude 出口 IP 历史","ipcheck.history.subtitle":"仅本地存储于浏览器,最多保留 6 条","ipcheck.history.clear":"清除","ipcheck.history.empty":"暂无历史记录","ipcheck.history.current":"当前","ipcheck.region.CN":"中国大陆","ipcheck.region.HK":"香港","ipcheck.region.MO":"澳门","ipcheck.region.RU":"俄罗斯","ipcheck.region.KP":"朝鲜","ipcheck.region.IR":"伊朗","ipcheck.region.SY":"叙利亚","ipcheck.region.CU":"古巴","ipcheck.region.BY":"白俄罗斯","ipcheck.region.VE":"委内瑞拉","local_only.title":"需要本地仪表板","local_only.body":"请在本机启动 TokenTracker CLI 并打开 localhost 地址。TokenTracker 不提供托管服务或原生应用替代方案。","shared.app_name":"Token Tracker"},bP={"shared.placeholder.short":"--","shared.unit.percent":"%","shared.unit.thousand_abbrev":"K","shared.unit.million_abbrev":"M","shared.unit.billion_abbrev":"B","shared.data_source":"資料來源:{{source}}","shared.error.prefix":"錯誤:{{error}}","shared.status.unsynced":"—","shared.time.now":"剛剛","error.boundary.title":"出了點問題","error.boundary.subtitle":"這個檢視渲染失敗了","error.boundary.hint":"開啟控制台,然後重新載入頁面","error.boundary.no_details":"沒有錯誤詳細資訊","error.boundary.action.reload":"重新載入","identity_card.rank_label":"排名","identity_card.streak_label":"活躍天數","identity_card.rank_placeholder":"—","identity_card.streak_value":"{{days}} 天","usage.summary.total":"Token 總數","usage.summary.updated_at":"更新於 {{timestamp}}","usage.period.day":"日","usage.period.week":"周","usage.period.month":"月","usage.period.total":"總計","usage.period.custom":"自定義","usage.metric.total":"總計","usage.metric.input":"輸入","usage.metric.output":"輸出","usage.metric.cached_input":"快取輸入","usage.metric.reasoning_output":"推理輸出","usage.button.refresh":"重新整理","usage.overview.tablist_aria":"時間範圍","usage.auto_refresh.aria":"自動重新整理間隔","usage.auto_refresh.off":"關閉","usage.auto_refresh.30s":"30 秒","usage.auto_refresh.60s":"60 秒","usage.auto_refresh.120s":"120 秒","usage.overview.cost_breakdown_aria":"檢視成本明細","usage.overview.distribution_aria":"來源佔比:{{items}}","usage.overview.distribution_item":"{{label}} {{percent}}%","usage.overview.provider_card_aria":"{{provider}}:{{percent}}%,{{tokens}} Token,{{cost}}。點選{{action}}詳情","usage.overview.expand":"展開","usage.overview.collapse":"收起","usage.overview.model_count":"{{count}} 個模型","usage.overview.model_details_aria":"{{provider}} 模型詳情","daily.sort.date.label":"日期","daily.sort.date.title":"按日期排序","daily.sort.total.label":"總計","daily.sort.total.title":"按總計排序","daily.sort.input.label":"輸入","daily.sort.input.title":"按輸入排序","daily.sort.output.label":"輸出","daily.sort.output.title":"按輸出排序","daily.sort.cached.label":"快取","daily.sort.cached.title":"按快取輸入排序","daily.sort.reasoning.label":"推理","daily.sort.reasoning.title":"按推理輸出排序","daily.sort.conversations.label":"對話數","daily.sort.conversations.title":"按對話排序","details.pagination.prev":"上一頁","details.pagination.next":"下一頁","limits.copilot.otelHint.title":"跟蹤 Copilot Token 使用情況","limits.copilot.otelHint.body":"限額資訊通過你的 GitHub OAuth 令牌讀取。如果還想記錄逐 Token 用量,請啟用 Copilot 的 OpenTelemetry 匯出,把下面這段加到你的 shell 配置檔案(~/.zshrc 或 ~/.bashrc):","limits.copilot.otelHint.copy":"複製","limits.copilot.otelHint.copied":"已複製","limits.panel.title":"使用限制","limits.panel.mode_separator":" · ","limits.label.cursor_plan":"套餐","limits.label.cursor_auto":"自動","limits.label.cursor_api":"API","limits.label.kiro_month":"月度","limits.label.kiro_bonus":"獎勵","limits.label.kimi_weekly":"周","limits.label.kimi_5h":"5h","limits.label.kimi_total":"總量","limits.label.kimi_parallel":"併發:{{count}}","limits.label.copilot_premium":"高階","limits.label.copilot_chat":"對話","limits.status.not_connected":"未連線","limits.status.no_data":"未返回即時限額資料","limits.status.all_hidden":"所有限額提供商都已隱藏。請開啟顯示設定重新顯示。","nav.usage":"用量","nav.limits":"限額","nav.skills":"Skills","nav.collapse":"摺疊側邊欄","nav.expand":"展開側邊欄","nav.menu":"開啟導航選單","nav.close_menu":"關閉導航選單","nav.aside_label":"主導航","nav.nav_label":"導航","nav.version":"Token Tracker 版本 {{version}}","limits.page.subtitle":"AI 工具的速率限制和配額使用情況。","limits.settings.toggle_visible":"切換可見性","limits.settings.display_mode_label":"用量","limits.settings.display_mode_used":"已用","limits.settings.display_mode_remaining":"剩餘","limits.page.openSettings":"顯示設定","nav.group.general":"常規","nav.group.tools":"工具","nav.group.account":"賬戶","nav.settings":"設定","settings.page.title":"設定","settings.page.subtitle":"管理你的賬戶、外觀和顯示偏好。","settings.section.appearance":"外觀","settings.section.account":"賬戶","settings.section.limits":"限制顯示","settings.appearance.theme.label":"主題","settings.appearance.theme.hint":"選擇 Token Tracker 在儀表盤中的顯示方式。","settings.appearance.theme.light":"淺色","settings.appearance.theme.dark":"深色","settings.appearance.theme.system":"系統","nav.ip_check":"Claude IP 檢查","skills.page.title":"Skills","skills.tab.my":"我的","skills.tab.browse":"發現","skills.action.refresh":"重新整理","skills.action.install":"安裝","skills.action.choose_targets":"選擇目標","skills.target.menu_label":"安裝到","skills.target.none":"未選目標","skills.toast.installed":"已把 {{name}} 安裝到 {{targets}}。","skills.action.remove":"移除","skills.action.search":"搜尋","skills.action.search_aria":"搜尋 skills","skills.target.synced_summary":"已同步到 {{targets}}","skills.target.synced_none":"尚未同步到任何 agent","skills.row.open_details":"檢視 {{name}} 詳情","skills.detail.close":"關閉詳情","skills.detail.sync_section_title":"同步到","skills.detail.remove_button":"從所有 agent 移除","skills.detail.remove_confirm_hint":"這會從每個 agent 取消同步並刪除本地副本。","skills.filter.agent_label":"Agent","skills.filter.agent_all":"全部 agent","skills.filter.clear":"清除篩選","skills.filter.result_count":"{{filtered}} / {{total}} 個 skill","skills.filter.result_count_browse":"{{count}} 個結果","skills.empty.no_match":"當前篩選下沒有匹配的 skill。","hint.dismiss":"關閉提示","hint.dismissible_aria":"可關閉的提示","skills.card.installed":"已安裝","skills.card.targets_prefix":"將安裝到:","skills.card.targets_change":"更改","skills.card.installs":"{{count}} 次安裝","skills.source.label":"來源","skills.source.all":"全部倉庫","skills.mode.repo":"倉庫","skills.mode.skillssh":"skills.sh","skills.browse.placeholder_all":"在已啟用的倉庫裡搜尋…","skills.browse.placeholder_repo":"在 {{repo}} 中搜索…","skills.browse.placeholder_skillssh":"在 skills.sh 倉庫中搜索…","skills.browse.empty_sources":"新增一個 GitHub 倉庫以開始瀏覽技能。","skills.browse.add_repo_hint":"想要更多 skill?新增一個 GitHub 倉庫。","skills.browse.manage_sources":"管理來源","skills.browse.hint_skillssh":"至少輸入 2 個字元以搜尋 skills.sh。","skills.browse.loading_hint":"正在從 GitHub 拉取 skill 資訊,首次載入可能需要一分鐘,結果會快取。","skills.error.generic":"Skill 操作失敗。","skills.confirm.remove_title":"要移除 {{name}} 嗎?","skills.confirm.remove_managed":"這個 skill 將從所有已連線的 AI 工具中移除,幾秒內可以撤銷。","skills.confirm.remove_local":"將從所有 AI 工具目錄中刪除該 skill 資料夾。此操作無法撤銷。","skills.toast.removed":"已移除 {{name}}。","shared.action.undo":"撤銷","shared.action.cancel":"取消","shared.action.apply":"套用","skills.empty.my":"還沒有 skill。去「發現」搜尋或安裝。","skills.empty.my_cta":"去發現","skills.empty.browse":"這個來源下沒有找到技能。","skills.empty.search":"沒有結果,換個關鍵詞試試。","skills.repo.placeholder":"owner/repository","skills.repo.add":"新增倉庫","skills.repo.invalid":"請輸入 owner/repository 或 GitHub 倉庫 URL。","skills.repo.remove":"移除倉庫","settings.appearance.language.label":"語言","settings.appearance.language.hint":"使用“系統”時會預設跟隨本機語言。","settings.appearance.language.system":"系統","settings.appearance.language.english":"英語","settings.appearance.language.chinese":"簡體中文","settings.appearance.language.traditional_chinese":"繁體中文","settings.appearance.language.japanese":"日語","settings.appearance.language.korean":"韓語","settings.appearance.currency.label":"貨幣","settings.appearance.currency.hint":"選擇用量成本的顯示幣種。","settings.appearance.currency.opt.usd":"美元 ($)","settings.appearance.currency.opt.eur":"歐元 (€)","settings.appearance.currency.opt.gbp":"英鎊 (£)","settings.appearance.currency.opt.cny":"人民幣 (¥)","settings.appearance.currency.opt.jpy":"日元 (¥)","settings.appearance.currency.opt.hkd":"港幣 (HK$)","settings.appearance.currency.rate_source.default":"內建預設匯率","settings.appearance.currency.rate_source.fetched":"資料來源:open.er-api.com","settings.appearance.currency.rate_updated":"更新於 {{when}}","settings.appearance.currency.rate_never":"尚未重新整理"},wP={"usage.overview.antigravity_notice_title":"Token 為估算值","usage.overview.antigravity_notice_body":"Antigravity 的本地日誌沒有真實用量欄位,這裡的數字是按字元長度(約 4 字元/Token)估算出來的,也沒有扣除 Gemini 的 prompt cache 折扣。請把它當作上限估算,不要直接對賬賬單。","usage.period.last24h":"24h","stats.period.today":"今日","stats.period.last24h":"24h","stats.period.week":"本週","stats.period.month":"本月","stats.period.this_month":"本月","stats.period.all":"全部","stats.period.convs":"對話","dashboard.core_index.collapse_label":"▾","dashboard.core_index.expand_label":"▸","dashboard.core_index.collapse_aria":"摺疊模型分解","dashboard.core_index.expand_aria":"展開模型細分","dashboard.rolling.title":"最近的活動","dashboard.rolling.last_7d":"過去 7 天","dashboard.rolling.last_30d":"過去 30 天","dashboard.rolling.avg_active_day":"日平均","dashboard.projects.title":"專案用量","dashboard.projects.tokens_label":"Token","dashboard.projects.stars_label":"星標","dashboard.projects.limit_label":"展示","dashboard.projects.limit_aria":"選擇倉庫顯示數量","dashboard.projects.limit_top_3":"前 3 名","dashboard.projects.limit_top_6":"前 6 名","dashboard.projects.limit_top_10":"前 10 名","dashboard.projects.empty":"沒有公開倉庫","dashboard.cost_breakdown.title":"成本明細","dashboard.cost_breakdown.total_label":"預計總成本","dashboard.cost_breakdown.close":"關閉","trend.monitor.label":"使用趨勢","trend.zoom.open_aria":"展開全螢幕","trend.zoom.close_aria":"關閉","trend.zoom.badge":"趨勢洞察","trend.zoom.desc":"懸停任一長條查看 token、成本與對話數。切換粒度可從月份下鑽到半小時。","trend.zoom.insight_badge":"洞察","trend.zoom.tooltip.cost":"成本","trend.zoom.tooltip.conversations":"對話","trend.zoom.stats.tokens":"Token 總量","trend.zoom.stats.cost":"總成本","trend.zoom.stats.conversations":"對話數","trend.zoom.stats.peak":"峰值時段","trend.zoom.gran.aria":"粒度","trend.zoom.gran.30min":"30 分鐘","trend.zoom.gran.day":"天","trend.zoom.gran.month":"月","trend.zoom.prev_day":"前一天","trend.zoom.next_day":"後一天","trend.zoom.loading":"載入中…","trend.zoom.pick_day":"選擇日期","trend.zoom.pick_range":"選擇日期範圍","trend.zoom.insight.empty":"一段安靜的時光,沒有一個 token 流過。","trend.zoom.insight.calm":"輕描淡寫。模型大多在待命,只在你需要時才醒來搭把手。","trend.zoom.insight.steady":"{{active}} 個活躍時段裡節奏平穩,峰值 {{peak}}。是那種不聲不響就把事情交付掉的節奏。","trend.zoom.insight.heavy":"火力全開:{{active}} 個時段持續高熱,峰值衝到 {{peak}}。這是自己製造勢能、而非等待靈感的人的產出。","trend.zoom.insight.massive":"工業級別。{{peak}} 的峰值,吞吐從不降溫。到這個量級,你已經不是在用模型,而是在營運一座工廠。","heatmap.title":"熱力圖","heatmap.empty":"尚無活動資料。","heatmap.legend.less":"少","heatmap.legend.more":"多","heatmap.legend.utc":"UTC","heatmap.tooltip":"{{day}} • {{value}} {{unit}} • {{tz}}","heatmap.unit.tokens":"Token","heatmap.month.jan":"1月","heatmap.month.feb":"2月","heatmap.month.mar":"3月","heatmap.month.apr":"4月","heatmap.month.may":"5月","heatmap.month.jun":"6月","heatmap.month.jul":"7月","heatmap.month.aug":"8月","heatmap.month.sep":"9月","heatmap.month.oct":"10月","heatmap.month.nov":"11月","heatmap.month.dec":"12月","heatmap.day.sun":"日","heatmap.day.mon":"一","heatmap.day.tue":"二","heatmap.day.wed":"三","heatmap.day.thu":"四","heatmap.day.fri":"五","heatmap.day.sat":"六","dashboard.session_expired.copy_label":"執行 npx --yes @ipv9/tokentracker-cli init","dashboard.session_expired.copied":"已複製","dashboard.install.prompt":"安裝 Node.js 18+ 然後執行:","dashboard.install.cmd.init":"npx --yes @ipv9/tokentracker-cli init","dashboard.install.cmd.init_link_code":"npx --yes @ipv9/tokentracker-cli init --link-code {{link_code}}","dashboard.install.copy":"複製安裝命令","dashboard.install.copy_base":"複製初始化命令","dashboard.install.copied":"已複製到剪貼簿","dashboard.install.link_code.loading":"正在生成專屬程式碼...","dashboard.install.link_code.failed":"專屬程式碼不可用","dashboard.install.cmd.sync":"npx --yes @ipv9/tokentracker-cli sync","dashboard.daily.title":"每日細目","dashboard.daily.empty":"還沒有資料。先使用 AI CLI,再執行 {{cmd}}。","dashboard.identity.title":"你的個人資料","dashboard.identity.subtitle":"記錄你的編碼之旅","dashboard.identity.fallback":"匿名使用者","dashboard.screenshot.title_line1":"AI 程式設計助手","dashboard.screenshot.title_line2":"2025 年度回顧","heatmap.3d.hover_tip":"點選進入 3D 全屏旋轉分析模式","heatmap.3d.modal.title":"Token 三維透視","heatmap.3d.modal.desc":"按住左鍵拖拽可任意旋轉,懸浮感知每日活躍資料與多維統計。","heatmap.3d.modal.stats.total_tokens":"年度 Token 總量","heatmap.3d.modal.stats.precision_total_tokens":"精準年消耗量","heatmap.3d.modal.stats.estimated_cost":"年度估算費用","heatmap.3d.modal.stats.active_rate_days":"活躍佔比 / 天數","heatmap.3d.modal.stats.max_streak":"最長連續活躍","heatmap.3d.modal.stats.days_suffix":"天","heatmap.3d.modal.stats.peak_day":"單日峰值暴擊","heatmap.3d.modal.stats.precision_peak_value":"精確單日峰值","heatmap.3d.modal.stats.no_data":"無資料","heatmap.3d.modal.legend.title":"活躍度層級","heatmap.3d.modal.palette.emerald":"翡翠之城","heatmap.3d.modal.palette.ocean":"深海浩瀚","heatmap.3d.modal.palette.neon":"賽博霓虹","heatmap.3d.modal.palette.amber":"烈焰餘暉","heatmap.3d.modal.control.play":"啟動慢速自轉","heatmap.3d.modal.control.pause":"暫停自動旋轉","heatmap.3d.modal.control.reset":"重置 3D 視角","heatmap.3d.modal.footer.tip":"雙指縮放 / 滾輪縮放 / 滑鼠拖拽旋轉 3D 圖表","heatmap.3d.modal.ai.title.default":"持之以恆的行者","heatmap.3d.modal.ai.eval.default":"在技術的長河中持之以恆。也許日常的編碼並不總是波瀾壯闊,但每一個微小的活躍點都在記錄著您的思考與探索。星火成留,終將匯聚成屬於您的數字海洋。","heatmap.3d.modal.ai.title.peak":"極限活躍級貢獻者","heatmap.3d.modal.ai.eval.peak":"這一年中,您的 Token 產出表現出極高的工程密度。如此規模的開發量相當於深度參與了中大型系統底座的重構,每一次擊鍵都在將複雜的邏輯收斂為確定性的程式碼。這是極度專注與純粹工程熱愛的最好印證。","heatmap.3d.modal.ai.title.heavy":"高頻產出級開發者","heatmap.3d.modal.ai.eval.heavy":"卓越的持續輸出。您的 Token 累積量已達數百萬字,相當於數十部中篇技術鉅著的體量。高飽和度的編碼節奏表明您正在以極高的執行力構建屬於您的數字資產,展現了卓越的創造力。","heatmap.3d.modal.ai.title.core":"核心生產力專家","heatmap.3d.modal.ai.eval.core":"極具韌性的長期投入。在過去的一年中,您在較長週期內穩定保持著高強度的開發節奏。您用紮實的程式碼行數與 Token 產出,默默築起了專案的核心架構,是當之無愧的工程支柱。","heatmap.3d.modal.ai.title.steady":"穩健成長型工程師","heatmap.3d.modal.ai.eval.steady":"踏實而堅定的技術積累。每一次 Token 的遞增,都是您在堅實地砌下通往未來的程式碼基石。這種細水長流的穩健節奏,往往是一個優秀開發者通往工程大師的必經之路。","heatmap.3d.voxel.joke.1":"🔥 極度瘋狂!產出 {{value}} tokens!你是在瘋狂訓練大模型,還是手擼了一個編譯器?","heatmap.3d.voxel.joke.2":"🚀 史詩級輸出!共 {{value}} tokens。今日產出可繞地球一圈,AI 都在為你驚歎!","heatmap.3d.voxel.joke.3":"⚡ 爆擊日!{{value}} tokens。程式碼如泉湧,鍵盤已經開始冒煙了!","heatmap.3d.voxel.level3":"⚡ 生產力大爆發({{value}} tokens)!高效專注的黃金時刻,繼續保持這個巔峰狀態!","heatmap.3d.voxel.level2":"🌱 漸入佳境({{value}} tokens)!穩步產出,每一次敲擊鍵盤都是在為大廈添磚加瓦。","heatmap.3d.voxel.level1":"🍃 聚沙成塔({{value}} tokens)。微小的提交也是對未來的投資,保持複利的力量!","heatmap.3d.voxel.level0":"💤 養精蓄銳。在不寫程式碼的日子裡,靈感也在悄悄生長。","ipcheck.page.title":"Claude IP 檢測","ipcheck.page.subtitle":"檢視當前訪問 Claude 的出口 IP、純淨度、地理與風險訊號,識別可能影響登入或觸發風控的因素。","ipcheck.mask.toggle":"隱藏 IP","ipcheck.ipv6.warn":"當前為 IPv6 環境,不建議用 IPv6 訪問 Claude Code,部分檢測結果可能不完整。","ipcheck.ip.cn":"中國出口 IPv4","ipcheck.ip.cloudflare":"Cloudflare 出口","ipcheck.ip.claude":"Claude 出口","ipcheck.ip.failed":"獲取失敗","ipcheck.ip.loading":"載入中...","ipcheck.trust.title":"信任評分","ipcheck.trust.subtitle":"Claude 風控視角下的 IP 純淨度","ipcheck.trust.no_data":"無資料","ipcheck.trust.no_ip":"未獲取到 Claude 出口 IP,無法評分","ipcheck.trust.no_score":"該 IP 暫無評分資料","ipcheck.trust.gauge.low":"0 高危","ipcheck.trust.gauge.high":"100 可信","ipcheck.trust.label.pristine":"極度純淨","ipcheck.trust.label.clean":"純淨","ipcheck.trust.label.good":"良好","ipcheck.trust.label.neutral":"中性","ipcheck.trust.label.suspicious":"可疑","ipcheck.trust.label.unreachable":"不可訪問","ipcheck.trust.text.excellent":"該 IP 信譽極好","ipcheck.trust.text.great":"該 IP 信譽優異","ipcheck.trust.text.minor":"該 IP 存在輕微風險","ipcheck.trust.text.moderate":"該 IP 存在一定風險","ipcheck.trust.text.severe":"該 IP 風險極高","ipcheck.trust.text.restricted":"處於不可訪問區域,Claude 會嚴格風控","ipcheck.trust.region_warn.title":"Claude 出口 IP 位於 {{region}}","ipcheck.trust.region_warn.body":"不建議登入 Claude,容易觸發封號風控。","ipcheck.trust.region_support":"Claude 支援地區","ipcheck.trust.region.accessible":"可訪問","ipcheck.common.unknown":"未知","ipcheck.props.title":"IP 屬性","ipcheck.props.region":"地區","ipcheck.props.city":"城市","ipcheck.props.type":"型別","ipcheck.props.asn":"ASN","ipcheck.props.org":"運營商","ipcheck.props.residential":"家庭住宅","ipcheck.props.datacenter":"機房","ipcheck.security.title":"安全檢測","ipcheck.security.vpn":"VPN","ipcheck.security.proxy":"代理 (Proxy)","ipcheck.security.tor":"Tor","ipcheck.security.crawler":"機器人 (Crawler)","ipcheck.security.abuser":"濫用記錄","ipcheck.security.proxy_flag":"代理","ipcheck.security.crawler_yes":"是","ipcheck.security.crawler_no":"否","ipcheck.security.abuser_yes":"有記錄","ipcheck.security.abuser_no":"無記錄","ipcheck.security.clean":"未檢測到","ipcheck.avail.title":"Claude 可用性","ipcheck.avail.tooltip":"Claude 伺服器在美國,從亞洲訪問延遲超過 100ms 屬於正常情況。","ipcheck.avail.refresh":"重新整理","ipcheck.avail.svc_row":"服務狀態","ipcheck.avail.latency.normal":"正常","ipcheck.avail.latency.good":"良好","ipcheck.avail.latency.slow":"較慢","ipcheck.avail.latency.unreachable":"不可訪問","ipcheck.avail.svc.none":"全部正常","ipcheck.avail.svc.minor":"輕微故障","ipcheck.avail.svc.major":"重大故障","ipcheck.avail.svc.critical":"嚴重故障","ipcheck.avail.svc.maintenance":"維護中","ipcheck.avail.svc.other":"服務異常","ipcheck.dns.title":"DNS 洩露檢測","ipcheck.dns.status":"狀態","ipcheck.dns.outlet":"DNS 出口","ipcheck.dns.outlet_ip":"DNS 出口 IP","ipcheck.dns.isp":"服務商","ipcheck.dns.leaked":"可能洩露","ipcheck.dns.no_leak":"未檢測到洩露","ipcheck.dns.encrypted":"DNS 加密或未暴露","ipcheck.dns.cn_tag":"中國 DNS","ipcheck.udp.title":"WebRTC UDP 洩露","ipcheck.udp.status":"狀態","ipcheck.udp.outlet":"UDP 出口","ipcheck.udp.outlet_ip":"UDP 出口 IP","ipcheck.udp.origin":"歸屬地","ipcheck.udp.disabled":"WebRTC 已停用","ipcheck.udp.no_leak":"未檢測到洩露","ipcheck.udp.leaked":"可能洩露","ipcheck.udp.anomaly":"異常","ipcheck.device.title":"裝置資訊","ipcheck.device.tz":"時區","ipcheck.device.lang":"語言","ipcheck.device.os":"作業系統 / 瀏覽器","ipcheck.device.touch":"觸屏","ipcheck.device.net":"網路型別","ipcheck.device.dnt":"Do Not Track","ipcheck.device.webgl_render":"WebGL 渲染器","ipcheck.device.canvas_fp":"Canvas 指紋","ipcheck.device.webgl_fp":"WebGL 指紋","ipcheck.device.match":"一致","ipcheck.device.mismatch":"不一致","ipcheck.device.local":"本地","ipcheck.device.estimate_suffix":"(估算)","ipcheck.device.diff_equal":"偏移略有差異","ipcheck.device.diff_ahead":"Claude 快 {{h}} 小時","ipcheck.device.diff_behind":"Claude 慢 {{h}} 小時","ipcheck.device.lang_expected":"Claude 出口常用","ipcheck.device.touch_yes":"是","ipcheck.device.touch_no":"否","ipcheck.device.dnt_on":"已開啟","ipcheck.device.dnt_off":"已關閉","ipcheck.device.dnt_unset":"未設定","ipcheck.device.net_unsupported":"不支援檢測","ipcheck.device.unsupported":"不支援","ipcheck.history.title":"Claude 出口 IP 歷史","ipcheck.history.subtitle":"僅本地儲存於瀏覽器,最多保留 6 條","ipcheck.history.clear":"清除","ipcheck.history.empty":"暫無歷史記錄","ipcheck.history.current":"當前","ipcheck.region.CN":"中國大陸","ipcheck.region.HK":"香港","ipcheck.region.MO":"澳門","ipcheck.region.RU":"俄羅斯","ipcheck.region.KP":"朝鮮","ipcheck.region.IR":"伊朗","ipcheck.region.SY":"敘利亞","ipcheck.region.CU":"古巴","ipcheck.region.BY":"白俄羅斯","ipcheck.region.VE":"委內瑞拉","local_only.title":"需要本機儀表板","local_only.body":"請在本機啟動 TokenTracker CLI 並開啟 localhost 網址。TokenTracker 不提供託管服務或原生應用程式替代方案。","shared.app_name":"Token Tracker"},_P={"shared.placeholder.short":"--","shared.unit.percent":"%","shared.unit.thousand_abbrev":"K","shared.unit.million_abbrev":"M","shared.unit.billion_abbrev":"B","shared.data_source":"データソース:{{source}}","shared.error.prefix":"エラー:{{error}}","shared.status.unsynced":"—","shared.time.now":"たった今","error.boundary.title":"問題が発生しました","error.boundary.subtitle":"このビューのレンダリングに失敗しました","error.boundary.hint":"コンソールを開いてから、ページを再読み込みしてください","error.boundary.no_details":"エラーの詳細はありません","error.boundary.action.reload":"再読み込み","identity_card.rank_label":"ランク","identity_card.streak_label":"アクティブ日数","identity_card.rank_placeholder":"—","identity_card.streak_value":"{{days}} 日","usage.summary.total":"トークン合計","usage.summary.updated_at":"{{timestamp}} 更新","usage.period.day":"日","usage.period.week":"週","usage.period.month":"月","usage.period.total":"合計","usage.period.custom":"カスタム","usage.metric.total":"合計","usage.metric.input":"入力","usage.metric.output":"出力","usage.metric.cached_input":"キャッシュ入力","usage.metric.reasoning_output":"推論出力","usage.button.refresh":"更新","usage.overview.tablist_aria":"期間","usage.auto_refresh.aria":"自動更新間隔","usage.auto_refresh.off":"オフ","usage.auto_refresh.30s":"30秒","usage.auto_refresh.60s":"60秒","usage.auto_refresh.120s":"120秒","usage.overview.cost_breakdown_aria":"コスト内訳を表示","usage.overview.distribution_aria":"ソース別割合:{{items}}","usage.overview.distribution_item":"{{label}} {{percent}}%","usage.overview.provider_card_aria":"{{provider}}:{{percent}}%、{{tokens}} トークン、{{cost}}。クリックして{{action}}詳細","usage.overview.expand":"展開","usage.overview.collapse":"折りたたむ","usage.overview.model_count":"{{count}} 個のモデル","usage.overview.model_details_aria":"{{provider}} のモデル詳細","daily.sort.date.label":"日付","daily.sort.date.title":"日付で並べ替え","daily.sort.total.label":"合計","daily.sort.total.title":"合計で並べ替え","daily.sort.input.label":"入力","daily.sort.input.title":"入力で並べ替え","daily.sort.output.label":"出力","daily.sort.output.title":"出力で並べ替え","daily.sort.cached.label":"キャッシュ","daily.sort.cached.title":"キャッシュ入力で並べ替え","daily.sort.reasoning.label":"推論","daily.sort.reasoning.title":"推論出力で並べ替え","daily.sort.conversations.label":"会話数","daily.sort.conversations.title":"会話数で並べ替え","details.pagination.prev":"前のページ","details.pagination.next":"次のページ","limits.copilot.otelHint.title":"Copilot のトークン使用状況を追跡","limits.copilot.otelHint.body":"制限情報は GitHub OAuth トークン経由で読み取られます。トークン単位の使用量も記録したい場合は、Copilot の OpenTelemetry エクスポートを有効にし、次の内容をシェルの設定ファイル(~/.zshrc または ~/.bashrc)に追加してください:","limits.copilot.otelHint.copy":"コピー","limits.copilot.otelHint.copied":"コピーしました","limits.panel.title":"使用制限","limits.panel.mode_separator":" · ","limits.label.cursor_plan":"プラン","limits.label.cursor_auto":"自動","limits.label.cursor_api":"API","limits.label.kiro_month":"月間","limits.label.kiro_bonus":"ボーナス","limits.label.kimi_weekly":"週","limits.label.kimi_5h":"5h","limits.label.kimi_total":"総量","limits.label.kimi_parallel":"並列:{{count}}","limits.label.copilot_premium":"プレミアム","limits.label.copilot_chat":"チャット","limits.status.not_connected":"未接続","limits.status.no_data":"リアルタイムの制限データが返されませんでした","limits.status.all_hidden":"すべての制限プロバイダーが非表示になっています。表示設定を開いて再表示してください。","nav.usage":"使用状況","nav.limits":"制限","nav.skills":"Skills","nav.collapse":"サイドバーを折りたたむ","nav.expand":"サイドバーを展開","nav.menu":"ナビゲーションメニューを開く","nav.close_menu":"ナビゲーションメニューを閉じる","nav.aside_label":"メインナビゲーション","nav.nav_label":"ナビゲーション","nav.version":"Token Tracker バージョン {{version}}","limits.page.subtitle":"AI ツールのレート制限とクォータの使用状況。","limits.settings.toggle_visible":"表示を切り替え","limits.settings.display_mode_label":"使用量","limits.settings.display_mode_used":"使用済み","limits.settings.display_mode_remaining":"残り","limits.page.openSettings":"表示設定","nav.group.general":"一般","nav.group.tools":"ツール","nav.group.account":"アカウント","nav.settings":"設定","settings.page.title":"設定","settings.page.subtitle":"アカウント、外観、表示設定を管理します。","settings.section.appearance":"外観","settings.section.account":"アカウント","settings.section.limits":"制限の表示","settings.appearance.theme.label":"テーマ","settings.appearance.theme.hint":"Token Tracker のダッシュボードでの表示方法を選択します。","settings.appearance.theme.light":"ライト","settings.appearance.theme.dark":"ダーク","settings.appearance.theme.system":"システム","nav.ip_check":"Claude IP チェック","skills.page.title":"Skills","skills.tab.my":"マイ","skills.tab.browse":"探す","skills.action.refresh":"更新","skills.action.install":"インストール","skills.action.choose_targets":"対象を選択","skills.target.menu_label":"インストール先","skills.target.none":"対象が未選択","skills.toast.installed":"{{name}} を {{targets}} にインストールしました。","skills.action.remove":"削除","skills.action.search":"検索","skills.action.search_aria":"skills を検索","skills.target.synced_summary":"{{targets}} に同期済み","skills.target.synced_none":"まだどの agent にも同期されていません","skills.row.open_details":"{{name}} の詳細を表示","skills.detail.close":"詳細を閉じる","skills.detail.sync_section_title":"同期先","skills.detail.remove_button":"すべての agent から削除","skills.detail.remove_confirm_hint":"これにより、各 agent から同期解除され、ローカルのコピーも削除されます。","skills.filter.agent_label":"Agent","skills.filter.agent_all":"すべての agent","skills.filter.clear":"フィルターをクリア","skills.filter.result_count":"{{filtered}} / {{total}} 個の skill","skills.filter.result_count_browse":"{{count}} 件の結果","skills.empty.no_match":"現在のフィルターに一致する skill はありません。","hint.dismiss":"ヒントを閉じる","hint.dismissible_aria":"閉じられるヒント","skills.card.installed":"インストール済み","skills.card.targets_prefix":"インストール先:","skills.card.targets_change":"変更","skills.card.installs":"{{count}} 回インストール","skills.source.label":"ソース","skills.source.all":"すべてのリポジトリ","skills.mode.repo":"リポジトリ","skills.mode.skillssh":"skills.sh","skills.browse.placeholder_all":"有効なリポジトリ内を検索…","skills.browse.placeholder_repo":"{{repo}} 内を検索…","skills.browse.placeholder_skillssh":"skills.sh のリポジトリ内を検索…","skills.browse.empty_sources":"GitHub リポジトリを追加して、スキルの閲覧を始めましょう。","skills.browse.add_repo_hint":"もっと skill がほしいですか?GitHub リポジトリを追加してください。","skills.browse.manage_sources":"ソースを管理","skills.browse.hint_skillssh":"skills.sh を検索するには 2 文字以上入力してください。","skills.browse.loading_hint":"GitHub から skill 情報を取得しています。初回の読み込みには 1 分ほどかかる場合があり、結果はキャッシュされます。","skills.error.generic":"Skill の操作に失敗しました。","skills.confirm.remove_title":"{{name}} を削除しますか?","skills.confirm.remove_managed":"この skill は接続済みのすべての AI ツールから削除されます。数秒以内であれば元に戻せます。","skills.confirm.remove_local":"すべての AI ツールのディレクトリから、この skill フォルダを削除します。この操作は元に戻せません。","skills.toast.removed":"{{name}} を削除しました。","shared.action.undo":"元に戻す","shared.action.cancel":"キャンセル","shared.action.apply":"適用","skills.empty.my":"まだ skill がありません。「探す」で検索またはインストールしましょう。","skills.empty.my_cta":"探しに行く","skills.empty.browse":"このソースにはスキルが見つかりませんでした。","skills.empty.search":"結果がありません。別のキーワードでお試しください。","skills.repo.placeholder":"owner/repository","skills.repo.add":"リポジトリを追加","skills.repo.invalid":"owner/repository または GitHub リポジトリの URL を入力してください。","skills.repo.remove":"リポジトリを削除","settings.appearance.language.label":"言語","settings.appearance.language.hint":"「システム」を使用すると、デフォルトで端末の言語に従います。","settings.appearance.language.system":"システム","settings.appearance.language.english":"英語","settings.appearance.language.chinese":"簡体字中国語","settings.appearance.language.traditional_chinese":"繁体字中国語","settings.appearance.language.japanese":"日本語","settings.appearance.language.korean":"韓国語","settings.appearance.currency.label":"通貨","settings.appearance.currency.hint":"使用コストの表示通貨を選択します。","settings.appearance.currency.opt.usd":"米ドル ($)","settings.appearance.currency.opt.eur":"ユーロ (€)","settings.appearance.currency.opt.gbp":"英ポンド (£)","settings.appearance.currency.opt.cny":"人民元 (¥)","settings.appearance.currency.opt.jpy":"日本円 (¥)","settings.appearance.currency.opt.hkd":"香港ドル (HK$)","settings.appearance.currency.rate_source.default":"組み込みのデフォルト為替レート","settings.appearance.currency.rate_source.fetched":"データソース:open.er-api.com","settings.appearance.currency.rate_updated":"{{when}} に更新","settings.appearance.currency.rate_never":"まだ更新されていません"},xP={"usage.overview.antigravity_notice_title":"トークンは推定値です","usage.overview.antigravity_notice_body":"Antigravity のローカルログには実際の使用量フィールドがないため、ここの数値は文字数(約 4 文字/トークン)から推定したもので、Gemini の prompt cache 割引も差し引かれていません。上限の推定値として扱い、請求書との照合には使わないでください。","usage.period.last24h":"24h","stats.period.today":"今日","stats.period.last24h":"24h","stats.period.week":"今週","stats.period.month":"今月","stats.period.this_month":"今月","stats.period.all":"全期間","stats.period.convs":"会話","dashboard.core_index.collapse_label":"▾","dashboard.core_index.expand_label":"▸","dashboard.core_index.collapse_aria":"モデルの内訳を折りたたむ","dashboard.core_index.expand_aria":"モデルの内訳を展開","dashboard.rolling.title":"最近のアクティビティ","dashboard.rolling.last_7d":"過去 7 日間","dashboard.rolling.last_30d":"過去 30 日間","dashboard.rolling.avg_active_day":"1 日平均","dashboard.projects.title":"プロジェクトの使用状況","dashboard.projects.tokens_label":"トークン","dashboard.projects.stars_label":"スター","dashboard.projects.limit_label":"表示","dashboard.projects.limit_aria":"表示するリポジトリ数を選択","dashboard.projects.limit_top_3":"上位 3 件","dashboard.projects.limit_top_6":"上位 6 件","dashboard.projects.limit_top_10":"上位 10 件","dashboard.projects.empty":"公開リポジトリはありません","dashboard.cost_breakdown.title":"コスト内訳","dashboard.cost_breakdown.total_label":"推定総コスト","dashboard.cost_breakdown.close":"閉じる","trend.monitor.label":"使用トレンド","trend.zoom.open_aria":"全画面表示","trend.zoom.close_aria":"閉じる","trend.zoom.badge":"トレンド分析","trend.zoom.desc":"バーにカーソルを合わせるとトークン、コスト、会話数を確認できます。粒度を切り替えて月から30分単位まで掘り下げられます。","trend.zoom.insight_badge":"分析","trend.zoom.tooltip.cost":"コスト","trend.zoom.tooltip.conversations":"会話","trend.zoom.stats.tokens":"総トークン数","trend.zoom.stats.cost":"総コスト","trend.zoom.stats.conversations":"会話数","trend.zoom.stats.peak":"ピーク時間帯","trend.zoom.gran.aria":"粒度","trend.zoom.gran.30min":"30分","trend.zoom.gran.day":"日","trend.zoom.gran.month":"月","trend.zoom.prev_day":"前日","trend.zoom.next_day":"翌日","trend.zoom.loading":"読み込み中…","trend.zoom.pick_day":"日付を選択","trend.zoom.pick_range":"期間を選択","trend.zoom.insight.empty":"静かな期間。トークンは一つも流れませんでした。","trend.zoom.insight.calm":"控えめな使い方。モデルはほとんど待機し、必要なときだけ動きました。","trend.zoom.insight.steady":"{{active}} 個のアクティブな区間で安定したリズム、ピークは {{peak}}。騒がずに物事を仕上げていくペースです。","trend.zoom.insight.heavy":"本気の稼働:{{active}} 区間が高負荷で動き、ピークは {{peak}}。勢いを待つのではなく自ら生み出す人の出力です。","trend.zoom.insight.massive":"工業規模。{{peak}} のピークと冷めることのないスループット。この量になると、もはやモデルを使うのではなく工場を動かしています。","heatmap.title":"ヒートマップ","heatmap.empty":"まだアクティビティデータがありません。","heatmap.legend.less":"少","heatmap.legend.more":"多","heatmap.legend.utc":"UTC","heatmap.tooltip":"{{day}} • {{value}} {{unit}} • {{tz}}","heatmap.unit.tokens":"トークン","heatmap.month.jan":"1月","heatmap.month.feb":"2月","heatmap.month.mar":"3月","heatmap.month.apr":"4月","heatmap.month.may":"5月","heatmap.month.jun":"6月","heatmap.month.jul":"7月","heatmap.month.aug":"8月","heatmap.month.sep":"9月","heatmap.month.oct":"10月","heatmap.month.nov":"11月","heatmap.month.dec":"12月","heatmap.day.sun":"日","heatmap.day.mon":"月","heatmap.day.tue":"火","heatmap.day.wed":"水","heatmap.day.thu":"木","heatmap.day.fri":"金","heatmap.day.sat":"土","dashboard.session_expired.copy_label":"npx --yes @ipv9/tokentracker-cli init を実行","dashboard.session_expired.copied":"コピーしました","dashboard.install.prompt":"Node.js 18+ をインストールしてから実行:","dashboard.install.cmd.init":"npx --yes @ipv9/tokentracker-cli init","dashboard.install.cmd.init_link_code":"npx --yes @ipv9/tokentracker-cli init --link-code {{link_code}}","dashboard.install.copy":"インストールコマンドをコピー","dashboard.install.copy_base":"初期化コマンドをコピー","dashboard.install.copied":"クリップボードにコピーしました","dashboard.install.link_code.loading":"専用コードを生成中...","dashboard.install.link_code.failed":"専用コードを利用できません","dashboard.install.cmd.sync":"npx --yes @ipv9/tokentracker-cli sync","dashboard.daily.title":"日次内訳","dashboard.daily.empty":"まだデータがありません。先に AI CLI を使用してから {{cmd}} を実行してください。","dashboard.identity.title":"あなたのプロフィール","dashboard.identity.subtitle":"あなたのコーディングの軌跡を記録","dashboard.identity.fallback":"匿名ユーザー","dashboard.screenshot.title_line1":"AI コーディングアシスタント","dashboard.screenshot.title_line2":"2025 年振り返り","heatmap.3d.hover_tip":"クリックして 3D 全画面回転分析モードに入る","heatmap.3d.modal.title":"トークンの 3D ビュー","heatmap.3d.modal.desc":"左ボタンを押しながらドラッグで自由に回転し、ホバーで日々のアクティビティと多次元の統計を確認できます。","heatmap.3d.modal.stats.total_tokens":"年間トークン総量","heatmap.3d.modal.stats.precision_total_tokens":"年間の正確な消費量","heatmap.3d.modal.stats.estimated_cost":"年間推定費用","heatmap.3d.modal.stats.active_rate_days":"アクティブ率 / 日数","heatmap.3d.modal.stats.max_streak":"最長連続アクティブ","heatmap.3d.modal.stats.days_suffix":"日","heatmap.3d.modal.stats.peak_day":"単日ピーク","heatmap.3d.modal.stats.precision_peak_value":"正確な単日ピーク","heatmap.3d.modal.stats.no_data":"データなし","heatmap.3d.modal.legend.title":"アクティビティのレベル","heatmap.3d.modal.palette.emerald":"エメラルドシティ","heatmap.3d.modal.palette.ocean":"ディープオーシャン","heatmap.3d.modal.palette.neon":"サイバーネオン","heatmap.3d.modal.palette.amber":"燃ゆる残照","heatmap.3d.modal.control.play":"ゆっくり自動回転を開始","heatmap.3d.modal.control.pause":"自動回転を一時停止","heatmap.3d.modal.control.reset":"3D 視点をリセット","heatmap.3d.modal.footer.tip":"ピンチでズーム / ホイールでズーム / マウスドラッグで 3D チャートを回転","heatmap.3d.modal.ai.title.default":"たゆまず歩み続ける人","heatmap.3d.modal.ai.eval.default":"技術の大河のなかで、たゆまず歩み続けています。日々のコーディングがいつも華々しいとは限りませんが、小さなアクティビティの一つひとつが、あなたの思考と探求を記録しています。星のような火花がやがて集まり、あなただけのデジタルの海になっていきます。","heatmap.3d.modal.ai.title.peak":"限界突破級コントリビューター","heatmap.3d.modal.ai.eval.peak":"この一年、あなたのトークン産出はきわめて高いエンジニアリング密度を示しました。これほどの開発量は、中規模から大規模なシステム基盤の再構築に深く関わったのに匹敵し、一打鍵ごとに複雑なロジックを確定的なコードへと収束させています。極度の集中と、純粋なエンジニアリングへの情熱の何よりの証です。","heatmap.3d.modal.ai.title.heavy":"高頻度産出級デベロッパー","heatmap.3d.modal.ai.eval.heavy":"卓越した継続的アウトプット。あなたのトークン累積量は数百万語に達し、中編の技術大作を数十冊分に相当します。高い飽和度のコーディングのリズムは、あなたが並外れた実行力で自分だけのデジタル資産を築いていることを示し、卓越した創造力を体現しています。","heatmap.3d.modal.ai.title.core":"中核生産力エキスパート","heatmap.3d.modal.ai.eval.core":"きわめて粘り強い長期的な取り組み。過去一年にわたり、長い期間にわたって安定して高い強度の開発ペースを保ってきました。確かなコード行数とトークン産出によって、あなたは静かにプロジェクトの中核アーキテクチャを築き上げており、まさにエンジニアリングの支柱です。","heatmap.3d.modal.ai.title.steady":"着実成長型エンジニア","heatmap.3d.modal.ai.eval.steady":"堅実で揺るぎない技術の積み重ね。トークンが増えるたびに、あなたは未来へと続くコードの礎を着実に積んでいます。この細く長く続く堅実なリズムは、優れた開発者がエンジニアリングの達人へと至るために必ず通る道です。","heatmap.3d.voxel.joke.1":"🔥 超ヤバい!{{value}} tokens を産出!大規模モデルを猛特訓中?それともコンパイラを手書きで?","heatmap.3d.voxel.joke.2":"🚀 叙事詩級のアウトプット!合計 {{value}} tokens。今日の産出量は地球を一周できるほど、AI もあなたに驚嘆!","heatmap.3d.voxel.joke.3":"⚡ 爆発の日!{{value}} tokens。コードが泉のごとく湧き出て、キーボードが煙を上げ始めた!","heatmap.3d.voxel.level3":"⚡ 生産力の大爆発({{value}} tokens)!高効率で集中したゴールデンタイム、このピークの状態を保ち続けよう!","heatmap.3d.voxel.level2":"🌱 調子が上がってきた({{value}} tokens)!着実なアウトプットで、キーを打つたびに大きな建物に一枚ずつレンガを積み重ねています。","heatmap.3d.voxel.level1":"🍃 塵も積もれば山となる({{value}} tokens)。小さなコミットも未来への投資、複利の力を保とう!","heatmap.3d.voxel.level0":"💤 英気を養う日。コードを書かない日にも、ひらめきはひそかに育っています。","ipcheck.page.title":"Claude IP チェック","ipcheck.page.subtitle":"現在 Claude にアクセスしている出口 IP、クリーン度、地理情報、リスクシグナルを確認し、ログインに影響したりリスク管理を誘発したりしうる要因を把握します。","ipcheck.mask.toggle":"IP を隠す","ipcheck.ipv6.warn":"現在 IPv6 環境です。IPv6 での Claude Code アクセスは推奨されず、一部の検出結果が不完全になる可能性があります。","ipcheck.ip.cn":"中国の出口 IPv4","ipcheck.ip.cloudflare":"Cloudflare 出口","ipcheck.ip.claude":"Claude 出口","ipcheck.ip.failed":"取得に失敗しました","ipcheck.ip.loading":"読み込み中...","ipcheck.trust.title":"信頼スコア","ipcheck.trust.subtitle":"Claude のリスク管理視点での IP クリーン度","ipcheck.trust.no_data":"データなし","ipcheck.trust.no_ip":"Claude の出口 IP を取得できず、スコアを算出できません","ipcheck.trust.no_score":"この IP のスコアデータはまだありません","ipcheck.trust.gauge.low":"0 高リスク","ipcheck.trust.gauge.high":"100 信頼可","ipcheck.trust.label.pristine":"極めてクリーン","ipcheck.trust.label.clean":"クリーン","ipcheck.trust.label.good":"良好","ipcheck.trust.label.neutral":"中立","ipcheck.trust.label.suspicious":"疑わしい","ipcheck.trust.label.unreachable":"アクセス不可","ipcheck.trust.text.excellent":"この IP の評判は非常に良好です","ipcheck.trust.text.great":"この IP の評判は優秀です","ipcheck.trust.text.minor":"この IP には軽微なリスクがあります","ipcheck.trust.text.moderate":"この IP には一定のリスクがあります","ipcheck.trust.text.severe":"この IP は極めて高リスクです","ipcheck.trust.text.restricted":"アクセス不可の地域にあり、Claude は厳格にリスク管理します","ipcheck.trust.region_warn.title":"Claude の出口 IP が {{region}} にあります","ipcheck.trust.region_warn.body":"Claude へのログインは推奨されません。アカウント停止のリスク管理を誘発しやすくなります。","ipcheck.trust.region_support":"Claude 対応地域","ipcheck.trust.region.accessible":"アクセス可","ipcheck.common.unknown":"不明","ipcheck.props.title":"IP の属性","ipcheck.props.region":"地域","ipcheck.props.city":"都市","ipcheck.props.type":"タイプ","ipcheck.props.asn":"ASN","ipcheck.props.org":"プロバイダー","ipcheck.props.residential":"家庭用","ipcheck.props.datacenter":"データセンター","ipcheck.security.title":"セキュリティ検出","ipcheck.security.vpn":"VPN","ipcheck.security.proxy":"プロキシ (Proxy)","ipcheck.security.tor":"Tor","ipcheck.security.crawler":"ボット (Crawler)","ipcheck.security.abuser":"不正利用の記録","ipcheck.security.proxy_flag":"プロキシ","ipcheck.security.crawler_yes":"はい","ipcheck.security.crawler_no":"いいえ","ipcheck.security.abuser_yes":"記録あり","ipcheck.security.abuser_no":"記録なし","ipcheck.security.clean":"検出されませんでした","ipcheck.avail.title":"Claude の可用性","ipcheck.avail.tooltip":"Claude のサーバーは米国にあります。アジアからのアクセスで遅延が 100ms を超えるのは正常な状況です。","ipcheck.avail.refresh":"更新","ipcheck.avail.svc_row":"サービス状態","ipcheck.avail.latency.normal":"正常","ipcheck.avail.latency.good":"良好","ipcheck.avail.latency.slow":"やや遅い","ipcheck.avail.latency.unreachable":"アクセス不可","ipcheck.avail.svc.none":"すべて正常","ipcheck.avail.svc.minor":"軽微な障害","ipcheck.avail.svc.major":"重大な障害","ipcheck.avail.svc.critical":"深刻な障害","ipcheck.avail.svc.maintenance":"メンテナンス中","ipcheck.avail.svc.other":"サービス異常","ipcheck.dns.title":"DNS リーク検出","ipcheck.dns.status":"状態","ipcheck.dns.outlet":"DNS 出口","ipcheck.dns.outlet_ip":"DNS 出口 IP","ipcheck.dns.isp":"プロバイダー","ipcheck.dns.leaked":"リークの可能性あり","ipcheck.dns.no_leak":"リークは検出されませんでした","ipcheck.dns.encrypted":"DNS は暗号化または非公開","ipcheck.dns.cn_tag":"中国 DNS","ipcheck.udp.title":"WebRTC UDP リーク","ipcheck.udp.status":"状態","ipcheck.udp.outlet":"UDP 出口","ipcheck.udp.outlet_ip":"UDP 出口 IP","ipcheck.udp.origin":"所在地","ipcheck.udp.disabled":"WebRTC は無効です","ipcheck.udp.no_leak":"リークは検出されませんでした","ipcheck.udp.leaked":"リークの可能性あり","ipcheck.udp.anomaly":"異常","ipcheck.device.title":"デバイス情報","ipcheck.device.tz":"タイムゾーン","ipcheck.device.lang":"言語","ipcheck.device.os":"OS / ブラウザ","ipcheck.device.touch":"タッチスクリーン","ipcheck.device.net":"ネットワークタイプ","ipcheck.device.dnt":"Do Not Track","ipcheck.device.webgl_render":"WebGL レンダラー","ipcheck.device.canvas_fp":"Canvas フィンガープリント","ipcheck.device.webgl_fp":"WebGL フィンガープリント","ipcheck.device.match":"一致","ipcheck.device.mismatch":"不一致","ipcheck.device.local":"ローカル","ipcheck.device.estimate_suffix":"(推定)","ipcheck.device.diff_equal":"オフセットにわずかな差があります","ipcheck.device.diff_ahead":"Claude が {{h}} 時間進んでいます","ipcheck.device.diff_behind":"Claude が {{h}} 時間遅れています","ipcheck.device.lang_expected":"Claude 出口でよく使われる言語","ipcheck.device.touch_yes":"はい","ipcheck.device.touch_no":"いいえ","ipcheck.device.dnt_on":"オン","ipcheck.device.dnt_off":"オフ","ipcheck.device.dnt_unset":"未設定","ipcheck.device.net_unsupported":"検出に非対応","ipcheck.device.unsupported":"非対応","ipcheck.history.title":"Claude 出口 IP の履歴","ipcheck.history.subtitle":"ブラウザのローカルにのみ保存され、最大 6 件まで保持されます","ipcheck.history.clear":"クリア","ipcheck.history.empty":"履歴はまだありません","ipcheck.history.current":"現在","ipcheck.region.CN":"中国本土","ipcheck.region.HK":"香港","ipcheck.region.MO":"マカオ","ipcheck.region.RU":"ロシア","ipcheck.region.KP":"北朝鮮","ipcheck.region.IR":"イラン","ipcheck.region.SY":"シリア","ipcheck.region.CU":"キューバ","ipcheck.region.BY":"ベラルーシ","ipcheck.region.VE":"ベネズエラ","local_only.title":"ローカルダッシュボードが必要です","local_only.body":"TokenTracker CLI をローカルで起動し、localhost の URL を開いてください。ホスト型サービスやネイティブアプリの代替はありません。","shared.app_name":"Token Tracker"},PP={"shared.placeholder.short":"--","shared.unit.percent":"%","shared.unit.thousand_abbrev":"K","shared.unit.million_abbrev":"M","shared.unit.billion_abbrev":"B","shared.data_source":"데이터 출처: {{source}}","shared.error.prefix":"오류: {{error}}","shared.status.unsynced":"—","shared.time.now":"방금","error.boundary.title":"문제가 발생했습니다","error.boundary.subtitle":"이 화면을 표시하지 못했습니다","error.boundary.hint":"콘솔을 연 다음 페이지를 새로고침하세요","error.boundary.no_details":"오류 세부 정보 없음","error.boundary.action.reload":"새로고침","identity_card.rank_label":"시작일","identity_card.streak_label":"활동 일수","identity_card.rank_placeholder":"—","identity_card.streak_value":"{{days}}일","usage.summary.total":"총 토큰","usage.summary.updated_at":"{{timestamp}} 업데이트","usage.period.day":"일","usage.period.week":"주","usage.period.month":"월","usage.period.total":"전체","usage.period.custom":"사용자 지정","usage.metric.total":"전체","usage.metric.input":"입력","usage.metric.output":"출력","usage.metric.cached_input":"캐시된 입력","usage.metric.reasoning_output":"추론 출력","usage.button.refresh":"새로고침","usage.overview.tablist_aria":"기간","usage.auto_refresh.aria":"자동 새로고침 간격","usage.auto_refresh.off":"끄기","usage.auto_refresh.30s":"30초","usage.auto_refresh.60s":"60초","usage.auto_refresh.120s":"120초","usage.overview.cost_breakdown_aria":"비용 내역 보기","usage.overview.distribution_aria":"제공자 분포: {{items}}","usage.overview.distribution_item":"{{label}} {{percent}}%","usage.overview.provider_card_aria":"{{provider}}: {{percent}}%, {{tokens}} 토큰, {{cost}}. 클릭하여 세부 정보 {{action}}","usage.overview.expand":"펼치기","usage.overview.collapse":"접기","usage.overview.model_count":"모델 {{count}}개","usage.overview.model_details_aria":"{{provider}} 모델 세부 정보","daily.sort.date.label":"날짜","daily.sort.date.title":"날짜순 정렬","daily.sort.total.label":"전체","daily.sort.total.title":"전체순 정렬","daily.sort.input.label":"입력","daily.sort.input.title":"입력순 정렬","daily.sort.output.label":"출력","daily.sort.output.title":"출력순 정렬","daily.sort.cached.label":"캐시","daily.sort.cached.title":"캐시된 입력순 정렬","daily.sort.reasoning.label":"추론","daily.sort.reasoning.title":"추론 출력순 정렬","daily.sort.conversations.label":"대화 수","daily.sort.conversations.title":"대화순 정렬","details.pagination.prev":"이전","details.pagination.next":"다음","limits.copilot.otelHint.title":"Copilot 토큰 사용량 추적","limits.copilot.otelHint.body":"한도 정보는 GitHub OAuth 토큰을 통해 로드됩니다. 토큰별 사용량도 기록하려면 Copilot의 OpenTelemetry 내보내기를 활성화하고 셸 프로필(~/.zshrc 또는 ~/.bashrc)에 다음 줄을 추가하세요:","limits.copilot.otelHint.copy":"복사","limits.copilot.otelHint.copied":"복사됨","limits.panel.title":"사용 한도","limits.panel.mode_separator":" · ","limits.label.cursor_plan":"플랜","limits.label.cursor_auto":"자동","limits.label.cursor_api":"API","limits.label.kiro_month":"월간","limits.label.kiro_bonus":"보너스","limits.label.kimi_weekly":"주간","limits.label.kimi_5h":"5h","limits.label.kimi_total":"전체","limits.label.kimi_parallel":"동시 실행: {{count}}","limits.label.copilot_premium":"프리미엄","limits.label.copilot_chat":"채팅","limits.status.not_connected":"연결되지 않음","limits.status.no_data":"실시간 한도 데이터가 반환되지 않았습니다","limits.status.all_hidden":"모든 한도 제공자가 숨겨져 있습니다. 표시 설정을 열어 다시 표시하세요.","nav.usage":"토큰","nav.limits":"한도","nav.skills":"Skills","nav.collapse":"사이드바 접기","nav.expand":"사이드바 펼치기","nav.menu":"내비게이션 메뉴 열기","nav.close_menu":"내비게이션 메뉴 닫기","nav.aside_label":"주 내비게이션","nav.nav_label":"기본","nav.version":"Token Tracker 버전 {{version}}","limits.page.subtitle":"AI 도구 전반의 사용 한도와 할당량 사용 현황.","limits.settings.toggle_visible":"표시 여부 전환","limits.settings.display_mode_label":"사용량","limits.settings.display_mode_used":"사용됨","limits.settings.display_mode_remaining":"남음","limits.page.openSettings":"표시 설정","nav.group.general":"일반","nav.group.tools":"도구","nav.group.account":"계정","nav.settings":"설정","settings.page.title":"설정","settings.page.subtitle":"계정, 외관 및 표시 환경설정을 관리하세요.","settings.section.appearance":"외관","settings.section.account":"계정","settings.section.limits":"한도 표시","settings.appearance.theme.label":"테마","settings.appearance.theme.hint":"대시보드 전반에서 Token Tracker가 표시되는 방식을 선택하세요.","settings.appearance.theme.light":"라이트","settings.appearance.theme.dark":"다크","settings.appearance.theme.system":"시스템","nav.ip_check":"Claude IP 확인","skills.page.title":"Skills","skills.tab.my":"내 Skills","skills.tab.browse":"둘러보기","skills.action.refresh":"새로고침","skills.action.install":"설치","skills.action.choose_targets":"대상 선택","skills.target.menu_label":"설치 위치","skills.target.none":"대상 없음","skills.toast.installed":"{{name}}을(를) {{targets}}에 설치했습니다.","skills.action.remove":"제거","skills.action.search":"검색","skills.action.search_aria":"skills 검색","skills.target.synced_summary":"{{targets}}에 동기화됨","skills.target.synced_none":"어떤 agent에도 동기화되지 않음","skills.row.open_details":"{{name}} 세부 정보 열기","skills.detail.close":"세부 정보 닫기","skills.detail.sync_section_title":"동기화 대상","skills.detail.remove_button":"모든 agent에서 제거","skills.detail.remove_confirm_hint":"모든 agent에서 이 skill의 동기화를 해제하고 로컬 복사본을 삭제합니다.","skills.filter.agent_label":"Agent","skills.filter.agent_all":"모든 agent","skills.filter.clear":"필터 지우기","skills.filter.result_count":"skill {{filtered}} / {{total}}개","skills.filter.result_count_browse":"결과 {{count}}개","skills.empty.no_match":"현재 필터에 일치하는 skill이 없습니다.","hint.dismiss":"힌트 닫기","hint.dismissible_aria":"닫을 수 있는 힌트","skills.card.installed":"설치됨","skills.card.targets_prefix":"설치 위치:","skills.card.targets_change":"변경","skills.card.installs":"설치 {{count}}회","skills.source.label":"출처","skills.source.all":"모든 저장소","skills.mode.repo":"저장소","skills.mode.skillssh":"skills.sh","skills.browse.placeholder_all":"활성화된 저장소에서 검색…","skills.browse.placeholder_repo":"{{repo}}에서 검색…","skills.browse.placeholder_skillssh":"skills.sh 레지스트리 검색…","skills.browse.empty_sources":"skill을 둘러보려면 아래에서 GitHub 저장소를 추가하세요.","skills.browse.add_repo_hint":"더 많은 skill이 필요하신가요? GitHub 저장소를 추가하세요.","skills.browse.manage_sources":"출처 관리","skills.browse.hint_skillssh":"skills.sh를 검색하려면 2자 이상 입력하세요.","skills.browse.loading_hint":"GitHub에서 skill 메타데이터를 가져오는 중입니다. 첫 로드는 최대 1분이 걸릴 수 있으며, 결과는 캐시됩니다.","skills.error.generic":"Skill 작업에 실패했습니다.","skills.confirm.remove_title":"{{name}}을(를) 제거할까요?","skills.confirm.remove_managed":"이 skill은 연결된 모든 AI 도구에서 제거됩니다. 몇 초 안에 실행을 취소할 수 있습니다.","skills.confirm.remove_local":"연결된 모든 AI 도구에서 디스크의 skill 폴더를 삭제합니다. 이 작업은 취소할 수 없습니다.","skills.toast.removed":"{{name}}을(를) 제거했습니다.","shared.action.undo":"실행 취소","shared.action.cancel":"취소","shared.action.apply":"적용","skills.empty.my":"아직 skill이 없습니다. 둘러보기를 열어 검색하고 설치하세요.","skills.empty.my_cta":"둘러보기","skills.empty.browse":"이 출처에서 skill을 찾을 수 없습니다.","skills.empty.search":"결과가 없습니다. 다른 검색어를 시도해 보세요.","skills.repo.placeholder":"owner/repository","skills.repo.add":"저장소 추가","skills.repo.invalid":"owner/repository 또는 GitHub 저장소 URL을 입력하세요.","skills.repo.remove":"저장소 제거","settings.appearance.language.label":"언어","settings.appearance.language.hint":"시스템을 선택하면 기본적으로 컴퓨터 언어를 따릅니다.","settings.appearance.language.system":"시스템","settings.appearance.language.english":"영어","settings.appearance.language.chinese":"중국어 간체","settings.appearance.language.traditional_chinese":"중국어 번체","settings.appearance.language.japanese":"일본어","settings.appearance.language.korean":"한국어","settings.appearance.currency.label":"통화","settings.appearance.currency.hint":"사용량 비용에 표시할 통화를 선택하세요.","settings.appearance.currency.opt.usd":"미국 달러 ($)","settings.appearance.currency.opt.eur":"유로 (€)","settings.appearance.currency.opt.gbp":"영국 파운드 (£)","settings.appearance.currency.opt.cny":"중국 위안 (¥)","settings.appearance.currency.opt.jpy":"일본 엔 (¥)","settings.appearance.currency.opt.hkd":"홍콩 달러 (HK$)","settings.appearance.currency.rate_source.default":"내장 기본 환율","settings.appearance.currency.rate_source.fetched":"출처: open.er-api.com","settings.appearance.currency.rate_updated":"{{when}} 업데이트됨","settings.appearance.currency.rate_never":"첫 새로고침 대기 중"},SP={"usage.overview.antigravity_notice_title":"추정 토큰","usage.overview.antigravity_notice_body":"Antigravity 기록에는 실제 사용량 수치가 저장되지 않습니다. 여기 표시된 수치는 텍스트 길이(약 4자/토큰)로 추정한 값이며 Gemini의 프롬프트 캐시 할인은 반영되지 않으므로, 청구 금액이 아니라 상한 추정치로 참고하세요.","usage.period.last24h":"24h","stats.period.today":"오늘","stats.period.last24h":"24h","stats.period.week":"이번 주","stats.period.month":"이번 달","stats.period.this_month":"이번 달","stats.period.all":"전체","stats.period.convs":"대화","dashboard.core_index.collapse_label":"▾","dashboard.core_index.expand_label":"▸","dashboard.core_index.collapse_aria":"모델 분석 접기","dashboard.core_index.expand_aria":"모델 분석 펼치기","dashboard.rolling.title":"최근 활동","dashboard.rolling.last_7d":"최근 7일","dashboard.rolling.last_30d":"최근 30일","dashboard.rolling.avg_active_day":"일 평균","dashboard.projects.title":"프로젝트 사용량","dashboard.projects.tokens_label":"토큰","dashboard.projects.stars_label":"STAR","dashboard.projects.limit_label":"표시","dashboard.projects.limit_aria":"저장소 표시 개수 선택","dashboard.projects.limit_top_3":"TOP 3","dashboard.projects.limit_top_6":"TOP 6","dashboard.projects.limit_top_10":"TOP 10","dashboard.projects.empty":"공개 저장소 없음","dashboard.cost_breakdown.title":"비용 내역","dashboard.cost_breakdown.total_label":"예상 총비용","dashboard.cost_breakdown.close":"닫기","trend.monitor.label":"사용 추세","trend.zoom.open_aria":"전체 화면으로 확대","trend.zoom.close_aria":"닫기","trend.zoom.badge":"트렌드 인사이트","trend.zoom.desc":"막대에 마우스를 올리면 토큰, 비용, 대화 수를 확인할 수 있습니다. 단위를 전환해 월에서 30분까지 살펴보세요.","trend.zoom.insight_badge":"인사이트","trend.zoom.tooltip.cost":"비용","trend.zoom.tooltip.conversations":"대화","trend.zoom.stats.tokens":"총 토큰","trend.zoom.stats.cost":"총 비용","trend.zoom.stats.conversations":"대화 수","trend.zoom.stats.peak":"최대 구간","trend.zoom.gran.aria":"단위","trend.zoom.gran.30min":"30분","trend.zoom.gran.day":"일","trend.zoom.gran.month":"월","trend.zoom.prev_day":"이전 날","trend.zoom.next_day":"다음 날","trend.zoom.loading":"불러오는 중…","trend.zoom.pick_day":"날짜 선택","trend.zoom.pick_range":"기간 선택","trend.zoom.insight.empty":"조용한 구간. 토큰이 단 하나도 흐르지 않았습니다.","trend.zoom.insight.calm":"가벼운 사용. 모델은 대부분 대기하다 필요할 때만 깨어났습니다.","trend.zoom.insight.steady":"{{active}}개 활성 구간에서 안정적인 리듬, 최대 {{peak}}. 요란하지 않게 일을 끝내는 페이스입니다.","trend.zoom.insight.heavy":"본격 가동: {{active}}개 구간이 뜨겁게 돌아가고 최대 {{peak}}. 흐름을 기다리지 않고 직접 만들어내는 사람의 출력입니다.","trend.zoom.insight.massive":"산업 규모. {{peak}} 피크와 식지 않는 처리량. 이 정도면 모델을 쓰는 게 아니라 공장을 돌리는 셈입니다.","heatmap.title":"활동 히트맵","heatmap.empty":"아직 활동 데이터가 없습니다.","heatmap.legend.less":"적음","heatmap.legend.more":"많음","heatmap.legend.utc":"UTC","heatmap.tooltip":"{{day}} • {{value}} {{unit}} • {{tz}}","heatmap.unit.tokens":"토큰","heatmap.month.jan":"1월","heatmap.month.feb":"2월","heatmap.month.mar":"3월","heatmap.month.apr":"4월","heatmap.month.may":"5월","heatmap.month.jun":"6월","heatmap.month.jul":"7월","heatmap.month.aug":"8월","heatmap.month.sep":"9월","heatmap.month.oct":"10월","heatmap.month.nov":"11월","heatmap.month.dec":"12월","heatmap.day.sun":"일","heatmap.day.mon":"월","heatmap.day.tue":"화","heatmap.day.wed":"수","heatmap.day.thu":"목","heatmap.day.fri":"금","heatmap.day.sat":"토","dashboard.session_expired.copy_label":"npx --yes @ipv9/tokentracker-cli init 실행","dashboard.session_expired.copied":"복사됨","dashboard.install.prompt":"Node.js 18+ 설치 후 실행:","dashboard.install.cmd.init":"npx --yes @ipv9/tokentracker-cli init","dashboard.install.cmd.init_link_code":"npx --yes @ipv9/tokentracker-cli init --link-code {{link_code}}","dashboard.install.copy":"설치 명령 복사","dashboard.install.copy_base":"init 명령 복사","dashboard.install.copied":"클립보드에 복사됨","dashboard.install.link_code.loading":"전용 코드 생성 중...","dashboard.install.link_code.failed":"전용 코드를 사용할 수 없음","dashboard.install.cmd.sync":"npx --yes @ipv9/tokentracker-cli sync","dashboard.daily.title":"일별 내역","dashboard.daily.empty":"아직 데이터가 없습니다. AI CLI를 사용한 다음 {{cmd}}을(를) 실행하세요.","dashboard.identity.title":"내 프로필","dashboard.identity.subtitle":"코딩 여정을 기록하세요","dashboard.identity.fallback":"익명","dashboard.screenshot.title_line1":"코딩 에이전트","dashboard.screenshot.title_line2":"2025 연말 결산","heatmap.3d.hover_tip":"클릭하여 3D 전체 화면 회전 분석 모드로 진입","heatmap.3d.modal.title":"토큰 3D 투시","heatmap.3d.modal.desc":"마우스 왼쪽 버튼으로 드래그하여 회전하세요. 마우스를 올리면 일별 활동과 다차원 지표를 확인할 수 있습니다.","heatmap.3d.modal.stats.total_tokens":"연간 총 토큰","heatmap.3d.modal.stats.precision_total_tokens":"정확한 연간 소비량","heatmap.3d.modal.stats.estimated_cost":"연간 예상 비용","heatmap.3d.modal.stats.active_rate_days":"활동 비율 / 일수","heatmap.3d.modal.stats.max_streak":"최장 연속 활동","heatmap.3d.modal.stats.days_suffix":"일","heatmap.3d.modal.stats.peak_day":"단일 최고 폭발","heatmap.3d.modal.stats.precision_peak_value":"정확한 일일 최고치","heatmap.3d.modal.stats.no_data":"데이터 없음","heatmap.3d.modal.legend.title":"활동 단계","heatmap.3d.modal.palette.emerald":"에메랄드 시티","heatmap.3d.modal.palette.ocean":"심해의 심연","heatmap.3d.modal.palette.neon":"사이버 네온","heatmap.3d.modal.palette.amber":"타오르는 호박빛","heatmap.3d.modal.control.play":"느린 자동 회전 시작","heatmap.3d.modal.control.pause":"자동 회전 일시정지","heatmap.3d.modal.control.reset":"3D 시점 초기화","heatmap.3d.modal.footer.tip":"핀치 확대 / 스크롤 확대 / 드래그로 3D 차트 회전","heatmap.3d.modal.ai.title.default":"꾸준한 창작자","heatmap.3d.modal.ai.eval.default":"기술의 강물 속에서 꾸준히 나아가세요. 매일의 코딩이 늘 웅장하지는 않더라도, 작은 활동 하나하나가 당신의 사고와 탐구를 기록합니다. 불꽃이 모여 결국 당신만의 디지털 바다로 수렴합니다.","heatmap.3d.modal.ai.title.peak":"최고 기여자","heatmap.3d.modal.ai.eval.peak":"올 한 해, 당신의 토큰 산출량은 극도로 높은 엔지니어링 밀도를 보여줍니다. 이 정도 규모의 개발은 중대형 시스템 기반의 리팩터링에 깊이 참여한 것과 맞먹으며, 키 입력 하나하나가 복잡한 로직을 결정론적 코드로 수렴시킵니다. 순수한 엔지니어링 열정의 증거입니다.","heatmap.3d.modal.ai.title.heavy":"고생산 개발자","heatmap.3d.modal.ai.eval.heavy":"탁월한 지속적 산출. 누적된 토큰이 수백만 개에 달하며, 이는 수십 편의 기술 중편 소설 분량에 해당합니다. 고도로 밀도 높은 코딩 리듬은 디지털 자산을 구축하는 당신의 뛰어난 실행력을 보여줍니다.","heatmap.3d.modal.ai.title.core":"핵심 생산성 전문가","heatmap.3d.modal.ai.eval.core":"매우 견고한 장기적 헌신. 지난 한 해 동안 당신은 고강도의 개발 리듬을 꾸준히 유지해 왔습니다. 탄탄한 코드 분량과 토큰 산출로 묵묵히 핵심 아키텍처를 쌓아 올린, 진정한 엔지니어링의 기둥입니다.","heatmap.3d.modal.ai.title.steady":"안정적인 개발자","heatmap.3d.modal.ai.eval.steady":"착실하고 굳건한 기술 축적. 토큰이 늘어나는 한 걸음 한 걸음이 미래의 기반을 다지는 벽돌입니다. 이 느리지만 꾸준한 리듬이야말로 뛰어난 개발자가 엔지니어링의 대가로 나아가는 길입니다.","heatmap.3d.voxel.joke.1":"🔥 완전 미쳤어요! {{value}} tokens 산출! 대형 언어 모델을 훈련하는 건가요, 아니면 직접 컴파일러를 만드는 건가요?","heatmap.3d.voxel.joke.2":"🚀 서사시급 산출! 총 {{value}} tokens. 오늘의 산출량이면 지구를 한 바퀴 돌 수 있어요. AI마저 당신에게 놀랐습니다!","heatmap.3d.voxel.joke.3":"⚡ 폭발의 날! {{value}} tokens. 코드가 샘솟아 키보드에서 연기가 나기 시작합니다!","heatmap.3d.voxel.level3":"⚡ 생산성 대폭발 ({{value}} tokens)! 높은 효율과 집중력, 이 최고의 상태를 계속 유지하세요!","heatmap.3d.voxel.level2":"🌱 점점 무르익는 중 ({{value}} tokens)! 꾸준한 산출, 키 입력 하나하나가 아키텍처에 기여하고 있습니다.","heatmap.3d.voxel.level1":"🍃 티끌 모아 태산 ({{value}} tokens). 작은 커밋도 미래에 대한 투자입니다. 복리의 힘을 받아들이세요!","heatmap.3d.voxel.level0":"💤 재충전 중. 코딩하지 않는 날에도 영감은 조용히 자라납니다.","ipcheck.page.title":"Claude IP 확인","ipcheck.page.subtitle":"Claude에 접속하는 출구 IP와 함께 평판, 지리 정보, 로그인에 영향을 주거나 사용 제한을 유발할 수 있는 위험 신호를 점검하세요.","ipcheck.mask.toggle":"IP 숨기기","ipcheck.ipv6.warn":"IPv6가 감지되었습니다. IPv6로 Claude Code에 접속하는 것은 권장하지 않으며, 일부 검사 결과가 불완전할 수 있습니다.","ipcheck.ip.cn":"중국 출구 IPv4","ipcheck.ip.cloudflare":"Cloudflare 출구","ipcheck.ip.claude":"Claude 출구","ipcheck.ip.failed":"가져올 수 없음","ipcheck.ip.loading":"불러오는 중...","ipcheck.trust.title":"신뢰 점수","ipcheck.trust.subtitle":"Claude 위험 관리 관점에서의 IP 청결도","ipcheck.trust.no_data":"데이터 없음","ipcheck.trust.no_ip":"Claude 출구 IP가 감지되지 않아 점수를 매길 수 없습니다","ipcheck.trust.no_score":"이 IP에 대한 점수 데이터가 없습니다","ipcheck.trust.gauge.low":"0 고위험","ipcheck.trust.gauge.high":"100 신뢰됨","ipcheck.trust.label.pristine":"매우 깨끗함","ipcheck.trust.label.clean":"깨끗함","ipcheck.trust.label.good":"양호","ipcheck.trust.label.neutral":"중립","ipcheck.trust.label.suspicious":"의심스러움","ipcheck.trust.label.unreachable":"접근 불가","ipcheck.trust.text.excellent":"평판이 매우 우수함","ipcheck.trust.text.great":"평판이 우수함","ipcheck.trust.text.minor":"경미한 위험","ipcheck.trust.text.moderate":"보통 수준의 위험","ipcheck.trust.text.severe":"심각한 위험","ipcheck.trust.text.restricted":"제한 지역 — Claude가 엄격한 위험 관리를 적용합니다","ipcheck.trust.region_warn.title":"Claude 출구 IP가 {{region}}에 있습니다","ipcheck.trust.region_warn.body":"로그인을 피하세요. 계정 플래그 처리를 유발할 가능성이 높습니다.","ipcheck.trust.region_support":"Claude 지원 지역","ipcheck.trust.region.accessible":"접근 가능","ipcheck.common.unknown":"알 수 없음","ipcheck.props.title":"IP 속성","ipcheck.props.region":"지역","ipcheck.props.city":"도시","ipcheck.props.type":"유형","ipcheck.props.asn":"ASN","ipcheck.props.org":"ISP","ipcheck.props.residential":"가정용","ipcheck.props.datacenter":"데이터센터","ipcheck.security.title":"보안 검사","ipcheck.security.vpn":"VPN","ipcheck.security.proxy":"프록시","ipcheck.security.tor":"Tor","ipcheck.security.crawler":"크롤러","ipcheck.security.abuser":"악용 이력","ipcheck.security.proxy_flag":"프록시","ipcheck.security.crawler_yes":"예","ipcheck.security.crawler_no":"아니요","ipcheck.security.abuser_yes":"기록 있음","ipcheck.security.abuser_no":"기록 없음","ipcheck.security.clean":"감지되지 않음","ipcheck.avail.title":"Claude 가용성","ipcheck.avail.tooltip":"Claude 서버는 미국에 있으므로 아시아에서 100ms를 초과하는 지연은 정상입니다.","ipcheck.avail.refresh":"새로고침","ipcheck.avail.svc_row":"서비스 상태","ipcheck.avail.latency.normal":"정상","ipcheck.avail.latency.good":"양호","ipcheck.avail.latency.slow":"느림","ipcheck.avail.latency.unreachable":"접근 불가","ipcheck.avail.svc.none":"모든 시스템 정상","ipcheck.avail.svc.minor":"경미한 장애","ipcheck.avail.svc.major":"주요 장애","ipcheck.avail.svc.critical":"심각한 장애","ipcheck.avail.svc.maintenance":"점검 중","ipcheck.avail.svc.other":"서비스 이상","ipcheck.dns.title":"DNS 누출","ipcheck.dns.status":"상태","ipcheck.dns.outlet":"DNS 출구","ipcheck.dns.outlet_ip":"DNS 출구 IP","ipcheck.dns.isp":"제공업체","ipcheck.dns.leaked":"누출 가능성 있음","ipcheck.dns.no_leak":"누출이 감지되지 않음","ipcheck.dns.encrypted":"DNS 암호화 또는 비노출","ipcheck.dns.cn_tag":"중국 DNS","ipcheck.udp.title":"WebRTC UDP 누출","ipcheck.udp.status":"상태","ipcheck.udp.outlet":"UDP 출구","ipcheck.udp.outlet_ip":"UDP 출구 IP","ipcheck.udp.origin":"출처","ipcheck.udp.disabled":"WebRTC 비활성화됨","ipcheck.udp.no_leak":"누출이 감지되지 않음","ipcheck.udp.leaked":"누출 가능성 있음","ipcheck.udp.anomaly":"이상","ipcheck.device.title":"기기 정보","ipcheck.device.tz":"시간대","ipcheck.device.lang":"언어","ipcheck.device.os":"OS / 브라우저","ipcheck.device.touch":"터치","ipcheck.device.net":"네트워크 유형","ipcheck.device.dnt":"Do Not Track","ipcheck.device.webgl_render":"WebGL 렌더러","ipcheck.device.canvas_fp":"Canvas 지문","ipcheck.device.webgl_fp":"WebGL 지문","ipcheck.device.match":"일치","ipcheck.device.mismatch":"불일치","ipcheck.device.local":"로컬","ipcheck.device.estimate_suffix":"(추정)","ipcheck.device.diff_equal":"약간의 오차","ipcheck.device.diff_ahead":"Claude가 {{h}}시간 빠름","ipcheck.device.diff_behind":"Claude가 {{h}}시간 느림","ipcheck.device.lang_expected":"Claude 지역 일반적","ipcheck.device.touch_yes":"예","ipcheck.device.touch_no":"아니요","ipcheck.device.dnt_on":"켜짐","ipcheck.device.dnt_off":"꺼짐","ipcheck.device.dnt_unset":"설정 안 됨","ipcheck.device.net_unsupported":"감지되지 않음","ipcheck.device.unsupported":"지원되지 않음","ipcheck.history.title":"Claude 출구 IP 기록","ipcheck.history.subtitle":"이 브라우저에만 저장되며 최대 6개까지 보관됩니다","ipcheck.history.clear":"지우기","ipcheck.history.empty":"아직 기록이 없습니다","ipcheck.history.current":"현재","ipcheck.region.CN":"중국 본토","ipcheck.region.HK":"홍콩","ipcheck.region.MO":"마카오","ipcheck.region.RU":"러시아","ipcheck.region.KP":"북한","ipcheck.region.IR":"이란","ipcheck.region.SY":"시리아","ipcheck.region.CU":"쿠바","ipcheck.region.BY":"벨라루스","ipcheck.region.VE":"베네수엘라","local_only.title":"로컬 대시보드가 필요합니다","local_only.body":"TokenTracker CLI를 로컬에서 시작하고 localhost URL을 여세요. 호스팅 서비스나 네이티브 앱 대체 경로는 없습니다.","shared.app_name":"Token Tracker"};function rk(){return typeof window>"u"?null:window.localStorage||null}function Io(e,{storage:t}={}){const a=t??rk();if(!a||typeof a.getItem!="function")return null;try{return a.getItem(e)}catch{return null}}function Ao(e,t,{storage:a}={}){const i=a??rk();if(!i||typeof i.setItem!="function")return!1;try{return i.setItem(e,t),!0}catch{return!1}}const ak="tokentracker-locale",Ti="system",Fl="en",ik="zh-CN",ok="zh-TW",sk="ja",lk="ko",CP=/^zh[-_](hant|tw|hk|mo)\b/i;function ck(e){return/^zh(?:[-_]|$)/i.test(e)?CP.test(e)?ok:ik:/^ja(?:[-_]|$)/i.test(e)?sk:/^ko(?:[-_]|$)/i.test(e)?lk:null}function uk(e){return typeof e!="string"?Fl:ck(e.trim())||Fl}function sc(e){return e===Ti?Ti:uk(e)}function TP(){return typeof navigator>"u"?[]:Array.isArray(navigator.languages)&&navigator.languages.length?navigator.languages.filter(e=>typeof e=="string"):typeof navigator.language=="string"?[navigator.language]:[]}function Ul(e,t=TP()){const a=sc(e);if(a!==Ti)return a;const i=t.map(s=>typeof s=="string"?s.trim():"").find(s=>s.length>0);return i&&ck(i)||Fl}function Lh(){return sc(Io(ak)||Ti)}function EP(e){return Ao(ak,sc(e))}const RP=["key","module","page","component","slot","text"],DP={[ik]:{...yP,...kP},[ok]:{...bP,...wP},[sk]:{..._P,...xP},[lk]:{...PP,...SP}};let ad=null,Nh=Ul(Lh());function IP(e){const t=[];let a=[],i="",s=!1;for(let c=0;c<e.length;c+=1){const u=e[c];if(s){u==='"'?e[c+1]==='"'?(i+='"',c+=1):s=!1:i+=u;continue}if(u==='"'){s=!0;continue}if(u===","){a.push(i),i="";continue}if(u===`
|
|
601
|
+
`){a.push(i),i="",a.every(d=>d.trim()==="")||t.push(a),a=[];continue}u!=="\r"&&(i+=u)}return a.push(i),a.every(c=>c.trim()==="")||t.push(a),t}function AP(e){const t=IP(e);if(!t.length)return{map:new Map,rows:[]};const a=t[0].map(d=>String(d).trim());if(RP.filter(d=>!a.includes(d)).length)return{map:new Map,rows:[]};const s=Object.fromEntries(a.map((d,f)=>[d,f])),c=[],u=new Map;return t.slice(1).forEach((d,f)=>{const p={key:String(d[s.key]||"").trim(),module:String(d[s.module]||"").trim(),page:String(d[s.page]||"").trim(),component:String(d[s.component]||"").trim(),slot:String(d[s.slot]||"").trim(),text:String(d[s.text]??"").trim()};p.key&&(u.has(p.key),u.set(p.key,p),c.push(p))}),{map:u,rows:c}}function MP(){return ad||(ad=AP(vP)),ad}function LP(){return DP[Nh]||{}}function NP(e){const t=LP()[String(e)];return typeof t=="string"&&t.trim()?t:null}function jP(e,t){return t?e.replace(/\{\{(\w+)\}\}/g,(a,i)=>t[i]==null?a:String(t[i])):e}function OP(e){return String(e).replace(/\\n/g,`
|
|
602
|
+
`)}function zP(e,t){return NP(t)||e?.text||t}function VP(e){Nh=uk(e)}function P5(){return Nh}function He(e,t){const i=MP().map.get(e);return jP(OP(zP(i,e)),t)}const dk=b.createContext(null);function FP(){return Ul(Lh())}function UP(e){typeof document>"u"||(document.documentElement.lang=e)}function Lg(e,t){VP(e),t(a=>a===e?a:e)}function BP({children:e}){const[t,a]=b.useState(Lh),[i,s]=b.useState(FP);b.useLayoutEffect(()=>{UP(i)},[i]),b.useLayoutEffect(()=>{if(t!==Ti||typeof window>"u")return;const d=()=>Lg(Ul(Ti),s);return window.addEventListener("languagechange",d),()=>window.removeEventListener("languagechange",d)},[t]);const c=b.useCallback(d=>{const f=sc(d);Lg(Ul(f),s),a(f),EP(f)},[]),u=b.useMemo(()=>({locale:t,setLocale:c,resolvedLocale:i}),[t,i,c]);return L.jsx(dk.Provider,{value:u,children:e})}const Bo="USD",jh=["USD","EUR","GBP","CNY","JPY","HKD"],hk={USD:{symbol:"$",labelKey:"settings.appearance.currency.opt.usd"},EUR:{symbol:"€",labelKey:"settings.appearance.currency.opt.eur"},GBP:{symbol:"£",labelKey:"settings.appearance.currency.opt.gbp"},CNY:{symbol:"¥",labelKey:"settings.appearance.currency.opt.cny"},JPY:{symbol:"¥",labelKey:"settings.appearance.currency.opt.jpy"},HKD:{symbol:"HK$",labelKey:"settings.appearance.currency.opt.hkd"}},Oh={USD:1,EUR:.92,GBP:.79,CNY:7.2,JPY:155,HKD:7.8},fk="tokentracker-currency",pk="tokentracker-exchange-rates",mk="tokentracker-exchange-rate-source",gk="tokentracker-exchange-rate-fetched-at";function Md(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function zh(e){if(typeof e!="string")return Bo;const t=e.trim().toUpperCase();return jh.includes(t)?t:Bo}function HP(e){const t=typeof e=="string"?e.trim().toUpperCase():Bo;return hk[t]?.symbol??"$"}function S5(){return jh.map(e=>({code:e,...hk[e]}))}function $P(){return zh(Io(fk))}function WP(e){return Ao(fk,zh(e))}function vk(e){return e==="fetched"?"fetched":"default"}function GP(e){if(e==null)return null;try{const t=JSON.parse(String(e));if(!t||typeof t!="object")return null;const a={};for(const[i,s]of Object.entries(t)){const c=Number(s);Number.isFinite(c)&&c>0&&(a[i.toUpperCase()]=c)}return a}catch{return null}}function KP(){const e=GP(Io(pk)),t=Io(gk),a=t==null?NaN:Number(t),i=Number.isFinite(a)&&a>0?a:null,s=Io(mk),c=vk(s);return e&&Object.keys(e).length>0?{rates:{USD:1,...e},source:c,fetchedAt:i}:{rates:{...Oh},source:"default",fetchedAt:null}}function YP(e){const{rates:t,source:a,fetchedAt:i}=e;if(!t||typeof t!="object")return!1;const s=Ao(pk,JSON.stringify(t)),c=Ao(mk,vk(a)),u=i?Ao(gk,String(i)):!0;return s&&c&&u}function XP(e,t){if(t===Bo)return 1;const a=e?.[t];if(Md(a))return a;const i=Oh[t];return Md(i)?i:1}const ZP="https://open.er-api.com/v6/latest/USD",qP=1440*60*1e3,QP=5e3;function JP(e,t=qP,a=Date.now()){return!e||!Number.isFinite(e)?!0:a-e>t}async function eS(e={}){const{timeoutMs:t=QP,fetchImpl:a,url:i=ZP,codes:s=jh}=e,c=a??(typeof fetch<"u"?fetch:null);if(!c)throw new Error("fetch is not available");const u=typeof AbortController<"u"?new AbortController:null,d=u?setTimeout(()=>u.abort(),t):null;try{const f=await c(i,u?{signal:u.signal}:void 0);if(!f||!f.ok)throw new Error(`exchange rate fetch failed: ${f?.status??"no-response"}`);const g=(await f.json())?.rates;if(!g||typeof g!="object")throw new Error("exchange rate response missing rates");const v={USD:1};for(const y of s){if(y==="USD")continue;const w=g[y];Md(w)&&(v[y]=w)}if(Object.keys(v).length<=1)throw new Error("no supported currency rates in response");return{rates:v,fetchedAt:Date.now()}}finally{d&&clearTimeout(d)}}const tS=b.createContext(null);function nS({children:e}){const[t,a]=b.useState($P),i=b.useMemo(()=>KP(),[]),[s,c]=b.useState(i.rates),[u,d]=b.useState(i.source),[f,p]=b.useState(i.fetchedAt),g=b.useRef(!1),v=b.useRef(!1),y=b.useCallback((j,M,D)=>{c(j),d(M),p(D),YP({rates:j,source:M,fetchedAt:D})},[]),w=b.useCallback(async()=>{if(!g.current){g.current=!0;try{const{rates:j,fetchedAt:M}=await eS();y({...Oh,...j},"fetched",M)}catch{}finally{g.current=!1}}},[y]),_=b.useCallback(j=>{const M=zh(j);a(M),WP(M)},[]);b.useEffect(()=>{v.current||t!==Bo&&JP(f)&&(v.current=!0,w())},[t,f,w]);const P=b.useMemo(()=>XP(s,t),[s,t]),S=b.useMemo(()=>HP(t),[t]),N=b.useMemo(()=>({currency:t,rate:P,symbol:S,rates:s,rateSource:u,rateFetchedAt:f,setCurrency:_}),[t,P,S,s,u,f,_]);return L.jsx(tS.Provider,{value:N,children:e})}const rS="modulepreload",aS=function(e){return"/"+e},Ng={},Va=function(t,a,i){let s=Promise.resolve();if(a&&a.length>0){let f=function(p){return Promise.all(p.map(g=>Promise.resolve(g).then(v=>({status:"fulfilled",value:v}),v=>({status:"rejected",reason:v}))))};document.getElementsByTagName("link");const u=document.querySelector("meta[property=csp-nonce]"),d=u?.nonce||u?.getAttribute("nonce");s=f(a.map(p=>{if(p=aS(p),p in Ng)return;Ng[p]=!0;const g=p.endsWith(".css"),v=g?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${p}"]${v}`))return;const y=document.createElement("link");if(y.rel=g?"stylesheet":rS,g||(y.as="script"),y.crossOrigin="",y.href=p,d&&y.setAttribute("nonce",d),document.head.appendChild(y),g)return new Promise((w,_)=>{y.addEventListener("load",w),y.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${p}`)))})}))}function c(u){const d=new Event("vite:preloadError",{cancelable:!0});if(d.payload=u,window.dispatchEvent(d),!d.defaultPrevented)throw u}return s.then(u=>{for(const d of u||[])d.status==="rejected"&&c(d.reason);return t().catch(c)})};const yk=(...e)=>e.filter((t,a,i)=>!!t&&t.trim()!==""&&i.indexOf(t)===a).join(" ").trim();const iS=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const oS=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,i)=>i?i.toUpperCase():a.toLowerCase());const jg=e=>{const t=oS(e);return t.charAt(0).toUpperCase()+t.slice(1)};var id={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const sS=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},lS=b.createContext({}),cS=()=>b.useContext(lS),uS=b.forwardRef(({color:e,size:t,strokeWidth:a,absoluteStrokeWidth:i,className:s="",children:c,iconNode:u,...d},f)=>{const{size:p=24,strokeWidth:g=2,absoluteStrokeWidth:v=!1,color:y="currentColor",className:w=""}=cS()??{},_=i??v?Number(a??g)*24/Number(t??p):a??g;return b.createElement("svg",{ref:f,...id,width:t??p??id.width,height:t??p??id.height,stroke:e??y,strokeWidth:_,className:yk("lucide",w,s),...!c&&!sS(d)&&{"aria-hidden":"true"},...d},[...u.map(([P,S])=>b.createElement(P,S)),...Array.isArray(c)?c:[c]])});const Ut=(e,t)=>{const a=b.forwardRef(({className:i,...s},c)=>b.createElement(uS,{ref:c,iconNode:t,className:yk(`lucide-${iS(jg(e))}`,`lucide-${e}`,i),...s}));return a.displayName=jg(e),a};const dS=[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]],hS=Ut("chart-column",dS);const fS=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],pS=Ut("chevron-left",fS);const mS=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],gS=Ut("chevron-right",mS);const vS=[["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}],["path",{d:"m9 10-5 5 5 5",key:"1kshq7"}]],yS=Ut("corner-down-left",vS);const kS=[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]],bS=Ut("gauge",kS);const wS=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],_S=Ut("globe",wS);const xS=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],PS=Ut("menu",xS);const SS=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]],CS=Ut("monitor",SS);const TS=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],kk=Ut("moon",TS);const ES=[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]],RS=Ut("puzzle",ES);const DS=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],IS=Ut("refresh-cw",DS);const AS=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],MS=Ut("search",AS);const LS=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],NS=Ut("settings",LS);const jS=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],bk=Ut("sun",jS);const OS=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],zS=Ut("triangle-alert",OS);const VS=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],wk=Ut("x",VS);function FS({children:e,variant:t="primary",size:a="md",onClick:i,disabled:s=!1,className:c="",as:u="button",...d}){const f="inline-flex items-center justify-center font-medium transition-all duration-200 rounded-md focus:outline-none focus:ring-2 focus:ring-oai-blue/30 active:scale-[0.98] active:duration-100",p={primary:"bg-oai-black dark:bg-oai-white text-white dark:text-oai-black border border-transparent hover:bg-oai-gray-800 dark:hover:bg-oai-gray-200 active:bg-oai-gray-900 dark:active:bg-oai-gray-300 disabled:bg-oai-gray-300 dark:disabled:bg-oai-gray-700 disabled:text-oai-gray-500 dark:disabled:text-oai-gray-400 focus:ring-oai-brand/30 transition-colors duration-200",secondary:"bg-oai-white dark:bg-oai-gray-900 text-oai-black dark:text-oai-white border border-oai-gray-300 dark:border-oai-gray-700 hover:border-oai-brand hover:text-oai-brand active:bg-oai-gray-50 dark:active:bg-oai-gray-800 active:border-oai-brand-dark disabled:text-oai-gray-400 dark:disabled:text-oai-gray-500 disabled:border-oai-gray-200 dark:disabled:border-oai-gray-700 focus:ring-oai-brand/30 transition-colors duration-200",ghost:"bg-transparent text-oai-gray-600 dark:text-oai-gray-300 border border-transparent hover:text-oai-brand hover:bg-oai-brand-50/50 dark:hover:bg-oai-brand-950/30 active:bg-oai-brand-50 dark:active:bg-oai-brand-900/50 disabled:text-oai-gray-400 dark:disabled:text-oai-gray-500 focus:ring-oai-brand/30 transition-colors duration-200"},g={sm:"h-8 px-3 text-sm",md:"h-10 px-4 text-sm",lg:"h-12 px-6 text-base"},v=s?"cursor-not-allowed opacity-60":"cursor-pointer",y=`${f} ${p[t]} ${g[a]} ${v} ${c}`;return L.jsx(u,{className:y,onClick:i,disabled:s,...d,children:e})}class US extends yh.Component{constructor(t){super(t),this.state={error:null},this.handleReload=this.handleReload.bind(this)}static getDerivedStateFromError(t){return{error:t}}componentDidCatch(t,a){console.error("ErrorBoundary caught an error:",t)}handleReload(){typeof window>"u"||window.location.reload()}render(){const{error:t}=this.state;if(!t)return this.props.children;const a=String(t?.message||t||""),i=a?He("shared.error.prefix",{error:a}):He("error.boundary.no_details");return L.jsx("div",{className:"flex min-h-screen items-center justify-center bg-oai-white p-6 font-oai text-oai-black antialiased dark:bg-oai-gray-950 dark:text-oai-white",children:L.jsxs("div",{className:"w-full max-w-lg rounded-xl border border-oai-gray-200 bg-white p-6 text-center shadow-sm dark:border-oai-gray-800 dark:bg-oai-gray-900",children:[L.jsx("div",{className:"mx-auto flex h-10 w-10 items-center justify-center rounded-full bg-amber-50 text-amber-600 dark:bg-amber-950/30 dark:text-amber-300",children:L.jsx(zS,{className:"h-5 w-5","aria-hidden":!0})}),L.jsx("div",{className:"mt-4 text-xs font-medium uppercase text-oai-gray-500 dark:text-oai-gray-400",children:He("error.boundary.title")}),L.jsx("h1",{className:"mt-2 text-xl font-semibold text-oai-black dark:text-white",children:He("error.boundary.subtitle")}),L.jsx("p",{className:"mt-2 text-sm text-oai-gray-500 dark:text-oai-gray-400",children:He("error.boundary.hint")}),L.jsx("div",{className:"mt-4 max-h-32 overflow-auto rounded-lg border border-oai-gray-200 bg-oai-gray-50 px-3 py-2 text-left text-xs leading-5 text-oai-gray-600 dark:border-oai-gray-800 dark:bg-oai-gray-950 dark:text-oai-gray-300",children:i}),L.jsxs(FS,{type:"button",size:"md",onClick:this.handleReload,className:"mt-5",children:[L.jsx(IS,{className:"mr-2 h-4 w-4","aria-hidden":!0}),He("error.boundary.action.reload")]})]})})}}function _k(){const e=b.useContext(dk);if(e===null)throw new Error("useLocale must be used within a LocaleProvider");return e}const Ld="tokentracker-theme",xk=b.createContext(null);function BS(){if(typeof window>"u")return"system";try{const e=localStorage.getItem(Ld);if(e==="light"||e==="dark"||e==="system")return e}catch{}return"system"}function Og(){return typeof window>"u"?"light":window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function HS(e){typeof document>"u"||document.documentElement.classList.toggle("dark",e==="dark")}function $S({children:e}){const[t,a]=b.useState(BS),[i,s]=b.useState(()=>t==="system"?Og():t);b.useEffect(()=>{HS(i)},[i]),b.useLayoutEffect(()=>{s(t==="system"?Og():t)},[t]),b.useEffect(()=>{if(typeof window>"u"||t!=="system")return;const f=window.matchMedia("(prefers-color-scheme: dark)"),p=g=>s(g.matches?"dark":"light");return f.addEventListener?(f.addEventListener("change",p),()=>f.removeEventListener("change",p)):(f.addListener(p),()=>f.removeListener(p))},[t]);const c=b.useCallback(f=>{if(a(f),!(typeof window>"u"))try{localStorage.setItem(Ld,f)}catch{}},[]),u=b.useCallback(()=>{a(f=>{const p=f==="dark"?"light":"dark";if(typeof window<"u")try{localStorage.setItem(Ld,p)}catch{}return p})},[]),d=b.useMemo(()=>({theme:t,setTheme:c,toggleTheme:u,resolvedTheme:i}),[t,c,u,i]);return L.jsx(xk.Provider,{value:d,children:e})}function WS(){return""}function GS(e=""){if(typeof e!="string"||e.length===0)return!1;const t=new URLSearchParams(e),a=String(t.get("screenshot")||"").toLowerCase();return a==="1"||a==="true"}function Pk(e){var t,a,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(a=Pk(e[t]))&&(i&&(i+=" "),i+=a)}else for(a in e)e[a]&&(i&&(i+=" "),i+=a);return i}function KS(){for(var e,t,a=0,i="",s=arguments.length;a<s;a++)(e=arguments[a])&&(t=Pk(e))&&(i&&(i+=" "),i+=t);return i}const YS=(e,t)=>{const a=new Array(e.length+t.length);for(let i=0;i<e.length;i++)a[i]=e[i];for(let i=0;i<t.length;i++)a[e.length+i]=t[i];return a},XS=(e,t)=>({classGroupId:e,validator:t}),Sk=(e=new Map,t=null,a)=>({nextPart:e,validators:t,classGroupId:a}),Bl="-",zg=[],ZS="arbitrary..",qS=e=>{const t=JS(e),{conflictingClassGroups:a,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:u=>{if(u.startsWith("[")&&u.endsWith("]"))return QS(u);const d=u.split(Bl),f=d[0]===""&&d.length>1?1:0;return Ck(d,f,t)},getConflictingClassGroupIds:(u,d)=>{if(d){const f=i[u],p=a[u];return f?p?YS(p,f):f:p||zg}return a[u]||zg}}},Ck=(e,t,a)=>{if(e.length-t===0)return a.classGroupId;const s=e[t],c=a.nextPart.get(s);if(c){const p=Ck(e,t+1,c);if(p)return p}const u=a.validators;if(u===null)return;const d=t===0?e.join(Bl):e.slice(t).join(Bl),f=u.length;for(let p=0;p<f;p++){const g=u[p];if(g.validator(d))return g.classGroupId}},QS=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),a=t.indexOf(":"),i=t.slice(0,a);return i?ZS+i:void 0})(),JS=e=>{const{theme:t,classGroups:a}=e;return eC(a,t)},eC=(e,t)=>{const a=Sk();for(const i in e){const s=e[i];Vh(s,a,i,t)}return a},Vh=(e,t,a,i)=>{const s=e.length;for(let c=0;c<s;c++){const u=e[c];tC(u,t,a,i)}},tC=(e,t,a,i)=>{if(typeof e=="string"){nC(e,t,a);return}if(typeof e=="function"){rC(e,t,a,i);return}aC(e,t,a,i)},nC=(e,t,a)=>{const i=e===""?t:Tk(t,e);i.classGroupId=a},rC=(e,t,a,i)=>{if(iC(e)){Vh(e(i),t,a,i);return}t.validators===null&&(t.validators=[]),t.validators.push(XS(a,e))},aC=(e,t,a,i)=>{const s=Object.entries(e),c=s.length;for(let u=0;u<c;u++){const[d,f]=s[u];Vh(f,Tk(t,d),a,i)}},Tk=(e,t)=>{let a=e;const i=t.split(Bl),s=i.length;for(let c=0;c<s;c++){const u=i[c];let d=a.nextPart.get(u);d||(d=Sk(),a.nextPart.set(u,d)),a=d}return a},iC=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,oC=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,a=Object.create(null),i=Object.create(null);const s=(c,u)=>{a[c]=u,t++,t>e&&(t=0,i=a,a=Object.create(null))};return{get(c){let u=a[c];if(u!==void 0)return u;if((u=i[c])!==void 0)return s(c,u),u},set(c,u){c in a?a[c]=u:s(c,u)}}},Nd="!",Vg=":",sC=[],Fg=(e,t,a,i,s)=>({modifiers:e,hasImportantModifier:t,baseClassName:a,maybePostfixModifierPosition:i,isExternal:s}),lC=e=>{const{prefix:t,experimentalParseClassName:a}=e;let i=s=>{const c=[];let u=0,d=0,f=0,p;const g=s.length;for(let P=0;P<g;P++){const S=s[P];if(u===0&&d===0){if(S===Vg){c.push(s.slice(f,P)),f=P+1;continue}if(S==="/"){p=P;continue}}S==="["?u++:S==="]"?u--:S==="("?d++:S===")"&&d--}const v=c.length===0?s:s.slice(f);let y=v,w=!1;v.endsWith(Nd)?(y=v.slice(0,-1),w=!0):v.startsWith(Nd)&&(y=v.slice(1),w=!0);const _=p&&p>f?p-f:void 0;return Fg(c,w,y,_)};if(t){const s=t+Vg,c=i;i=u=>u.startsWith(s)?c(u.slice(s.length)):Fg(sC,!1,u,void 0,!0)}if(a){const s=i;i=c=>a({className:c,parseClassName:s})}return i},cC=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((a,i)=>{t.set(a,1e6+i)}),a=>{const i=[];let s=[];for(let c=0;c<a.length;c++){const u=a[c],d=u[0]==="[",f=t.has(u);d||f?(s.length>0&&(s.sort(),i.push(...s),s=[]),i.push(u)):s.push(u)}return s.length>0&&(s.sort(),i.push(...s)),i}},uC=e=>({cache:oC(e.cacheSize),parseClassName:lC(e),sortModifiers:cC(e),...qS(e)}),dC=/\s+/,hC=(e,t)=>{const{parseClassName:a,getClassGroupId:i,getConflictingClassGroupIds:s,sortModifiers:c}=t,u=[],d=e.trim().split(dC);let f="";for(let p=d.length-1;p>=0;p-=1){const g=d[p],{isExternal:v,modifiers:y,hasImportantModifier:w,baseClassName:_,maybePostfixModifierPosition:P}=a(g);if(v){f=g+(f.length>0?" "+f:f);continue}let S=!!P,N=i(S?_.substring(0,P):_);if(!N){if(!S){f=g+(f.length>0?" "+f:f);continue}if(N=i(_),!N){f=g+(f.length>0?" "+f:f);continue}S=!1}const j=y.length===0?"":y.length===1?y[0]:c(y).join(":"),M=w?j+Nd:j,D=M+N;if(u.indexOf(D)>-1)continue;u.push(D);const B=s(N,S);for(let Z=0;Z<B.length;++Z){const oe=B[Z];u.push(M+oe)}f=g+(f.length>0?" "+f:f)}return f},fC=(...e)=>{let t=0,a,i,s="";for(;t<e.length;)(a=e[t++])&&(i=Ek(a))&&(s&&(s+=" "),s+=i);return s},Ek=e=>{if(typeof e=="string")return e;let t,a="";for(let i=0;i<e.length;i++)e[i]&&(t=Ek(e[i]))&&(a&&(a+=" "),a+=t);return a},pC=(e,...t)=>{let a,i,s,c;const u=f=>{const p=t.reduce((g,v)=>v(g),e());return a=uC(p),i=a.cache.get,s=a.cache.set,c=d,d(f)},d=f=>{const p=i(f);if(p)return p;const g=hC(f,a);return s(f,g),g};return c=u,(...f)=>c(fC(...f))},mC=[],_t=e=>{const t=a=>a[e]||mC;return t.isThemeGetter=!0,t},Rk=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Dk=/^\((?:(\w[\w-]*):)?(.+)\)$/i,gC=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,vC=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,yC=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,kC=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,bC=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,wC=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Gr=e=>gC.test(e),Oe=e=>!!e&&!Number.isNaN(Number(e)),Kr=e=>!!e&&Number.isInteger(Number(e)),od=e=>e.endsWith("%")&&Oe(e.slice(0,-1)),yr=e=>vC.test(e),Ik=()=>!0,_C=e=>yC.test(e)&&!kC.test(e),Fh=()=>!1,xC=e=>bC.test(e),PC=e=>wC.test(e),SC=e=>!ve(e)&&!ke(e),CC=e=>ia(e,Lk,Fh),ve=e=>Rk.test(e),Sa=e=>ia(e,Nk,_C),Ug=e=>ia(e,LC,Oe),TC=e=>ia(e,Ok,Ik),EC=e=>ia(e,jk,Fh),Bg=e=>ia(e,Ak,Fh),RC=e=>ia(e,Mk,PC),gl=e=>ia(e,zk,xC),ke=e=>Dk.test(e),_o=e=>Fa(e,Nk),DC=e=>Fa(e,jk),Hg=e=>Fa(e,Ak),IC=e=>Fa(e,Lk),AC=e=>Fa(e,Mk),vl=e=>Fa(e,zk,!0),MC=e=>Fa(e,Ok,!0),ia=(e,t,a)=>{const i=Rk.exec(e);return i?i[1]?t(i[1]):a(i[2]):!1},Fa=(e,t,a=!1)=>{const i=Dk.exec(e);return i?i[1]?t(i[1]):a:!1},Ak=e=>e==="position"||e==="percentage",Mk=e=>e==="image"||e==="url",Lk=e=>e==="length"||e==="size"||e==="bg-size",Nk=e=>e==="length",LC=e=>e==="number",jk=e=>e==="family-name",Ok=e=>e==="number"||e==="weight",zk=e=>e==="shadow",NC=()=>{const e=_t("color"),t=_t("font"),a=_t("text"),i=_t("font-weight"),s=_t("tracking"),c=_t("leading"),u=_t("breakpoint"),d=_t("container"),f=_t("spacing"),p=_t("radius"),g=_t("shadow"),v=_t("inset-shadow"),y=_t("text-shadow"),w=_t("drop-shadow"),_=_t("blur"),P=_t("perspective"),S=_t("aspect"),N=_t("ease"),j=_t("animate"),M=()=>["auto","avoid","all","avoid-page","page","left","right","column"],D=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],B=()=>[...D(),ke,ve],Z=()=>["auto","hidden","clip","visible","scroll"],oe=()=>["auto","contain","none"],x=()=>[ke,ve,f],ee=()=>[Gr,"full","auto",...x()],Y=()=>[Kr,"none","subgrid",ke,ve],ue=()=>["auto",{span:["full",Kr,ke,ve]},Kr,ke,ve],se=()=>[Kr,"auto",ke,ve],q=()=>["auto","min","max","fr",ke,ve],ae=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],ie=()=>["start","end","center","stretch","center-safe","end-safe"],Q=()=>["auto",...x()],ne=()=>[Gr,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...x()],V=()=>[Gr,"screen","full","dvw","lvw","svw","min","max","fit",...x()],$=()=>[Gr,"screen","full","lh","dvh","lvh","svh","min","max","fit",...x()],O=()=>[e,ke,ve],E=()=>[...D(),Hg,Bg,{position:[ke,ve]}],W=()=>["no-repeat",{repeat:["","x","y","space","round"]}],de=()=>["auto","cover","contain",IC,CC,{size:[ke,ve]}],fe=()=>[od,_o,Sa],he=()=>["","none","full",p,ke,ve],pe=()=>["",Oe,_o,Sa],De=()=>["solid","dashed","dotted","double"],je=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Ce=()=>[Oe,od,Hg,Bg],ut=()=>["","none",_,ke,ve],an=()=>["none",Oe,ke,ve],Xt=()=>["none",Oe,ke,ve],qe=()=>[Oe,ke,ve],Et=()=>[Gr,"full",...x()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[yr],breakpoint:[yr],color:[Ik],container:[yr],"drop-shadow":[yr],ease:["in","out","in-out"],font:[SC],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[yr],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[yr],shadow:[yr],spacing:["px",Oe],text:[yr],"text-shadow":[yr],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Gr,ve,ke,S]}],container:["container"],columns:[{columns:[Oe,ve,ke,d]}],"break-after":[{"break-after":M()}],"break-before":[{"break-before":M()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:B()}],overflow:[{overflow:Z()}],"overflow-x":[{"overflow-x":Z()}],"overflow-y":[{"overflow-y":Z()}],overscroll:[{overscroll:oe()}],"overscroll-x":[{"overscroll-x":oe()}],"overscroll-y":[{"overscroll-y":oe()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:ee()}],"inset-x":[{"inset-x":ee()}],"inset-y":[{"inset-y":ee()}],start:[{"inset-s":ee(),start:ee()}],end:[{"inset-e":ee(),end:ee()}],"inset-bs":[{"inset-bs":ee()}],"inset-be":[{"inset-be":ee()}],top:[{top:ee()}],right:[{right:ee()}],bottom:[{bottom:ee()}],left:[{left:ee()}],visibility:["visible","invisible","collapse"],z:[{z:[Kr,"auto",ke,ve]}],basis:[{basis:[Gr,"full","auto",d,...x()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Oe,Gr,"auto","initial","none",ve]}],grow:[{grow:["",Oe,ke,ve]}],shrink:[{shrink:["",Oe,ke,ve]}],order:[{order:[Kr,"first","last","none",ke,ve]}],"grid-cols":[{"grid-cols":Y()}],"col-start-end":[{col:ue()}],"col-start":[{"col-start":se()}],"col-end":[{"col-end":se()}],"grid-rows":[{"grid-rows":Y()}],"row-start-end":[{row:ue()}],"row-start":[{"row-start":se()}],"row-end":[{"row-end":se()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":q()}],"auto-rows":[{"auto-rows":q()}],gap:[{gap:x()}],"gap-x":[{"gap-x":x()}],"gap-y":[{"gap-y":x()}],"justify-content":[{justify:[...ae(),"normal"]}],"justify-items":[{"justify-items":[...ie(),"normal"]}],"justify-self":[{"justify-self":["auto",...ie()]}],"align-content":[{content:["normal",...ae()]}],"align-items":[{items:[...ie(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...ie(),{baseline:["","last"]}]}],"place-content":[{"place-content":ae()}],"place-items":[{"place-items":[...ie(),"baseline"]}],"place-self":[{"place-self":["auto",...ie()]}],p:[{p:x()}],px:[{px:x()}],py:[{py:x()}],ps:[{ps:x()}],pe:[{pe:x()}],pbs:[{pbs:x()}],pbe:[{pbe:x()}],pt:[{pt:x()}],pr:[{pr:x()}],pb:[{pb:x()}],pl:[{pl:x()}],m:[{m:Q()}],mx:[{mx:Q()}],my:[{my:Q()}],ms:[{ms:Q()}],me:[{me:Q()}],mbs:[{mbs:Q()}],mbe:[{mbe:Q()}],mt:[{mt:Q()}],mr:[{mr:Q()}],mb:[{mb:Q()}],ml:[{ml:Q()}],"space-x":[{"space-x":x()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":x()}],"space-y-reverse":["space-y-reverse"],size:[{size:ne()}],"inline-size":[{inline:["auto",...V()]}],"min-inline-size":[{"min-inline":["auto",...V()]}],"max-inline-size":[{"max-inline":["none",...V()]}],"block-size":[{block:["auto",...$()]}],"min-block-size":[{"min-block":["auto",...$()]}],"max-block-size":[{"max-block":["none",...$()]}],w:[{w:[d,"screen",...ne()]}],"min-w":[{"min-w":[d,"screen","none",...ne()]}],"max-w":[{"max-w":[d,"screen","none","prose",{screen:[u]},...ne()]}],h:[{h:["screen","lh",...ne()]}],"min-h":[{"min-h":["screen","lh","none",...ne()]}],"max-h":[{"max-h":["screen","lh",...ne()]}],"font-size":[{text:["base",a,_o,Sa]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,MC,TC]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",od,ve]}],"font-family":[{font:[DC,EC,t]}],"font-features":[{"font-features":[ve]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,ke,ve]}],"line-clamp":[{"line-clamp":[Oe,"none",ke,Ug]}],leading:[{leading:[c,...x()]}],"list-image":[{"list-image":["none",ke,ve]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ke,ve]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:O()}],"text-color":[{text:O()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...De(),"wavy"]}],"text-decoration-thickness":[{decoration:[Oe,"from-font","auto",ke,Sa]}],"text-decoration-color":[{decoration:O()}],"underline-offset":[{"underline-offset":[Oe,"auto",ke,ve]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:x()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ke,ve]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ke,ve]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:E()}],"bg-repeat":[{bg:W()}],"bg-size":[{bg:de()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Kr,ke,ve],radial:["",ke,ve],conic:[Kr,ke,ve]},AC,RC]}],"bg-color":[{bg:O()}],"gradient-from-pos":[{from:fe()}],"gradient-via-pos":[{via:fe()}],"gradient-to-pos":[{to:fe()}],"gradient-from":[{from:O()}],"gradient-via":[{via:O()}],"gradient-to":[{to:O()}],rounded:[{rounded:he()}],"rounded-s":[{"rounded-s":he()}],"rounded-e":[{"rounded-e":he()}],"rounded-t":[{"rounded-t":he()}],"rounded-r":[{"rounded-r":he()}],"rounded-b":[{"rounded-b":he()}],"rounded-l":[{"rounded-l":he()}],"rounded-ss":[{"rounded-ss":he()}],"rounded-se":[{"rounded-se":he()}],"rounded-ee":[{"rounded-ee":he()}],"rounded-es":[{"rounded-es":he()}],"rounded-tl":[{"rounded-tl":he()}],"rounded-tr":[{"rounded-tr":he()}],"rounded-br":[{"rounded-br":he()}],"rounded-bl":[{"rounded-bl":he()}],"border-w":[{border:pe()}],"border-w-x":[{"border-x":pe()}],"border-w-y":[{"border-y":pe()}],"border-w-s":[{"border-s":pe()}],"border-w-e":[{"border-e":pe()}],"border-w-bs":[{"border-bs":pe()}],"border-w-be":[{"border-be":pe()}],"border-w-t":[{"border-t":pe()}],"border-w-r":[{"border-r":pe()}],"border-w-b":[{"border-b":pe()}],"border-w-l":[{"border-l":pe()}],"divide-x":[{"divide-x":pe()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":pe()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...De(),"hidden","none"]}],"divide-style":[{divide:[...De(),"hidden","none"]}],"border-color":[{border:O()}],"border-color-x":[{"border-x":O()}],"border-color-y":[{"border-y":O()}],"border-color-s":[{"border-s":O()}],"border-color-e":[{"border-e":O()}],"border-color-bs":[{"border-bs":O()}],"border-color-be":[{"border-be":O()}],"border-color-t":[{"border-t":O()}],"border-color-r":[{"border-r":O()}],"border-color-b":[{"border-b":O()}],"border-color-l":[{"border-l":O()}],"divide-color":[{divide:O()}],"outline-style":[{outline:[...De(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Oe,ke,ve]}],"outline-w":[{outline:["",Oe,_o,Sa]}],"outline-color":[{outline:O()}],shadow:[{shadow:["","none",g,vl,gl]}],"shadow-color":[{shadow:O()}],"inset-shadow":[{"inset-shadow":["none",v,vl,gl]}],"inset-shadow-color":[{"inset-shadow":O()}],"ring-w":[{ring:pe()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:O()}],"ring-offset-w":[{"ring-offset":[Oe,Sa]}],"ring-offset-color":[{"ring-offset":O()}],"inset-ring-w":[{"inset-ring":pe()}],"inset-ring-color":[{"inset-ring":O()}],"text-shadow":[{"text-shadow":["none",y,vl,gl]}],"text-shadow-color":[{"text-shadow":O()}],opacity:[{opacity:[Oe,ke,ve]}],"mix-blend":[{"mix-blend":[...je(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":je()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Oe]}],"mask-image-linear-from-pos":[{"mask-linear-from":Ce()}],"mask-image-linear-to-pos":[{"mask-linear-to":Ce()}],"mask-image-linear-from-color":[{"mask-linear-from":O()}],"mask-image-linear-to-color":[{"mask-linear-to":O()}],"mask-image-t-from-pos":[{"mask-t-from":Ce()}],"mask-image-t-to-pos":[{"mask-t-to":Ce()}],"mask-image-t-from-color":[{"mask-t-from":O()}],"mask-image-t-to-color":[{"mask-t-to":O()}],"mask-image-r-from-pos":[{"mask-r-from":Ce()}],"mask-image-r-to-pos":[{"mask-r-to":Ce()}],"mask-image-r-from-color":[{"mask-r-from":O()}],"mask-image-r-to-color":[{"mask-r-to":O()}],"mask-image-b-from-pos":[{"mask-b-from":Ce()}],"mask-image-b-to-pos":[{"mask-b-to":Ce()}],"mask-image-b-from-color":[{"mask-b-from":O()}],"mask-image-b-to-color":[{"mask-b-to":O()}],"mask-image-l-from-pos":[{"mask-l-from":Ce()}],"mask-image-l-to-pos":[{"mask-l-to":Ce()}],"mask-image-l-from-color":[{"mask-l-from":O()}],"mask-image-l-to-color":[{"mask-l-to":O()}],"mask-image-x-from-pos":[{"mask-x-from":Ce()}],"mask-image-x-to-pos":[{"mask-x-to":Ce()}],"mask-image-x-from-color":[{"mask-x-from":O()}],"mask-image-x-to-color":[{"mask-x-to":O()}],"mask-image-y-from-pos":[{"mask-y-from":Ce()}],"mask-image-y-to-pos":[{"mask-y-to":Ce()}],"mask-image-y-from-color":[{"mask-y-from":O()}],"mask-image-y-to-color":[{"mask-y-to":O()}],"mask-image-radial":[{"mask-radial":[ke,ve]}],"mask-image-radial-from-pos":[{"mask-radial-from":Ce()}],"mask-image-radial-to-pos":[{"mask-radial-to":Ce()}],"mask-image-radial-from-color":[{"mask-radial-from":O()}],"mask-image-radial-to-color":[{"mask-radial-to":O()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":D()}],"mask-image-conic-pos":[{"mask-conic":[Oe]}],"mask-image-conic-from-pos":[{"mask-conic-from":Ce()}],"mask-image-conic-to-pos":[{"mask-conic-to":Ce()}],"mask-image-conic-from-color":[{"mask-conic-from":O()}],"mask-image-conic-to-color":[{"mask-conic-to":O()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:E()}],"mask-repeat":[{mask:W()}],"mask-size":[{mask:de()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ke,ve]}],filter:[{filter:["","none",ke,ve]}],blur:[{blur:ut()}],brightness:[{brightness:[Oe,ke,ve]}],contrast:[{contrast:[Oe,ke,ve]}],"drop-shadow":[{"drop-shadow":["","none",w,vl,gl]}],"drop-shadow-color":[{"drop-shadow":O()}],grayscale:[{grayscale:["",Oe,ke,ve]}],"hue-rotate":[{"hue-rotate":[Oe,ke,ve]}],invert:[{invert:["",Oe,ke,ve]}],saturate:[{saturate:[Oe,ke,ve]}],sepia:[{sepia:["",Oe,ke,ve]}],"backdrop-filter":[{"backdrop-filter":["","none",ke,ve]}],"backdrop-blur":[{"backdrop-blur":ut()}],"backdrop-brightness":[{"backdrop-brightness":[Oe,ke,ve]}],"backdrop-contrast":[{"backdrop-contrast":[Oe,ke,ve]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Oe,ke,ve]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Oe,ke,ve]}],"backdrop-invert":[{"backdrop-invert":["",Oe,ke,ve]}],"backdrop-opacity":[{"backdrop-opacity":[Oe,ke,ve]}],"backdrop-saturate":[{"backdrop-saturate":[Oe,ke,ve]}],"backdrop-sepia":[{"backdrop-sepia":["",Oe,ke,ve]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":x()}],"border-spacing-x":[{"border-spacing-x":x()}],"border-spacing-y":[{"border-spacing-y":x()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ke,ve]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Oe,"initial",ke,ve]}],ease:[{ease:["linear","initial",N,ke,ve]}],delay:[{delay:[Oe,ke,ve]}],animate:[{animate:["none",j,ke,ve]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[P,ke,ve]}],"perspective-origin":[{"perspective-origin":B()}],rotate:[{rotate:an()}],"rotate-x":[{"rotate-x":an()}],"rotate-y":[{"rotate-y":an()}],"rotate-z":[{"rotate-z":an()}],scale:[{scale:Xt()}],"scale-x":[{"scale-x":Xt()}],"scale-y":[{"scale-y":Xt()}],"scale-z":[{"scale-z":Xt()}],"scale-3d":["scale-3d"],skew:[{skew:qe()}],"skew-x":[{"skew-x":qe()}],"skew-y":[{"skew-y":qe()}],transform:[{transform:[ke,ve,"","none","gpu","cpu"]}],"transform-origin":[{origin:B()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Et()}],"translate-x":[{"translate-x":Et()}],"translate-y":[{"translate-y":Et()}],"translate-z":[{"translate-z":Et()}],"translate-none":["translate-none"],accent:[{accent:O()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:O()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ke,ve]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":x()}],"scroll-mx":[{"scroll-mx":x()}],"scroll-my":[{"scroll-my":x()}],"scroll-ms":[{"scroll-ms":x()}],"scroll-me":[{"scroll-me":x()}],"scroll-mbs":[{"scroll-mbs":x()}],"scroll-mbe":[{"scroll-mbe":x()}],"scroll-mt":[{"scroll-mt":x()}],"scroll-mr":[{"scroll-mr":x()}],"scroll-mb":[{"scroll-mb":x()}],"scroll-ml":[{"scroll-ml":x()}],"scroll-p":[{"scroll-p":x()}],"scroll-px":[{"scroll-px":x()}],"scroll-py":[{"scroll-py":x()}],"scroll-ps":[{"scroll-ps":x()}],"scroll-pe":[{"scroll-pe":x()}],"scroll-pbs":[{"scroll-pbs":x()}],"scroll-pbe":[{"scroll-pbe":x()}],"scroll-pt":[{"scroll-pt":x()}],"scroll-pr":[{"scroll-pr":x()}],"scroll-pb":[{"scroll-pb":x()}],"scroll-pl":[{"scroll-pl":x()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ke,ve]}],fill:[{fill:["none",...O()]}],"stroke-w":[{stroke:[Oe,_o,Sa,Ug]}],stroke:[{stroke:["none",...O()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},jC=pC(NC);function nr(...e){return jC(KS(e))}function OC(){const e=b.useContext(xk);if(e===null)throw new Error("useTheme must be used within a ThemeProvider");return e}const jd="tt.sidebarCollapsed",sd="0.39.52".trim();function Vk(){const e=[{id:"usage",to:"/dashboard",icon:hS,label:He("nav.usage")},{id:"limits",to:"/limits",icon:bS,label:He("nav.limits")}];return[{id:"general",label:He("nav.group.general"),items:e},{id:"tools",label:He("nav.group.tools"),items:[{id:"skills",to:"/skills",icon:RS,label:He("nav.skills")},{id:"ip-check",to:"/ip-check",icon:_S,label:He("nav.ip_check")}]},{id:"account",label:He("nav.group.account"),items:[{id:"settings",to:"/settings",icon:NS,label:He("nav.settings")}]}]}function zC(){if(typeof window>"u")return!0;try{const e=window.localStorage.getItem(jd);return e!=="0"}catch{return!0}}function VC(){const[e,t]=b.useState(zC),a=b.useCallback(()=>{t(i=>{const s=!i;try{typeof window<"u"&&window.localStorage.setItem(jd,s?"1":"0")}catch{}return s})},[]);return b.useEffect(()=>{if(typeof window>"u")return;const i=s=>{s.key===jd&&t(s.newValue!=="0")};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)},[]),{collapsed:e,toggle:a}}function FC(e,t){const a=e.replace(/\/+$/,"")||"/";return t==="/dashboard"?a==="/dashboard"||a==="/":a===t}function UC({label:e,collapsed:t,first:a}){return t?a?null:L.jsx("div",{className:"mx-2 my-2 h-px bg-oai-gray-200/70 dark:bg-oai-gray-800/70","aria-hidden":!0}):L.jsx("div",{className:nr("px-3 pb-1 text-[10px] uppercase tracking-wider text-oai-gray-500 dark:text-oai-gray-500",a?"pt-2":"pt-4"),children:e})}function BC({item:e,collapsed:t,active:a,onClick:i}){const s=e.icon;return L.jsxs(oc,{to:e.to,onClick:i,title:t?e.label:void 0,"aria-current":a?"page":void 0,className:nr("flex items-center gap-2 rounded-md px-2 py-1.5 text-[13px] no-underline transition-colors",t&&"justify-center px-0 py-2",a?"bg-oai-gray-200/70 text-oai-black font-medium dark:bg-oai-gray-800 dark:text-white":"text-oai-gray-600 dark:text-oai-gray-400 hover:bg-oai-gray-200/50 hover:text-oai-black dark:hover:bg-oai-gray-800/60 dark:hover:text-white"),children:[L.jsx("span",{className:"flex h-5 w-5 shrink-0 items-center justify-center",children:L.jsx(s,{className:"h-[15px] w-[15px]","aria-hidden":!0})}),!t&&L.jsx("span",{className:"truncate",children:e.label})]})}function HC({collapsed:e}){if(!sd)return null;const t=He("nav.version",{version:sd});return L.jsx("div",{className:nr("px-2 text-[10px] font-medium tabular-nums text-oai-gray-400 dark:text-oai-gray-600",e?"text-center":"truncate"),title:t,"aria-label":t,children:`v${sd}`})}function $C({as:e="button",title:t,onClick:a,href:i,children:s,className:c,...u}){const d=nr("flex h-10 w-10 items-center justify-center rounded-lg text-oai-gray-600 dark:text-oai-gray-400 hover:bg-oai-gray-200/60 dark:hover:bg-oai-gray-800 hover:text-oai-black dark:hover:text-white transition-colors no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500",c);return e==="a"?L.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",title:t,"aria-label":t,className:d,...u,children:s}):L.jsx("button",{type:"button",title:t,"aria-label":t,onClick:a,className:d,...u,children:s})}const WC=[{value:"light",label:"Light",Icon:bk},{value:"dark",label:"Dark",Icon:kk},{value:"system",label:"System",Icon:CS}];function GC({theme:e,resolvedTheme:t,onSetTheme:a,glassChrome:i=!1}){const[s,c]=b.useState(!1),u=b.useRef(null),d=t==="dark"?kk:bk;return b.useEffect(()=>{if(!s)return;const f=g=>{u.current&&!u.current.contains(g.target)&&c(!1)},p=g=>{g.key==="Escape"&&c(!1)};return document.addEventListener("mousedown",f),document.addEventListener("keydown",p),()=>{document.removeEventListener("mousedown",f),document.removeEventListener("keydown",p)}},[s]),L.jsxs("div",{ref:u,className:"relative",children:[L.jsx("button",{type:"button","aria-label":"Theme","aria-expanded":s,"aria-haspopup":"menu",title:"Theme",onClick:()=>c(f=>!f),className:nr("inline-flex h-7 w-7 items-center justify-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500",i?"border border-gray-500/20 dark:border-gray-500/30 bg-gray-500/[0.04] dark:bg-gray-500/[0.06] backdrop-blur-[2px] text-oai-gray-700 dark:text-oai-gray-300 hover:bg-gray-500/10 dark:hover:bg-gray-500/12 hover:border-gray-500/30 dark:hover:border-gray-500/40 hover:text-oai-black dark:hover:text-white":"border border-oai-gray-200 dark:border-oai-gray-700 text-oai-gray-600 dark:text-oai-gray-400 hover:bg-oai-gray-200/60 dark:hover:bg-oai-gray-800 hover:text-oai-black dark:hover:text-white hover:border-oai-gray-300 dark:hover:border-oai-gray-600"),children:L.jsx(d,{className:"h-3.5 w-3.5","aria-hidden":!0})}),s&&L.jsx("div",{role:"menu",className:"absolute bottom-full left-0 mb-2 z-50 min-w-[140px] py-1 rounded-lg border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 shadow-lg",children:WC.map(({value:f,label:p,Icon:g})=>{const v=e===f;return L.jsxs("button",{type:"button",role:"menuitem",onClick:()=>{a(f),c(!1)},className:nr("flex w-full items-center gap-2.5 px-3 py-1.5 text-[13px] transition-colors",v?"text-oai-black dark:text-white bg-oai-gray-100 dark:bg-oai-gray-800":"text-oai-gray-600 dark:text-oai-gray-400 hover:bg-oai-gray-50 dark:hover:bg-oai-gray-800/60 hover:text-oai-black dark:hover:text-white"),children:[L.jsx(g,{className:"h-3.5 w-3.5 shrink-0","aria-hidden":!0}),L.jsx("span",{children:p})]},f)})})]})}function Fk({collapsed:e,onToggleCollapsed:t,onItemClick:a,showCloseButton:i=!1,onClose:s,glassChrome:c=!1}){const d=Un()?.pathname||"/",{theme:f,resolvedTheme:p,setTheme:g}=OC(),{resolvedLocale:v}=_k(),y=b.useMemo(()=>Vk(),[v]);return L.jsxs(L.Fragment,{children:[i?L.jsx("div",{className:"flex justify-end px-2 pt-2 pb-2",children:L.jsx("button",{type:"button",onClick:s,"aria-label":He("nav.close_menu"),title:He("nav.close_menu"),className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-oai-gray-500 dark:text-oai-gray-500 hover:bg-oai-gray-200/60 dark:hover:bg-oai-gray-800 hover:text-oai-gray-900 dark:hover:text-oai-gray-200 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500",children:L.jsx(wk,{className:"h-4 w-4",strokeWidth:1.75,"aria-hidden":!0})})}):null,L.jsx("nav",{"aria-label":He("nav.nav_label"),className:"flex-1 px-2 pb-2 flex flex-col overflow-y-auto",children:y.map((w,_)=>L.jsxs("div",{className:"flex flex-col",children:[L.jsx(UC,{label:w.label,collapsed:e,first:_===0}),L.jsx("div",{className:"flex flex-col gap-0.5",children:w.items.map(P=>L.jsx(BC,{item:P,collapsed:e,active:FC(d,P.to),onClick:a},P.id))})]},w.id))}),L.jsxs("div",{className:"px-2 py-3 space-y-2",children:[L.jsx(HC,{collapsed:e}),L.jsxs("div",{className:nr("flex items-center",e?"flex-col justify-center gap-2":"justify-between gap-2"),children:[L.jsx(GC,{theme:f,resolvedTheme:p,onSetTheme:g,glassChrome:c}),L.jsx("div",{className:"flex items-center gap-1.5",children:!i&&L.jsx("button",{type:"button",onClick:t,"aria-label":He(e?"nav.expand":"nav.collapse"),title:He(e?"nav.expand":"nav.collapse"),className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-oai-gray-500 dark:text-oai-gray-500 hover:bg-oai-gray-200/60 dark:hover:bg-oai-gray-800 hover:text-oai-gray-900 dark:hover:text-oai-gray-200 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500",children:e?L.jsx(gS,{className:"h-4 w-4",strokeWidth:1.75,"aria-hidden":!0}):L.jsx(pS,{className:"h-4 w-4",strokeWidth:1.75,"aria-hidden":!0})})})]})]})]})}function KC({collapsed:e,onToggleCollapsed:t}){return L.jsx("aside",{"aria-label":He("nav.aside_label"),className:nr("hidden lg:flex flex-col shrink-0 h-full min-h-0 transition-[width] duration-200",e?"w-[72px]":"w-[220px]"),children:L.jsx(Fk,{collapsed:e,onToggleCollapsed:t})})}function YC({open:e,onClose:t}){return b.useEffect(()=>{if(!e)return;const a=i=>{i.key==="Escape"&&t()};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[e,t]),b.useEffect(()=>{if(!e)return;const a=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=a}},[e]),e?L.jsxs("div",{className:"lg:hidden fixed inset-0 z-[80] flex",children:[L.jsx("div",{className:"absolute inset-0 bg-black/40 backdrop-blur-sm",onClick:t,"aria-hidden":!0}),L.jsx("aside",{"aria-label":He("nav.aside_label"),className:"relative w-[260px] max-w-[80vw] flex flex-col bg-oai-white dark:bg-oai-gray-900 border-r border-oai-gray-200 dark:border-oai-gray-800 shadow-2xl",children:L.jsx(Fk,{collapsed:!1,showCloseButton:!0,onClose:t,onItemClick:t})})]}):null}function XC({onOpenDrawer:e}){return L.jsxs("div",{className:"lg:hidden flex items-center justify-between gap-2 px-3 h-14 border-b border-oai-gray-200 dark:border-oai-gray-800",children:[L.jsx($C,{title:He("nav.menu"),onClick:e,children:L.jsx(PS,{className:"h-5 w-5","aria-hidden":!0})}),L.jsxs(oc,{to:"/",className:"flex items-center gap-2 no-underline hover:opacity-80 transition-opacity","aria-label":"Token Tracker",children:[L.jsx("img",{src:"/app-icon.png",alt:"",width:24,height:24,className:"rounded-md"}),L.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white",children:"Token Tracker"})]}),L.jsx("div",{className:"w-10 shrink-0","aria-hidden":!0})]})}function ZC({children:e}){const{collapsed:t,toggle:a}=VC(),[i,s]=b.useState(!1),c=b.useCallback(function(){s(!0)},[]),u=b.useCallback(function(){s(!1)},[]);return L.jsx("div",{className:"fixed inset-0 flex flex-col bg-oai-gray-100 dark:bg-oai-gray-950 text-oai-black dark:text-oai-white font-sans overflow-hidden",children:L.jsxs("div",{className:"flex-1 min-h-0 flex",children:[L.jsx(KC,{collapsed:t,onToggleCollapsed:a}),L.jsx(YC,{open:i,onClose:u}),L.jsx("div",{className:"flex-1 min-w-0 min-h-0 p-2 lg:pl-0 lg:pr-3 lg:pb-3 flex flex-col",children:L.jsxs("div",{className:"flex-1 min-h-0 flex flex-col bg-oai-white dark:bg-oai-gray-900 border border-oai-gray-200 dark:border-oai-gray-800 overflow-hidden rounded-2xl shadow-sm",children:[L.jsx(XC,{onOpenDrawer:c}),L.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto",children:e})]})})]})})}const Uh=b.createContext({});function Bh(e){const t=b.useRef(null);return t.current===null&&(t.current=e()),t.current}const qC=typeof window<"u",Uk=qC?b.useLayoutEffect:b.useEffect,lc=b.createContext(null);function Hh(e,t){e.indexOf(t)===-1&&e.push(t)}function Hl(e,t){const a=e.indexOf(t);a>-1&&e.splice(a,1)}const rr=(e,t,a)=>a>t?t:a<e?e:a;let $h=()=>{};const ta={},Bk=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function Hk(e){return typeof e=="object"&&e!==null}const $k=e=>/^0[^.\s]+$/u.test(e);function Wk(e){let t;return()=>(t===void 0&&(t=e()),t)}const Sn=e=>e,QC=(e,t)=>a=>t(e(a)),es=(...e)=>e.reduce(QC),Ho=(e,t,a)=>{const i=t-e;return i===0?1:(a-e)/i};class Wh{constructor(){this.subscriptions=[]}add(t){return Hh(this.subscriptions,t),()=>Hl(this.subscriptions,t)}notify(t,a,i){const s=this.subscriptions.length;if(s)if(s===1)this.subscriptions[0](t,a,i);else for(let c=0;c<s;c++){const u=this.subscriptions[c];u&&u(t,a,i)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const pn=e=>e*1e3,xn=e=>e/1e3;function Gk(e,t){return t?e*(1e3/t):0}const Kk=(e,t,a)=>(((1-3*a+3*t)*e+(3*a-6*t))*e+3*t)*e,JC=1e-7,e2=12;function t2(e,t,a,i,s){let c,u,d=0;do u=t+(a-t)/2,c=Kk(u,i,s)-e,c>0?a=u:t=u;while(Math.abs(c)>JC&&++d<e2);return u}function ts(e,t,a,i){if(e===t&&a===i)return Sn;const s=c=>t2(c,0,1,e,a);return c=>c===0||c===1?c:Kk(s(c),t,i)}const Yk=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Xk=e=>t=>1-e(1-t),Zk=ts(.33,1.53,.69,.99),Gh=Xk(Zk),qk=Yk(Gh),Qk=e=>e>=1?1:(e*=2)<1?.5*Gh(e):.5*(2-Math.pow(2,-10*(e-1))),Kh=e=>1-Math.sin(Math.acos(e)),Jk=Xk(Kh),e0=Yk(Kh),n2=ts(.42,0,1,1),r2=ts(0,0,.58,1),t0=ts(.42,0,.58,1),a2=e=>Array.isArray(e)&&typeof e[0]!="number",n0=e=>Array.isArray(e)&&typeof e[0]=="number",i2={linear:Sn,easeIn:n2,easeInOut:t0,easeOut:r2,circIn:Kh,circInOut:e0,circOut:Jk,backIn:Gh,backInOut:qk,backOut:Zk,anticipate:Qk},o2=e=>typeof e=="string",$g=e=>{if(n0(e)){$h(e.length===4);const[t,a,i,s]=e;return ts(t,a,i,s)}else if(o2(e))return i2[e];return e},yl=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function s2(e,t){let a=new Set,i=new Set,s=!1,c=!1;const u=new WeakSet;let d={delta:0,timestamp:0,isProcessing:!1};function f(g){u.has(g)&&(p.schedule(g),e()),g(d)}const p={schedule:(g,v=!1,y=!1)=>{const _=y&&s?a:i;return v&&u.add(g),_.add(g),g},cancel:g=>{i.delete(g),u.delete(g)},process:g=>{if(d=g,s){c=!0;return}s=!0;const v=a;a=i,i=v,a.forEach(f),a.clear(),s=!1,c&&(c=!1,p.process(g))}};return p}const l2=40;function r0(e,t){let a=!1,i=!0;const s={delta:0,timestamp:0,isProcessing:!1},c=()=>a=!0,u=yl.reduce((M,D)=>(M[D]=s2(c),M),{}),{setup:d,read:f,resolveKeyframes:p,preUpdate:g,update:v,preRender:y,render:w,postRender:_}=u,P=()=>{const M=ta.useManualTiming,D=M?s.timestamp:performance.now();a=!1,M||(s.delta=i?1e3/60:Math.max(Math.min(D-s.timestamp,l2),1)),s.timestamp=D,s.isProcessing=!0,d.process(s),f.process(s),p.process(s),g.process(s),v.process(s),y.process(s),w.process(s),_.process(s),s.isProcessing=!1,a&&t&&(i=!1,e(P))},S=()=>{a=!0,i=!0,s.isProcessing||e(P)};return{schedule:yl.reduce((M,D)=>{const B=u[D];return M[D]=(Z,oe=!1,x=!1)=>(a||S(),B.schedule(Z,oe,x)),M},{}),cancel:M=>{for(let D=0;D<yl.length;D++)u[yl[D]].cancel(M)},state:s,steps:u}}const{schedule:Qe,cancel:na,state:It,steps:ld}=r0(typeof requestAnimationFrame<"u"?requestAnimationFrame:Sn,!0);let Rl;function c2(){Rl=void 0}const Kt={now:()=>(Rl===void 0&&Kt.set(It.isProcessing||ta.useManualTiming?It.timestamp:performance.now()),Rl),set:e=>{Rl=e,queueMicrotask(c2)}},a0=e=>t=>typeof t=="string"&&t.startsWith(e),i0=a0("--"),u2=a0("var(--"),Yh=e=>u2(e)?d2.test(e.split("/*")[0].trim()):!1,d2=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function Wg(e){return typeof e!="string"?!1:e.split("/*")[0].includes("var(--")}const Ii={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},$o={...Ii,transform:e=>rr(0,1,e)},kl={...Ii,default:1},Mo=e=>Math.round(e*1e5)/1e5,Xh=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function h2(e){return e==null}const f2=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,Zh=(e,t)=>a=>!!(typeof a=="string"&&f2.test(a)&&a.startsWith(e)||t&&!h2(a)&&Object.prototype.hasOwnProperty.call(a,t)),o0=(e,t,a)=>i=>{if(typeof i!="string")return i;const[s,c,u,d]=i.match(Xh);return{[e]:parseFloat(s),[t]:parseFloat(c),[a]:parseFloat(u),alpha:d!==void 0?parseFloat(d):1}},p2=e=>rr(0,255,e),cd={...Ii,transform:e=>Math.round(p2(e))},Aa={test:Zh("rgb","red"),parse:o0("red","green","blue"),transform:({red:e,green:t,blue:a,alpha:i=1})=>"rgba("+cd.transform(e)+", "+cd.transform(t)+", "+cd.transform(a)+", "+Mo($o.transform(i))+")"};function m2(e){let t="",a="",i="",s="";return e.length>5?(t=e.substring(1,3),a=e.substring(3,5),i=e.substring(5,7),s=e.substring(7,9)):(t=e.substring(1,2),a=e.substring(2,3),i=e.substring(3,4),s=e.substring(4,5),t+=t,a+=a,i+=i,s+=s),{red:parseInt(t,16),green:parseInt(a,16),blue:parseInt(i,16),alpha:s?parseInt(s,16)/255:1}}const Od={test:Zh("#"),parse:m2,transform:Aa.transform},ns=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),Zr=ns("deg"),er=ns("%"),ye=ns("px"),g2=ns("vh"),v2=ns("vw"),Gg={...er,parse:e=>er.parse(e)/100,transform:e=>er.transform(e*100)},_i={test:Zh("hsl","hue"),parse:o0("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:a,alpha:i=1})=>"hsla("+Math.round(e)+", "+er.transform(Mo(t))+", "+er.transform(Mo(a))+", "+Mo($o.transform(i))+")"},vt={test:e=>Aa.test(e)||Od.test(e)||_i.test(e),parse:e=>Aa.test(e)?Aa.parse(e):_i.test(e)?_i.parse(e):Od.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?Aa.transform(e):_i.transform(e),getAnimatableNone:e=>{const t=vt.parse(e);return t.alpha=0,vt.transform(t)}},y2=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function k2(e){return isNaN(e)&&typeof e=="string"&&(e.match(Xh)?.length||0)+(e.match(y2)?.length||0)>0}const s0="number",l0="color",b2="var",w2="var(",Kg="${}",_2=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Ei(e){const t=e.toString(),a=[],i={color:[],number:[],var:[]},s=[];let c=0;const d=t.replace(_2,f=>(vt.test(f)?(i.color.push(c),s.push(l0),a.push(vt.parse(f))):f.startsWith(w2)?(i.var.push(c),s.push(b2),a.push(f)):(i.number.push(c),s.push(s0),a.push(parseFloat(f))),++c,Kg)).split(Kg);return{values:a,split:d,indexes:i,types:s}}function x2(e){return Ei(e).values}function c0({split:e,types:t}){const a=e.length;return i=>{let s="";for(let c=0;c<a;c++)if(s+=e[c],i[c]!==void 0){const u=t[c];u===s0?s+=Mo(i[c]):u===l0?s+=vt.transform(i[c]):s+=i[c]}return s}}function P2(e){return c0(Ei(e))}const S2=e=>typeof e=="number"?0:vt.test(e)?vt.getAnimatableNone(e):e,C2=(e,t)=>typeof e=="number"?t?.trim().endsWith("/")?e:0:S2(e);function T2(e){const t=Ei(e);return c0(t)(t.values.map((i,s)=>C2(i,t.split[s])))}const Fn={test:k2,parse:x2,createTransformer:P2,getAnimatableNone:T2};function ud(e,t,a){return a<0&&(a+=1),a>1&&(a-=1),a<1/6?e+(t-e)*6*a:a<1/2?t:a<2/3?e+(t-e)*(2/3-a)*6:e}function E2({hue:e,saturation:t,lightness:a,alpha:i}){e/=360,t/=100,a/=100;let s=0,c=0,u=0;if(!t)s=c=u=a;else{const d=a<.5?a*(1+t):a+t-a*t,f=2*a-d;s=ud(f,d,e+1/3),c=ud(f,d,e),u=ud(f,d,e-1/3)}return{red:Math.round(s*255),green:Math.round(c*255),blue:Math.round(u*255),alpha:i}}function $l(e,t){return a=>a>0?t:e}const it=(e,t,a)=>e+(t-e)*a,dd=(e,t,a)=>{const i=e*e,s=a*(t*t-i)+i;return s<0?0:Math.sqrt(s)},R2=[Od,Aa,_i],D2=e=>R2.find(t=>t.test(e));function Yg(e){const t=D2(e);if(!t)return!1;let a=t.parse(e);return t===_i&&(a=E2(a)),a}const Xg=(e,t)=>{const a=Yg(e),i=Yg(t);if(!a||!i)return $l(e,t);const s={...a};return c=>(s.red=dd(a.red,i.red,c),s.green=dd(a.green,i.green,c),s.blue=dd(a.blue,i.blue,c),s.alpha=it(a.alpha,i.alpha,c),Aa.transform(s))},zd=new Set(["none","hidden"]);function I2(e,t){return zd.has(e)?a=>a<=0?e:t:a=>a>=1?t:e}function A2(e,t){return a=>it(e,t,a)}function qh(e){return typeof e=="number"?A2:typeof e=="string"?Yh(e)?$l:vt.test(e)?Xg:N2:Array.isArray(e)?u0:typeof e=="object"?vt.test(e)?Xg:M2:$l}function u0(e,t){const a=[...e],i=a.length,s=e.map((c,u)=>qh(c)(c,t[u]));return c=>{for(let u=0;u<i;u++)a[u]=s[u](c);return a}}function M2(e,t){const a={...e,...t},i={};for(const s in a)e[s]!==void 0&&t[s]!==void 0&&(i[s]=qh(e[s])(e[s],t[s]));return s=>{for(const c in i)a[c]=i[c](s);return a}}function L2(e,t){const a=[],i={color:0,var:0,number:0};for(let s=0;s<t.values.length;s++){const c=t.types[s],u=e.indexes[c][i[c]],d=e.values[u]??0;a[s]=d,i[c]++}return a}const N2=(e,t)=>{const a=Fn.createTransformer(t),i=Ei(e),s=Ei(t);return i.indexes.var.length===s.indexes.var.length&&i.indexes.color.length===s.indexes.color.length&&i.indexes.number.length>=s.indexes.number.length?zd.has(e)&&!s.values.length||zd.has(t)&&!i.values.length?I2(e,t):es(u0(L2(i,s),s.values),a):$l(e,t)};function d0(e,t,a){return typeof e=="number"&&typeof t=="number"&&typeof a=="number"?it(e,t,a):qh(e)(e,t)}const j2=e=>{const t=({timestamp:a})=>e(a);return{start:(a=!0)=>Qe.update(t,a),stop:()=>na(t),now:()=>It.isProcessing?It.timestamp:Kt.now()}},h0=(e,t,a=10)=>{let i="";const s=Math.max(Math.round(t/a),2);for(let c=0;c<s;c++)i+=Math.round(e(c/(s-1))*1e4)/1e4+", ";return`linear(${i.substring(0,i.length-2)})`},Wl=2e4;function Qh(e){let t=0;const a=50;let i=e.next(t);for(;!i.done&&t<Wl;)t+=a,i=e.next(t);return t>=Wl?1/0:t}function O2(e,t=100,a){const i=a({...e,keyframes:[0,t]}),s=Math.min(Qh(i),Wl);return{type:"keyframes",ease:c=>i.next(s*c).value/t,duration:xn(s)}}const ht={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1};function Vd(e,t){return e*Math.sqrt(1-t*t)}const z2=12;function V2(e,t,a){let i=a;for(let s=1;s<z2;s++)i=i-e(i)/t(i);return i}const hd=.001;function F2({duration:e=ht.duration,bounce:t=ht.bounce,velocity:a=ht.velocity,mass:i=ht.mass}){let s,c,u=1-t;u=rr(ht.minDamping,ht.maxDamping,u),e=rr(ht.minDuration,ht.maxDuration,xn(e)),u<1?(s=p=>{const g=p*u,v=g*e,y=g-a,w=Vd(p,u),_=Math.exp(-v);return hd-y/w*_},c=p=>{const v=p*u*e,y=v*a+a,w=Math.pow(u,2)*Math.pow(p,2)*e,_=Math.exp(-v),P=Vd(Math.pow(p,2),u);return(-s(p)+hd>0?-1:1)*((y-w)*_)/P}):(s=p=>{const g=Math.exp(-p*e),v=(p-a)*e+1;return-hd+g*v},c=p=>{const g=Math.exp(-p*e),v=(a-p)*(e*e);return g*v});const d=5/e,f=V2(s,c,d);if(e=pn(e),isNaN(f))return{stiffness:ht.stiffness,damping:ht.damping,duration:e};{const p=Math.pow(f,2)*i;return{stiffness:p,damping:u*2*Math.sqrt(i*p),duration:e}}}const U2=["duration","bounce"],B2=["stiffness","damping","mass"];function Zg(e,t){return t.some(a=>e[a]!==void 0)}function H2(e){let t={velocity:ht.velocity,stiffness:ht.stiffness,damping:ht.damping,mass:ht.mass,isResolvedFromDuration:!1,...e};if(!Zg(e,B2)&&Zg(e,U2))if(t.velocity=0,e.visualDuration){const a=e.visualDuration,i=2*Math.PI/(a*1.2),s=i*i,c=2*rr(.05,1,1-(e.bounce||0))*Math.sqrt(s);t={...t,mass:ht.mass,stiffness:s,damping:c}}else{const a=F2({...e,velocity:0});t={...t,...a,mass:ht.mass},t.isResolvedFromDuration=!0}return t}function Gl(e=ht.visualDuration,t=ht.bounce){const a=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:i,restDelta:s}=a;const c=a.keyframes[0],u=a.keyframes[a.keyframes.length-1],d={done:!1,value:c},{stiffness:f,damping:p,mass:g,duration:v,velocity:y,isResolvedFromDuration:w}=H2({...a,velocity:-xn(a.velocity||0)}),_=y||0,P=p/(2*Math.sqrt(f*g)),S=u-c,N=xn(Math.sqrt(f/g)),j=Math.abs(S)<5;i||(i=j?ht.restSpeed.granular:ht.restSpeed.default),s||(s=j?ht.restDelta.granular:ht.restDelta.default);let M,D,B,Z,oe,x;if(P<1)B=Vd(N,P),Z=(_+P*N*S)/B,M=Y=>{const ue=Math.exp(-P*N*Y);return u-ue*(Z*Math.sin(B*Y)+S*Math.cos(B*Y))},oe=P*N*Z+S*B,x=P*N*S-Z*B,D=Y=>Math.exp(-P*N*Y)*(oe*Math.sin(B*Y)+x*Math.cos(B*Y));else if(P===1){M=ue=>u-Math.exp(-N*ue)*(S+(_+N*S)*ue);const Y=_+N*S;D=ue=>Math.exp(-N*ue)*(N*Y*ue-_)}else{const Y=N*Math.sqrt(P*P-1);M=ae=>{const ie=Math.exp(-P*N*ae),Q=Math.min(Y*ae,300);return u-ie*((_+P*N*S)*Math.sinh(Q)+Y*S*Math.cosh(Q))/Y};const ue=(_+P*N*S)/Y,se=P*N*ue-S*Y,q=P*N*S-ue*Y;D=ae=>{const ie=Math.exp(-P*N*ae),Q=Math.min(Y*ae,300);return ie*(se*Math.sinh(Q)+q*Math.cosh(Q))}}const ee={calculatedDuration:w&&v||null,velocity:Y=>pn(D(Y)),next:Y=>{if(!w&&P<1){const se=Math.exp(-P*N*Y),q=Math.sin(B*Y),ae=Math.cos(B*Y),ie=u-se*(Z*q+S*ae),Q=pn(se*(oe*q+x*ae));return d.done=Math.abs(Q)<=i&&Math.abs(u-ie)<=s,d.value=d.done?u:ie,d}const ue=M(Y);if(w)d.done=Y>=v;else{const se=pn(D(Y));d.done=Math.abs(se)<=i&&Math.abs(u-ue)<=s}return d.value=d.done?u:ue,d},toString:()=>{const Y=Math.min(Qh(ee),Wl),ue=h0(se=>ee.next(Y*se).value,Y,30);return Y+"ms "+ue},toTransition:()=>{}};return ee}Gl.applyToOptions=e=>{const t=O2(e,100,Gl);return e.ease=t.ease,e.duration=pn(t.duration),e.type="keyframes",e};const $2=5;function f0(e,t,a){const i=Math.max(t-$2,0);return Gk(a-e(i),t-i)}function Fd({keyframes:e,velocity:t=0,power:a=.8,timeConstant:i=325,bounceDamping:s=10,bounceStiffness:c=500,modifyTarget:u,min:d,max:f,restDelta:p=.5,restSpeed:g}){const v=e[0],y={done:!1,value:v},w=x=>d!==void 0&&x<d||f!==void 0&&x>f,_=x=>d===void 0?f:f===void 0||Math.abs(d-x)<Math.abs(f-x)?d:f;let P=a*t;const S=v+P,N=u===void 0?S:u(S);N!==S&&(P=N-v);const j=x=>-P*Math.exp(-x/i),M=x=>N+j(x),D=x=>{const ee=j(x),Y=M(x);y.done=Math.abs(ee)<=p,y.value=y.done?N:Y};let B,Z;const oe=x=>{w(y.value)&&(B=x,Z=Gl({keyframes:[y.value,_(y.value)],velocity:f0(M,x,y.value),damping:s,stiffness:c,restDelta:p,restSpeed:g}))};return oe(0),{calculatedDuration:null,next:x=>{let ee=!1;return!Z&&B===void 0&&(ee=!0,D(x),oe(x)),B!==void 0&&x>=B?Z.next(x-B):(!ee&&D(x),y)}}}function W2(e,t,a){const i=[],s=a||ta.mix||d0,c=e.length-1;for(let u=0;u<c;u++){let d=s(e[u],e[u+1]);if(t){const f=Array.isArray(t)?t[u]||Sn:t;d=es(f,d)}i.push(d)}return i}function G2(e,t,{clamp:a=!0,ease:i,mixer:s}={}){const c=e.length;if($h(c===t.length),c===1)return()=>t[0];if(c===2&&t[0]===t[1])return()=>t[1];const u=e[0]===e[1];e[0]>e[c-1]&&(e=[...e].reverse(),t=[...t].reverse());const d=W2(t,i,s),f=d.length,p=g=>{if(u&&g<e[0])return t[0];let v=0;if(f>1)for(;v<e.length-2&&!(g<e[v+1]);v++);const y=Ho(e[v],e[v+1],g);return d[v](y)};return a?g=>p(rr(e[0],e[c-1],g)):p}function K2(e,t){const a=e[e.length-1];for(let i=1;i<=t;i++){const s=Ho(0,t,i);e.push(it(a,1,s))}}function Y2(e){const t=[0];return K2(t,e.length-1),t}function X2(e,t){return e.map(a=>a*t)}function Z2(e,t){return e.map(()=>t||t0).splice(0,e.length-1)}function Lo({duration:e=300,keyframes:t,times:a,ease:i="easeInOut"}){const s=a2(i)?i.map($g):$g(i),c={done:!1,value:t[0]},u=X2(a&&a.length===t.length?a:Y2(t),e),d=G2(u,t,{ease:Array.isArray(s)?s:Z2(t,s)});return{calculatedDuration:e,next:f=>(c.value=d(f),c.done=f>=e,c)}}const q2=e=>e!==null;function cc(e,{repeat:t,repeatType:a="loop"},i,s=1){const c=e.filter(q2),d=s<0||t&&a!=="loop"&&t%2===1?0:c.length-1;return!d||i===void 0?c[d]:i}const Q2={decay:Fd,inertia:Fd,tween:Lo,keyframes:Lo,spring:Gl};function p0(e){typeof e.type=="string"&&(e.type=Q2[e.type])}class Jh{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(t=>{this.resolve=t})}notifyFinished(){this.resolve()}then(t,a){return this.finished.then(t,a)}}const J2=e=>e/100;class Kl extends Jh{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{const{motionValue:a}=this.options;a&&a.updatedAt!==Kt.now()&&this.tick(Kt.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),this.options.onStop?.())},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;p0(t);const{type:a=Lo,repeat:i=0,repeatDelay:s=0,repeatType:c,velocity:u=0}=t;let{keyframes:d}=t;const f=a||Lo;f!==Lo&&typeof d[0]!="number"&&(this.mixKeyframes=es(J2,d0(d[0],d[1])),d=[0,100]);const p=f({...t,keyframes:d});c==="mirror"&&(this.mirroredGenerator=f({...t,keyframes:[...d].reverse(),velocity:-u})),p.calculatedDuration===null&&(p.calculatedDuration=Qh(p));const{calculatedDuration:g}=p;this.calculatedDuration=g,this.resolvedDuration=g+s,this.totalDuration=this.resolvedDuration*(i+1)-s,this.generator=p}updateTime(t){const a=Math.round(t-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=a}tick(t,a=!1){const{generator:i,totalDuration:s,mixKeyframes:c,mirroredGenerator:u,resolvedDuration:d,calculatedDuration:f}=this;if(this.startTime===null)return i.next(0);const{delay:p=0,keyframes:g,repeat:v,repeatType:y,repeatDelay:w,type:_,onUpdate:P,finalKeyframe:S}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-s/this.speed,this.startTime)),a?this.currentTime=t:this.updateTime(t);const N=this.currentTime-p*(this.playbackSpeed>=0?1:-1),j=this.playbackSpeed>=0?N<0:N>s;this.currentTime=Math.max(N,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=s);let M=this.currentTime,D=i;if(v){const x=Math.min(this.currentTime,s)/d;let ee=Math.floor(x),Y=x%1;!Y&&x>=1&&(Y=1),Y===1&&ee--,ee=Math.min(ee,v+1),ee%2&&(y==="reverse"?(Y=1-Y,w&&(Y-=w/d)):y==="mirror"&&(D=u)),M=rr(0,1,Y)*d}let B;j?(this.delayState.value=g[0],B=this.delayState):B=D.next(M),c&&!j&&(B.value=c(B.value));let{done:Z}=B;!j&&f!==null&&(Z=this.playbackSpeed>=0?this.currentTime>=s:this.currentTime<=0);const oe=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&Z);return oe&&_!==Fd&&(B.value=cc(g,this.options,S,this.speed)),P&&P(B.value),oe&&this.finish(),B}then(t,a){return this.finished.then(t,a)}get duration(){return xn(this.calculatedDuration)}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+xn(t)}get time(){return xn(this.currentTime)}set time(t){t=pn(t),this.currentTime=t,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=t,this.tick(t))}getGeneratorVelocity(){const t=this.currentTime;if(t<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(t);const a=this.generator.next(t).value;return f0(i=>this.generator.next(i).value,t,a)}get speed(){return this.playbackSpeed}set speed(t){const a=this.playbackSpeed!==t;a&&this.driver&&this.updateTime(Kt.now()),this.playbackSpeed=t,a&&this.driver&&(this.time=xn(this.currentTime))}play(){if(this.isStopped)return;const{driver:t=j2,startTime:a}=this.options;this.driver||(this.driver=t(s=>this.tick(s))),this.options.onPlay?.();const i=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=i):this.holdTime!==null?this.startTime=i-this.holdTime:this.startTime||(this.startTime=a??i),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(Kt.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),t.observe(this)}}function e3(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}const Ma=e=>e*180/Math.PI,Ud=e=>{const t=Ma(Math.atan2(e[1],e[0]));return Bd(t)},t3={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:Ud,rotateZ:Ud,skewX:e=>Ma(Math.atan(e[1])),skewY:e=>Ma(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},Bd=e=>(e=e%360,e<0&&(e+=360),e),qg=Ud,Qg=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),Jg=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),n3={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:Qg,scaleY:Jg,scale:e=>(Qg(e)+Jg(e))/2,rotateX:e=>Bd(Ma(Math.atan2(e[6],e[5]))),rotateY:e=>Bd(Ma(Math.atan2(-e[2],e[0]))),rotateZ:qg,rotate:qg,skewX:e=>Ma(Math.atan(e[4])),skewY:e=>Ma(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function Hd(e){return e.includes("scale")?1:0}function $d(e,t){if(!e||e==="none")return Hd(t);const a=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let i,s;if(a)i=n3,s=a;else{const d=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);i=t3,s=d}if(!s)return Hd(t);const c=i[t],u=s[1].split(",").map(a3);return typeof c=="function"?c(u):u[c]}const r3=(e,t)=>{const{transform:a="none"}=getComputedStyle(e);return $d(a,t)};function a3(e){return parseFloat(e.trim())}const Ai=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Mi=new Set(Ai),ev=e=>e===Ii||e===ye,i3=new Set(["x","y","z"]),o3=Ai.filter(e=>!i3.has(e));function s3(e){const t=[];return o3.forEach(a=>{const i=e.getValue(a);i!==void 0&&(t.push([a,i.get()]),i.set(a.startsWith("scale")?1:0))}),t}const ea={width:({x:e},{paddingLeft:t="0",paddingRight:a="0",boxSizing:i})=>{const s=e.max-e.min;return i==="border-box"?s:s-parseFloat(t)-parseFloat(a)},height:({y:e},{paddingTop:t="0",paddingBottom:a="0",boxSizing:i})=>{const s=e.max-e.min;return i==="border-box"?s:s-parseFloat(t)-parseFloat(a)},top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>$d(t,"x"),y:(e,{transform:t})=>$d(t,"y")};ea.translateX=ea.x;ea.translateY=ea.y;const La=new Set;let Wd=!1,Gd=!1,Kd=!1;function m0(){if(Gd){const e=Array.from(La).filter(i=>i.needsMeasurement),t=new Set(e.map(i=>i.element)),a=new Map;t.forEach(i=>{const s=s3(i);s.length&&(a.set(i,s),i.render())}),e.forEach(i=>i.measureInitialState()),t.forEach(i=>{i.render();const s=a.get(i);s&&s.forEach(([c,u])=>{i.getValue(c)?.set(u)})}),e.forEach(i=>i.measureEndState()),e.forEach(i=>{i.suspendedScrollY!==void 0&&window.scrollTo(0,i.suspendedScrollY)})}Gd=!1,Wd=!1,La.forEach(e=>e.complete(Kd)),La.clear()}function g0(){La.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(Gd=!0)})}function l3(){Kd=!0,g0(),m0(),Kd=!1}class ef{constructor(t,a,i,s,c,u=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=a,this.name=i,this.motionValue=s,this.element=c,this.isAsync=u}scheduleResolve(){this.state="scheduled",this.isAsync?(La.add(this),Wd||(Wd=!0,Qe.read(g0),Qe.resolveKeyframes(m0))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:a,element:i,motionValue:s}=this;if(t[0]===null){const c=s?.get(),u=t[t.length-1];if(c!==void 0)t[0]=c;else if(i&&a){const d=i.readValue(a,u);d!=null&&(t[0]=d)}t[0]===void 0&&(t[0]=u),s&&c===void 0&&s.set(t[0])}e3(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),La.delete(this)}cancel(){this.state==="scheduled"&&(La.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const c3=e=>e.startsWith("--");function v0(e,t,a){c3(t)?e.style.setProperty(t,a):e.style[t]=a}const u3={};function y0(e,t){const a=Wk(e);return()=>u3[t]??a()}const d3=y0(()=>window.ScrollTimeline!==void 0,"scrollTimeline"),k0=y0(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),Eo=([e,t,a,i])=>`cubic-bezier(${e}, ${t}, ${a}, ${i})`,tv={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Eo([0,.65,.55,1]),circOut:Eo([.55,0,1,.45]),backIn:Eo([.31,.01,.66,-.59]),backOut:Eo([.33,1.53,.69,.99])};function b0(e,t){if(e)return typeof e=="function"?k0()?h0(e,t):"ease-out":n0(e)?Eo(e):Array.isArray(e)?e.map(a=>b0(a,t)||tv.easeOut):tv[e]}function h3(e,t,a,{delay:i=0,duration:s=300,repeat:c=0,repeatType:u="loop",ease:d="easeOut",times:f}={},p=void 0){const g={[t]:a};f&&(g.offset=f);const v=b0(d,s);Array.isArray(v)&&(g.easing=v);const y={delay:i,duration:s,easing:Array.isArray(v)?"linear":v,fill:"both",iterations:c+1,direction:u==="reverse"?"alternate":"normal"};return p&&(y.pseudoElement=p),e.animate(g,y)}function w0(e){return typeof e=="function"&&"applyToOptions"in e}function f3({type:e,...t}){return w0(e)&&k0()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}class _0 extends Jh{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!t)return;const{element:a,name:i,keyframes:s,pseudoElement:c,allowFlatten:u=!1,finalKeyframe:d,onComplete:f}=t;this.isPseudoElement=!!c,this.allowFlatten=u,this.options=t,$h(typeof t.type!="string");const p=f3(t);this.animation=h3(a,i,s,p,c),p.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!c){const g=cc(s,this.options,d,this.speed);this.updateMotionValue&&this.updateMotionValue(g),v0(a,i,g),this.animation.cancel()}f?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:t}=this;t==="idle"||t==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){const t=this.options?.element;!this.isPseudoElement&&t?.isConnected&&this.animation.commitStyles?.()}get duration(){const t=this.animation.effect?.getComputedTiming?.().duration||0;return xn(Number(t))}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+xn(t)}get time(){return xn(Number(this.animation.currentTime)||0)}set time(t){const a=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=pn(t),a&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(t){this.manualStartTime=this.animation.startTime=t}attachTimeline({timeline:t,rangeStart:a,rangeEnd:i,observe:s}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,t&&d3()?(this.animation.timeline=t,a&&(this.animation.rangeStart=a),i&&(this.animation.rangeEnd=i),Sn):s(this)}}const x0={anticipate:Qk,backInOut:qk,circInOut:e0};function p3(e){return e in x0}function m3(e){typeof e.ease=="string"&&p3(e.ease)&&(e.ease=x0[e.ease])}const fd=10;class g3 extends _0{constructor(t){m3(t),p0(t),super(t),t.startTime!==void 0&&t.autoplay!==!1&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:a,onUpdate:i,onComplete:s,element:c,...u}=this.options;if(!a)return;if(t!==void 0){a.set(t);return}const d=new Kl({...u,autoplay:!1}),f=Math.max(fd,Kt.now()-this.startTime),p=rr(0,fd,f-fd),g=d.sample(f).value,{name:v}=this.options;c&&v&&v0(c,v,g),a.setWithVelocity(d.sample(Math.max(0,f-p)).value,g,p),d.stop()}}const nv=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(Fn.test(e)||e==="0")&&!e.startsWith("url("));function v3(e){const t=e[0];if(e.length===1)return!0;for(let a=0;a<e.length;a++)if(e[a]!==t)return!0}function y3(e,t,a,i){const s=e[0];if(s===null)return!1;if(t==="display"||t==="visibility")return!0;const c=e[e.length-1],u=nv(s,t),d=nv(c,t);return!u||!d?!1:v3(e)||(a==="spring"||w0(a))&&i}function Yd(e){e.duration=0,e.type="keyframes"}const P0=new Set(["opacity","clipPath","filter","transform"]),k3=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;function b3(e){for(let t=0;t<e.length;t++)if(typeof e[t]=="string"&&k3.test(e[t]))return!0;return!1}const w3=new Set(["color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"]),_3=Wk(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function x3(e){const{motionValue:t,name:a,repeatDelay:i,repeatType:s,damping:c,type:u,keyframes:d}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;const{onUpdate:p,transformTemplate:g}=t.owner.getProps();return _3()&&a&&(P0.has(a)||w3.has(a)&&b3(d))&&(a!=="transform"||!g)&&!p&&!i&&s!=="mirror"&&c!==0&&u!=="inertia"}const P3=40;class S3 extends Jh{constructor({autoplay:t=!0,delay:a=0,type:i="keyframes",repeat:s=0,repeatDelay:c=0,repeatType:u="loop",keyframes:d,name:f,motionValue:p,element:g,...v}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=Kt.now();const y={autoplay:t,delay:a,type:i,repeat:s,repeatDelay:c,repeatType:u,name:f,motionValue:p,element:g,...v},w=g?.KeyframeResolver||ef;this.keyframeResolver=new w(d,(_,P,S)=>this.onKeyframesResolved(_,P,y,!S),f,p,g),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(t,a,i,s){this.keyframeResolver=void 0;const{name:c,type:u,velocity:d,delay:f,isHandoff:p,onUpdate:g}=i;this.resolvedAt=Kt.now();let v=!0;y3(t,c,u,d)||(v=!1,(ta.instantAnimations||!f)&&g?.(cc(t,i,a)),t[0]=t[t.length-1],Yd(i),i.repeat=0);const w={startTime:s?this.resolvedAt?this.resolvedAt-this.createdAt>P3?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:a,...i,keyframes:t},_=v&&!p&&x3(w),P=w.motionValue?.owner?.current;let S;if(_)try{S=new g3({...w,element:P})}catch{S=new Kl(w)}else S=new Kl(w);S.finished.then(()=>{this.notifyFinished()}).catch(Sn),this.pendingTimeline&&(this.stopTimeline=S.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=S}get finished(){return this._animation?this.animation.finished:this._finished}then(t,a){return this.finished.finally(t).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),l3()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}function S0(e,t,a,i=0,s=1){const c=Array.from(e).sort((p,g)=>p.sortNodePosition(g)).indexOf(t),u=e.size,d=(u-1)*i;return typeof a=="function"?a(c,u):s===1?c*i:d-c*i}const C3=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function T3(e){const t=C3.exec(e);if(!t)return[,];const[,a,i,s]=t;return[`--${a??i}`,s]}function C0(e,t,a=1){const[i,s]=T3(e);if(!i)return;const c=window.getComputedStyle(t).getPropertyValue(i);if(c){const u=c.trim();return Bk(u)?parseFloat(u):u}return Yh(s)?C0(s,t,a+1):s}const E3={type:"spring",stiffness:500,damping:25,restSpeed:10},R3=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),D3={type:"keyframes",duration:.8},I3={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},A3=(e,{keyframes:t})=>t.length>2?D3:Mi.has(e)?e.startsWith("scale")?R3(t[1]):E3:I3;function T0(e,t){if(e?.inherit&&t){const{inherit:a,...i}=e;return{...t,...i}}return e}function tf(e,t){const a=e?.[t]??e?.default??e;return a!==e?T0(a,e):a}const M3=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]);function L3(e){for(const t in e)if(!M3.has(t))return!0;return!1}const nf=(e,t,a,i={},s,c)=>u=>{const d=tf(i,e)||{},f=d.delay||i.delay||0;let{elapsed:p=0}=i;p=p-pn(f);const g={keyframes:Array.isArray(a)?a:[null,a],ease:"easeOut",velocity:t.getVelocity(),...d,delay:-p,onUpdate:y=>{t.set(y),d.onUpdate&&d.onUpdate(y)},onComplete:()=>{u(),d.onComplete&&d.onComplete()},name:e,motionValue:t,element:c?void 0:s};L3(d)||Object.assign(g,A3(e,g)),g.duration&&(g.duration=pn(g.duration)),g.repeatDelay&&(g.repeatDelay=pn(g.repeatDelay)),g.from!==void 0&&(g.keyframes[0]=g.from);let v=!1;if((g.type===!1||g.duration===0&&!g.repeatDelay)&&(Yd(g),g.delay===0&&(v=!0)),(ta.instantAnimations||ta.skipAnimations||s?.shouldSkipAnimations)&&(v=!0,Yd(g),g.delay=0),g.allowFlatten=!d.type&&!d.ease,v&&!c&&t.get()!==void 0){const y=cc(g.keyframes,d);if(y!==void 0){Qe.update(()=>{g.onUpdate(y),g.onComplete()});return}}return d.isSync?new Kl(g):new S3(g)};function rv(e){const t=[{},{}];return e?.values.forEach((a,i)=>{t[0][i]=a.get(),t[1][i]=a.getVelocity()}),t}function rf(e,t,a,i){if(typeof t=="function"){const[s,c]=rv(i);t=t(a!==void 0?a:e.custom,s,c)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[s,c]=rv(i);t=t(a!==void 0?a:e.custom,s,c)}return t}function Na(e,t,a){const i=e.getProps();return rf(i,t,a!==void 0?a:i.custom,e)}const E0=new Set(["width","height","top","left","right","bottom",...Ai]),av=30,N3=e=>!isNaN(parseFloat(e)),iv={current:void 0};class j3{constructor(t,a={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=i=>{const s=Kt.now();if(this.updatedAt!==s&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(i),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(const c of this.dependents)c.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=a.owner}setCurrent(t){this.current=t,this.updatedAt=Kt.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=N3(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return this.on("change",t)}on(t,a){this.events[t]||(this.events[t]=new Wh);const i=this.events[t].add(a);return t==="change"?()=>{i(),Qe.read(()=>{this.events.change.getSize()||this.stop()})}:i}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,a){this.passiveEffect=t,this.stopPassiveEffect=a}set(t){this.passiveEffect?this.passiveEffect(t,this.updateAndNotify):this.updateAndNotify(t)}setWithVelocity(t,a,i){this.set(a),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-i}jump(t,a=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,a&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(t){this.dependents||(this.dependents=new Set),this.dependents.add(t)}removeDependent(t){this.dependents&&this.dependents.delete(t)}get(){return iv.current&&iv.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){const t=Kt.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>av)return 0;const a=Math.min(this.updatedAt-this.prevUpdatedAt,av);return Gk(parseFloat(this.current)-parseFloat(this.prevFrameValue),a)}start(t){return this.stop(),new Promise(a=>{this.hasAnimated=!0,this.animation=t(a),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Ri(e,t){return new j3(e,t)}const Xd=e=>Array.isArray(e);function O3(e,t,a){e.hasValue(t)?e.getValue(t).set(a):e.addValue(t,Ri(a))}function z3(e){return Xd(e)?e[e.length-1]||0:e}function V3(e,t){const a=Na(e,t);let{transitionEnd:i={},transition:s={},...c}=a||{};c={...c,...i};for(const u in c){const d=z3(c[u]);O3(e,u,d)}}const At=e=>!!(e&&e.getVelocity);function F3(e){return!!(At(e)&&e.add)}function Zd(e,t){const a=e.getValue("willChange");if(F3(a))return a.add(t);if(!a&&ta.WillChange){const i=new ta.WillChange("auto");e.addValue("willChange",i),i.add(t)}}function af(e){return e.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}const U3="framerAppearId",R0="data-"+af(U3);function D0(e){return e.props[R0]}function B3({protectedKeys:e,needsAnimating:t},a){const i=e.hasOwnProperty(a)&&t[a]!==!0;return t[a]=!1,i}function I0(e,t,{delay:a=0,transitionOverride:i,type:s}={}){let{transition:c,transitionEnd:u,...d}=t;const f=e.getDefaultTransition();c=c?T0(c,f):f;const p=c?.reduceMotion;i&&(c=i);const g=[],v=s&&e.animationState&&e.animationState.getState()[s];for(const y in d){const w=e.getValue(y,e.latestValues[y]??null),_=d[y];if(_===void 0||v&&B3(v,y))continue;const P={delay:a,...tf(c||{},y)},S=w.get();if(S!==void 0&&!w.isAnimating()&&!Array.isArray(_)&&_===S&&!P.velocity){Qe.update(()=>w.set(_));continue}let N=!1;if(window.MotionHandoffAnimation){const D=D0(e);if(D){const B=window.MotionHandoffAnimation(D,y,Qe);B!==null&&(P.startTime=B,N=!0)}}Zd(e,y);const j=p??e.shouldReduceMotion;w.start(nf(y,w,_,j&&E0.has(y)?{type:!1}:P,e,N));const M=w.animation;M&&g.push(M)}if(u){const y=()=>Qe.update(()=>{u&&V3(e,u)});g.length?Promise.all(g).then(y):y()}return g}function qd(e,t,a={}){const i=Na(e,t,a.type==="exit"?e.presenceContext?.custom:void 0);let{transition:s=e.getDefaultTransition()||{}}=i||{};a.transitionOverride&&(s=a.transitionOverride);const c=i?()=>Promise.all(I0(e,i,a)):()=>Promise.resolve(),u=e.variantChildren&&e.variantChildren.size?(f=0)=>{const{delayChildren:p=0,staggerChildren:g,staggerDirection:v}=s;return H3(e,t,f,p,g,v,a)}:()=>Promise.resolve(),{when:d}=s;if(d){const[f,p]=d==="beforeChildren"?[c,u]:[u,c];return f().then(()=>p())}else return Promise.all([c(),u(a.delay)])}function H3(e,t,a=0,i=0,s=0,c=1,u){const d=[];for(const f of e.variantChildren)f.notify("AnimationStart",t),d.push(qd(f,t,{...u,delay:a+(typeof i=="function"?0:i)+S0(e.variantChildren,f,i,s,c)}).then(()=>f.notify("AnimationComplete",t)));return Promise.all(d)}function $3(e,t,a={}){e.notify("AnimationStart",t);let i;if(Array.isArray(t)){const s=t.map(c=>qd(e,c,a));i=Promise.all(s)}else if(typeof t=="string")i=qd(e,t,a);else{const s=typeof t=="function"?Na(e,t,a.custom):t;i=Promise.all(I0(e,s,a))}return i.then(()=>{e.notify("AnimationComplete",t)})}const W3={test:e=>e==="auto",parse:e=>e},A0=e=>t=>t.test(e),M0=[Ii,ye,er,Zr,v2,g2,W3],ov=e=>M0.find(A0(e));function G3(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||$k(e):!0}const K3=new Set(["brightness","contrast","saturate","opacity"]);function Y3(e){const[t,a]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[i]=a.match(Xh)||[];if(!i)return e;const s=a.replace(i,"");let c=K3.has(t)?1:0;return i!==a&&(c*=100),t+"("+c+s+")"}const X3=/\b([a-z-]*)\(.*?\)/gu,Qd={...Fn,getAnimatableNone:e=>{const t=e.match(X3);return t?t.map(Y3).join(" "):e}},Jd={...Fn,getAnimatableNone:e=>{const t=Fn.parse(e);return Fn.createTransformer(e)(t.map(i=>typeof i=="number"?0:typeof i=="object"?{...i,alpha:1}:i))}},sv={...Ii,transform:Math.round},Z3={rotate:Zr,rotateX:Zr,rotateY:Zr,rotateZ:Zr,scale:kl,scaleX:kl,scaleY:kl,scaleZ:kl,skew:Zr,skewX:Zr,skewY:Zr,distance:ye,translateX:ye,translateY:ye,translateZ:ye,x:ye,y:ye,z:ye,perspective:ye,transformPerspective:ye,opacity:$o,originX:Gg,originY:Gg,originZ:ye},of={borderWidth:ye,borderTopWidth:ye,borderRightWidth:ye,borderBottomWidth:ye,borderLeftWidth:ye,borderRadius:ye,borderTopLeftRadius:ye,borderTopRightRadius:ye,borderBottomRightRadius:ye,borderBottomLeftRadius:ye,width:ye,maxWidth:ye,height:ye,maxHeight:ye,top:ye,right:ye,bottom:ye,left:ye,inset:ye,insetBlock:ye,insetBlockStart:ye,insetBlockEnd:ye,insetInline:ye,insetInlineStart:ye,insetInlineEnd:ye,padding:ye,paddingTop:ye,paddingRight:ye,paddingBottom:ye,paddingLeft:ye,paddingBlock:ye,paddingBlockStart:ye,paddingBlockEnd:ye,paddingInline:ye,paddingInlineStart:ye,paddingInlineEnd:ye,margin:ye,marginTop:ye,marginRight:ye,marginBottom:ye,marginLeft:ye,marginBlock:ye,marginBlockStart:ye,marginBlockEnd:ye,marginInline:ye,marginInlineStart:ye,marginInlineEnd:ye,fontSize:ye,backgroundPositionX:ye,backgroundPositionY:ye,...Z3,zIndex:sv,fillOpacity:$o,strokeOpacity:$o,numOctaves:sv},q3={...of,color:vt,backgroundColor:vt,outlineColor:vt,fill:vt,stroke:vt,borderColor:vt,borderTopColor:vt,borderRightColor:vt,borderBottomColor:vt,borderLeftColor:vt,filter:Qd,WebkitFilter:Qd,mask:Jd,WebkitMask:Jd},L0=e=>q3[e],Q3=new Set([Qd,Jd]);function N0(e,t){let a=L0(e);return Q3.has(a)||(a=Fn),a.getAnimatableNone?a.getAnimatableNone(t):void 0}const J3=new Set(["auto","none","0"]);function eT(e,t,a){let i=0,s;for(;i<e.length&&!s;){const c=e[i];typeof c=="string"&&!J3.has(c)&&Ei(c).values.length&&(s=e[i]),i++}if(s&&a)for(const c of t)e[c]=N0(a,s)}class tT extends ef{constructor(t,a,i,s,c){super(t,a,i,s,c,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:a,name:i}=this;if(!a||!a.current)return;super.readKeyframes();for(let g=0;g<t.length;g++){let v=t[g];if(typeof v=="string"&&(v=v.trim(),Yh(v))){const y=C0(v,a.current);y!==void 0&&(t[g]=y),g===t.length-1&&(this.finalKeyframe=v)}}if(this.resolveNoneKeyframes(),!E0.has(i)||t.length!==2)return;const[s,c]=t,u=ov(s),d=ov(c),f=Wg(s),p=Wg(c);if(f!==p&&ea[i]){this.needsMeasurement=!0;return}if(u!==d)if(ev(u)&&ev(d))for(let g=0;g<t.length;g++){const v=t[g];typeof v=="string"&&(t[g]=parseFloat(v))}else ea[i]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:a}=this,i=[];for(let s=0;s<t.length;s++)(t[s]===null||G3(t[s]))&&i.push(s);i.length&&eT(t,i,a)}measureInitialState(){const{element:t,unresolvedKeyframes:a,name:i}=this;if(!t||!t.current)return;i==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=ea[i](t.measureViewportBox(),window.getComputedStyle(t.current)),a[0]=this.measuredOrigin;const s=a[a.length-1];s!==void 0&&t.getValue(i,s).jump(s,!1)}measureEndState(){const{element:t,name:a,unresolvedKeyframes:i}=this;if(!t||!t.current)return;const s=t.getValue(a);s&&s.jump(this.measuredOrigin,!1);const c=i.length-1,u=i[c];i[c]=ea[a](t.measureViewportBox(),window.getComputedStyle(t.current)),u!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=u),this.removedTransforms?.length&&this.removedTransforms.forEach(([d,f])=>{t.getValue(d).set(f)}),this.resolveNoneKeyframes()}}function j0(e,t,a){if(e==null)return[];if(e instanceof EventTarget)return[e];if(typeof e=="string"){let i=document;const s=a?.[e]??i.querySelectorAll(e);return s?Array.from(s):[]}return Array.from(e).filter(i=>i!=null)}const O0=(e,t)=>t&&typeof e=="number"?t.transform(e):e;function Dl(e){return Hk(e)&&"offsetHeight"in e&&!("ownerSVGElement"in e)}const{schedule:sf}=r0(queueMicrotask,!1),Vn={x:!1,y:!1};function z0(){return Vn.x||Vn.y}function nT(e){return e==="x"||e==="y"?Vn[e]?null:(Vn[e]=!0,()=>{Vn[e]=!1}):Vn.x||Vn.y?null:(Vn.x=Vn.y=!0,()=>{Vn.x=Vn.y=!1})}function V0(e,t){const a=j0(e),i=new AbortController,s={passive:!0,...t,signal:i.signal};return[a,s,()=>i.abort()]}function rT(e){return!(e.pointerType==="touch"||z0())}function aT(e,t,a={}){const[i,s,c]=V0(e,a);return i.forEach(u=>{let d=!1,f=!1,p;const g=()=>{u.removeEventListener("pointerleave",_)},v=S=>{p&&(p(S),p=void 0),g()},y=S=>{d=!1,window.removeEventListener("pointerup",y),window.removeEventListener("pointercancel",y),f&&(f=!1,v(S))},w=()=>{d=!0,window.addEventListener("pointerup",y,s),window.addEventListener("pointercancel",y,s)},_=S=>{if(S.pointerType!=="touch"){if(d){f=!0;return}v(S)}},P=S=>{if(!rT(S))return;f=!1;const N=t(u,S);typeof N=="function"&&(p=N,u.addEventListener("pointerleave",_,s))};u.addEventListener("pointerenter",P,s),u.addEventListener("pointerdown",w,s)}),c}const F0=(e,t)=>t?e===t?!0:F0(e,t.parentElement):!1,lf=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1,iT=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function oT(e){return iT.has(e.tagName)||e.isContentEditable===!0}const sT=new Set(["INPUT","SELECT","TEXTAREA"]);function lT(e){return sT.has(e.tagName)||e.isContentEditable===!0}const Il=new WeakSet;function lv(e){return t=>{t.key==="Enter"&&e(t)}}function pd(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const cT=(e,t)=>{const a=e.currentTarget;if(!a)return;const i=lv(()=>{if(Il.has(a))return;pd(a,"down");const s=lv(()=>{pd(a,"up")}),c=()=>pd(a,"cancel");a.addEventListener("keyup",s,t),a.addEventListener("blur",c,t)});a.addEventListener("keydown",i,t),a.addEventListener("blur",()=>a.removeEventListener("keydown",i),t)};function cv(e){return lf(e)&&!z0()}const uv=new WeakSet;function uT(e,t,a={}){const[i,s,c]=V0(e,a),u=d=>{const f=d.currentTarget;if(!cv(d)||uv.has(d))return;Il.add(f),a.stopPropagation&&uv.add(d);const p=t(f,d),g=(w,_)=>{window.removeEventListener("pointerup",v),window.removeEventListener("pointercancel",y),Il.has(f)&&Il.delete(f),cv(w)&&typeof p=="function"&&p(w,{success:_})},v=w=>{g(w,f===window||f===document||a.useGlobalTarget||F0(f,w.target))},y=w=>{g(w,!1)};window.addEventListener("pointerup",v,s),window.addEventListener("pointercancel",y,s)};return i.forEach(d=>{(a.useGlobalTarget?window:d).addEventListener("pointerdown",u,s),Dl(d)&&(d.addEventListener("focus",p=>cT(p,s)),!oT(d)&&!d.hasAttribute("tabindex")&&(d.tabIndex=0))}),c}function cf(e){return Hk(e)&&"ownerSVGElement"in e}const Al=new WeakMap;let Ml;const U0=(e,t,a)=>(i,s)=>s&&s[0]?s[0][e+"Size"]:cf(i)&&"getBBox"in i?i.getBBox()[t]:i[a],dT=U0("inline","width","offsetWidth"),hT=U0("block","height","offsetHeight");function fT({target:e,borderBoxSize:t}){Al.get(e)?.forEach(a=>{a(e,{get width(){return dT(e,t)},get height(){return hT(e,t)}})})}function pT(e){e.forEach(fT)}function mT(){typeof ResizeObserver>"u"||(Ml=new ResizeObserver(pT))}function gT(e,t){Ml||mT();const a=j0(e);return a.forEach(i=>{let s=Al.get(i);s||(s=new Set,Al.set(i,s)),s.add(t),Ml?.observe(i)}),()=>{a.forEach(i=>{const s=Al.get(i);s?.delete(t),s?.size||Ml?.unobserve(i)})}}const Ll=new Set;let xi;function vT(){xi=()=>{const e={get width(){return window.innerWidth},get height(){return window.innerHeight}};Ll.forEach(t=>t(e))},window.addEventListener("resize",xi)}function yT(e){return Ll.add(e),xi||vT(),()=>{Ll.delete(e),!Ll.size&&typeof xi=="function"&&(window.removeEventListener("resize",xi),xi=void 0)}}function dv(e,t){return typeof e=="function"?yT(e):gT(e,t)}function kT(e){return cf(e)&&e.tagName==="svg"}const bT=[...M0,vt,Fn],wT=e=>bT.find(A0(e)),hv=()=>({translate:0,scale:1,origin:0,originPoint:0}),Pi=()=>({x:hv(),y:hv()}),fv=()=>({min:0,max:0}),xt=()=>({x:fv(),y:fv()}),_T=new WeakMap;function uc(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}function Wo(e){return typeof e=="string"||Array.isArray(e)}const uf=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],df=["initial",...uf];function dc(e){return uc(e.animate)||df.some(t=>Wo(e[t]))}function B0(e){return!!(dc(e)||e.variants)}function xT(e,t,a){for(const i in t){const s=t[i],c=a[i];if(At(s))e.addValue(i,s);else if(At(c))e.addValue(i,Ri(s,{owner:e}));else if(c!==s)if(e.hasValue(i)){const u=e.getValue(i);u.liveStyle===!0?u.jump(s):u.hasAnimated||u.set(s)}else{const u=e.getStaticValue(i);e.addValue(i,Ri(u!==void 0?u:s,{owner:e}))}}for(const i in a)t[i]===void 0&&e.removeValue(i);return t}const Yl={current:null},hf={current:!1},PT=typeof window<"u";function H0(){if(hf.current=!0,!!PT)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>Yl.current=e.matches;e.addEventListener("change",t),t()}else Yl.current=!1}const pv=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];let Xl={};function $0(e){Xl=e}function ST(){return Xl}class CT{scrapeMotionValuesFromProps(t,a,i){return{}}constructor({parent:t,props:a,presenceContext:i,reducedMotionConfig:s,skipAnimations:c,blockInitialAnimation:u,visualState:d},f={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=ef,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const w=Kt.now();this.renderScheduledAt<w&&(this.renderScheduledAt=w,Qe.render(this.render,!1,!0))};const{latestValues:p,renderState:g}=d;this.latestValues=p,this.baseTarget={...p},this.initialValues=a.initial?{...p}:{},this.renderState=g,this.parent=t,this.props=a,this.presenceContext=i,this.depth=t?t.depth+1:0,this.reducedMotionConfig=s,this.skipAnimationsConfig=c,this.options=f,this.blockInitialAnimation=!!u,this.isControllingVariants=dc(a),this.isVariantNode=B0(a),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:v,...y}=this.scrapeMotionValuesFromProps(a,{},this);for(const w in y){const _=y[w];p[w]!==void 0&&At(_)&&_.set(p[w])}}mount(t){if(this.hasBeenMounted)for(const a in this.initialValues)this.values.get(a)?.jump(this.initialValues[a]),this.latestValues[a]=this.initialValues[a];this.current=t,_T.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((a,i)=>this.bindToMotionValue(i,a)),this.reducedMotionConfig==="never"?this.shouldReduceMotion=!1:this.reducedMotionConfig==="always"?this.shouldReduceMotion=!0:(hf.current||H0(),this.shouldReduceMotion=Yl.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){this.projection&&this.projection.unmount(),na(this.notifyUpdate),na(this.render),this.valueSubscriptions.forEach(t=>t()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(const t in this.events)this.events[t].clear();for(const t in this.features){const a=this.features[t];a&&(a.unmount(),a.isMounted=!1)}this.current=null}addChild(t){this.children.add(t),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(t)}removeChild(t){this.children.delete(t),this.enteringChildren&&this.enteringChildren.delete(t)}bindToMotionValue(t,a){if(this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)(),a.accelerate&&P0.has(t)&&this.current instanceof HTMLElement){const{factory:u,keyframes:d,times:f,ease:p,duration:g}=a.accelerate,v=new _0({element:this.current,name:t,keyframes:d,times:f,ease:p,duration:pn(g)}),y=u(v);this.valueSubscriptions.set(t,()=>{y(),v.cancel()});return}const i=Mi.has(t);i&&this.onBindTransform&&this.onBindTransform();const s=a.on("change",u=>{this.latestValues[t]=u,this.props.onUpdate&&Qe.preRender(this.notifyUpdate),i&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let c;typeof window<"u"&&window.MotionCheckAppearSync&&(c=window.MotionCheckAppearSync(this,t,a)),this.valueSubscriptions.set(t,()=>{s(),c&&c(),a.owner&&a.stop()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}updateFeatures(){let t="animation";for(t in Xl){const a=Xl[t];if(!a)continue;const{isEnabled:i,Feature:s}=a;if(!this.features[t]&&s&&i(this.props)&&(this.features[t]=new s(this)),this.features[t]){const c=this.features[t];c.isMounted?c.update():(c.mount(),c.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):xt()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,a){this.latestValues[t]=a}update(t,a){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=a;for(let i=0;i<pv.length;i++){const s=pv[i];this.propEventSubscriptions[s]&&(this.propEventSubscriptions[s](),delete this.propEventSubscriptions[s]);const c="on"+s,u=t[c];u&&(this.propEventSubscriptions[s]=this.on(s,u))}this.prevMotionValues=xT(this,this.scrapeMotionValuesFromProps(t,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(t){return this.props.variants?this.props.variants[t]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(t){const a=this.getClosestVariantNode();if(a)return a.variantChildren&&a.variantChildren.add(t),()=>a.variantChildren.delete(t)}addValue(t,a){const i=this.values.get(t);a!==i&&(i&&this.removeValue(t),this.bindToMotionValue(t,a),this.values.set(t,a),this.latestValues[t]=a.get())}removeValue(t){this.values.delete(t);const a=this.valueSubscriptions.get(t);a&&(a(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,a){if(this.props.values&&this.props.values[t])return this.props.values[t];let i=this.values.get(t);return i===void 0&&a!==void 0&&(i=Ri(a===null?void 0:a,{owner:this}),this.addValue(t,i)),i}readValue(t,a){let i=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options);return i!=null&&(typeof i=="string"&&(Bk(i)||$k(i))?i=parseFloat(i):!wT(i)&&Fn.test(a)&&(i=N0(t,a)),this.setBaseTarget(t,At(i)?i.get():i)),At(i)?i.get():i}setBaseTarget(t,a){this.baseTarget[t]=a}getBaseTarget(t){const{initial:a}=this.props;let i;if(typeof a=="string"||typeof a=="object"){const c=rf(this.props,a,this.presenceContext?.custom);c&&(i=c[t])}if(a&&i!==void 0)return i;const s=this.getBaseTargetFromProps(this.props,t);return s!==void 0&&!At(s)?s:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,a){return this.events[t]||(this.events[t]=new Wh),this.events[t].add(a)}notify(t,...a){this.events[t]&&this.events[t].notify(...a)}scheduleRenderMicrotask(){sf.render(this.render)}}class W0 extends CT{constructor(){super(...arguments),this.KeyframeResolver=tT}sortInstanceNodePosition(t,a){return t.compareDocumentPosition(a)&2?1:-1}getBaseTargetFromProps(t,a){const i=t.style;return i?i[a]:void 0}removeValueFromRenderState(t,{vars:a,style:i}){delete a[t],delete i[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;At(t)&&(this.childSubscription=t.on("change",a=>{this.current&&(this.current.textContent=`${a}`)}))}}class oa{constructor(t){this.isMounted=!1,this.node=t}update(){}}function G0({top:e,left:t,right:a,bottom:i}){return{x:{min:t,max:a},y:{min:e,max:i}}}function TT({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function ET(e,t){if(!t)return e;const a=t({x:e.left,y:e.top}),i=t({x:e.right,y:e.bottom});return{top:a.y,left:a.x,bottom:i.y,right:i.x}}function md(e){return e===void 0||e===1}function eh({scale:e,scaleX:t,scaleY:a}){return!md(e)||!md(t)||!md(a)}function Da(e){return eh(e)||K0(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function K0(e){return mv(e.x)||mv(e.y)}function mv(e){return e&&e!=="0%"}function Zl(e,t,a){const i=e-a,s=t*i;return a+s}function gv(e,t,a,i,s){return s!==void 0&&(e=Zl(e,s,i)),Zl(e,a,i)+t}function th(e,t=0,a=1,i,s){e.min=gv(e.min,t,a,i,s),e.max=gv(e.max,t,a,i,s)}function Y0(e,{x:t,y:a}){th(e.x,t.translate,t.scale,t.originPoint),th(e.y,a.translate,a.scale,a.originPoint)}const vv=.999999999999,yv=1.0000000000001;function RT(e,t,a,i=!1){const s=a.length;if(!s)return;t.x=t.y=1;let c,u;for(let d=0;d<s;d++){c=a[d],u=c.projectionDelta;const{visualElement:f}=c.options;f&&f.props.style&&f.props.style.display==="contents"||(i&&c.options.layoutScroll&&c.scroll&&c!==c.root&&(Jn(e.x,-c.scroll.offset.x),Jn(e.y,-c.scroll.offset.y)),u&&(t.x*=u.x.scale,t.y*=u.y.scale,Y0(e,u)),i&&Da(c.latestValues)&&Nl(e,c.latestValues,c.layout?.layoutBox))}t.x<yv&&t.x>vv&&(t.x=1),t.y<yv&&t.y>vv&&(t.y=1)}function Jn(e,t){e.min+=t,e.max+=t}function kv(e,t,a,i,s=.5){const c=it(e.min,e.max,s);th(e,t,a,c,i)}function bv(e,t){return typeof e=="string"?parseFloat(e)/100*(t.max-t.min):e}function Nl(e,t,a){const i=a??e;kv(e.x,bv(t.x,i.x),t.scaleX,t.scale,t.originX),kv(e.y,bv(t.y,i.y),t.scaleY,t.scale,t.originY)}function X0(e,t){return G0(ET(e.getBoundingClientRect(),t))}function DT(e,t,a){const i=X0(e,a),{scroll:s}=t;return s&&(Jn(i.x,s.offset.x),Jn(i.y,s.offset.y)),i}const IT={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},AT=Ai.length;function MT(e,t,a){let i="",s=!0;for(let c=0;c<AT;c++){const u=Ai[c],d=e[u];if(d===void 0)continue;let f=!0;if(typeof d=="number")f=d===(u.startsWith("scale")?1:0);else{const p=parseFloat(d);f=u.startsWith("scale")?p===1:p===0}if(!f||a){const p=O0(d,of[u]);if(!f){s=!1;const g=IT[u]||u;i+=`${g}(${p}) `}a&&(t[u]=p)}}return i=i.trim(),a?i=a(t,s?"":i):s&&(i="none"),i}function ff(e,t,a){const{style:i,vars:s,transformOrigin:c}=e;let u=!1,d=!1;for(const f in t){const p=t[f];if(Mi.has(f)){u=!0;continue}else if(i0(f)){s[f]=p;continue}else{const g=O0(p,of[f]);f.startsWith("origin")?(d=!0,c[f]=g):i[f]=g}}if(t.transform||(u||a?i.transform=MT(t,e.transform,a):i.transform&&(i.transform="none")),d){const{originX:f="50%",originY:p="50%",originZ:g=0}=c;i.transformOrigin=`${f} ${p} ${g}`}}function Z0(e,{style:t,vars:a},i,s){const c=e.style;let u;for(u in t)c[u]=t[u];s?.applyProjectionStyles(c,i);for(u in a)c.setProperty(u,a[u])}function wv(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const xo={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(ye.test(e))e=parseFloat(e);else return e;const a=wv(e,t.target.x),i=wv(e,t.target.y);return`${a}% ${i}%`}},LT={correct:(e,{treeScale:t,projectionDelta:a})=>{const i=e,s=Fn.parse(e);if(s.length>5)return i;const c=Fn.createTransformer(e),u=typeof s[0]!="number"?1:0,d=a.x.scale*t.x,f=a.y.scale*t.y;s[0+u]/=d,s[1+u]/=f;const p=it(d,f,.5);return typeof s[2+u]=="number"&&(s[2+u]/=p),typeof s[3+u]=="number"&&(s[3+u]/=p),c(s)}},nh={borderRadius:{...xo,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:xo,borderTopRightRadius:xo,borderBottomLeftRadius:xo,borderBottomRightRadius:xo,boxShadow:LT};function q0(e,{layout:t,layoutId:a}){return Mi.has(e)||e.startsWith("origin")||(t||a!==void 0)&&(!!nh[e]||e==="opacity")}function pf(e,t,a){const i=e.style,s=t?.style,c={};if(!i)return c;for(const u in i)(At(i[u])||s&&At(s[u])||q0(u,e)||a?.getValue(u)?.liveStyle!==void 0)&&(c[u]=i[u]);return c}function NT(e){return window.getComputedStyle(e)}class jT extends W0{constructor(){super(...arguments),this.type="html",this.renderInstance=Z0}readValueFromInstance(t,a){if(Mi.has(a))return this.projection?.isProjecting?Hd(a):r3(t,a);{const i=NT(t),s=(i0(a)?i.getPropertyValue(a):i[a])||0;return typeof s=="string"?s.trim():s}}measureInstanceViewportBox(t,{transformPagePoint:a}){return X0(t,a)}build(t,a,i){ff(t,a,i.transformTemplate)}scrapeMotionValuesFromProps(t,a,i){return pf(t,a,i)}}const OT={offset:"stroke-dashoffset",array:"stroke-dasharray"},zT={offset:"strokeDashoffset",array:"strokeDasharray"};function VT(e,t,a=1,i=0,s=!0){e.pathLength=1;const c=s?OT:zT;e[c.offset]=`${-i}`,e[c.array]=`${t} ${a}`}const FT=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function Q0(e,{attrX:t,attrY:a,attrScale:i,pathLength:s,pathSpacing:c=1,pathOffset:u=0,...d},f,p,g){if(ff(e,d,p),f){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:v,style:y}=e;v.transform&&(y.transform=v.transform,delete v.transform),(y.transform||v.transformOrigin)&&(y.transformOrigin=v.transformOrigin??"50% 50%",delete v.transformOrigin),y.transform&&(y.transformBox=g?.transformBox??"fill-box",delete v.transformBox);for(const w of FT)v[w]!==void 0&&(y[w]=v[w],delete v[w]);t!==void 0&&(v.x=t),a!==void 0&&(v.y=a),i!==void 0&&(v.scale=i),s!==void 0&&VT(v,s,c,u,!1)}const J0=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]),eb=e=>typeof e=="string"&&e.toLowerCase()==="svg";function UT(e,t,a,i){Z0(e,t,void 0,i);for(const s in t.attrs)e.setAttribute(J0.has(s)?s:af(s),t.attrs[s])}function tb(e,t,a){const i=pf(e,t,a);for(const s in e)if(At(e[s])||At(t[s])){const c=Ai.indexOf(s)!==-1?"attr"+s.charAt(0).toUpperCase()+s.substring(1):s;i[c]=e[s]}return i}class BT extends W0{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=xt}getBaseTargetFromProps(t,a){return t[a]}readValueFromInstance(t,a){if(Mi.has(a)){const i=L0(a);return i&&i.default||0}return a=J0.has(a)?a:af(a),t.getAttribute(a)}scrapeMotionValuesFromProps(t,a,i){return tb(t,a,i)}build(t,a,i){Q0(t,a,this.isSVGTag,i.transformTemplate,i.style)}renderInstance(t,a,i,s){UT(t,a,i,s)}mount(t){this.isSVGTag=eb(t.tagName),super.mount(t)}}const HT=df.length;function nb(e){if(!e)return;if(!e.isControllingVariants){const a=e.parent?nb(e.parent)||{}:{};return e.props.initial!==void 0&&(a.initial=e.props.initial),a}const t={};for(let a=0;a<HT;a++){const i=df[a],s=e.props[i];(Wo(s)||s===!1)&&(t[i]=s)}return t}function rb(e,t){if(!Array.isArray(t))return!1;const a=t.length;if(a!==e.length)return!1;for(let i=0;i<a;i++)if(t[i]!==e[i])return!1;return!0}const $T=[...uf].reverse(),WT=uf.length;function GT(e){return t=>Promise.all(t.map(({animation:a,options:i})=>$3(e,a,i)))}function KT(e){let t=GT(e),a=_v(),i=!0,s=!1;const c=p=>(g,v)=>{const y=Na(e,v,p==="exit"?e.presenceContext?.custom:void 0);if(y){const{transition:w,transitionEnd:_,...P}=y;g={...g,...P,..._}}return g};function u(p){t=p(e)}function d(p){const{props:g}=e,v=nb(e.parent)||{},y=[],w=new Set;let _={},P=1/0;for(let N=0;N<WT;N++){const j=$T[N],M=a[j],D=g[j]!==void 0?g[j]:v[j],B=Wo(D),Z=j===p?M.isActive:null;Z===!1&&(P=N);let oe=D===v[j]&&D!==g[j]&&B;if(oe&&(i||s)&&e.manuallyAnimateOnMount&&(oe=!1),M.protectedKeys={..._},!M.isActive&&Z===null||!D&&!M.prevProp||uc(D)||typeof D=="boolean")continue;if(j==="exit"&&M.isActive&&Z!==!0){M.prevResolvedValues&&(_={..._,...M.prevResolvedValues});continue}const x=YT(M.prevProp,D);let ee=x||j===p&&M.isActive&&!oe&&B||N>P&&B,Y=!1;const ue=Array.isArray(D)?D:[D];let se=ue.reduce(c(j),{});Z===!1&&(se={});const{prevResolvedValues:q={}}=M,ae={...q,...se},ie=V=>{ee=!0,w.has(V)&&(Y=!0,w.delete(V)),M.needsAnimating[V]=!0;const $=e.getValue(V);$&&($.liveStyle=!1)};for(const V in ae){const $=se[V],O=q[V];if(_.hasOwnProperty(V))continue;let E=!1;Xd($)&&Xd(O)?E=!rb($,O):E=$!==O,E?$!=null?ie(V):w.add(V):$!==void 0&&w.has(V)?ie(V):M.protectedKeys[V]=!0}M.prevProp=D,M.prevResolvedValues=se,M.isActive&&(_={..._,...se}),(i||s)&&e.blockInitialAnimation&&(ee=!1);const Q=oe&&x;ee&&(!Q||Y)&&y.push(...ue.map(V=>{const $={type:j};if(typeof V=="string"&&(i||s)&&!Q&&e.manuallyAnimateOnMount&&e.parent){const{parent:O}=e,E=Na(O,V);if(O.enteringChildren&&E){const{delayChildren:W}=E.transition||{};$.delay=S0(O.enteringChildren,e,W)}}return{animation:V,options:$}}))}if(w.size){const N={};if(typeof g.initial!="boolean"){const j=Na(e,Array.isArray(g.initial)?g.initial[0]:g.initial);j&&j.transition&&(N.transition=j.transition)}w.forEach(j=>{const M=e.getBaseTarget(j),D=e.getValue(j);D&&(D.liveStyle=!0),N[j]=M??null}),y.push({animation:N})}let S=!!y.length;return i&&(g.initial===!1||g.initial===g.animate)&&!e.manuallyAnimateOnMount&&(S=!1),i=!1,s=!1,S?t(y):Promise.resolve()}function f(p,g){if(a[p].isActive===g)return Promise.resolve();e.variantChildren?.forEach(y=>y.animationState?.setActive(p,g)),a[p].isActive=g;const v=d(p);for(const y in a)a[y].protectedKeys={};return v}return{animateChanges:d,setActive:f,setAnimateFunction:u,getState:()=>a,reset:()=>{a=_v(),s=!0}}}function YT(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!rb(t,e):!1}function Ca(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function _v(){return{animate:Ca(!0),whileInView:Ca(),whileHover:Ca(),whileTap:Ca(),whileDrag:Ca(),whileFocus:Ca(),exit:Ca()}}function rh(e,t){e.min=t.min,e.max=t.max}function On(e,t){rh(e.x,t.x),rh(e.y,t.y)}function xv(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}const ab=1e-4,XT=1-ab,ZT=1+ab,ib=.01,qT=0-ib,QT=0+ib;function Yt(e){return e.max-e.min}function JT(e,t,a){return Math.abs(e-t)<=a}function Pv(e,t,a,i=.5){e.origin=i,e.originPoint=it(t.min,t.max,e.origin),e.scale=Yt(a)/Yt(t),e.translate=it(a.min,a.max,e.origin)-e.originPoint,(e.scale>=XT&&e.scale<=ZT||isNaN(e.scale))&&(e.scale=1),(e.translate>=qT&&e.translate<=QT||isNaN(e.translate))&&(e.translate=0)}function No(e,t,a,i){Pv(e.x,t.x,a.x,i?i.originX:void 0),Pv(e.y,t.y,a.y,i?i.originY:void 0)}function Sv(e,t,a,i=0){const s=i?it(a.min,a.max,i):a.min;e.min=s+t.min,e.max=e.min+Yt(t)}function eE(e,t,a,i){Sv(e.x,t.x,a.x,i?.x),Sv(e.y,t.y,a.y,i?.y)}function Cv(e,t,a,i=0){const s=i?it(a.min,a.max,i):a.min;e.min=t.min-s,e.max=e.min+Yt(t)}function ql(e,t,a,i){Cv(e.x,t.x,a.x,i?.x),Cv(e.y,t.y,a.y,i?.y)}function Tv(e,t,a,i,s){return e-=t,e=Zl(e,1/a,i),s!==void 0&&(e=Zl(e,1/s,i)),e}function tE(e,t=0,a=1,i=.5,s,c=e,u=e){if(er.test(t)&&(t=parseFloat(t),t=it(u.min,u.max,t/100)-u.min),typeof t!="number")return;let d=it(c.min,c.max,i);e===c&&(d-=t),e.min=Tv(e.min,t,a,d,s),e.max=Tv(e.max,t,a,d,s)}function Ev(e,t,[a,i,s],c,u){tE(e,t[a],t[i],t[s],t.scale,c,u)}const nE=["x","scaleX","originX"],rE=["y","scaleY","originY"];function Rv(e,t,a,i){Ev(e.x,t,nE,a?a.x:void 0,i?i.x:void 0),Ev(e.y,t,rE,a?a.y:void 0,i?i.y:void 0)}function Dv(e){return e.translate===0&&e.scale===1}function ob(e){return Dv(e.x)&&Dv(e.y)}function Iv(e,t){return e.min===t.min&&e.max===t.max}function aE(e,t){return Iv(e.x,t.x)&&Iv(e.y,t.y)}function Av(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function sb(e,t){return Av(e.x,t.x)&&Av(e.y,t.y)}function Mv(e){return Yt(e.x)/Yt(e.y)}function Lv(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}function Qn(e){return[e("x"),e("y")]}function iE(e,t,a){let i="";const s=e.x.translate/t.x,c=e.y.translate/t.y,u=a?.z||0;if((s||c||u)&&(i=`translate3d(${s}px, ${c}px, ${u}px) `),(t.x!==1||t.y!==1)&&(i+=`scale(${1/t.x}, ${1/t.y}) `),a){const{transformPerspective:p,rotate:g,rotateX:v,rotateY:y,skewX:w,skewY:_}=a;p&&(i=`perspective(${p}px) ${i}`),g&&(i+=`rotate(${g}deg) `),v&&(i+=`rotateX(${v}deg) `),y&&(i+=`rotateY(${y}deg) `),w&&(i+=`skewX(${w}deg) `),_&&(i+=`skewY(${_}deg) `)}const d=e.x.scale*t.x,f=e.y.scale*t.y;return(d!==1||f!==1)&&(i+=`scale(${d}, ${f})`),i||"none"}const lb=["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"],oE=lb.length,Nv=e=>typeof e=="string"?parseFloat(e):e,jv=e=>typeof e=="number"||ye.test(e);function sE(e,t,a,i,s,c){s?(e.opacity=it(0,a.opacity??1,lE(i)),e.opacityExit=it(t.opacity??1,0,cE(i))):c&&(e.opacity=it(t.opacity??1,a.opacity??1,i));for(let u=0;u<oE;u++){const d=lb[u];let f=Ov(t,d),p=Ov(a,d);if(f===void 0&&p===void 0)continue;f||(f=0),p||(p=0),f===0||p===0||jv(f)===jv(p)?(e[d]=Math.max(it(Nv(f),Nv(p),i),0),(er.test(p)||er.test(f))&&(e[d]+="%")):e[d]=p}(t.rotate||a.rotate)&&(e.rotate=it(t.rotate||0,a.rotate||0,i))}function Ov(e,t){return e[t]!==void 0?e[t]:e.borderRadius}const lE=cb(0,.5,Jk),cE=cb(.5,.95,Sn);function cb(e,t,a){return i=>i<e?0:i>t?1:a(Ho(e,t,i))}function uE(e,t,a){const i=At(e)?e:Ri(e);return i.start(nf("",i,t,a)),i.animation}function Go(e,t,a,i={passive:!0}){return e.addEventListener(t,a,i),()=>e.removeEventListener(t,a)}const dE=(e,t)=>e.depth-t.depth;class hE{constructor(){this.children=[],this.isDirty=!1}add(t){Hh(this.children,t),this.isDirty=!0}remove(t){Hl(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(dE),this.isDirty=!1,this.children.forEach(t)}}function fE(e,t){const a=Kt.now(),i=({timestamp:s})=>{const c=s-a;c>=t&&(na(i),e(c-t))};return Qe.setup(i,!0),()=>na(i)}function jl(e){return At(e)?e.get():e}class pE{constructor(){this.members=[]}add(t){Hh(this.members,t);for(let a=this.members.length-1;a>=0;a--){const i=this.members[a];if(i===t||i===this.lead||i===this.prevLead)continue;const s=i.instance;(!s||s.isConnected===!1)&&!i.snapshot&&(Hl(this.members,i),i.unmount())}t.scheduleRender()}remove(t){if(Hl(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const a=this.members[this.members.length-1];a&&this.promote(a)}}relegate(t){for(let a=this.members.indexOf(t)-1;a>=0;a--){const i=this.members[a];if(i.isPresent!==!1&&i.instance?.isConnected!==!1)return this.promote(i),!0}return!1}promote(t,a){const i=this.lead;if(t!==i&&(this.prevLead=i,this.lead=t,t.show(),i)){i.updateSnapshot(),t.scheduleRender();const{layoutDependency:s}=i.options,{layoutDependency:c}=t.options;(s===void 0||s!==c)&&(t.resumeFrom=i,a&&(i.preserveOpacity=!0),i.snapshot&&(t.snapshot=i.snapshot,t.snapshot.latestValues=i.animationValues||i.latestValues),t.root?.isUpdating&&(t.isLayoutDirty=!0)),t.options.crossfade===!1&&i.hide()}}exitAnimationComplete(){this.members.forEach(t=>{t.options.onExitComplete?.(),t.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(t=>t.instance&&t.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}}const Ol={hasAnimatedSinceResize:!0,hasEverUpdated:!1},gd=["","X","Y","Z"],mE=1e3;let gE=0;function vd(e,t,a,i){const{latestValues:s}=t;s[e]&&(a[e]=s[e],t.setStaticValue(e,0),i&&(i[e]=0))}function ub(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const a=D0(t);if(window.MotionHasOptimisedAnimation(a,"transform")){const{layout:s,layoutId:c}=e.options;window.MotionCancelOptimisedAnimation(a,"transform",Qe,!(s||c))}const{parent:i}=e;i&&!i.hasCheckedOptimisedAppear&&ub(i)}function db({attachResizeListener:e,defaultParent:t,measureScroll:a,checkIsScrollRoot:i,resetTransform:s}){return class{constructor(u={},d=t?.()){this.id=gE++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(kE),this.nodes.forEach(SE),this.nodes.forEach(CE),this.nodes.forEach(bE)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=u,this.root=d?d.root||d:this,this.path=d?[...d.path,d]:[],this.parent=d,this.depth=d?d.depth+1:0;for(let f=0;f<this.path.length;f++)this.path[f].shouldResetTransform=!0;this.root===this&&(this.nodes=new hE)}addEventListener(u,d){return this.eventHandlers.has(u)||this.eventHandlers.set(u,new Wh),this.eventHandlers.get(u).add(d)}notifyListeners(u,...d){const f=this.eventHandlers.get(u);f&&f.notify(...d)}hasListeners(u){return this.eventHandlers.has(u)}mount(u){if(this.instance)return;this.isSVG=cf(u)&&!kT(u),this.instance=u;const{layoutId:d,layout:f,visualElement:p}=this.options;if(p&&!p.current&&p.mount(u),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(f||d)&&(this.isLayoutDirty=!0),e){let g,v=0;const y=()=>this.root.updateBlockedByResize=!1;Qe.read(()=>{v=window.innerWidth}),e(u,()=>{const w=window.innerWidth;w!==v&&(v=w,this.root.updateBlockedByResize=!0,g&&g(),g=fE(y,250),Ol.hasAnimatedSinceResize&&(Ol.hasAnimatedSinceResize=!1,this.nodes.forEach(Fv)))})}d&&this.root.registerSharedNode(d,this),this.options.animate!==!1&&p&&(d||f)&&this.addEventListener("didUpdate",({delta:g,hasLayoutChanged:v,hasRelativeLayoutChanged:y,layout:w})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const _=this.options.transition||p.getDefaultTransition()||IE,{onLayoutAnimationStart:P,onLayoutAnimationComplete:S}=p.getProps(),N=!this.targetLayout||!sb(this.targetLayout,w),j=!v&&y;if(this.options.layoutRoot||this.resumeFrom||j||v&&(N||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const M={...tf(_,"layout"),onPlay:P,onComplete:S};(p.shouldReduceMotion||this.options.layoutRoot)&&(M.delay=0,M.type=!1),this.startAnimation(M),this.setAnimationOrigin(g,j)}else v||Fv(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=w})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const u=this.getStack();u&&u.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),na(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(TE),this.animationId++)}getTransformTemplate(){const{visualElement:u}=this.options;return u&&u.getProps().transformTemplate}willUpdate(u=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&ub(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let g=0;g<this.path.length;g++){const v=this.path[g];v.shouldResetTransform=!0,(typeof v.latestValues.x=="string"||typeof v.latestValues.y=="string")&&(v.isLayoutDirty=!0),v.updateScroll("snapshot"),v.options.layoutRoot&&v.willUpdate(!1)}const{layoutId:d,layout:f}=this.options;if(d===void 0&&!f)return;const p=this.getTransformTemplate();this.prevTransformTemplateValue=p?p(this.latestValues,""):void 0,this.updateSnapshot(),u&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){const f=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),f&&this.nodes.forEach(_E),this.nodes.forEach(zv);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(Vv);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(xE),this.nodes.forEach(PE),this.nodes.forEach(vE),this.nodes.forEach(yE)):this.nodes.forEach(Vv),this.clearAllSnapshots();const d=Kt.now();It.delta=rr(0,1e3/60,d-It.timestamp),It.timestamp=d,It.isProcessing=!0,ld.update.process(It),ld.preRender.process(It),ld.render.process(It),It.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,sf.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(wE),this.sharedNodes.forEach(EE)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,Qe.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){Qe.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!Yt(this.snapshot.measuredBox.x)&&!Yt(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let f=0;f<this.path.length;f++)this.path[f].updateScroll();const u=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||(this.layoutCorrected=xt()),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:d}=this.options;d&&d.notify("LayoutMeasure",this.layout.layoutBox,u?u.layoutBox:void 0)}updateScroll(u="measure"){let d=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===u&&(d=!1),d&&this.instance){const f=i(this.instance);this.scroll={animationId:this.root.animationId,phase:u,isRoot:f,offset:a(this.instance),wasRoot:this.scroll?this.scroll.isRoot:f}}}resetTransform(){if(!s)return;const u=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,d=this.projectionDelta&&!ob(this.projectionDelta),f=this.getTransformTemplate(),p=f?f(this.latestValues,""):void 0,g=p!==this.prevTransformTemplateValue;u&&this.instance&&(d||Da(this.latestValues)||g)&&(s(this.instance,p),this.shouldResetTransform=!1,this.scheduleRender())}measure(u=!0){const d=this.measurePageBox();let f=this.removeElementScroll(d);return u&&(f=this.removeTransform(f)),AE(f),{animationId:this.root.animationId,measuredBox:d,layoutBox:f,latestValues:{},source:this.id}}measurePageBox(){const{visualElement:u}=this.options;if(!u)return xt();const d=u.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(ME))){const{scroll:p}=this.root;p&&(Jn(d.x,p.offset.x),Jn(d.y,p.offset.y))}return d}removeElementScroll(u){const d=xt();if(On(d,u),this.scroll?.wasRoot)return d;for(let f=0;f<this.path.length;f++){const p=this.path[f],{scroll:g,options:v}=p;p!==this.root&&g&&v.layoutScroll&&(g.wasRoot&&On(d,u),Jn(d.x,g.offset.x),Jn(d.y,g.offset.y))}return d}applyTransform(u,d=!1,f){const p=f||xt();On(p,u);for(let g=0;g<this.path.length;g++){const v=this.path[g];!d&&v.options.layoutScroll&&v.scroll&&v!==v.root&&(Jn(p.x,-v.scroll.offset.x),Jn(p.y,-v.scroll.offset.y)),Da(v.latestValues)&&Nl(p,v.latestValues,v.layout?.layoutBox)}return Da(this.latestValues)&&Nl(p,this.latestValues,this.layout?.layoutBox),p}removeTransform(u){const d=xt();On(d,u);for(let f=0;f<this.path.length;f++){const p=this.path[f];if(!Da(p.latestValues))continue;let g;p.instance&&(eh(p.latestValues)&&p.updateSnapshot(),g=xt(),On(g,p.measurePageBox())),Rv(d,p.latestValues,p.snapshot?.layoutBox,g)}return Da(this.latestValues)&&Rv(d,this.latestValues),d}setTargetDelta(u){this.targetDelta=u,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(u){this.options={...this.options,...u,crossfade:u.crossfade!==void 0?u.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==It.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(u=!1){const d=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=d.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=d.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=d.isSharedProjectionDirty);const f=!!this.resumingFrom||this!==d;if(!(u||f&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:g,layoutId:v}=this.options;if(!this.layout||!(g||v))return;this.resolvedRelativeTargetAt=It.timestamp;const y=this.getClosestProjectingParent();y&&this.linkedParentVersion!==y.layoutVersion&&!y.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(this.options.layoutAnchor!==!1&&y&&y.layout?this.createRelativeTarget(y,this.layout.layoutBox,y.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=xt(),this.targetWithTransforms=xt()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),eE(this.target,this.relativeTarget,this.relativeParent.target,this.options.layoutAnchor||void 0)):this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):On(this.target,this.layout.layoutBox),Y0(this.target,this.targetDelta)):On(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,this.options.layoutAnchor!==!1&&y&&!!y.resumingFrom==!!this.resumingFrom&&!y.options.layoutScroll&&y.target&&this.animationProgress!==1?this.createRelativeTarget(y,this.target,y.target):this.relativeParent=this.relativeTarget=void 0))}getClosestProjectingParent(){if(!(!this.parent||eh(this.parent.latestValues)||K0(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(u,d,f){this.relativeParent=u,this.linkedParentVersion=u.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=xt(),this.relativeTargetOrigin=xt(),ql(this.relativeTargetOrigin,d,f,this.options.layoutAnchor||void 0),On(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){const u=this.getLead(),d=!!this.resumingFrom||this!==u;let f=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(f=!1),d&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(f=!1),this.resolvedRelativeTargetAt===It.timestamp&&(f=!1),f)return;const{layout:p,layoutId:g}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(p||g))return;On(this.layoutCorrected,this.layout.layoutBox);const v=this.treeScale.x,y=this.treeScale.y;RT(this.layoutCorrected,this.treeScale,this.path,d),u.layout&&!u.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(u.target=u.layout.layoutBox,u.targetWithTransforms=xt());const{target:w}=u;if(!w){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(xv(this.prevProjectionDelta.x,this.projectionDelta.x),xv(this.prevProjectionDelta.y,this.projectionDelta.y)),No(this.projectionDelta,this.layoutCorrected,w,this.latestValues),(this.treeScale.x!==v||this.treeScale.y!==y||!Lv(this.projectionDelta.x,this.prevProjectionDelta.x)||!Lv(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",w))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(u=!0){if(this.options.visualElement?.scheduleRender(),u){const d=this.getStack();d&&d.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=Pi(),this.projectionDelta=Pi(),this.projectionDeltaWithTransform=Pi()}setAnimationOrigin(u,d=!1){const f=this.snapshot,p=f?f.latestValues:{},g={...this.latestValues},v=Pi();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!d;const y=xt(),w=f?f.source:void 0,_=this.layout?this.layout.source:void 0,P=w!==_,S=this.getStack(),N=!S||S.members.length<=1,j=!!(P&&!N&&this.options.crossfade===!0&&!this.path.some(DE));this.animationProgress=0;let M;this.mixTargetDelta=D=>{const B=D/1e3;Uv(v.x,u.x,B),Uv(v.y,u.y,B),this.setTargetDelta(v),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(ql(y,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),RE(this.relativeTarget,this.relativeTargetOrigin,y,B),M&&aE(this.relativeTarget,M)&&(this.isProjectionDirty=!1),M||(M=xt()),On(M,this.relativeTarget)),P&&(this.animationValues=g,sE(g,p,this.latestValues,B,j,N)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=B},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(u){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&(na(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=Qe.update(()=>{Ol.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=Ri(0)),this.motionValue.jump(0,!1),this.currentAnimation=uE(this.motionValue,[0,1e3],{...u,velocity:0,isSync:!0,onUpdate:d=>{this.mixTargetDelta(d),u.onUpdate&&u.onUpdate(d)},onStop:()=>{},onComplete:()=>{u.onComplete&&u.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const u=this.getStack();u&&u.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(mE),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const u=this.getLead();let{targetWithTransforms:d,target:f,layout:p,latestValues:g}=u;if(!(!d||!f||!p)){if(this!==u&&this.layout&&p&&hb(this.options.animationType,this.layout.layoutBox,p.layoutBox)){f=this.target||xt();const v=Yt(this.layout.layoutBox.x);f.x.min=u.target.x.min,f.x.max=f.x.min+v;const y=Yt(this.layout.layoutBox.y);f.y.min=u.target.y.min,f.y.max=f.y.min+y}On(d,f),Nl(d,g),No(this.projectionDeltaWithTransform,this.layoutCorrected,d,g)}}registerSharedNode(u,d){this.sharedNodes.has(u)||this.sharedNodes.set(u,new pE),this.sharedNodes.get(u).add(d);const p=d.options.initialPromotionConfig;d.promote({transition:p?p.transition:void 0,preserveFollowOpacity:p&&p.shouldPreserveFollowOpacity?p.shouldPreserveFollowOpacity(d):void 0})}isLead(){const u=this.getStack();return u?u.lead===this:!0}getLead(){const{layoutId:u}=this.options;return u?this.getStack()?.lead||this:this}getPrevLead(){const{layoutId:u}=this.options;return u?this.getStack()?.prevLead:void 0}getStack(){const{layoutId:u}=this.options;if(u)return this.root.sharedNodes.get(u)}promote({needsReset:u,transition:d,preserveFollowOpacity:f}={}){const p=this.getStack();p&&p.promote(this,f),u&&(this.projectionDelta=void 0,this.needsReset=!0),d&&this.setOptions({transition:d})}relegate(){const u=this.getStack();return u?u.relegate(this):!1}resetSkewAndRotation(){const{visualElement:u}=this.options;if(!u)return;let d=!1;const{latestValues:f}=u;if((f.z||f.rotate||f.rotateX||f.rotateY||f.rotateZ||f.skewX||f.skewY)&&(d=!0),!d)return;const p={};f.z&&vd("z",u,p,this.animationValues);for(let g=0;g<gd.length;g++)vd(`rotate${gd[g]}`,u,p,this.animationValues),vd(`skew${gd[g]}`,u,p,this.animationValues);u.render();for(const g in p)u.setStaticValue(g,p[g]),this.animationValues&&(this.animationValues[g]=p[g]);u.scheduleRender()}applyProjectionStyles(u,d){if(!this.instance||this.isSVG)return;if(!this.isVisible){u.visibility="hidden";return}const f=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,u.visibility="",u.opacity="",u.pointerEvents=jl(d?.pointerEvents)||"",u.transform=f?f(this.latestValues,""):"none";return}const p=this.getLead();if(!this.projectionDelta||!this.layout||!p.target){this.options.layoutId&&(u.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,u.pointerEvents=jl(d?.pointerEvents)||""),this.hasProjected&&!Da(this.latestValues)&&(u.transform=f?f({},""):"none",this.hasProjected=!1);return}u.visibility="";const g=p.animationValues||p.latestValues;this.applyTransformsToTarget();let v=iE(this.projectionDeltaWithTransform,this.treeScale,g);f&&(v=f(g,v)),u.transform=v;const{x:y,y:w}=this.projectionDelta;u.transformOrigin=`${y.origin*100}% ${w.origin*100}% 0`,p.animationValues?u.opacity=p===this?g.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:g.opacityExit:u.opacity=p===this?g.opacity!==void 0?g.opacity:"":g.opacityExit!==void 0?g.opacityExit:0;for(const _ in nh){if(g[_]===void 0)continue;const{correct:P,applyTo:S,isCSSVariable:N}=nh[_],j=v==="none"?g[_]:P(g[_],p);if(S){const M=S.length;for(let D=0;D<M;D++)u[S[D]]=j}else N?this.options.visualElement.renderState.vars[_]=j:u[_]=j}this.options.layoutId&&(u.pointerEvents=p===this?jl(d?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(u=>u.currentAnimation?.stop()),this.root.nodes.forEach(zv),this.root.sharedNodes.clear()}}}function vE(e){e.updateLayout()}function yE(e){const t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners("didUpdate")){const{layoutBox:a,measuredBox:i}=e.layout,{animationType:s}=e.options,c=t.source!==e.layout.source;if(s==="size")Qn(g=>{const v=c?t.measuredBox[g]:t.layoutBox[g],y=Yt(v);v.min=a[g].min,v.max=v.min+y});else if(s==="x"||s==="y"){const g=s==="x"?"y":"x";rh(c?t.measuredBox[g]:t.layoutBox[g],a[g])}else hb(s,t.layoutBox,a)&&Qn(g=>{const v=c?t.measuredBox[g]:t.layoutBox[g],y=Yt(a[g]);v.max=v.min+y,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[g].max=e.relativeTarget[g].min+y)});const u=Pi();No(u,a,t.layoutBox);const d=Pi();c?No(d,e.applyTransform(i,!0),t.measuredBox):No(d,a,t.layoutBox);const f=!ob(u);let p=!1;if(!e.resumeFrom){const g=e.getClosestProjectingParent();if(g&&!g.resumeFrom){const{snapshot:v,layout:y}=g;if(v&&y){const w=e.options.layoutAnchor||void 0,_=xt();ql(_,t.layoutBox,v.layoutBox,w);const P=xt();ql(P,a,y.layoutBox,w),sb(_,P)||(p=!0),g.options.layoutRoot&&(e.relativeTarget=P,e.relativeTargetOrigin=_,e.relativeParent=g)}}}e.notifyListeners("didUpdate",{layout:a,snapshot:t,delta:d,layoutDelta:u,hasLayoutChanged:f,hasRelativeLayoutChanged:p})}else if(e.isLead()){const{onExitComplete:a}=e.options;a&&a()}e.options.transition=void 0}function kE(e){e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function bE(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function wE(e){e.clearSnapshot()}function zv(e){e.clearMeasurements()}function _E(e){e.isLayoutDirty=!0,e.updateLayout()}function Vv(e){e.isLayoutDirty=!1}function xE(e){e.isAnimationBlocked&&e.layout&&!e.isLayoutDirty&&(e.snapshot=e.layout,e.isLayoutDirty=!0)}function PE(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function Fv(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function SE(e){e.resolveTargetDelta()}function CE(e){e.calcProjection()}function TE(e){e.resetSkewAndRotation()}function EE(e){e.removeLeadSnapshot()}function Uv(e,t,a){e.translate=it(t.translate,0,a),e.scale=it(t.scale,1,a),e.origin=t.origin,e.originPoint=t.originPoint}function Bv(e,t,a,i){e.min=it(t.min,a.min,i),e.max=it(t.max,a.max,i)}function RE(e,t,a,i){Bv(e.x,t.x,a.x,i),Bv(e.y,t.y,a.y,i)}function DE(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const IE={duration:.45,ease:[.4,0,.1,1]},Hv=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),$v=Hv("applewebkit/")&&!Hv("chrome/")?Math.round:Sn;function Wv(e){e.min=$v(e.min),e.max=$v(e.max)}function AE(e){Wv(e.x),Wv(e.y)}function hb(e,t,a){return e==="position"||e==="preserve-aspect"&&!JT(Mv(t),Mv(a),.2)}function ME(e){return e!==e.root&&e.scroll?.wasRoot}const LE=db({attachResizeListener:(e,t)=>Go(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),yd={current:void 0},fb=db({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!yd.current){const e=new LE({});e.mount(window),e.setOptions({layoutScroll:!0}),yd.current=e}return yd.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),mf=b.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});function Gv(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function NE(...e){return t=>{let a=!1;const i=e.map(s=>{const c=Gv(s,t);return!a&&typeof c=="function"&&(a=!0),c});if(a)return()=>{for(let s=0;s<i.length;s++){const c=i[s];typeof c=="function"?c():Gv(e[s],null)}}}}function jE(...e){return b.useCallback(NE(...e),e)}class OE extends b.Component{getSnapshotBeforeUpdate(t){const a=this.props.childRef.current;if(Dl(a)&&t.isPresent&&!this.props.isPresent&&this.props.pop!==!1){const i=a.offsetParent,s=Dl(i)&&i.offsetWidth||0,c=Dl(i)&&i.offsetHeight||0,u=getComputedStyle(a),d=this.props.sizeRef.current;d.height=parseFloat(u.height),d.width=parseFloat(u.width),d.top=a.offsetTop,d.left=a.offsetLeft,d.right=s-d.width-d.left,d.bottom=c-d.height-d.top}return null}componentDidUpdate(){}render(){return this.props.children}}function zE({children:e,isPresent:t,anchorX:a,anchorY:i,root:s,pop:c}){const u=b.useId(),d=b.useRef(null),f=b.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0}),{nonce:p}=b.useContext(mf),g=e.props?.ref??e?.ref,v=jE(d,g);return b.useInsertionEffect(()=>{const{width:y,height:w,top:_,left:P,right:S,bottom:N}=f.current;if(t||c===!1||!d.current||!y||!w)return;const j=a==="left"?`left: ${P}`:`right: ${S}`,M=i==="bottom"?`bottom: ${N}`:`top: ${_}`;d.current.dataset.motionPopId=u;const D=document.createElement("style");p&&(D.nonce=p);const B=s??document.head;return B.appendChild(D),D.sheet&&D.sheet.insertRule(`
|
|
603
|
+
[data-motion-pop-id="${u}"] {
|
|
604
|
+
position: absolute !important;
|
|
605
|
+
width: ${y}px !important;
|
|
606
|
+
height: ${w}px !important;
|
|
607
|
+
${j}px !important;
|
|
608
|
+
${M}px !important;
|
|
609
|
+
}
|
|
610
|
+
`),()=>{d.current?.removeAttribute("data-motion-pop-id"),B.contains(D)&&B.removeChild(D)}},[t]),L.jsx(OE,{isPresent:t,childRef:d,sizeRef:f,pop:c,children:c===!1?e:b.cloneElement(e,{ref:v})})}const VE=({children:e,initial:t,isPresent:a,onExitComplete:i,custom:s,presenceAffectsLayout:c,mode:u,anchorX:d,anchorY:f,root:p})=>{const g=Bh(FE),v=b.useId();let y=!0,w=b.useMemo(()=>(y=!1,{id:v,initial:t,isPresent:a,custom:s,onExitComplete:_=>{g.set(_,!0);for(const P of g.values())if(!P)return;i&&i()},register:_=>(g.set(_,!1),()=>g.delete(_))}),[a,g,i]);return c&&y&&(w={...w}),b.useMemo(()=>{g.forEach((_,P)=>g.set(P,!1))},[a]),b.useEffect(()=>{!a&&!g.size&&i&&i()},[a]),e=L.jsx(zE,{pop:u==="popLayout",isPresent:a,anchorX:d,anchorY:f,root:p,children:e}),L.jsx(lc.Provider,{value:w,children:e})};function FE(){return new Map}function pb(e=!0){const t=b.useContext(lc);if(t===null)return[!0,null];const{isPresent:a,onExitComplete:i,register:s}=t,c=b.useId();b.useEffect(()=>{if(e)return s(c)},[e]);const u=b.useCallback(()=>e&&i&&i(c),[c,i,e]);return!a&&i?[!1,u]:[!0]}const bl=e=>e.key||"";function Kv(e){const t=[];return b.Children.forEach(e,a=>{b.isValidElement(a)&&t.push(a)}),t}const UE=({children:e,custom:t,initial:a=!0,onExitComplete:i,presenceAffectsLayout:s=!0,mode:c="sync",propagate:u=!1,anchorX:d="left",anchorY:f="top",root:p})=>{const[g,v]=pb(u),y=b.useMemo(()=>Kv(e),[e]),w=u&&!g?[]:y.map(bl),_=b.useRef(!0),P=b.useRef(y),S=Bh(()=>new Map),N=b.useRef(new Set),[j,M]=b.useState(y),[D,B]=b.useState(y);Uk(()=>{_.current=!1,P.current=y;for(let x=0;x<D.length;x++){const ee=bl(D[x]);w.includes(ee)?(S.delete(ee),N.current.delete(ee)):S.get(ee)!==!0&&S.set(ee,!1)}},[D,w.length,w.join("-")]);const Z=[];if(y!==j){let x=[...y];for(let ee=0;ee<D.length;ee++){const Y=D[ee],ue=bl(Y);w.includes(ue)||(x.splice(ee,0,Y),Z.push(Y))}return c==="wait"&&Z.length&&(x=Z),B(Kv(x)),M(y),null}const{forceRender:oe}=b.useContext(Uh);return L.jsx(L.Fragment,{children:D.map(x=>{const ee=bl(x),Y=u&&!g?!1:y===D||w.includes(ee),ue=()=>{if(N.current.has(ee))return;if(S.has(ee))N.current.add(ee),S.set(ee,!0);else return;let se=!0;S.forEach(q=>{q||(se=!1)}),se&&(oe?.(),B(P.current),u&&v?.(),i&&i())};return L.jsx(VE,{isPresent:Y,initial:!_.current||a?void 0:!1,custom:t,presenceAffectsLayout:s,mode:c,root:p,onExitComplete:Y?void 0:ue,anchorX:d,anchorY:f,children:x},ee)})})},mb=b.createContext({strict:!1}),Yv={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]};let Xv=!1;function BE(){if(Xv)return;const e={};for(const t in Yv)e[t]={isEnabled:a=>Yv[t].some(i=>!!a[i])};$0(e),Xv=!0}function gb(){return BE(),ST()}function HE(e){const t=gb();for(const a in e)t[a]={...t[a],...e[a]};$0(t)}const $E=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function Ql(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||$E.has(e)}let vb=e=>!Ql(e);function WE(e){typeof e=="function"&&(vb=t=>t.startsWith("on")?!Ql(t):e(t))}try{WE(require("@emotion/is-prop-valid").default)}catch{}function GE(e,t,a){const i={};for(const s in e)s==="values"&&typeof e.values=="object"||At(e[s])||(vb(s)||a===!0&&Ql(s)||!t&&!Ql(s)||e.draggable&&s.startsWith("onDrag"))&&(i[s]=e[s]);return i}const hc=b.createContext({});function KE(e,t){if(dc(e)){const{initial:a,animate:i}=e;return{initial:a===!1||Wo(a)?a:void 0,animate:Wo(i)?i:void 0}}return e.inherit!==!1?t:{}}function YE(e){const{initial:t,animate:a}=KE(e,b.useContext(hc));return b.useMemo(()=>({initial:t,animate:a}),[Zv(t),Zv(a)])}function Zv(e){return Array.isArray(e)?e.join(" "):e}const gf=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function yb(e,t,a){for(const i in t)!At(t[i])&&!q0(i,a)&&(e[i]=t[i])}function XE({transformTemplate:e},t){return b.useMemo(()=>{const a=gf();return ff(a,t,e),Object.assign({},a.vars,a.style)},[t])}function ZE(e,t){const a=e.style||{},i={};return yb(i,a,e),Object.assign(i,XE(e,t)),i}function qE(e,t){const a={},i=ZE(e,t);return e.drag&&e.dragListener!==!1&&(a.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(a.tabIndex=0),a.style=i,a}const kb=()=>({...gf(),attrs:{}});function QE(e,t,a,i){const s=b.useMemo(()=>{const c=kb();return Q0(c,t,eb(i),e.transformTemplate,e.style),{...c.attrs,style:{...c.style}}},[t]);if(e.style){const c={};yb(c,e.style,e),s.style={...c,...s.style}}return s}const JE=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function vf(e){return typeof e!="string"||e.includes("-")?!1:!!(JE.indexOf(e)>-1||/[A-Z]/u.test(e))}function eR(e,t,a,{latestValues:i},s,c=!1,u){const f=(u??vf(e)?QE:qE)(t,i,s,e),p=GE(t,typeof e=="string",c),g=e!==b.Fragment?{...p,...f,ref:a}:{},{children:v}=t,y=b.useMemo(()=>At(v)?v.get():v,[v]);return b.createElement(e,{...g,children:y})}function tR({scrapeMotionValuesFromProps:e,createRenderState:t},a,i,s){return{latestValues:nR(a,i,s,e),renderState:t()}}function nR(e,t,a,i){const s={},c=i(e,{});for(const y in c)s[y]=jl(c[y]);let{initial:u,animate:d}=e;const f=dc(e),p=B0(e);t&&p&&!f&&e.inherit!==!1&&(u===void 0&&(u=t.initial),d===void 0&&(d=t.animate));let g=a?a.initial===!1:!1;g=g||u===!1;const v=g?d:u;if(v&&typeof v!="boolean"&&!uc(v)){const y=Array.isArray(v)?v:[v];for(let w=0;w<y.length;w++){const _=rf(e,y[w]);if(_){const{transitionEnd:P,transition:S,...N}=_;for(const j in N){let M=N[j];if(Array.isArray(M)){const D=g?M.length-1:0;M=M[D]}M!==null&&(s[j]=M)}for(const j in P)s[j]=P[j]}}}return s}const bb=e=>(t,a)=>{const i=b.useContext(hc),s=b.useContext(lc),c=()=>tR(e,t,i,s);return a?c():Bh(c)},rR=bb({scrapeMotionValuesFromProps:pf,createRenderState:gf}),aR=bb({scrapeMotionValuesFromProps:tb,createRenderState:kb}),iR=Symbol.for("motionComponentSymbol");function oR(e,t,a){const i=b.useRef(a);b.useInsertionEffect(()=>{i.current=a});const s=b.useRef(null);return b.useCallback(c=>{c&&e.onMount?.(c);const u=i.current;if(typeof u=="function")if(c){const d=u(c);typeof d=="function"&&(s.current=d)}else s.current?(s.current(),s.current=null):u(c);else u&&(u.current=c);t&&(c?t.mount(c):t.unmount())},[t])}const wb=b.createContext({});function bi(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function sR(e,t,a,i,s,c){const{visualElement:u}=b.useContext(hc),d=b.useContext(mb),f=b.useContext(lc),p=b.useContext(mf),g=p.reducedMotion,v=p.skipAnimations,y=b.useRef(null),w=b.useRef(!1);i=i||d.renderer,!y.current&&i&&(y.current=i(e,{visualState:t,parent:u,props:a,presenceContext:f,blockInitialAnimation:f?f.initial===!1:!1,reducedMotionConfig:g,skipAnimations:v,isSVG:c}),w.current&&y.current&&(y.current.manuallyAnimateOnMount=!0));const _=y.current,P=b.useContext(wb);_&&!_.projection&&s&&(_.type==="html"||_.type==="svg")&&lR(y.current,a,s,P);const S=b.useRef(!1);b.useInsertionEffect(()=>{_&&S.current&&_.update(a,f)});const N=a[R0],j=b.useRef(!!N&&typeof window<"u"&&!window.MotionHandoffIsComplete?.(N)&&window.MotionHasOptimisedAnimation?.(N));return Uk(()=>{w.current=!0,_&&(S.current=!0,window.MotionIsMounted=!0,_.updateFeatures(),_.scheduleRenderMicrotask(),j.current&&_.animationState&&_.animationState.animateChanges())}),b.useEffect(()=>{_&&(!j.current&&_.animationState&&_.animationState.animateChanges(),j.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(N)}),j.current=!1),_.enteringChildren=void 0)}),_}function lR(e,t,a,i){const{layoutId:s,layout:c,drag:u,dragConstraints:d,layoutScroll:f,layoutRoot:p,layoutAnchor:g,layoutCrossfade:v}=t;e.projection=new a(e.latestValues,t["data-framer-portal-id"]?void 0:_b(e.parent)),e.projection.setOptions({layoutId:s,layout:c,alwaysMeasureLayout:!!u||d&&bi(d),visualElement:e,animationType:typeof c=="string"?c:"both",initialPromotionConfig:i,crossfade:v,layoutScroll:f,layoutRoot:p,layoutAnchor:g})}function _b(e){if(e)return e.options.allowProjection!==!1?e.projection:_b(e.parent)}function kd(e,{forwardMotionProps:t=!1,type:a}={},i,s){i&&HE(i);const c=a?a==="svg":vf(e),u=c?aR:rR;function d(p,g){let v;const y={...b.useContext(mf),...p,layoutId:cR(p)},{isStatic:w}=y,_=YE(p),P=u(p,w);if(!w&&typeof window<"u"){uR();const S=dR(y);v=S.MeasureLayout,_.visualElement=sR(e,P,y,s,S.ProjectionNode,c)}return L.jsxs(hc.Provider,{value:_,children:[v&&_.visualElement?L.jsx(v,{visualElement:_.visualElement,...y}):null,eR(e,p,oR(P,_.visualElement,g),P,w,t,c)]})}d.displayName=`motion.${typeof e=="string"?e:`create(${e.displayName??e.name??""})`}`;const f=b.forwardRef(d);return f[iR]=e,f}function cR({layoutId:e}){const t=b.useContext(Uh).id;return t&&e!==void 0?t+"-"+e:e}function uR(e,t){b.useContext(mb).strict}function dR(e){const t=gb(),{drag:a,layout:i}=t;if(!a&&!i)return{};const s={...a,...i};return{MeasureLayout:a?.isEnabled(e)||i?.isEnabled(e)?s.MeasureLayout:void 0,ProjectionNode:s.ProjectionNode}}function hR(e,t){if(typeof Proxy>"u")return kd;const a=new Map,i=(c,u)=>kd(c,u,e,t),s=(c,u)=>i(c,u);return new Proxy(s,{get:(c,u)=>u==="create"?i:(a.has(u)||a.set(u,kd(u,void 0,e,t)),a.get(u))})}const fR=(e,t)=>t.isSVG??vf(e)?new BT(t):new jT(t,{allowProjection:e!==b.Fragment});class pR extends oa{constructor(t){super(t),t.animationState||(t.animationState=KT(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();uc(t)&&(this.unmountControls=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:a}=this.node.prevProps||{};t!==a&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let mR=0;class gR extends oa{constructor(){super(...arguments),this.id=mR++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:a}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;if(t&&i===!1){if(this.isExitComplete){const{initial:c,custom:u}=this.node.getProps();if(typeof c=="string"){const d=Na(this.node,c,u);if(d){const{transition:f,transitionEnd:p,...g}=d;for(const v in g)this.node.getValue(v)?.jump(g[v])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}const s=this.node.animationState.setActive("exit",!t);a&&!t&&s.then(()=>{this.isExitComplete=!0,a(this.id)})}mount(){const{register:t,onExitComplete:a}=this.node.presenceContext||{};a&&a(this.id),t&&(this.unmount=t(this.id))}unmount(){}}const vR={animation:{Feature:pR},exit:{Feature:gR}};function rs(e){return{point:{x:e.pageX,y:e.pageY}}}const yR=e=>t=>lf(t)&&e(t,rs(t));function jo(e,t,a,i){return Go(e,t,yR(a),i)}const xb=({current:e})=>e?e.ownerDocument.defaultView:null,qv=(e,t)=>Math.abs(e-t);function kR(e,t){const a=qv(e.x,t.x),i=qv(e.y,t.y);return Math.sqrt(a**2+i**2)}const Qv=new Set(["auto","scroll"]);class Pb{constructor(t,a,{transformPagePoint:i,contextWindow:s=window,dragSnapToOrigin:c=!1,distanceThreshold:u=3,element:d}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=w=>{this.handleScroll(w.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=wl(this.lastRawMoveEventInfo,this.transformPagePoint));const w=bd(this.lastMoveEventInfo,this.history),_=this.startEvent!==null,P=kR(w.offset,{x:0,y:0})>=this.distanceThreshold;if(!_&&!P)return;const{point:S}=w,{timestamp:N}=It;this.history.push({...S,timestamp:N});const{onStart:j,onMove:M}=this.handlers;_||(j&&j(this.lastMoveEvent,w),this.startEvent=this.lastMoveEvent),M&&M(this.lastMoveEvent,w)},this.handlePointerMove=(w,_)=>{this.lastMoveEvent=w,this.lastRawMoveEventInfo=_,this.lastMoveEventInfo=wl(_,this.transformPagePoint),Qe.update(this.updatePoint,!0)},this.handlePointerUp=(w,_)=>{this.end();const{onEnd:P,onSessionEnd:S,resumeAnimation:N}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&N&&N(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const j=bd(w.type==="pointercancel"?this.lastMoveEventInfo:wl(_,this.transformPagePoint),this.history);this.startEvent&&P&&P(w,j),S&&S(w,j)},!lf(t))return;this.dragSnapToOrigin=c,this.handlers=a,this.transformPagePoint=i,this.distanceThreshold=u,this.contextWindow=s||window;const f=rs(t),p=wl(f,this.transformPagePoint),{point:g}=p,{timestamp:v}=It;this.history=[{...g,timestamp:v}];const{onSessionStart:y}=a;y&&y(t,bd(p,this.history)),this.removeListeners=es(jo(this.contextWindow,"pointermove",this.handlePointerMove),jo(this.contextWindow,"pointerup",this.handlePointerUp),jo(this.contextWindow,"pointercancel",this.handlePointerUp)),d&&this.startScrollTracking(d)}startScrollTracking(t){let a=t.parentElement;for(;a;){const i=getComputedStyle(a);(Qv.has(i.overflowX)||Qv.has(i.overflowY))&&this.scrollPositions.set(a,{x:a.scrollLeft,y:a.scrollTop}),a=a.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(t){const a=this.scrollPositions.get(t);if(!a)return;const i=t===window,s=i?{x:window.scrollX,y:window.scrollY}:{x:t.scrollLeft,y:t.scrollTop},c={x:s.x-a.x,y:s.y-a.y};c.x===0&&c.y===0||(i?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=c.x,this.lastMoveEventInfo.point.y+=c.y):this.history.length>0&&(this.history[0].x-=c.x,this.history[0].y-=c.y),this.scrollPositions.set(t,s),Qe.update(this.updatePoint,!0))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),na(this.updatePoint)}}function wl(e,t){return t?{point:t(e.point)}:e}function Jv(e,t){return{x:e.x-t.x,y:e.y-t.y}}function bd({point:e},t){return{point:e,delta:Jv(e,Sb(t)),offset:Jv(e,bR(t)),velocity:wR(t,.1)}}function bR(e){return e[0]}function Sb(e){return e[e.length-1]}function wR(e,t){if(e.length<2)return{x:0,y:0};let a=e.length-1,i=null;const s=Sb(e);for(;a>=0&&(i=e[a],!(s.timestamp-i.timestamp>pn(t)));)a--;if(!i)return{x:0,y:0};i===e[0]&&e.length>2&&s.timestamp-i.timestamp>pn(t)*2&&(i=e[1]);const c=xn(s.timestamp-i.timestamp);if(c===0)return{x:0,y:0};const u={x:(s.x-i.x)/c,y:(s.y-i.y)/c};return u.x===1/0&&(u.x=0),u.y===1/0&&(u.y=0),u}function _R(e,{min:t,max:a},i){return t!==void 0&&e<t?e=i?it(t,e,i.min):Math.max(e,t):a!==void 0&&e>a&&(e=i?it(a,e,i.max):Math.min(e,a)),e}function ey(e,t,a){return{min:t!==void 0?e.min+t:void 0,max:a!==void 0?e.max+a-(e.max-e.min):void 0}}function xR(e,{top:t,left:a,bottom:i,right:s}){return{x:ey(e.x,a,s),y:ey(e.y,t,i)}}function ty(e,t){let a=t.min-e.min,i=t.max-e.max;return t.max-t.min<e.max-e.min&&([a,i]=[i,a]),{min:a,max:i}}function PR(e,t){return{x:ty(e.x,t.x),y:ty(e.y,t.y)}}function SR(e,t){let a=.5;const i=Yt(e),s=Yt(t);return s>i?a=Ho(t.min,t.max-i,e.min):i>s&&(a=Ho(e.min,e.max-s,t.min)),rr(0,1,a)}function CR(e,t){const a={};return t.min!==void 0&&(a.min=t.min-e.min),t.max!==void 0&&(a.max=t.max-e.min),a}const ah=.35;function TR(e=ah){return e===!1?e=0:e===!0&&(e=ah),{x:ny(e,"left","right"),y:ny(e,"top","bottom")}}function ny(e,t,a){return{min:ry(e,t),max:ry(e,a)}}function ry(e,t){return typeof e=="number"?e:e[t]||0}const ER=new WeakMap;class RR{constructor(t){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=xt(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=t}start(t,{snapToCursor:a=!1,distanceThreshold:i}={}){const{presenceContext:s}=this.visualElement;if(s&&s.isPresent===!1)return;const c=v=>{a&&this.snapToCursor(rs(v).point),this.stopAnimation()},u=(v,y)=>{const{drag:w,dragPropagation:_,onDragStart:P}=this.getProps();if(w&&!_&&(this.openDragLock&&this.openDragLock(),this.openDragLock=nT(w),!this.openDragLock))return;this.latestPointerEvent=v,this.latestPanInfo=y,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Qn(N=>{let j=this.getAxisMotionValue(N).get()||0;if(er.test(j)){const{projection:M}=this.visualElement;if(M&&M.layout){const D=M.layout.layoutBox[N];D&&(j=Yt(D)*(parseFloat(j)/100))}}this.originPoint[N]=j}),P&&Qe.update(()=>P(v,y),!1,!0),Zd(this.visualElement,"transform");const{animationState:S}=this.visualElement;S&&S.setActive("whileDrag",!0)},d=(v,y)=>{this.latestPointerEvent=v,this.latestPanInfo=y;const{dragPropagation:w,dragDirectionLock:_,onDirectionLock:P,onDrag:S}=this.getProps();if(!w&&!this.openDragLock)return;const{offset:N}=y;if(_&&this.currentDirection===null){this.currentDirection=IR(N),this.currentDirection!==null&&P&&P(this.currentDirection);return}this.updateAxis("x",y.point,N),this.updateAxis("y",y.point,N),this.visualElement.render(),S&&Qe.update(()=>S(v,y),!1,!0)},f=(v,y)=>{this.latestPointerEvent=v,this.latestPanInfo=y,this.stop(v,y),this.latestPointerEvent=null,this.latestPanInfo=null},p=()=>{const{dragSnapToOrigin:v}=this.getProps();(v||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:g}=this.getProps();this.panSession=new Pb(t,{onSessionStart:c,onStart:u,onMove:d,onSessionEnd:f,resumeAnimation:p},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:g,distanceThreshold:i,contextWindow:xb(this.visualElement),element:this.visualElement.current})}stop(t,a){const i=t||this.latestPointerEvent,s=a||this.latestPanInfo,c=this.isDragging;if(this.cancel(),!c||!s||!i)return;const{velocity:u}=s;this.startAnimation(u);const{onDragEnd:d}=this.getProps();d&&Qe.postRender(()=>d(i,s))}cancel(){this.isDragging=!1;const{projection:t,animationState:a}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.endPanSession();const{dragPropagation:i}=this.getProps();!i&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),a&&a.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(t,a,i){const{drag:s}=this.getProps();if(!i||!_l(t,s,this.currentDirection))return;const c=this.getAxisMotionValue(t);let u=this.originPoint[t]+i[t];this.constraints&&this.constraints[t]&&(u=_R(u,this.constraints[t],this.elastic[t])),c.set(u)}resolveConstraints(){const{dragConstraints:t,dragElastic:a}=this.getProps(),i=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,s=this.constraints;t&&bi(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&i?this.constraints=xR(i.layoutBox,t):this.constraints=!1,this.elastic=TR(a),s!==this.constraints&&!bi(t)&&i&&this.constraints&&!this.hasMutatedConstraints&&Qn(c=>{this.constraints!==!1&&this.getAxisMotionValue(c)&&(this.constraints[c]=CR(i.layoutBox[c],this.constraints[c]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:a}=this.getProps();if(!t||!bi(t))return!1;const i=t.current,{projection:s}=this.visualElement;if(!s||!s.layout)return!1;const c=DT(i,s.root,this.visualElement.getTransformPagePoint());let u=PR(s.layout.layoutBox,c);if(a){const d=a(TT(u));this.hasMutatedConstraints=!!d,d&&(u=G0(d))}return u}startAnimation(t){const{drag:a,dragMomentum:i,dragElastic:s,dragTransition:c,dragSnapToOrigin:u,onDragTransitionEnd:d}=this.getProps(),f=this.constraints||{},p=Qn(g=>{if(!_l(g,a,this.currentDirection))return;let v=f&&f[g]||{};(u===!0||u===g)&&(v={min:0,max:0});const y=s?200:1e6,w=s?40:1e7,_={type:"inertia",velocity:i?t[g]:0,bounceStiffness:y,bounceDamping:w,timeConstant:750,restDelta:1,restSpeed:10,...c,...v};return this.startAxisValueAnimation(g,_)});return Promise.all(p).then(d)}startAxisValueAnimation(t,a){const i=this.getAxisMotionValue(t);return Zd(this.visualElement,t),i.start(nf(t,i,0,a,this.visualElement,!1))}stopAnimation(){Qn(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const a=`_drag${t.toUpperCase()}`,i=this.visualElement.getProps(),s=i[a];return s||this.visualElement.getValue(t,(i.initial?i.initial[t]:void 0)||0)}snapToCursor(t){Qn(a=>{const{drag:i}=this.getProps();if(!_l(a,i,this.currentDirection))return;const{projection:s}=this.visualElement,c=this.getAxisMotionValue(a);if(s&&s.layout){const{min:u,max:d}=s.layout.layoutBox[a],f=c.get()||0;c.set(t[a]-it(u,d,.5)+f)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:a}=this.getProps(),{projection:i}=this.visualElement;if(!bi(a)||!i||!this.constraints)return;this.stopAnimation();const s={x:0,y:0};Qn(u=>{const d=this.getAxisMotionValue(u);if(d&&this.constraints!==!1){const f=d.get();s[u]=SR({min:f,max:f},this.constraints[u])}});const{transformTemplate:c}=this.visualElement.getProps();this.visualElement.current.style.transform=c?c({},""):"none",i.root&&i.root.updateScroll(),i.updateLayout(),this.constraints=!1,this.resolveConstraints(),Qn(u=>{if(!_l(u,t,null))return;const d=this.getAxisMotionValue(u),{min:f,max:p}=this.constraints[u];d.set(it(f,p,s[u]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;ER.set(this.visualElement,this);const t=this.visualElement.current,a=jo(t,"pointerdown",p=>{const{drag:g,dragListener:v=!0}=this.getProps(),y=p.target,w=y!==t&&lT(y);g&&v&&!w&&this.start(p)});let i;const s=()=>{const{dragConstraints:p}=this.getProps();bi(p)&&p.current&&(this.constraints=this.resolveRefConstraints(),i||(i=DR(t,p.current,()=>this.scalePositionWithinConstraints())))},{projection:c}=this.visualElement,u=c.addEventListener("measure",s);c&&!c.layout&&(c.root&&c.root.updateScroll(),c.updateLayout()),Qe.read(s);const d=Go(window,"resize",()=>this.scalePositionWithinConstraints()),f=c.addEventListener("didUpdate",(({delta:p,hasLayoutChanged:g})=>{this.isDragging&&g&&(Qn(v=>{const y=this.getAxisMotionValue(v);y&&(this.originPoint[v]+=p[v].translate,y.set(y.get()+p[v].translate))}),this.visualElement.render())}));return()=>{d(),a(),u(),f&&f(),i&&i()}}getProps(){const t=this.visualElement.getProps(),{drag:a=!1,dragDirectionLock:i=!1,dragPropagation:s=!1,dragConstraints:c=!1,dragElastic:u=ah,dragMomentum:d=!0}=t;return{...t,drag:a,dragDirectionLock:i,dragPropagation:s,dragConstraints:c,dragElastic:u,dragMomentum:d}}}function ay(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function DR(e,t,a){const i=dv(e,ay(a)),s=dv(t,ay(a));return()=>{i(),s()}}function _l(e,t,a){return(t===!0||t===e)&&(a===null||a===e)}function IR(e,t=10){let a=null;return Math.abs(e.y)>t?a="y":Math.abs(e.x)>t&&(a="x"),a}class AR extends oa{constructor(t){super(t),this.removeGroupControls=Sn,this.removeListeners=Sn,this.controls=new RR(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Sn}update(){const{dragControls:t}=this.node.getProps(),{dragControls:a}=this.node.prevProps||{};t!==a&&(this.removeGroupControls(),t&&(this.removeGroupControls=t.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}const wd=e=>(t,a)=>{e&&Qe.update(()=>e(t,a),!1,!0)};class MR extends oa{constructor(){super(...arguments),this.removePointerDownListener=Sn}onPointerDown(t){this.session=new Pb(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:xb(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:a,onPan:i,onPanEnd:s}=this.node.getProps();return{onSessionStart:wd(t),onStart:wd(a),onMove:wd(i),onEnd:(c,u)=>{delete this.session,s&&Qe.postRender(()=>s(c,u))}}}mount(){this.removePointerDownListener=jo(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let _d=!1;class LR extends b.Component{componentDidMount(){const{visualElement:t,layoutGroup:a,switchLayoutGroup:i,layoutId:s}=this.props,{projection:c}=t;c&&(a.group&&a.group.add(c),i&&i.register&&s&&i.register(c),_d&&c.root.didUpdate(),c.addEventListener("animationComplete",()=>{this.safeToRemove()}),c.setOptions({...c.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),Ol.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:a,visualElement:i,drag:s,isPresent:c}=this.props,{projection:u}=i;return u&&(u.isPresent=c,t.layoutDependency!==a&&u.setOptions({...u.options,layoutDependency:a}),_d=!0,s||t.layoutDependency!==a||a===void 0||t.isPresent!==c?u.willUpdate():this.safeToRemove(),t.isPresent!==c&&(c?u.promote():u.relegate()||Qe.postRender(()=>{const d=u.getStack();(!d||!d.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{visualElement:t,layoutAnchor:a}=this.props,{projection:i}=t;i&&(i.options.layoutAnchor=a,i.root.didUpdate(),sf.postRender(()=>{!i.currentAnimation&&i.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:a,switchLayoutGroup:i}=this.props,{projection:s}=t;_d=!0,s&&(s.scheduleCheckAfterUnmount(),a&&a.group&&a.group.remove(s),i&&i.deregister&&i.deregister(s))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function Cb(e){const[t,a]=pb(),i=b.useContext(Uh);return L.jsx(LR,{...e,layoutGroup:i,switchLayoutGroup:b.useContext(wb),isPresent:t,safeToRemove:a})}const NR={pan:{Feature:MR},drag:{Feature:AR,ProjectionNode:fb,MeasureLayout:Cb}};function iy(e,t,a){const{props:i}=e;e.animationState&&i.whileHover&&e.animationState.setActive("whileHover",a==="Start");const s="onHover"+a,c=i[s];c&&Qe.postRender(()=>c(t,rs(t)))}class jR extends oa{mount(){const{current:t}=this.node;t&&(this.unmount=aT(t,(a,i)=>(iy(this.node,i,"Start"),s=>iy(this.node,s,"End"))))}unmount(){}}class OR extends oa{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=es(Go(this.node.current,"focus",()=>this.onFocus()),Go(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function oy(e,t,a){const{props:i}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&i.whileTap&&e.animationState.setActive("whileTap",a==="Start");const s="onTap"+(a==="End"?"":a),c=i[s];c&&Qe.postRender(()=>c(t,rs(t)))}class zR extends oa{mount(){const{current:t}=this.node;if(!t)return;const{globalTapTarget:a,propagate:i}=this.node.props;this.unmount=uT(t,(s,c)=>(oy(this.node,c,"Start"),(u,{success:d})=>oy(this.node,u,d?"End":"Cancel")),{useGlobalTarget:a,stopPropagation:i?.tap===!1})}unmount(){}}const ih=new WeakMap,xd=new WeakMap,VR=e=>{const t=ih.get(e.target);t&&t(e)},FR=e=>{e.forEach(VR)};function UR({root:e,...t}){const a=e||document;xd.has(a)||xd.set(a,{});const i=xd.get(a),s=JSON.stringify(t);return i[s]||(i[s]=new IntersectionObserver(FR,{root:e,...t})),i[s]}function BR(e,t,a){const i=UR(t);return ih.set(e,a),i.observe(e),()=>{ih.delete(e),i.unobserve(e)}}const HR={some:0,all:1};class $R extends oa{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.stopObserver?.();const{viewport:t={}}=this.node.getProps(),{root:a,margin:i,amount:s="some",once:c}=t,u={root:a?a.current:void 0,rootMargin:i,threshold:typeof s=="number"?s:HR[s]},d=f=>{const{isIntersecting:p}=f;if(this.isInView===p||(this.isInView=p,c&&!p&&this.hasEnteredView))return;p&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",p);const{onViewportEnter:g,onViewportLeave:v}=this.node.getProps(),y=p?g:v;y&&y(f)};this.stopObserver=BR(this.node.current,u,d)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:a}=this.node;["amount","margin","root"].some(WR(t,a))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}}function WR({viewport:e={}},{viewport:t={}}={}){return a=>e[a]!==t[a]}const GR={inView:{Feature:$R},tap:{Feature:zR},focus:{Feature:OR},hover:{Feature:jR}},KR={layout:{ProjectionNode:fb,MeasureLayout:Cb}},YR={...vR,...GR,...NR,...KR},sy=hR(YR,fR);function XR(){!hf.current&&H0();const[e]=b.useState(Yl.current);return e}function ZR({size:e=16,className:t=""}){return L.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"currentColor",fillRule:"evenodd",className:t,children:L.jsx("path",{d:"M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z"})})}function qR({size:e=16,className:t=""}){return L.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",className:t,children:L.jsx("path",{d:"M8.086.457a6.105 6.105 0 013.046-.415c1.333.153 2.521.72 3.564 1.7a.117.117 0 00.107.029c1.408-.346 2.762-.224 4.061.366l.063.03.154.076c1.357.703 2.33 1.77 2.918 3.198.278.679.418 1.388.421 2.126a5.655 5.655 0 01-.18 1.631.167.167 0 00.04.155 5.982 5.982 0 011.578 2.891c.385 1.901-.01 3.615-1.183 5.14l-.182.22a6.063 6.063 0 01-2.934 1.851.162.162 0 00-.108.102c-.255.736-.511 1.364-.987 1.992-1.199 1.582-2.962 2.462-4.948 2.451-1.583-.008-2.986-.587-4.21-1.736a.145.145 0 00-.14-.032c-.518.167-1.04.191-1.604.185a5.924 5.924 0 01-2.595-.622 6.058 6.058 0 01-2.146-1.781c-.203-.269-.404-.522-.551-.821a7.74 7.74 0 01-.495-1.283 6.11 6.11 0 01-.017-3.064.166.166 0 00.008-.074.115.115 0 00-.037-.064 5.958 5.958 0 01-1.38-2.202 5.196 5.196 0 01-.333-1.589 6.915 6.915 0 01.188-2.132c.45-1.484 1.309-2.648 2.577-3.493.282-.188.55-.334.802-.438.286-.12.573-.22.861-.304a.129.129 0 00.087-.087A6.016 6.016 0 015.635 2.31C6.315 1.464 7.132.846 8.086.457zm-.804 7.85a.848.848 0 00-1.473.842l1.694 2.965-1.688 2.848a.849.849 0 001.46.864l1.94-3.272a.849.849 0 00.007-.854l-1.94-3.393zm5.446 6.24a.849.849 0 000 1.695h4.848a.849.849 0 000-1.696h-4.848z"})})}function QR({size:e=16,className:t=""}){return L.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"currentColor",fillRule:"evenodd",className:t,children:L.jsx("path",{d:"M22.106 5.68L12.5.135a.998.998 0 00-.998 0L1.893 5.68a.84.84 0 00-.419.726v11.186c0 .3.16.577.42.727l9.607 5.547a.999.999 0 00.998 0l9.608-5.547a.84.84 0 00.42-.727V6.407a.84.84 0 00-.42-.726zm-.603 1.176L12.228 22.92c-.063.108-.228.064-.228-.061V12.34a.59.59 0 00-.295-.51l-9.11-5.26c-.107-.062-.063-.228.062-.228h18.55c.264 0 .428.286.296.514z"})})}function JR({size:e=16,className:t=""}){return L.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"currentColor",fillRule:"evenodd",className:t,children:L.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z"})})}function e4({size:e=16,className:t=""}){return L.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"currentColor",fillRule:"evenodd",className:t,children:L.jsx("path",{d:"M9.27 15.29l7.978-5.897c.391-.29.95-.177 1.137.272.98 2.369.542 5.215-1.41 7.169-1.951 1.954-4.667 2.382-7.149 1.406l-2.711 1.257c3.889 2.661 8.611 2.003 11.562-.953 2.341-2.344 3.066-5.539 2.388-8.42l.006.007c-.983-4.232.242-5.924 2.75-9.383.06-.082.12-.164.179-.248l-3.301 3.305v-.01L9.267 15.292M7.623 16.723c-2.792-2.67-2.31-6.801.071-9.184 1.761-1.763 4.647-2.483 7.166-1.425l2.705-1.25a7.808 7.808 0 00-1.829-1A8.975 8.975 0 005.984 5.83c-2.533 2.536-3.33 6.436-1.962 9.764 1.022 2.487-.653 4.246-2.34 6.022-.599.63-1.199 1.259-1.682 1.925l7.62-6.815"})})}function t4({size:e=16,className:t=""}){return L.jsx("svg",{width:e,height:e,viewBox:"0 -1 22 28",fill:"currentColor",fillRule:"evenodd",className:t,children:L.jsx("path",{d:"M4.125 20.149c-2.69 5.959 3.036 7.453 7.26 3.966 1.24 3.91 5.898.993 7.569-2.036 3.682-6.678 2.195-13.49 1.813-14.895-2.617-9.582-15.699-9.592-17.95.049-.526 1.687-.535 3.606-.833 5.598-.15 1.005-.256 1.646-.645 2.703-.223.607-.53 1.147-1.014 2.056-.75 1.412-.434 4.138 3.434 2.724v.001ZM11.895 11.332c-1.073 0-1.234-1.283-1.234-2.048 0-.69.124-1.239.358-1.586a1 1 0 0 1 .876-.462c.375 0 .697.158.924.47.259.354.395.9.395 1.578 0 1.283-.493 2.048-1.319 2.048Zm4.416 0c-1.073 0-1.234-1.283-1.234-2.048 0-.69.124-1.239.358-1.586a1 1 0 0 1 .876-.462c.375 0 .697.158.924.47.259.354.396.9.396 1.578 0 1.283-.494 2.048-1.32 2.048Z"})})}function n4({size:e=16,className:t=""}){return L.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"currentColor",fillRule:"evenodd",className:t,children:L.jsx("path",{d:"M16 6H8v12h8V6zm4 16H4V2h16v20z"})})}function r4({size:e=16,className:t=""}){return L.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"currentColor",fillRule:"evenodd",className:t,children:[L.jsx("path",{d:"M21.846 0a1.923 1.923 0 110 3.846H20.15a.226.226 0 01-.227-.226V1.923C19.923.861 20.784 0 21.846 0z"}),L.jsx("path",{d:"M11.065 11.199l7.257-7.2c.137-.136.06-.41-.116-.41H14.3a.164.164 0 00-.117.051l-7.82 7.756c-.122.12-.302.013-.302-.179V3.82c0-.127-.083-.23-.185-.23H3.186c-.103 0-.186.103-.186.23V19.77c0 .128.083.23.186.23h2.69c.103 0 .186-.102.186-.23v-3.25c0-.069.025-.135.069-.178l2.424-2.406a.158.158 0 01.205-.023l6.484 4.772a7.677 7.677 0 003.453 1.283c.108.012.2-.095.2-.23v-3.06c0-.117-.07-.212-.164-.227a5.028 5.028 0 01-2.027-.807l-5.613-4.064c-.117-.078-.132-.279-.028-.381z"})]})}function a4({size:e=16,className:t=""}){return L.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"currentColor",fillRule:"evenodd",className:t,children:L.jsx("path",{d:"M19.245 5.364c1.322 1.36 1.877 3.216 2.11 5.817.622 0 1.2.135 1.592.654l.73.964c.21.278.323.61.323.955v2.62c0 .339-.173.669-.453.868C20.239 19.602 16.157 21.5 12 21.5c-4.6 0-9.205-2.583-11.547-4.258-.28-.2-.452-.53-.453-.868v-2.62c0-.345.113-.679.321-.956l.73-.963c.392-.517.974-.654 1.593-.654l.029-.297c.25-2.446.81-4.213 2.082-5.52 2.461-2.54 5.71-2.851 7.146-2.864h.198c1.436.013 4.685.323 7.146 2.864zm-7.244 4.328c-.284 0-.613.016-.962.05-.123.447-.305.85-.57 1.108-1.05 1.023-2.316 1.18-2.994 1.18-.638 0-1.306-.13-1.851-.464-.516.165-1.012.403-1.044.996a65.882 65.882 0 00-.063 2.884l-.002.48c-.002.563-.005 1.126-.013 1.69.002.326.204.63.51.765 2.482 1.102 4.83 1.657 6.99 1.657 2.156 0 4.504-.555 6.985-1.657a.854.854 0 00.51-.766c.03-1.682.006-3.372-.076-5.053-.031-.596-.528-.83-1.046-.996-.546.333-1.212.464-1.85.464-.677 0-1.942-.157-2.993-1.18-.266-.258-.447-.661-.57-1.108-.32-.032-.64-.049-.96-.05zm-2.525 4.013c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zm5 0c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zM7.635 5.087c-1.05.102-1.935.438-2.385.906-.975 1.037-.765 3.668-.21 4.224.405.394 1.17.657 1.995.657h.09c.649-.013 1.785-.176 2.73-1.11.435-.41.705-1.433.675-2.47-.03-.834-.27-1.52-.63-1.813-.39-.336-1.275-.482-2.265-.394zm6.465.394c-.36.292-.6.98-.63 1.813-.03 1.037.24 2.06.675 2.47.968.957 2.136 1.104 2.776 1.11h.044c.825 0 1.59-.263 1.995-.657.555-.556.765-3.187-.21-4.224-.45-.468-1.335-.804-2.385-.906-.99-.088-1.875.058-2.265.394zM12 7.615c-.24 0-.525.015-.84.044.03.16.045.336.06.526l-.001.159a2.94 2.94 0 01-.014.25c.225-.022.425-.027.612-.028h.366c.187 0 .387.006.612.028-.015-.146-.015-.277-.015-.409.015-.19.03-.365.06-.526a9.29 9.29 0 00-.84-.044z"})})}function i4({size:e=16,className:t=""}){return L.jsxs("svg",{width:e,height:e,viewBox:"0 0 64 60",fill:"none",className:t,"aria-hidden":"true",children:[L.jsx("path",{fill:"currentColor",d:"M37.2114 3.75318C37.6821 3.33106 37.7106 3.31457 38.0558 3.29385C38.6149 3.2531 39.1272 3.52199 39.9989 4.31564C42.0356 6.16652 44.8714 9.97183 46.6346 13.2212L47.3163 14.4819L48.2782 14.9605C49.2072 15.4299 50.7308 16.3923 51.3672 16.9085C51.655 17.1464 51.6956 17.1508 51.9947 17.0344C53.3454 16.5084 55.2803 17.206 56.9869 18.8432C58.5231 20.3155 59.9943 22.8312 60.558 24.9308C60.6403 25.2687 60.7493 25.9952 60.7891 26.5362C60.9177 28.4358 60.3092 29.9532 59.1362 30.64C58.8965 30.7784 58.8801 30.8158 58.8868 31.4132C58.9409 34.2583 58.1741 37.0985 56.6335 39.8679C54.8946 42.9773 51.7981 46.1938 47.6074 49.2243C45.357 50.8619 40.0323 53.964 37.6248 55.0532C31.8578 57.6496 27.2346 58.646 23.2188 58.154C20.8236 57.8638 18.1124 56.9287 16.5082 55.8433C16.086 55.5515 16.0191 55.5329 15.6966 55.6251C13.9793 56.1185 11.73 55.1053 9.81931 52.9844C9.05725 52.1366 7.82714 50.0548 7.42839 48.9409C6.50606 46.3339 6.68976 43.9816 7.91836 42.5767C8.23573 42.2149 8.2453 42.1995 8.17598 41.5912C8.06148 40.5951 8.00971 39.1206 8.06202 38.1692L8.10361 37.2803L6.76977 34.9212C4.70378 31.2451 3.3912 28.1582 2.88489 25.7998C2.61762 24.5066 2.63385 23.9324 2.96214 23.5078C3.16198 23.2515 3.81796 22.9866 4.60785 22.8407C6.59665 22.4917 10.9334 22.8076 15.7581 23.6595L16.259 23.7458L17.3608 22.7713C19.1891 21.1519 20.4038 20.244 22.6429 18.8478C24.9768 17.3876 27.6108 16.1858 30.577 15.2346L31.5295 14.9294L32.0526 13.5561C33.9257 8.61146 35.8437 4.96584 37.2114 3.75318ZM21.5208 29.0919C19.404 30.314 18.3453 30.9251 17.5676 31.6099C14.4179 34.3835 13.2414 38.777 14.5823 42.7537C14.9135 43.7357 15.5247 44.7942 16.7469 46.9111C17.9691 49.0279 18.5801 50.0865 19.2649 50.8643C22.0385 54.014 26.4316 55.1918 30.4084 53.8509C31.3904 53.5198 32.4489 52.9085 34.5657 51.6863L46.7442 44.6551C48.8613 43.4328 49.9205 42.8214 50.6983 42.1365C53.8479 39.363 55.0245 34.9695 53.6835 30.9927C53.3524 30.0107 52.7412 28.9522 51.519 26.8354C50.2968 24.7185 49.6858 23.66 49.0009 22.8822C46.2274 19.7325 41.8342 18.5547 37.8575 19.8956C36.8754 20.2267 35.8163 20.8383 33.6993 22.0606L21.5208 29.0919Z"}),L.jsx("g",{transform:"rotate(-30 22.6953 37.6011)",children:L.jsx("rect",{x:"22.6953",y:"37.6011",width:"4.81084",height:"9.99175",rx:"2.40542",fill:"currentColor"})}),L.jsx("g",{transform:"rotate(-30 35.6748 30.1074)",children:L.jsx("rect",{x:"35.6748",y:"30.1074",width:"4.81084",height:"9.99175",rx:"2.40542",fill:"currentColor"})})]})}function o4({size:e=16,className:t=""}){return L.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",className:t,children:L.jsx("path",{d:"M7 2h10a5 5 0 015 5v10a5 5 0 01-5 5H7a5 5 0 01-5-5V7a5 5 0 015-5zm0 4.5v11h2.35v-4.55h5.3V17.5H17v-11h-2.35v4.1h-5.3V6.5H7z"})})}function s4({size:e=16,className:t=""}){return L.jsx("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"currentColor",className:t,children:L.jsx("path",{d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8z"})})}function l4({size:e=16,className:t=""}){return L.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,"aria-hidden":"true",children:L.jsx("g",{transform:"translate(3.4502, 3)",fill:"#9570BE",children:L.jsx("path",{d:"M3.17890888,3.6 L3.17890888,0 L16,0 L16,3.6 L3.17890888,3.6 Z M9.642,7.2 L9.64218223,10.8 L0,10.8 L0,3.6 L16,3.6 L16,7.2 L9.642,7.2 Z M3.17890888,18 L3.178,14.4 L0,14.4 L0,10.8 L16,10.8 L16,18 L3.17890888,18 Z",fillRule:"nonzero"})})})}function c4({size:e=16,className:t=""}){return L.jsxs("svg",{width:e,height:e,viewBox:"0 0 120 90",fill:"currentColor",className:t,children:[L.jsx("rect",{x:"10",y:"8",width:"100",height:"12",rx:"2"}),L.jsx("rect",{x:"25",y:"20",width:"12",height:"62",rx:"2"}),L.jsx("rect",{x:"75",y:"20",width:"12",height:"45",rx:"2"}),L.jsx("rect",{x:"71",y:"55",width:"20",height:"16",rx:"3"}),L.jsx("rect",{x:"76",y:"71",width:"3",height:"8",rx:"1"}),L.jsx("rect",{x:"82",y:"71",width:"3",height:"8",rx:"1"})]})}function u4({size:e=16,className:t=""}){return L.jsxs("svg",{width:e,height:e,viewBox:"0 0 120 90",fill:"currentColor",className:t,children:[L.jsx("rect",{x:"10",y:"8",width:"100",height:"12",rx:"2"}),L.jsx("rect",{x:"25",y:"20",width:"12",height:"62",rx:"2"}),L.jsx("rect",{x:"83",y:"20",width:"12",height:"62",rx:"2"})]})}function d4({size:e=16,className:t=""}){return L.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:t,children:[L.jsx("path",{d:"M9 3v2"}),L.jsx("path",{d:"M15 3v2"}),L.jsx("rect",{x:"4",y:"6",width:"16",height:"13",rx:"3"}),L.jsx("circle",{cx:"9",cy:"13",r:"1.4",fill:"currentColor",stroke:"none"}),L.jsx("circle",{cx:"15",cy:"13",r:"1.4",fill:"currentColor",stroke:"none"}),L.jsx("path",{d:"M9 16h6"})]})}const h4={CLAUDE:ZR,CODEBUDDY:i4,CODEX:qR,COPILOT:a4,CRAFT:l4,CURSOR:QR,DROID:d4,GEMINI:JR,GITHUB:s4,GROK:e4,HERMES:o4,KIMI:r4,KIRO:t4,OPENCODE:n4,OMP:c4,PI:u4},f4={ANTIGRAVITY:"/brand-logos/antigravity.svg",CLAUDE:"/brand-logos/claude-code.svg",CODEX:"/brand-logos/codex.svg",GEMINI:"/brand-logos/gemini.svg",HERMES:"/brand-logos/hermes.svg","KILO-CLI":"/brand-logos/kilo.svg","KILO-CODE":"/brand-logos/kilo.svg",OPENCLAW:"/brand-logos/openclaw.svg",OPENCODE:"/brand-logos/opencode.svg"};function p4({size:e=16,className:t=""}){return L.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",className:t,children:L.jsx("circle",{cx:"12",cy:"12",r:"7.5",strokeDasharray:"3 3"})})}function m4({provider:e,size:t=16,color:a,className:i=""}){const s=e?.toUpperCase?.()||"",c=f4[s];if(c)return L.jsx("img",{src:c,alt:"",width:t,height:t,className:i,style:{width:t,height:t,objectFit:"contain"},"aria-hidden":!0});const u=h4[s];return u?L.jsx(u,{size:t,className:i}):L.jsx(p4,{size:t,className:`text-oai-gray-400 dark:text-oai-gray-500 shrink-0 ${i}`})}let Pd=null;async function g4(e=fetch){if(Pd)return Pd;const t=await e("/api/local-auth",{method:"GET",headers:{Accept:"application/json"},cache:"no-store"});if(!t.ok)throw new Error(`Local auth request failed with HTTP ${t.status}`);const a=await t.json().catch(()=>null),i=typeof a?.token=="string"?a.token.trim():"";if(!i)throw new Error("Local auth token missing from response");return Pd=i,i}async function v4(e=fetch){return{"x-tokentracker-local-auth":await g4(e)}}const Tb="tokentracker-skills";async function Ua(e){const t=new URL(`/functions/${Tb}`,window.location.origin);if(e)for(const[s,c]of Object.entries(e))c!=null&&c!==""&&t.searchParams.set(s,String(c));const a=await fetch(t.toString(),{headers:{Accept:"application/json"},cache:"no-store"}),i=await a.json().catch(()=>null);if(!a.ok)throw new Error(i?.error||`Request failed with HTTP ${a.status}`);return i}async function sa(e){const t=await v4(),a=await fetch(`/functions/${Tb}`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",...t},cache:"no-store",body:JSON.stringify(e)}),i=await a.json().catch(()=>null);if(!a.ok||i?.ok===!1)throw new Error(i?.error||`Request failed with HTTP ${a.status}`);return i}function y4(){return Ua({mode:"installed"})}function T5(e={}){return Ua({mode:"discover",...e.force?{force:1}:{}})}function E5(e,t=0,a=20){return Ua({mode:"search",q:e,offset:t,limit:a})}function R5(){return Ua({mode:"repos"})}function D5(e,t){return sa({action:"install",skill:e,targets:t})}function I5(e){return sa({action:"uninstall",id:e})}function A5(e){return sa({action:"restore",id:e})}function M5(e,t){return sa({action:"set_targets",id:e,targets:t})}function L5(e,t){return sa({action:"import_local",directory:e,targets:t})}function N5(e,t){return sa({action:"delete_local",directory:e,targets:t||[]})}function j5(e){return sa({action:"add_repo",repo:e})}function O5(e,t){return sa({action:"remove_repo",owner:e,name:t})}function z5(e={}){return Ua({mode:"popular",...e.force?{force:1}:{}})}function V5(e={}){return Ua({mode:"updates",...e.force?{force:1}:{}})}function F5(e={}){return Ua({mode:"skill_usage",...e.force?{force:1}:{}})}const k4=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1");function b4(){const e=qy(),t=XR(),[a,i]=b.useState(!1),[s,c]=b.useState(""),[u,d]=b.useState(0),[f,p]=b.useState([]),g=b.useRef(null),v=b.useRef(null);b.useEffect(()=>{const M=D=>{(D.metaKey||D.ctrlKey)&&(D.key==="k"||D.key==="K")&&(D.preventDefault(),i(Z=>!Z))};return window.addEventListener("keydown",M),()=>window.removeEventListener("keydown",M)},[]),b.useEffect(()=>{if(!a)return;c(""),d(0);const M=requestAnimationFrame(()=>g.current?.focus());return k4&&!f.length&&y4().then(D=>p(D?.skills||[])).catch(()=>p([])),()=>cancelAnimationFrame(M)},[a,f.length]);const y=b.useMemo(()=>{const M=Vk().flatMap(B=>B.items.map(Z=>({kind:"page",id:`page:${Z.id}`,label:Z.label,sub:He("cmdk.group.pages"),Icon:Z.icon,run:()=>e(Z.to)}))),D=(f||[]).map(B=>({kind:"skill",id:`skill:${B.id||B.directory}`,label:B.name||B.directory,sub:B.repoOwner&&B.repoName?`${B.repoOwner}/${B.repoName}`:He("cmdk.group.skills"),provider:(B.targets||[])[0]||"claude",run:()=>e(`/skills?skill=${encodeURIComponent(B.directory||B.id)}`)}));return[...M,...D]},[e,f]),w=b.useMemo(()=>{const M=s.trim().toLowerCase();return M?y.filter(D=>D.label.toLowerCase().includes(M)||String(D.sub||"").toLowerCase().includes(M)):y},[y,s]);b.useEffect(()=>{u>=w.length&&d(w.length?w.length-1:0)},[u,w.length]),b.useEffect(()=>{if(!a)return;v.current?.querySelector(`[data-cmdk-index="${u}"]`)?.scrollIntoView({block:"nearest"})},[u,a]);const _=b.useCallback(()=>i(!1),[]),P=b.useCallback(M=>{M&&(_(),M.run())},[_]),S=M=>{M.key==="ArrowDown"?(M.preventDefault(),d(D=>Math.min(D+1,Math.max(0,w.length-1)))):M.key==="ArrowUp"?(M.preventDefault(),d(D=>Math.max(D-1,0))):M.key==="Enter"?(M.preventDefault(),P(w[u])):M.key==="Escape"&&(M.preventDefault(),_())},N={duration:t?0:.12},j=t?{duration:0}:{type:"spring",stiffness:460,damping:34,mass:.6};return L.jsx(UE,{children:a?L.jsxs(sy.div,{className:"fixed inset-0 z-[120] flex items-start justify-center px-4 pt-[16vh]",initial:t?!1:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:N,children:[L.jsx("button",{type:"button","aria-label":He("cmdk.close"),onClick:_,className:"absolute inset-0 cursor-default bg-oai-black/40"}),L.jsxs(sy.div,{role:"dialog","aria-modal":"true","aria-label":He("cmdk.open_aria"),initial:t?!1:{opacity:0,y:-8,scale:.985},animate:{opacity:1,y:0,scale:1},exit:t?{opacity:0}:{opacity:0,y:-8,scale:.985},transition:j,className:"relative w-full max-w-xl overflow-hidden rounded-2xl border border-oai-gray-200 bg-oai-white shadow-2xl dark:border-oai-gray-800 dark:bg-oai-gray-950",children:[L.jsxs("div",{className:"flex items-center gap-2.5 border-b border-oai-gray-200 px-4 dark:border-oai-gray-800",children:[L.jsx(MS,{className:"h-4 w-4 shrink-0 text-oai-gray-400","aria-hidden":!0}),L.jsx("input",{ref:g,type:"text",value:s,onChange:M=>{c(M.target.value),d(0)},onKeyDown:S,"aria-label":He("cmdk.placeholder"),"aria-controls":"cmdk-listbox","aria-activedescendant":w[u]?`cmdk-opt-${u}`:void 0,role:"combobox","aria-expanded":"true",placeholder:He("cmdk.placeholder"),className:"h-12 w-full bg-transparent text-sm text-oai-black placeholder:text-oai-gray-400 focus:outline-none dark:text-white"})]}),L.jsx("div",{ref:v,id:"cmdk-listbox",role:"listbox",className:"max-h-[min(56vh,22rem)] overflow-y-auto p-1.5",children:w.length===0?L.jsx("div",{className:"px-3 py-8 text-center text-sm text-oai-gray-500 dark:text-oai-gray-400",children:He("cmdk.empty")}):w.map((M,D)=>{const B=D===u;return L.jsxs("button",{type:"button",role:"option",id:`cmdk-opt-${D}`,"data-cmdk-index":D,"aria-selected":B,onMouseMove:()=>d(D),onClick:()=>P(M),className:nr("flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm transition-colors",B?"bg-oai-gray-100 text-oai-black dark:bg-oai-gray-800/70 dark:text-white":"text-oai-gray-700 dark:text-oai-gray-200"),children:[L.jsx("span",{className:"flex h-5 w-5 shrink-0 items-center justify-center text-oai-gray-500 dark:text-oai-gray-400",children:M.kind==="skill"?L.jsx(m4,{provider:M.provider,size:16}):L.jsx(M.Icon,{className:"h-4 w-4","aria-hidden":!0})}),L.jsx("span",{className:"min-w-0 flex-1 truncate font-medium",children:M.label}),L.jsx("span",{className:"shrink-0 truncate text-xs text-oai-gray-400 dark:text-oai-gray-500",children:M.sub}),B?L.jsx(yS,{className:"h-3.5 w-3.5 shrink-0 text-oai-gray-400","aria-hidden":!0}):null]},M.id)})})]})]}):null})}function fc(){return typeof window<"u"}function yf(e){return kf(e)?(e.nodeName||"").toLowerCase():"#document"}function ra(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function w4(e){var t;return(t=(kf(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function kf(e){return fc()?e instanceof Node||e instanceof ra(e).Node:!1}function Eb(e){return fc()?e instanceof Element||e instanceof ra(e).Element:!1}function pc(e){return fc()?e instanceof HTMLElement||e instanceof ra(e).HTMLElement:!1}function oh(e){return!fc()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof ra(e).ShadowRoot}function Rb(e){const{overflow:t,overflowX:a,overflowY:i,display:s}=Ib(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+a)&&s!=="inline"&&s!=="contents"}function U5(e){return/^(table|td|th)$/.test(yf(e))}function _4(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const x4=/transform|translate|scale|rotate|perspective|filter/,P4=/paint|layout|strict|content/,Ta=e=>!!e&&e!=="none";let Sd;function S4(e){const t=Eb(e)?Ib(e):e;return Ta(t.transform)||Ta(t.translate)||Ta(t.scale)||Ta(t.rotate)||Ta(t.perspective)||!C4()&&(Ta(t.backdropFilter)||Ta(t.filter))||x4.test(t.willChange||"")||P4.test(t.contain||"")}function B5(e){let t=sh(e);for(;pc(t)&&!Db(t);){if(S4(t))return t;if(_4(t))return null;t=sh(t)}return null}function C4(){return Sd==null&&(Sd=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Sd}function Db(e){return/^(html|body|#document)$/.test(yf(e))}function Ib(e){return ra(e).getComputedStyle(e)}function H5(e){return Eb(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function sh(e){if(yf(e)==="html")return e;const t=e.assignedSlot||e.parentNode||oh(e)&&e.host||w4(e);return oh(t)?t.host:t}function Ab(e){const t=sh(e);return Db(t)?e.ownerDocument?e.ownerDocument.body:e.body:pc(t)&&Rb(t)?t:Ab(t)}function ly(e,t,a){var i;t===void 0&&(t=[]),a===void 0&&(a=!0);const s=Ab(e),c=s===((i=e.ownerDocument)==null?void 0:i.body),u=ra(s);if(c){const d=T4(u);return t.concat(u,u.visualViewport||[],Rb(s)?s:[],d&&a?ly(d):[])}else return t.concat(s,ly(s,[],a))}function T4(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Si(e){return e?.ownerDocument||document}const cy={};function as(e,t){const a=b.useRef(cy);return a.current===cy&&(a.current=e(t)),a}const Cd=kh[`useInsertionEffect${Math.random().toFixed(1)}`.slice(0,-3)],E4=Cd&&Cd!==b.useLayoutEffect?Cd:e=>e();function rn(e){const t=as(R4).current;return t.next=e,E4(t.effect),t.trampoline}function R4(){const e={next:void 0,callback:D4,trampoline:(...t)=>e.callback?.(...t),effect:()=>{e.callback=e.next}};return e}function D4(){}let uy=0;function Mb(e){return uy+=1,`${e}-${Math.random().toString(36).slice(2,6)}-${uy}`}const I4=[];function Lb(e){b.useEffect(e,I4)}const Po=0;class Ko{static create(){return new Ko}currentId=Po;start(t,a){this.clear(),this.currentId=setTimeout(()=>{this.currentId=Po,a()},t)}isStarted(){return this.currentId!==Po}clear=()=>{this.currentId!==Po&&(clearTimeout(this.currentId),this.currentId=Po)};disposeEffect=()=>this.clear}function $5(){const e=as(Ko.create).current;return Lb(e.disposeEffect),e}const Li=typeof navigator<"u",Td=L4(),Nb=j4(),jb=N4(),W5=typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter:none"),G5=Td.platform==="MacIntel"&&Td.maxTouchPoints>1?!0:/iP(hone|ad|od)|iOS/.test(Td.platform),A4=Li&&/apple/i.test(navigator.vendor),K5=Li&&/android/i.test(Nb)||/android/i.test(jb);Li&&Nb.toLowerCase().startsWith("mac")&&navigator.maxTouchPoints;const M4=jb.includes("jsdom/");function L4(){if(!Li)return{platform:"",maxTouchPoints:-1};const e=navigator.userAgentData;return e?.platform?{platform:e.platform,maxTouchPoints:navigator.maxTouchPoints}:{platform:navigator.platform??"",maxTouchPoints:navigator.maxTouchPoints??-1}}function N4(){if(!Li)return"";const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(({brand:t,version:a})=>`${t}/${a}`).join(" "):navigator.userAgent}function j4(){if(!Li)return"";const e=navigator.userAgentData;return e?.platform?e.platform:navigator.platform??""}const dy="data-base-ui-focusable",Y5="active",X5="selected",O4="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])",Z5="ArrowLeft",q5="ArrowRight",Q5="ArrowUp",J5="ArrowDown";function Yo(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function ja(e,t){if(!e||!t)return!1;const a=t.getRootNode?.();if(e.contains(t))return!0;if(a&&oh(a)){let i=t;for(;i;){if(e===i)return!0;i=i.parentNode||i.host}}return!1}function lh(e){return"composedPath"in e?e.composedPath()[0]:e.target}function eI(e,t){if(t==null)return!1;if("composedPath"in e)return e.composedPath().includes(t);const a=e;return a.target!=null&&t.contains(a.target)}function tI(e){return e.matches("html,body")}function mc(e){return e?.ownerDocument||document}function z4(e){return pc(e)&&e.matches(O4)}function nI(e){return e?e.getAttribute("role")==="combobox"&&z4(e):!1}function ch(e){if(!e||M4)return!0;try{return e.matches(":focus-visible")}catch{return!0}}function rI(e){return e?e.hasAttribute(dy)?e:e.querySelector(`[${dy}]`)||e:null}function is(e,...t){const a=new URL("https://base-ui.com/production-error");return a.searchParams.set("code",e.toString()),t.forEach(i=>a.searchParams.append("args[]",i)),`Base UI error #${e}; visit ${a} for the full message.`}var V4=["input:not([inert]):not([inert] *)","select:not([inert]):not([inert] *)","textarea:not([inert]):not([inert] *)","a[href]:not([inert]):not([inert] *)","button:not([inert]):not([inert] *)","[tabindex]:not(slot):not([inert]):not([inert] *)","audio[controls]:not([inert]):not([inert] *)","video[controls]:not([inert]):not([inert] *)",'[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)',"details>summary:first-of-type:not([inert]):not([inert] *)","details:not([inert]):not([inert] *)"],Jl=V4.join(","),Ob=typeof Element>"u",Di=Ob?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,ec=!Ob&&Element.prototype.getRootNode?function(e){var t;return e==null||(t=e.getRootNode)===null||t===void 0?void 0:t.call(e)}:function(e){return e?.ownerDocument},tc=function(t,a){var i;a===void 0&&(a=!0);var s=t==null||(i=t.getAttribute)===null||i===void 0?void 0:i.call(t,"inert"),c=s===""||s==="true",u=c||a&&t&&(typeof t.closest=="function"?t.closest("[inert]"):tc(t.parentNode));return u},F4=function(t){var a,i=t==null||(a=t.getAttribute)===null||a===void 0?void 0:a.call(t,"contenteditable");return i===""||i==="true"},zb=function(t,a,i){if(tc(t))return[];var s=Array.prototype.slice.apply(t.querySelectorAll(Jl));return a&&Di.call(t,Jl)&&s.unshift(t),s=s.filter(i),s},nc=function(t,a,i){for(var s=[],c=Array.from(t);c.length;){var u=c.shift();if(!tc(u,!1))if(u.tagName==="SLOT"){var d=u.assignedElements(),f=d.length?d:u.children,p=nc(f,!0,i);i.flatten?s.push.apply(s,p):s.push({scopeParent:u,candidates:p})}else{var g=Di.call(u,Jl);g&&i.filter(u)&&(a||!t.includes(u))&&s.push(u);var v=u.shadowRoot||typeof i.getShadowRoot=="function"&&i.getShadowRoot(u),y=!tc(v,!1)&&(!i.shadowRootFilter||i.shadowRootFilter(u));if(v&&y){var w=nc(v===!0?u.children:v.children,!0,i);i.flatten?s.push.apply(s,w):s.push({scopeParent:u,candidates:w})}else c.unshift.apply(c,u.children)}}return s},Vb=function(t){return!isNaN(parseInt(t.getAttribute("tabindex"),10))},Fb=function(t){if(!t)throw new Error("No node provided");return t.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName)||F4(t))&&!Vb(t)?0:t.tabIndex},U4=function(t,a){var i=Fb(t);return i<0&&a&&!Vb(t)?0:i},B4=function(t,a){return t.tabIndex===a.tabIndex?t.documentOrder-a.documentOrder:t.tabIndex-a.tabIndex},Ub=function(t){return t.tagName==="INPUT"},H4=function(t){return Ub(t)&&t.type==="hidden"},$4=function(t){var a=t.tagName==="DETAILS"&&Array.prototype.slice.apply(t.children).some(function(i){return i.tagName==="SUMMARY"});return a},W4=function(t,a){for(var i=0;i<t.length;i++)if(t[i].checked&&t[i].form===a)return t[i]},G4=function(t){if(!t.name)return!0;var a=t.form||ec(t),i=function(d){return a.querySelectorAll('input[type="radio"][name="'+d+'"]')},s;if(typeof window<"u"&&typeof window.CSS<"u"&&typeof window.CSS.escape=="function")s=i(window.CSS.escape(t.name));else try{s=i(t.name)}catch(u){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",u.message),!1}var c=W4(s,t.form);return!c||c===t},K4=function(t){return Ub(t)&&t.type==="radio"},Y4=function(t){return K4(t)&&!G4(t)},X4=function(t){var a,i=t&&ec(t),s=(a=i)===null||a===void 0?void 0:a.host,c=!1;if(i&&i!==t){var u,d,f;for(c=!!((u=s)!==null&&u!==void 0&&(d=u.ownerDocument)!==null&&d!==void 0&&d.contains(s)||t!=null&&(f=t.ownerDocument)!==null&&f!==void 0&&f.contains(t));!c&&s;){var p,g,v;i=ec(s),s=(p=i)===null||p===void 0?void 0:p.host,c=!!((g=s)!==null&&g!==void 0&&(v=g.ownerDocument)!==null&&v!==void 0&&v.contains(s))}}return c},hy=function(t){var a=t.getBoundingClientRect(),i=a.width,s=a.height;return i===0&&s===0},Z4=function(t,a){var i=a.displayCheck,s=a.getShadowRoot;if(i==="full-native"&&"checkVisibility"in t){var c=t.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});return!c}if(getComputedStyle(t).visibility==="hidden")return!0;var u=Di.call(t,"details>summary:first-of-type"),d=u?t.parentElement:t;if(Di.call(d,"details:not([open]) *"))return!0;if(!i||i==="full"||i==="full-native"||i==="legacy-full"){if(typeof s=="function"){for(var f=t;t;){var p=t.parentElement,g=ec(t);if(p&&!p.shadowRoot&&s(p)===!0)return hy(t);t.assignedSlot?t=t.assignedSlot:!p&&g!==t.ownerDocument?t=g.host:t=p}t=f}if(X4(t))return!t.getClientRects().length;if(i!=="legacy-full")return!0}else if(i==="non-zero-area")return hy(t);return!1},q4=function(t){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))for(var a=t.parentElement;a;){if(a.tagName==="FIELDSET"&&a.disabled){for(var i=0;i<a.children.length;i++){var s=a.children.item(i);if(s.tagName==="LEGEND")return Di.call(a,"fieldset[disabled] *")?!0:!s.contains(t)}return!0}a=a.parentElement}return!1},uh=function(t,a){return!(a.disabled||H4(a)||Z4(a,t)||$4(a)||q4(a))},dh=function(t,a){return!(Y4(a)||Fb(a)<0||!uh(t,a))},Q4=function(t){var a=parseInt(t.getAttribute("tabindex"),10);return!!(isNaN(a)||a>=0)},Bb=function(t){var a=[],i=[];return t.forEach(function(s,c){var u=!!s.scopeParent,d=u?s.scopeParent:s,f=U4(d,u),p=u?Bb(s.candidates):d;f===0?u?a.push.apply(a,p):a.push(d):i.push({documentOrder:c,tabIndex:f,item:s,isScope:u,content:p})}),i.sort(B4).reduce(function(s,c){return c.isScope?s.push.apply(s,c.content):s.push(c.content),s},[]).concat(a)},bf=function(t,a){a=a||{};var i;return a.getShadowRoot?i=nc([t],a.includeContainer,{filter:dh.bind(null,a),flatten:!1,getShadowRoot:a.getShadowRoot,shadowRootFilter:Q4}):i=zb(t,a.includeContainer,dh.bind(null,a)),Bb(i)},aI=function(t,a){a=a||{};var i;return a.getShadowRoot?i=nc([t],a.includeContainer,{filter:uh.bind(null,a),flatten:!0,getShadowRoot:a.getShadowRoot}):i=zb(t,a.includeContainer,uh.bind(null,a)),i},iI=function(t,a){if(a=a||{},!t)throw new Error("No node provided");return Di.call(t,Jl)===!1?!1:dh(a,t)};const wf=()=>({getShadowRoot:!0,displayCheck:typeof ResizeObserver=="function"&&ResizeObserver.toString().includes("[native code]")?"full":"none"});function Hb(e,t){const a=bf(e,wf()),i=a.length;if(i===0)return;const s=Yo(mc(e)),c=a.indexOf(s),u=c===-1?t===1?0:i-1:c+t;return a[u]}function J4(e){return Hb(mc(e).body,1)||e}function eD(e){return Hb(mc(e).body,-1)||e}function $b(e,t){if(!e)return null;const a=bf(mc(e).body,wf()),i=a.length;if(i===0)return null;const s=a.indexOf(e);if(s===-1)return null;const c=(s+t+i)%i;return a[c]}function oI(e){return $b(e,1)}function sI(e){return $b(e,-1)}function Ed(e,t){const a=t||e.currentTarget,i=e.relatedTarget;return!i||!ja(a,i)}function tD(e){bf(e,wf()).forEach(a=>{a.dataset.tabindex=a.getAttribute("tabindex")||"",a.setAttribute("tabindex","-1")})}function fy(e){e.querySelectorAll("[data-tabindex]").forEach(a=>{const i=a.dataset.tabindex;delete a.dataset.tabindex,i?a.setAttribute("tabindex",i):a.removeAttribute("tabindex")})}const _f=b.createContext(void 0);function xf(){const e=b.useContext(_f);if(!e)throw new Error(is(73));return e}function Rd(e,t){if(typeof e=="string")return{description:e};if(typeof e=="function"){const a=e(t);return typeof a=="string"?{description:a}:a}return e}const nD=function(t){const{children:a,timeout:i=5e3,limit:s=3,toastManager:c}=t,[u,d]=b.useState([]),[f,p]=b.useState(!1),[g,v]=b.useState(!1),[y,w]=b.useState(null);u.length===0&&(f&&p(!1),g&&v(!1));const _=f||g,P=b.useRef(new Map),S=b.useRef(null),N=b.useRef(!0),j=b.useRef(!1);function M(q){const ae=Yo(Si(S.current));if(!S.current||!ja(S.current,ae)||!ch(ae))return;const ie=u.findIndex(V=>V.id===q);let Q=null,ne=ie+1;for(;ne<u.length;){if(u[ne].transitionStatus!=="ending"){Q=u[ne];break}ne+=1}if(!Q)for(ne=ie-1;ne>=0;){if(u[ne].transitionStatus!=="ending"){Q=u[ne];break}ne-=1}Q?Q.ref?.current?.focus():y?.focus({preventScroll:!0})}const D=rn(()=>{j.current||(j.current=!0,P.current.forEach(q=>{if(q.timeout){q.timeout.clear();const ae=Date.now()-q.start,ie=q.delay-ae;q.remaining=ie>0?ie:0}}))}),B=rn(()=>{j.current&&(j.current=!1,P.current.forEach((q,ae)=>{q.remaining=q.remaining>0?q.remaining:q.delay,q.timeout??=Ko.create(),q.timeout.start(q.remaining,()=>{P.current.delete(ae),q.callback()}),q.start=Date.now()}))}),Z=rn(q=>{d(Q=>{const ne=Q.map($=>$.id===q?{...$,transitionStatus:"ending",height:0}:$),V=ne.filter($=>$.transitionStatus!=="ending");return ne.map($=>{if($.transitionStatus==="ending")return $;const O=V.indexOf($)>=s;return{...$,limited:O}})});const ae=P.current.get(q);ae&&ae.timeout&&(ae.timeout.clear(),P.current.delete(q)),u.find(Q=>Q.id===q)?.onClose?.(),M(q),u.length===1&&(p(!1),v(!1))}),oe=rn(q=>{d(ie=>ie.filter(Q=>Q.id!==q)),u.find(ie=>ie.id===q)?.onRemove?.()}),x=rn((q,ae,ie)=>{const Q=Date.now(),ne=N.current&&!f&&!g,V=ne?Ko.create():void 0;V?.start(ae,()=>{P.current.delete(q),ie()}),P.current.set(q,{timeout:V,start:ne?Q:0,delay:ae,remaining:ae,callback:ie})}),ee=rn(q=>{const ae=q.id||Mb("toast"),ie={...q,id:ae,transitionStatus:"starting"};d(ne=>{const V=[ie,...ne],$=V.filter(O=>O.transitionStatus!=="ending");if($.length>s){const O=$.length-s,E=$.slice(-O);return V.map(W=>E.some(de=>de.id===W.id)?{...W,limited:!0}:{...W,limited:!1})}return V.map(O=>({...O,limited:!1}))});const Q=ie.timeout??i;return ie.type!=="loading"&&Q>0&&x(ae,Q,()=>Z(ae)),(f||g||!N.current)&&D(),ae}),Y=rn((q,ae)=>{const ie=u.find(fe=>fe.id===q)??null,Q=ie?{...ie,...ae}:null;if(za.flushSync(()=>{d(fe=>fe.map(he=>he.id===q?{...he,...ae}:he))}),!Q)return;const ne=Q.timeout??i,V=ie?.timeout??i,$=Object.hasOwn(ae,"timeout"),O=Q.transitionStatus!=="ending"&&Q.type!=="loading"&&ne>0,E=P.current.has(q),W=V!==ne,de=ie?.type==="loading";if(!O&&E){P.current.get(q)?.timeout?.clear(),P.current.delete(q);return}if(O&&(!E||W||$||de)){const fe=P.current.get(q);fe&&(fe.timeout?.clear(),P.current.delete(q)),x(q,ne,()=>Z(q)),(f||g||!N.current)&&D()}}),ue=rn((q,ae)=>{const ie=Rd(ae.loading),Q=ee({...ie,type:"loading"}),ne=q.then(V=>{const $=Rd(ae.success,V);return Y(Q,{...$,type:"success",timeout:$.timeout}),V}).catch(V=>{const $=Rd(ae.error,V);return Y(Q,{...$,type:"error",timeout:$.timeout}),Promise.reject(V)});return{}.hasOwnProperty.call(ae,"setPromise")&&ae.setPromise(ne),ne});b.useEffect(function(){return c?c[" subscribe"](({action:ie,options:Q})=>{const ne=Q.id;ie==="promise"&&Q.promise?ue(Q.promise,Q):ie==="update"&&ne?Y(ne,Q):ie==="close"&&ne?Z(ne):ee(Q)}):void 0},[ee,Y,x,i,c,ue,Z]);const se=b.useMemo(()=>({toasts:u,setToasts:d,hovering:f,setHovering:p,focused:g,setFocused:v,expanded:_,add:ee,close:Z,remove:oe,update:Y,promise:ue,pauseTimers:D,resumeTimers:B,prevFocusElement:y,setPrevFocusElement:w,viewportRef:S,scheduleTimer:x,windowFocusedRef:N}),[ee,Z,g,f,_,D,y,ue,oe,B,x,u,Y]);return L.jsx(_f.Provider,{value:se,children:a})},Wb={clipPath:"inset(50%)",overflow:"hidden",whiteSpace:"nowrap",border:0,padding:0,width:1,height:1,margin:-1},Gb={...Wb,position:"fixed",top:0,left:0},lI={...Wb,position:"absolute"},rD=()=>{},os=typeof document<"u"?b.useLayoutEffect:rD,Oo=b.forwardRef(function(t,a){const[i,s]=b.useState();os(()=>{A4&&s("button")},[]);const c={tabIndex:0,role:i};return L.jsx("span",{...t,ref:a,style:Gb,"aria-hidden":i?void 0:!0,...c,"data-base-ui-focus-guard":""})}),aD=b.createContext(void 0);function py(e,t,a,i){const s=as(Kb).current;return oD(s,e,t,a,i)&&Yb(s,[e,t,a,i]),s.callback}function iD(e){const t=as(Kb).current;return sD(t,e)&&Yb(t,e),t.callback}function Kb(){return{callback:null,cleanup:null,refs:[]}}function oD(e,t,a,i,s){return e.refs[0]!==t||e.refs[1]!==a||e.refs[2]!==i||e.refs[3]!==s}function sD(e,t){return e.refs.length!==t.length||e.refs.some((a,i)=>a!==t[i])}function Yb(e,t){if(e.refs=t,t.every(a=>a==null)){e.callback=null;return}e.callback=a=>{if(e.cleanup&&(e.cleanup(),e.cleanup=null),a!=null){const i=Array(t.length).fill(null);for(let s=0;s<t.length;s+=1){const c=t[s];if(c!=null)switch(typeof c){case"function":{const u=c(a);typeof u=="function"&&(i[s]=u);break}case"object":{c.current=a;break}}}e.cleanup=()=>{for(let s=0;s<t.length;s+=1){const c=t[s];if(c!=null)switch(typeof c){case"function":{const u=i[s];typeof u=="function"?u():c(null);break}case"object":{c.current=null;break}}}}}}}const lD=parseInt(b.version,10);function Xb(e){return lD>=e}function my(e){if(!b.isValidElement(e))return null;const t=e,a=t.props;return(Xb(19)?a?.ref:t.ref)??null}function hh(e,t){if(e&&!t)return e;if(!e&&t)return t;if(e||t)return{...e,...t}}function cD(e,t){const a={};for(const i in e){const s=e[i];if(t?.hasOwnProperty(i)){const c=t[i](s);c!=null&&Object.assign(a,c);continue}s===!0?a[`data-${i.toLowerCase()}`]="":s&&(a[`data-${i.toLowerCase()}`]=s.toString())}return a}function uD(e,t){return typeof e=="function"?e(t):e}function dD(e,t){return typeof e=="function"?e(t):e}const zo={};function Zb(e,t,a,i,s){let c={...fh(e,zo)};return t&&(c=Ro(c,t)),a&&(c=Ro(c,a)),i&&(c=Ro(c,i)),s&&(c=Ro(c,s)),c}function hD(e){if(e.length===0)return zo;if(e.length===1)return fh(e[0],zo);let t={...fh(e[0],zo)};for(let a=1;a<e.length;a+=1)t=Ro(t,e[a]);return t}function Ro(e,t){return qb(t)?t(e):fD(e,t)}function fD(e,t){if(!t)return e;for(const a in t){const i=t[a];switch(a){case"style":{e[a]=hh(e.style,i);break}case"className":{e[a]=Qb(e.className,i);break}default:pD(a,i)?e[a]=mD(e[a],i):e[a]=i}}return e}function pD(e,t){const a=e.charCodeAt(0),i=e.charCodeAt(1),s=e.charCodeAt(2);return a===111&&i===110&&s>=65&&s<=90&&(typeof t=="function"||typeof t>"u")}function qb(e){return typeof e=="function"}function fh(e,t){return qb(e)?e(t):e??zo}function mD(e,t){return t?e?a=>{if(gD(a)){const s=a;ph(s);const c=t(s);return s.baseUIHandlerPrevented||e?.(s),c}const i=t(a);return e?.(a),i}:t:e}function ph(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function Qb(e,t){return t?e?t+" "+e:t:e}function gD(e){return e!=null&&typeof e=="object"&&"nativeEvent"in e}function cI(){}const uI=Object.freeze([]),Qr=Object.freeze({}),dI=500,hI={style:{transition:"none"}},fI="data-base-ui-click-trigger",pI={fallbackAxisSide:"none"},mI={fallbackAxisSide:"end"},vD={clipPath:"inset(50%)",position:"fixed",top:0,left:0};function ss(e,t,a={}){const i=t.render,s=yD(t,a);if(a.enabled===!1)return null;const c=a.state??Qr;return kD(e,i,s,c)}function yD(e,t={}){const{className:a,style:i,render:s}=e,{state:c=Qr,ref:u,props:d,stateAttributesMapping:f,enabled:p=!0}=t,g=p?uD(a,c):void 0,v=p?dD(i,c):void 0,y=p?cD(c,f):Qr,w=p?hh(y,Array.isArray(d)?hD(d):d)??Qr:Qr;return typeof document<"u"&&(p?Array.isArray(u)?w.ref=iD([w.ref,my(s),...u]):w.ref=py(w.ref,my(s),u):py(null,null)),p?(g!==void 0&&(w.className=Qb(w.className,g)),v!==void 0&&(w.style=hh(w.style,v)),w):Qr}function kD(e,t,a,i){if(t){if(typeof t=="function")return t(a,i);const s=Zb(a,t.props);return s.ref=a.ref,b.cloneElement(t,s)}if(e&&typeof e=="string")return bD(e,a);throw new Error(is(8))}function bD(e,t){return e==="button"?b.createElement("button",{type:"button",...t,key:t.key}):e==="img"?b.createElement("img",{alt:"",...t,key:t.key}):b.createElement(e,t)}let wD=(function(e){return e.frontmostHeight="--toast-frontmost-height",e})({});const _D=b.forwardRef(function(t,a){const{render:i,className:s,children:c,...u}=t,{toasts:d,pauseTimers:f,resumeTimers:p,setHovering:g,setFocused:v,viewportRef:y,windowFocusedRef:w,prevFocusElement:_,setPrevFocusElement:P,expanded:S,focused:N}=xf(),j=b.useRef(!1),M=b.useRef(!1),D=d.length,B=d[0]?.height??0,Z=b.useMemo(()=>d.some(V=>V.transitionStatus==="ending"),[d]);b.useEffect(()=>{if(!y.current)return;function V(O){D!==0&&O.key==="F6"&&O.target!==y.current&&(O.preventDefault(),P(Yo(Si(y.current))),y.current?.focus({preventScroll:!0}),f(),v(!0))}const $=ra(y.current);return $.addEventListener("keydown",V),()=>{$.removeEventListener("keydown",V)}},[f,v,P,D,y]),b.useEffect(()=>{if(!y.current||!D)return;const V=ra(y.current);function $(E){E.target===V&&(w.current=!1,f())}function O(E){if(E.relatedTarget||E.target===V)return;const W=lh(E),de=Yo(Si(y.current));(!ja(y.current,W)||!ch(de))&&p(),setTimeout(()=>{w.current=!0})}return V.addEventListener("blur",$,!0),V.addEventListener("focus",O,!0),()=>{V.removeEventListener("blur",$,!0),V.removeEventListener("focus",O,!0)}},[f,p,y,w,v,D]),b.useEffect(()=>{const V=y.current;if(!V||D===0)return;const $=Si(V);function O(E){if(E.pointerType!=="touch")return;const W=lh(E);ja(V,W)||(p(),g(!1),v(!1))}return $.addEventListener("pointerdown",O,!0),()=>{$.removeEventListener("pointerdown",O,!0)}},[D,p,v,g,y]);function oe(V){y.current&&(j.current=!0,V.relatedTarget===y.current?d[0]?.ref?.current?.focus():_?.focus({preventScroll:!0}))}function x(V){V.key==="Tab"&&V.shiftKey&&V.target===y.current&&(V.preventDefault(),_?.focus({preventScroll:!0}),p())}b.useEffect(()=>{!w.current||Z||!M.current||(p(),g(!1),M.current=!1)},[Z,p,g,w]);function ee(){f(),g(!0),M.current=!1}function Y(){d.some(V=>V.transitionStatus==="ending")?M.current=!0:(p(),g(!1))}function ue(){if(j.current){j.current=!1;return}N||ch(Si(y.current).activeElement)&&(v(!0),f())}function se(V){!N||ja(y.current,V.relatedTarget)||(v(!1),p())}const q={tabIndex:-1,role:"region","aria-live":"polite","aria-atomic":!1,"aria-relevant":"additions text","aria-label":"Notifications",onMouseEnter:ee,onMouseMove:ee,onMouseLeave:Y,onFocus:ue,onBlur:se,onKeyDown:x,onClick:ue},ae=b.useMemo(()=>({expanded:S}),[S]),ie=ss("div",t,{ref:[a,y],state:ae,props:[q,{style:{[wD.frontmostHeight]:B?`${B}px`:void 0}},u,{children:L.jsxs(b.Fragment,{children:[D>0&&_&&L.jsx(Oo,{onFocus:oe}),c,D>0&&_&&L.jsx(Oo,{onFocus:oe})]})}]}),Q=b.useMemo(()=>({viewportRef:y}),[y]),ne=b.useMemo(()=>d.filter(V=>V.priority==="high"),[d]);return L.jsxs(aD.Provider,{value:Q,children:[D>0&&_&&L.jsx(Oo,{onFocus:oe}),ie,!N&&ne.length>0&&L.jsx("div",{style:Gb,children:ne.map(V=>L.jsxs("div",{role:"alert","aria-atomic":!0,children:[L.jsx("div",{children:V.title}),L.jsx("div",{children:V.description})]},V.id))})]})});function xD(e){return Xb(19)?e:e?"true":void 0}const Jb=b.createContext(void 0);function mh(){const e=b.useContext(Jb);if(!e)throw new Error(is(66));return e}let Pf=(function(e){return e.startingStyle="data-starting-style",e.endingStyle="data-ending-style",e})({});const PD={[Pf.startingStyle]:""},SD={[Pf.endingStyle]:""},CD={transitionStatus(e){return e==="starting"?PD:e==="ending"?SD:null}},xl=null;class TD{callbacks=[];callbacksCount=0;nextId=1;startId=1;isScheduled=!1;tick=t=>{this.isScheduled=!1;const a=this.callbacks,i=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,i>0)for(let s=0;s<a.length;s+=1)a[s]?.(t)};request(t){const a=this.nextId;return this.nextId+=1,this.callbacks.push(t),this.callbacksCount+=1,!this.isScheduled&&(requestAnimationFrame(this.tick),this.isScheduled=!0),a}cancel(t){const a=t-this.startId;a<0||a>=this.callbacks.length||(this.callbacks[a]=null,this.callbacksCount-=1)}}const Pl=new TD;class Sf{static create(){return new Sf}static request(t){return Pl.request(t)}static cancel(t){return Pl.cancel(t)}currentId=xl;request(t){this.cancel(),this.currentId=Pl.request(()=>{this.currentId=xl,t()})}cancel=()=>{this.currentId!==xl&&(Pl.cancel(this.currentId),this.currentId=xl)};disposeEffect=()=>this.cancel}function ED(){const e=as(Sf.create).current;return Lb(e.disposeEffect),e}function RD(e){return e==null?e:"current"in e?e.current:e}function DD(e,t=!1,a=!0){const i=ED();return rn((s,c=null)=>{i.cancel();function u(){za.flushSync(s)}const d=RD(e);if(d==null)return;const f=d;if(typeof f.getAnimations!="function"||globalThis.BASE_UI_ANIMATIONS_DISABLED)s();else{let p=function(){const v=Pf.startingStyle;if(!f.hasAttribute(v)){i.request(g);return}const y=new MutationObserver(()=>{f.hasAttribute(v)||(y.disconnect(),g())});y.observe(f,{attributes:!0,attributeFilter:[v]}),c?.addEventListener("abort",()=>y.disconnect(),{once:!0})},g=function(){Promise.all(f.getAnimations().map(v=>v.finished)).then(()=>{c?.aborted||u()}).catch(()=>{const v=f.getAnimations();if(a){if(c?.aborted)return;u()}else v.length>0&&v.some(y=>y.pending||y.playState!=="finished")&&g()})};if(t){p();return}i.request(g)}})}function ID(e){const{enabled:t=!0,open:a,ref:i,onComplete:s}=e,c=rn(s),u=DD(i,a,!1);b.useEffect(()=>{if(!t)return;const d=new AbortController;return u(c,d.signal),()=>{d.abort()}},[t,a,c,u])}let Ea=(function(e){return e.index="--toast-index",e.offsetY="--toast-offset-y",e.height="--toast-height",e.swipeMovementX="--toast-swipe-movement-x",e.swipeMovementY="--toast-swipe-movement-y",e})({});const AD={...CD,swipeDirection(e){return e?{"data-swipe-direction":e}:null}},So=40,MD=10,Yr=.5,LD=1;function gy(e,t,a){switch(e){case"up":return-a;case"down":return a;case"left":return-t;case"right":return t;default:return 0}}function ND(e){const a=window.getComputedStyle(e).transform;let i=0,s=0,c=1;if(a&&a!=="none"){const u=a.match(/matrix(?:3d)?\(([^)]+)\)/);if(u){const d=u[1].split(", ").map(parseFloat);d.length===6?(i=d[4],s=d[5],c=Math.sqrt(d[0]*d[0]+d[1]*d[1])):d.length===16&&(i=d[12],s=d[13],c=d[0])}}return{x:i,y:s,scale:c}}const jD=b.forwardRef(function(t,a){const{toast:i,render:s,className:c,swipeDirection:u=["down","right"],...d}=t,f=i.positionerProps?.anchor!==void 0;let p=[];f||(p=Array.isArray(u)?u:[u]);const g=p.length>0,{toasts:v,focused:y,close:w,remove:_,setToasts:P,pauseTimers:S,expanded:N,setHovering:j}=xf(),[M,D]=b.useState(void 0),[B,Z]=b.useState(!1),[oe,x]=b.useState(!1),[ee,Y]=b.useState(!1),[ue,se]=b.useState({x:0,y:0}),[q,ae]=b.useState({x:0,y:0,scale:1}),[ie,Q]=b.useState(),[ne,V]=b.useState(),[$,O]=b.useState(null),E=b.useRef(null),W=b.useRef({x:0,y:0}),de=b.useRef({x:0,y:0,scale:1}),fe=b.useRef(void 0),he=b.useRef(0),pe=b.useRef(!1),De=b.useRef({x:0,y:0}),je=b.useRef(!1),Ce=b.useMemo(()=>v.indexOf(i),[i,v]),ut=b.useMemo(()=>v.filter(Le=>Le.transitionStatus!=="ending").indexOf(i),[i,v]),an=b.useMemo(()=>v.slice(0,v.indexOf(i)).reduce((Le,Ae)=>Le+(Ae.height||0),0),[v,i]);ID({open:i.transitionStatus!=="ending",ref:E,onComplete(){i.transitionStatus==="ending"&&_(i.id)}});const Xt=rn((Le=!1)=>{const Ae=E.current;if(!Ae)return;const Ze=Ae.style.height;Ae.style.height="auto";const ot=Ae.offsetHeight;Ae.style.height=Ze;function mt(){P(Je=>Je.map(Ke=>Ke.id===i.id?{...Ke,ref:E,height:ot,transitionStatus:void 0}:Ke))}Le?za.flushSync(mt):mt()});os(Xt,[Xt]);function qe(Le,Ae){let Ze=Le,ot=Ae;return!p.includes("left")&&!p.includes("right")?Ze=Le>0?Le**Yr:-(Math.abs(Le)**Yr):(!p.includes("right")&&Le>0&&(Ze=Le**Yr),!p.includes("left")&&Le<0&&(Ze=-(Math.abs(Le)**Yr))),!p.includes("up")&&!p.includes("down")?ot=Ae>0?Ae**Yr:-(Math.abs(Ae)**Yr):(!p.includes("down")&&Ae>0&&(ot=Ae**Yr),!p.includes("up")&&Ae<0&&(ot=-(Math.abs(Ae)**Yr))),{x:Ze,y:ot}}function Et(Le){if(Le.button!==0)return;Le.pointerType==="touch"&&S();const Ae=lh(Le.nativeEvent);if(!(Ae&&Ae.closest('button,a,input,textarea,[role="button"],[data-swipe-ignore]'))){if(pe.current=!1,fe.current=void 0,he.current=0,W.current={x:Le.clientX,y:Le.clientY},De.current=W.current,E.current){const ot=ND(E.current);de.current=ot,ae(ot),se({x:ot.x,y:ot.y})}j(!0),Z(!0),x(!1),O(null),je.current=!0,E.current?.setPointerCapture(Le.pointerId)}}function la(Le){if(!B)return;Le.preventDefault(),je.current&&(W.current={x:Le.clientX,y:Le.clientY},je.current=!1);const{clientY:Ae,clientX:Ze,movementX:ot,movementY:mt}=Le;(mt<0&&Ae>De.current.y||mt>0&&Ae<De.current.y)&&(De.current={x:De.current.x,y:Ae}),(ot<0&&Ze>De.current.x||ot>0&&Ze<De.current.x)&&(De.current={x:Ze,y:De.current.y});const Je=Ze-W.current.x,Ke=Ae-W.current.y,ir=Ae-De.current.y,Ni=Ze-De.current.x;if(!oe&&Math.sqrt(Je*Je+Ke*Ke)>=LD&&(x(!0),$===null)){const En=p.includes("left")||p.includes("right"),ua=p.includes("up")||p.includes("down");if(En&&ua){const wr=Math.abs(Je),sn=Math.abs(Ke);O(wr>sn?"horizontal":"vertical")}}let Pt;if(!fe.current)$==="vertical"?Ke>0?Pt="down":Ke<0&&(Pt="up"):$==="horizontal"?Je>0?Pt="right":Je<0&&(Pt="left"):Math.abs(Je)>=Math.abs(Ke)?Pt=Je>0?"right":"left":Pt=Ke>0?"down":"up",Pt&&p.includes(Pt)&&(fe.current=Pt,he.current=gy(Pt,Je,Ke),D(Pt));else{const $n=fe.current,En=gy($n,Ni,ir);En>So?(pe.current=!1,D($n)):!(p.includes("left")&&p.includes("right"))&&!(p.includes("up")&&p.includes("down"))&&he.current-En>=MD&&(pe.current=!0)}const or=qe(Je,Ke);let Ht=de.current.x,Hn=de.current.y;$==="horizontal"?(p.includes("left")||p.includes("right"))&&(Ht+=or.x):($==="vertical"||(p.includes("left")||p.includes("right"))&&(Ht+=or.x),(p.includes("up")||p.includes("down"))&&(Hn+=or.y)),se({x:Ht,y:Hn})}function Ba(Le){if(!B)return;if(Z(!1),x(!1),O(null),E.current?.releasePointerCapture(Le.pointerId),pe.current){se({x:q.x,y:q.y}),D(void 0);return}let Ae=!1;const Ze=ue.x-q.x,ot=ue.y-q.y;let mt;for(const Je of p){switch(Je){case"right":Ze>So&&(Ae=!0,mt="right");break;case"left":Ze<-So&&(Ae=!0,mt="left");break;case"down":ot>So&&(Ae=!0,mt="down");break;case"up":ot<-So&&(Ae=!0,mt="up");break}if(Ae)break}Ae?(D(mt),Y(!0),w(i.id)):(se({x:q.x,y:q.y}),D(void 0))}function on(Le){if(Le.key==="Escape"){if(!E.current||!ja(E.current,Yo(Si(E.current))))return;w(i.id)}}b.useEffect(()=>{if(!g)return;const Le=E.current;if(!Le)return;function Ae(Ze){ja(Le,Ze.target)&&Ze.preventDefault()}return Le.addEventListener("touchmove",Ae,{passive:!1}),()=>{Le.removeEventListener("touchmove",Ae)}},[g]);function Ha(){if(!B&&ue.x===q.x&&ue.y===q.y&&!ee)return{[Ea.swipeMovementX]:"0px",[Ea.swipeMovementY]:"0px"};const Le=ue.x-q.x,Ae=ue.y-q.y;return{transition:B?"none":void 0,transform:B?`translateX(${ue.x}px) translateY(${ue.y}px) scale(${q.scale})`:void 0,[Ea.swipeMovementX]:`${Le}px`,[Ea.swipeMovementY]:`${Ae}px`}}const br=i.priority==="high",Bn={role:br?"alertdialog":"dialog",tabIndex:0,"aria-modal":!1,"aria-labelledby":ie,"aria-describedby":ne,"aria-hidden":br&&!y?!0:void 0,onPointerDown:g?Et:void 0,onPointerMove:g?la:void 0,onPointerUp:g?Ba:void 0,onKeyDown:on,inert:xD(i.limited),style:{...Ha(),[Ea.index]:i.transitionStatus==="ending"?Ce:ut,[Ea.offsetY]:`${an}px`,[Ea.height]:i.height?`${i.height}px`:void 0}},Bt=b.useMemo(()=>({rootRef:E,toast:i,titleId:ie,setTitleId:Q,descriptionId:ne,setDescriptionId:V,swiping:B,swipeDirection:M,recalculateHeight:Xt,index:Ce,visibleIndex:ut,expanded:N}),[i,ie,ne,B,M,Xt,Ce,ut,N]),ca=b.useMemo(()=>({transitionStatus:i.transitionStatus,expanded:N,limited:i.limited||!1,type:i.type,swiping:Bt.swiping,swipeDirection:Bt.swipeDirection}),[N,i.transitionStatus,i.limited,i.type,Bt.swiping,Bt.swipeDirection]),$a=ss("div",t,{ref:[a,Bt.rootRef],state:ca,stateAttributesMapping:AD,props:[Bn,d]});return L.jsx(Jb.Provider,{value:Bt,children:$a})}),OD={...kh};let vy=0;function zD(e,t="mui"){const[a,i]=b.useState(e),s=e||a;return b.useEffect(()=>{a==null&&(vy+=1,i(`${t}-${vy}`))},[a,t]),s}const yy=OD.useId;function ew(e,t){if(yy!==void 0){const a=yy();return e??(t?`${t}-${a}`:a)}return zD(e,t)}const VD=b.forwardRef(function(t,a){const{render:i,className:s,id:c,children:u,...d}=t,{toast:f}=mh(),p=u??f.title,g=!!p,v=ew(c),{setTitleId:y}=mh();os(()=>{if(g)return y(v),()=>{y(void 0)}},[g,v,y]);const w=b.useMemo(()=>({type:f.type}),[f.type]),_=ss("h2",t,{ref:a,state:w,props:{...d,id:v,children:p}});return g?_:null}),FD=b.createContext(void 0);function UD(e=!1){const t=b.useContext(FD);if(t===void 0&&!e)throw new Error(is(16));return t}function BD(e){const{focusableWhenDisabled:t,disabled:a,composite:i=!1,tabIndex:s=0,isNativeButton:c}=e,u=i&&t!==!1,d=i&&t===!1;return{props:b.useMemo(()=>{const p={onKeyDown(g){a&&t&&g.key!=="Tab"&&g.preventDefault()}};return i||(p.tabIndex=s,!c&&a&&(p.tabIndex=t?s:-1)),(c&&(t||u)||!c&&a)&&(p["aria-disabled"]=a),c&&(!t||d)&&(p.disabled=a),p},[i,a,t,u,d,c,s])}}function HD(e={}){const{disabled:t=!1,focusableWhenDisabled:a,tabIndex:i=0,native:s=!0}=e,c=b.useRef(null),u=UD(!0)!==void 0,d=rn(()=>{const y=c.current;return!!(y?.tagName==="A"&&y?.href)}),{props:f}=BD({focusableWhenDisabled:a,disabled:t,composite:u,tabIndex:i,isNativeButton:s}),p=b.useCallback(()=>{const y=c.current;$D(y)&&u&&t&&f.disabled===void 0&&y.disabled&&(y.disabled=!1)},[t,f.disabled,u]);os(p,[p]);const g=b.useCallback((y={})=>{const{onClick:w,onMouseDown:_,onKeyUp:P,onKeyDown:S,onPointerDown:N,...j}=y;return Zb({type:s?"button":void 0,onClick(D){if(t){D.preventDefault();return}w?.(D)},onMouseDown(D){t||_?.(D)},onKeyDown(D){if(t||(ph(D),S?.(D)),D.baseUIHandlerPrevented)return;const B=D.target===D.currentTarget&&!s&&!d()&&!t,Z=D.key==="Enter",oe=D.key===" ";B&&((oe||Z)&&D.preventDefault(),Z&&w?.(D))},onKeyUp(D){t||(ph(D),P?.(D)),!D.baseUIHandlerPrevented&&D.target===D.currentTarget&&!s&&!t&&D.key===" "&&w?.(D)},onPointerDown(D){if(t){D.preventDefault();return}N?.(D)}},s?void 0:{role:"button"},f,j)},[t,f,s,d]),v=rn(y=>{c.current=y,p()});return{getButtonProps:g,buttonRef:v}}function $D(e){return pc(e)&&e.tagName==="BUTTON"}const WD=b.forwardRef(function(t,a){const{render:i,className:s,disabled:c,nativeButton:u=!0,...d}=t,{close:f,expanded:p}=xf(),{toast:g}=mh(),[v,y]=b.useState(!1),{getButtonProps:w,buttonRef:_}=HD({disabled:c,native:u}),P=b.useMemo(()=>({type:g.type}),[g.type]);return ss("button",t,{ref:[a,_],state:P,props:[{"aria-hidden":!p&&!v,onClick(){f(g.id)},onFocus(){y(!0)},onBlur(){y(!1)}},d,w]})}),gI="none",vI="trigger-press",yI="trigger-hover",kI="outside-press",bI="item-press",wI="close-press",GD="focus-out",_I="escape-key",xI="list-navigation",PI="cancel-open",SI="imperative-action",CI="window-resize";function KD(e,t,a,i){let s=!1,c=!1;const u=Qr;return{reason:e,event:t??new Event("base-ui"),cancel(){s=!0},allowPropagation(){c=!0},get isCanceled(){return s},get isPropagationAllowed(){return c},trigger:a,...u}}function YD(e){return`data-base-ui-${e}`}const tw=b.createContext(null),XD=()=>b.useContext(tw),ZD=YD("portal");function nw(e={}){const{ref:t,container:a,componentProps:i=Qr,elementProps:s,elementState:c}=e,u=ew(),f=XD()?.portalNode,[p,g]=b.useState(null),[v,y]=b.useState(null),w=rn(N=>{N!==null&&y(N)}),_=b.useRef(null);os(()=>{if(a===null){_.current&&(_.current=null,y(null),g(null));return}if(u==null)return;const N=(a&&(kf(a)?a:a.current))??f??document.body;if(N==null){_.current&&(_.current=null,y(null),g(null));return}_.current!==N&&(_.current=N,y(null),g(N))},[a,f,u]);const P=ss("div",i,{ref:[t,w],state:c,props:[{id:u,[ZD]:""},s]});return{portalNode:v,portalSubtree:p&&P?za.createPortal(P,p):null}}const TI=b.forwardRef(function(t,a){const{children:i,container:s,className:c,render:u,renderGuards:d,...f}=t,{portalNode:p,portalSubtree:g}=nw({container:s,ref:a,componentProps:t,elementProps:f}),v=b.useRef(null),y=b.useRef(null),w=b.useRef(null),_=b.useRef(null),[P,S]=b.useState(null),N=P?.modal,j=P?.open,M=typeof d=="boolean"?d:!!P&&!P.modal&&P.open&&!!p;b.useEffect(()=>{if(!p||N)return;function B(Z){p&&Z.relatedTarget&&Ed(Z)&&(Z.type==="focusin"?fy:tD)(p)}return p.addEventListener("focusin",B,!0),p.addEventListener("focusout",B,!0),()=>{p.removeEventListener("focusin",B,!0),p.removeEventListener("focusout",B,!0)}},[p,N]),b.useEffect(()=>{!p||j||fy(p)},[j,p]);const D=b.useMemo(()=>({beforeOutsideRef:v,afterOutsideRef:y,beforeInsideRef:w,afterInsideRef:_,portalNode:p,setFocusManagerState:S}),[p]);return L.jsxs(b.Fragment,{children:[g,L.jsxs(tw.Provider,{value:D,children:[M&&p&&L.jsx(Oo,{"data-type":"outside",ref:v,onFocus:B=>{if(Ed(B,p))w.current?.focus();else{const Z=P?P.domReference:null;eD(Z)?.focus()}}}),M&&p&&L.jsx("span",{"aria-owns":p.id,style:vD}),p&&za.createPortal(i,p),M&&p&&L.jsx(Oo,{"data-type":"outside",ref:y,onFocus:B=>{if(Ed(B,p))_.current?.focus();else{const Z=P?P.domReference:null;J4(Z)?.focus(),P?.closeOnFocusOut&&P?.onOpenChange(!1,KD(GD,B.nativeEvent))}}})]})]})}),qD=b.forwardRef(function(t,a){const{children:i,container:s,className:c,render:u,...d}=t,{portalNode:f,portalSubtree:p}=nw({container:s,ref:a,componentProps:t,elementProps:d});return!p&&!f?null:L.jsxs(b.Fragment,{children:[p,f&&za.createPortal(i,f)]})}),QD=qD;function JD(){const e=b.useContext(_f);if(!e)throw new Error(is(73));const{toasts:t,add:a,close:i,update:s,promise:c}=e;return b.useMemo(()=>({toasts:t,add:a,close:i,update:s,promise:c}),[t,a,i,s,c])}function e5(){const e=[];function t(a){e.forEach(i=>i(a))}return{" subscribe":function(i){return e.push(i),()=>{const s=e.indexOf(i);s!==-1&&e.splice(s,1)}},add(a){const i=a.id||Mb("toast"),s={...a,id:i,transitionStatus:"starting"};return t({action:"add",options:s}),i},close(a){t({action:"close",options:{id:a}})},update(a,i){t({action:"update",options:{...i,id:a}})},promise(a,i){let s=a;return t({action:"promise",options:{...i,promise:a,setPromise(c){s=c}}}),s}}}const Cf=e5();function EI(e){return Cf.add(e)}function t5({children:e}){return L.jsxs(nD,{toastManager:Cf,children:[e,L.jsx(QD,{children:L.jsx(_D,{className:"fixed inset-x-0 top-6 z-[100] mx-auto flex w-full max-w-sm flex-col items-center gap-2 px-4 outline-none",children:L.jsx(n5,{})})})]})}function n5(){const{toasts:e}=JD();return e.map(t=>{const a=t.data?.onUndo;return L.jsxs(jD,{toast:t,className:nr("pointer-events-auto flex w-full items-center gap-3 rounded-xl border border-oai-gray-200 bg-oai-white px-4 py-3 shadow-xl transition-all duration-200 ease-out","data-[starting-style]:-translate-y-3 data-[starting-style]:opacity-0","data-[ending-style]:-translate-y-3 data-[ending-style]:opacity-0","dark:border-oai-gray-800 dark:bg-oai-gray-900"),children:[L.jsx(VD,{className:"min-w-0 flex-1 text-sm font-medium text-oai-black dark:text-white"}),a?L.jsx("button",{type:"button",onClick:()=>{a(),Cf.close(t.id)},className:"shrink-0 rounded-md px-2 py-1 text-xs font-semibold text-oai-gray-600 transition-colors hover:bg-oai-gray-100 hover:text-oai-black focus:outline-none focus:ring-2 focus:ring-oai-gray-400/30 dark:text-oai-gray-300 dark:hover:bg-oai-gray-800 dark:hover:text-white",children:He("shared.action.undo")}):null,L.jsx(WD,{"aria-label":He("shared.action.dismiss"),className:"-mr-1 inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-md text-oai-gray-400 transition-colors hover:bg-oai-gray-100 hover:text-oai-black focus:outline-none focus:ring-2 focus:ring-oai-gray-400/30 dark:hover:bg-oai-gray-800 dark:hover:text-white",children:L.jsx(wk,{className:"h-3.5 w-3.5","aria-hidden":!0})})]},t.id)})}const rw=Object.freeze(["limits"]),r5=Object.freeze({limits:"/limits"}),a5=Object.freeze({limits:()=>Va(()=>import("./LimitsPage-CxKP9yCf.js"),__vite__mapDeps([0,1,2,3,4,5,6]))}),i5=Object.freeze(["dashboard-existing","silent-preload","page-load","manual-refresh"]);let ky=0,aa;class o5{constructor(){this.limits=null}read(t,a){return ls(t),!this.limits||this.limits.contextKey!==a?null:gh(this.limits)}write(t){this.limits=t}snapshot(){return{limits:gh(this.limits)}}}class s5{constructor(){ky+=1,this.sessionId=`dashboard-preload-${ky}`,this.createdAt=Date.now(),this.completedAt=null,this.startedAfterMainContentVisible=!1,this.cache=new o5,this.targets={limits:l5("limits")}}}function l5(e){return{key:e,route:r5[e],resourceStatus:"idle",stateStatus:"idle",error:null,resourcePromise:null,resourceModule:null,resourceRequestId:0,statePromise:null,stateRequestId:0,pendingStateContextKey:null}}function c5(){return new s5}aa=c5();function ls(e){if(!rw.includes(e))throw new Error(`Unknown dashboard preload target: ${e}`)}function aw(e){return e?typeof e=="string"?e:e.message||String(e):null}function u5(e,t){return i5.includes(e)?e:t}function d5(e){const t=Number(e);return Number.isFinite(t)?t:Date.now()}function gh(e){return e?{...e}:null}function by(){const e=rw.every(t=>{const a=aa.targets[t];return a.resourceStatus==="fulfilled"||a.resourceStatus==="rejected"});aa.completedAt=e?Date.now():null}function h5(){aa.startedAfterMainContentVisible=!0}function iw(e,t={}){ls(e);const a=Object.entries(t).filter(([,i])=>i!==void 0).sort(([i],[s])=>i.localeCompare(s)).map(([i,s])=>`${i}=${s===null?"null":String(s)}`);return`${e}:${a.join("|")}`}function f5(e,t={}){ls(e);const a=aa.targets[e];if(a.resourceStatus==="fulfilled")return Promise.resolve(a.resourceModule);if(a.resourceStatus==="pending"&&a.resourcePromise)return a.resourcePromise;const i=t.loader||a5[e],s=a.resourceRequestId+1;a.resourceRequestId=s,a.resourceStatus="pending",a.error=null;const c=Promise.resolve().then(()=>i()).then(u=>a.resourceRequestId!==s||a.resourcePromise!==c?null:(a.resourceStatus="fulfilled",a.resourceModule=u,a.error=null,by(),u)).catch(u=>(a.resourceRequestId!==s||a.resourcePromise!==c||(a.resourceStatus="rejected",a.error=aw(u),by()),null));return a.resourcePromise=c,c}function p5(e,t){ls(e);const a=aa.targets[e],i=t?.status,s={targetKey:e,status:i,data:t?.data??null,error:aw(t?.error),source:u5(t?.source,"silent-preload"),generatedAt:d5(t?.generatedAt),updatedAt:Date.now(),contextKey:t?.contextKey||iw(e,t?.context||{})};return a.stateStatus=i,i==="rejected"||i==="skipped"?a.error=s.error:i==="fulfilled"&&(a.error=null,aa.cache.write(s)),gh(s)}function m5(e,t){return ls(e),aa.cache.read(e,t)}function RI(e,t={}){return p5("limits",{data:e,source:t.source||"dashboard-existing",contextKey:t.contextKey||ow(t.context||{}),generatedAt:t.generatedAt,status:t.status||"fulfilled",error:t.error})}function ow(e={}){return iw("limits",{state:"current",...e})}function DI(e=ow()){return m5("limits",e)}const g5=b.lazy(()=>Va(()=>import("./DashboardPage-BEzDx9x_.js"),__vite__mapDeps([7,2,3,1,4,8,9,5,10])).then(e=>({default:e.DashboardPage}))),v5=b.lazy(()=>Va(()=>import("./IpCheckPage-COYl0L0c.js"),[])),y5=b.lazy(()=>Va(()=>import("./LimitsPage-CxKP9yCf.js"),__vite__mapDeps([0,1,2,3,4,5,6])).then(e=>({default:e.LimitsPage}))),k5=b.lazy(()=>Va(()=>import("./WrappedPage-BZMXgdYx.js"),__vite__mapDeps([11,3]))),b5=b.lazy(()=>Va(()=>import("./SettingsPage-BKATdxHm.js"),__vite__mapDeps([12,4,8,10,5])).then(e=>({default:e.SettingsPage}))),w5=b.lazy(()=>Va(()=>import("./SkillsPage-BCS1cw7N.js"),__vite__mapDeps([13,6,2,3,5,9,8])).then(e=>({default:e.SkillsPage})));function _5(){const{resolvedLocale:e}=_k(),t=Un(),a=b.useRef(!1),i=b.useRef(!1);b.useMemo(()=>typeof window>"u"?!1:GS(window.location.search),[]);const s=t?.pathname||"/",c=WS(),u=s.replace(/\/+$/,"")||"/",d=u==="/"||u==="/dashboard",f=u==="/limits",p=u==="/settings",g=u==="/skills",v=u==="/ip-check",y=u==="/wrapped",w=b.useCallback(()=>{d&&(a.current||(a.current=!0,h5()),i.current||(i.current=!0,f5("limits")))},[d]);let _=g5;f?_=y5:p?_=b5:g?_=w5:v&&(_=v5);const P=u==="/dashboard"||u==="/"||f||p||g||v;let S=null;if(y)S=L.jsx(k5,{});else{const N=L.jsx(_,{baseUrl:c,onMainContentVisible:w},e);S=P?L.jsx(ZC,{children:N}):N}return L.jsx(US,{children:L.jsx($S,{children:L.jsxs(t5,{children:[L.jsx(b.Suspense,{fallback:null,children:S}),P?L.jsx(b4,{}):null]})})})}const x5=aP([{path:"*",element:L.jsx(_5,{})}]);X_.createRoot(document.getElementById("root")).render(L.jsx(yh.StrictMode,{children:L.jsx(BP,{children:L.jsx(nS,{children:L.jsx(gP,{router:x5})})})}));export{os as $,UE as A,FS as B,Bo as C,GS as D,RI as E,DI as F,v4 as G,Uh as H,bk as I,Kl as J,kk as K,oc as L,mf as M,CS as N,S5 as O,m4 as P,Ti as Q,yh as R,NS as S,Fl as T,ok as U,sk as V,lk as W,wk as X,rn as Y,ik as Z,is as _,At as a,nI as a$,cI as a0,py as a1,Zb as a2,Qr as a3,lI as a4,Gb as a5,gI as a6,ID as a7,CD as a8,y4 as a9,ja as aA,rI as aB,Ko as aC,TI as aD,xD as aE,SI as aF,vI as aG,_I as aH,dI as aI,GD as aJ,Lb as aK,fI as aL,Oo as aM,sI as aN,Ed as aO,oI as aP,J4 as aQ,mI as aR,DD as aS,pc as aT,K5 as aU,M4 as aV,Q5 as aW,J5 as aX,Z5 as aY,q5 as aZ,yf as a_,R5 as aa,T5 as ab,z5 as ac,V5 as ad,F5 as ae,IS as af,MS as ag,E5 as ah,D5 as ai,EI as aj,I5 as ak,N5 as al,A5 as am,M5 as an,L5 as ao,O5 as ap,j5 as aq,ew as ar,as,Eb as at,$5 as au,YD as av,O4 as aw,yI as ax,mc as ay,lh as az,Uk as b,XD as b0,ED as b1,bf as b2,wf as b3,RD as b4,Yo as b5,kI as b6,eD as b7,iI as b8,ra as b9,Pf as bA,G5 as bB,W5 as bC,PI as bD,pI as bE,hI as bF,CI as bG,bI as bH,tS as bI,Oh as bJ,aI as ba,Ib as bb,z4 as bc,ly as bd,w4 as be,T4 as bf,C4 as bg,_4 as bh,sh as bi,Db as bj,U5 as bk,S4 as bl,B5 as bm,Rb as bn,H5 as bo,tI as bp,eI as bq,vh as br,Xb as bs,Sf as bt,dy as bu,Y5 as bv,X5 as bw,xI as bx,uI as by,Si as bz,Ut as c,na as d,iv as e,Qe as f,HD as g,ss as h,G2 as i,L as j,KD as k,wI as l,Ri as m,XR as n,sy as o,He as p,OC as q,b as r,za as s,HP as t,Bh as u,P5 as v,gS as w,nr as x,pS as y,_k as z};
|