free-coding-models 0.5.98 → 0.5.99

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.
@@ -6,7 +6,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
6
6
  `+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{Le=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?Ie(n):``}function ze(e,t){switch(e.tag){case 26:case 27:case 5:return Ie(e.type);case 16:return Ie(`Lazy`);case 13:return e.child!==t&&t!==null?Ie(`Suspense Fallback`):Ie(`Suspense`);case 19:return Ie(`SuspenseList`);case 0:case 15:return Re(e.type,!1);case 11:return Re(e.type.render,!1);case 1:return Re(e.type,!0);case 31:return Ie(`Activity`);case 30:return Ie(`ViewTransition`);default:return``}}function Be(e){try{var t=``,n=null;do t+=ze(e,n),n=e,e=e.return;while(e);return t}catch(e){return`
7
7
  Error generating stack: `+e.message+`
8
8
  `+e.stack}}var Ve=Object.prototype.hasOwnProperty,He=t.unstable_scheduleCallback,Ue=t.unstable_cancelCallback,We=t.unstable_shouldYield,Ge=t.unstable_requestPaint,Ke=t.unstable_now,qe=t.unstable_getCurrentPriorityLevel,Je=t.unstable_ImmediatePriority,Ye=t.unstable_UserBlockingPriority,Xe=t.unstable_NormalPriority,Ze=t.unstable_LowPriority,Qe=t.unstable_IdlePriority,$e=t.log,et=t.unstable_setDisableYieldValue,tt=null,nt=null;function rt(e){if(typeof $e==`function`&&et(e),nt&&typeof nt.setStrictMode==`function`)try{nt.setStrictMode(tt,e)}catch{}}var it=Math.clz32?Math.clz32:st,at=Math.log,ot=Math.LN2;function st(e){return e>>>=0,e===0?32:31-(at(e)/ot|0)|0}var ct=256,lt=262144,ut=4194304;function dt(e){var t=e&42;if(t!==0)return t;switch(e&-e){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&-e;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function N(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=dt(n))):i=dt(o):i=dt(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=dt(n))):i=dt(o)):i=dt(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function ft(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function pt(e,t){t&8&&(t|=t&32);var n=e.entangledLanes;if(n!==0)for(e=e.entanglements,n&=t;0<n;){var r=31-it(n),i=1<<r;t|=e[r],n&=~i}return t}function mt(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32: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 t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function ht(){var e=ut;return ut<<=1,!(ut&62914560)&&(ut=4194304),e}function gt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function _t(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function vt(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-it(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&yt(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function yt(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-it(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function bt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-it(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function xt(e,t){var n=t&-t;return n=n&42?1:St(n),(n&(e.suspendedLanes|t))===0?n:0}function St(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;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:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function Ct(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function wt(){var e=j.p;return e===0?(e=window.event,e===void 0?32:Ch(e.type)):e}function Tt(e,t){var n=j.p;try{return j.p=e,t()}finally{j.p=n}}var Et=Math.random().toString(36).slice(2),Dt=`__reactFiber$`+Et,Ot=`__reactProps$`+Et,kt=`__reactContainer$`+Et,At=`__reactEvents$`+Et,jt=`__reactListeners$`+Et,Mt=`__reactHandles$`+Et,Nt=`__reactResources$`+Et,Pt=`__reactMarker$`+Et,Ft=`__reactLoad$`+Et;function It(e){delete e[Dt],delete e[Ot],delete e[jt],delete e[Mt]}function Lt(e){var t;if(t=e[Dt])return t;for(var n=e.parentNode;n;){if(t=n[kt]||n[Dt]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=fm(e);e!==null;){if(n=e[Dt])return n;e=fm(e)}return t}e=n,n=e.parentNode}return null}function Rt(e){if(e=e[Dt]||e[kt]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function zt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(i(33))}function Bt(e){var t=e[Nt];return t||=e[Nt]={hoistableStyles:new Map,hoistableScripts:new Map},t}function Vt(e){e[Pt]=!0}function Ht(e){e[Ft]=void 0}var Ut=new Set,Wt={};function Gt(e,t){Kt(e,t),Kt(e+`Capture`,t)}function Kt(e,t){for(Wt[e]=t,e=0;e<t.length;e++)Ut.add(t[e])}var qt=RegExp(`^[: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]*$`),Jt={},Yt={};function Xt(e){return Ve.call(Yt,e)?!0:Ve.call(Jt,e)?!1:qt.test(e)?Yt[e]=!0:(Jt[e]=!0,!1)}var Zt=!1;function Qt(){var e=Zt;return Zt=!1,e}function $t(e,t,n){if(Xt(t)){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:e.removeAttribute(t);return;case`boolean`:var r=t.toLowerCase().slice(0,5);if(r!==`data-`&&r!==`aria-`){e.removeAttribute(t);return}}e.setAttribute(t,n)}}}function en(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(t);return}e.setAttribute(t,n)}}function tn(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(n);return}e.setAttributeNS(t,n,r)}}function nn(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function rn(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function an(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function on(e){if(!e._valueTracker){var t=rn(e)?`checked`:`value`;e._valueTracker=an(e,t,``+e[t])}}function sn(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=rn(e)?e.checked?`true`:`false`:e.value),e=r,e!==n&&(t.setValue(e),!0)}var cn=/[\n"\\]/g;function ln(e){return e.replace(cn,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function un(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+nn(t)):e.value!==``+nn(t)&&(e.value=``+nn(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):fn(e,nn(n)):o===`number`&&e.value==t?fn(e,nn(e.value)):fn(e,nn(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+nn(s):e.removeAttribute(`name`)}function dn(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){on(e);return}n=n==null?``:``+nn(n),t=t==null?n:``+nn(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),on(e)}function fn(e,t){e.defaultValue!==``+t&&(e.defaultValue=``+t)}function pn(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+nn(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function mn(e,t,n){if(t!=null&&(t=``+nn(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+nn(n)}function hn(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(i(92));if(be(r)){if(1<r.length)throw Error(i(93));r=r[0]}n=r}n??=``,t=n}n=nn(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),on(e)}function gn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var _n=new Set(`animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp`.split(` `));function vn(e,t,n){var r=t.indexOf(`--`)===0;n==null||typeof n==`boolean`||n===``?r?e.setProperty(t,``):t===`float`?e.cssFloat=``:e[t]=``:r?e.setProperty(t,n):typeof n!=`number`||n===0||_n.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function yn(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(i(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf(`--`)===0?e.setProperty(r,``):r===`float`?e.cssFloat=``:e[r]=``,Zt=!0);for(var a in t)r=t[a],t.hasOwnProperty(a)&&n[a]!==r&&(vn(e,a,r),Zt=!0)}else for(var o in t)t.hasOwnProperty(o)&&vn(e,o,t[o])}function bn(e){if(e.indexOf(`-`)===-1)return!1;switch(e){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 xn=new Map([[`acceptCharset`,`accept-charset`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`],[`crossOrigin`,`crossorigin`],[`accentHeight`,`accent-height`],[`alignmentBaseline`,`alignment-baseline`],[`arabicForm`,`arabic-form`],[`baselineShift`,`baseline-shift`],[`capHeight`,`cap-height`],[`clipPath`,`clip-path`],[`clipRule`,`clip-rule`],[`colorInterpolation`,`color-interpolation`],[`colorInterpolationFilters`,`color-interpolation-filters`],[`colorProfile`,`color-profile`],[`colorRendering`,`color-rendering`],[`dominantBaseline`,`dominant-baseline`],[`enableBackground`,`enable-background`],[`fillOpacity`,`fill-opacity`],[`fillRule`,`fill-rule`],[`floodColor`,`flood-color`],[`floodOpacity`,`flood-opacity`],[`fontFamily`,`font-family`],[`fontSize`,`font-size`],[`fontSizeAdjust`,`font-size-adjust`],[`fontStretch`,`font-stretch`],[`fontStyle`,`font-style`],[`fontVariant`,`font-variant`],[`fontWeight`,`font-weight`],[`glyphName`,`glyph-name`],[`glyphOrientationHorizontal`,`glyph-orientation-horizontal`],[`glyphOrientationVertical`,`glyph-orientation-vertical`],[`horizAdvX`,`horiz-adv-x`],[`horizOriginX`,`horiz-origin-x`],[`imageRendering`,`image-rendering`],[`letterSpacing`,`letter-spacing`],[`lightingColor`,`lighting-color`],[`markerEnd`,`marker-end`],[`markerMid`,`marker-mid`],[`markerStart`,`marker-start`],[`maskType`,`mask-type`],[`overlinePosition`,`overline-position`],[`overlineThickness`,`overline-thickness`],[`paintOrder`,`paint-order`],[`panose-1`,`panose-1`],[`pointerEvents`,`pointer-events`],[`renderingIntent`,`rendering-intent`],[`shapeRendering`,`shape-rendering`],[`stopColor`,`stop-color`],[`stopOpacity`,`stop-opacity`],[`strikethroughPosition`,`strikethrough-position`],[`strikethroughThickness`,`strikethrough-thickness`],[`strokeDasharray`,`stroke-dasharray`],[`strokeDashoffset`,`stroke-dashoffset`],[`strokeLinecap`,`stroke-linecap`],[`strokeLinejoin`,`stroke-linejoin`],[`strokeMiterlimit`,`stroke-miterlimit`],[`strokeOpacity`,`stroke-opacity`],[`strokeWidth`,`stroke-width`],[`textAnchor`,`text-anchor`],[`textDecoration`,`text-decoration`],[`textRendering`,`text-rendering`],[`transformOrigin`,`transform-origin`],[`underlinePosition`,`underline-position`],[`underlineThickness`,`underline-thickness`],[`unicodeBidi`,`unicode-bidi`],[`unicodeRange`,`unicode-range`],[`unitsPerEm`,`units-per-em`],[`vAlphabetic`,`v-alphabetic`],[`vHanging`,`v-hanging`],[`vIdeographic`,`v-ideographic`],[`vMathematical`,`v-mathematical`],[`vectorEffect`,`vector-effect`],[`vertAdvY`,`vert-adv-y`],[`vertOriginX`,`vert-origin-x`],[`vertOriginY`,`vert-origin-y`],[`wordSpacing`,`word-spacing`],[`writingMode`,`writing-mode`],[`xmlnsXlink`,`xmlns:xlink`],[`xHeight`,`x-height`]]),Sn=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Cn(e){return Sn.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function wn(){}var Tn=null;function En(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Dn=null,On=null;function kn(e){var t=Rt(e);if(t&&(e=t.stateNode)){var n=e[Ot]||null;a:switch(e=t.stateNode,t.type){case`input`:if(un(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name="`+ln(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=r[Ot]||null;if(!a)throw Error(i(90));un(r,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&sn(r)}break a;case`textarea`:mn(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&pn(e,!!n.multiple,t,!1)}}}var An=!1;function jn(e,t,n){if(An)return e(t,n);An=!0;try{return e(t)}finally{if(An=!1,(Dn!==null||On!==null)&&(Vd(),Dn&&(t=Dn,e=On,On=Dn=null,kn(t),e)))for(t=0;t<e.length;t++)kn(e[t])}}function Mn(e,t){var n=e.stateNode;if(n===null)return null;var r=n[Ot]||null;if(r===null)return null;n=r[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(r=!r.disabled)||(e=e.type,r=e!==`button`&&e!==`input`&&e!==`select`&&e!==`textarea`),e=!r;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(i(231,t,typeof n));return n}var Nn=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0,Pn=!1;if(Nn)try{var Fn={};Object.defineProperty(Fn,"passive",{get:function(){Pn=!0}}),window.addEventListener(`test`,Fn,Fn),window.removeEventListener(`test`,Fn,Fn)}catch{Pn=!1}var P=null,In=null,Ln=null;function Rn(){if(Ln)return Ln;var e,t=In,n=t.length,r,i=`value`in P?P.value:P.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return Ln=i.slice(e,1<r?1-r:void 0)}function zn(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Bn(){return!0}function Vn(){return!1}function Hn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?Bn:Vn,this.isPropagationStopped=Vn,this}return E(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=Bn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=Bn)},persist:function(){},isPersistent:Bn}),t}var Un={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Wn=Hn(Un),Gn=E({},Un,{view:0,detail:0}),Kn=Hn(Gn),qn,Jn,Yn,Xn=E({},Gn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:sr,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return`movementX`in e?e.movementX:(e!==Yn&&(Yn&&e.type===`mousemove`?(qn=e.screenX-Yn.screenX,Jn=e.screenY-Yn.screenY):Jn=qn=0,Yn=e),qn)},movementY:function(e){return`movementY`in e?e.movementY:Jn}}),Zn=Hn(Xn),Qn=Hn(E({},Xn,{dataTransfer:0})),$n=Hn(E({},Gn,{relatedTarget:0})),er=Hn(E({},Un,{animationName:0,elapsedTime:0,pseudoElement:0})),tr=Hn(E({},Un,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),nr=Hn(E({},Un,{data:0})),rr={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},ir={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`},ar={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function or(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=ar[e])?!!t[e]:!1}function sr(){return or}var cr=Hn(E({},Gn,{key:function(e){if(e.key){var t=rr[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=zn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?ir[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:sr,charCode:function(e){return e.type===`keypress`?zn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?zn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),lr=Hn(E({},Xn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),ur=Hn(E({},Un,{submitter:0})),dr=Hn(E({},Gn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:sr})),fr=Hn(E({},Un,{propertyName:0,elapsedTime:0,pseudoElement:0})),pr=Hn(E({},Xn,{deltaX:function(e){return`deltaX`in e?e.deltaX:`wheelDeltaX`in e?-e.wheelDeltaX:0},deltaY:function(e){return`deltaY`in e?e.deltaY:`wheelDeltaY`in e?-e.wheelDeltaY:`wheelDelta`in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),mr=Hn(E({},Un,{newState:0,oldState:0,source:0})),hr=[9,13,27,32],gr=Nn&&`CompositionEvent`in window,_r=null;Nn&&`documentMode`in document&&(_r=document.documentMode);var vr=Nn&&`TextEvent`in window&&!_r,yr=Nn&&(!gr||_r&&8<_r&&11>=_r),br=` `,xr=!1;function Sr(e,t){switch(e){case`keyup`:return hr.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Cr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var wr=!1;function Tr(e,t){switch(e){case`compositionend`:return Cr(t);case`keypress`:return t.which===32?(xr=!0,br):null;case`textInput`:return e=t.data,e===br&&xr?null:e;default:return null}}function Er(e,t){if(wr)return e===`compositionend`||!gr&&Sr(e,t)?(e=Rn(),Ln=In=P=null,wr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return yr&&t.locale!==`ko`?null:t.data;default:return null}}var Dr={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 Or(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!Dr[e.type]:t===`textarea`}function kr(e,t,n,r){Dn?On?On.push(r):On=[r]:Dn=r,t=Jf(t,`onChange`),0<t.length&&(n=new Wn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var Ar=null,jr=null;function Mr(e){Hf(e,0)}function Nr(e){if(sn(zt(e)))return e}function Pr(e,t){if(e===`change`)return t}var Fr=!1;if(Nn){var Ir;if(Nn){var Lr=`oninput`in document;if(!Lr){var Rr=document.createElement(`div`);Rr.setAttribute(`oninput`,`return;`),Lr=typeof Rr.oninput==`function`}Ir=Lr}else Ir=!1;Fr=Ir&&(!document.documentMode||9<document.documentMode)}function zr(){Ar&&(Ar.detachEvent(`onpropertychange`,Br),jr=Ar=null)}function Br(e){if(e.propertyName===`value`&&Nr(jr)){var t=[];kr(t,jr,e,En(e)),jn(Mr,t)}}function Vr(e,t,n){e===`focusin`?(zr(),Ar=t,jr=n,Ar.attachEvent(`onpropertychange`,Br)):e===`focusout`&&zr()}function Hr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return Nr(jr)}function Ur(e,t){if(e===`click`)return Nr(t)}function Wr(e,t){if(e===`input`||e===`change`)return Nr(t)}function Gr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var Kr=typeof Object.is==`function`?Object.is:Gr;function qr(e,t){if(Kr(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!Ve.call(t,i)||!Kr(e[i],t[i]))return!1}return!0}function Jr(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}function Yr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Xr(e,t){var n=Yr(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Yr(n)}}function Zr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Zr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Qr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Jr(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Jr(e.document)}return t}function $r(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var ei=Nn&&`documentMode`in document&&11>=document.documentMode,ti=null,ni=null,ri=null,ii=!1;function ai(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ii||ti==null||ti!==Jr(r)||(r=ti,`selectionStart`in r&&$r(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),ri&&qr(ri,r)||(ri=r,r=Jf(ni,`onSelect`),0<r.length&&(t=new Wn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=ti)))}function oi(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var si={animationend:oi(`Animation`,`AnimationEnd`),animationiteration:oi(`Animation`,`AnimationIteration`),animationstart:oi(`Animation`,`AnimationStart`),transitionrun:oi(`Transition`,`TransitionRun`),transitionstart:oi(`Transition`,`TransitionStart`),transitioncancel:oi(`Transition`,`TransitionCancel`),transitionend:oi(`Transition`,`TransitionEnd`)},ci={},li={};Nn&&(li=document.createElement(`div`).style,`AnimationEvent`in window||(delete si.animationend.animation,delete si.animationiteration.animation,delete si.animationstart.animation),`TransitionEvent`in window||delete si.transitionend.transition);function ui(e){if(ci[e])return ci[e];if(!si[e])return e;var t=si[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in li)return ci[e]=t[n];return e}var F=ui(`animationend`),di=ui(`animationiteration`),fi=ui(`animationstart`),pi=ui(`transitionrun`),mi=ui(`transitionstart`),hi=ui(`transitioncancel`),I=ui(`transitionend`),gi=new Map,_i=`abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error fullscreenChange fullscreenError 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(` `);_i.push(`scrollEnd`);function vi(e,t){gi.set(e,t),Gt(t,[e])}var yi=0;function bi(e,t){if(e.name!=null&&e.name!==`auto`)return e.name;if(t.autoName!==null)return t.autoName;e=Sd.identifierPrefix;var n=yi++;return e=`_`+e+`t_`+n.toString(32)+`_`,t.autoName=e}function xi(e){if(e==null||typeof e==`string`)return e;var t=null,n=Ad;if(n!==null)for(var r=0;r<n.length;r++){var i=e[n[r]];if(i!=null){if(i===`none`)return`none`;t=t==null?i:t+(` `+i)}}return t??e.default}function Si(e,t){return e=xi(e),t=xi(t),t==null?e===`auto`?null:e:t===`auto`?null:t}var Ci=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},wi=[],Ti=0,Ei=0;function Di(){for(var e=Ti,t=Ei=Ti=0;t<e;){var n=wi[t];wi[t++]=null;var r=wi[t];wi[t++]=null;var i=wi[t];wi[t++]=null;var a=wi[t];if(wi[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&ji(n,i,a)}}function Oi(e,t,n,r){wi[Ti++]=e,wi[Ti++]=t,wi[Ti++]=n,wi[Ti++]=r,Ei|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function ki(e,t,n,r){return Oi(e,t,n,r),Mi(e)}function Ai(e,t){return Oi(e,null,null,t),Mi(e)}function ji(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-it(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function Mi(e){if(50<jd)throw jd=0,Md=null,Error(i(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Ni={};function Pi(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Fi(e,t,n,r){return new Pi(e,t,n,r)}function Ii(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Li(e,t){var n=e.alternate;return n===null?(n=Fi(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&1206910976,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Ri(e,t){e.flags&=1206910978;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function zi(e,t,n,r,a,o){var s=0;if(r=e,typeof r==`function`)Ii(r)&&(s=1);else if(typeof r==`string`)s=qm(e,n,Ee.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(r){case de:return e=Fi(31,n,t,a),e.elementType=de,e.lanes=o,e;case ne:return Bi(n.children,a,o,t);case re:s=8,a|=24;break;case ie:return e=Fi(12,n,t,a|2),e.elementType=ie,e.lanes=o,e;case se:return e=Fi(13,n,t,a),e.elementType=se,e.lanes=o,e;case ce:return e=Fi(19,n,t,a),e.elementType=ce,e.lanes=o,e;case fe:case me:return e=a|32,e=Fi(30,n,t,e),e.elementType=me,e.lanes=o,e.stateNode={autoName:null,paired:null,clones:null,ref:null},e;default:if(typeof r==`object`&&r)switch(r.$$typeof){case k:s=10;break a;case ae:s=9;break a;case oe:s=11;break a;case le:s=14;break a;case ue:s=16,r=null;break a}s=29,n=Error(i(130,e===null?`null`:typeof e,``)),r=null}return t=Fi(s,n,t,a),t.elementType=e,t.type=r,t.lanes=o,t}function Bi(e,t,n,r){return e=Fi(7,e,r,t),e.lanes=n,e}function Vi(e,t,n){return e=Fi(6,e,null,t),e.lanes=n,e}function Hi(e){var t=Fi(18,null,null,0);return t.stateNode=e,t}function Ui(e,t,n){return t=Fi(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Wi=new WeakMap;function Gi(e,t){if(typeof e==`object`&&e){var n=Wi.get(e);return n===void 0?(t={value:e,source:t,stack:Be(t)},Wi.set(e,t),t):n}return{value:e,source:t,stack:Be(t)}}var Ki=[],qi=0,Ji=null,Yi=0,Xi=[],Zi=0,Qi=null,$i=1,ea=``;function ta(e,t){Ki[qi++]=Yi,Ki[qi++]=Ji,Ji=e,Yi=t}function na(e,t,n){Xi[Zi++]=$i,Xi[Zi++]=ea,Xi[Zi++]=Qi,Qi=e;var r=$i;e=ea;var i=32-it(r)-1;r&=~(1<<i),n+=1;var a=32-it(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,$i=1<<32-it(t)+i|n<<i|r,ea=a+e}else $i=1<<a|n<<i|r,ea=e}function ra(e){e.return!==null&&(ta(e,1),na(e,1,0))}function ia(e){for(;e===Ji;)Ji=Ki[--qi],Ki[qi]=null,Yi=Ki[--qi],Ki[qi]=null;for(;e===Qi;)Qi=Xi[--Zi],Xi[Zi]=null,ea=Xi[--Zi],Xi[Zi]=null,$i=Xi[--Zi],Xi[Zi]=null}function aa(e,t){Xi[Zi++]=$i,Xi[Zi++]=ea,Xi[Zi++]=Qi,$i=t.id,ea=t.overflow,Qi=e}var oa=null,sa=null,L=!1,ca=null,R=!1,la=Error(i(519));function ua(e){throw ha(Gi(Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),la}function da(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[Dt]=e,t[Ot]=r,n){case`dialog`:Z(`cancel`,t),Z(`close`,t);break;case`iframe`:case`object`:case`embed`:Z(`load`,t);break;case`video`:case`audio`:for(n=0;n<Bf.length;n++)Z(Bf[n],t);break;case`source`:Z(`error`,t);break;case`img`:case`image`:case`link`:Z(`error`,t),Z(`load`,t);break;case`details`:Z(`toggle`,t);break;case`input`:Z(`invalid`,t),dn(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:Z(`invalid`,t);break;case`textarea`:Z(`invalid`,t),hn(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||$f(t.textContent,n)?(r.popover!=null&&(Z(`beforetoggle`,t),Z(`toggle`,t)),r.onScroll!=null&&Z(`scroll`,t),r.onScrollEnd!=null&&Z(`scrollend`,t),r.onClick!=null&&(t.onclick=wn),t=!0):t=!1,t||ua(e,!0)}function z(e){for(oa=e.return;oa;)switch(oa.tag){case 5:case 31:case 13:R=!1;return;case 27:case 3:R=!0;return;default:oa=oa.return}}function fa(e){if(e!==oa)return!1;if(!L)return z(e),L=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=n===`form`||n===`button`||pp(e.type,e.memoizedProps)),n=!n),n&&sa&&ua(e),z(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));sa=dm(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));sa=dm(e)}else t===27?(t=sa,Sp(e.type)?(e=um,um=null,sa=e):sa=t):sa=oa?lm(e.stateNode.nextSibling):null;return!0}function pa(){sa=oa=null,L=!1}function ma(){var e=ca;return e!==null&&(md===null?md=e:md.push.apply(md,e),ca=null),e}function ha(e){ca===null?ca=[e]:ca.push(e)}var ga=we(null),_a=null,va=null;function ya(e,t,n){M(ga,t._currentValue),t._currentValue=n}function ba(e){e._currentValue=ga.current,Te(ga)}function xa(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function Sa(e,t,n,r){var a=e.child;for(a!==null&&(a.return=e);a!==null;){var o=a.dependencies;if(o!==null){var s=a.child;o=o.firstContext;a:for(;o!==null;){var c=o;o=a;for(var l=0;l<t.length;l++)if(c.context===t[l]){o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),xa(o.return,n,e),r||(s=null);break a}o=c.next}}else if(a.tag===18){if(s=a.return,s===null)throw Error(i(341));s.lanes|=n,o=s.alternate,o!==null&&(o.lanes|=n),xa(s,n,e),s=null}else a.tag===13&&a.memoizedState!==null&&a.memoizedState.dehydrated===null?(a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),xa(a.return,n,e),s=a.child,s=s===null?null:s.sibling):s=a.child;if(s!==null)s.return=a;else for(s=a;s!==null;){if(s===e){s=null;break}if(a=s.sibling,a!==null){a.return=s.return,s=a;break}s=s.return}a=s}}function Ca(e,t,n,r){e=null;for(var a=t,o=!1;a!==null;){if(!o){if(a.flags&524288)o=!0;else if(a.flags&262144)break}if(a.tag===10){var s=a.alternate;if(s===null)throw Error(i(387));if(s=s.memoizedProps,s!==null){var c=a.type;Kr(a.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(a===ke.current){if(s=a.alternate,s===null)throw Error(i(387));s.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(e===null?e=[sh]:e.push(sh))}a=a.return}return e!==null&&Sa(t,e,n,r),t.flags|=262144,e!==null}function wa(e){for(e=e.firstContext;e!==null;){if(!Kr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Ta(e){_a=e,va=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Ea(e){return Oa(_a,e)}function Da(e,t){return _a===null&&Ta(e),Oa(e,t)}function Oa(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},va===null){if(e===null)throw Error(i(308));va=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else va=va.next=t;return n}var ka=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},Aa=t.unstable_scheduleCallback,ja=t.unstable_NormalPriority,Ma={$$typeof:k,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Na(){return{controller:new ka,data:new Map,refCount:0}}function Pa(e){e.refCount--,e.refCount===0&&Aa(ja,function(){e.controller.abort()})}function Fa(e,t){if(e.pendingLanes&4194048){var n=e.transitionTypes;for(n===null&&(n=e.transitionTypes=[]),e=0;e<t.length;e++){var r=t[e];n.indexOf(r)===-1&&n.push(r)}}}var Ia=null;function La(e){var t=e.transitionTypes;return e.transitionTypes=null,t}var Ra=null,za=0,Ba=0,Va=null;function Ha(e,t){if(Ra===null){var n=Ra=[];za=0,Ba=If(),Va={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return za++,t.then(Ua,Ua),t}function Ua(){if(--za===0&&(Ia=null,Ra!==null)){Va!==null&&(Va.status=`fulfilled`);var e=Ra;Ra=null,Ba=0,Va=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Wa(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var Ga=A.S;A.S=function(e,t){if(_d=Ke(),typeof t==`object`&&t&&typeof t.then==`function`&&Ha(e,t),Ia!==null)for(var n=Cf;n!==null;)Fa(n,Ia),n=n.next;if(n=e.types,n!==null){for(var r=Cf;r!==null;)Fa(r,n),r=r.next;if(Ba!==0){r=Ia,r===null&&(r=Ia=[]);for(var i=0;i<n.length;i++){var a=n[i];r.indexOf(a)===-1&&r.push(a)}}}Ga!==null&&Ga(e,t)};var Ka=we(null);function qa(){var e=Ka.current;return e===null?td.pooledCache:e}function Ja(e,t){t===null?M(Ka,Ka.current):M(Ka,t.pool)}function Ya(){var e=qa();return e===null?null:{parent:Ma._currentValue,pool:e}}var Xa=Error(i(460)),Za=Error(i(474)),Qa=Error(i(542)),$a={then:function(){}};function eo(e){return e=e.status,e===`fulfilled`||e===`rejected`}function to(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(wn,wn),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,ao(e),e===void 0&&!(`reason`in t)?Error(i(600)):e;default:if(typeof t.status==`string`)t.then(wn,wn);else{if(e=td,e!==null&&100<e.shellSuspendCounter)throw Error(i(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,ao(e),e}throw ro=t,Xa}}function no(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(ro=e,Xa):e}}var ro=null;function io(){if(ro===null)throw Error(i(459));var e=ro;return ro=null,e}function ao(e){if(e===Xa||e===Qa)throw Error(i(483))}var oo=null,so=0;function co(e){var t=so;return so+=1,oo===null&&(oo=[]),to(oo,e,t)}function lo(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function uo(e,t){throw t.$$typeof===te?Error(i(525)):(e=Object.prototype.toString.call(t),Error(i(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function fo(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function a(e,t){return e=Li(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=134217730,n):(r=r.index,r<n?(t.flags|=2,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=134217730),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=Vi(n,e.mode,r),t.return=e,t):(t=a(t,n),t.return=e,t)}function l(e,t,n,r){var i=n.type;return i===ne?(e=d(e,t,n.props.children,r,n.key),lo(e,n),e):t!==null&&(t.elementType===i||typeof i==`object`&&i&&i.$$typeof===ue&&no(i)===t.type)?(t=a(t,n.props),lo(t,n),t.return=e,t):(t=zi(n.type,n.key,n.props,null,e.mode,r),lo(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=Ui(n,e.mode,r),t.return=e,t):(t=a(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,i){return t===null||t.tag!==7?(t=Bi(n,e.mode,r,i),t.return=e,t):(t=a(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=Vi(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case D:return n=zi(t.type,t.key,t.props,null,e.mode,n),lo(n,t),n.return=e,n;case O:return t=Ui(t,e.mode,n),t.return=e,t;case ue:return t=no(t),f(e,t,n)}if(be(t)||_e(t))return t=Bi(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,co(t),n);if(t.$$typeof===k)return f(e,Da(e,t),n);uo(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case D:return n.key===i?l(e,t,n,r):null;case O:return n.key===i?u(e,t,n,r):null;case ue:return n=no(n),p(e,t,n,r)}if(be(n)||_e(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,co(n),r);if(n.$$typeof===k)return p(e,t,Da(e,n),r);uo(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case D:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case O:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case ue:return r=no(r),m(e,t,n,r,i)}if(be(r)||_e(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,co(r),i);if(r.$$typeof===k)return m(e,t,n,Da(t,r),i);uo(t,r)}return null}function h(i,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),L&&ta(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return L&&ta(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&(_=g.alternate,_!==null&&d.delete(_.key===null?h:_.key)),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),L&&ta(i,h),l}function g(a,s,c,l){if(c==null)throw Error(i(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),L&&ta(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return L&&ta(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&(_=v.alternate,_!==null&&h.delete(_.key===null?g:_.key)),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),L&&ta(a,g),u}function _(e,r,o,c){if(typeof o==`object`&&o&&o.type===ne&&o.key===null&&o.props.ref===void 0&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case D:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===ne){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),lo(c,o),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===ue&&no(l)===r.type){n(e,r.sibling),c=a(r,o.props),lo(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===ne?(c=Bi(o.props.children,e.mode,c,o.key),lo(c,o),c.return=e,e=c):(c=zi(o.type,o.key,o.props,null,e.mode,c),lo(c,o),c.return=e,e=c)}return s(e);case O:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=Ui(o,e.mode,c),c.return=e,e=c}return s(e);case ue:return o=no(o),_(e,r,o,c)}if(be(o))return h(e,r,o,c);if(_e(o)){if(l=_e(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return _(e,r,co(o),c);if(o.$$typeof===k)return _(e,r,Da(e,o),c);uo(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=Vi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{so=0;var i=_(e,t,n,r);return oo=null,i}catch(t){if(t===Xa||t===Qa)throw t;var a=Fi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var po=fo(!0),mo=fo(!1),ho=!1;function go(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function _o(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function vo(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function yo(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,ed&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=Mi(e),ji(e,null,n),t}return Oi(e,r,t,n),Mi(e)}function bo(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,bt(e,n)}}function xo(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var So=!1;function Co(){if(So){var e=Va;if(e!==null)throw e}}function wo(e,t,n,r){So=!1;var i=e.updateQueue;ho=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(q&f)===f:(r&f)===f){f!==0&&f===Ba&&(So=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,h=s;f=t;var g=n;switch(h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(g,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(g,d,f):m,f==null)break a;d=E({},d,f);break a;case 2:ho=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),cd|=o,e.lanes=o,e.memoizedState=d}}function To(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function Eo(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)To(n[e],t)}var Do=we(null),Oo=we(0);function ko(e,t){e=od,M(Oo,e),M(Do,t),od=e|t.baseLanes}function Ao(){M(Oo,od),M(Do,Do.current)}function jo(){od=Oo.current,Te(Do),Te(Oo)}var Mo=we(null),No=null;function Po(e){var t=e.alternate;M(zo,zo.current&1),M(Mo,e),No===null&&(t===null||Do.current!==null||t.memoizedState!==null)&&(No=e)}function Fo(e){M(zo,zo.current),M(Mo,e),No===null&&(No=e)}function Io(e){e.tag===22?(M(zo,zo.current),M(Mo,e),No===null&&(No=e)):Lo()}function Lo(){M(zo,zo.current),M(Mo,Mo.current)}function Ro(e){Te(Mo),No===e&&(No=null),Te(zo)}var zo=we(0);function Bo(e,t){M(Mo,Mo.current),M(zo,t)}function Vo(e){Te(zo),Te(Mo),No===e&&(No=null)}function Ho(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||om(n)||sm(n)))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==`independent`){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Uo=0,B=null,Wo=null,Go=null,Ko=!1,qo=!1,Jo=!1,Yo=0,Xo=0,Zo=null,Qo=0;function $o(){throw Error(i(321))}function es(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Kr(e[n],t[n]))return!1;return!0}function ts(e,t,n,r,i,a){return Uo=a,B=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,A.H=e===null||e.memoizedState===null?vc:yc,Jo=!1,a=n(r,i),Jo=!1,qo&&(a=rs(t,n,r,i)),ns(e),a}function ns(e){A.H=_c;var t=Wo!==null&&Wo.next!==null;if(Uo=0,Go=Wo=B=null,Ko=!1,Xo=0,Zo=null,t)throw Error(i(300));e===null||Ic||(e=e.dependencies,e!==null&&wa(e)&&(Ic=!0))}function rs(e,t,n,r){B=e;var a=0;do{if(qo&&(Zo=null),Xo=0,qo=!1,25<=a)throw Error(i(301));if(a+=1,Go=Wo=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}A.H=bc,o=t(n,r)}while(qo);return o}function is(){var e=A.H,t=e.useState()[0];return t=typeof t.then==`function`?ds(t):t,e=e.useState()[0],(Wo===null?null:Wo.memoizedState)!==e&&(B.flags|=1024),t}function as(){var e=Yo!==0;return Yo=0,e}function os(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function ss(e){if(Ko){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Ko=!1}Uo=0,Go=Wo=B=null,qo=!1,Xo=Yo=0,Zo=null}function cs(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Go===null?B.memoizedState=Go=e:Go=Go.next=e,Go}function ls(){if(Wo===null){var e=B.alternate;e=e===null?null:e.memoizedState}else e=Wo.next;var t=Go===null?B.memoizedState:Go.next;if(t!==null)Go=t,Wo=e;else{if(e===null)throw B.alternate===null?Error(i(467)):Error(i(310));Wo=e,e={memoizedState:Wo.memoizedState,baseState:Wo.baseState,baseQueue:Wo.baseQueue,queue:Wo.queue,next:null},Go===null?B.memoizedState=Go=e:Go=Go.next=e}return Go}function us(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function ds(e){var t=Xo;return Xo+=1,Zo===null&&(Zo=[]),e=to(Zo,e,t),t=B,(Go===null?t.memoizedState:Go.next)===null&&(t=t.alternate,A.H=t===null||t.memoizedState===null?vc:yc),e}function fs(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return ds(e);if(e.$$typeof===he)return;if(e.$$typeof===k)return Ea(e)}throw Error(i(438,String(e)))}function ps(e){var t=null,n=B.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=B.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=us(),B.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=pe;return t.index++,n}function ms(e,t){return typeof t==`function`?t(e):t}function hs(e){return gs(ls(),Wo,e)}function gs(e,t,n){var r=e.queue;if(r===null)throw Error(i(311));r.lastRenderedReducer=n;var a=e.baseQueue,o=r.pending;if(o!==null){if(a!==null){var s=a.next;a.next=o.next,o.next=s}t.baseQueue=a=o,r.pending=null}if(o=e.baseState,a===null)e.memoizedState=o;else{t=a.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(Uo&f)===f:(q&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===Ba&&(d=!0);else if((Uo&p)===p){u=u.next,p===Ba&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=o):l=l.next=f,B.lanes|=p,cd|=p;f=u.action,Jo&&n(o,f),o=u.hasEagerState?u.eagerState:n(o,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=o):l=l.next=p,B.lanes|=f,cd|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!Kr(o,e.memoizedState)&&(Ic=!0,d&&(n=Va,n!==null)))throw n;e.memoizedState=o,e.baseState=s,e.baseQueue=l,r.lastRenderedState=o}return a===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function _s(e){var t=ls(),n=t.queue;if(n===null)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(a!==null){n.pending=null;var s=a=a.next;do o=e(o,s.action),s=s.next;while(s!==a);Kr(o,t.memoizedState)||(Ic=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function vs(e,t,n){var r=B,a=ls(),o=L;if(o){if(n===void 0)throw Error(i(407));n=n()}else n=t();var s=!Kr((Wo||a).memoizedState,n);if(s&&(a.memoizedState=n,Ic=!0),a=a.queue,Us(xs.bind(null,r,a,e),[e]),e=a.getSnapshot!==t||s||Go!==null&&!!(Go.memoizedState.tag&1),Rs(e?9:8,{destroy:void 0},bs.bind(null,r,a,n,t),null),e){if(r.flags|=2048,td===null)throw Error(i(349));o||Uo&127||ys(r,t,n)}return n}function ys(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=B.updateQueue,t===null?(t=us(),B.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function bs(e,t,n,r){t.value=n,t.getSnapshot=r,Ss(t)&&Cs(e)}function xs(e,t,n){return n(function(){Ss(t)&&Cs(e)})}function Ss(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Kr(e,n)}catch{return!0}}function Cs(e){var t=Ai(e,2);t!==null&&Id(t,e,2)}function ws(e){var t=cs();if(typeof e==`function`){var n=e;if(e=n(),Jo){rt(!0);try{n()}finally{rt(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ms,lastRenderedState:e},t}function Ts(e,t,n,r){return e.baseState=n,gs(e,Wo,typeof r==`function`?r:ms)}function Es(e,t,n,r,a){if(mc(e))throw Error(i(485));if(e=t.action,e!==null){var o={payload:a,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};A.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,Ds(t,o)):(o.next=n.next,t.pending=n.next=o)}}function Ds(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=A.T,o={};o.types=a===null?null:a.types,A.T=o;try{var s=n(i,r),c=A.S;c!==null&&c(o,s),Os(e,t,s)}catch(n){As(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),A.T=a}}else try{a=n(i,r),Os(e,t,a)}catch(n){As(e,t,n)}}function Os(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){ks(e,t,n)},function(n){return As(e,t,n)}):ks(e,t,n)}function ks(e,t,n){t.status=`fulfilled`,t.value=n,js(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,Ds(e,n)))}function As(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,js(t),t=t.next;while(t!==r)}e.action=null}function js(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Ms(e,t){return t}function Ns(e,t){if(L){var n=td.formState;if(n!==null){a:{var r=B;if(L){if(sa){b:{for(var i=sa,a=R;i.nodeType!==8;){if(!a){i=null;break b}if(i=lm(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){sa=lm(i.nextSibling),r=i.data===`F!`;break a}}ua(r)}r=!1}r&&(t=n[0])}}return n=cs(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ms,lastRenderedState:t},n.queue=r,n=dc.bind(null,B,r),r.dispatch=n,r=ws(!1),a=pc.bind(null,B,!1,r.queue),r=cs(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=Es.bind(null,B,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function Ps(e){return Fs(ls(),Wo,e)}function Fs(e,t,n){if(t=gs(e,t,Ms)[0],e=hs(ms)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=ds(t)}catch(e){throw e===Xa?Qa:e}else r=t;t=ls();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(B.flags|=2048,Rs(9,{destroy:void 0},Is.bind(null,i,n),null)),[r,a,e]}function Is(e,t){e.action=t}function Ls(e){var t=ls(),n=Wo;if(n!==null)return Fs(t,n,e);ls(),t=t.memoizedState,n=ls();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function Rs(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=B.updateQueue,t===null&&(t=us(),B.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function zs(){return ls().memoizedState}function Bs(e,t,n,r){var i=cs();B.flags|=e,i.memoizedState=Rs(1|t,{destroy:void 0},n,r===void 0?null:r)}function Vs(e,t,n,r){var i=ls();r=r===void 0?null:r;var a=i.memoizedState.inst;Wo!==null&&r!==null&&es(r,Wo.memoizedState.deps)?i.memoizedState=Rs(t,a,n,r):(B.flags|=e,i.memoizedState=Rs(1|t,a,n,r))}function Hs(e,t){Bs(8390656,8,e,t)}function Us(e,t){Vs(2048,8,e,t)}function Ws(e){B.flags|=4;var t=B.updateQueue;if(t===null)t=us(),B.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function Gs(e){var t=ls().memoizedState;return Ws({ref:t,nextImpl:e}),function(){if(ed&2)throw Error(i(440));return t.impl.apply(void 0,arguments)}}function Ks(e,t){return Vs(4,2,e,t)}function qs(e,t){return Vs(4,4,e,t)}function Js(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Ys(e,t,n){n=n==null?null:n.concat([e]),Vs(4,4,Js.bind(null,t,e),n)}function Xs(){}function Zs(e,t){var n=ls();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&es(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Qs(e,t){var n=ls();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&es(t,r[1]))return r[0];if(r=e(),Jo){rt(!0);try{e()}finally{rt(!1)}}return n.memoizedState=[r,t],r}function $s(e,t,n){return n===void 0||Uo&1073741824&&!(q&261930)?e.memoizedState=t:(e.memoizedState=n,e=Pd(),B.lanes|=e,cd|=e,n)}function ec(e,t,n,r){return Kr(n,t)?n:Do.current===null?!(Uo&106)||Uo&1073741824&&!(q&261930)?(Ic=!0,e.memoizedState=n):(e=Pd(),B.lanes|=e,cd|=e,t):(e=$s(e,n,r),Kr(e,t)||(Ic=!0),e)}function tc(e,t,n,r,i){var a=j.p;j.p=a!==0&&8>a?a:8;var o=A.T,s={};s.types=o===null?null:o.types,A.T=s,pc(e,!1,t,n);try{var c=i(),l=A.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?fc(e,t,Wa(c,r),Nd(e)):fc(e,t,r,Nd(e))}catch(n){fc(e,t,{then:function(){},status:`rejected`,reason:n},Nd())}finally{j.p=a,o!==null&&s.types!==null&&(o.types=s.types),A.T=o}}function nc(){}function rc(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=ic(e).queue;tc(e,a,t,xe,n===null?nc:function(){return ac(e),n(r)})}function ic(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:xe,baseState:xe,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ms,lastRenderedState:xe},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ms,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function ac(e){var t=ic(e);t.next===null&&(t=e.alternate.memoizedState),fc(e,t.next.queue,{},Nd())}function oc(){return Ea(sh)}function sc(){return ls().memoizedState}function cc(){return ls().memoizedState}function lc(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Nd();e=vo(n);var r=yo(t,e,n);r!==null&&(Id(r,t,n),bo(r,t,n)),t={cache:Na()},e.payload=t;return}t=t.return}}function uc(e,t,n){var r=Nd();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},mc(e)?hc(t,n):(n=ki(e,t,n,r),n!==null&&(Id(n,e,r),gc(n,t,r)))}function dc(e,t,n){fc(e,t,n,Nd())}function fc(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(mc(e))hc(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Kr(s,o))return Oi(e,t,i,0),td===null&&Di(),!1}catch{}if(n=ki(e,t,i,r),n!==null)return Id(n,e,r),gc(n,t,r),!0}return!1}function pc(e,t,n,r){if(r={lane:2,revertLane:If(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},mc(e)){if(t)throw Error(i(479))}else t=ki(e,n,r,2),t!==null&&Id(t,e,2)}function mc(e){var t=e.alternate;return e===B||t!==null&&t===B}function hc(e,t){qo=Ko=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function gc(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,bt(e,n)}}var _c={readContext:Ea,use:fs,useCallback:$o,useContext:$o,useEffect:$o,useImperativeHandle:$o,useLayoutEffect:$o,useInsertionEffect:$o,useMemo:$o,useReducer:$o,useRef:$o,useState:$o,useDebugValue:$o,useDeferredValue:$o,useTransition:$o,useSyncExternalStore:$o,useId:$o,useHostTransitionStatus:$o,useFormState:$o,useActionState:$o,useOptimistic:$o,useMemoCache:$o,useCacheRefresh:$o,useEffectEvent:$o},vc={readContext:Ea,use:fs,useCallback:function(e,t){return cs().memoizedState=[e,t===void 0?null:t],e},useContext:Ea,useEffect:Hs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),Bs(4194308,4,Js.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Bs(4194308,4,e,t)},useInsertionEffect:function(e,t){Bs(4,2,e,t)},useMemo:function(e,t){var n=cs();t=t===void 0?null:t;var r=e();if(Jo){rt(!0);try{e()}finally{rt(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=cs();if(n!==void 0){var i=n(t);if(Jo){rt(!0);try{n(t)}finally{rt(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=uc.bind(null,B,e),[r.memoizedState,e]},useRef:function(e){var t=cs();return e={current:e},t.memoizedState=e},useState:function(e){e=ws(e);var t=e.queue,n=dc.bind(null,B,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Xs,useDeferredValue:function(e,t){return $s(cs(),e,t)},useTransition:function(){var e=ws(!1);return e=tc.bind(null,B,e.queue,!0,!1),cs().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=B,a=cs();if(L){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),td===null)throw Error(i(349));q&127||ys(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,Hs(xs.bind(null,r,o,e),[e]),r.flags|=2048,Rs(9,{destroy:void 0},bs.bind(null,r,o,n,t),null),n},useId:function(){var e=cs(),t=td.identifierPrefix;if(L){var n=ea,r=$i;n=(r&~(1<<32-it(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=Yo++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=Qo++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:oc,useFormState:Ns,useActionState:Ns,useOptimistic:function(e){var t=cs();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=pc.bind(null,B,!0,n),n.dispatch=t,[e,t]},useMemoCache:ps,useCacheRefresh:function(){return cs().memoizedState=lc.bind(null,B)},useEffectEvent:function(e){var t=cs(),n={impl:e};return t.memoizedState=n,function(){if(ed&2)throw Error(i(440));return n.impl.apply(void 0,arguments)}}},yc={readContext:Ea,use:fs,useCallback:Zs,useContext:Ea,useEffect:Us,useImperativeHandle:Ys,useInsertionEffect:Ks,useLayoutEffect:qs,useMemo:Qs,useReducer:hs,useRef:zs,useState:function(){return hs(ms)},useDebugValue:Xs,useDeferredValue:function(e,t){return ec(ls(),Wo.memoizedState,e,t)},useTransition:function(){var e=hs(ms)[0],t=ls().memoizedState;return[typeof e==`boolean`?e:ds(e),t]},useSyncExternalStore:vs,useId:sc,useHostTransitionStatus:oc,useFormState:Ps,useActionState:Ps,useOptimistic:function(e,t){return Ts(ls(),Wo,e,t)},useMemoCache:ps,useCacheRefresh:cc,useEffectEvent:Gs},bc={readContext:Ea,use:fs,useCallback:Zs,useContext:Ea,useEffect:Us,useImperativeHandle:Ys,useInsertionEffect:Ks,useLayoutEffect:qs,useMemo:Qs,useReducer:_s,useRef:zs,useState:function(){return _s(ms)},useDebugValue:Xs,useDeferredValue:function(e,t){var n=ls();return Wo===null?$s(n,e,t):ec(n,Wo.memoizedState,e,t)},useTransition:function(){var e=_s(ms)[0],t=ls().memoizedState;return[typeof e==`boolean`?e:ds(e),t]},useSyncExternalStore:vs,useId:sc,useHostTransitionStatus:oc,useFormState:Ls,useActionState:Ls,useOptimistic:function(e,t){var n=ls();return Wo===null?(n.baseState=e,[e,n.queue.dispatch]):Ts(n,Wo,e,t)},useMemoCache:ps,useCacheRefresh:cc,useEffectEvent:Gs};function xc(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:E({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Sc={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Nd(),i=vo(r);i.payload=t,n!=null&&(i.callback=n),t=yo(e,i,r),t!==null&&(Id(t,e,r),bo(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Nd(),i=vo(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=yo(e,i,r),t!==null&&(Id(t,e,r),bo(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Nd(),r=vo(n);r.tag=2,t!=null&&(r.callback=t),t=yo(e,r,n),t!==null&&(Id(t,e,n),bo(t,e,n))}};function Cc(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!qr(n,r)||!qr(i,a):!0}function wc(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Sc.enqueueReplaceState(t,t.state,null)}function Tc(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=E({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function Ec(e){Ci(e)}function Dc(e){console.error(e)}function Oc(e){Ci(e)}function kc(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function Ac(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function jc(e,t,n){return n=vo(n),n.tag=3,n.payload={element:null},n.callback=function(){kc(e,t)},n}function Mc(e){return e=vo(e),e.tag=3,e}function Nc(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){Ac(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){Ac(t,n,r),typeof i!=`function`&&(bd===null?bd=new Set([this]):bd.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function Pc(e,t,n,r,a){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&Ca(t,n,a,!0),n=Mo.current,n!==null){switch(n.tag){case 31:case 13:case 19:return No===null?Jd():n.alternate===null&&sd===0&&(sd=3),n.flags&=-257,n.flags|=65536,n.lanes=a,r===$a?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),_f(e,r,a)),!1;case 22:return n.flags|=65536,r===$a?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),_f(e,r,a)),!1}throw Error(i(435,n.tag))}return _f(e,r,a),Jd(),!1}if(L)return t=Mo.current,t===null?(r!==la&&(t=Error(i(423),{cause:r}),ha(Gi(t,n))),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,r=Gi(r,n),a=jc(e.stateNode,r,a),xo(e,a),sd!==4&&(sd=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=a,r!==la&&(e=Error(i(422),{cause:r}),ha(Gi(e,n)))),!1;var o=Error(i(520),{cause:r});if(o=Gi(o,n),pd===null?pd=[o]:pd.push(o),sd!==4&&(sd=2),t===null)return!0;r=Gi(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,e=jc(n.stateNode,r,e),xo(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(bd===null||!bd.has(o))))return n.flags|=65536,a&=-a,n.lanes|=a,a=Mc(a),Nc(a,e,n,r),xo(n,a),!1;break;case 22:if(n.memoizedState!==null)return n.flags|=65536,!1}n=n.return}while(n!==null);return!1}var Fc=Error(i(461)),Ic=!1;function Lc(e,t,n,r){t.child=e===null?mo(t,null,n,r):po(t,e.child,n,r)}function Rc(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return Ta(t),r=ts(e,t,n,o,a,i),s=as(),e!==null&&!Ic?(os(e,t,i),fl(e,t,i)):(L&&s&&ra(t),t.flags|=1,Lc(e,t,r,i),t.child)}function zc(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!Ii(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,Bc(e,t,a,r,i)):(e=zi(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!pl(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?qr:n,n(o,r)&&e.ref===t.ref)return fl(e,t,i)}return t.flags|=1,e=Li(a,r),e.ref=t.ref,e.return=t,t.child=e}function Bc(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(qr(a,r)&&e.ref===t.ref){if(Ic=!1,t.pendingProps=r=a,pl(e,i))e.flags&131072&&(Ic=!0);else return t.lanes=e.lanes,fl(e,t,i)}}return Jc(e,t,n,r,i)}function Vc(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return Uc(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Ja(t,a===null?null:a.cachePool),a===null?Ao():ko(t,a),Io(t);else return r=t.lanes=536870912,Uc(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&Ja(t,null),Ao(),Lo()):(Ja(t,a.cachePool),ko(t,a),Lo(),t.memoizedState=null);return Lc(e,t,i,n),t.child}function Hc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Uc(e,t,n,r,i){var a=qa();return a=a===null?null:{parent:Ma._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&Ja(t,null),Ao(),Io(t),e!==null&&Ca(e,t,r,!0),t.childLanes=i,null}function Wc(e,t){return t=rl({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Gc(e,t,n){return po(t,e.child,null,n),e=Wc(t,t.pendingProps),e.flags|=2,Ro(t),t.memoizedState=null,e}function Kc(e,t,n){var r=t.pendingProps,a=!!(t.flags&128);if(t.flags&=-129,e===null){if(L){if(r.mode===`hidden`)return e=Wc(t,r),t.lanes=536870912,e.memoizedState={baseLanes:0,cachePool:null},Hc(null,e);if(Fo(t),(e=sa)?(e=am(e,R),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Qi===null?null:{id:$i,overflow:ea},retryLane:536870912,hydrationErrors:null},n=Hi(e),n.return=t,t.child=n,oa=t,sa=null)):e=null,e===null)throw ua(t);return t.lanes=536870912,null}return Wc(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(Fo(t),a){if(t.flags&256)t.flags&=-257,t=Gc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(i(558))}else if(Ic||Ca(e,t,n,!1),a=(n&e.childLanes)!==0,Ic||a){if(Do.current===null){if(r=td,r!==null&&(s=xt(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,Ai(e,s),Id(r,e,s),Fc;Jd()}t=Gc(e,t,n)}else e=o.treeContext,sa=lm(s.nextSibling),oa=t,L=!0,ca=null,R=!1,e!==null&&aa(t,e),t=Wc(t,r),t.flags|=134221824;return t}return e=Li(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function qc(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(i(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Jc(e,t,n,r,i){return Ta(t),n=ts(e,t,n,r,void 0,i),r=as(),e!==null&&!Ic?(os(e,t,i),fl(e,t,i)):(L&&r&&ra(t),t.flags|=1,Lc(e,t,n,i),t.child)}function Yc(e,t,n,r,i,a){return Ta(t),t.updateQueue=null,n=rs(t,r,n,i),ns(e),r=as(),e!==null&&!Ic?(os(e,t,a),fl(e,t,a)):(L&&r&&ra(t),t.flags|=1,Lc(e,t,n,a),t.child)}function Xc(e,t,n,r,i){if(Ta(t),t.stateNode===null){var a=Ni,o=n.contextType;typeof o==`object`&&o&&(a=Ea(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Sc,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},go(t),o=n.contextType,a.context=typeof o==`object`&&o?Ea(o):Ni,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(xc(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&Sc.enqueueReplaceState(a,a.state,null),wo(t,r,a,i),Co(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=Tc(n,s);a.props=c;var l=a.context,u=n.contextType;o=Ni,typeof u==`object`&&u&&(o=Ea(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&wc(t,a,r,o),ho=!1;var f=t.memoizedState;a.state=f,wo(t,r,a,i),Co(),l=t.memoizedState,s||f!==l||ho?(typeof d==`function`&&(xc(t,n,d,r),l=t.memoizedState),(c=ho||Cc(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,_o(e,t),o=t.memoizedProps,u=Tc(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=Ni,typeof l==`object`&&l&&(c=Ea(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&wc(t,a,r,c),ho=!1,f=t.memoizedState,a.state=f,wo(t,r,a,i),Co();var p=t.memoizedState;o!==d||f!==p||ho||e!==null&&e.dependencies!==null&&wa(e.dependencies)?(typeof s==`function`&&(xc(t,n,s,r),p=t.memoizedState),(u=ho||Cc(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&wa(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,qc(e,t),r=!!(t.flags&128),a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=po(t,e.child,null,i),t.child=po(t,null,n,i)):Lc(e,t,n,i),t.memoizedState=a.state,e=t.child):e=fl(e,t,i),e}function Zc(e,t,n,r){return pa(),t.flags|=256,Lc(e,t,n,r),t.child}var Qc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function $c(e){return{baseLanes:e,cachePool:Ya()}}function el(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=dd),e}function tl(e,t,n){var r=t.pendingProps,i=!1,a=!!(t.flags&128),o;if((o=a)||(o=e!==null&&e.memoizedState===null?!1:!!(zo.current&2)),o&&(i=!0,t.flags&=-129),o=!!(t.flags&32),t.flags&=-33,e===null){if(L){if(i?Po(t):Lo(),(e=sa)?(e=am(e,R),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Qi===null?null:{id:$i,overflow:ea},retryLane:536870912,hydrationErrors:null},n=Hi(e),n.return=t,t.child=n,oa=t,sa=null)):e=null,e===null)throw ua(t);return t.lanes=sm(e)?32:536870912,null}return a=r.children,r=r.fallback,i?(Lo(),i=t.mode,a=rl({mode:`hidden`,children:a},i),r=Bi(r,i,n,null),a.return=t,r.return=t,a.sibling=r,t.child=a,r=t.child,r.memoizedState=$c(n),r.childLanes=el(e,o,n),t.memoizedState=Qc,Hc(null,r)):(Po(t),nl(t,a))}var s=e.memoizedState;if(s!==null){var c=s.dehydrated;if(c!==null)return al(e,t,a,o,r,c,s,n)}return i?(Lo(),i=r.fallback,a=t.mode,s=e.child,c=s.sibling,r=Li(s,{mode:`hidden`,children:r.children}),r.subtreeFlags=s.subtreeFlags&1206910976,c===null?(i=Bi(i,a,n,null),i.flags|=2):i=Li(c,i),i.return=t,r.return=t,r.sibling=i,t.child=r,Hc(null,r),r=t.child,i=e.child.memoizedState,i===null?i=$c(n):(a=i.cachePool,a===null?a=Ya():(s=Ma._currentValue,a=a.parent===s?a:{parent:s,pool:s}),i={baseLanes:i.baseLanes|n,cachePool:a}),r.memoizedState=i,r.childLanes=el(e,o,n),t.memoizedState=Qc,Hc(e.child,r)):(Po(t),n=e.child,e=n.sibling,n=Li(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(o=t.deletions,o===null?(t.deletions=[e],t.flags|=16):o.push(e)),t.child=n,t.memoizedState=null,n)}function nl(e,t){return t=rl({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function rl(e,t){return e=Fi(22,e,null,t),e.lanes=0,e}function il(e,t,n){return po(t,e.child,null,n),e=nl(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function al(e,t,n,r,a,o,s,c){if(n)return t.flags&256?(Po(t),t.flags&=-257,il(e,t,c)):t.memoizedState===null?(Lo(),o=a.fallback,s=t.mode,a=rl({mode:`visible`,children:a.children},s),o=Bi(o,s,c,null),o.flags|=2,a.return=t,o.return=t,a.sibling=o,t.child=a,po(t,e.child,null,c),a=t.child,a.memoizedState=$c(c),a.childLanes=el(e,r,c),t.memoizedState=Qc,Hc(null,a)):(Lo(),t.child=e.child,t.flags|=128,null);if(Po(t),sm(o)){if(r=o.nextSibling&&o.nextSibling.dataset,r)var l=r.dgst;return r=l,r!==``&&(a=Error(i(419)),a.stack=``,a.digest=r,ha({value:a,source:null,stack:null})),il(e,t,c)}if(Ic||Ca(e,t,c,!1),r=(c&e.childLanes)!==0,Ic||r){if(Do.current!==null)return il(e,t,c);if(r=td,r!==null&&(a=xt(r,c),a!==0&&a!==s.retryLane))throw s.retryLane=a,Ai(e,a),Id(r,e,a),Fc;return om(o)||Jd(),il(e,t,c)}return om(o)?(t.flags|=192,t.child=e.child,null):(e=s.treeContext,sa=lm(o.nextSibling),oa=t,L=!0,ca=null,R=!1,e!==null&&aa(t,e),t=nl(t,a.children),t.flags|=134221824,t)}function ol(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),xa(e.return,t,n)}function sl(e){for(var t=null;e!==null;){var n=e.alternate;n!==null&&Ho(n)===null&&(t=e),e=e.sibling}return t}function cl(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function ll(e){var t=e.child;for(e.child=null;t!==null;){var n=t.sibling;t.sibling=e.child,e.child=t,t=n}}function ul(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=zo.current;if(t.flags&128)return Bo(t,o),null;var s=!!(o&2);if(s?(o=o&1|2,t.flags|=128):o&=1,Bo(t,o),i===`backwards`&&e!==null?(ll(e),Lc(e,t,r,n),ll(e)):Lc(e,t,r,n),r=L?Yi:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&ol(e,n,t);else if(e.tag===19)ol(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`backwards`:n=sl(t.child),n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null,ll(t)),cl(t,!0,i,null,a,r);break;case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&Ho(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}cl(t,!0,n,null,a,r);break;case`together`:cl(t,!1,null,null,void 0,r);break;case`independent`:t.memoizedState=null;break;default:n=sl(t.child),n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),cl(t,!1,i,n,a,r)}return t.child}function dl(e,t,n){var r=t.pendingProps;return ya(t,t.type,r.value),Lc(e,t,r.children,n),t.child}function fl(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),cd|=t.lanes,(n&t.childLanes)===0){if(e!==null){if(Ca(e,t,n,!1),(n&t.childLanes)===0)return null}else return null}if(e!==null&&t.child!==e.child)throw Error(i(153));if(t.child!==null){for(e=t.child,n=Li(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Li(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function pl(e,t){return(e.lanes&t)!==0||(e=e.dependencies,!!(e!==null&&wa(e)))}function ml(e,t,n){switch(t.tag){case 3:Ae(t,t.stateNode.containerInfo),ya(t,Ma,e.memoizedState.cache),pa();break;case 27:case 5:Me(t);break;case 4:Ae(t,t.stateNode.containerInfo);break;case 10:ya(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Fo(t),null;break;case 13:var r=t.memoizedState;if(r!==null){if(r.dehydrated!==null)return Po(t),t.flags|=128,null;r=Ca(e,t,n,!1);var i=t.child.childLanes;return r||(n&i)!==0?tl(e,t,n):(Po(t),e=fl(e,t,n),e===null?null:e.sibling)}Po(t);break;case 19:if(t.flags&128)return ul(e,t,n);if(i=!!(e.flags&128),r=(n&t.childLanes)!==0,r||=(Ca(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return ul(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),Bo(t,zo.current),r)break;return null;case 22:return t.lanes=0,Vc(e,t,n,t.pendingProps);case 24:ya(t,Ma,e.memoizedState.cache)}return fl(e,t,n)}function hl(e,t,n){if(e!==null){if(e.memoizedProps!==t.pendingProps)Ic=!0;else{if(!pl(e,n)&&!(t.flags&128))return Ic=!1,ml(e,t,n);Ic=!!(e.flags&131072)}}else Ic=!1,L&&t.flags&1048576&&na(t,Yi,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=no(t.elementType),t.type=e,typeof e==`function`)Ii(e)?(r=Tc(e,r),t.tag=1,t=Xc(null,t,e,r,n)):(t.tag=0,t=Jc(null,t,e,r,n));else{if(e!=null){var a=e.$$typeof;if(a===oe){t.tag=11,t=Rc(null,t,e,r,n);break a}if(a===le){t.tag=14,t=zc(null,t,e,r,n);break a}if(a===k){t.tag=10,t.type=e,t=dl(null,t,n);break a}}throw t=ye(e)||e,Error(i(306,t,``))}}return t;case 0:return Jc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,a=Tc(r,t.pendingProps),Xc(e,t,r,a,n);case 3:a:{if(Ae(t,t.stateNode.containerInfo),e===null)throw Error(i(387));r=t.pendingProps;var o=t.memoizedState;a=o.element,_o(e,t),wo(t,r,null,n);var s=t.memoizedState;if(r=s.cache,ya(t,Ma,r),r!==o.cache&&Sa(t,[Ma],n,!0),Co(),r=s.element,o.isDehydrated){if(o={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=Zc(e,t,r,n);break a}if(r!==a){a=Gi(Error(i(424)),t),ha(a),t=Zc(e,t,r,n);break a}switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(sa=lm(e.firstChild),oa=t,L=!0,ca=null,R=!0,n=mo(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|134221824,n=n.sibling}else{if(pa(),r===a){t=fl(e,t,n);break a}Lc(e,t,r,n)}t=t.child}return t;case 26:return qc(e,t),e===null?(n=Nm(t.type,null,t.pendingProps,null))?t.memoizedState=n:L||(t.stateNode=fp(t.type,t.pendingProps,Oe.current,t)):t.memoizedState=Nm(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Me(t),e===null&&L&&(r=t.stateNode=hm(t.type,t.pendingProps,Oe.current),oa=t,R=!0,a=sa,Sp(t.type)?(um=a,sa=lm(r.firstChild)):sa=a),Lc(e,t,t.pendingProps.children,n),qc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&L&&((a=r=sa)&&(r=rm(r,t.type,t.pendingProps,R),r===null?a=!1:(t.stateNode=r,oa=t,sa=lm(r.firstChild),R=!1,a=!0)),a||ua(t)),Me(t),a=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,r=o.children,pp(a,o)?r=null:s!==null&&pp(a,s)&&(t.flags|=32),t.memoizedState!==null&&(a=ts(e,t,is,null,null,n),sh._currentValue=a),qc(e,t),Lc(e,t,r,n),t.child;case 6:return e===null&&L&&((e=n=sa)&&(n=im(n,t.pendingProps,R),n===null?e=!1:(t.stateNode=n,oa=t,sa=null,e=!0)),e||ua(t)),null;case 13:return tl(e,t,n);case 4:return Ae(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=po(t,null,r,n):Lc(e,t,r,n),t.child;case 11:return Rc(e,t,t.type,t.pendingProps,n);case 7:return r=t.pendingProps,qc(e,t),Lc(e,t,r,n),t.child;case 8:return Lc(e,t,t.pendingProps.children,n),t.child;case 12:return Lc(e,t,t.pendingProps.children,n),t.child;case 10:return dl(e,t,n);case 9:return a=t.type._context,r=t.pendingProps.children,Ta(t),a=Ea(a),r=r(a),t.flags|=1,Lc(e,t,r,n),t.child;case 14:return zc(e,t,t.type,t.pendingProps,n);case 15:return Bc(e,t,t.type,t.pendingProps,n);case 19:return ul(e,t,n);case 31:return Kc(e,t,n);case 22:return Vc(e,t,n,t.pendingProps);case 24:return Ta(t),r=Ea(Ma),e===null?(a=qa(),a===null&&(a=td,o=Na(),a.pooledCache=o,o.refCount++,o!==null&&(a.pooledCacheLanes|=n),a=o),t.memoizedState={parent:r,cache:a},go(t),ya(t,Ma,a)):((e.lanes&n)!==0&&(_o(e,t),wo(t,null,null,n),Co()),a=e.memoizedState,o=t.memoizedState,a.parent===r?(r=o.cache,ya(t,Ma,r),r!==a.cache&&Sa(t,[Ma],n,!0)):(a={parent:r,cache:r},t.memoizedState=a,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=a),ya(t,Ma,r))),Lc(e,t,t.pendingProps.children,n),t.child;case 30:return t.stateNode===null&&(t.stateNode={autoName:null,paired:null,clones:null,ref:null}),r=t.pendingProps,r.name!=null&&r.name!==`auto`?t.flags|=e===null?18882560:18874368:L&&ra(t),e!==null&&e.memoizedProps.name!==r.name?t.flags|=4194816:qc(e,t),Lc(e,t,r.children,n),t.child;case 29:throw t.pendingProps}throw Error(i(156,t.tag))}function gl(e){e.flags|=4}function _l(e,t,n,r,i){var a;if((a=!!(e.mode&32))&&(a=n===null?Jm(t,r):Jm(t,r)&&(r.src!==n.src||r.srcSet!==n.srcSet)),a){if(e.flags|=16777216,(i&335544128)===i){if(e.stateNode.complete)e.flags|=8192;else if(Gd())e.flags|=8192;else throw ro=$a,Za}}else e.flags&=-16777217}function vl(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Ym(t)){if(Gd())e.flags|=8192;else throw ro=$a,Za}}function yl(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:ht(),e.lanes|=t,fd|=t)}function bl(e,t){if(!L)switch(e.tailMode){case`visible`:break;case`collapsed`:for(var n=e.tail,r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null;break;default:for(t=e.tail,n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null}}function xl(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&1206910976,r|=i.flags&1206910976,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Sl(e,t,n){var r=t.pendingProps;switch(ia(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return xl(t),null;case 1:return xl(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ba(Ma),je(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(fa(t)?gl(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,ma())),xl(t),null;case 26:var a=t.type,o=t.memoizedState;return e===null?(gl(t),o===null?(xl(t),_l(t,a,null,r,n)):(xl(t),vl(t,o))):o?o===e.memoizedState?(xl(t),t.flags&=-16777217):(gl(t),xl(t),vl(t,o)):(e=e.memoizedProps,e!==r&&gl(t),xl(t),_l(t,a,e,r,n)),null;case 27:if(Ne(t),n=Oe.current,a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&gl(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return xl(t),t.subtreeFlags&=-33554433,null}e=Ee.current,fa(t)?da(t,e):(e=hm(a,r,n),t.stateNode=e,gl(t))}return xl(t),t.subtreeFlags&=-33554433,null;case 5:if(Ne(t),a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&gl(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return xl(t),t.subtreeFlags&=-33554433,null}if(o=Ee.current,fa(t))da(t,o);else{var s=lp(Oe.current);switch(o){case 1:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case 2:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;default:switch(a){case`svg`:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case`math`:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;case`script`:o=s.createElement(`div`),o.innerHTML=`<script><\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[Dt]=t,o[Ot]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(np(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&gl(t)}}return xl(t),t.subtreeFlags&=-33554433,_l(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&gl(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=Oe.current,fa(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=oa,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[Dt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||$f(e.nodeValue,n)),e||ua(t,!0)}else e=lp(e).createTextNode(r),e[Dt]=t,t.stateNode=e}return xl(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=fa(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[Dt]=t}else pa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;xl(t),e=!1}else n=ma(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Ro(t),t):(Ro(t),null);if(t.flags&128)throw Error(i(558))}return xl(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=fa(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[Dt]=t}else pa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;xl(t),a=!1}else a=ma(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(Ro(t),t):(Ro(t),null)}return Ro(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),yl(t,t.updateQueue),xl(t),null);case 4:return je(),e===null&&Wf(t.stateNode.containerInfo),t.flags|=67108864,xl(t),null;case 10:return ba(t.type),xl(t),null;case 19:if(Vo(t),r=t.memoizedState,r===null)return xl(t),null;if(a=!!(t.flags&128),o=r.rendering,o===null){if(a)bl(r,!1);else{if(sd!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Ho(e),o!==null){for(t.flags|=128,bl(r,!1),e=o.updateQueue,t.updateQueue=e,yl(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Ri(n,e),n=n.sibling;return Bo(t,zo.current&1|2),L&&ta(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ke()>vd&&(t.flags|=128,a=!0,bl(r,!1),t.lanes=4194304)}}else{if(!a){if(e=Ho(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,yl(t,e),bl(r,!0),r.tail===null&&r.tailMode!==`collapsed`&&r.tailMode!==`visible`&&!o.alternate&&!L)return xl(t),null}else 2*Ke()-r.renderingStartTime>vd&&n!==536870912&&(t.flags|=128,a=!0,bl(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}if(r.tail!==null){e=r.tail;a:{for(n=e;n!==null;){if(n.alternate!==null){n=!1;break a}n=n.sibling}n=!0}return r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ke(),e.sibling=null,o=zo.current,o=a?o&1|2:o&1,r.tailMode===`visible`||r.tailMode===`collapsed`||!n||L?Bo(t,o):(n=o,M(Mo,t),M(zo,n),No===null&&(No=t)),L&&ta(t,r.treeForkCount),e}return xl(t),null;case 22:case 23:return Ro(t),jo(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(xl(t),t.subtreeFlags&6&&(t.flags|=8192)):xl(t),n=t.updateQueue,n!==null&&yl(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&Te(Ka),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ba(Ma),xl(t),null;case 25:return null;case 30:return t.flags|=33554432,xl(t),null}throw Error(i(156,t.tag))}function Cl(e,t){switch(ia(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ba(Ma),je(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Ne(t),null;case 31:if(t.memoizedState!==null){if(Ro(t),t.alternate===null)throw Error(i(340));pa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Ro(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));pa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Vo(t),e=t.flags,e&65536?(t.flags=e&-65537|128,e=t.memoizedState,e!==null&&(e.rendering=null,e.tail=null),t.flags|=4,t):null;case 4:return je(),null;case 10:return ba(t.type),null;case 22:case 23:return Ro(t),jo(),e!==null&&Te(Ka),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ba(Ma),null;case 25:return null;default:return null}}function wl(e,t){switch(ia(t),t.tag){case 3:ba(Ma),je();break;case 26:case 27:case 5:Ne(t);break;case 4:je();break;case 31:t.memoizedState!==null&&Ro(t);break;case 13:Ro(t);break;case 19:Vo(t);break;case 10:ba(t.type);break;case 22:case 23:Ro(t),jo(),e!==null&&Te(Ka);break;case 24:ba(Ma)}}function Tl(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){gf(t,t.return,e)}}function El(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){gf(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){gf(t,t.return,e)}}function Dl(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Eo(t,n)}catch(t){gf(e,e.return,t)}}}function Ol(e,t,n){n.props=Tc(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){gf(e,t,n)}}function kl(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:var i=e.stateNode,a=bi(e.memoizedProps,i);(i.ref===null||i.ref.name!==a)&&(i.ref=Pp(a)),r=i.ref;break;case 7:if(e.stateNode===null){var o=new Fp(e);m(e.child,!1,Qp,o,void 0,void 0),e.stateNode=o}r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){gf(e,t,n)}}function Al(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){gf(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){gf(e,t,n)}else n.current=null}}function jl(e,t){if((e.tag===5||e.tag===27||e.tag===6)&&e.alternate===null&&t!==null)for(var n=0;n<t.length;n++)em(e.stateNode,t[n])}function Ml(e){for(var t=e.return;t!==null&&(Fl(t)&&em(e.stateNode,t.stateNode),!Pl(t));)t=t.return}function Nl(e){for(var t=e.return;t!==null&&(Fl(t)&&tm(e.stateNode,t.stateNode),!Pl(t));)t=t.return}function Pl(e){return e.tag===5||e.tag===3||e.tag===27}function Fl(e){return e&&e.tag===7&&e.stateNode!==null}function Il(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){gf(e,e.return,t)}}function Ll(e,t,n){try{var r=e.stateNode;ip(r,e.type,n,t),r[Ot]=t}catch(t){gf(e,e.return,t)}}function Rl(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Sp(e.type)||e.tag===4}function zl(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Rl(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Sp(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Bl(e,t,n,r){var i=e.tag;if(i===5||i===6)i=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(i,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(i),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=wn)),jl(e,r),Zt=!0;else if(i!==4&&(i===27&&(jl(e,r),r=null,Sp(e.type)&&(n=e.stateNode,t=null)),e=e.child,e!==null))for(Bl(e,t,n,r),e=e.sibling;e!==null;)Bl(e,t,n,r),e=e.sibling}function Vl(e,t,n,r){var i=e.tag;if(i===5||i===6)i=e.stateNode,t?n.insertBefore(i,t):n.appendChild(i),jl(e,r),Zt=!0;else if(i!==4&&(i===27&&(jl(e,r),r=null,Sp(e.type)&&(n=e.stateNode)),e=e.child,e!==null))for(Vl(e,t,n,r),e=e.sibling;e!==null;)Vl(e,t,n,r),e=e.sibling}function Hl(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);np(t,r,n),t[Dt]=e,t[Ot]=n}catch(t){gf(e,e.return,t)}}var Ul=!1,Wl=null;function Gl(e){(e.tag===30||e.subtreeFlags&33554432)&&(Ul=!0)}var Kl=null;function ql(){var e=Kl;return Kl=null,e}var Jl=0;function Yl(e,t,n,r,i){return Jl=0,Xl(e.child,t,n,r,i)}function Xl(e,t,n,r,i){for(var a=!1;e!==null;){if(e.tag===5){var o=e.stateNode;if(r!==null){var s=Op(o);r.push(s),s.view&&(a=!0)}else a||Op(o).view&&(a=!0);Ul=!0,Tp(o,Jl===0?t:t+`_`+Jl,n),Jl++}else(e.tag!==22||e.memoizedState===null)&&(e.tag===30&&i||Xl(e.child,t,n,r,i)&&(a=!0));e=e.sibling}return a}function Zl(e,t){for(;e!==null;)e.tag===5?Ep(e.stateNode,e.memoizedProps):(e.tag!==22||e.memoizedState===null)&&(e.tag===30&&t||Zl(e.child,t)),e=e.sibling}function Ql(e){if(e.subtreeFlags&18874368)for(e=e.child;e!==null;){if((e.tag!==22||e.memoizedState===null)&&(Ql(e),e.tag===30&&e.flags&18874368&&e.stateNode.paired)){var t=e.memoizedProps;if(t.name==null||t.name===`auto`)throw Error(i(544));var n=t.name;t=Si(t.default,t.share),t!==`none`&&(Yl(e,n,t,null,!1)||Zl(e.child,!1))}e=e.sibling}}function $l(e,t){if(e.tag===30){var n=e.stateNode,r=e.memoizedProps,i=bi(r,n),a=Si(r.default,n.paired?r.share:r.enter);a===`none`?Ql(e):Yl(e,i,a,null,!1)?(Ql(e),n.paired||t||Fd(e,r.onEnter)):Zl(e.child,!1)}else if(e.subtreeFlags&33554432)for(e=e.child;e!==null;)$l(e,t),e=e.sibling;else Ql(e)}function eu(e){if(Wl!==null&&Wl.size!==0){var t=Wl;if(e.subtreeFlags&18874368)for(e=e.child;e!==null;){if(e.tag!==22||e.memoizedState===null){if(e.tag===30&&e.flags&18874368){var n=e.memoizedProps,r=n.name;if(r!=null&&r!==`auto`){var i=t.get(r);if(i!==void 0){var a=Si(n.default,n.share);if(a!==`none`&&(Yl(e,r,a,null,!1)?(a=e.stateNode,i.paired=a,a.paired=i,Fd(e,n.onShare)):Zl(e.child,!1)),t.delete(r),t.size===0)break}}}eu(e)}e=e.sibling}}}function tu(e){if(e.tag===30){var t=e.memoizedProps,n=bi(t,e.stateNode),r=Wl===null?void 0:Wl.get(n),i=Si(t.default,r===void 0?t.exit:t.share);i!==`none`&&(Yl(e,n,i,null,!1)?r===void 0?Fd(e,t.onExit):(i=e.stateNode,r.paired=i,i.paired=r,Wl.delete(n),Fd(e,t.onShare)):Zl(e.child,!1)),Wl!==null&&eu(e)}else if(e.subtreeFlags&33554432)for(e=e.child;e!==null;)tu(e),e=e.sibling;else Wl!==null&&eu(e)}function nu(e){for(e=e.child;e!==null;){if(e.tag===30){var t=e.memoizedProps,n=bi(t,e.stateNode);t=Si(t.default,t.update),e.flags&=-5,t!==`none`&&Yl(e,n,t,e.memoizedState=[],!1)}else e.subtreeFlags&33554432&&nu(e);e=e.sibling}}function ru(e){if(e.subtreeFlags&18874368)for(e=e.child;e!==null;){if(e.tag!==22||e.memoizedState===null){if(e.tag===30&&e.flags&18874368){var t=e.stateNode;t.paired!==null&&(t.paired=null,Zl(e.child,!1))}ru(e)}e=e.sibling}}function iu(e){if(e.tag===30)e.stateNode.paired=null,Zl(e.child,!1),ru(e);else if(e.subtreeFlags&33554432)for(e=e.child;e!==null;)iu(e),e=e.sibling;else ru(e)}function au(e){for(e=e.child;e!==null;)e.tag===30?Zl(e.child,!1):e.subtreeFlags&33554432&&au(e),e=e.sibling}function ou(e,t,n,r,i,a,o){for(var s=!1;t!==null;){if(t.tag===5){var c=t.stateNode;if(a!==null&&Jl<a.length){var l=a[Jl],u=Op(c);(l.view||u.view)&&(s=!0);var d;if(d=!(e.flags&4)){if(u.clip)d=!0;else{d=l.rect;var f=u.rect;d=d.y!==f.y||d.x!==f.x||d.height!==f.height||d.width!==f.width}}d&&(e.flags|=4),u.abs?u=!l.abs:(l=l.rect,u=u.rect,u=l.height!==u.height||l.width!==u.width),u&&(e.flags|=32)}else e.flags|=32;e.flags&4&&Tp(c,Jl===0?n:n+`_`+Jl,i),s&&e.flags&4||(Kl===null&&(Kl=[]),Kl.push(c,Jl===0?r:r+`_`+Jl,t.memoizedProps)),Jl++}else(t.tag!==22||t.memoizedState===null)&&(t.tag===30&&o?e.flags|=t.flags&32:ou(e,t.child,n,r,i,a,o)&&(s=!0));t=t.sibling}return s}function su(e,t){for(e=e.child;e!==null;){if(e.tag===30){var n=e.memoizedProps,r=e.stateNode,i=bi(n,r),a=Si(n.default,n.update);if(t){r=r.clones;var o=r===null?null:r.map(kp)}else o=e.memoizedState,e.memoizedState=null;r=e;var s=e.child;Jl=0,i=ou(r,s,i,i,a,o,!1),e.flags&4&&i&&(t||Fd(e,n.onUpdate))}else e.subtreeFlags&33554432&&su(e,t);e=e.sibling}}var cu=!1,V=!1,lu=!1,uu=!1,du=typeof WeakSet==`function`?WeakSet:Set,fu=null,pu=!1,mu=!1,hu=!1,gu=!1;function _u(e,t,n){if(e=e.containerInfo,sp=gh,e=Qr(e),$r(e)){if(`selectionStart`in e)var r={start:e.selectionStart,end:e.selectionEnd};else a:{r=(r=e.ownerDocument)&&r.defaultView||window;var i=r.getSelection&&r.getSelection();if(i&&i.rangeCount!==0){r=i.anchorNode;var a=i.anchorOffset,o=i.focusNode;i=i.focusOffset;try{r.nodeType,o.nodeType}catch{r=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==r||a!==0&&f.nodeType!==3||(c=s+a),f!==o||i!==0&&f.nodeType!==3||(l=s+i),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===r&&++u===a&&(c=s),p===o&&++d===i&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}r=c===-1||l===-1?null:{start:c,end:l}}else r=null}r||={start:0,end:0}}else r=null;for(cp={focusedElem:e,selectionRange:r},gh=!1,n=(n&335544064)===n,fu=t,t=n?9270:1024;fu!==null;){if(e=fu,n&&(r=e.deletions,r!==null))for(a=0;a<r.length;a++)n&&tu(r[a]);if(e.alternate===null&&e.flags&2)n&&Gl(e),vu(n);else{if(e.tag===22){if(r=e.alternate,e.memoizedState!==null){r!==null&&r.memoizedState===null&&n&&tu(r),vu(n);continue}if(r!==null&&r.memoizedState!==null){n&&Gl(e),vu(n);continue}}r=e.child,(e.subtreeFlags&t)!==0&&r!==null?(r.return=e,fu=r):(n&&nu(e),vu(n))}}Wl=null}function vu(e){for(;fu!==null;){var t=fu,n=e,r=t.alternate,a=t.flags;switch(t.tag){case 0:case 11:case 15:break;case 1:if(a&1024&&r!==null){n=void 0,a=r.memoizedProps,r=r.memoizedState;var o=t.stateNode;try{var s=Tc(t.type,a);n=o.getSnapshotBeforeUpdate(s,r),o.__reactInternalSnapshotBeforeUpdate=n}catch(e){gf(t,t.return,e)}}break;case 3:if(a&1024){if(r=t.stateNode.containerInfo,n=r.nodeType,n===9)nm(r);else if(n===1)switch(r.nodeName){case`HEAD`:case`HTML`:case`BODY`:nm(r);break;default:r.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;case 30:n&&r!==null&&(n=bi(r.memoizedProps,r.stateNode),a=t.memoizedProps,a=Si(a.default,a.update),a!==`none`&&Yl(r,n,a,r.memoizedState=[],!0));break;default:if(a&1024)throw Error(i(163))}if(r=t.sibling,r!==null){r.return=t.return,fu=r;break}fu=t.return}}function yu(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:Iu(e,n),r&4&&Tl(5,n);break;case 1:if(Iu(e,n),r&4){if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){gf(n,n.return,e)}else{var i=Tc(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){gf(n,n.return,e)}}}r&64&&Dl(n),r&512&&kl(n,n.return);break;case 3:if(Iu(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{Eo(e,t)}catch(e){gf(n,n.return,e)}}break;case 27:t===null&&r&4&&Hl(n);case 26:case 5:Iu(e,n),t===null&&r&4&&Il(n),r&512&&kl(n,n.return);break;case 12:Iu(e,n);break;case 31:Iu(e,n),r&4&&Eu(e,n);break;case 13:Iu(e,n),r&4&&W(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=bf.bind(null,n),cm(e,n))));break;case 22:if(r=n.memoizedState!==null||cu,!r){var a=t!==null&&t.memoizedState!==null||V;t=cu,i=V,cu=r,(V=a)&&!i?(r=2,n.subtreeFlags&8772&&(r|=1),Ru(e,n,r)):Iu(e,n),cu=t,V=i}break;case 30:Iu(e,n),r&512&&kl(n,n.return);break;case 7:r&512&&kl(n,n.return);default:Iu(e,n)}}function H(e,t){for(e=e.child;e!==null;)bu(e,t),e=e.sibling}function bu(e,t){switch(e.tag){case 5:case 26:try{var n=e.stateNode;if(t){var r=n.style;typeof r.setProperty==`function`?r.setProperty(`display`,`none`,`important`):r.display=`none`}else{var i=e.stateNode,a=e.memoizedProps.style,o=a!=null&&a.hasOwnProperty(`display`)?a.display:null;i.style.display=o==null||typeof o==`boolean`?``:(``+o).trim()}}catch(t){gf(e,e.return,t)}xu(e,t);break;case 6:try{e.stateNode.nodeValue=t?``:e.memoizedProps,Zt=!0}catch(t){gf(e,e.return,t)}break;case 18:try{var s=e.stateNode;t?wp(s,!0):wp(e.stateNode,!1)}catch(t){gf(e,e.return,t)}break;case 22:case 23:e.memoizedState===null&&H(e,t);break;default:H(e,t)}}function xu(e,t){if(e.subtreeFlags&67108864)for(e=e.child;e!==null;){a:{var n=e,r=t;switch(n.tag){case 4:bu(n,r);break a;case 22:n.memoizedState===null&&xu(n,r);break a;default:xu(n,r)}}e=e.sibling}}function Su(e){var t=e.alternate;t!==null&&(e.alternate=null,Su(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&It(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Cu=null,wu=!1;function U(e,t,n){for(n=n.child;n!==null;)Tu(e,t,n),n=n.sibling}function Tu(e,t,n){if(nt&&typeof nt.onCommitFiberUnmount==`function`)try{nt.onCommitFiberUnmount(tt,n)}catch{}switch(n.tag){case 26:V||Al(n,t),U(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&!V&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:V||Al(n,t),Nl(n);var r=Cu,i=wu;Sp(n.type)&&(Cu=n.stateNode,wu=!1),U(e,t,n),gm(n.stateNode,n.type,n.memoizedProps),Cu=r,wu=i;break;case 5:V||Al(n,t),Nl(n);case 6:if(n.tag===6&&Nl(n),r=Cu,i=wu,Cu=null,U(e,t,n),Cu=r,wu=i,Cu!==null){if(wu)try{(Cu.nodeType===9?Cu.body:Cu.nodeName===`HTML`?Cu.ownerDocument.body:Cu).removeChild(n.stateNode),Zt=!0}catch(e){gf(n,t,e)}else try{Cu.removeChild(n.stateNode),Zt=!0}catch(e){gf(n,t,e)}}break;case 18:Cu!==null&&(wu?(e=Cu,Cp(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Hh(e)):Cp(Cu,n.stateNode));break;case 4:r=Cu,i=wu,Cu=n.stateNode.containerInfo,wu=!0,U(e,t,n),Cu=r,wu=i;break;case 0:case 11:case 14:case 15:El(2,n,t),V||El(4,n,t),U(e,t,n);break;case 1:V||(Al(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&Ol(n,t,r)),U(e,t,n);break;case 21:U(e,t,n);break;case 22:V=(r=V)||n.memoizedState!==null,U(e,t,n),V=r;break;case 30:Al(n,t),U(e,t,n);break;case 7:V||Al(n,t),U(e,t,n);break;default:U(e,t,n)}}function Eu(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Hh(e)}catch(e){gf(t,t.return,e)}}}function W(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Hh(e)}catch(e){gf(t,t.return,e)}}function Du(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new du),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new du),t;default:throw Error(i(435,e.tag))}}function Ou(e,t){var n=Du(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=xf.bind(null,e,t);t.then(r,r)}})}function ku(e,t,n){var r=t.deletions;if(r!==null)for(var a=0;a<r.length;a++){var o=r[a],s=e,c=t,l=c;a:for(;l!==null;){switch(l.tag){case 27:if(Sp(l.type)){Cu=l.stateNode,wu=!1;break a}break;case 5:Cu=l.stateNode,wu=!1;break a;case 3:case 4:Cu=l.stateNode.containerInfo,wu=!0;break a}l=l.return}if(Cu===null)throw Error(i(160));Tu(s,c,o),Cu=null,wu=!1,s=o.alternate,s!==null&&(s.return=null),o.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)ju(t,e,n),t=t.sibling}var Au=null;function ju(e,t,n){var r=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(a&4&&(r=e.updateQueue,r=r===null?null:r.events,r!==null))for(var o=0;o<r.length;o++){var s=r[o];s.ref.impl=s.nextImpl}ku(t,e,n),Mu(e),a&4&&(El(3,e,e.return),Tl(3,e),El(5,e,e.return));break;case 1:ku(t,e,n),Mu(e),a&512&&(V||r===null||Al(r,r.return)),a&64&&cu&&(e=e.updateQueue,e!==null&&(t=e.callbacks,t!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?t:n.concat(t))));break;case 26:if(o=Au,ku(t,e,n),Mu(e),a&512&&(V||r===null||Al(r,r.return)),a&4){if(a=r===null?null:r.memoizedState,n=e.memoizedState,r===null){if(n===null){if(e.stateNode===null){if(cu)e.stateNode=fp(e.type,e.memoizedProps,t.containerInfo,e);else{a:{t=e.type,n=e.memoizedProps,a=o.ownerDocument||o;b:switch(t){case`title`:r=a.getElementsByTagName(`title`)[0],(!r||r[Pt]||r[Dt]||r.namespaceURI===`http://www.w3.org/2000/svg`||r.hasAttribute(`itemprop`))&&(r=a.createElement(t),a.head.insertBefore(r,a.querySelector(`head > title`))),np(r,t,n),r[Dt]=e,Vt(r),t=r;break a;case`link`:if(o=Gm(`link`,`href`,a).get(t+(n.href||``))){for(s=0;s<o.length;s++)if(r=o[s],r.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&r.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&r.getAttribute(`title`)===(n.title==null?null:n.title)&&r.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){o.splice(s,1);break b}}r=a.createElement(t),np(r,t,n),a.head.appendChild(r);break;case`meta`:if(o=Gm(`meta`,`content`,a).get(t+(n.content||``))){for(s=0;s<o.length;s++)if(r=o[s],r.getAttribute(`content`)===(n.content==null?null:``+n.content)&&r.getAttribute(`name`)===(n.name==null?null:n.name)&&r.getAttribute(`property`)===(n.property==null?null:n.property)&&r.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&r.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){o.splice(s,1);break b}}r=a.createElement(t),np(r,t,n),a.head.appendChild(r);break;default:throw Error(i(468,t))}r[Dt]=e,Vt(r),t=r}e.stateNode=t}}else cu||Km(o,e.type,e.stateNode)}else e.stateNode=Bm(o,n,e.memoizedProps)}else a===n?n===null&&e.stateNode!==null&&Ll(e,e.memoizedProps,r.memoizedProps):(a===null?(t=r.stateNode,t===null||V||t.parentNode.removeChild(t)):a.count--,n===null?cu||Km(o,e.type,e.stateNode):Bm(o,n,e.memoizedProps))}break;case 27:ku(t,e,n),Mu(e),a&512&&(V||r===null||Al(r,r.return)),r!==null&&a&4&&Ll(e,e.memoizedProps,r.memoizedProps);break;case 5:if(o=lu,lu=!1,ku(t,e,n),lu=o,Mu(e),a&512&&(V||r===null||Al(r,r.return)),e.flags&32){t=e.stateNode;try{gn(t,``),Zt=!0}catch(t){gf(e,e.return,t)}}a&4&&e.stateNode!=null&&(t=e.memoizedProps,Ll(e,t,r===null?t:r.memoizedProps)),a&1024&&(uu=!0);break;case 6:if(ku(t,e,n),Mu(e),a&4){if(e.stateNode===null)throw Error(i(162));t=e.memoizedProps,n=e.stateNode;try{n.nodeValue=t,Zt=!0}catch(t){gf(e,e.return,t)}}break;case 3:if(Zt=!1,Wm=null,o=Au,Au=bm(t.containerInfo),ku(t,e,n),Au=o,Mu(e),a&4&&r!==null&&r.memoizedState.isDehydrated)try{Hh(t.containerInfo)}catch(t){gf(e,e.return,t)}uu&&(uu=!1,Nu(e)),Zt=!1;break;case 4:a=lu,lu=cu,r=Qt(),o=Au,Au=bm(e.stateNode.containerInfo),ku(t,e,n),Mu(e),Au=o,Zt&&mu&&(hu=!0),Zt=r,lu=a;break;case 12:ku(t,e,n),Mu(e);break;case 31:ku(t,e,n),Mu(e),a&4&&(t=e.updateQueue,t!==null&&(e.updateQueue=null,Ou(e,t)));break;case 13:ku(t,e,n),Mu(e),e.child.flags&8192&&e.memoizedState!==null!=(r!==null&&r.memoizedState!==null)&&(gd=Ke()),a&4&&(t=e.updateQueue,t!==null&&(e.updateQueue=null,Ou(e,t)));break;case 22:o=e.memoizedState!==null,s=r!==null&&r.memoizedState!==null;var c=cu,l=V,u=lu;cu=c||o,lu=u||o,V=l||s,ku(t,e,n),V=l,lu=u,cu=c,Mu(e),a&8192&&(t=e.stateNode,t._visibility=o?t._visibility&-2:t._visibility|1,!o||r===null||s||cu||V||(t=s||V,n=cu,r=V,cu=o||cu,V=t,Lu(e,2),cu=n,V=r),!o&&lu||H(e,o)),a&4&&(t=e.updateQueue,t!==null&&(n=t.retryQueue,n!==null&&(t.retryQueue=null,Ou(e,n))));break;case 19:ku(t,e,n),Mu(e),a&4&&(t=e.updateQueue,t!==null&&(e.updateQueue=null,Ou(e,t)));break;case 30:a&512&&(V||r===null||Al(r,r.return)),a=Qt(),o=mu,s=(n&335544064)===n,c=e.memoizedProps,mu=s&&Si(c.default,c.update)!==`none`,ku(t,e,n),Mu(e),s&&r!==null&&Zt&&(e.flags|=4),mu=o,Zt=a;break;case 21:break;case 7:a&512&&(V||r===null||Al(r,r.return)),r&&r.stateNode!==null&&(r.stateNode._fragmentFiber=e);default:ku(t,e,n),Mu(e)}}function Mu(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(Rl(r)){n=r;break}r=r.return}r=null;for(var a=e.return;a!==null;){if(Fl(a)){var o=a.stateNode;r===null?r=[o]:r.push(o)}if(Pl(a))break;a=a.return}var s=r;if(n==null)throw Error(i(160));switch(n.tag){case 27:var c=n.stateNode;Vl(e,zl(e),c,s);break;case 5:var l=n.stateNode;n.flags&32&&(gn(l,``),n.flags&=-33),Vl(e,zl(e),l,s);break;case 3:case 4:var u=n.stateNode.containerInfo;Bl(e,zl(e),u,s);break;default:throw Error(i(161))}}catch(t){gf(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Nu(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;Nu(t),t.tag===5&&t.flags&1024&&(t=t.stateNode,gh=!0,t.reset(),gh=!1),e=e.sibling}}function Pu(e,t){if(t.subtreeFlags&9270)for(t=t.child;t!==null;)Fu(t,e),t=t.sibling;else su(t,!1)}function Fu(e,t){var n=e.alternate;if(n===null)$l(e,!1);else switch(e.tag){case 3:if(gu=pu=!1,ql(),Pu(t,e),!pu&&!hu){if(e=Kl,e!==null)for(var r=0;r<e.length;r+=3){n=e[r];var i=e[r+1];Ep(n,e[r+2]),n=n.ownerDocument.documentElement,n!==null&&n.animate({opacity:[0,0],pointerEvents:[`none`,`none`]},{duration:0,fill:`forwards`,pseudoElement:`::view-transition-group(`+i+`)`})}e=t.containerInfo,e=e.nodeType===9?e.documentElement:e.ownerDocument.documentElement,e!==null&&e.style.viewTransitionName===``&&(e.style.viewTransitionName=`none`,e.animate({opacity:[0,0],pointerEvents:[`none`,`none`]},{duration:0,fill:`forwards`,pseudoElement:`::view-transition-group(root)`}),e.animate({width:[0,0],height:[0,0]},{duration:0,fill:`forwards`,pseudoElement:`::view-transition`})),gu=!0}Kl=null;break;case 5:Pu(t,e);break;case 4:r=pu,pu=!1,Pu(t,e),pu&&(hu=!0),pu=r;break;case 22:e.memoizedState===null&&(n.memoizedState===null?Pu(t,e):$l(e,!1));break;case 30:r=pu,i=ql(),pu=!1,Pu(t,e),pu&&(e.flags|=4);var a=e.memoizedProps,o=e.stateNode;t=bi(a,o),o=bi(n.memoizedProps,o);var s=Si(a.default,a.update);s===`none`?t=!1:(a=n.memoizedState,n.memoizedState=null,n=e.child,Jl=0,t=ou(e,n,t,o,s,a,!0),Jl!==(a===null?0:a.length)&&(e.flags|=32)),e.flags&4&&t?(Fd(e,e.memoizedProps.onUpdate),Kl=i):i!==null&&(i.push.apply(i,Kl),Kl=i),pu=e.flags&32?!0:r;break;default:Pu(t,e)}}function Iu(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)yu(e,t.alternate,t),t=t.sibling}function Lu(e,t){for(e=e.child;e!==null;){var n=e,r=t;switch(n.tag){case 0:case 11:case 14:case 15:El(4,n,n.return),Lu(n,r);break;case 1:Al(n,n.return);var i=n.stateNode;typeof i.componentWillUnmount==`function`&&Ol(n,n.return,i),Lu(n,r);break;case 27:r&2&&gm(n.stateNode,n.type,n.memoizedProps);case 5:Al(n,n.return),n.tag!==5&&n.tag!==27||Nl(n),Lu(n,r);break;case 6:Nl(n);break;case 26:Al(n,n.return),i=n.stateNode,n.memoizedState!==null||i===null||V||i.parentNode.removeChild(i),Lu(n,r);break;case 22:n.memoizedState===null&&Lu(n,r);break;case 30:Al(n,n.return),Lu(n,r);break;case 7:Al(n,n.return);default:Lu(n,r)}e=e.sibling}}function Ru(e,t,n){for(n=t.subtreeFlags&8772?n:n&-2,t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags,s=!!(n&1);switch(a.tag){case 0:case 11:case 15:Ru(i,a,n),Tl(4,a);break;case 1:if(Ru(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){gf(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var c=r.stateNode;try{var l=i.shared.hiddenCallbacks;if(l!==null)for(i.shared.hiddenCallbacks=null,i=0;i<l.length;i++)To(l[i],c)}catch(e){gf(r,r.return,e)}}s&&o&64&&Dl(a),kl(a,a.return);break;case 27:n&2&&Hl(a);case 5:a.tag!==5&&a.tag!==27||Ml(a),Ru(i,a,n),s&&r===null&&o&4&&Il(a),kl(a,a.return);break;case 6:Ml(a);break;case 26:c=a.stateNode,a.memoizedState!==null||c===null||cu||Km(bm(c.ownerDocument),a.type,c),Ru(i,a,n),s&&r===null&&o&4&&Il(a),kl(a,a.return);break;case 12:Ru(i,a,n);break;case 31:Ru(i,a,n),s&&o&4&&Eu(i,a);break;case 13:Ru(i,a,n),s&&o&4&&W(i,a);break;case 22:a.memoizedState===null&&Ru(i,a,n),kl(a,a.return);break;case 30:Ru(i,a,n),kl(a,a.return);break;case 7:kl(a,a.return);default:Ru(i,a,n)}t=t.sibling}}function zu(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Pa(n))}function Bu(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Pa(e))}function Vu(e,t,n,r){var i=(n&335544064)===n;if(t.subtreeFlags&(i?10262:10256))for(t=t.child;t!==null;)Hu(e,t,n,r),t=t.sibling;else i&&au(t)}function Hu(e,t,n,r){var i=(n&335544064)===n;i&&t.alternate===null&&t.return!==null&&t.return.alternate!==null&&iu(t);var a=t.flags;switch(t.tag){case 0:case 11:case 15:Vu(e,t,n,r),a&2048&&Tl(9,t);break;case 1:Vu(e,t,n,r);break;case 3:Vu(e,t,n,r),i&&gu&&(e=e.containerInfo,e=e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,e.style.viewTransitionName===`root`&&(e.style.viewTransitionName=``),e=e.ownerDocument.documentElement,e!==null&&e.style.viewTransitionName===`none`&&(e.style.viewTransitionName=``)),a&2048&&(a=null,t.alternate!==null&&(a=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==a&&(t.refCount++,a!=null&&Pa(a)));break;case 12:if(a&2048){Vu(e,t,n,r),a=t.stateNode;try{var o=t.memoizedProps,s=o.id,c=o.onPostCommit;typeof c==`function`&&c(s,t.alternate===null?`mount`:`update`,a.passiveEffectDuration,-0)}catch(e){gf(t,t.return,e)}}else Vu(e,t,n,r);break;case 31:Vu(e,t,n,r);break;case 13:Vu(e,t,n,r);break;case 23:break;case 22:o=t.stateNode,s=t.alternate,t.memoizedState===null?(i&&s!==null&&s.memoizedState!==null&&iu(t),o._visibility&2?Vu(e,t,n,r):(o._visibility|=2,Uu(e,t,n,r,!!(t.subtreeFlags&10256)||!1))):(i&&s!==null&&s.memoizedState===null&&iu(s),o._visibility&2?Vu(e,t,n,r):Wu(e,t)),a&2048&&zu(s,t);break;case 24:Vu(e,t,n,r),a&2048&&Bu(t.alternate,t);break;case 30:i&&(a=t.alternate,a!==null&&(Zl(a.child,!0),Zl(t.child,!0))),Vu(e,t,n,r);break;default:Vu(e,t,n,r)}}function Uu(e,t,n,r,i){for(i&&=!!(t.subtreeFlags&10256)||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:Uu(a,o,s,c,i),Tl(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,Uu(a,o,s,c,i)):u._visibility&2?Uu(a,o,s,c,i):Wu(a,o),i&&l&2048&&zu(o.alternate,o);break;case 24:Uu(a,o,s,c,i),i&&l&2048&&Bu(o.alternate,o);break;default:Uu(a,o,s,c,i)}t=t.sibling}}function Wu(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:Wu(n,r),i&2048&&zu(r.alternate,r);break;case 24:Wu(n,r),i&2048&&Bu(r.alternate,r);break;default:Wu(n,r)}t=t.sibling}}var Gu=8192;function Ku(e,t,n){if(e.subtreeFlags&Gu)for(e=e.child;e!==null;)qu(e,t,n),e=e.sibling}function qu(e,t,n){switch(e.tag){case 26:Ku(e,t,n),e.flags&Gu&&(e.memoizedState===null?(e=e.stateNode,(t&335544128)===t&&Zm(n,e)):Qm(n,Au,e.memoizedState,e.memoizedProps));break;case 5:Ku(e,t,n),e.flags&Gu&&(e=e.stateNode,(t&335544128)===t&&Zm(n,e));break;case 3:case 4:var r=Au;Au=bm(e.stateNode.containerInfo),Ku(e,t,n),Au=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=Gu,Gu=16777216,Ku(e,t,n),Gu=r):Ku(e,t,n));break;case 30:if((e.flags&Gu)!==0&&(r=e.memoizedProps.name,r!=null&&r!==`auto`)){var i=e.stateNode;i.paired=null,Wl===null&&(Wl=new Map),Wl.set(r,i)}Ku(e,t,n);break;default:Ku(e,t,n)}}function Ju(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Yu(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];fu=r,G(r,e)}Ju(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Xu(e),e=e.sibling}function Xu(e){switch(e.tag){case 0:case 11:case 15:Yu(e),e.flags&2048&&El(9,e,e.return);break;case 3:Yu(e);break;case 12:Yu(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Zu(e)):Yu(e);break;default:Yu(e)}}function Zu(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];fu=r,G(r,e)}Ju(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:El(8,t,t.return),Zu(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Zu(t));break;default:Zu(t)}e=e.sibling}}function G(e,t){for(;fu!==null;){var n=fu;switch(n.tag){case 0:case 11:case 15:El(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:Pa(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,fu=r;else a:for(n=e;fu!==null;){r=fu;var i=r.sibling,a=r.return;if(Su(r),r===n){fu=null;break a}if(i!==null){i.return=a,fu=i;break a}fu=a}}}var Qu={getCacheForType:function(e){var t=Ea(Ma),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Ea(Ma).controller.signal}},$u=typeof WeakMap==`function`?WeakMap:Map,ed=0,td=null,K=null,q=0,nd=0,J=null,rd=!1,id=!1,ad=!1,od=0,sd=0,cd=0,ld=0,ud=0,dd=0,fd=0,pd=null,md=null,hd=!1,gd=0,_d=0,vd=1/0,yd=null,bd=null,xd=0,Sd=null,Cd=null,wd=0,Td=0,Ed=null,Dd=null,Od=null,kd=null,Ad=null,jd=0,Md=null;function Nd(){return ed&2&&q!==0?q&-q:A.T===null?wt():If()}function Pd(){if(dd===0){if(!(q&536870912)||L){var e=lt;lt<<=1,!(lt&3932160)&&(lt=262144),dd=e}else dd=536870912}return e=Mo.current,e!==null&&(e.flags|=32),dd}function Fd(e,t){if(t!=null){var n=e.stateNode,r=n.ref;r===null&&(r=n.ref=Pp(bi(e.memoizedProps,n))),kd===null&&(kd=[]),kd.push(t.bind(null,r))}}function Id(e,t,n){(e===td&&(nd===2||nd===9)||e.cancelPendingCommit!==null)&&(Ud(e,0),Bd(e,q,dd,!1)),_t(e,n),(!(ed&2)||e!==td)&&(e===td&&(!(ed&2)&&(ld|=n),sd===4&&Bd(e,q,dd,!1)),Of(e))}function Ld(e,t,n){if(ed&6)throw Error(i(327));var r=!n&&!(t&127)&&(t&e.expiredLanes)===0||ft(e,t),a=r?Zd(e,t):Yd(e,t,!0),o=r;do{if(a===0){id&&!r&&Bd(e,t,0,!1);break}if(n=e.current.alternate,o&&!zd(n)){a=Yd(e,t,!1),o=!1;continue}if(a===2){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){t=s;a:{var c=e;a=pd;var l=c.current.memoizedState.isDehydrated;if(l&&(Ud(c,s).flags|=256),s=Yd(c,s,!1),s!==2&&s!==6){if(ad&&!l){c.errorRecoveryDisabledLanes|=o,ld|=o,a=4;break a}o=md,md=a,o!==null&&(md===null?md=o:md.push.apply(md,o))}a=s}if(o=!1,a!==2)continue}}if(a===1){Ud(e,0),Bd(e,t,0,!0);break}a:{switch(r=e,o=a,o){case 0:case 1:throw Error(i(345));case 4:if((t&4194048)!==t&&(t&62914560)!==t)break;case 6:Bd(r,t,dd,!rd);break a;case 2:md=null;break;case 3:case 5:break;default:throw Error(i(329))}if((t&62914560)===t&&(a=gd+300-Ke(),10<a)){if(Bd(r,t,dd,!rd),N(r,0,!0)!==0)break a;wd=t,r.timeoutHandle=gp(Rd.bind(null,r,n,md,yd,hd,t,dd,ld,fd,rd,o,`Throttled`,-0,0),a);break a}Rd(r,n,md,yd,hd,t,dd,ld,fd,rd,o,null,-0,0)}break}while(1);Of(e)}function Rd(e,t,n,r,i,a,o,s,c,l,u,d,f,p){e.timeoutHandle=-1;var m=t.subtreeFlags,h=(a&335544064)===a;if(d=null,(h||m&8192||(m&16785408)==16785408)&&(d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:wn},Wl=null,qu(t,a,d),h&&(m=d,h=e.containerInfo,h=(h.nodeType===9?h:h.ownerDocument).__reactViewTransition,h!=null&&(m.count++,m.waitingForViewTransition=!0,m=nh.bind(m),h.finished.then(m,m))),m=(a&62914560)===a?gd-Ke():(a&4194048)===a?_d-Ke():0,m=eh(d,m),m!==null)){wd=a,e.cancelPendingCommit=m(af.bind(null,e,t,a,n,r,i,o,s,c,l,u,d,null,f,p)),Bd(e,a,o,!l);return}af(e,t,a,n,r,i,o,s,c,l,u,d)}function zd(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!Kr(a(),i))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Bd(e,t,n,r){t=pt(e,t),t&=~ud,t&=~ld,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-it(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&yt(e,n,t)}function Vd(){return ed&6?!0:(kf(0,!1),!1)}function Hd(){if(K!==null){if(nd===0)var e=K.return;else e=K,va=_a=null,ss(e),oo=null,so=0,e=K;for(;e!==null;)wl(e.alternate,e),e=e.return;K=null}}function Ud(e,t){var n=e.timeoutHandle;return n!==-1&&(e.timeoutHandle=-1,_p(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),wd=0,Hd(),td=e,K=n=Li(e.current,null),q=t,nd=0,J=null,rd=!1,id=ft(e,t),ad=!1,fd=dd=ud=ld=cd=sd=0,md=pd=null,hd=!1,od=pt(e,t),Di(),n}function Wd(e,t){B=null,A.H=_c,t===Xa||t===Qa?(t=io(),nd=3):t===Za?(t=io(),nd=4):nd=t===Fc?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,J=t,K===null&&(sd=1,kc(e,Gi(t,e.current)))}function Gd(){var e=Mo.current;return e===null?!0:(q&4194048)===q?No===null:(q&62914560)===q||q&536870912?e===No:!1}function Kd(){var e=A.H;return A.H=_c,e===null?_c:e}function qd(){var e=A.A;return A.A=Qu,e}function Jd(){sd=4,rd||(q&4194048)!==q&&Mo.current!==null||(id=!0),!(cd&134217727)&&!(ld&134217727)||td===null||Bd(td,q,dd,!1)}function Yd(e,t,n){var r=ed;ed|=2;var i=Kd(),a=qd();(td!==e||q!==t)&&(yd=null,Ud(e,t)),t=!1;var o=sd;a:do try{if(nd!==0&&K!==null){var s=K,c=J;switch(nd){case 8:Hd(),o=6;break a;case 3:case 2:case 9:case 6:Mo.current===null&&(t=!0);var l=nd;if(nd=0,J=null,tf(e,s,c,l),n&&id){o=0;break a}break;default:l=nd,nd=0,J=null,tf(e,s,c,l)}}Xd(),o=sd;break}catch(t){Wd(e,t)}while(1);return t&&e.shellSuspendCounter++,va=_a=null,ed=r,A.H=i,A.A=a,K===null&&(td=null,q=0,Di()),o}function Xd(){for(;K!==null;)$d(K)}function Zd(e,t){var n=ed;ed|=2;var r=Kd(),a=qd();td!==e||q!==t?(yd=null,vd=Ke()+500,Ud(e,t)):id=ft(e,t);a:do try{if(nd!==0&&K!==null){t=K;var o=J;b:switch(nd){case 1:nd=0,J=null,tf(e,t,o,1);break;case 2:case 9:if(eo(o)){nd=0,J=null,ef(t);break}t=function(){nd!==2&&nd!==9||td!==e||(nd=7),Of(e)},o.then(t,t);break a;case 3:nd=7;break a;case 4:nd=5;break a;case 7:eo(o)?(nd=0,J=null,ef(t)):(nd=0,J=null,tf(e,t,o,7));break;case 5:var s=null;switch(K.tag){case 26:s=K.memoizedState;case 5:case 27:var c=K;if(s?Ym(s):c.stateNode.complete){nd=0,J=null;var l=c.sibling;if(l!==null)K=l;else{var u=c.return;u===null?K=null:(K=u,nf(u))}break b}}nd=0,J=null,tf(e,t,o,5);break;case 6:nd=0,J=null,tf(e,t,o,6);break;case 8:Hd(),sd=6;break a;default:throw Error(i(462))}}Qd();break}catch(t){Wd(e,t)}while(1);return va=_a=null,A.H=r,A.A=a,ed=n,K===null?(td=null,q=0,Di(),sd):0}function Qd(){for(;K!==null&&!We();)$d(K)}function $d(e){var t=hl(e.alternate,e,od);e.memoizedProps=e.pendingProps,t===null?nf(e):K=t}function ef(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Yc(n,t,t.pendingProps,t.type,void 0,q);break;case 11:t=Yc(n,t,t.pendingProps,t.type.render,t.ref,q);break;case 5:ss(t);var r=t;r===oa&&(L?(z(r),r.tag===5&&r.stateNode!=null&&(sa=r.stateNode)):(z(r),L=!0));default:wl(n,t),t=K=Ri(t,od),t=hl(n,t,od)}e.memoizedProps=e.pendingProps,t===null?nf(e):K=t}function tf(e,t,n,r){va=_a=null,ss(t),oo=null,so=0;var i=t.return;try{if(Pc(e,i,t,n,q)){sd=1,kc(e,Gi(n,e.current)),K=null;return}}catch(t){if(i!==null)throw K=i,t;sd=1,kc(e,Gi(n,e.current)),K=null;return}t.flags&32768?(L||r===1?e=!0:id||q&536870912?e=!1:(rd=e=!0,(r===2||r===9||r===3||r===6)&&(r=Mo.current,r!==null&&r.tag===13&&(r.flags|=16384))),rf(t,e)):nf(t)}function nf(e){var t=e;do{if(t.flags&32768){rf(t,rd);return}e=t.return;var n=Sl(t.alternate,t,od);if(n!==null){K=n;return}if(t=t.sibling,t!==null){K=t;return}K=t=e}while(t!==null);sd===0&&(sd=5)}function rf(e,t){do{var n=Cl(e.alternate,e);if(n!==null){n.flags&=32767,K=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){K=e;return}K=e=n}while(e!==null);sd=6,K=null}function af(e,t,n,r,a,o,s,c,l,u,d,f){e.cancelPendingCommit=null;do pf();while(xd!==0);if(ed&6)throw Error(i(327));if(t!==null){if(t===e.current)throw Error(i(177));e===td&&(K=td=null,q=0),Cd=t,Sd=e,wd=n,Ed=a,Dd=r,of(e,t,n,s,c,l,f)}}function of(e,t,n,r,i,a,o){var s=t.lanes|t.childLanes;if(Td=s,s|=Ei,vt(e,n,s,r,i,a),kd=null,(n&335544064)===n?(Ad=La(e),r=10262):(Ad=null,r=10256),(t.subtreeFlags&r)!==0||(t.flags&r)!==0?(e.callbackNode=null,e.callbackPriority=0,Sf(Xe,function(){return mf(),null})):(e.callbackNode=null,e.callbackPriority=0),Ul=!1,r=!!(t.flags&13878),t.subtreeFlags&13878||r){r=A.T,A.T=null,i=j.p,j.p=2,a=ed,ed|=4;try{_u(e,t,n)}finally{ed=a,j.p=i,A.T=r}}xd=1,Ul?Od=Mp(o,e.containerInfo,Ad,lf,uf,cf,df,mf,sf,null,null):(lf(),uf(),df())}function sf(e){if(xd!==0){var t=Sd.onRecoverableError;t(e,{componentStack:null})}}function cf(){xd===3&&(xd=0,Fu(Cd,Sd),xd=4)}function lf(){if(xd===1){xd=0;var e=Sd,t=Cd,n=wd,r=!!(t.flags&13878);if(t.subtreeFlags&13878||r){r=A.T,A.T=null;var i=j.p;j.p=2;var a=ed;ed|=4;try{mu=hu=!1,ju(t,e,n),n=cp;var o=Qr(e.containerInfo),s=n.focusedElem,c=n.selectionRange;if(o!==s&&s&&s.ownerDocument&&Zr(s.ownerDocument.documentElement,s)){if(c!==null&&$r(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=Xr(s,h),v=Xr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}gh=!!sp,cp=sp=null}finally{ed=a,j.p=i,A.T=r}}e.current=t,xd=2}}function uf(){if(xd===2){xd=0;var e=Sd,t=Cd,n=!!(t.flags&8772);if(t.subtreeFlags&8772||n){n=A.T,A.T=null;var r=j.p;j.p=2;var i=ed;ed|=4;try{yu(e,t.alternate,t)}finally{ed=i,j.p=r,A.T=n}}xd=3}}function df(){if(xd===4||xd===3){xd=0;var e=Od;Od=null,Ge();var t=Sd,n=Cd,r=wd,i=Dd,a=(r&335544064)===r?10262:10256;if((n.subtreeFlags&a)!==0||(n.flags&a)!==0?xd=5:(xd=0,Cd=Sd=null,ff(t,t.pendingLanes)),a=t.pendingLanes,a===0&&(bd=null),Ct(r),n=n.stateNode,nt&&typeof nt.onCommitFiberRoot==`function`)try{nt.onCommitFiberRoot(tt,n,void 0,(n.current.flags&128)==128)}catch{}if(i!==null){n=A.T,a=j.p,j.p=2,A.T=null;try{for(var o=t.onRecoverableError,s=0;s<i.length;s++){var c=i[s];o(c.value,{componentStack:c.stack})}}finally{A.T=n,j.p=a}}if(i=kd,o=Ad,Ad=null,i!==null&&(kd=null,o===null&&(o=[]),e!==null))for(c=0;c<i.length;c++)n=(0,i[c])(o),n!==void 0&&e.finished.finally(n);wd&3&&pf(),Of(t),a=t.pendingLanes,r&261930&&a&42?t===Md?jd++:(jd=0,Md=t):(jd=0,Md=null),kf(0,!1)}}function ff(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Pa(t)))}function pf(){return Od!==null&&(Od.skipTransition(),Od=null),lf(),uf(),df(),mf()}function mf(){if(xd!==5)return!1;var e=Sd,t=Td;Td=0;var n=Ct(wd),r=A.T,a=j.p;try{j.p=32>n?32:n,A.T=null,n=Ed,Ed=null;var o=Sd,s=wd;if(xd=0,Cd=Sd=null,wd=0,ed&6)throw Error(i(331));var c=ed;if(ed|=4,Xu(o.current),Hu(o,o.current,s,n),ed=c,kf(0,!1),nt&&typeof nt.onPostCommitFiberRoot==`function`)try{nt.onPostCommitFiberRoot(tt,o)}catch{}return!0}finally{j.p=a,A.T=r,ff(e,t)}}function hf(e,t,n){t=Gi(n,t),t=jc(e.stateNode,t,2),e=yo(e,t,2),e!==null&&(_t(e,2),Of(e))}function gf(e,t,n){if(e.tag===3)hf(e,e,n);else for(;t!==null;){if(t.tag===3){hf(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(bd===null||!bd.has(r))){e=Gi(n,e),n=Mc(2),r=yo(t,n,2),r!==null&&(Nc(n,r,t,e),_t(r,2),Of(r));break}}t=t.return}}function _f(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new $u;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(ad=!0,i.add(n),e=vf.bind(null,e,t,n),t.then(e,e))}function vf(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,td===e&&(q&n)===n&&(sd===4||sd===3&&(q&62914560)===q&&300>Ke()-gd?ed&2?ud|=n:Ud(e,0):ud|=n,fd===q&&(fd=0)),Of(e)}function yf(e,t){t===0&&(t=ht()),e=Ai(e,t),e!==null&&(_t(e,t),Of(e))}function bf(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),yf(e,n)}function xf(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),yf(e,n)}function Sf(e,t){return He(e,t)}var Cf=null,Y=null,wf=!1,Tf=!1,Ef=!1,Df=0;function Of(e){e!==Y&&e.next===null&&(Y===null?Cf=Y=e:Y=Y.next=e),Tf=!0,wf||(wf=!0,Ff())}function kf(e,t){if(!Ef&&Tf){Ef=!0;do for(var n=!1,r=Cf;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-it(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,Pf(r,a))}else a=q,a=N(r,r===td?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||ft(r,a)||(n=!0,Pf(r,a))}r=r.next}while(n);Ef=!1}}function Af(){jf()}function jf(){Tf=wf=!1;var e=0;Df!==0&&hp()&&(e=Df);for(var t=Ke(),n=null,r=Cf;r!==null;){var i=r.next,a=Mf(r,t);a===0?(r.next=null,n===null?Cf=i:n.next=i,i===null&&(Y=n)):(n=r,(e!==0||a&3)&&(Tf=!0)),r=i}xd!==0&&xd!==5||kf(e,!1),Df!==0&&(Df=0)}function Mf(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-it(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=mt(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=td,n=q,n=N(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(nd===2||nd===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Ue(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||ft(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Ue(r),Ct(n)){case 2:case 8:n=Ye;break;case 32:n=Xe;break;case 268435456:n=Qe;break;default:n=Xe}return r=Nf.bind(null,e),n=He(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Ue(r),e.callbackPriority=2,e.callbackNode=null,2}function Nf(e,t){if(xd!==0&&xd!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(pf()&&e.callbackNode!==n)return null;var r=q;return r=N(e,e===td?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(Ld(e,r,t),Mf(e,Ke()),e.callbackNode!=null&&e.callbackNode===n?Nf.bind(null,e):null)}function Pf(e,t){if(pf())return null;Ld(e,t,!0)}function Ff(){bp(function(){ed&6?He(Je,Af):jf()})}function If(){if(Df===0){var e=Ba;e===0&&(e=ct,ct<<=1,!(ct&261888)&&(ct=256)),Df=e}return Df}function X(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:Cn(e)}function Lf(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=X((i[Ot]||null).action),o=r.submitter;o&&(t=(t=o[Ot]||null)?X(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new Wn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(Df!==0){var e=new FormData(i,o);rc(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=new FormData(i,o),rc(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var Rf=0;Rf<_i.length;Rf++){var zf=_i[Rf];vi(zf.toLowerCase(),`on`+(zf[0].toUpperCase()+zf.slice(1)))}vi(F,`onAnimationEnd`),vi(di,`onAnimationIteration`),vi(fi,`onAnimationStart`),vi(`dblclick`,`onDoubleClick`),vi(`focusin`,`onFocus`),vi(`focusout`,`onBlur`),vi(pi,`onTransitionRun`),vi(mi,`onTransitionStart`),vi(hi,`onTransitionCancel`),vi(I,`onTransitionEnd`),Kt(`onMouseEnter`,[`mouseout`,`mouseover`]),Kt(`onMouseLeave`,[`mouseout`,`mouseover`]),Kt(`onPointerEnter`,[`pointerout`,`pointerover`]),Kt(`onPointerLeave`,[`pointerout`,`pointerover`]),Gt(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),Gt(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),Gt(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),Gt(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),Gt(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),Gt(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var Bf=`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(` `),Vf=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(Bf));function Hf(e,t){t=!!(t&4);for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){Ci(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){Ci(e)}i.currentTarget=null,a=c}}}}function Z(e,t){var n=t[At];n===void 0&&(n=t[At]=new Set);var r=e+`__bubble`;n.has(r)||(Gf(t,e,2,!1),n.add(r))}function Q(e,t,n){var r=0;t&&(r|=4),Gf(n,e,r,t)}var Uf=`_reactListening`+Math.random().toString(36).slice(2);function Wf(e){if(!e[Uf]){e[Uf]=!0,Ut.forEach(function(t){t!==`selectionchange`&&(Vf.has(t)||Q(t,!1,e),Q(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Uf]||(t[Uf]=!0,Q(`selectionchange`,!1,t))}}function Gf(e,t,n,r){switch(Ch(t)){case 2:var i=_h;break;case 8:i=vh;break;default:i=yh}n=i.bind(null,t,n,e),i=void 0,!Pn||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function Kf(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var s=r.tag;if(s===3||s===4){var c=r.stateNode.containerInfo;if(c===i)break;if(s===4)for(s=r.return;s!==null;){var l=s.tag;if((l===3||l===4)&&s.stateNode.containerInfo===i)return;s=s.return}for(;c!==null;){if(s=Lt(c),s===null)return;if(l=s.tag,l===5||l===6||l===26||l===27){r=a=s;continue a}c=c.parentNode}}r=r.return}jn(function(){var r=a,i=En(n),s=[];a:{var c=gi.get(e);if(c!==void 0){var l=Wn,u=e;switch(e){case`keypress`:if(zn(n)===0)break a;case`keydown`:case`keyup`:l=cr;break;case`focusin`:u=`focus`,l=$n;break;case`focusout`:u=`blur`,l=$n;break;case`beforeblur`:case`afterblur`:l=$n;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:l=Zn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=Qn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=dr;break;case F:case di:case fi:l=er;break;case I:l=fr;break;case`scroll`:case`scrollend`:l=Kn;break;case`wheel`:l=pr;break;case`copy`:case`cut`:case`paste`:l=tr;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=lr;break;case`submit`:l=ur;break;case`toggle`:case`beforetoggle`:l=mr}var d=!!(t&4),f=!d&&(e===`scroll`||e===`scrollend`),p=d?c===null?null:c+`Capture`:c;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=Mn(m,p),g!=null&&d.push(qf(m,g,h))),f)break;m=m.return}0<d.length&&(c=new l(c,u,null,n,i),s.push({event:c,listeners:d}))}}if(!(t&7)){a:{if(l=e===`mouseover`||e===`pointerover`,c=e===`mouseout`||e===`pointerout`,l&&n!==Tn&&(u=n.relatedTarget||n.fromElement)&&(Lt(u)||u[kt]))break a;(c||l)&&(u=i.window===i?i:(l=i.ownerDocument)?l.defaultView||l.parentWindow:window,c?(l=n.relatedTarget||n.toElement,c=r,l=l?Lt(l):null,l!==null&&(f=o(l),d=l.tag,l!==f||d!==5&&d!==27&&d!==6)&&(l=null)):(c=null,l=r),c!==l&&(d=Zn,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=lr,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=c==null?u:zt(c),h=l==null?u:zt(l),u=new d(g,m+`leave`,c,n,i),u.target=f,u.relatedTarget=h,g=null,Lt(i)===r&&(d=new d(p,m+`enter`,l,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,d=c&&l?ee(c,l,$):null,c!==null&&Yf(s,u,c,d,!1),l!==null&&f!==null&&Yf(s,f,l,d,!0)))}a:{if(c=r?zt(r):window,l=c.nodeName&&c.nodeName.toLowerCase(),l===`select`||l===`input`&&c.type===`file`)var _=Pr;else if(Or(c)){if(Fr)_=Wr;else{_=Hr;var v=Vr}}else l=c.nodeName,!l||l.toLowerCase()!==`input`||c.type!==`checkbox`&&c.type!==`radio`?r&&bn(r.elementType)&&(_=Pr):_=Ur;if(_&&=_(e,r)){kr(s,_,n,i);break a}v&&v(e,c,r)}switch(v=r?zt(r):window,e){case`focusin`:(Or(v)||v.contentEditable===`true`)&&(ti=v,ni=r,ri=null);break;case`focusout`:ri=ni=ti=null;break;case`mousedown`:ii=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:ii=!1,ai(s,n,i);break;case`selectionchange`:if(ei)break;case`keydown`:case`keyup`:ai(s,n,i)}var y;if(gr)b:{switch(e){case`compositionstart`:var b=`onCompositionStart`;break b;case`compositionend`:b=`onCompositionEnd`;break b;case`compositionupdate`:b=`onCompositionUpdate`;break b}b=void 0}else wr?Sr(e,n)&&(b=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(b=`onCompositionStart`);b&&(yr&&n.locale!==`ko`&&(wr||b!==`onCompositionStart`?b===`onCompositionEnd`&&wr&&(y=Rn()):(P=i,In=`value`in P?P.value:P.textContent,wr=!0)),v=Jf(r,b),0<v.length&&(b=new nr(b,e,null,n,i),s.push({event:b,listeners:v}),y?b.data=y:(y=Cr(n),y!==null&&(b.data=y)))),(y=vr?Tr(e,n):Er(e,n))&&(b=Jf(r,`onBeforeInput`),0<b.length&&(v=new nr(`onBeforeInput`,`beforeinput`,null,n,i),s.push({event:v,listeners:b}),v.data=y)),Lf(s,e,r,n,i)}Hf(s,t)})}function qf(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Jf(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=Mn(e,n),i!=null&&r.unshift(qf(e,i,a)),i=Mn(e,t),i!=null&&r.push(qf(e,i,a))),e.tag===3)return r;e=e.return}return[]}function $(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Yf(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=Mn(n,a),l!=null&&o.unshift(qf(n,l,c))):i||(l=Mn(n,a),l!=null&&o.push(qf(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var Xf=/\r\n?/g,Zf=/\u0000|\uFFFD/g;function Qf(e){return(typeof e==`string`?e:``+e).replace(Xf,`
9
- `).replace(Zf,``)}function $f(e,t){return t=Qf(t),Qf(e)===t}function ep(e,t,n,r,a,o){switch(n){case`children`:if(typeof r==`string`)t===`body`||t===`textarea`&&r===``||gn(e,r);else if(typeof r==`number`||typeof r==`bigint`)t!==`body`&&gn(e,``+r);else return;break;case`className`:en(e,`class`,r);break;case`tabIndex`:en(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:en(e,n,r);break;case`style`:yn(e,r,o);return;case`data`:if(t!==`object`){en(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=Cn(r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}if(typeof o==`function`&&(n===`formAction`?(t!==`input`&&ep(e,t,`name`,a.name,a,null),ep(e,t,`formEncType`,a.formEncType,a,null),ep(e,t,`formMethod`,a.formMethod,a,null),ep(e,t,`formTarget`,a.formTarget,a,null)):(ep(e,t,`encType`,a.encType,a,null),ep(e,t,`method`,a.method,a,null),ep(e,t,`target`,a.target,a,null))),r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=Cn(r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=wn);return;case`onScroll`:r!=null&&Z(`scroll`,e);return;case`onScrollEnd`:r!=null&&Z(`scrollend`,e);return;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));o?.__html!==n&&(e.innerHTML=n)}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=Cn(r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`credentialless`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:Z(`beforetoggle`,e),Z(`toggle`,e),$t(e,`popover`,r);break;case`xlinkActuate`:tn(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:tn(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:tn(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:tn(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:tn(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:tn(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:tn(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:tn(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:tn(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:$t(e,`is`,r);break;case`innerText`:case`textContent`:return;default:if(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)n=xn.get(n)||n,$t(e,n,r);else return}Zt=!0}function tp(e,t,n,r,a,o){switch(n){case`style`:yn(e,r,o);return;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));o?.__html!==n&&(e.innerHTML=n)}}break;case`children`:if(typeof r==`string`)gn(e,r);else if(typeof r==`number`||typeof r==`bigint`)gn(e,``+r);else return;break;case`onScroll`:r!=null&&Z(`scroll`,e);return;case`onScrollEnd`:r!=null&&Z(`scrollend`,e);return;case`onClick`:r!=null&&(e.onclick=wn);return;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:return;case`innerText`:case`textContent`:return;default:if(!Wt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(a=n.endsWith(`Capture`),o=n.slice(2,a?n.length-7:void 0),t=e[Ot]||null,t=t==null?null:t[n],typeof t==`function`&&e.removeEventListener(o,t,a),typeof r==`function`)){typeof t!=`function`&&t!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(o,r,a);break a}Zt=!0,n in e?e[n]=r:!0===r?e.setAttribute(n,``):$t(e,n,r)}return}Zt=!0}function np(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:Z(`error`,e),Z(`load`,e);var r=!1,a=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:a=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:ep(e,t,o,s,n,null)}}a&&ep(e,t,`srcSet`,n.srcSet,n,null),r&&ep(e,t,`src`,n.src,n,null);return;case`input`:Z(`invalid`,e);var c=o=s=a=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:a=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(i(137,t));break;default:ep(e,t,r,d,n,null)}}dn(e,o,c,l,u,s,a,!1);return;case`select`:for(a in Z(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(a)&&(c=n[a],c!=null))switch(a){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:ep(e,t,a,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&pn(e,!!r,n,!0):pn(e,!!r,t,!1);return;case`textarea`:for(s in Z(`invalid`,e),o=a=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:a=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(i(91));break;default:ep(e,t,s,c,n,null)}hn(e,r,a,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:ep(e,t,l,r,n,null)}return;case`dialog`:Z(`beforetoggle`,e),Z(`toggle`,e),Z(`cancel`,e),Z(`close`,e);break;case`iframe`:case`object`:Z(`load`,e);break;case`video`:case`audio`:for(r=0;r<Bf.length;r++)Z(Bf[r],e);break;case`image`:Z(`error`,e),Z(`load`,e);break;case`details`:Z(`toggle`,e);break;case`embed`:case`source`:case`link`:Z(`error`,e),Z(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:ep(e,t,u,r,n,null)}return;default:if(bn(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&tp(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&ep(e,t,c,r,n,null))}var rp={};function ip(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var a=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||ep(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:m!==f&&(Zt=!0),o=m;break;case`name`:m!==f&&(Zt=!0),a=m;break;case`checked`:m!==f&&(Zt=!0),u=m;break;case`defaultChecked`:m!==f&&(Zt=!0),d=m;break;case`value`:m!==f&&(Zt=!0),s=m;break;case`defaultValue`:m!==f&&(Zt=!0),c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(i(137,t));break;default:m!==f&&ep(e,t,p,m,r,f)}}un(e,s,c,l,u,d,o,a);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||ep(e,t,o,null,r,l)}for(a in r)if(o=r[a],l=n[a],r.hasOwnProperty(a)&&(o!=null||l!=null))switch(a){case`value`:o!==l&&(Zt=!0),p=o;break;case`defaultValue`:o!==l&&(Zt=!0),c=o;break;case`multiple`:o!==l&&(Zt=!0),s=o;default:o!==l&&ep(e,t,a,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?pn(e,!!n,n?[]:``,!1):pn(e,!!n,t,!0)):pn(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(a=n[c],n.hasOwnProperty(c)&&a!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:ep(e,t,c,null,r,a)}for(s in r)if(a=r[s],o=n[s],r.hasOwnProperty(s)&&(a!=null||o!=null))switch(s){case`value`:a!==o&&(Zt=!0),p=a;break;case`defaultValue`:a!==o&&(Zt=!0),m=a;break;case`children`:break;case`dangerouslySetInnerHTML`:if(a!=null)throw Error(i(91));break;default:a!==o&&ep(e,t,s,a,r,o)}mn(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:ep(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:p!==m&&(Zt=!0),e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:ep(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&ep(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(i(137,t));break;default:ep(e,t,u,p,r,m)}return;default:if(bn(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&tp(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||tp(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&ep(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||ep(e,t,f,p,r,m)}function ap(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function op(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&ap(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&ap(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var sp=null,cp=null;function lp(e){return e.nodeType===9?e:e.ownerDocument}function up(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function dp(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function fp(e,t,n,r){return n=lp(n).createElement(e),n[Dt]=r,n[Ot]=t,np(n,e,t),Vt(n),n}function pp(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var mp=null;function hp(){var e=window.event;return e&&e.type===`popstate`?e!==mp&&(mp=e,!0):(mp=null,!1)}var gp=typeof setTimeout==`function`?setTimeout:void 0,_p=typeof clearTimeout==`function`?clearTimeout:void 0,vp=typeof Promise==`function`?Promise:void 0,yp=typeof requestAnimationFrame==`function`?requestAnimationFrame:gp,bp=typeof queueMicrotask==`function`?queueMicrotask:vp===void 0?gp:function(e){return vp.resolve(null).then(e).catch(xp)};function xp(e){setTimeout(function(){throw e})}function Sp(e){return e===`head`}function Cp(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8){if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Hh(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)_m(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,_m(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[Pt]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&_m(e.ownerDocument.body)}n=i}while(n);Hh(t)}function wp(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8){if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++}n=r}while(n)}function Tp(e,t,n){if(t=CSS.escape(t)===t?t:`r-`+btoa(t).replace(/=/g,``),e.style.viewTransitionName=t,n!=null&&(e.style.viewTransitionClass=n),n=getComputedStyle(e),n.display===`inline`){if(t=e.getClientRects(),t.length===1)var r=1;else for(var i=r=0;i<t.length;i++){var a=t[i];0<a.width&&0<a.height&&r++}r===1&&(e=e.style,e.display=t.length===1?`inline-block`:`block`,e.marginTop=`-`+n.paddingTop,e.marginBottom=`-`+n.paddingBottom)}}function Ep(e,t){e=e.style,t=t.style;var n=t==null?null:t.hasOwnProperty(`viewTransitionName`)?t.viewTransitionName:t.hasOwnProperty(`view-transition-name`)?t[`view-transition-name`]:null;e.viewTransitionName=n==null||typeof n==`boolean`?``:(``+n).trim(),n=t==null?null:t.hasOwnProperty(`viewTransitionClass`)?t.viewTransitionClass:t.hasOwnProperty(`view-transition-class`)?t[`view-transition-class`]:null,e.viewTransitionClass=n==null||typeof n==`boolean`?``:(``+n).trim(),e.display===`inline-block`&&(t==null?e.display=e.margin=``:(n=t.display,e.display=n==null||typeof n==`boolean`?``:n,n=t.margin,n==null?(n=t.hasOwnProperty(`marginTop`)?t.marginTop:t[`margin-top`],e.marginTop=n==null||typeof n==`boolean`?``:n,t=t.hasOwnProperty(`marginBottom`)?t.marginBottom:t[`margin-bottom`],e.marginBottom=t==null||typeof t==`boolean`?``:t):e.margin=n))}function Dp(e,t,n){return n=n.ownerDocument.defaultView,{rect:e,abs:t.position===`absolute`||t.position===`fixed`,clip:t.clipPath!==`none`||t.overflow!==`visible`||t.filter!==`none`||t.mask!==`none`||t.mask!==`none`||t.borderRadius!==`0px`,view:0<=e.bottom&&0<=e.right&&e.top<=n.innerHeight&&e.left<=n.innerWidth}}function Op(e){return Dp(e.getBoundingClientRect(),getComputedStyle(e),e)}function kp(e){var t=e.getBoundingClientRect();t=new DOMRect(t.x+2e4,t.y+2e4,t.width,t.height);var n=getComputedStyle(e);return Dp(t,n,e)}function Ap(e){return e.documentElement.clientHeight}function jp(e){this.addEventListener(`load`,e),this.addEventListener(`error`,e)}function Mp(e,t,n,r,i,a,o,s,c){var l=t.nodeType===9?t:t.ownerDocument;try{var u=l.startViewTransition({update:function(){var t=l.defaultView,n=t.navigation&&t.navigation.transition,o=l.fonts.status;r();var s=[];if(o===`loaded`&&(Ap(l),l.fonts.status===`loading`&&s.push(l.fonts.ready)),o=s.length,e!==null)for(var c=e.suspenseyImages,u=0,d=0;d<c.length;d++){var f=c[d];if(!f.complete){var p=f.getBoundingClientRect();if(0<p.bottom&&0<p.right&&p.top<t.innerHeight&&p.left<t.innerWidth){if(u+=Xm(f),u>$m){s.length=o;break}f=new Promise(jp.bind(f)),s.push(f)}}}if(0<s.length)return t=Promise.race([Promise.all(s),new Promise(function(e){return setTimeout(e,500)})]).then(i,i),(n?Promise.allSettled([n.finished,t]):t).then(a,a);if(i(),n)return n.finished.then(a,a);a()},types:n});l.__reactViewTransition=u;var d=[];return u.ready.then(function(){for(var e=l.documentElement.getAnimations({subtree:!0}),t=0;t<e.length;t++){var n=e[t],r=n.effect,i=r.pseudoElement;if(i!=null&&i.startsWith(`::view-transition`)){d.push(n),n=r.getKeyframes();for(var a=i=void 0,s=!0,c=0;c<n.length;c++){var u=n[c],f=u.width;if(i===void 0)i=f;else if(i!==f){s=!1;break}if(f=u.height,a===void 0)a=f;else if(a!==f){s=!1;break}delete u.width,delete u.height,u.transform===`none`&&delete u.transform}s&&i!==void 0&&a!==void 0&&(r.setKeyframes(n),s=getComputedStyle(r.target,r.pseudoElement),s.width!==i||s.height!==a)&&(s=n[0],s.width=i,s.height=a,s=n[n.length-1],s.width=i,s.height=a,r.setKeyframes(n))}}o()},function(e){l.__reactViewTransition===u&&(l.__reactViewTransition=null);try{if(typeof e==`object`&&e)switch(e.name){case`InvalidStateError`:(e.message===`View transition was skipped because document visibility state is hidden.`||e.message===`Skipping view transition because document visibility state has become hidden.`||e.message===`Skipping view transition because viewport size changed.`||e.message===`Transition was aborted because of invalid state`)&&(e=null)}e!==null&&c(e)}finally{r(),i(),o()}}),u.finished.finally(function(){for(var e=0;e<d.length;e++)d[e].cancel();l.__reactViewTransition===u&&(l.__reactViewTransition=null),s()}),u}catch{return r(),i(),o(),null}}function Np(e,t){this._scope=document.documentElement,this._selector=`::view-transition-`+e+`(`+t+`)`}Np.prototype.animate=function(e,t){return t=typeof t==`number`?{duration:t}:E({},t),t.pseudoElement=this._selector,this._scope.animate(e,t)},Np.prototype.getAnimations=function(){for(var e=this._scope,t=this._selector,n=e.getAnimations({subtree:!0}),r=[],i=0;i<n.length;i++){var a=n[i].effect;a!==null&&a.target===e&&a.pseudoElement===t&&r.push(n[i])}return r},Np.prototype.getComputedStyle=function(){return getComputedStyle(this._scope,this._selector)};function Pp(e){return{name:e,group:new Np(`group`,e),imagePair:new Np(`image-pair`,e),old:new Np(`old`,e),new:new Np(`new`,e)}}function Fp(e){this._fragmentFiber=e,this._observers=this._eventListeners=null}Fp.prototype.addEventListener=function(e,t,n){var r=null,i=null;if(!(n!=null&&typeof n!=`boolean`&&(r=n.signal||null,r!==null&&r.aborted))){this._eventListeners===null&&(this._eventListeners=[]);var a=this._eventListeners;if(Bp(a,e,t,n)===-1){var o=this,s=t;n!=null&&typeof n!=`boolean`&&!0===n.once&&(s=function(r){o.removeEventListener(e,t,n),typeof t==`function`?t.call(this,r):t.handleEvent(r)}),r!==null&&(i=o.removeEventListener.bind(o,e,t,n),r.addEventListener(`abort`,i,{once:!0}),i=r.removeEventListener.bind(r,`abort`,i)),r=Rp(n),a.push({type:e,listener:t,optionsOrUseCapture:n,attachedListener:s,cleanup:i}),m(this._fragmentFiber.child,!1,Ip,e,s,r)}this._eventListeners=a}};function Ip(e,t,n,r){return b(e).addEventListener(t,n,r),!1}Fp.prototype.removeEventListener=function(e,t,n){var r=this._eventListeners;if(r!==null&&(t=Bp(r,e,t,n),t!==-1)){var i=r[t];n=i.attachedListener;var a=i.cleanup;i=Rp(i.optionsOrUseCapture),m(this._fragmentFiber.child,!1,Lp,e,n,i),r.splice(t,1),a!==null&&a()}};function Lp(e,t,n,r){return b(e).removeEventListener(t,n,r),!1}function Rp(e){return e!=null&&typeof e!=`boolean`&&(!0===e.once||e.signal instanceof AbortSignal)?{capture:e.capture,passive:e.passive}:e}function zp(e){return e==null?`c=0`:typeof e==`boolean`?`c=`+(e?`1`:`0`):`c=`+(e.capture?`1`:`0`)}function Bp(e,t,n,r){if(e.length===0)return-1;r=zp(r);for(var i=0;i<e.length;i++){var a=e[i];if(a.type===t&&a.listener===n&&zp(a.optionsOrUseCapture)===r)return i}return-1}Fp.prototype.dispatchEvent=function(e){var t=g(this._fragmentFiber);if(t===null)return!0;t=b(t);var n=this._eventListeners;if(n!==null&&0<n.length||!e.bubbles){var r=t.nodeType===9?t.createComment(``):document.createTextNode(``);if(n)for(var i=0;i<n.length;i++){var a=n[i];r.addEventListener(a.type,a.attachedListener,Rp(a.optionsOrUseCapture))}if(t.appendChild(r),e=r.dispatchEvent(e),n)for(i=0;i<n.length;i++)a=n[i],r.removeEventListener(a.type,a.attachedListener,Rp(a.optionsOrUseCapture));return t.removeChild(r),e}return t.dispatchEvent(e)},Fp.prototype.focus=function(e){m(this._fragmentFiber.child,!0,Vp,e,void 0,void 0)};function Vp(e,t){return e.tag!==6&&(e=b(e),pm(e,t))}Fp.prototype.focusLast=function(e){var t=[];m(this._fragmentFiber.child,!0,Hp,t,void 0,void 0);for(var n=t.length-1;0<=n&&!Vp(t[n],e);n--);};function Hp(e,t){return t.push(e),!1}Fp.prototype.blur=function(){var e=g(this._fragmentFiber);e!==null&&(e=b(e),e=lp(e).activeElement,e!==null&&m(this._fragmentFiber.child,!1,Up,e,void 0,void 0))};function Up(e,t){return e.tag!==6&&(e=b(e),e===t||e.contains(t)?(t.blur(),!0):!1)}Fp.prototype.observeUsing=function(e){this._observers===null&&(this._observers=new Set),this._observers.add(e),m(this._fragmentFiber.child,!1,Wp,e,void 0,void 0)};function Wp(e,t){return e.tag!==6&&(e=b(e),t.observe(e),!1)}Fp.prototype.unobserveUsing=function(e){var t=this._observers;if(t!==null&&t.has(e)){t.delete(e),m(this._fragmentFiber.child,!1,Gp,e,void 0,void 0);for(var n=t=0;n<Kp.length;n++){var r=Kp[n];r.fragmentInstance===this&&r.observer===e?e.unobserve(r.instance):Kp[t++]=r}Kp.length=t}};function Gp(e,t){return e.tag!==6&&(e=b(e),t.unobserve(e),!1)}var Kp=[],qp=!1;function Jp(e,t,n){Kp.push({fragmentInstance:e,observer:t,instance:n}),qp||(qp=!0,mm(function(){qp=!1;var e=Kp;Kp=[];for(var t=0;t<e.length;t++){var n=e[t];n.observer.unobserve(n.instance)}}))}Fp.prototype.getClientRects=function(){var e=[];return m(this._fragmentFiber.child,!1,Yp,e,void 0,void 0),e};function Yp(e,t){if(e.tag===6){e=e.stateNode;var n=e.ownerDocument.createRange();n.selectNodeContents(e),t.push.apply(t,n.getClientRects())}else e=b(e),t.push.apply(t,e.getClientRects());return!1}Fp.prototype.getRootNode=function(e){var t=g(this._fragmentFiber);return t===null?this:b(t).getRootNode(e)},Fp.prototype.compareDocumentPosition=function(e){var t=g(this._fragmentFiber);if(t===null)return Node.DOCUMENT_POSITION_DISCONNECTED;var n=[];m(this._fragmentFiber.child,!1,Hp,n,void 0,void 0);var r=b(t);if(n.length===0){if(n=r,_(this._fragmentFiber)){a:{for(t=this._fragmentFiber.return;t!==null;){if(t.tag===4){t=t.stateNode.containerInfo;break a}if(t.tag===3||t.tag===5||t.tag===27)break;t=t.return}t=null}t!=null&&(n=t)}t=this._fragmentFiber;var i=r=n.compareDocumentPosition(e);return n===e?i=Node.DOCUMENT_POSITION_CONTAINS:r&Node.DOCUMENT_POSITION_CONTAINED_BY&&(n=v(t)[1],n===null?i=Node.DOCUMENT_POSITION_PRECEDING:(e=b(n).compareDocumentPosition(e),i=e===0||e&Node.DOCUMENT_POSITION_FOLLOWING?Node.DOCUMENT_POSITION_FOLLOWING:Node.DOCUMENT_POSITION_PRECEDING)),i|=Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC}t=b(n[0]),i=b(n[n.length-1]);var a=_(this._fragmentFiber)?t.parentElement:r;if(a==null)return Node.DOCUMENT_POSITION_DISCONNECTED;r=a.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY,a=a.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY;var o=t.compareDocumentPosition(e),s=i.compareDocumentPosition(e),c=o&Node.DOCUMENT_POSITION_CONTAINED_BY||s&Node.DOCUMENT_POSITION_CONTAINED_BY;return s=r&&a&&o&Node.DOCUMENT_POSITION_FOLLOWING&&s&Node.DOCUMENT_POSITION_PRECEDING,t=r&&t===e||a&&i===e||c||s?Node.DOCUMENT_POSITION_CONTAINED_BY:!r&&t===e||!a&&i===e?Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC:o,t&Node.DOCUMENT_POSITION_DISCONNECTED||t&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC||Xp(t,this._fragmentFiber,n[0],n[n.length-1],e)?t:Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC};function Xp(e,t,n,r,i){var a=Lt(i);if(e&Node.DOCUMENT_POSITION_CONTAINED_BY){if(n=!!a)a:{for(;a!==null;){if(a.tag===7&&(a===t||a.alternate===t)){n=!0;break a}a=a.return}n=!1}return n}if(e&Node.DOCUMENT_POSITION_CONTAINS){if(a===null)return a=i.ownerDocument,i===a||i===a.documentElement||i===a.body;a:{for(a=t,t=g(t);a!==null;){if(!(a.tag!==5&&a.tag!==3&&a.tag!==27||a!==t&&a.alternate!==t)){a=!0;break a}a=a.return}a=!1}return a}return e&Node.DOCUMENT_POSITION_PRECEDING?((t=!!a)&&!(t=a===n)&&(t=ee(n,a,T),t===null?t=!1:(m(t,!0,C,a,n),a=x,x=null,t=a!==null)),t):e&Node.DOCUMENT_POSITION_FOLLOWING?((t=!!a)&&!(t=a===r)&&(t=ee(r,a,T),t===null?t=!1:(m(t,!0,w,a,r),a=x,S=x=null,t=a!==null)),t):!1}function Zp(e,t){var n=e.ownerDocument.createRange();n.selectNodeContents(e),e=n.getBoundingClientRect(),window.scrollTo(window.scrollX+e.left,t?window.scrollY+e.top:window.scrollY+e.bottom-window.innerHeight)}Fp.prototype.scrollIntoView=function(e){if(typeof e==`object`)throw Error(i(566));var t=[];m(this._fragmentFiber.child,!1,Hp,t,void 0,void 0);var n=!1!==e;if(t.length===0){var r=v(this._fragmentFiber);if(r=n?r[1]||r[0]||g(this._fragmentFiber):r[0]||r[1],r===null)return;if(r.tag===6){e=b(r),Zp(e,n);return}if(r=b(r),r.nodeType!==9){if(r.nodeType===11){n=`host`in r?r.host:null,n!==null&&n.scrollIntoView(e);return}r.scrollIntoView(e)}}for(r=n?t.length-1:0;r!==(n?-1:t.length);){var a=t[r];a.tag===6?(a=b(a),Zp(a,n)):b(a).scrollIntoView(e),r+=n?-1:1}};function Qp(e,t){return e=b(e),$p(e,t),!1}function $p(e,t){e.reactFragments??=new Set,e.reactFragments.add(t)}function em(e,t){var n=t._eventListeners;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r];e.addEventListener(i.type,i.attachedListener,Rp(i.optionsOrUseCapture))}e.nodeType!==3&&(n=t._observers,n!==null&&n.forEach(function(n){for(var r=0,i=0;i<Kp.length;i++){var a=Kp[i];(a.fragmentInstance!==t||a.observer!==n||a.instance!==e)&&(Kp[r++]=a)}Kp.length=r,n.observe(e)}),$p(e,t))}function tm(e,t){var n=t._eventListeners;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r];e.removeEventListener(i.type,i.attachedListener,Rp(i.optionsOrUseCapture))}e.nodeType!==3&&(n=t._observers,n!==null&&n.forEach(function(n){typeof n.rootMargin==`string`?Jp(t,n,e):n.unobserve(e)}),e.reactFragments!=null&&e.reactFragments.delete(t))}function nm(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:nm(n),It(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function rm(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r){if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e}else if(!e[Pt])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=lm(e.nextSibling),e===null)break}return null}function im(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=lm(e.nextSibling),e===null))return null;return e}function am(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=lm(e.nextSibling),e===null))return null;return e}function om(e){return e.data===`$?`||e.data===`$~`}function sm(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function cm(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function lm(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var um=null;function dm(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return lm(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function fm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function pm(e,t){function n(){r=!0}if(e.ownerDocument.activeElement===e)return!0;var r=!1;try{e.ownerDocument.addEventListener(`focus`,n,!0),(e.focus||HTMLElement.prototype.focus).call(e,t)}finally{e.ownerDocument.removeEventListener(`focus`,n,!0)}return r}function mm(e){yp(function(){yp(function(t){return e(t)})})}function hm(e,t,n){switch(t=lp(n),e){case`html`:if(e=t.documentElement,!e)throw Error(i(452));return e;case`head`:if(e=t.head,!e)throw Error(i(453));return e;case`body`:if(e=t.body,!e)throw Error(i(454));return e;default:throw Error(i(451))}}function gm(e,t,n){for(var r in n){var i=n[r];n.hasOwnProperty(r)&&i!=null&&ep(e,t,r,null,rp,i)}n.dangerouslySetInnerHTML!=null&&(e.textContent=``),e.onclick===wn&&(e.onclick=null),It(e)}function _m(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);It(e)}var vm=new Map,ym=new Set;function bm(e){if(typeof e.getRootNode==`function`){var t=e.getRootNode();if(t.nodeType===9||t.nodeType===11)return t}return e.nodeType===9?e:e.ownerDocument}var xm=j.d;j.d={f:Sm,r:Cm,D:Em,C:Dm,L:Om,m:km,X:jm,S:Am,M:Mm};function Sm(){var e=xm.f(),t=Vd();return e||t}function Cm(e){var t=Rt(e);t!==null&&t.tag===5&&t.type===`form`?ac(t):xm.r(e)}var wm=typeof document>`u`?null:document;function Tm(e,t,n){var r=wm;if(r&&typeof t==`string`&&t){var i=ln(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),ym.has(i)||(ym.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),np(t,`link`,e),Vt(t),r.head.appendChild(t)))}}function Em(e){xm.D(e),Tm(`dns-prefetch`,e,null)}function Dm(e,t){xm.C(e,t),Tm(`preconnect`,e,t)}function Om(e,t,n){xm.L(e,t,n);var r=wm;if(r&&e&&t){var i=`link[rel="preload"][as="`+ln(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+ln(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+ln(n.imageSizes)+`"]`)):i+=`[href="`+ln(e)+`"]`;var a=i;switch(t){case`style`:a=Pm(e);break;case`script`:a=Rm(e)}if(!(vm.has(a)||(e=E({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),vm.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Fm(a))||t===`script`&&r.querySelector(zm(a))))){var o=r.createElement(`link`);np(o,`link`,e),t===`style`&&(o[Ft]=!0,o.onload=o.onerror=function(){Ht(o)}),Vt(o),r.head.appendChild(o)}}}function km(e,t){xm.m(e,t);var n=wm;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+ln(r)+`"][href="`+ln(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Rm(e)}if(!vm.has(a)&&(e=E({rel:`modulepreload`,href:e},t),vm.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(zm(a)))return}r=n.createElement(`link`),np(r,`link`,e),Vt(r),n.head.appendChild(r)}}}function Am(e,t,n){xm.S(e,t,n);var r=wm;if(r&&e){var i=Bt(r).hoistableStyles,a=Pm(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Fm(a)))s.loading=5;else{e=E({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=vm.get(a))&&Hm(e,n);var c=o=r.createElement(`link`);Vt(c),np(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Vm(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function jm(e,t){xm.X(e,t);var n=wm;if(n&&e){var r=Bt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=E({src:e,async:!0},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),Vt(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Mm(e,t){xm.M(e,t);var n=wm;if(n&&e){var r=Bt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=E({src:e,async:!0,type:`module`},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),Vt(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Nm(e,t,n,r){var a=(a=Oe.current)?bm(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(n=Pm(n.href),t=Bt(a).hoistableStyles,r=t.get(n),r||(r={type:`style`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Pm(n.href);var o=Bt(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(Fm(e)))?o._p||(s.instance=o,s.state.loading=5):(o=vm.get(e),o||(o={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},vm.set(e,o)),Lm(a,e,o,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(n=Rm(n),t=Bt(a).hoistableScripts,r=t.get(n),r||(r={type:`script`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Pm(e){return`href="`+ln(e)+`"`}function Fm(e){return`link[rel="stylesheet"][`+e+`]`}function Im(e){return E({},e,{"data-precedence":e.precedence,precedence:null})}function Lm(e,t,n,r){if(t=e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)){if(!0!==t[Ft]){r.loading=1;return}}else t=e.createElement(`link`),t[Ft]=!0,t.onload=t.onerror=Ht.bind(null,t),np(t,`link`,n),Vt(t),e.head.appendChild(t);r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2})}function Rm(e){return`[src="`+ln(e)+`"]`}function zm(e){return`script[async]`+e}function Bm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+ln(n.href)+`"]`);if(r)return t.instance=r,Vt(r),r;var a=E({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),Vt(r),np(r,`style`,a),Vm(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Pm(n.href);var o=e.querySelector(Fm(a));if(o)return t.state.loading|=4,t.instance=o,Vt(o),o;r=Im(n),(a=vm.get(a))&&Hm(r,a),o=(e.ownerDocument||e).createElement(`link`),Vt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),np(o,`link`,r),t.state.loading|=4,Vm(o,n.precedence,e),t.instance=o;case`script`:return o=Rm(n.src),(a=e.querySelector(zm(o)))?(t.instance=a,Vt(a),a):(r=n,(a=vm.get(o))&&(r=E({},n),Um(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),Vt(a),np(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Vm(r,n.precedence,e));return t.instance}function Vm(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Hm(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function Um(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var Wm=null;function Gm(e,t,n){if(Wm===null){var r=new Map,i=Wm=new Map;i.set(n,r)}else i=Wm,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[Pt]||a[Dt]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Km(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function qm(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Jm(e,t){return e===`img`&&t.src!=null&&t.src!==``&&t.onLoad==null&&t.loading!==`lazy`}function Ym(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Xm(e){return(e.width||100)*(e.height||100)*(typeof devicePixelRatio==`number`?devicePixelRatio:1)*.25}function Zm(e,t){typeof t.decode==`function`&&(e.imgCount++,t.complete||(e.imgBytes+=Xm(t),e.suspenseyImages.push(t)),e=rh.bind(e),t.decode().then(e,e))}function Qm(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Pm(r.href),a=t.querySelector(Fm(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=nh.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,Vt(a);return}a=t.ownerDocument||t,r=Im(r),(i=vm.get(i))&&Hm(r,i),a=a.createElement(`link`),Vt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),np(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=nh.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var $m=0;function eh(e,t){return e.stylesheets&&e.count===0&&ah(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&ah(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&$m===0&&($m=62500*op());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&ah(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>$m?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function th(e){if(e.count===0&&(e.imgCount===0||!e.waitingForImages)){if(e.stylesheets)ah(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function nh(){this.count--,th(this)}function rh(){this.imgCount--,th(this)}var ih=null;function ah(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ih=new Map,t.forEach(oh,e),ih=null,nh.call(e))}function oh(e,t){if(!(t.state.loading&4)){var n=ih.get(e);if(n)var r=n.get(null);else{n=new Map,ih.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=nh.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var sh={$$typeof:k,Provider:null,Consumer:null,_currentValue:xe,_currentValue2:xe,_threadCount:0};function ch(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=gt(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gt(0),this.hiddenUpdates=gt(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.transitionTypes=null,this.incompleteTransitions=new Map}function lh(e,t,n,r,i,a,o,s,c,l,u,d){return e=new ch(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=Fi(3,null,null,t),e.current=a,a.stateNode=e,t=Na(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},go(a),e}function uh(e){return e?(e=Ni,e):Ni}function dh(e,t,n,r,i,a){i=uh(i),r.context===null?r.context=i:r.pendingContext=i,r=vo(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=yo(e,r,t),n!==null&&(Id(n,e,t),bo(n,e,t))}function fh(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function ph(e,t){fh(e,t),(e=e.alternate)&&fh(e,t)}function mh(e){if(e.tag===13||e.tag===31){var t=Ai(e,67108864);t!==null&&Id(t,e,67108864),ph(e,67108864)}}function hh(e){if(e.tag===13||e.tag===31){var t=Nd();t=St(t);var n=Ai(e,t);n!==null&&Id(n,e,t),ph(e,t)}}var gh=!0;function _h(e,t,n,r){var i=A.T;A.T=null;var a=j.p;try{j.p=2,yh(e,t,n,r)}finally{j.p=a,A.T=i}}function vh(e,t,n,r){var i=A.T;A.T=null;var a=j.p;try{j.p=8,yh(e,t,n,r)}finally{j.p=a,A.T=i}}function yh(e,t,n,r){if(gh){var i=bh(r);if(i===null)Kf(e,t,r,xh,n),Mh(e,r);else if(Ph(i,e,t,n,r))r.stopPropagation();else if(Mh(e,r),t&4&&-1<jh.indexOf(e)){for(;i!==null;){var a=Rt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=dt(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-it(o);s.entanglements[1]|=c,o&=~c}Of(a),!(ed&6)&&(vd=Ke()+500,kf(0,!1))}}break;case 31:case 13:s=Ai(a,2),s!==null&&Id(s,a,2),Vd(),ph(a,2)}if(a=bh(r),a===null&&Kf(e,t,r,xh,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else Kf(e,t,r,null,n)}}function bh(e){return e=En(e),Sh(e)}var xh=null;function Sh(e){if(xh=null,e=Lt(e),e!==null){var t=o(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=s(t),e!==null)return e;e=null}else if(n===31){if(e=c(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return xh=e,null}function Ch(e){switch(e){case`beforetoggle`: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`seeked`:case`submit`:case`toggle`: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`fullscreenerror`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 2;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`resize`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(qe()){case Je:return 2;case Ye:return 8;case Xe:case Ze:return 32;case Qe:return 268435456;default:return 32}default:return 32}}var wh=!1,Th=null,Eh=null,Dh=null,Oh=new Map,kh=new Map,Ah=[],jh=`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`.split(` `);function Mh(e,t){switch(e){case`focusin`:case`focusout`:Th=null;break;case`dragenter`:case`dragleave`:Eh=null;break;case`mouseover`:case`mouseout`:Dh=null;break;case`pointerover`:case`pointerout`:Oh.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:kh.delete(t.pointerId)}}function Nh(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=Rt(t),t!==null&&mh(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Ph(e,t,n,r,i){switch(t){case`focusin`:return Th=Nh(Th,e,t,n,r,i),!0;case`dragenter`:return Eh=Nh(Eh,e,t,n,r,i),!0;case`mouseover`:return Dh=Nh(Dh,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return Oh.set(a,Nh(Oh.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,kh.set(a,Nh(kh.get(a)||null,e,t,n,r,i)),!0}return!1}function Fh(e){var t=Lt(e.target);if(t!==null){var n=o(t);if(n!==null){if(t=n.tag,t===13){if(t=s(n),t!==null){e.blockedOn=t,Tt(e.priority,function(){hh(n)});return}}else if(t===31){if(t=c(n),t!==null){e.blockedOn=t,Tt(e.priority,function(){hh(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Ih(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=bh(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Tn=r,n.target.dispatchEvent(r),Tn=null}else return t=Rt(n),t!==null&&mh(t),e.blockedOn=n,!1;t.shift()}return!0}function Lh(e,t,n){Ih(e)&&n.delete(t)}function Rh(){wh=!1,Th!==null&&Ih(Th)&&(Th=null),Eh!==null&&Ih(Eh)&&(Eh=null),Dh!==null&&Ih(Dh)&&(Dh=null),Oh.forEach(Lh),kh.forEach(Lh)}function zh(e,n){e.blockedOn===n&&(e.blockedOn=null,wh||(wh=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,Rh)))}var Bh=null;function Vh(e){Bh!==e&&(Bh=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){Bh===e&&(Bh=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(Sh(r||n)===null)continue;break}var a=Rt(n);a!==null&&(e.splice(t,3),t-=3,rc(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Hh(e){function t(t){return zh(t,e)}Th!==null&&zh(Th,e),Eh!==null&&zh(Eh,e),Dh!==null&&zh(Dh,e),Oh.forEach(t),kh.forEach(t);for(var n=0;n<Ah.length;n++){var r=Ah[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<Ah.length&&(n=Ah[0],n.blockedOn===null);)Fh(n),n.blockedOn===null&&Ah.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[Ot]||null;if(typeof a==`function`)o||Vh(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[Ot]||null)s=o.formAction;else if(Sh(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Vh(n)}}}function Uh(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Wh(e){this._internalRoot=e}Gh.prototype.render=Wh.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(i(409));var n=t.current;dh(n,Nd(),e,t,null,null)},Gh.prototype.unmount=Wh.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;dh(e.current,2,null,e,null,null),Vd(),t[kt]=null}};function Gh(e){this._internalRoot=e}Gh.prototype.unstable_scheduleHydration=function(e){if(e){var t=wt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Ah.length&&t!==0&&t<Ah[n].priority;n++);Ah.splice(n,0,e),n===0&&Fh(e)}};var Kh=n.version;if(Kh!==`19.3.0`)throw Error(i(527,Kh,`19.3.0`));j.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(i(188)):(e=Object.keys(e).join(`,`),Error(i(268,e)));return e=u(t),e=e===null?null:f(e),e=e===null?null:e.stateNode,e};var qh={bundleType:0,version:`19.3.0`,rendererPackageName:`react-dom`,currentDispatcherRef:A,reconcilerVersion:`19.3.0`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var Jh=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Jh.isDisabled&&Jh.supportsFiber)try{tt=Jh.inject(qh),nt=Jh}catch{}}e.createRoot=function(e,t){if(!a(e))throw Error(i(299));var n=!1,r=``,o=Ec,s=Dc,c=Oc;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(s=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=lh(e,1,!1,null,null,n,r,null,o,s,c,Uh),e[kt]=t.current,Wf(e),new Wh(t)}})),_=o(((e,t)=>{function n(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE==`function`)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=g()})),v=l(d(),1),y=_(),b=Object.create(null);b.open=`0`,b.close=`1`,b.ping=`2`,b.pong=`3`,b.message=`4`,b.upgrade=`5`,b.noop=`6`;var x=Object.create(null);Object.keys(b).forEach(e=>{x[b[e]]=e});var S={type:`error`,data:`parser error`},C=typeof Blob==`function`||typeof Blob<`u`&&Object.prototype.toString.call(Blob)===`[object BlobConstructor]`,w=typeof ArrayBuffer==`function`,T=e=>typeof ArrayBuffer.isView==`function`?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,ee=({type:e,data:t},n,r)=>C&&t instanceof Blob?n?r(t):E(t,r):w&&(t instanceof ArrayBuffer||T(t))?n?r(t):E(new Blob([t]),r):r(b[e]+(t||``)),E=(e,t)=>{let n=new FileReader;return n.onload=function(){let e=n.result.split(`,`)[1];t(`b`+(e||``))},n.readAsDataURL(e)};function te(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}var D;function O(e,t){if(C&&e.data instanceof Blob)return e.data.arrayBuffer().then(te).then(t);if(w&&(e.data instanceof ArrayBuffer||T(e.data)))return t(te(e.data));ee(e,!1,e=>{D||=new TextEncoder,t(D.encode(e))})}var ne=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,re=typeof Uint8Array>`u`?[]:new Uint8Array(256);for(let e=0;e<64;e++)re[ne.charCodeAt(e)]=e;var ie=e=>{let t=e.length*.75,n=e.length,r,i=0,a,o,s,c;e[e.length-1]===`=`&&(t--,e[e.length-2]===`=`&&t--);let l=new ArrayBuffer(t),u=new Uint8Array(l);for(r=0;r<n;r+=4)a=re[e.charCodeAt(r)],o=re[e.charCodeAt(r+1)],s=re[e.charCodeAt(r+2)],c=re[e.charCodeAt(r+3)],u[i++]=a<<2|o>>4,u[i++]=(o&15)<<4|s>>2,u[i++]=(s&3)<<6|c&63;return l},ae=typeof ArrayBuffer==`function`,k=(e,t)=>{if(typeof e!=`string`)return{type:`message`,data:se(e,t)};let n=e.charAt(0);return n===`b`?{type:`message`,data:oe(e.substring(1),t)}:x[n]?e.length>1?{type:x[n],data:e.substring(1)}:{type:x[n]}:S},oe=(e,t)=>ae?se(ie(e),t):{base64:!0,data:e},se=(e,t)=>{switch(t){case`blob`:return e instanceof Blob?e:new Blob([e]);default:return e instanceof ArrayBuffer?e:e.buffer}},ce=``,le=(e,t)=>{let n=e.length,r=Array(n),i=0;e.forEach((e,a)=>{ee(e,!1,e=>{r[a]=e,++i===n&&t(r.join(ce))})})},ue=(e,t)=>{let n=e.split(ce),r=[];for(let e=0;e<n.length;e++){let i=k(n[e],t);if(r.push(i),i.type===`error`)break}return r};function de(){return new TransformStream({transform(e,t){O(e,n=>{let r=n.length,i;if(r<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,r);else if(r<65536){i=new Uint8Array(3);let e=new DataView(i.buffer);e.setUint8(0,126),e.setUint16(1,r)}else{i=new Uint8Array(9);let e=new DataView(i.buffer);e.setUint8(0,127),e.setBigUint64(1,BigInt(r))}e.data&&typeof e.data!=`string`&&(i[0]|=128),t.enqueue(i),t.enqueue(n)})}})}var fe;function pe(e){return e.reduce((e,t)=>e+t.length,0)}function me(e,t){if(e[0].length===t)return e.shift();let n=new Uint8Array(t),r=0;for(let i=0;i<t;i++)n[i]=e[0][r++],r===e[0].length&&(e.shift(),r=0);return e.length&&r<e[0].length&&(e[0]=e[0].slice(r)),n}function he(e,t){fe||=new TextDecoder;let n=[],r=0,i=-1,a=!1;return new TransformStream({transform(o,s){for(n.push(o);;){if(r===0){if(pe(n)<1)break;let e=me(n,1);a=(e[0]&128)==128,i=e[0]&127,r=i<126?3:i===126?1:2}else if(r===1){if(pe(n)<2)break;let e=me(n,2);i=new DataView(e.buffer,e.byteOffset,e.length).getUint16(0),r=3}else if(r===2){if(pe(n)<8)break;let e=me(n,8),t=new DataView(e.buffer,e.byteOffset,e.length),a=t.getUint32(0);if(a>2**21-1){s.enqueue(S);break}i=a*2**32+t.getUint32(4),r=3}else{if(pe(n)<i)break;let e=me(n,i);s.enqueue(k(a?e:fe.decode(e),t)),r=0}if(i===0||i>e){s.enqueue(S);break}}}})}function ge(e){if(e)return _e(e)}function _e(e){for(var t in ge.prototype)e[t]=ge.prototype[t];return e}ge.prototype.on=ge.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks[`$`+e]=this._callbacks[`$`+e]||[]).push(t),this},ge.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},ge.prototype.off=ge.prototype.removeListener=ge.prototype.removeAllListeners=ge.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var n=this._callbacks[`$`+e];if(!n)return this;if(arguments.length==1)return delete this._callbacks[`$`+e],this;for(var r,i=0;i<n.length;i++)if(r=n[i],r===t||r.fn===t){n.splice(i,1);break}return n.length===0&&delete this._callbacks[`$`+e],this},ge.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=Array(arguments.length-1),n=this._callbacks[`$`+e],r=1;r<arguments.length;r++)t[r-1]=arguments[r];if(n){n=n.slice(0);for(var r=0,i=n.length;r<i;++r)n[r].apply(this,t)}return this},ge.prototype.emitReserved=ge.prototype.emit,ge.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks[`$`+e]||[]},ge.prototype.hasListeners=function(e){return!!this.listeners(e).length};var ve=typeof Promise==`function`&&typeof Promise.resolve==`function`?e=>Promise.resolve().then(e):(e,t)=>t(e,0),ye=typeof self<`u`?self:typeof window<`u`?window:Function(`return this`)(),be=`arraybuffer`;function A(e,...t){return t.reduce((t,n)=>(e.hasOwnProperty(n)&&(t[n]=e[n]),t),{})}var j=ye.setTimeout,xe=ye.clearTimeout;function Se(e,t){t.useNativeTimers?(e.setTimeoutFn=j.bind(ye),e.clearTimeoutFn=xe.bind(ye)):(e.setTimeoutFn=ye.setTimeout.bind(ye),e.clearTimeoutFn=ye.clearTimeout.bind(ye))}var Ce=1.33;function we(e){return typeof e==`string`?Te(e):Math.ceil((e.byteLength||e.size)*Ce)}function Te(e){let t=0,n=0;for(let r=0,i=e.length;r<i;r++)t=e.charCodeAt(r),t<128?n+=1:t<2048?n+=2:t<55296||t>=57344?n+=3:(r++,n+=4);return n}function M(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function Ee(e){let t=``;for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+=`&`),t+=encodeURIComponent(n)+`=`+encodeURIComponent(e[n]));return t}function De(e){let t={},n=e.split(`&`);for(let e=0,r=n.length;e<r;e++){let r=n[e].split(`=`);t[decodeURIComponent(r[0])]=decodeURIComponent(r[1])}return t}var Oe=class extends Error{constructor(e,t,n){super(e),this.description=t,this.context=n,this.type=`TransportError`}},ke=class extends ge{constructor(e){super(),this.writable=!1,Se(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}onError(e,t,n){return super.emitReserved(`error`,new Oe(e,t,n)),this}open(){return this.readyState=`opening`,this.doOpen(),this}close(){return(this.readyState===`opening`||this.readyState===`open`)&&(this.doClose(),this.onClose()),this}send(e){this.readyState===`open`&&this.write(e)}onOpen(){this.readyState=`open`,this.writable=!0,super.emitReserved(`open`)}onData(e){let t=k(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved(`packet`,e)}onClose(e){this.readyState=`closed`,super.emitReserved(`close`,e)}pause(e){}createUri(e,t={}){return e+`://`+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){let e=this.opts.hostname;return e.indexOf(`:`)===-1?e:`[`+e+`]`}_port(){return this.opts.port&&(this.opts.secure&&Number(this.opts.port)!==443||!this.opts.secure&&Number(this.opts.port)!==80)?`:`+this.opts.port:``}_query(e){let t=Ee(e);return t.length?`?`+t:``}},Ae=class extends ke{constructor(){super(...arguments),this._polling=!1}get name(){return`polling`}doOpen(){this._poll()}pause(e){this.readyState=`pausing`;let t=()=>{this.readyState=`paused`,e()};if(this._polling||!this.writable){let e=0;this._polling&&(e++,this.once(`pollComplete`,function(){--e||t()})),this.writable||(e++,this.once(`drain`,function(){--e||t()}))}else t()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved(`poll`)}onData(e){ue(e,this.socket.binaryType).forEach(e=>{if(this.readyState===`opening`&&e.type===`open`&&this.onOpen(),e.type===`close`)return this.onClose({description:`transport closed by the server`}),!1;this.onPacket(e)}),this.readyState!==`closed`&&(this._polling=!1,this.emitReserved(`pollComplete`),this.readyState===`open`&&this._poll())}doClose(){let e=()=>{this.write([{type:`close`}])};this.readyState===`open`?e():this.once(`open`,e)}write(e){this.writable=!1,le(e,e=>{this.doWrite(e,()=>{this.writable=!0,this.emitReserved(`drain`)})})}uri(){let e=this.opts.secure?`https`:`http`,t=this.query||{};return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=M()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}},je=!1;try{je=typeof XMLHttpRequest<`u`&&`withCredentials`in new XMLHttpRequest}catch{}var Me=je;function Ne(){}var Pe=class extends Ae{constructor(e){if(super(e),typeof location<`u`){let t=location.protocol===`https:`,n=location.port;n||=t?`443`:`80`,this.xd=typeof location<`u`&&e.hostname!==location.hostname||n!==e.port}}doWrite(e,t){let n=this.request({method:`POST`,data:e});n.on(`success`,t),n.on(`error`,(e,t)=>{this.onError(`xhr post error`,e,t)})}doPoll(){let e=this.request();e.on(`data`,this.onData.bind(this)),e.on(`error`,(e,t)=>{this.onError(`xhr poll error`,e,t)}),this.pollXhr=e}},Fe=class e extends ge{constructor(e,t,n){super(),this.createRequest=e,Se(this,n),this._opts=n,this._method=n.method||`GET`,this._uri=t,this._data=n.data===void 0?null:n.data,this._create()}_create(){var t;let n=A(this._opts,`agent`,`pfx`,`key`,`passphrase`,`cert`,`ca`,`ciphers`,`rejectUnauthorized`,`autoUnref`);n.xdomain=!!this._opts.xd;let r=this._xhr=this.createRequest(n);try{r.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let e in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(e)&&r.setRequestHeader(e,this._opts.extraHeaders[e])}}catch{}if(this._method===`POST`)try{r.setRequestHeader(`Content-type`,`text/plain;charset=UTF-8`)}catch{}try{r.setRequestHeader(`Accept`,`*/*`)}catch{}(t=this._opts.cookieJar)==null||t.addCookies(r),`withCredentials`in r&&(r.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(r.timeout=this._opts.requestTimeout),r.onreadystatechange=()=>{var e;r.readyState===3&&((e=this._opts.cookieJar)==null||e.parseCookies(r.getResponseHeader(`set-cookie`))),r.readyState===4&&(r.status===200||r.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof r.status==`number`?r.status:0)},0))},r.send(this._data)}catch(e){this.setTimeoutFn(()=>{this._onError(e)},0);return}typeof document<`u`&&(this._index=e.requestsCount++,e.requests[this._index]=this)}_onError(e){this.emitReserved(`error`,e,this._xhr),this._cleanup(!0)}_cleanup(t){if(this._xhr!==void 0&&this._xhr!==null){if(this._xhr.onreadystatechange=Ne,t)try{this._xhr.abort()}catch{}typeof document<`u`&&delete e.requests[this._index],this._xhr=null}}_onLoad(){let e=this._xhr.responseText;e!==null&&(this.emitReserved(`data`,e),this.emitReserved(`success`),this._cleanup())}abort(){this._cleanup()}};if(Fe.requestsCount=0,Fe.requests={},typeof document<`u`){if(typeof attachEvent==`function`)attachEvent(`onunload`,Ie);else if(typeof addEventListener==`function`){let e=`onpagehide`in ye?`pagehide`:`unload`;addEventListener(e,Ie,!1)}}function Ie(){for(let e in Fe.requests)Fe.requests.hasOwnProperty(e)&&Fe.requests[e].abort()}var Le=(function(){let e=ze({xdomain:!1});return e&&e.responseType!==null})(),Re=class extends Pe{constructor(e){super(e);let t=e&&e.forceBase64;this.supportsBinary=Le&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new Fe(ze,this.uri(),e)}};function ze(e){let t=e.xdomain;try{if(typeof XMLHttpRequest<`u`&&(!t||Me))return new XMLHttpRequest}catch{}if(!t)try{return new ye[[`Active`,`Object`].join(`X`)](`Microsoft.XMLHTTP`)}catch{}}var Be=typeof navigator<`u`&&typeof navigator.product==`string`&&navigator.product.toLowerCase()===`reactnative`,Ve=class extends ke{get name(){return`websocket`}doOpen(){let e=this.uri(),t=this.opts.protocols,n=Be?{}:A(this.opts,`agent`,`perMessageDeflate`,`pfx`,`key`,`passphrase`,`cert`,`ca`,`ciphers`,`rejectUnauthorized`,`localAddress`,`protocolVersion`,`origin`,`maxPayload`,`family`,`checkServerIdentity`);this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,n)}catch(e){return this.emitReserved(`error`,e)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:`websocket connection closed`,context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError(`websocket error`,e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let n=e[t],r=t===e.length-1;ee(n,this.supportsBinary,e=>{try{this.doWrite(n,e)}catch{}r&&ve(()=>{this.writable=!0,this.emitReserved(`drain`)},this.setTimeoutFn)})}}doClose(){this.ws!==void 0&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){let e=this.opts.secure?`wss`:`ws`,t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=M()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}},He=ye.WebSocket||ye.MozWebSocket,Ue={websocket:class extends Ve{createSocket(e,t,n){return Be?new He(e,t,n):t?new He(e,t):new He(e)}doWrite(e,t){this.ws.send(t)}},webtransport:class extends ke{get name(){return`webtransport`}doOpen(){try{this._transport=new WebTransport(this.createUri(`https`),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved(`error`,e)}this._transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError(`webtransport error`,e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{let t=he(2**53-1,this.socket.binaryType),n=e.readable.pipeThrough(t).getReader(),r=de();r.readable.pipeTo(e.writable),this._writer=r.writable.getWriter();let i=()=>{n.read().then(({done:e,value:t})=>{e||(this.onPacket(t),i())}).catch(e=>{})};i();let a={type:`open`};this.query.sid&&(a.data=`{"sid":"${this.query.sid}"}`),this._writer.write(a).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let n=e[t],r=t===e.length-1;this._writer.write(n).then(()=>{r&&ve(()=>{this.writable=!0,this.emitReserved(`drain`)},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)==null||e.close()}},polling:Re},We=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Ge=[`source`,`protocol`,`authority`,`userInfo`,`user`,`password`,`host`,`port`,`relative`,`path`,`directory`,`file`,`query`,`anchor`];function Ke(e){if(e.length>8e3)throw`URI too long`;let t=e,n=e.indexOf(`[`),r=e.indexOf(`]`);n!=-1&&r!=-1&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,`;`)+e.substring(r,e.length));let i=We.exec(e||``),a={},o=14;for(;o--;)a[Ge[o]]=i[o]||``;return n!=-1&&r!=-1&&(a.source=t,a.host=a.host.substring(1,a.host.length-1).replace(/;/g,`:`),a.authority=a.authority.replace(`[`,``).replace(`]`,``).replace(/;/g,`:`),a.ipv6uri=!0),a.pathNames=qe(a,a.path),a.queryKey=Je(a,a.query),a}function qe(e,t){let n=t.replace(/\/{2,9}/g,`/`).split(`/`);return(t.slice(0,1)==`/`||t.length===0)&&n.splice(0,1),t.slice(-1)==`/`&&n.splice(n.length-1,1),n}function Je(e,t){let n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(e,t,r){t&&(n[t]=r)}),n}var Ye=typeof addEventListener==`function`&&typeof removeEventListener==`function`,Xe=[];Ye&&addEventListener(`offline`,()=>{Xe.forEach(e=>e())},!1);var Ze=class e extends ge{constructor(e,t={}){if(super(),this.binaryType=be,this.writeBuffer=[],this._prevBufferLen=0,this._upgrades=[],this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,e&&typeof e==`object`&&(t=e,e=null),e){let n=Ke(e);t.hostname=n.host,t.secure=n.protocol===`https`||n.protocol===`wss`,t.port=n.port,n.query&&(t.query=n.query)}else t.host&&(t.hostname=Ke(t.host).host);if(Se(this,t),this.secure=t.secure==null?typeof location<`u`&&location.protocol===`https:`:t.secure,t.hostname&&!t.port&&(t.port=this.secure?`443`:`80`),this.hostname=t.hostname||(typeof location<`u`?location.hostname:`localhost`),this.port=t.port||(typeof location<`u`&&location.port?location.port:this.secure?`443`:`80`),t.transportImplementations&&t.transports)throw Error(`specifying both 'transportImplementations' and 'transports' options is not supported`);t.transportImplementations||t.transports?.length&&typeof t.transports[0]==`function`?(this.transports=[],this._transportsByName=Object.create(null),(t.transportImplementations??t.transports).forEach(e=>{let t=e.prototype.name;this.transports.push(t),this._transportsByName[t]=e})):(this.transports=t.transports?[...t.transports]:[`polling`,`websocket`,`webtransport`],this._transportsByName=Ue),this.opts=Object.assign({path:`/engine.io`,agent:!1,withCredentials:!1,upgrade:!0,timestampParam:`t`,rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,``)+(this.opts.addTrailingSlash?`/`:``),typeof this.opts.query==`string`&&(this.opts.query=De(this.opts.query)),Ye&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener(`beforeunload`,this._beforeunloadEventListener,!1)),this.hostname!==`localhost`&&(this._offlineEventListener=()=>{this._onClose(`transport close`,{description:`network connection lost`})},Xe.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(e){let t=Object.assign({},this.opts.query);t.EIO=4,t.transport=e,this.id&&(t.sid=this.id);let n=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new this._transportsByName[e](n)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved(`error`,`No transports available`)},0);return}let t=this.opts.rememberUpgrade&&e.priorWebsocketSuccess&&this.transports.indexOf(`websocket`)!==-1?`websocket`:this.transports[0];this.readyState=`opening`;let n=this.createTransport(t);n.open(),this.setTransport(n)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on(`drain`,this._onDrain.bind(this)).on(`packet`,this._onPacket.bind(this)).on(`error`,this._onError.bind(this)).on(`close`,e=>this._onClose(`transport close`,e))}_probe(t){let n=this.createTransport(t),r=!1;e.priorWebsocketSuccess=!1;let i=()=>{r||(n.send([{type:`ping`,data:`probe`}]),n.once(`packet`,t=>{if(!r){if(t.type===`pong`&&t.data===`probe`){if(this.upgrading=!0,this.emitReserved(`upgrading`,n),!n)return;e.priorWebsocketSuccess=n.name===`websocket`,this.transport.pause(()=>{r||this.readyState!==`closed`&&(u(),this.setTransport(n),n.send([{type:`upgrade`}]),this.emitReserved(`upgrade`,n),n=null,this.upgrading=!1,this.flush())})}else{let e=Error(`probe error`);e.transport=n.name,this.emitReserved(`upgradeError`,e)}}}))};function a(){r||(r=!0,u(),n.close(),n=null)}let o=e=>{let t=Error(`probe error: `+e);t.transport=n.name,a(),this.emitReserved(`upgradeError`,t)};function s(){o(`transport closed`)}function c(){o(`socket closed`)}function l(e){n&&e.name!==n.name&&a()}let u=()=>{n.removeListener(`open`,i),n.removeListener(`error`,o),n.removeListener(`close`,s),this.off(`close`,c),this.off(`upgrading`,l)};n.once(`open`,i),n.once(`error`,o),n.once(`close`,s),this.once(`close`,c),this.once(`upgrading`,l),this._upgrades.indexOf(`webtransport`)!==-1&&t!==`webtransport`?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState=`open`,e.priorWebsocketSuccess=this.transport.name===`websocket`,this.emitReserved(`open`),this.flush(),this.readyState===`open`&&this.opts.upgrade)for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}_onPacket(e){if(this.readyState===`opening`||this.readyState===`open`||this.readyState===`closing`)switch(this.emitReserved(`packet`,e),this.emitReserved(`heartbeat`),e.type){case`open`:this.onHandshake(JSON.parse(e.data));break;case`ping`:this._sendPacket(`pong`),this.emitReserved(`ping`),this.emitReserved(`pong`),this._resetPingTimeout();break;case`error`:let t=Error(`server error`);t.code=e.data,this._onError(t);break;case`message`:this.emitReserved(`data`,e.data),this.emitReserved(`message`,e.data)}}onHandshake(e){this.emitReserved(`handshake`,e),this.id=e.sid,this.transport.query.sid=e.sid,this._upgrades=this._filterUpgrades(e.upgrades),this._pingInterval=e.pingInterval,this._pingTimeout=e.pingTimeout,this._maxPayload=e.maxPayload,this.onOpen(),this.readyState!==`closed`&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);let e=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+e,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose(`ping timeout`)},e),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved(`drain`):this.flush()}flush(){if(this.readyState!==`closed`&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){let e=this._getWritablePackets();this.transport.send(e),this._prevBufferLen=e.length,this.emitReserved(`flush`)}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name===`polling`&&this.writeBuffer.length>1))return this.writeBuffer;let e=1;for(let t=0;t<this.writeBuffer.length;t++){let n=this.writeBuffer[t].data;if(n&&(e+=we(n)),t>0&&e>this._maxPayload)return this.writeBuffer.slice(0,t);e+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;let e=Date.now()>this._pingTimeoutTime;return e&&(this._pingTimeoutTime=0,ve(()=>{this._onClose(`ping timeout`)},this.setTimeoutFn)),e}write(e,t,n){return this._sendPacket(`message`,e,t,n),this}send(e,t,n){return this._sendPacket(`message`,e,t,n),this}_sendPacket(e,t,n,r){if(typeof t==`function`&&(r=t,t=void 0),typeof n==`function`&&(r=n,n=null),this.readyState===`closing`||this.readyState===`closed`)return;n||={},n.compress=!1!==n.compress;let i={type:e,data:t,options:n};this.emitReserved(`packetCreate`,i),this.writeBuffer.push(i),r&&this.once(`flush`,r),this.flush()}close(){let e=()=>{this._onClose(`forced close`),this.transport.close()},t=()=>{this.off(`upgrade`,t),this.off(`upgradeError`,t),e()},n=()=>{this.once(`upgrade`,t),this.once(`upgradeError`,t)};return(this.readyState===`opening`||this.readyState===`open`)&&(this.readyState=`closing`,this.writeBuffer.length?this.once(`drain`,()=>{this.upgrading?n():e()}):this.upgrading?n():e()),this}_onError(t){if(e.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState===`opening`)return this.transports.shift(),this._open();this.emitReserved(`error`,t),this._onClose(`transport error`,t)}_onClose(e,t){if(this.readyState===`opening`||this.readyState===`open`||this.readyState===`closing`){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners(`close`),this.transport.close(),this.transport.removeAllListeners(),Ye&&(this._beforeunloadEventListener&&removeEventListener(`beforeunload`,this._beforeunloadEventListener,!1),this._offlineEventListener)){let e=Xe.indexOf(this._offlineEventListener);e!==-1&&Xe.splice(e,1)}this.readyState=`closed`,this.id=null,this.emitReserved(`close`,e,t),this.writeBuffer=[],this._prevBufferLen=0}}_filterUpgrades(e){let t=[];for(let n=0;n<e.length;n++)~this.transports.indexOf(e[n])&&t.push(e[n]);return t}};Ze.protocol=4,Ze.protocol;function Qe(e,t=``,n){let r=e;n||=typeof location<`u`&&location,e??=n.protocol+`//`+n.host,typeof e==`string`&&(e.charAt(0)===`/`&&(e=e.charAt(1)===`/`?n.protocol+e:n.host+e),/^(https?|wss?):\/\//.test(e)||(e=n===void 0?`https://`+e:n.protocol+`//`+e),r=Ke(e)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port=`80`:/^(http|ws)s$/.test(r.protocol)&&(r.port=`443`)),r.path=r.path||`/`;let i=r.host.indexOf(`:`)===-1?r.host:`[`+r.host+`]`;return r.id=r.protocol+`://`+i+`:`+r.port+t,r.href=r.protocol+`://`+i+(n&&n.port===r.port?``:`:`+r.port),r}var $e=typeof ArrayBuffer==`function`,et=e=>typeof ArrayBuffer.isView==`function`?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,tt=Object.prototype.toString,nt=typeof Blob==`function`||typeof Blob<`u`&&tt.call(Blob)===`[object BlobConstructor]`,rt=typeof File==`function`||typeof File<`u`&&tt.call(File)===`[object FileConstructor]`;function it(e){return $e&&(e instanceof ArrayBuffer||et(e))||nt&&e instanceof Blob||rt&&e instanceof File}function at(e,t){if(!e||typeof e!=`object`)return!1;if(Array.isArray(e)){for(let t=0,n=e.length;t<n;t++)if(at(e[t]))return!0;return!1}if(it(e))return!0;if(e.toJSON&&typeof e.toJSON==`function`&&arguments.length===1)return at(e.toJSON(),!0);for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&at(e[t]))return!0;return!1}function ot(e){let t=[],n=e.data,r=e;return r.data=st(n,t),r.attachments=t.length,{packet:r,buffers:t}}function st(e,t,n){if(!e)return e;if(it(e)){let n={_placeholder:!0,num:t.length};return t.push(e),n}if(Array.isArray(e)){let n=Array(e.length);for(let r=0;r<e.length;r++)n[r]=st(e[r],t);return n}if(typeof e==`object`&&!(e instanceof Date)){if(e.toJSON&&typeof e.toJSON==`function`&&!n)return st(e.toJSON(),t,!0);let r={};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=st(e[n],t));return r}return e}function ct(e,t){return e.data=lt(e.data,t),delete e.attachments,e}function lt(e,t){if(!e)return e;if(e&&e._placeholder===!0){if(typeof e.num==`number`&&e.num>=0&&e.num<t.length)return t[e.num];throw Error(`illegal attachments`)}if(Array.isArray(e))for(let n=0;n<e.length;n++)e[n]=lt(e[n],t);else if(typeof e==`object`)for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(e[n]=lt(e[n],t));return e}var ut=s({Decoder:()=>pt,Encoder:()=>ft,PacketType:()=>N,isPacketValid:()=>bt,protocol:()=>5}),dt=[`connect`,`connect_error`,`disconnect`,`disconnecting`,`newListener`,`removeListener`],N;(function(e){e[e.CONNECT=0]=`CONNECT`,e[e.DISCONNECT=1]=`DISCONNECT`,e[e.EVENT=2]=`EVENT`,e[e.ACK=3]=`ACK`,e[e.CONNECT_ERROR=4]=`CONNECT_ERROR`,e[e.BINARY_EVENT=5]=`BINARY_EVENT`,e[e.BINARY_ACK=6]=`BINARY_ACK`})(N||={});var ft=class{constructor(e){this.replacer=e}encode(e){return(e.type===N.EVENT||e.type===N.ACK)&&at(e)?this.encodeAsBinary({type:e.type===N.EVENT?N.BINARY_EVENT:N.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=``+e.type;return(e.type===N.BINARY_EVENT||e.type===N.BINARY_ACK)&&(t+=e.attachments+`-`),e.nsp&&e.nsp!==`/`&&(t+=e.nsp+`,`),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){let t=ot(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}},pt=class e extends ge{constructor(e){super(),this.opts=Object.assign({reviver:void 0,maxAttachments:10},typeof e==`function`?{reviver:e}:e)}add(e){let t;if(typeof e==`string`){if(this.reconstructor)throw Error(`got plaintext data when reconstructing a packet`);t=this.decodeString(e);let n=t.type===N.BINARY_EVENT;n||t.type===N.BINARY_ACK?(t.type=n?N.EVENT:N.ACK,this.reconstructor=new mt(t)):super.emitReserved(`decoded`,t)}else if(it(e)||e.base64){if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved(`decoded`,t));else throw Error(`got binary data when not reconstructing a packet`)}else throw Error(`Unknown type: `+e)}decodeString(t){let n=0,r={type:Number(t.charAt(0))};if(N[r.type]===void 0)throw Error(`unknown packet type `+r.type);if(r.type===N.BINARY_EVENT||r.type===N.BINARY_ACK){let e=n+1;for(;t.charAt(++n)!==`-`&&n!=t.length;);let i=t.substring(e,n);if(i!=Number(i)||t.charAt(n)!==`-`)throw Error(`Illegal attachments`);let a=Number(i);if(!gt(a)||a<1)throw Error(`Illegal attachments`);if(a>this.opts.maxAttachments)throw Error(`too many attachments`);r.attachments=a}if(t.charAt(n+1)===`/`){let e=n+1;for(;++n&&t.charAt(n)!==`,`&&n!==t.length;);r.nsp=t.substring(e,n)}else r.nsp=`/`;let i=t.charAt(n+1);if(i!==``&&Number(i)==i){let e=n+1;for(;++n;){let e=t.charAt(n);if(e==null||Number(e)!=e){--n;break}if(n===t.length)break}r.id=Number(t.substring(e,n+1))}if(t.charAt(++n)){let i=this.tryParse(t.substr(n));if(e.isPayloadValid(r.type,i))r.data=i;else throw Error(`invalid payload`)}return r}tryParse(e){try{return JSON.parse(e,this.opts.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case N.CONNECT:return vt(t);case N.DISCONNECT:return t===void 0;case N.CONNECT_ERROR:return typeof t==`string`||vt(t);case N.EVENT:case N.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]==`number`||typeof t[0]==`string`&&dt.indexOf(t[0])===-1);case N.ACK:case N.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&=(this.reconstructor.finishedReconstruction(),null)}},mt=class{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){let e=ct(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function ht(e){return typeof e==`string`}var gt=Number.isInteger||function(e){return typeof e==`number`&&isFinite(e)&&Math.floor(e)===e};function _t(e){return e===void 0||gt(e)}function vt(e){return Object.prototype.toString.call(e)===`[object Object]`}function yt(e,t){switch(e){case N.CONNECT:return t===void 0||vt(t);case N.DISCONNECT:return t===void 0;case N.EVENT:return Array.isArray(t)&&(typeof t[0]==`number`||typeof t[0]==`string`&&dt.indexOf(t[0])===-1);case N.ACK:return Array.isArray(t);case N.CONNECT_ERROR:return typeof t==`string`||vt(t);default:return!1}}function bt(e){return ht(e.nsp)&&_t(e.id)&&yt(e.type,e.data)}function xt(e,t,n){return e.on(t,n),function(){e.off(t,n)}}var St=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),Ct=class extends ge{constructor(e,t,n){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,n&&n.auth&&(this.auth=n.auth),this._opts=Object.assign({},n),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;let e=this.io;this.subs=[xt(e,`open`,this.onopen.bind(this)),xt(e,`packet`,this.onpacket.bind(this)),xt(e,`error`,this.onerror.bind(this)),xt(e,`close`,this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState===`open`&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift(`message`),this.emit.apply(this,e),this}emit(e,...t){if(St.hasOwnProperty(e))throw Error(`"`+e.toString()+`" is a reserved event name`);if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;let n={type:N.EVENT,data:t};if(n.options={},n.options.compress=this.flags.compress!==!1,typeof t[t.length-1]==`function`){let e=this.ids++,r=t.pop();this._registerAckCallback(e,r),n.id=e}let r=this.io.engine?.transport?.writable,i=this.connected&&!this.io.engine?._hasPingExpired();return this.flags.volatile&&!r||(i?(this.notifyOutgoingListeners(n),this.packet(n)):this.sendBuffer.push(n)),this.flags={},this}_registerAckCallback(e,t){let n=this.flags.timeout??this._opts.ackTimeout;if(n===void 0){this.acks[e]=t;return}let r=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let t=0;t<this.sendBuffer.length;t++)this.sendBuffer[t].id===e&&this.sendBuffer.splice(t,1);t.call(this,Error(`operation has timed out`))},n),i=(...e)=>{this.io.clearTimeoutFn(r),t.apply(this,e)};i.withError=!0,this.acks[e]=i}emitWithAck(e,...t){return new Promise((n,r)=>{let i=(e,t)=>e?r(e):n(t);i.withError=!0,t.push(i),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]==`function`&&(t=e.pop());let n={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((e,...r)=>(this._queue[0],e===null?(this._queue.shift(),t&&t(null,...r)):n.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(e)),n.pending=!1,this._drainQueue())),this._queue.push(n),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;let t=this._queue[0];(!t.pending||e)&&(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth==`function`?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:N.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved(`connect_error`,e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved(`disconnect`,e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(t=>String(t.id)===e)){let t=this.acks[e];delete this.acks[e],t.withError&&t.call(this,Error(`socket has been disconnected`))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case N.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved(`connect_error`,Error(`It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)`));break;case N.EVENT:case N.BINARY_EVENT:this.onevent(e);break;case N.ACK:case N.BINARY_ACK:this.onack(e);break;case N.DISCONNECT:this.ondisconnect();break;case N.CONNECT_ERROR:this.destroy();let t=Error(e.data.message);t.data=e.data.data,this.emitReserved(`connect_error`,t)}}onevent(e){let t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){let t=this._anyListeners.slice();for(let n of t)n.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]==`string`&&(this._lastOffset=e[e.length-1])}ack(e){let t=this,n=!1;return function(...r){n||(n=!0,t.packet({type:N.ACK,id:e,data:r}))}}onack(e){let t=this.acks[e.id];typeof t==`function`&&(delete this.acks[e.id],t.withError&&e.data.unshift(null),t.apply(this,e.data))}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this._drainQueue(!0),this.emitReserved(`connect`)}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose(`io server disconnect`)}destroy(){this.subs&&=(this.subs.forEach(e=>e()),void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:N.DISCONNECT}),this.destroy(),this.connected&&this.onclose(`io client disconnect`),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){let t=this._anyListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){let t=this._anyOutgoingListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let t=this._anyOutgoingListeners.slice();for(let n of t)n.apply(this,e.data)}}};function wt(e){e||={},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}wt.prototype.duration=function(){var e=this.ms*this.factor**+this.attempts++;if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+n:e-n}return Math.min(e,this.max)|0},wt.prototype.reset=function(){this.attempts=0},wt.prototype.setMin=function(e){this.ms=e},wt.prototype.setMax=function(e){this.max=e},wt.prototype.setJitter=function(e){this.jitter=e};var Tt=class extends ge{constructor(e,t){super(),this.nsps={},this.subs=[],e&&typeof e==`object`&&(t=e,e=void 0),t||={},t.path=t.path||`/socket.io`,this.opts=t,Se(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor(t.randomizationFactor??.5),this.backoff=new wt({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState=`closed`,this.uri=e;let n=t.parser||ut;this.encoder=new n.Encoder,this.decoder=new n.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)==null||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)==null||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)==null||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf(`open`))return this;this.engine=new Ze(this.uri,this.opts);let t=this.engine,n=this;this._readyState=`opening`,this.skipReconnect=!1;let r=xt(t,`open`,function(){n.onopen(),e&&e()}),i=t=>{this.cleanup(),this._readyState=`closed`,this.emitReserved(`error`,t),e?e(t):this.maybeReconnectOnOpen()},a=xt(t,`error`,i);if(!1!==this._timeout){let e=this._timeout,n=this.setTimeoutFn(()=>{r(),i(Error(`timeout`)),t.close()},e);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}return this.subs.push(r),this.subs.push(a),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState=`open`,this.emitReserved(`open`);let e=this.engine;this.subs.push(xt(e,`ping`,this.onping.bind(this)),xt(e,`data`,this.ondata.bind(this)),xt(e,`error`,this.onerror.bind(this)),xt(e,`close`,this.onclose.bind(this)),xt(this.decoder,`decoded`,this.ondecoded.bind(this)))}onping(){this.emitReserved(`ping`)}ondata(e){try{this.decoder.add(e)}catch(e){this.onclose(`parse error`,e)}}ondecoded(e){ve(()=>{this.emitReserved(`packet`,e)},this.setTimeoutFn)}onerror(e){this.emitReserved(`error`,e)}socket(e,t){let n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new Ct(this,e,t),this.nsps[e]=n),n}_destroy(e){let t=Object.keys(this.nsps);for(let e of t)if(this.nsps[e].active)return;this._close()}_packet(e){let t=this.encoder.encode(e);for(let n=0;n<t.length;n++)this.engine.write(t[n],e.options)}cleanup(){this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose(`forced close`)}disconnect(){return this._close()}onclose(e,t){var n;this.cleanup(),(n=this.engine)==null||n.close(),this.backoff.reset(),this._readyState=`closed`,this.emitReserved(`close`,e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;let e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved(`reconnect_failed`),this._reconnecting=!1;else{let t=this.backoff.duration();this._reconnecting=!0;let n=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved(`reconnect_attempt`,e.backoff.attempts),!e.skipReconnect&&e.open(t=>{t?(e._reconnecting=!1,e.reconnect(),this.emitReserved(`reconnect_error`,t)):e.onreconnect()}))},t);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}}onreconnect(){let e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved(`reconnect`,e)}},Et={};function Dt(e,t){typeof e==`object`&&(t=e,e=void 0),t||={};let n=Qe(e,t.path||`/socket.io`),r=n.source,i=n.id,a=n.path,o=Et[i]&&a in Et[i].nsps,s=t.forceNew||t[`force new connection`]||!1===t.multiplex||o,c;return s?c=new Tt(r,t):(Et[i]||(Et[i]=new Tt(r,t)),c=Et[i]),n.query&&!t.query&&(t.query=n.queryKey),c.socket(n.path,t)}Object.assign(Dt,{Manager:Tt,Socket:Ct,io:Dt,connect:Dt});var Ot=2e3,kt=4e3,At=1e3;function jt(e){return e?Array.isArray(e)?{models:e}:Array.isArray(e.models)?e:null:null}function Mt(e,t){return t?`${t.replace(/\/$/,``)}${e}`:e}function Nt(e=``){let[t,n]=(0,v.useState)([]),[r,i]=(0,v.useState)(!1),[a,o]=(0,v.useState)(`connecting`),[s,c]=(0,v.useState)(0),[l,u]=(0,v.useState)(null),[d,f]=(0,v.useState)(!1),[p,m]=(0,v.useState)(0),[h,g]=(0,v.useState)(`speed`),[_,y]=(0,v.useState)(!1),[b,x]=(0,v.useState)(0),[S,C]=(0,v.useState)(0),[w,T]=(0,v.useState)(null),ee=(0,v.useRef)(null),E=(0,v.useRef)(null),te=(0,v.useRef)(null),D=(0,v.useRef)(0),O=(0,v.useRef)(0),ne=(0,v.useRef)(!1),re=(0,v.useCallback)((e,t=`unknown`)=>{let r=jt(e);r&&ne.current&&(n(r.models??[]),g(r.pingMode??`speed`),u(r.nextPingAt??null),f(!!r.isPinging),m(Number.isFinite(r.pendingPings)?r.pendingPings:0),y(!!r.globalBenchmarkRunning),x(Number.isFinite(r.globalBenchmarkTotal)?r.globalBenchmarkTotal:0),C(Number.isFinite(r.globalBenchmarkCompleted)?r.globalBenchmarkCompleted:0),T(r.updateStatus&&r.updateStatus.allowedOutdated?r.updateStatus:null),c(e=>e+1),D.current=Date.now(),t!==`poll`&&(i(!0),o(t)))},[]),ie=(0,v.useCallback)(async()=>{try{let t=await fetch(Mt(`/api/state`,e),{headers:{Accept:`application/json`}});if(t.ok){re(await t.json(),`poll`),i(!0),o(e=>e===`socket`||e===`sse`?e:`poll`);return}}catch{}try{let t=await fetch(Mt(`/api/models`,e),{headers:{Accept:`application/json`}});if(!t.ok)throw Error(`HTTP ${t.status}`);re(await t.json(),`poll`),i(!0),o(e=>e===`socket`||e===`sse`?e:`poll`)}catch{i(!1),o(`offline`)}},[re,e]),ae=(0,v.useCallback)(()=>{if(!E.current&&ne.current)try{let t=new EventSource(Mt(`/api/events`,e));E.current=t,t.onopen=()=>{ne.current&&(i(!0),o(`sse`))};let n=e=>{try{re(JSON.parse(e.data),`sse`)}catch(e){console.warn(`[useSocket] SSE parse error:`,e)}};t.onmessage=n,t.addEventListener(`models`,n),t.onerror=()=>{t.close(),E.current===t&&(E.current=null),ee.current?.connected||i(!1)}}catch{E.current=null}},[re,e]),k=(0,v.useCallback)(()=>{let t=Date.now();if(!(t-O.current<At)){if(O.current=t,ee.current?.connected){ee.current.emit(`client:activity`);return}fetch(Mt(`/api/activity`,e),{method:`POST`}).catch(()=>{})}},[e]);return(0,v.useEffect)(()=>{ne.current=!0;let t=Dt(e||void 0,{transports:[`websocket`,`polling`],reconnectionDelay:500,reconnectionDelayMax:2500,timeout:1200});ee.current=t,t.on(`connect`,()=>{i(!0),o(`socket`),E.current?.close(),E.current=null,t.emit(`models:refresh`),t.emit(`client:activity`)}),t.on(`disconnect`,()=>{ne.current&&(i(!1),ae())}),t.on(`connect_error`,()=>{ne.current&&(i(!1),ae())}),t.on(`models:update`,e=>re(e,`socket`)),te.current=setInterval(()=>{let e=Date.now()-D.current>kt;(!t.connected||e)&&ie()},Ot),ie();let n=[`keydown`,`pointerdown`,`mousemove`,`focus`];for(let e of n)window.addEventListener(e,k,{passive:!0});return()=>{ne.current=!1;for(let e of n)window.removeEventListener(e,k);te.current&&clearInterval(te.current),t.disconnect(),E.current?.close(),ee.current=null,E.current=null}},[re,ie,k,e,ae]),{models:t,connected:r,transport:a,updateCount:s,nextPingAt:l,isPinging:d,pendingPings:p,pingMode:h,globalBenchmarkRunning:_,globalBenchmarkTotal:b,globalBenchmarkCompleted:S,updateStatus:w}}var Pt={"S+":0,S:1,"A+":2,A:3,"A-":4,"B+":5,B:6,C:7},Ft={Perfect:0,Normal:1,Slow:2,Spiky:3,"Very Slow":4,Overloaded:5,Unstable:6,"Not Active":7,Pending:8};function It(e){return Pt[e]??99}function Lt(e){return Ft[e]??99}function Rt(e){return!e||e===`—`?0:parseFloat(e.replace(`%`,``))||0}function zt(e){let t=Rt(e);return t>=65?`sweHigh`:t>=40?`sweMid`:`sweLow`}function Bt(e){return e==null||e===1/0||e>99e3?{text:`—`,cls:`pingNone`}:{text:`${e}ms`,cls:Vt(e)}}function Vt(e){return e==null||e===1/0?`pingNone`:e<500?`pingFast`:e<1500?`pingMedium`:`pingSlow`}function Ht(e){if(!e||e===`—`)return 0;let t=e.toLowerCase();return t.includes(`m`)?parseFloat(t)*1e3:t.includes(`k`)?parseFloat(t):0}function Ut(e){return!e||e.length<8?`••••••••`:`••••••••`+e.slice(-4)}var Wt=[`all`,`S+`,`S`,`A+`,`A`,`A-`,`B+`,`B`,`C`],Gt=[`all`,`up`,`down`,`pending`],Kt=[`all`,`Perfect`,`Normal`,`Spiky`,`Slow`,`Overloaded`,`Down`,`Unstable`,`Pending`],qt=[`all`,`up`,`timeout`,`down`,`pending`,`noauth`,`auth_error`],Jt=[`normal`,`configured`,`usable`];function Yt(e){return e.idx??9999}function Xt(e){return e.pingHistory||e.pings||[]}function Zt(e){let t=Xt(e);return(t.length>0?t[t.length-1]:null)?.ms??null}function Qt(e){let t=Xt(e).map(e=>e?.ms).filter(e=>typeof e==`number`&&Number.isFinite(e));return t.length<2?null:t[t.length-1]-t[0]}function $t(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function en(e,t,n){let r=e==null,i=t==null;return r&&i?0:r?1:i?-1:(e-t)*n}function tn(e,t,n){let r=typeof e==`string`?e:``,i=typeof t==`string`?t:``,a=r.length===0,o=i.length===0;return a&&o?0:a?1:o?-1:r.localeCompare(i)*n}var nn={up:0,pending:1,timeout:2,down:3,noauth:4,auth_error:5};function rn(e){let[t,n]=(0,v.useState)(`all`),[r,i]=(0,v.useState)(`all`),[a,o]=(0,v.useState)(`all`),[s,c]=(0,v.useState)(`all`),[l,u]=(0,v.useState)(`all`),[d,f]=(0,v.useState)(`normal`),[p,m]=(0,v.useState)(``),[h,g]=(0,v.useState)(null),[_,y]=(0,v.useState)(`avg`),[b,x]=(0,v.useState)(`asc`),S=(0,v.useCallback)((e,t,n)=>{n(t[(t.indexOf(e)+1)%t.length])},[]),C=(0,v.useCallback)(()=>S(t,Wt,n),[t,S]),w=(0,v.useCallback)(()=>S(r,Gt,i),[r,S]),T=(0,v.useCallback)(()=>S(s,Kt,c),[s,S]),ee=(0,v.useCallback)(()=>S(l,qt,u),[l,S]),E=(0,v.useCallback)(()=>S(d,Jt,f),[d,S]),te=(0,v.useCallback)(e=>{if(_!==e){y(e),x(`asc`);return}if(b===`asc`){x(`desc`);return}y(null),x(`asc`)},[_,b]),D=(0,v.useCallback)(()=>{n(`all`),i(`all`),o(`all`),c(`all`),u(`all`),f(`normal`),m(``),g(null),y(`avg`),x(`asc`)},[]);return{filtered:(0,v.useMemo)(()=>{let n=[...e];t!==`all`&&(n=n.filter(e=>e.tier===t)),r!==`all`&&(n=n.filter(e=>r===`up`?e.status===`up`:r===`down`?e.status===`down`||e.status===`timeout`:r!==`pending`||e.status===`pending`)),a!==`all`&&(n=n.filter(e=>e.providerKey===a)),s!==`all`&&(n=n.filter(e=>e.verdict===s)),l!==`all`&&(n=n.filter(e=>e.status===l)),d===`configured`?n=n.filter(e=>e.hasApiKey&&e.status!==`noauth`&&e.status!==`auth_error`):d===`usable`&&(n=n.filter(e=>e.status===`up`&&[`Perfect`,`Normal`,`Slow`].includes(e.verdict)));let i=p.trim().toLowerCase(),o=(h||``).trim().toLowerCase();return i&&(n=n.filter(e=>e.label.toLowerCase().includes(i)||e.modelId.toLowerCase().includes(i)||e.origin.toLowerCase().includes(i)||e.tier.toLowerCase().includes(i)||(e.verdict||``).toLowerCase().includes(i))),o&&(n=n.filter(e=>e.label.toLowerCase().includes(o)||e.modelId.toLowerCase().includes(o)||e.origin.toLowerCase().includes(o)||(e.ctx||``).toLowerCase().includes(o)||(e.providerKey||``).toLowerCase().includes(o))),n.sort((e,t)=>{if(!_)return Yt(e)-Yt(t);let n=b===`desc`?-1:1,r=0;return _===`mood`?r=en(Lt(e.verdict),Lt(t.verdict),n):_===`idx`?r=en(Yt(e),Yt(t),n):_===`tier`?r=en(It(e.tier),It(t.tier),n):_===`label`?r=tn(e.label,t.label,n):_===`origin`?r=tn(e.origin,t.origin,n):_===`sweScore`?r=en(Rt(e.sweScore),Rt(t.sweScore),n):_===`ctx`?r=en(Ht(e.ctx),Ht(t.ctx),n):_===`latestPing`?r=en(Zt(e),Zt(t),n):_===`avg`?r=en(e.avg==null||e.avg===1/0||e.avg>99e3?null:e.avg,t.avg==null||t.avg===1/0||t.avg>99e3?null:t.avg,n):_===`condition`?r=en(nn[e.status]??9,nn[t.status]??9,n):_===`verdict`?r=en(Lt(e.verdict),Lt(t.verdict),n):_===`stability`?r=en($t(e.stability),$t(t.stability),n):_===`uptime`?r=en($t(e.uptime),$t(t.uptime),n):_===`aiLatency`?r=en(e.benchmark?.ok?e.benchmark.totalMs:null,t.benchmark?.ok?t.benchmark.totalMs:null,n):_===`tps`?r=en(e.benchmark?.ok?e.benchmark.tokensPerSecond??0:null,t.benchmark?.ok?t.benchmark.tokensPerSecond??0:null,n):_===`quota`?r=en($t(e.usagePercent),$t(t.usagePercent),n):_===`trend`&&(r=en(Qt(e),Qt(t),n)),r||Yt(e)-Yt(t)}),n},[e,t,r,a,s,l,d,p,h,_,b]),filterTier:t,setFilterTier:n,cycleTier:C,filterStatus:r,setFilterStatus:i,cycleStatus:w,filterProvider:a,setFilterProvider:o,filterVerdict:s,setFilterVerdict:c,cycleVerdict:T,filterHealth:l,setFilterHealth:u,cycleHealth:ee,visibilityMode:d,setVisibilityMode:f,cycleVisibility:E,searchQuery:p,setSearchQuery:m,customTextFilter:h,setCustomTextFilter:g,sortColumn:_,sortDirection:b,toggleSort:te,resetView:D}}var an=[`auto`,`dark`,`light`];function on(){if(typeof window>`u`||typeof window.matchMedia!=`function`)return`dark`;try{return window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}catch{return`dark`}}function sn(){if(typeof document>`u`)return`auto`;let e=document.documentElement.getAttribute(`data-theme`);return e===`auto`||e===`dark`||e===`light`?e:`auto`}function cn(){let[e,t]=(0,v.useState)(sn),[n,r]=(0,v.useState)(on);(0,v.useEffect)(()=>{if(typeof window>`u`||typeof window.matchMedia!=`function`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=e=>r(e.matches?`dark`:`light`);if(typeof e.addEventListener==`function`)return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t);if(typeof e.addListener==`function`)return e.addListener(t),()=>e.removeListener(t)},[]),(0,v.useEffect)(()=>{let t=e===`auto`?n:e;document.documentElement.setAttribute(`data-theme`,t),document.documentElement.setAttribute(`data-theme-preference`,e)},[e,n]);let i=(0,v.useCallback)(()=>{t(e=>an[(an.indexOf(e)+1)%an.length])},[]),a=(0,v.useCallback)(e=>{an.includes(e)&&t(e)},[]);return{theme:e,resolvedTheme:e===`auto`?n:e,setTheme:a,cycle:i}}var ln=Object.freeze([]);function un({models:e}={}){let[t,n]=(0,v.useState)(ln),[r,i]=(0,v.useState)(!1),[a,o]=(0,v.useState)(!0),[s,c]=(0,v.useState)(null),l=(0,v.useCallback)(async()=>{try{let e=await fetch(`/api/favorites`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();n(Array.isArray(t.favorites)?t.favorites:[]),i(!!t.pinnedAndSticky),c(null)}catch(e){c(e.message||`Failed to load favorites`),n(ln),i(!1)}finally{o(!1)}},[]);(0,v.useEffect)(()=>{l()},[l]);let u=(0,v.useMemo)(()=>{let e=new Map;return t.forEach((t,n)=>e.set(t,n)),e},[t]),d=(0,v.useCallback)(e=>{if(!e)return!1;let t=`${e.providerKey}/${e.modelId}`;return u.has(t)},[u]),f=(0,v.useCallback)(e=>{if(!e)return 2**53-1;let t=`${e.providerKey}/${e.modelId}`,n=u.get(t);return n===void 0?2**53-1:n},[u]),p=(0,v.useCallback)(e=>e?`${e.providerKey}/${e.modelId}`:null,[]),m=(0,v.useCallback)(async e=>{try{let t=await fetch(`/api/favorites`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({favorites:e})});if(!t.ok)throw Error(`HTTP ${t.status}`);n(e)}catch(e){c(e.message||`Failed to save favorites`)}},[]);return{favorites:t,pinnedAndSticky:r,isFavorite:d,favoriteRank:f,toggle:(0,v.useCallback)(async e=>{let n=p(e);if(!n)return;let r=u.has(n)?t.filter(e=>e!==n):[...t,n];await m(r)},[t,u,p,m]),reorder:(0,v.useCallback)(async(e,n)=>{let r=p(e);if(!r)return;let i=t.indexOf(r);if(i<0)return;let a=n===`up`?i-1:i+1;if(a<0||a>=t.length)return;let o=[...t];[o[i],o[a]]=[o[a],o[i]],await m(o)},[t,p,m]),setPinnedAndSticky:(0,v.useCallback)(async e=>{i(!!e);try{await fetch(`/api/favorites`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pinnedAndSticky:!!e})})}catch(e){c(e.message||`Failed to save display mode`)}},[]),refresh:l,loading:a,error:s}}var dn=[`opencode`,`pi`,`jcode`,`opencode-desktop`,`opencode-web`,`openclaw`,`crush`,`goose`,`aider`,`qwen`,`openhands`,`amp`,`forgecode`,`fcm_router`,`zcode`],fn=`opencode`;function pn(e){return dn.includes(e)?e:fn}function mn({onToast:e}={}){let[t,n]=(0,v.useState)(fn),r=(0,v.useRef)(!1);(0,v.useEffect)(()=>{let t=!1;async function i(){try{let e=await fetch(`/api/tool-mode`),i=await e.json().catch(()=>({}));!t&&!r.current&&e.ok&&n(pn(i.mode))}catch(n){t||e?.(`Tool mode load failed: ${n.message}`,`error`)}}return i(),()=>{t=!0}},[e]);let i=(0,v.useCallback)(async t=>{let i=pn(t);r.current=!0,n(i);try{let e=await fetch(`/api/tool-mode`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({mode:i})}),t=await e.json().catch(()=>({}));if(!e.ok){let n=t?.error,r=typeof n==`string`&&n||n?.message||`HTTP ${e.status}`;throw Error(r)}return n(pn(t.mode)),{ok:!0,mode:pn(t.mode)}}catch(t){return e?.(`Tool mode save failed: ${t.message}`,`error`),{ok:!1,error:t.message,mode:i}}},[e]),a=(0,v.useCallback)(()=>{let e=dn[(dn.indexOf(t)+1)%dn.length]||fn;return i(e)},[i,t]);return{toolMode:t,tools:(0,v.useMemo)(()=>[...dn],[]),setToolMode:i,cycleToolMode:a}}var hn={opencode:{label:`OpenCode CLI`,emoji:`📦`,flag:`--opencode`,color:[110,214,255]},"opencode-desktop":{label:`OpenCode Desktop`,emoji:`📦`,flag:`--opencode-desktop`,color:[149,205,255]},"opencode-web":{label:`OpenCode Web`,emoji:`📦`,flag:`--opencode-web`,color:[180,220,255]},openclaw:{label:`OpenClaw`,emoji:`🦞`,flag:`--openclaw`,color:[255,129,129]},crush:{label:`Crush`,emoji:`💘`,flag:`--crush`,color:[255,168,209]},goose:{label:`Goose`,emoji:`🪿`,flag:`--goose`,color:[132,235,168]},pi:{label:`Pi`,emoji:`π`,flag:`--pi`,color:[173,216,230]},aider:{label:`Aider`,emoji:`🛠`,flag:`--aider`,color:[255,208,102]},kilo:{label:`Kilo CLI`,emoji:`⚡️`,flag:`--kilo`,color:[255,107,107]},qwen:{label:`Qwen Code`,emoji:`🐉`,flag:`--qwen`,color:[255,213,128]},openhands:{label:`OpenHands`,emoji:`🤲`,flag:`--openhands`,color:[228,191,239]},amp:{label:`Amp`,emoji:`⚡`,flag:`--amp`,color:[255,232,98]},hermes:{label:`Hermes`,emoji:`🔮`,flag:`--hermes`,color:[200,160,255]},continue:{label:`Continue CLI`,emoji:`▶️`,flag:`--continue`,color:[255,100,100]},cline:{label:`Cline`,emoji:`🧠`,flag:`--cline`,color:[100,220,180]},caveman:{label:`Caveman Code`,emoji:`🪨`,flag:`--caveman`,color:[180,130,80]},jcode:{label:`jcode`,emoji:`🪼`,flag:`--jcode`,color:[255,140,0]},xcode:{label:`Xcode Intelligence`,emoji:`🛠️`,flag:`--xcode`,color:[20,126,251]},fcm_router:{label:`FCM Router`,emoji:`🧭`,flag:`--fcm-router`,color:[80,200,120]},copilot:{label:`Copilot CLI`,emoji:`🤖`,flag:`--copilot`,color:[200,220,255]},forgecode:{label:`ForgeCode`,emoji:`🔥`,flag:`--forgecode`,color:[255,120,50]},zcode:{label:`ZCode`,emoji:`🧊`,flag:`--zcode`,color:[60,160,230]}},gn=[`opencode`,`pi`,`jcode`,`opencode-desktop`,`opencode-web`,`openclaw`,`crush`,`goose`,`aider`,`kilo`,`qwen`,`openhands`,`amp`,`hermes`,`continue`,`cline`,`xcode`,`fcm_router`,`caveman`,`copilot`,`forgecode`,`zcode`];function _n(e){return hn[e]||{label:e,emoji:`•`,flag:null}}var vn=Object.keys(hn).filter(e=>!hn[e].cliOnly);function yn(e){return vn}function bn(e,t){return yn(e).includes(t)}function xn(e,t,n,r=3){let i=parseFloat(e)||0;return n.filter(e=>!e.hidden&&bn(e.providerKey,t)).map(e=>({modelId:e.modelId,label:e.label,tier:e.tier,sweScore:e.sweScore||`-`,providerKey:e.providerKey,sweDelta:Math.abs((parseFloat(e.sweScore)||0)-i)})).sort((e,t)=>e.sweDelta-t.sweDelta).slice(0,r)}var Sn=new Set([`S+`,`S`,`A+`,`A`,`A-`,`B+`,`B`,`C`,`all`]),Cn=new Set([`up`,`down`,`pending`,`all`]),wn=new Set([`mood`,`idx`,`tier`,`sweScore`,`ctx`,`label`,`origin`,`latestPing`,`avg`,`condition`,`verdict`,`stability`,`uptime`,`aiLatency`,`tps`,`trend`]),Tn=new Set([`dashboard`,`settings`,`analytics`,`recommend`,`router`,`help`,`changelog`,`playground`,`install-endpoints`,`installed-models`]),En=new Set([`asc`,`desc`]),Dn=new Set(gn);function On(){if(typeof window>`u`)return null;let e=new URLSearchParams(window.location.search),t={},n=window.location.pathname.replace(/^\/|\/$/g,``);return t.view=n&&Tn.has(n)?n:e.has(`view`)&&Tn.has(e.get(`view`))?e.get(`view`):`dashboard`,e.has(`tier`)&&Sn.has(e.get(`tier`))&&(t.tier=e.get(`tier`)),e.has(`status`)&&Cn.has(e.get(`status`))&&(t.status=e.get(`status`)),e.has(`provider`)&&(t.provider=e.get(`provider`)),e.has(`verdict`)&&(t.verdict=e.get(`verdict`)),e.has(`health`)&&(t.health=e.get(`health`)),e.has(`sort`)&&wn.has(e.get(`sort`))&&(t.sort=e.get(`sort`)),e.has(`dir`)&&En.has(e.get(`dir`))&&(t.dir=e.get(`dir`)),e.has(`q`)&&(t.q=e.get(`q`)),e.has(`toolMode`)&&Dn.has(e.get(`toolMode`))&&(t.toolMode=e.get(`toolMode`)),e.has(`recommend`)&&[`1`,`true`,`open`].includes(e.get(`recommend`))&&(t.view=`recommend`),e.has(`palette`)&&e.get(`palette`)===`open`&&(t.palette=`open`),t}function kn(e){let t=new URLSearchParams;return e?(e.currentView&&e.currentView!==`dashboard`&&t.set(`view`,e.currentView),e.filterTier&&e.filterTier!==`all`&&t.set(`tier`,e.filterTier),e.filterStatus&&e.filterStatus!==`all`&&t.set(`status`,e.filterStatus),e.filterProvider&&e.filterProvider!==`all`&&t.set(`provider`,e.filterProvider),e.filterVerdict&&e.filterVerdict!==`all`&&t.set(`verdict`,e.filterVerdict),e.filterHealth&&e.filterHealth!==`all`&&t.set(`health`,e.filterHealth),e.sortColumn&&(t.set(`sort`,e.sortColumn),e.sortDirection&&t.set(`dir`,e.sortDirection)),e.searchQuery&&t.set(`q`,e.searchQuery),e.toolMode&&t.set(`toolMode`,e.toolMode),e.paletteOpen&&t.set(`palette`,`open`),t):t}function An(e){if(typeof window>`u`)return;let t=kn(e),n=t.get(`view`)||`dashboard`;t.delete(`view`);let r=t.toString(),i=n===`dashboard`?`/`:`/${n}`,a=r?`${i}?${r}${window.location.hash}`:`${i}${window.location.hash}`;window.history.replaceState({},``,a)}function jn({currentView:e,setCurrentView:t,filterState:n=null,paletteOpen:r=!1,setPaletteOpen:i=()=>{},toolMode:a=null,setToolMode:o=()=>{}}){let s=(0,v.useRef)(null),c=(0,v.useRef)(!1);(0,v.useEffect)(()=>{if(c.current)return;c.current=!0;let r=On();r&&(r.view&&t&&r.view!==e&&t(r.view),r.tier&&n?.setFilterTier&&n.setFilterTier(r.tier),r.status&&n?.setFilterStatus&&n.setFilterStatus(r.status),r.provider&&n?.setFilterProvider&&n.setFilterProvider(r.provider),r.verdict&&n?.setFilterVerdict&&n.setFilterVerdict(r.verdict),r.health&&n?.setFilterHealth&&n.setFilterHealth(r.health),r.sort&&n?.toggleSort&&(n.setSortColumn&&n.setSortColumn(r.sort),r.dir&&n.setSortDirection&&n.setSortDirection(r.dir)),r.q!==void 0&&n?.setSearchQuery&&n.setSearchQuery(r.q),r.toolMode&&o&&o(r.toolMode),r.palette===`open`&&i&&i(!0))},[]),(0,v.useEffect)(()=>{if(c.current)return s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{An({currentView:e,filterTier:n?.filterTier,filterStatus:n?.filterStatus,filterProvider:n?.filterProvider,filterVerdict:n?.filterVerdict,filterHealth:n?.filterHealth,sortColumn:n?.sortColumn,sortDirection:n?.sortDirection,searchQuery:n?.searchQuery,toolMode:a,paletteOpen:r})},80),()=>{s.current&&clearTimeout(s.current)}},[e,r,a,n?.filterTier,n?.filterStatus,n?.filterProvider,n?.filterVerdict,n?.filterHealth,n?.sortColumn,n?.sortDirection,n?.searchQuery])}var Mn=3e5;function Nn(e,t){if(!e||!t)return 0;let n=e.replace(/^v/,``).split(`.`).map(Number),r=t.replace(/^v/,``).split(`.`).map(Number);for(let e=0;e<Math.max(n.length,r.length);e++){let t=n[e]||0,i=r[e]||0;if(i!==t)return i-t}return 0}function Pn({onToast:e}={}){let[t,n]=(0,v.useState)(null),[r,i]=(0,v.useState)(null),[a,o]=(0,v.useState)(null),[s,c]=(0,v.useState)(null),[l,u]=(0,v.useState)(!1),d=(0,v.useRef)(null),f=(0,v.useCallback)(async()=>{u(!0);try{let e=await fetch(`/api/version`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();n(t.local??null),i(t.latest??null),o(t.lastReleaseDate??null),c(t.error??null)}catch(e){c(e.message||`update check failed`)}finally{u(!1)}},[]);(0,v.useEffect)(()=>(f(),d.current=setInterval(f,Mn),()=>{d.current&&clearInterval(d.current)}),[f]);let p=!!(r&&t&&Nn(r,t)>0);return{localVersion:t,latestVersion:r,lastReleaseDate:a,updateAvailable:p,checkNow:f,runUpdate:(0,v.useCallback)(async()=>{if(!p){e?.(`No update available.`,`info`);return}try{let t=await fetch(`/api/update/run`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({version:r})}),n=await t.json().catch(()=>({}));t.ok&&n?.started?e?.(`Update to v${r} started — restart the dashboard to apply.`,`success`):e?.(n?.error||n?.message||`Update failed`,`error`)}catch(t){e?.(t.message||`Update request failed`,`error`)}},[p,r,e]),loading:l,error:s}}var Fn={outline:{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`},filled:{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`currentColor`,stroke:`none`}},P=(e,t,n,r)=>{let i=(0,v.forwardRef)(({color:n=`currentColor`,size:i=24,stroke:a=2,title:o,className:s,children:c,...l},u)=>(0,v.createElement)(`svg`,{ref:u,...Fn[e],width:i,height:i,className:[`tabler-icon`,`tabler-icon-${t}`,s].filter(Boolean).join(` `),...e===`filled`?{fill:n}:{strokeWidth:a,stroke:n},...l},[o&&(0,v.createElement)(`title`,{key:`svg-title`},o),...r.map(([e,t])=>(0,v.createElement)(e,t)),...Array.isArray(c)?c:[c]]));return i.displayName=`${n}`,i},In=P(`outline`,`activity`,`Activity`,[[`path`,{d:`M3 12h4l3 8l4 -16l3 8h4`,key:`svg-0`}]]),Ln=P(`outline`,`alert-octagon`,`AlertOctagon`,[[`path`,{d:`M12.802 2.165l5.575 2.389c.48 .206 .863 .589 1.07 1.07l2.388 5.574c.22 .512 .22 1.092 0 1.604l-2.389 5.575c-.206 .48 -.589 .863 -1.07 1.07l-5.574 2.388c-.512 .22 -1.092 .22 -1.604 0l-5.575 -2.389a2.036 2.036 0 0 1 -1.07 -1.07l-2.388 -5.574a2.036 2.036 0 0 1 0 -1.604l2.389 -5.575c.206 -.48 .589 -.863 1.07 -1.07l5.574 -2.388a2.036 2.036 0 0 1 1.604 0`,key:`svg-0`}],[`path`,{d:`M12 8v4`,key:`svg-1`}],[`path`,{d:`M12 16h.01`,key:`svg-2`}]]),Rn=P(`outline`,`alert-triangle`,`AlertTriangle`,[[`path`,{d:`M12 9v4`,key:`svg-0`}],[`path`,{d:`M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0`,key:`svg-1`}],[`path`,{d:`M12 16h.01`,key:`svg-2`}]]),zn=P(`outline`,`arrow-down`,`ArrowDown`,[[`path`,{d:`M12 5l0 14`,key:`svg-0`}],[`path`,{d:`M18 13l-6 6`,key:`svg-1`}],[`path`,{d:`M6 13l6 6`,key:`svg-2`}]]),Bn=P(`outline`,`arrow-left`,`ArrowLeft`,[[`path`,{d:`M5 12l14 0`,key:`svg-0`}],[`path`,{d:`M5 12l6 6`,key:`svg-1`}],[`path`,{d:`M5 12l6 -6`,key:`svg-2`}]]),Vn=P(`outline`,`arrow-right`,`ArrowRight`,[[`path`,{d:`M5 12l14 0`,key:`svg-0`}],[`path`,{d:`M13 18l6 -6`,key:`svg-1`}],[`path`,{d:`M13 6l6 6`,key:`svg-2`}]]),Hn=P(`outline`,`arrow-up`,`ArrowUp`,[[`path`,{d:`M12 5l0 14`,key:`svg-0`}],[`path`,{d:`M18 11l-6 -6`,key:`svg-1`}],[`path`,{d:`M6 11l6 -6`,key:`svg-2`}]]),Un=P(`outline`,`ban`,`Ban`,[[`path`,{d:`M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0`,key:`svg-0`}],[`path`,{d:`M5.7 5.7l12.6 12.6`,key:`svg-1`}]]),Wn=P(`outline`,`bolt`,`Bolt`,[[`path`,{d:`M13 3l0 7l6 0l-8 11l0 -7l-6 0l8 -11`,key:`svg-0`}]]),Gn=P(`outline`,`braces`,`Braces`,[[`path`,{d:`M7 4a2 2 0 0 0 -2 2v3a2 3 0 0 1 -2 3a2 3 0 0 1 2 3v3a2 2 0 0 0 2 2`,key:`svg-0`}],[`path`,{d:`M17 4a2 2 0 0 1 2 2v3a2 3 0 0 0 2 3a2 3 0 0 0 -2 3v3a2 2 0 0 1 -2 2`,key:`svg-1`}]]),Kn=P(`outline`,`check`,`Check`,[[`path`,{d:`M5 12l5 5l10 -10`,key:`svg-0`}]]),qn=P(`outline`,`checks`,`Checks`,[[`path`,{d:`M7 12l5 5l10 -10`,key:`svg-0`}],[`path`,{d:`M2 12l5 5m5 -5l5 -5`,key:`svg-1`}]]),Jn=P(`outline`,`chevron-down`,`ChevronDown`,[[`path`,{d:`M6 9l6 6l6 -6`,key:`svg-0`}]]),Yn=P(`outline`,`chevron-left`,`ChevronLeft`,[[`path`,{d:`M15 6l-6 6l6 6`,key:`svg-0`}]]),Xn=P(`outline`,`chevron-right`,`ChevronRight`,[[`path`,{d:`M9 6l6 6l-6 6`,key:`svg-0`}]]),Zn=P(`outline`,`chevron-up`,`ChevronUp`,[[`path`,{d:`M6 15l6 -6l6 6`,key:`svg-0`}]]),Qn=P(`outline`,`circle-check`,`CircleCheck`,[[`path`,{d:`M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0`,key:`svg-0`}],[`path`,{d:`M9 12l2 2l4 -4`,key:`svg-1`}]]),$n=P(`outline`,`circle-dotted`,`CircleDotted`,[[`path`,{d:`M7.5 4.21l0 .01`,key:`svg-0`}],[`path`,{d:`M4.21 7.5l0 .01`,key:`svg-1`}],[`path`,{d:`M3 12l0 .01`,key:`svg-2`}],[`path`,{d:`M4.21 16.5l0 .01`,key:`svg-3`}],[`path`,{d:`M7.5 19.79l0 .01`,key:`svg-4`}],[`path`,{d:`M12 21l0 .01`,key:`svg-5`}],[`path`,{d:`M16.5 19.79l0 .01`,key:`svg-6`}],[`path`,{d:`M19.79 16.5l0 .01`,key:`svg-7`}],[`path`,{d:`M21 12l0 .01`,key:`svg-8`}],[`path`,{d:`M19.79 7.5l0 .01`,key:`svg-9`}],[`path`,{d:`M16.5 4.21l0 .01`,key:`svg-10`}],[`path`,{d:`M12 3l0 .01`,key:`svg-11`}]]),er=P(`outline`,`clipboard`,`Clipboard`,[[`path`,{d:`M9 5h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2h-2`,key:`svg-0`}],[`path`,{d:`M9 5a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2`,key:`svg-1`}]]),tr=P(`outline`,`clock`,`Clock`,[[`path`,{d:`M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0`,key:`svg-0`}],[`path`,{d:`M12 7v5l3 3`,key:`svg-1`}]]),nr=P(`outline`,`cloud-off`,`CloudOff`,[[`path`,{d:`M9.58 5.548c.24 -.11 .492 -.207 .752 -.286c1.88 -.572 3.956 -.193 5.444 1c1.488 1.19 2.162 3.007 1.77 4.769h.99c1.913 0 3.464 1.56 3.464 3.486c0 .957 -.383 1.824 -1.003 2.454m-2.997 1.033h-11.343c-2.572 -.004 -4.657 -2.011 -4.657 -4.487c0 -2.475 2.085 -4.482 4.657 -4.482c.13 -.582 .37 -1.128 .7 -1.62`,key:`svg-0`}],[`path`,{d:`M3 3l18 18`,key:`svg-1`}]]),rr=P(`outline`,`command`,`Command`,[[`path`,{d:`M7 9a2 2 0 1 1 2 -2v10a2 2 0 1 1 -2 -2h10a2 2 0 1 1 -2 2v-10a2 2 0 1 1 2 2h-10`,key:`svg-0`}]]),ir=P(`outline`,`copy`,`Copy`,[[`path`,{d:`M7 9.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667l0 -8.666`,key:`svg-0`}],[`path`,{d:`M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1`,key:`svg-1`}]]),ar=P(`outline`,`dots`,`Dots`,[[`path`,{d:`M4 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-0`}],[`path`,{d:`M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-1`}],[`path`,{d:`M18 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-2`}]]),or=P(`outline`,`download`,`Download`,[[`path`,{d:`M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2`,key:`svg-0`}],[`path`,{d:`M7 11l5 5l5 -5`,key:`svg-1`}],[`path`,{d:`M12 4l0 12`,key:`svg-2`}]]),sr=P(`outline`,`error-404`,`Error404`,[[`path`,{d:`M3 8v3a1 1 0 0 0 1 1h3`,key:`svg-0`}],[`path`,{d:`M7 8v8`,key:`svg-1`}],[`path`,{d:`M17 8v3a1 1 0 0 0 1 1h3`,key:`svg-2`}],[`path`,{d:`M21 8v8`,key:`svg-3`}],[`path`,{d:`M10 10v4a2 2 0 1 0 4 0v-4a2 2 0 1 0 -4 0`,key:`svg-4`}]]),cr=P(`outline`,`external-link`,`ExternalLink`,[[`path`,{d:`M12 6h-6a2 2 0 0 0 -2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-6`,key:`svg-0`}],[`path`,{d:`M11 13l9 -9`,key:`svg-1`}],[`path`,{d:`M15 4h5v5`,key:`svg-2`}]]),lr=P(`outline`,`eye-off`,`EyeOff`,[[`path`,{d:`M10.585 10.587a2 2 0 0 0 2.829 2.828`,key:`svg-0`}],[`path`,{d:`M16.681 16.673a8.717 8.717 0 0 1 -4.681 1.327c-3.6 0 -6.6 -2 -9 -6c1.272 -2.12 2.712 -3.678 4.32 -4.674m2.86 -1.146a9.055 9.055 0 0 1 1.82 -.18c3.6 0 6.6 2 9 6c-.666 1.11 -1.379 2.067 -2.138 2.87`,key:`svg-1`}],[`path`,{d:`M3 3l18 18`,key:`svg-2`}]]),ur=P(`outline`,`eye`,`Eye`,[[`path`,{d:`M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0`,key:`svg-0`}],[`path`,{d:`M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6`,key:`svg-1`}]]),dr=P(`outline`,`file-spreadsheet`,`FileSpreadsheet`,[[`path`,{d:`M14 3v4a1 1 0 0 0 1 1h4`,key:`svg-0`}],[`path`,{d:`M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2`,key:`svg-1`}],[`path`,{d:`M8 11h8v7h-8l0 -7`,key:`svg-2`}],[`path`,{d:`M8 15h8`,key:`svg-3`}],[`path`,{d:`M11 11v7`,key:`svg-4`}]]),fr=P(`outline`,`filter`,`Filter`,[[`path`,{d:`M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227`,key:`svg-0`}]]),pr=P(`outline`,`flame`,`Flame`,[[`path`,{d:`M12 10.941c2.333 -3.308 .167 -7.823 -1 -8.941c0 3.395 -2.235 5.299 -3.667 6.706c-1.43 1.408 -2.333 3.294 -2.333 5.588c0 3.704 3.134 6.706 7 6.706c3.866 0 7 -3.002 7 -6.706c0 -1.712 -1.232 -4.403 -2.333 -5.588c-2.084 3.353 -3.257 3.353 -4.667 2.235`,key:`svg-0`}]]),mr=P(`outline`,`flask`,`Flask`,[[`path`,{d:`M9 3l6 0`,key:`svg-0`}],[`path`,{d:`M10 9l4 0`,key:`svg-1`}],[`path`,{d:`M10 3v6l-4 11a.7 .7 0 0 0 .5 1h11a.7 .7 0 0 0 .5 -1l-4 -11v-6`,key:`svg-2`}]]),hr=P(`outline`,`folders`,`Folders`,[[`path`,{d:`M9 3h3l2 2h5a2 2 0 0 1 2 2v7a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-9a2 2 0 0 1 2 -2`,key:`svg-0`}],[`path`,{d:`M17 16v2a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-9a2 2 0 0 1 2 -2h2`,key:`svg-1`}]]),gr=P(`outline`,`grip-vertical`,`GripVertical`,[[`path`,{d:`M8 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-0`}],[`path`,{d:`M8 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-1`}],[`path`,{d:`M8 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-2`}],[`path`,{d:`M14 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-3`}],[`path`,{d:`M14 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-4`}],[`path`,{d:`M14 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-5`}]]),_r=P(`outline`,`history`,`History`,[[`path`,{d:`M12 8l0 4l2 2`,key:`svg-0`}],[`path`,{d:`M3.05 11a9 9 0 1 1 .5 4m-.5 5v-5h5`,key:`svg-1`}]]),vr=P(`outline`,`hourglass-off`,`HourglassOff`,[[`path`,{d:`M18 18v2a1 1 0 0 1 -1 1h-10a1 1 0 0 1 -1 -1v-2a6 6 0 0 1 6 -6`,key:`svg-0`}],[`path`,{d:`M6 6a6 6 0 0 0 6 6m3.13 -.88a6 6 0 0 0 2.87 -5.12v-2a1 1 0 0 0 -1 -1h-10`,key:`svg-1`}],[`path`,{d:`M3 3l18 18`,key:`svg-2`}]]),yr=P(`outline`,`hourglass`,`Hourglass`,[[`path`,{d:`M6.5 7h11`,key:`svg-0`}],[`path`,{d:`M6.5 17h11`,key:`svg-1`}],[`path`,{d:`M6 20v-2a6 6 0 1 1 12 0v2a1 1 0 0 1 -1 1h-10a1 1 0 0 1 -1 -1`,key:`svg-2`}],[`path`,{d:`M6 4v2a6 6 0 1 0 12 0v-2a1 1 0 0 0 -1 -1h-10a1 1 0 0 0 -1 1`,key:`svg-3`}]]),br=P(`outline`,`key`,`Key`,[[`path`,{d:`M16.555 3.843l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.643 2.643a2.877 2.877 0 0 1 -4.069 0l-.301 -.301l-6.558 6.558a2 2 0 0 1 -1.239 .578l-.175 .008h-1.172a1 1 0 0 1 -.993 -.883l-.007 -.117v-1.172a2 2 0 0 1 .467 -1.284l.119 -.13l.414 -.414h2v-2h2v-2l2.144 -2.144l-.301 -.301a2.877 2.877 0 0 1 0 -4.069l2.643 -2.643a2.877 2.877 0 0 1 4.069 0`,key:`svg-0`}],[`path`,{d:`M15 9h.01`,key:`svg-1`}]]),xr=P(`outline`,`layout-dashboard`,`LayoutDashboard`,[[`path`,{d:`M5 4h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1`,key:`svg-0`}],[`path`,{d:`M5 16h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1`,key:`svg-1`}],[`path`,{d:`M15 12h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1`,key:`svg-2`}],[`path`,{d:`M15 4h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1`,key:`svg-3`}]]),Sr=P(`outline`,`list`,`List`,[[`path`,{d:`M9 6l11 0`,key:`svg-0`}],[`path`,{d:`M9 12l11 0`,key:`svg-1`}],[`path`,{d:`M9 18l11 0`,key:`svg-2`}],[`path`,{d:`M5 6l0 .01`,key:`svg-3`}],[`path`,{d:`M5 12l0 .01`,key:`svg-4`}],[`path`,{d:`M5 18l0 .01`,key:`svg-5`}]]),Cr=P(`outline`,`loader`,`Loader`,[[`path`,{d:`M12 6l0 -3`,key:`svg-0`}],[`path`,{d:`M16.25 7.75l2.15 -2.15`,key:`svg-1`}],[`path`,{d:`M18 12l3 0`,key:`svg-2`}],[`path`,{d:`M16.25 16.25l2.15 2.15`,key:`svg-3`}],[`path`,{d:`M12 18l0 3`,key:`svg-4`}],[`path`,{d:`M7.75 16.25l-2.15 2.15`,key:`svg-5`}],[`path`,{d:`M6 12l-3 0`,key:`svg-6`}],[`path`,{d:`M7.75 7.75l-2.15 -2.15`,key:`svg-7`}]]),wr=P(`outline`,`lock`,`Lock`,[[`path`,{d:`M5 13a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v6a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-6`,key:`svg-0`}],[`path`,{d:`M11 16a1 1 0 1 0 2 0a1 1 0 0 0 -2 0`,key:`svg-1`}],[`path`,{d:`M8 11v-4a4 4 0 1 1 8 0v4`,key:`svg-2`}]]),Tr=P(`outline`,`menu-2`,`Menu2`,[[`path`,{d:`M4 6l16 0`,key:`svg-0`}],[`path`,{d:`M4 12l16 0`,key:`svg-1`}],[`path`,{d:`M4 18l16 0`,key:`svg-2`}]]),Er=P(`outline`,`message-chatbot`,`MessageChatbot`,[[`path`,{d:`M18 4a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-5l-5 3v-3h-2a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12`,key:`svg-0`}],[`path`,{d:`M9.5 9h.01`,key:`svg-1`}],[`path`,{d:`M14.5 9h.01`,key:`svg-2`}],[`path`,{d:`M9.5 13a3.5 3.5 0 0 0 5 0`,key:`svg-3`}]]),Dr=P(`outline`,`moon`,`Moon`,[[`path`,{d:`M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454l0 .008`,key:`svg-0`}]]),Or=P(`outline`,`player-play`,`PlayerPlay`,[[`path`,{d:`M7 4v16l13 -8l-13 -8`,key:`svg-0`}]]),kr=P(`outline`,`player-stop`,`PlayerStop`,[[`path`,{d:`M5 7a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2l0 -10`,key:`svg-0`}]]),Ar=P(`outline`,`plug-connected`,`PlugConnected`,[[`path`,{d:`M7 12l5 5l-1.5 1.5a3.536 3.536 0 1 1 -5 -5l1.5 -1.5`,key:`svg-0`}],[`path`,{d:`M17 12l-5 -5l1.5 -1.5a3.536 3.536 0 1 1 5 5l-1.5 1.5`,key:`svg-1`}],[`path`,{d:`M3 21l2.5 -2.5`,key:`svg-2`}],[`path`,{d:`M18.5 5.5l2.5 -2.5`,key:`svg-3`}],[`path`,{d:`M10 11l-2 2`,key:`svg-4`}],[`path`,{d:`M13 14l-2 2`,key:`svg-5`}]]),jr=P(`outline`,`plug`,`Plug`,[[`path`,{d:`M9.785 6l8.215 8.215l-2.054 2.054a5.81 5.81 0 1 1 -8.215 -8.215l2.054 -2.054`,key:`svg-0`}],[`path`,{d:`M4 20l3.5 -3.5`,key:`svg-1`}],[`path`,{d:`M15 4l-3.5 3.5`,key:`svg-2`}],[`path`,{d:`M20 9l-3.5 3.5`,key:`svg-3`}]]),Mr=P(`outline`,`plus`,`Plus`,[[`path`,{d:`M12 5l0 14`,key:`svg-0`}],[`path`,{d:`M5 12l14 0`,key:`svg-1`}]]),Nr=P(`outline`,`question-mark`,`QuestionMark`,[[`path`,{d:`M8 8a3.5 3 0 0 1 3.5 -3h1a3.5 3 0 0 1 3.5 3a3 3 0 0 1 -2 3a3 4 0 0 0 -2 4`,key:`svg-0`}],[`path`,{d:`M12 19l0 .01`,key:`svg-1`}]]),Pr=P(`outline`,`refresh`,`Refresh`,[[`path`,{d:`M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4`,key:`svg-0`}],[`path`,{d:`M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4`,key:`svg-1`}]]),Fr=P(`outline`,`route`,`Route`,[[`path`,{d:`M3 19a2 2 0 1 0 4 0a2 2 0 0 0 -4 0`,key:`svg-0`}],[`path`,{d:`M19 7a2 2 0 1 0 0 -4a2 2 0 0 0 0 4`,key:`svg-1`}],[`path`,{d:`M11 19h5.5a3.5 3.5 0 0 0 0 -7h-8a3.5 3.5 0 0 1 0 -7h4.5`,key:`svg-2`}]]),Ir=P(`outline`,`search`,`Search`,[[`path`,{d:`M3 10a7 7 0 1 0 14 0a7 7 0 1 0 -14 0`,key:`svg-0`}],[`path`,{d:`M21 21l-6 -6`,key:`svg-1`}]]),Lr=P(`outline`,`send`,`Send`,[[`path`,{d:`M10 14l11 -11`,key:`svg-0`}],[`path`,{d:`M21 3l-6.5 18a.55 .55 0 0 1 -1 0l-3.5 -7l-7 -3.5a.55 .55 0 0 1 0 -1l18 -6.5`,key:`svg-1`}]]),Rr=P(`outline`,`settings`,`Settings`,[[`path`,{d:`M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065`,key:`svg-0`}],[`path`,{d:`M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0`,key:`svg-1`}]]),zr=P(`outline`,`sparkles`,`Sparkles`,[[`path`,{d:`M16 18a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2m0 -12a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2m-7 12a6 6 0 0 1 6 -6a6 6 0 0 1 -6 -6a6 6 0 0 1 -6 6a6 6 0 0 1 6 6`,key:`svg-0`}]]),Br=P(`outline`,`star`,`Star`,[[`path`,{d:`M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873l-6.158 -3.245`,key:`svg-0`}]]),Vr=P(`outline`,`sun`,`Sun`,[[`path`,{d:`M8 12a4 4 0 1 0 8 0a4 4 0 1 0 -8 0`,key:`svg-0`}],[`path`,{d:`M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7`,key:`svg-1`}]]),Hr=P(`outline`,`tool`,`Tool`,[[`path`,{d:`M7 10h3v-3l-3.5 -3.5a6 6 0 0 1 8 8l6 6a2 2 0 0 1 -3 3l-6 -6a6 6 0 0 1 -8 -8l3.5 3.5`,key:`svg-0`}]]),Ur=P(`outline`,`trash`,`Trash`,[[`path`,{d:`M4 7l16 0`,key:`svg-0`}],[`path`,{d:`M10 11l0 6`,key:`svg-1`}],[`path`,{d:`M14 11l0 6`,key:`svg-2`}],[`path`,{d:`M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12`,key:`svg-3`}],[`path`,{d:`M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3`,key:`svg-4`}]]),Wr=P(`outline`,`trophy`,`Trophy`,[[`path`,{d:`M8 21l8 0`,key:`svg-0`}],[`path`,{d:`M12 17l0 4`,key:`svg-1`}],[`path`,{d:`M7 4l10 0`,key:`svg-2`}],[`path`,{d:`M17 4v8a5 5 0 0 1 -10 0v-8`,key:`svg-3`}],[`path`,{d:`M3 9a2 2 0 1 0 4 0a2 2 0 1 0 -4 0`,key:`svg-4`}],[`path`,{d:`M17 9a2 2 0 1 0 4 0a2 2 0 1 0 -4 0`,key:`svg-5`}]]),Gr=P(`outline`,`upload`,`Upload`,[[`path`,{d:`M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2`,key:`svg-0`}],[`path`,{d:`M7 9l5 -5l5 5`,key:`svg-1`}],[`path`,{d:`M12 4l0 12`,key:`svg-2`}]]),Kr=P(`outline`,`wand`,`Wand`,[[`path`,{d:`M6 21l15 -15l-3 -3l-15 15l3 3`,key:`svg-0`}],[`path`,{d:`M15 6l3 3`,key:`svg-1`}],[`path`,{d:`M9 3a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2`,key:`svg-2`}],[`path`,{d:`M19 13a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2`,key:`svg-3`}]]),qr=P(`outline`,`x`,`X`,[[`path`,{d:`M18 6l-12 12`,key:`svg-0`}],[`path`,{d:`M6 6l12 12`,key:`svg-1`}]]),Jr=P(`filled`,`circle-check-filled`,`CircleCheckFilled`,[[`path`,{d:`M17 3.34a10 10 0 1 1 -14.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 14.995 -8.336zm-1.293 5.953a1 1 0 0 0 -1.32 -.083l-.094 .083l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.403 1.403l.083 .094l2 2l.094 .083a1 1 0 0 0 1.226 0l.094 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z`,key:`svg-0`}]]),Yr=P(`filled`,`player-play-filled`,`PlayerPlayFilled`,[[`path`,{d:`M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z`,key:`svg-0`}]]),Xr=P(`filled`,`star-filled`,`StarFilled`,[[`path`,{d:`M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z`,key:`svg-0`}]]),Zr=Object.freeze({"common.back":`Back`,"common.cancel":`Cancel`,"common.close":`Close`,"common.save":`Save`,"common.update":`Update`,"common.retry":`Retry`,"common.refresh":`Refresh`,"common.search":`Search`,"common.enabled":`Enabled`,"common.disabled":`Disabled`,"common.loading":`Loading…`,"common.unknown":`Unknown`,"common.language.english":`English`,"common.language.simplifiedChinese":`简体中文`,"nav.dashboard":`Dashboard`,"nav.settings":`Settings`,"nav.analytics":`Analytics`,"nav.recommend":`Recommend`,"nav.router":`Router`,"nav.routerV2":`Router v2`,"nav.playground":`Playground`,"nav.help":`Help`,"nav.installEndpoints":`Install Endpoints`,"nav.installedModels":`Installed Models`,"nav.changelog":`Changelog`,"nav.moreFeatures":`More features`,"nav.navigationMenu":`Navigation menu`,"nav.commandPalette":`Command palette`,"nav.exportData":`Export Data`,"nav.primary":`Primary`,"settings.title":`Settings`,"settings.subtitle":`API keys, language, theme, favorites, and update controls. Settings are stored locally and shared with the TUI.`,"settings.global":`Global settings`,"settings.language":`Language`,"settings.language.description":`Choose the language used by the TUI and Web Dashboard.`,"settings.globalTheme":`Global Theme`,"settings.installUpdate":`Install update (v{version})`,"settings.checkUpdatesManually":`Check for updates manually`,"settings.pressToCheckUpdates":`Press Enter or U to check npm registry`,"settings.updateCheckFailed":`Check failed (press U to retry)`,"settings.installingUpdate":`Installing update…`,"settings.favoritesMode":`Favorites Display Mode`,"settings.favoritesNormal":`Normal rows (filter/sort)`,"settings.startupSpeedTestEnabled":`✅ Enabled — runs Ctrl+U after startup`,"settings.startupSpeedTestDisabled":`❌ Disabled — manual Ctrl+U only`,"settings.autoHideBrokenModels":`Auto-hide Broken Models`,"settings.pressEnterCleanup":`Enter removes old proxy leftovers`,"settings.viewChangelog":`View Changelog`,"settings.pressEnterChangelog":`Enter browses version history`,"settings.shellEnvEnabled":`✅ Enabled — keys available in shell`,"settings.shellEnvNotConfigured":`🔘 Not configured — Enter to set up`,"settings.typeApiKey":`Type API key`,"settings.navigate":`Navigate`,"settings.editRunCycle":`Edit/Run/Cycle`,"settings.addKey":`Add key`,"settings.updates":`Updates`,"settings.favorites":`Favorites`,"settings.toggleCycle":`Toggle/Cycle`,"settings.theme.description":`Auto follows your operating system.`,"settings.theme.auto":`Auto (OS)`,"settings.theme.dark":`Dark`,"settings.theme.light":`Light`,"settings.favoritesPinned":`Favorites pinned and always visible`,"settings.favoritesPinned.description":`Keep favorites above filters and other rows (TUI: Y key).`,"settings.startupSpeedTest":`Startup AI Speed Scan`,"settings.startupSpeedTest.description":`Run the global benchmark after launch.`,"settings.shellEnv":`Export API keys to shell rc`,"settings.shellEnv.description":`Write configured provider keys to your shell rc file.`,"settings.checkUpdates":`Check for updates`,"settings.checkUpdates.description":`Check whether a newer npm version is available.`,"settings.checkNow":`Check now`,"settings.cleanupLegacy":`Cleanup discontinued proxy artifacts`,"settings.cleanupLegacy.description":`Remove old config, environment, and service leftovers.`,"settings.runCleanup":`Run cleanup`,"settings.providers":`Providers`,"settings.searchProviders":`Search providers…`,"settings.loading":`Loading settings…`,"settings.keysAndProviderSettings":`API keys and provider settings`,"settings.noProviders":`No providers match your search.`,"settings.apiKey":`API key`,"settings.saveKey":`Save key`,"settings.testKey":`Test key`,"settings.keySaved":`API key saved.`,"settings.keySaveFailed":`Could not save API key.`,"settings.keyRemoved":`API key removed.`,"settings.keyRemoveFailed":`Could not remove API key.`,"settings.keyTestPassed":`API key test passed.`,"settings.keyTestFailed":`API key test failed.`,"settings.updateAvailable":`Update available: v{version}`,"settings.upToDate":`Already on the latest version`,"settings.legacyNone":`No discontinued proxy config was found.`,"settings.languageSaveFailed":`Could not save language preference.`,"dashboard.searchPlaceholder":`Search models, providers…`,"dashboard.workingOnly":`Working only`,"dashboard.allModels":`All models`,"dashboard.filters":`Filters`,"dashboard.resetView":`Reset view`,"dashboard.provider":`Provider`,"dashboard.allProviders":`All providers`,"dashboard.model":`Model`,"dashboard.models":`{count} models`,"dashboard.favorites":`Favorites`,"dashboard.favorite":`Favorite`,"dashboard.recommended":`Recommended`,"dashboard.rank":`Rank`,"dashboard.tier":`Tier`,"dashboard.latency":`Latency`,"dashboard.stability":`StaBility`,"dashboard.uptime":`Uptime`,"dashboard.health":`Health`,"dashboard.verdict":`Verdict`,"dashboard.status":`Status`,"dashboard.search":`Search`,"dashboard.noModels":`No models match the current filters.`,"dashboard.noApiKey":`No API key configured for this provider`,"dashboard.notConfigured":`Not configured`,"dashboard.working":`Working`,"dashboard.down":`Down`,"dashboard.pending":`Pending`,"dashboard.export":`Export`,"dashboard.exportData":`Export model data`,"dashboard.aiLatency":`AI Latency`,"dashboard.aiSpeedTest":`AI Speed Test`,"dashboard.aiSpeedTestRunning":`AI Speed Test running — {completed}/{total}`,"dashboard.runBenchmark":`Run AI Latency benchmark on {count} visible models`,"dashboard.resetToast":`View reset to defaults.`,"filters.tier":`Tier`,"filters.status":`Status`,"filters.verdict":`Verdict`,"filters.health":`Health`,"filters.origin":`Provider`,"filters.search":`Search`,"filters.customPlaceholder":`Filter by text…`,"filters.pingMode":`Probe frequency`,"filters.pingEco":`Eco`,"filters.pingBalanced":`Balanced`,"filters.pingAggressive":`Aggressive`,"filters.all":`All`,"help.title":`Help`,"help.shortcuts":`Keyboard shortcuts`,"help.loading":`Loading help…`,"help.close":`Close help`,"help.openSettings":`Open Settings`,"help.openHelp":`Open Help`,"help.openPalette":`Open command palette`,"help.selectModel":`Select a model`,"help.toggleFavorite":`Toggle favorite`,"recommend.title":`Smart Recommend`,"recommend.questionTask":`What are you working on?`,"recommend.questionSpeed":`How fast do you need it?`,"recommend.next":`Next`,"recommend.previous":`Previous`,"recommend.showResults":`Show recommendations`,"recommend.topPicks":`Top recommendations`,"recommend.noResults":`No matching models are available.`,"recommend.install":`Install endpoint`,"install.title":`Install Endpoints`,"install.subtitle":`Write selected model endpoints into a supported tool configuration.`,"install.scope.all":`All models`,"install.scope.selected":`Selected models`,"install.models":`Models`,"install.install":`Install endpoints`,"install.noModels":`No compatible models are available.`,"install.success":`Endpoints installed.`,"install.failure":`Endpoint installation failed.`,"install.keyRequired":`Add an API key in Settings first.`,"installed.title":`Installed Models`,"installed.empty":`No installed models found.`,"installed.refresh":`Refresh installed models`,"analytics.title":`Analytics`,"analytics.today":`Today`,"analytics.allTime":`All time`,"analytics.byModel":`By model`,"analytics.noUsage":`No usage data yet.`,"update.upToDate":`Up to date`,"update.updateNow":`Update now`,"update.failed":`Update check failed.`,"palette.title":`Command Palette`,"palette.footerTitle":`Cmd Palette`,"palette.searchPlaceholder":`Search commands…`,"palette.noResults":`No commands found.`,"router.title":`Smart Model Router`,"router.status.running":`Running`,"router.status.stopped":`Stopped`,"router.start":`Start daemon`,"router.stop":`Stop daemon`,"router.restart":`Restart daemon`,"router.refresh":`Refresh`,"router.fallbackChain":`Fallback chain`,"router.requests":`Requests routed`,"router.uptime":`Uptime`,"router.noRequests":`No requests routed yet.`,"router.model":`Model`,"router.state":`State`,"router.lastLatency":`Last latency`,"router.save":`Save`,"router.saved":`Saved`,"router.saving":`Saving…`,"router.saveFailed":`Save failed`,"router.v2.title":`Smart Model Router v2`,"router.v2.beta":`BETA`,"router.v2.validation":`Validation`,"router.v2.chainHealth":`Chain health`,"router.v2.testViaRouter":`Test via router`,"playground.title":`Playground`,"playground.model":`Model`,"playground.persona":`Persona`,"playground.clear":`Clear conversation`,"playground.close":`Close`,"playground.toggleStreaming":`Toggle streaming`,"playground.promptPlaceholder":`Ask anything. Enter to send, Shift+Enter for a newline.`,"playground.daemonStopped":`Router daemon is not running`,"playground.startDaemon":`Start the router daemon`,"playground.startingDaemon":`Starting router daemon…`,"toast.dismiss":`Dismiss notification`,"cli.usage":`Usage`,"cli.toolFlags":`Tool Flags`,"cli.analysisFlags":`Analysis Flags`,"cli.configMaintenance":`Config & Maintenance`,"cli.examples":`Examples`,"cli.defaultLauncher":`Default launcher with no tool flag: OpenCode CLI`,"cli.combineFlags":`Flags can be combined: --openclaw --tier S --json`,"cli.helpTitle":`CLI Help`,"cli.routerHowItWorks":`How the FCM Router Works`,"cli.routerDaemon":`The smart router daemon`,"cli.prePrompt":`The pre-prompt (system message)`,"cli.probeMechanism":`The probe mechanism (every 10s/30s/120s)`,"cli.circuitBreaker":`The circuit breaker (per-model state)`,"cli.failoverOrder":`Failover order`,"cli.autoHeal":`Auto-heal (default behavior)`,"cli.rateLimits":`Rate limits (RPD / RPM / TPM)`,"nav.themeTitle":`Theme: {theme} (click to cycle auto / dark / light)`,"nav.themeLabel":`Theme: {theme}. Click to cycle.`,"filters.provider":`Provider`,"filters.visibility":`Visibility`,"filters.visibility.allHint":`Show everything`,"filters.visibility.configured":`Configured only`,"filters.visibility.configuredHint":`Hide models with no key or auth errors`,"filters.visibility.usable":`Usable only`,"filters.visibility.usableHint":`Only Health UP + good verdict`,"filters.verdict.perfect":`Perfect`,"filters.verdict.normal":`Normal`,"filters.verdict.spiky":`Spiky`,"filters.verdict.slow":`Slow`,"filters.verdict.overloaded":`Overloaded`,"filters.verdict.unstable":`Unstable`,"filters.health.timeout":`Timeout`,"filters.health.noKey":`No key`,"filters.health.authError":`Auth error`,"filters.ping":`Ping`,"filters.pingSpeed":`⚡ Speed`,"filters.pingNormal":`● Normal`,"filters.pingSlow":`🐢 Slow`,"filters.pingForced":`🔥 Forced`,"filters.endpointTarget":`Endpoint target`,"filters.endpointTargetHint":`Active endpoint install target from the Header picker`,"filters.text":`Text`,"filters.clearTextHint":`Click X to clear (TUI: X key)`,"filters.clearText":`Clear custom text filter (TUI: X)`,"filters.resetTitle":`Reset {count} active filter(s) (TUI: N)`,"filters.nextPing":`Next ping in`,"dashboard.swe":`SWE%`,"dashboard.context":`Context`,"dashboard.lastPing":`Last Ping`,"dashboard.average":`Avg`,"dashboard.tps":`TPS`,"dashboard.quota":`Quota`,"dashboard.trend":`Trend`,"dashboard.noApiKeyState":`No API key configured — health will stay in 'NO KEY' state`,"dashboard.benchmarking":`Benchmarking…`,"dashboard.clickToBenchmark":`Click to run AI Speed Test (TUI: Ctrl+A)`,"dashboard.customColumnWidths":`Custom column widths`,"dashboard.totalWidth":`total`,"dashboard.restoreColumnWidths":`Restore the default column widths`,"dashboard.resetColumns":`Reset columns`,"dashboard.sortColumn":`Sort {column}: ascending → descending → reset`,"dashboard.resizeColumn":`Drag to resize {column} (double-click to reset this column)`,"dashboard.resizeColumnAria":`Resize {column} column`,"dashboard.providerModelsTitle":`{provider} — {count} models`,"provider.health.active":`API key works — at least one model is UP`,"provider.health.pending":`API key set — waiting for health data`,"provider.health.down":`API key set — models are DOWN or have auth errors`,"settings.loadFailed":`Failed to load settings`,"settings.enterApiKey":`Please enter an API key`,"settings.keySavedForProvider":`API key for {provider} saved successfully!`,"settings.networkSaveFailed":`Network error while saving`,"settings.confirmDeleteKey":`Are you sure you want to delete the API key for "{provider}"?`,"settings.keyRemovedForProvider":`API key for {provider} deleted`,"settings.networkDeleteFailed":`Network error while deleting`,"settings.providerEnabled":`{provider} enabled`,"settings.providerDisabled":`{provider} disabled`,"settings.toggleFailed":`Failed to toggle setting`,"settings.networkError":`Network error`,"settings.keyTestResult":`{provider} test: {result}{code}`,"settings.keyTestError":`{provider} test failed: {error}`,"settings.settingUpdated":`Setting updated`,"settings.featureUpdateFailed":`Failed to update feature`,"settings.shellExportEnabled":`Shell env export enabled — restart your shell to apply.`,"settings.shellExportDisabled":`Shell env export disabled.`,"settings.shellToggleFailed":`Failed to toggle shell env`,"settings.confirmLegacyCleanup":`Remove discontinued proxy config leftovers? This is safe to run.`,"settings.legacyCleanupComplete":`Cleaned {count} legacy file(s). {errors} error(s).`,"settings.legacyCleanupToast":`Legacy proxy cleanup: {count} file(s) cleaned.`,"settings.legacyCleanupFailed":`Legacy cleanup failed: {error}`,"settings.expandAll":`Expand All`,"settings.collapseAll":`Collapse All`,"settings.test.ok":`OK`,"settings.test.authError":`Auth error`,"settings.test.rateLimited":`Rate limited`,"settings.test.noCallableModel":`No callable model`,"settings.test.failed":`Failed`,"settings.test.missingKey":`Missing key`,"settings.noApiKeySet":`(no key set)`,"settings.noLimitInfo":`No limit info`,"settings.keyDetected":`API key detected ✅`,"settings.keyMissing":`API key missing ⚠`,"settings.setupInstructions":`Setup Instructions`,"settings.createProviderAccount":`Create a provider account`,"settings.generateApiKeyHint":`Generate an API key and paste it with Enter on this row`,"settings.pressToTestKey":`Press {key} to test your key. Status:`,"settings.testDiagnostics":`Test Diagnostics`,"settings.badge.test":`[Test]`,"settings.badge.testing":`[Testing…]`,"settings.badge.testOk":`[Test ✅]`,"settings.badge.missingKey":`[Missing Key 🔑]`,"settings.badge.authError":`[Auth ❌]`,"settings.badge.rateLimited":`[Rate limit ⏳]`,"settings.badge.noCallableModel":`[No model ⚠]`,"settings.badge.failed":`[Test ❌]`,"settings.lastTest":`Last test`,"settings.currentApiKey":`Current API Key`,"settings.hideKey":`Hide`,"settings.revealKey":`Reveal`,"settings.testKeyHint":`Test this key against the provider (TUI: T key in Settings)`,"settings.testKeyForProvider":`Test key for {provider}`,"settings.testing":`Testing…`,"settings.deleteKey":`Delete Key`,"settings.updateApiKey":`Update API Key`,"settings.addApiKey":`Add API Key`,"settings.apiKeyPlaceholder":`Enter your API key…`,"settings.apiKeyForProvider":`API key for {provider}`,"settings.providerEnabledLabel":`Provider Enabled`,"settings.providersCount":`{count} models`,"common.wait":`wait`,"dashboard.averageLatency":`Average latency`,"dashboard.avgPingShort":`Avg Ping`,"dashboard.terminalMaximize":`Please maximize your terminal for optimal use.`,"dashboard.terminalTooSmall":`The current terminal is too small.`,"dashboard.terminalReduceFont":`Reduce font size or maximize terminal width.`,"dashboard.warningWillHide":`This message will hide in {seconds}s`,"dashboard.pressEscToDismiss":`Press Esc to dismiss`,"dashboard.configureApiKeyHint":`Press P to configure your API key.`,"dashboard.noConfiguredVisibleModels":`No configured provider currently exposes visible models in the table.`,"dashboard.noKeyShort":`NO KEY`,"dashboard.authFailShort":`AUTH FAIL`,"dashboard.upShort":`UP`,"filters.verdict.verySlow":`Very slow`,"filters.verdict.notActive":`Not active`,"filters.verdict.unusable":`Unusable`,"filters.pingSpeedShort":`Speed`,"filters.pingNormalShort":`Normal`,"filters.pingSlowShort":`Slow`,"filters.pingForcedShort":`Forced`,"filters.pingInterval":`Ping`,"filters.nextPingShort":`Next`,"filters.tool":`Tool`,"help.searchPlaceholder":`Search help, filters, shortcuts…`,"help.note":`The Web Dashboard is mouse-first. Use the command palette for the global keyboard shortcut; other actions are in the header menu and dialogs.`,"help.noMatches":`No help matches “{query}”.`,"help.filters":`Filters`,"help.sort":`Sort`,"help.favorites":`Favorites`,"help.speedTest":`AI Speed Test`,"help.toolMode":`Tool mode`,"help.palette":`Command palette`,"help.theme":`Theme`,"help.pingMode":`Ping mode`,"help.deepLinks":`URL deep links`,"help.cliParity":`CLI parity`,"help.routerHow":`How the FCM Router works`,"recommend.questionContext":`How much context do you need?`,"recommend.findBest":`Find the best model for this task`,"recommend.questionProgress":`Question {step} / {total}`,"recommend.analyzing":`Analyzing live catalog…`,"recommend.analysisHint":`10 seconds · about 2 checks/sec · same scoring as the TUI.`,"recommend.topThree":`Top 3 recommendations`,"recommend.restart":`Restart`,"install.step.provider":`Provider`,"install.step.tool":`Tool`,"install.step.models":`Models`,"install.step.install":`Install`,"install.chooseProviderHint":`Choose a provider with a configured API key.`,"install.loadingProviders":`Loading providers…`,"install.noProvidersConfigured":`No configured providers found. Add API keys in Settings first.`,"install.modelsCount":`{count} models`,"install.chooseToolHint":`Install {provider} models into which tool?`,"install.chooseModelsHint":`Choose models from {provider} to install into {tool}.`,"install.selectModels":`Select models`,"install.allModelsNotice":`All {count} models from {provider} will be installed.`,"install.installingCount":`Installing {count}…`,"install.writingConfig":`Writing config for {tool}`,"install.installed":`Installed!`,"install.installFailed":`Install failed`,"install.retryHint":`Check the toast for details. Go back and retry.`,"install.done":`Done`,"install.next":`Next`,"installed.scanning":`Scanning tool configs…`,"installed.noModels":`No models found in tool configs.`,"installed.configureHint":`Use “Install Endpoints” to configure models for your tools.`,"installed.notInstalled":`Not installed`,"installed.removeTitle":`Remove model from config (backup saved)`,"installed.disabled":`Disabled {model} in {tool}.`,"installed.failed":`Failed: {error}`,"analytics.subtitle":`Real-time insights across providers and models`,"analytics.providerHealth":`Provider health overview`,"analytics.fastestModels":`Fastest models`,"analytics.tierDistribution":`Tier distribution`,"analytics.waiting":`Waiting for data…`,"analytics.waitingPings":`Waiting for ping data…`,"analytics.loading":`Loading…`,"analytics.noTokenData":`No token data yet. Start the router and send requests to track usage.`,"analytics.requests":`{count} requests`,"analytics.sevenDayUsage":`7-day usage`,"analytics.topModels":`Top models`,"analytics.topProviders":`Top providers`,"analytics.tokens":`{count} tokens`,"analytics.requestsShort":`{count} req`,"changelog.backToIndex":`Back to index (TUI: B)`,"changelog.index":`Index`,"changelog.loading":`Loading changelog…`,"changelog.failed":`Failed to load changelog: {error}`,"changelog.versionHint":`{count} versions. Select one to read the release notes.`,"changelog.noReleaseNotes":`No release notes for v{version}.`,"changelog.noNotes":`No notes for v{version}.`,"playground.findBest":`Find the best model for this task`,"playground.routerOnline":`Router online`,"playground.routerOffline":`Router offline`,"playground.checkingRouter":`Checking router…`,"playground.autoRouterRecommended":`fcm — auto router (recommended)`,"playground.messagesTokens":`{messages} messages · {tokens} tokens`,"playground.prePromptEnabled":`Pre-prompt enabled`,"playground.prePromptDisabled":`Pre-prompt disabled`,"playground.streamOn":`Streaming on`,"playground.streamOff":`Streaming off`,"playground.startingRouter":`Starting router…`,"playground.autoStartIn":`Auto-starting router in {seconds}s…`,"playground.startRouter":`Start Router`,"playground.chatViaRouter":`Chat via FCM Router`,"playground.routerHint":`The Router picks the healthiest model and fails over automatically.`,"playground.askModel":`Ask {model}`,"playground.copyReply":`Copy reply`,"playground.addressedModel":`Addressed model`,"playground.servedModel":`Model that served this reply`,"playground.responseTime":`Response time (send → end)`,"playground.completionTokens":`Completion tokens`,"playground.tokensPerSecond":`Tokens per second`,"playground.stopped":`stopped`,"playground.fullPlaceholder":`Ask anything. Enter to send, Shift+Enter for a newline.`,"playground.miniPlaceholder":`Send a message…`,"playground.stopGenerating":`Stop generating`,"playground.stop":`Stop`,"playground.send":`Send`,"router.circuit.healthy":`Healthy`,"router.circuit.down":`Down`,"router.circuit.recovering":`Recovering`,"router.circuit.authError":`Auth error`,"router.circuit.deprecated":`Deprecated`,"router.circuit.unsupported":`Unsupported`,"router.circuit.unknown":`Unknown`,"router.daemonStarted":`Router daemon started.`,"router.daemonStopped":`Router daemon stopped.`,"router.startFailed":`Start failed: {error}`,"router.stopFailed":`Stop failed: {error}`,"router.cannotReachDaemon":`Cannot reach daemon — it may not be installed or the port is blocked`,"router.probingModels":`Probing models with your keys…`,"router.syncedModels":`Synced {set}: {working} working models from {probes} probes.`,"router.syncFailed":`Sync failed: {error}`,"router.noFavorites":`You do not have any favorite models yet. Star some models first!`,"router.activeSet":`Active set: {name}`,"router.probeModeSet":`Probe mode set to {mode}.`,"router.v2.stopped":`Router v2 stopped`,"router.v2.started":`Router v2 started`,"router.v2.startFailed":`Start failed`,"router.v2.stopFailed":`Stop failed`,"router.v2.notReachable":`Router v2 daemon is not reachable ({error}).`,"router.v2.notRunning":`Router v2 daemon is not running.`,"router.v2.checking":`Checking for a running v2 daemon…`,"router.v2.betaDescription":`Beta: v2 runs next to the stable Router on its own port ({port}) and shares sets, models, and API keys. Failover validates response content. Anthropic-style agents can use POST /v1/messages on the same port.`,"router.v2.requestsRouted":`Requests routed`,"router.v2.failoverNeeded":`{percent}% needed failover`,"router.v2.up":`{count} up`,"router.v2.degraded":`{count} degraded`,"router.v2.open":`{count} open`,"router.v2.strict":`strict`,"router.v2.lastResort":`last resort: {model}`,"router.v2.fallbackChain":`Fallback chain`,"router.v2.exactOrder":`the exact order the next request will try`,"router.v2.lastLatency":`Last latency`,"router.v2.emptyCandidates":`No routeable candidates (missing keys or every model is failing).`,"router.v2.testTitle":`Send one real pinned request through the router chain`,"router.v2.testing":`testing…`,"router.v2.failed":`failed`,"router.v2.test":`test`,"router.v2.testTopThree":`Test top 3 through the router`,"router.v2.requestChains":`Request chains`,"router.v2.attemptsHint":`every attempt, skip reason, and the winning model`,"router.v2.outcome.served":`served`,"router.v2.outcome.aborted":`aborted`,"router.v2.outcome.failed":`failed`,"common.select":`Select`,"common.expand":`Expand`,"common.reset":`Reset`,"filters.visibility.all":`All models`,"dashboard.globalBenchmark":`Global AI Speed Test (uses many requests!)`,"recommend.task":`Task`,"recommend.priority":`Priority`,"recommend.context":`Context`,"recommend.pinging":`Pinging models at 2 pings/sec to gather fresh latency data…`,"help.columns":`Columns`,"help.mainTui":`Main TUI`,"help.controls":`Controls`,"cli.mode":`mode`,"cli.flags":`CLI Flags`,"router.activeSetLabel":`Active set`,"router.familyFailover":`Family failover`,"router.syncBest":`Sync best`,"router.useFavorites":`Use favorites`,"router.probeAll":`Probe all`,"router.noActiveSetModels":`No models in the active set`,"router.addSetModelsHint":`Add models from the picker below, or sync the best models above.`,"router.primary":`Primary`,"router.triesFirst":`tries first`,"router.fallback":`Fallback`,"router.onFailure":`on failure / rate limit`,"router.nextUp":`Next up`,"router.addModelTo":`Add a model to`,"router.searchModels":`Search by provider, model, or label…`,"router.noModelsMatch":`No models match your filter.`,"router.alreadyInSet":`Already in set`,"router.moveUp":`Move up`,"router.moveDown":`Move down`,"router.removeFromSet":`Remove from set`,"router.noActiveRequests":`No active requests.`,"router.noRequestsYet":`No requests yet. Start coding to see traffic here.`,"router.stalled":`Stalled?`,"router.processing":`Processing…`,"router.savingStatus":`saving…`,"router.savedStatus":`✓ saved`,"router.routesVia":`routes through`,"router.fallbackHint":`try the fallback chain`,"router.miniPlaceholder":`Test the router… (e.g. write a haiku about TypeScript)`,"router.testKeyHint":`Probe your API keys and rebuild the set with only models that actually work`,"router.useFavoritesHint":`Replace current router models with your favorite models`,"router.benchmarkSetHint":`Benchmark AI Latency + TPS on every model in this set`,"router.syncBestHint":`Re-probe with your current API keys and keep only working models`,"router.switchSetHint":`Switch the active set`,"router.liveHeaders":`live from response headers (no extra requests)`,"router.pasteIntoToolConfig":`paste into your coding tool config`,"router.routerModels":`Router models`,"router.favoritesFallbackOrder":`your favorites, in fallback order`,"router.noFavoritesTui":`No favorites yet. Press Esc, then F on any model to add it.`,"router.installEndpointCli":`Install Router Endpoint to CLI Tool`,"router.lifetime":`Lifetime`,"router.activeRequests":`Active requests`,"router.recentRequests":`Recent requests`,"router.time":`Time`,"router.detail":`Detail`,"router.reorder":`Reorder`,"router.healthCheck":`Health check`,"router.clearLog":`Clear log`,"router.models":`Models`,"router.clearHistory":`Clear history`,"router.circuit.degraded":`Degraded`,"router.circuit.probing":`Probing`,"router.circuit.quotaPaused":`Quota paused`,"router.v2.pointToolAtV2":`point your coding tool at v2`,"router.v2.orPinOne":`or pin one:`,"router.v2.failoverRate":`Failover rate`,"router.v2.startToSeeChain":`Start the daemon to see the live chain.`,"router.v2.noHistory":`No history (daemon stopped).`,"router.v2.probes":`Probes`,"router.v2.lastError":`LAST ERROR`,"dashboard.uptimeShort":`Up%`,"update.retryHint":`Press Shift+U to retry update`,"update.clickToInstall":`Click here or press Shift+U to update`,"filters.disableFilter":`Disable filter`,"playground.prePromptHint":`Router persona injected as the first system message`,"playground.runCommand":`Or run this in your terminal:`,"playground.waitingForDaemon":`The daemon is starting. You can chat as soon as it is ready.`,"playground.emptyTitle":`Try the FCM router in 10 seconds`,"playground.emptyHint":`Each request routes to the healthiest model in your active set or directly to your selected model. Replies show the served model, latency, and TPS.`,"router.v2.startStableHint":`Or start it above. The stable Router v1 keeps running on port 19280.`,"router.v2.outcome":`Outcome`,"router.v2.wallTime":`Total time`,"router.v2.lastResortTag":`last resort`,"router.v2.attempts":`Attempts`,"router.v2.skipped":`Skipped`,"router.v2.openAiTools":`OpenAI-compatible tools`,"router.v2.anthropicTools":`Anthropic protocol agents`,"router.v2.pinOneHint":`Pin one model for testing or dedicated traffic:`,"common.none":`none`,"router.brokenModels":`{count} models in the active set are not responding`,"router.autoHealWarning":`Auto-heal ran on startup, but a replacement may still be unavailable.`,"router.fixNow":`Fix now`,"router.copied":`Copied!`,"router.copyAll":`Copy all`,"router.baseUrl":`Base URL`,"router.requestsCount":`{count} requests`,"router.stoppedHint":`Smart failover router. Start it to route requests to the healthiest model.`,"router.starting":`Starting…`,"router.stopping":`Stopping…`,"router.activeSetModels":`Active set ({count} models)`,"router.familyFailoverHint":`When a model fails, retry the same family on another provider before falling back to the next model.`,"router.probing":`Probing…`,"router.addModel":`Add model`,"router.primaryTitle":`Primary model — tried first on every request`,"router.fallbackTitle":`Fallback #{index} — used if higher-priority models fail or hit a rate limit`,"router.probeMode":`Probe mode`,"router.requestLog":`Request log`,"router.testRouter":`Test router`,"router.testEmptyHint":`Send a message to see which model the router picks, with latency and TPS.`,"router.runtimeTelemetry":`Runtime telemetry`,"router.callsTrackedLocal":`{count} calls tracked · local only`,"router.providerQuota":`Provider quota`,"playground.routerStartError":"Router is not running. Press R or run `free-coding-models --daemon-bg`.","playground.sending":`Sending…`,"playground.tuiHotkeys":`Enter sends · Shift+Tab changes model · Ctrl+S toggles streaming · Esc closes · Ctrl+L clears`,"playground.you":`you`,"playground.routed":`routed`,"playground.tokensShort":`tok`,"playground.fallbackShort":`fallback`,"playground.waitingResponse":`Waiting for response — Esc to stop`,"playground.draftPlaceholder":`Type a message and press Enter…`,"playground.enterToSend":`Enter sends`,"playground.pinModel":`to use a pinned model`,"common.error":`Error`,"cli.flag.best":`Show only top tiers (A+, S, S+)`,"cli.flag.fiable":`Run the 10s reliability analysis mode`,"cli.flag.json":`Output results as JSON for scripts and automation`,"cli.flag.tier":`Filter models by tier family`,"cli.flag.recommend":`Open Smart Recommend on startup`,"cli.flag.premium":`Start with S-tier filter and verdict sort`,"cli.flag.sort":`Sort by the selected column`,"cli.flag.direction":`Set descending or ascending order`,"cli.flag.origin":`Filter models by provider`,"cli.flag.pingInterval":`Set ping interval in milliseconds`,"cli.flag.hideUnconfigured":`Hide models without configured API keys`,"cli.flag.showUnconfigured":`Show models even when no API key is configured`,"cli.flag.reprobe":`Rebuild probe cache and skip cached healthy models`,"cli.flag.probeTtl":`Set how long healthy probe results are cached`,"cli.flag.showBroken":`Show models marked as broken by the probe cache`,"cli.flag.checkDrift":`Compare sources.js with models.dev and report differences`,"cli.flag.driftThreshold":`Fail only when this many or more differences are found`,"cli.flag.web":`Start the real-time Web Dashboard`,"cli.flag.playground":`Open the TUI Playground, starting the router if needed`,"cli.flag.daemon":`Start the Router daemon and Web Dashboard`,"cli.flag.daemonBg":`Start the Router daemon in the background`,"cli.flag.daemonStatus":`Print the Router daemon status as JSON`,"cli.flag.daemonStop":`Gracefully stop the Router daemon`,"cli.flag.routerV2":`Start the Router v2 daemon on port 19380`,"cli.flag.routerV2Bg":`Start Router v2 in the background`,"cli.flag.routerV2Status":`Print Router v2 daemon status as JSON`,"cli.flag.routerV2Stop":`Gracefully stop the Router v2 daemon`,"cli.flag.syncSet":`Discover and probe models for a router set`,"cli.flag.configDir":`Store config.json and backups in the specified directory`,"cli.flag.fixPermissions":`Set secure config file permissions without prompting`,"cli.flag.noTelemetry":`Disable anonymous telemetry for this run`,"cli.flag.help":`Print this help and exit`,"palette.placeholder":`Type a command… (filters, sorts, tools, theme, ping, export)`,"palette.noMatch":`No matching command.`,"palette.navigate":`navigate`,"palette.select":`select`,"palette.poweredByTui":`Powered by the TUI command registry — 1:1 parity`,"palette.section.filter":`Filter`,"palette.section.sort":`Sort`,"palette.section.action":`Action`,"palette.section.page":`Page`,"palette.section.update":`Update`,"palette.section.tool":`Tool`,"palette.updateNow":`UPDATE NOW`,"palette.versionAvailable":`available`,"palette.notAvailable":`This command is not available yet.`,"palette.notWired":`This command is not available on the Web yet.`,"palette.toolModeNotReady":`The tool mode picker is not available yet.`,"palette.favoriteHint":`Press F on a model row in the table.`,"palette.favoriteModeHint":`Set the favorites display mode in Settings.`,"palette.benchmarkHint":`Click an AI Lat. cell to benchmark the highlighted row.`,"palette.providerFilterHint":`Use the Provider dropdown in the FilterBar.`,"palette.tierFilterHint":`Use the Tier chips in the FilterBar.`,"palette.visibilityFilterHint":`Use the Visibility dropdown in the FilterBar.`,"palette.sortHint":`Click a table column header to sort.`,"palette.web.openHelp":`Open Help`,"palette.web.openChangelog":`Open Changelog`,"palette.web.openPlayground":`Open Playground`,"palette.web.openInstallEndpoints":`Open Install Endpoints`,"palette.web.openInstalledModels":`Open Installed Models`,"palette.web.cycleTheme":`Cycle theme (current: {theme})`,"palette.web.resetView":`Reset view (filters + sort)`,"palette.web.pingMode":`Ping mode → {mode}`,"palette.web.exportModels":`Export models…`,"palette.command.filters":`Filters`,"palette.command.filter-tier":`Filter by tier`,"palette.command.filter-tier-all":`All tiers`,"palette.command.filter-tier-splus":`S+ tier`,"palette.command.filter-tier-s":`S tier`,"palette.command.filter-tier-aplus":`A+ tier`,"palette.command.filter-tier-a":`A tier`,"palette.command.filter-tier-aminus":`A- tier`,"palette.command.filter-tier-bplus":`B+ tier`,"palette.command.filter-tier-b":`B tier`,"palette.command.filter-tier-c":`C tier`,"palette.command.filter-provider":`Filter by provider`,"palette.command.filter-provider-cycle":`Cycle provider`,"palette.command.filter-provider-all":`All providers`,"palette.command.filter-model":`Filter by model`,"palette.command.filter-other":`Other filters`,"palette.command.filter-configured-toggle":`Show only configured & working`,"palette.command.sort":`Sort`,"palette.command.sort-rank":`Sort by rank`,"palette.command.sort-tier":`Sort by tier`,"palette.command.sort-provider":`Sort by provider`,"palette.command.sort-model":`Sort by model`,"palette.command.sort-latest-ping":`Sort by latest ping`,"palette.command.sort-avg-ping":`Sort by avg ping`,"palette.command.sort-swe":`Sort by SWE score`,"palette.command.sort-ctx":`Sort by context`,"palette.command.sort-health":`Sort by health`,"palette.command.sort-verdict":`Sort by verdict`,"palette.command.sort-stability":`Sort by stability`,"palette.command.sort-uptime":`Sort by uptime`,"palette.command.actions":`Actions`,"palette.command.action-target-tool":`Target tool`,"palette.command.action-cycle-tool-mode":`Cycle target tool`,"palette.command.action-ping-mode":`Ping mode`,"palette.command.action-cycle-ping-mode":`Cycle ping mode`,"palette.command.action-set-ping-speed":`Speed mode (2s)`,"palette.command.action-set-ping-normal":`Normal mode (10s)`,"palette.command.action-set-ping-slow":`Slow mode (30s)`,"palette.command.action-set-ping-forced":`Forced mode (4s)`,"palette.command.action-favorites-mode":`Favorites mode`,"palette.command.action-toggle-favorite-mode":`Toggle favorites mode`,"palette.command.action-favorites-mode-pinned":`Pinned + always visible`,"palette.command.action-favorites-mode-normal":`Normal rows (starred only)`,"palette.command.action-toggle-favorite":`Toggle favorite on selected row`,"palette.command.action-cycle-theme":`Cycle theme`,"palette.command.action-reset-view":`Reset view`,"palette.command.action-probe-failed":`Re-probe failed models`,"palette.command.action-probe-404":`Probe all models (404)`,"palette.command.action-toggle-auto-hide-broken":`Toggle auto-hide broken models`,"palette.command.open-settings":`Settings`,"palette.command.open-help":`Help`,"palette.command.open-changelog":`Changelog`,"palette.command.open-recommend":`Smart recommend`,"palette.command.open-playground":`Playground`,"palette.command.open-install-endpoints":`Install endpoints`,"palette.command.open-installed-models":`Installed models`,"update.availableTitle":`Update available: v{version}. Click to install.`,"update.availableDescription":`A newer version (v{version}) is available on npm. After updating, restart the dashboard to apply it.`,"update.now":`Update now`,"settings.removeKey":`Remove key`,"settings.theme":`Theme`,"help.navigation":`Navigation`,"analytics.tokenUsage":`Token usage`,"install.selectProvider":`Choose provider`,"install.selectTool":`Choose tool`,"common.stepNumber":`Step {step}/{total}`,"install.tuiSubtitle":`Install provider catalogs into supported coding tools.`,"install.chooseConfiguredProvider":`Choose a configured provider`,"install.chooseTargetTool":`Choose the target tool`,"install.chooseInstallScope":`Choose the install scope`,"install.chooseModelsToInstall":`Choose which models to install`,"install.provider":`Provider`,"install.tool":`Tool`,"install.directProvider":`Direct Provider`,"install.sharedConfigFile":`shared config file`,"install.envFile":`env file (~/.fcm-*-env)`,"install.managedConfig":`managed config install`,"install.selectedCount":`Selected: {selected}/{total}`,"install.result":`Result`,"install.resultUnavailable":`Install result unavailable`,"install.futureRefresh":`Future FCM launches will refresh this catalog automatically when the provider list evolves.`,"install.scope.all.label":`Install all models`,"install.scope.all.hint":`Recommended — FCM will refresh this provider catalog automatically later.`,"install.scope.selected.label":`Install selected models only`,"install.scope.selected.hint":`Choose a smaller curated subset for a cleaner model picker.`,"recommend.subtitle":`Answer a few questions to find models for your task.`,"recommend.questionPriority":`What matters most?`,"router.quickSetup":`Quick setup`,"update.checking":`Checking for updates…`,"update.available":`Update available`,"update.whatsNew":`What's new`,"recommend.taskType.quickfix":`Quick fix`,"recommend.taskType.refactor":`Deep refactor`,"recommend.taskType.review":`Code review`,"recommend.taskType.testgen":`Test generation`,"recommend.priority.speed":`Speed`,"recommend.priority.quality":`Quality`,"recommend.priority.balanced":`Balanced`,"recommend.contextBudget.small":`Small file (<4K)`,"recommend.contextBudget.medium":`Medium project (<32K)`,"recommend.contextBudget.large":`Large codebase (>32K)`,"changelog.added":`Added`,"changelog.fixed":`Fixed`,"changelog.changed":`Changed`,"changelog.updated":`Updated`,"help.item.navigation.rows.label":`↑ / ↓`,"help.item.navigation.rows.description":`Navigate rows in the main table (planned — currently mouse-only).`,"help.item.navigation.details.label":`Enter`,"help.item.navigation.details.description":`Open the detail panel for the focused row.`,"help.item.navigation.close.label":`Esc`,"help.item.navigation.close.description":`Close any open modal or detail panel.`,"help.item.filters.tier.label":`Tier chip`,"help.item.filters.tier.description":`Click to cycle through all tiers from S+ to C, then back to All.`,"help.item.filters.status.label":`Status chip`,"help.item.filters.status.description":`Click to cycle through All, Up, Down, and Pending.`,"help.item.filters.verdict.label":`Verdict chip`,"help.item.filters.verdict.description":`Click to cycle through Perfect, Normal, Spiky, Slow, Overloaded, Down, Unstable, and Pending.`,"help.item.filters.health.label":`Health chip`,"help.item.filters.health.description":`Click to cycle through Up, Timeout, Down, Pending, No key, and Auth err.`,"help.item.filters.visibility.label":`Visibility`,"help.item.filters.visibility.description":`Choose all models, configured models, or usable models (UP with a good verdict).`,"help.item.filters.provider.label":`Provider dropdown`,"help.item.filters.provider.description":`Filter the table by provider.`,"help.item.filters.text.label":`Custom text filter`,"help.item.filters.text.description":`Apply from the command palette or use “Apply text filter”; clear it with the X chip.`,"help.item.filters.reset.label":`Reset button`,"help.item.filters.reset.description":`Clear every active filter and restore the default sort.`,"help.item.sort.columns.label":`Click any column header`,"help.item.sort.columns.description":`Cycle through ascending, descending, and the default order.`,"help.item.sort.resize.label":`Resizable columns`,"help.item.sort.resize.description":`Drag a header edge to resize a column. Double-click to reset its width.`,"help.item.favorites.row.label":`Star button (per row)`,"help.item.favorites.row.description":`Click to add or remove a favorite (TUI: F).`,"help.item.favorites.detail.label":`Detail panel`,"help.item.favorites.detail.description":`Favorite a model or reorder it with Up/Down (TUI: Shift+↑/↓).`,"help.item.favorites.pinned.label":`Pinned mode`,"help.item.favorites.pinned.description":`Enable “Pinned + always visible” in Settings (TUI: Y).`,"help.item.favorites.shared.label":`Shared with TUI`,"help.item.favorites.shared.description":`Favorites use the same ~/.free-coding-models.json file as the TUI.`,"help.item.benchmark.global.label":`Header button`,"help.item.benchmark.global.description":`Run an AI Speed Test for every visible model.`,"help.item.benchmark.single.label":`AI Lat. cell`,"help.item.benchmark.single.description":`Click a cell to benchmark that model (TUI: Ctrl+A).`,"help.item.benchmark.detail.label":`Detail panel`,"help.item.benchmark.detail.description":`Use the AI Speed Test button for the selected model (TUI: Ctrl+A).`,"help.item.benchmark.tps.label":`TPS column`,"help.item.benchmark.tps.description":`Shows model tokens per second after a benchmark run.`,"help.item.benchmark.latency.label":`Latency column`,"help.item.benchmark.latency.description":`Shows completion latency, rather than ping time.`,"help.item.tools.shipped.label":`M3 shipped`,"help.item.tools.shipped.description":`Choose a target tool, install endpoints per model, or use the incompatible-target fallback dialog.`,"help.item.palette.shortcut.label":`⌘K / Ctrl+P`,"help.item.palette.shortcut.description":`Toggle the command palette from anywhere in the Web Dashboard.`,"help.item.palette.search.label":`Type to search`,"help.item.palette.search.description":`Search filters, sorts, tools, pages, and theme, ping, and reset actions.`,"help.item.palette.execute.label":`↑ / ↓ + Enter`,"help.item.palette.execute.description":`Move through results and run the highlighted command.`,"help.item.palette.close.label":`Esc`,"help.item.palette.close.description":`Close the palette without running a command.`,"help.item.theme.cycle.label":`Theme button (header)`,"help.item.theme.cycle.description":`Click to cycle through auto, dark, and light (TUI: G).`,"help.item.theme.auto.label":`Auto mode`,"help.item.theme.auto.description":`Follow the operating system color scheme and update automatically.`,"help.item.ping.cadence.label":`Speed / Normal / Slow / Forced`,"help.item.ping.cadence.description":`Set the ping interval to 2s, 10s, 30s, or 4s (TUI: W).`,"help.item.ping.countdown.label":`Next ping countdown`,"help.item.ping.countdown.description":`See the live countdown in the FilterBar.`,"help.item.url.filters.label":`?tier=S+&sort=verdict&origin=groq&view=dashboard`,"help.item.url.filters.description":`Filters, sorting, and the current view appear in the URL so you can share the same dashboard state.`,"help.item.cli.storage.label":`Same storage`,"help.item.cli.storage.description":`The Web Dashboard and TUI read and write the same ~/.free-coding-models.json file.`,"help.item.cli.engine.label":`Same engine`,"help.item.cli.engine.description":`Model parsing, pings, and benchmarks use shared code.`,"help.item.router.smart.label":`Smart router`,"help.item.router.smart.description":`Point an OpenAI-compatible client to http://localhost:19280/v1 with model “fcm”. The daemon selects a healthy model from the active set and retries through fallbacks.`,"help.item.router.prePrompt.label":`Pre-prompt`,"help.item.router.prePrompt.description":`A system message is sent with every proxied request. Edit the default FCM routing prompt in Settings.`,"help.item.router.probes.label":`Probes`,"help.item.router.probes.description":`The daemon sends a one-token chat completion to active models every 10s, 30s, or 120s, depending on probe mode. It checks latency and status code, which also catches invalid API keys.`,"help.item.router.breaker.label":`Circuit breaker`,"help.item.router.breaker.description":`Each model has its own state. Healthy models receive traffic; Down models are skipped until cooldown; Recovering models are retried; Auth error indicates 401/403; Deprecated models are replaced by auto-heal.`,"help.item.router.failover.label":`Failover order`,"help.item.router.failover.description":`Models are tried by priority. Recovering, Down, and Auth error models are skipped. If all models fail, the response is 503 and includes the models_tried list.`,"help.item.router.autoHeal.label":`Auto-heal`,"help.item.router.autoHeal.description":`On daemon start, Auth error and Deprecated models are replaced with working alternatives, starting with the same provider. Manual model changes turn auto-heal off.`,"help.item.router.rateLimits.label":`Rate limits`,"help.item.router.rateLimits.description":`Providers have separate quotas. Common free-tier limits include Groq 14 400 RPD, Mistral 1 RPS, NVIDIA about 40 RPM, and OpenRouter 50 RPD. A 429 triggers failover; exhausted daily quota is handled on the next start.`,"dashboard.favorited":`Favorited`,"dashboard.installEndpoint":`Install endpoint`,"dashboard.installEndpointInTool":`Install endpoint in {tool}`,"dashboard.installModelEndpoint":`Install {model} endpoint in {tool}`,"dashboard.selectModelFirst":`Select a model first`,"dashboard.installSelectedModelEndpoint":`Install selected model endpoint`,"dashboard.installTargetTitle":`Install endpoint into: {tool}`,"dashboard.cycleEndpointTarget":`Cycle endpoint target`,"dashboard.endpointInstallTarget":`Endpoint install target`,"filters.verdict.pending":`Pending`,"dashboard.favoriteModelTitle":`Favorite {model}`,"dashboard.unfavoriteModelTitle":`Unfavorite {model}`,"dashboard.notInSet":`NOT IN SET`,"health.http404":`404 NOT FOUND`,"health.http410":`410 GONE`,"health.http429":`429 TRY LATER`,"health.http500":`500 ERROR`,"health.http502":`502 ERROR`,"health.http503":`503 ERROR`,"health.http504":`504 TIMEOUT`,"health.httpError":`{code} ERROR`,"modelDetail.noApiKey":`No API key configured for {provider}. Open Settings (P) to add one.`,"modelDetail.modelInfo":`Model Info`,"modelDetail.miniPlayground":`Mini Playground — {model}`,"modelDetail.testModel":`Test {model}`,"modelDetail.playgroundPlaceholder":`Type a message…`,"modelDetail.playgroundEmptyHint":`Send a message to test this model. Responses stream in real time with latency + TPS.`,"modelDetail.testAiLatency":`Test AI Latency`,"modelDetail.runningBenchmark":`Running benchmark…`,"modelDetail.running":`Running…`,"modelDetail.tokens":`Tokens`,"modelDetail.generatedText":`Generated text will appear here…`,"palette.description.filter-tier-all":`Show all models`,"palette.description.filter-tier-splus":`Best coding models`,"palette.description.filter-tier-s":`Excellent models`,"palette.description.filter-tier-aplus":`Very good models`,"palette.description.filter-tier-a":`Good models`,"palette.description.filter-tier-aminus":`Solid models`,"palette.description.filter-tier-bplus":`Fair models`,"palette.description.filter-tier-b":`Basic models`,"palette.description.filter-tier-c":`Limited models`,"palette.description.filter-provider-cycle":`Switch between providers`,"palette.description.filter-provider-all":`Show all providers`,"palette.description.filter-configured-toggle":`Show only configured providers that are responding (not noauth/auth error)`,"palette.description.providerModels":`{provider} models`,"palette.description.sort-rank":`Rank by SWE score`,"palette.description.sort-tier":`Group by quality tier`,"palette.description.sort-provider":`Group by provider`,"palette.description.sort-model":`Alphabetical order`,"palette.description.sort-latest-ping":`Recent response time`,"palette.description.sort-avg-ping":`Average response time`,"palette.description.sort-swe":`Coding ability score`,"palette.description.sort-ctx":`Context window size`,"palette.description.sort-health":`Current model status`,"palette.description.sort-verdict":`Overall assessment`,"palette.description.sort-stability":`Reliability score`,"palette.description.sort-uptime":`Success rate`,"palette.description.action-cycle-tool-mode":`Rotate through every launcher mode.`,"palette.description.action-set-tool-opencode":`Launch in OpenCode CLI with the selected model.`,"palette.description.action-set-tool-pi":`Launch Pi with model/provider flags.`,"palette.description.action-set-tool-jcode":`Launch jcode coding agent with the selected model.`,"palette.description.action-set-tool-opencode-desktop":`Set model in shared config, then open OpenCode Desktop.`,"palette.description.action-set-tool-opencode-web":`Set model in shared config, then open OpenCode WebUI.`,"palette.description.action-set-tool-openclaw":`Set default model in OpenClaw and launch it.`,"palette.description.action-set-tool-crush":`Launch Crush with this provider/model pair.`,"palette.description.action-set-tool-goose":`Launch Goose and preselect the active model.`,"palette.description.action-set-tool-aider":`Launch Aider configured on the selected model.`,"palette.description.action-set-tool-kilo":`Set model in shared config, then launch Kilo CLI.`,"palette.description.action-set-tool-qwen":`Launch Qwen Code using the selected provider model.`,"palette.description.action-set-tool-openhands":`Launch OpenHands with the selected model endpoint.`,"palette.description.action-set-tool-amp":`Launch Amp with this model as active target.`,"palette.description.action-set-tool-hermes":`Launch Hermes Agent with the selected model.`,"palette.description.action-set-tool-continue":`Launch Continue CLI with the selected model.`,"palette.description.action-set-tool-cline":`Launch Cline CLI with the selected model.`,"palette.description.action-set-tool-xcode":`Set this as the active launch target.`,"palette.description.action-set-tool-fcm_router":`Set this as the active launch target.`,"palette.description.action-set-tool-caveman":`Caveman Code - token-efficient coding agent (launch with Caveman tool only).`,"palette.description.action-set-tool-copilot":`Set this as the active launch target.`,"palette.description.action-set-tool-forgecode":`Set this as the active launch target.`,"palette.description.action-set-tool-zcode":`Set this as the active launch target.`,"palette.description.action-cycle-ping-mode":`Rotate speed → normal → slow → forced.`,"palette.description.action-set-ping-speed":`Fast 2s bursts for short live checks.`,"palette.description.action-set-ping-normal":`Balanced default cadence for daily use.`,"palette.description.action-set-ping-slow":`Lower refresh cost when you are mostly idle.`,"palette.description.action-set-ping-forced":`Keeps 4s cadence until manually changed.`,"palette.description.action-toggle-favorite-mode":`Switch pinned+sticky ↔ normal list behavior.`,"palette.description.action-favorites-mode-pinned":`Favorites stay on top and bypass current filters.`,"palette.description.action-favorites-mode-normal":`Favorites keep ⭐ but follow active filters and sort.`,"palette.description.action-toggle-favorite":`Star/unstar the highlighted model.`,"palette.description.action-cycle-theme":`Switch dark/light/auto`,"palette.description.action-reset-view":`Reset filters and sort`,"palette.description.action-probe-failed":`Re-test only rows showing errors (auth fail / 429 / 404 / timeout) - not the whole list.`,"palette.description.action-probe-404":`Test all configured models for 404/410 errors. Auto-hides broken models.`,"palette.description.action-toggle-auto-hide-broken":`Enable/disable auto-hiding of 404/410 models. Unhides all when disabled.`,"palette.description.open-settings":`API keys and preferences`,"palette.description.open-help":`Show all shortcuts`,"palette.description.open-changelog":`Version history`,"palette.description.open-recommend":`Find best model for task`,"palette.description.open-playground":`Chat with the FCM router`,"palette.description.open-install-endpoints":`Install provider catalogs`,"palette.description.open-installed-models":`View models configured in tools`}),Qr=Object.freeze({"common.back":`返回`,"common.cancel":`取消`,"common.close":`关闭`,"common.save":`保存`,"common.update":`更新`,"common.retry":`重试`,"common.refresh":`刷新`,"common.search":`搜索`,"common.enabled":`已启用`,"common.disabled":`已停用`,"common.loading":`正在加载…`,"common.unknown":`未知`,"common.language.english":`English`,"common.language.simplifiedChinese":`简体中文`,"nav.dashboard":`仪表盘`,"nav.settings":`设置`,"nav.analytics":`分析`,"nav.recommend":`推荐`,"nav.router":`路由器`,"nav.routerV2":`路由器 v2`,"nav.playground":`Playground`,"nav.help":`帮助`,"nav.installEndpoints":`安装端点`,"nav.installedModels":`已安装模型`,"nav.changelog":`更新日志`,"nav.moreFeatures":`更多功能`,"nav.navigationMenu":`导航菜单`,"nav.commandPalette":`命令面板`,"nav.exportData":`导出数据`,"nav.primary":`主导航`,"settings.title":`设置`,"settings.subtitle":`管理 API Key、语言、主题、收藏和更新。设置保存在本地,并与 TUI 共用。`,"settings.global":`全局设置`,"settings.language":`语言`,"settings.language.description":`选择 TUI 和 Web 仪表盘使用的语言。`,"settings.globalTheme":`全局主题`,"settings.installUpdate":`安装更新(v{version})`,"settings.checkUpdatesManually":`手动检查更新`,"settings.pressToCheckUpdates":`按 Enter 或 U 检查 npm 更新`,"settings.updateCheckFailed":`检查失败(按 U 重试)`,"settings.installingUpdate":`正在安装更新…`,"settings.favoritesMode":`收藏显示方式`,"settings.favoritesNormal":`普通行(遵循筛选和排序)`,"settings.startupSpeedTestEnabled":`✅ 已启用 — 启动后运行 Ctrl+U`,"settings.startupSpeedTestDisabled":`❌ 已停用 — 仅手动运行 Ctrl+U`,"settings.autoHideBrokenModels":`自动隐藏失效模型`,"settings.pressEnterCleanup":`按 Enter 清理旧代理残留`,"settings.viewChangelog":`查看更新日志`,"settings.pressEnterChangelog":`按 Enter 浏览版本历史`,"settings.shellEnvEnabled":`✅ 已启用 — Key 可在 shell 中使用`,"settings.shellEnvNotConfigured":`🔘 尚未配置 — 按 Enter 设置`,"settings.typeApiKey":`输入 API Key`,"settings.navigate":`导航`,"settings.editRunCycle":`编辑/运行/切换`,"settings.addKey":`添加 Key`,"settings.updates":`更新`,"settings.favorites":`收藏`,"settings.toggleCycle":`切换/循环`,"settings.theme.description":`自动模式跟随操作系统设置。`,"settings.theme.auto":`自动(跟随系统)`,"settings.theme.dark":`深色`,"settings.theme.light":`浅色`,"settings.favoritesPinned":`收藏置顶并始终显示`,"settings.favoritesPinned.description":`收藏项置顶,并忽略筛选条件(TUI:Y 键)。`,"settings.startupSpeedTest":`启动时运行 AI 速度测试`,"settings.startupSpeedTest.description":`启动后自动运行全局基准测试。`,"settings.shellEnv":`将 API Key 导出到 shell 配置`,"settings.shellEnv.description":`将已配置服务商的 Key 写入 shell 配置文件。`,"settings.checkUpdates":`检查更新`,"settings.checkUpdates.description":`检查 npm 上是否有新版本。`,"settings.checkNow":`立即检查`,"settings.cleanupLegacy":`清理旧代理残留`,"settings.cleanupLegacy.description":`删除旧版多工具代理留下的配置、环境变量和服务。`,"settings.runCleanup":`开始清理`,"settings.providers":`服务商`,"settings.searchProviders":`搜索服务商…`,"settings.loading":`正在加载设置…`,"settings.keysAndProviderSettings":`API Key 和服务商设置`,"settings.noProviders":`没有匹配的服务商。`,"settings.apiKey":`API Key`,"settings.saveKey":`保存 Key`,"settings.testKey":`测试 Key`,"settings.keySaved":`API Key 已保存。`,"settings.keySaveFailed":`无法保存 API Key。`,"settings.keyRemoved":`API Key 已移除。`,"settings.keyRemoveFailed":`无法移除 API Key。`,"settings.keyTestPassed":`API Key 测试通过。`,"settings.keyTestFailed":`API Key 测试失败。`,"settings.updateAvailable":`有可用更新:v{version}`,"settings.upToDate":`已是最新版本`,"settings.legacyNone":`未发现旧版代理配置。`,"settings.languageSaveFailed":`无法保存语言设置。`,"dashboard.searchPlaceholder":`搜索模型或服务商…`,"dashboard.workingOnly":`仅显示可用`,"dashboard.allModels":`全部模型`,"dashboard.filters":`筛选`,"dashboard.resetView":`重置视图`,"dashboard.provider":`服务商`,"dashboard.allProviders":`全部服务商`,"dashboard.model":`模型`,"dashboard.models":`{count} 个模型`,"dashboard.favorites":`收藏`,"dashboard.favorite":`收藏`,"dashboard.recommended":`推荐`,"dashboard.rank":`排名`,"dashboard.tier":`等级`,"dashboard.latency":`延迟`,"dashboard.stability":`稳定性`,"dashboard.uptime":`可用率`,"dashboard.health":`健康状态`,"dashboard.verdict":`评价`,"dashboard.status":`状态`,"dashboard.search":`搜索`,"dashboard.noModels":`没有符合当前筛选条件的模型。`,"dashboard.noApiKey":`此服务商尚未配置 API Key`,"dashboard.notConfigured":`未配置`,"dashboard.working":`可用`,"dashboard.down":`不可用`,"dashboard.pending":`等待中`,"dashboard.export":`导出`,"dashboard.exportData":`导出模型数据`,"dashboard.aiLatency":`AI 延迟`,"dashboard.aiSpeedTest":`AI 速度测试`,"dashboard.aiSpeedTestRunning":`AI 速度测试进行中 — {completed}/{total}`,"dashboard.runBenchmark":`对当前显示的 {count} 个模型运行延迟测试`,"dashboard.resetToast":`视图已重置为默认设置。`,"filters.tier":`等级`,"filters.status":`状态`,"filters.verdict":`评价`,"filters.health":`健康状态`,"filters.origin":`服务商`,"filters.search":`搜索`,"filters.customPlaceholder":`按文本筛选…`,"filters.pingMode":`探测频率`,"filters.pingEco":`省配额`,"filters.pingBalanced":`均衡`,"filters.pingAggressive":`积极`,"filters.all":`全部`,"help.title":`帮助`,"help.shortcuts":`键盘快捷键`,"help.loading":`正在加载帮助…`,"help.close":`关闭帮助`,"help.openSettings":`打开设置`,"help.openHelp":`打开帮助`,"help.openPalette":`打开命令面板`,"help.selectModel":`选择模型`,"help.toggleFavorite":`切换收藏状态`,"recommend.title":`智能推荐`,"recommend.questionTask":`你要完成什么任务?`,"recommend.questionSpeed":`你需要多快的响应?`,"recommend.next":`下一步`,"recommend.previous":`上一步`,"recommend.showResults":`查看推荐结果`,"recommend.topPicks":`优先推荐`,"recommend.noResults":`没有符合条件的可用模型。`,"recommend.install":`安装端点`,"install.title":`安装端点`,"install.subtitle":`将所选模型端点写入支持的工具配置。`,"install.scope.all":`全部模型`,"install.scope.selected":`所选模型`,"install.models":`模型`,"install.install":`安装端点`,"install.noModels":`没有可安装的兼容模型。`,"install.success":`端点已安装。`,"install.failure":`端点安装失败。`,"install.keyRequired":`请先在设置中添加 API Key。`,"installed.title":`已安装模型`,"installed.empty":`未找到已安装的模型。`,"installed.refresh":`刷新已安装模型`,"analytics.title":`分析`,"analytics.today":`今天`,"analytics.allTime":`全部时间`,"analytics.byModel":`按模型`,"analytics.noUsage":`暂无用量数据。`,"update.upToDate":`已是最新版本`,"update.updateNow":`立即更新`,"update.failed":`检查更新失败。`,"palette.title":`命令面板`,"palette.footerTitle":`命令面板`,"palette.searchPlaceholder":`搜索命令…`,"palette.noResults":`没有找到命令。`,"router.title":`智能路由`,"router.status.running":`运行中`,"router.status.stopped":`已停止`,"router.start":`启动守护进程`,"router.stop":`停止守护进程`,"router.restart":`重启守护进程`,"router.refresh":`刷新`,"router.fallbackChain":`故障转移链`,"router.requests":`已路由请求`,"router.uptime":`运行时间`,"router.noRequests":`尚无已路由的请求。`,"router.model":`模型`,"router.state":`状态`,"router.lastLatency":`最近延迟`,"router.save":`保存`,"router.saved":`已保存`,"router.saving":`正在保存…`,"router.saveFailed":`保存失败`,"router.v2.title":`智能路由器 v2`,"router.v2.beta":`测试版`,"router.v2.validation":`验证`,"router.v2.chainHealth":`链路健康度`,"router.v2.testViaRouter":`通过路由器测试`,"playground.title":`Playground`,"playground.model":`模型`,"playground.persona":`角色设定`,"playground.clear":`清空对话`,"playground.close":`关闭`,"playground.toggleStreaming":`切换流式输出`,"playground.promptPlaceholder":`输入问题,按 Enter 发送,按 Shift+Enter 换行。`,"playground.daemonStopped":`路由器守护进程未运行`,"playground.startDaemon":`启动路由器守护进程`,"playground.startingDaemon":`正在启动路由器守护进程…`,"toast.dismiss":`关闭通知`,"cli.usage":`用法`,"cli.toolFlags":`工具参数`,"cli.analysisFlags":`分析参数`,"cli.configMaintenance":`配置与维护`,"cli.examples":`示例`,"cli.defaultLauncher":`未指定工具参数时的默认启动器:OpenCode CLI`,"cli.combineFlags":`参数可以组合使用:--openclaw --tier S --json`,"cli.helpTitle":`CLI 帮助`,"cli.routerHowItWorks":`FCM 路由器的工作方式`,"cli.routerDaemon":`智能路由器守护进程`,"cli.prePrompt":`预设提示词(系统消息)`,"cli.probeMechanism":`探测机制(每 10/30/120 秒)`,"cli.circuitBreaker":`熔断器(按模型记录状态)`,"cli.failoverOrder":`故障转移顺序`,"cli.autoHeal":`自动修复(默认行为)`,"cli.rateLimits":`速率限制(RPD / RPM / TPM)`,"nav.themeTitle":`主题:{theme}(点击切换自动/深色/浅色)`,"nav.themeLabel":`主题:{theme}。点击切换。`,"filters.provider":`服务商`,"filters.visibility":`显示范围`,"filters.visibility.allHint":`显示所有模型`,"filters.visibility.configured":`仅显示已配置`,"filters.visibility.configuredHint":`隐藏未配置 Key 或认证失败的模型`,"filters.visibility.usable":`仅显示可用`,"filters.visibility.usableHint":`仅显示健康状态正常且评价良好的模型`,"filters.verdict.perfect":`极佳`,"filters.verdict.normal":`正常`,"filters.verdict.spiky":`波动较大`,"filters.verdict.slow":`较慢`,"filters.verdict.overloaded":`过载`,"filters.verdict.unstable":`不稳定`,"filters.health.timeout":`超时`,"filters.health.noKey":`无 Key`,"filters.health.authError":`认证失败`,"filters.ping":`探测`,"filters.pingSpeed":`⚡ 快速`,"filters.pingNormal":`● 普通`,"filters.pingSlow":`🐢 慢速`,"filters.pingForced":`🔥 强制`,"filters.endpointTarget":`端点目标`,"filters.endpointTargetHint":`当前要安装到的工具,可在顶部工具选择器中更改`,"filters.text":`文本`,"filters.clearTextHint":`点击 X 清除(TUI:X 键)`,"filters.clearText":`清除自定义文本筛选(TUI:X)`,"filters.resetTitle":`重置 {count} 项筛选(TUI:N)`,"filters.nextPing":`下次探测`,"dashboard.swe":`SWE%`,"dashboard.context":`上下文`,"dashboard.lastPing":`最近探测`,"dashboard.average":`平均值`,"dashboard.tps":`TPS`,"dashboard.quota":`配额`,"dashboard.trend":`趋势`,"dashboard.noApiKeyState":`尚未配置 API Key,健康状态会显示为“无 Key”`,"dashboard.benchmarking":`基准测试中…`,"dashboard.clickToBenchmark":`点击运行 AI 速度测试(TUI:Ctrl+A)`,"dashboard.customColumnWidths":`自定义列宽`,"dashboard.totalWidth":`总宽度`,"dashboard.restoreColumnWidths":`恢复默认列宽`,"dashboard.resetColumns":`重置列宽`,"dashboard.sortColumn":`排序:{column}(升序 → 降序 → 重置)`,"dashboard.resizeColumn":`拖动调整 {column} 列宽(双击恢复默认)`,"dashboard.resizeColumnAria":`调整 {column} 列宽`,"dashboard.providerModelsTitle":`{provider} — {count} 个模型`,"provider.health.active":`API Key 可用 — 至少一个模型运行正常`,"provider.health.pending":`已设置 API Key — 等待健康状态数据`,"provider.health.down":`已设置 API Key — 模型不可用或认证失败`,"settings.loadFailed":`加载设置失败`,"settings.enterApiKey":`请输入 API Key`,"settings.keySavedForProvider":`{provider} 的 API Key 已保存!`,"settings.networkSaveFailed":`保存时发生网络错误`,"settings.confirmDeleteKey":`确定要删除“{provider}”的 API Key 吗?`,"settings.keyRemovedForProvider":`{provider} 的 API Key 已删除`,"settings.networkDeleteFailed":`删除时发生网络错误`,"settings.providerEnabled":`{provider} 已启用`,"settings.providerDisabled":`{provider} 已停用`,"settings.toggleFailed":`切换设置失败`,"settings.networkError":`网络错误`,"settings.keyTestResult":`{provider} 测试结果:{result}{code}`,"settings.keyTestError":`{provider} 测试失败:{error}`,"settings.settingUpdated":`设置已更新`,"settings.featureUpdateFailed":`更新设置失败`,"settings.shellExportEnabled":`已启用 shell 环境导出 — 重启 shell 后生效。`,"settings.shellExportDisabled":`已停用 shell 环境导出。`,"settings.shellToggleFailed":`切换 shell 环境导出失败`,"settings.confirmLegacyCleanup":`要清理旧版代理配置残留吗?此操作安全。`,"settings.legacyCleanupComplete":`已清理 {count} 个旧文件,发生 {errors} 个错误。`,"settings.legacyCleanupToast":`旧版代理清理完成:已清理 {count} 个文件。`,"settings.legacyCleanupFailed":`清理旧配置失败:{error}`,"settings.expandAll":`全部展开`,"settings.collapseAll":`全部收起`,"settings.test.ok":`正常`,"settings.test.authError":`认证失败`,"settings.test.rateLimited":`触发速率限制`,"settings.test.noCallableModel":`没有可调用的模型`,"settings.test.failed":`失败`,"settings.test.missingKey":`缺少 Key`,"settings.noApiKeySet":`(未设置 Key)`,"settings.noLimitInfo":`暂无限额信息`,"settings.keyDetected":`已检测到 API Key ✅`,"settings.keyMissing":`缺少 API Key ⚠`,"settings.setupInstructions":`设置说明`,"settings.createProviderAccount":`创建服务商账号`,"settings.generateApiKeyHint":`生成 API Key,然后在此行按 Enter 粘贴`,"settings.pressToTestKey":`按 {key} 测试 Key。状态:`,"settings.testDiagnostics":`测试诊断`,"settings.badge.test":`[测试]`,"settings.badge.testing":`[测试中…]`,"settings.badge.testOk":`[测试通过 ✅]`,"settings.badge.missingKey":`[缺少 Key 🔑]`,"settings.badge.authError":`[认证失败 ❌]`,"settings.badge.rateLimited":`[触发速率限制 ⏳]`,"settings.badge.noCallableModel":`[无可调用模型 ⚠]`,"settings.badge.failed":`[测试失败 ❌]`,"settings.lastTest":`上次测试`,"settings.currentApiKey":`当前 API Key`,"settings.hideKey":`隐藏`,"settings.revealKey":`显示`,"settings.testKeyHint":`向服务商测试此 Key(TUI:设置中按 T)`,"settings.testKeyForProvider":`测试 {provider} 的 Key`,"settings.testing":`测试中…`,"settings.deleteKey":`删除 Key`,"settings.updateApiKey":`更新 API Key`,"settings.addApiKey":`添加 API Key`,"settings.apiKeyPlaceholder":`输入 API Key…`,"settings.apiKeyForProvider":`{provider} 的 API Key`,"settings.providerEnabledLabel":`启用服务商`,"settings.providersCount":`{count} 个模型`,"common.wait":`等待`,"dashboard.averageLatency":`平均延迟`,"dashboard.avgPingShort":`平均延迟`,"dashboard.terminalMaximize":`请最大化终端以获得更好的使用体验。`,"dashboard.terminalTooSmall":`当前终端尺寸过小。`,"dashboard.terminalReduceFont":`请缩小字体或增大终端宽度。`,"dashboard.warningWillHide":`此提示将在 {seconds} 秒后隐藏`,"dashboard.pressEscToDismiss":`按 Esc 关闭`,"dashboard.configureApiKeyHint":`按 P 配置 API Key。`,"dashboard.noConfiguredVisibleModels":`已配置的服务商当前没有可显示的模型。`,"dashboard.noKeyShort":`无 Key`,"dashboard.authFailShort":`认证失败`,"dashboard.upShort":`可用`,"filters.verdict.verySlow":`很慢`,"filters.verdict.notActive":`未启用`,"filters.verdict.unusable":`不可用`,"filters.pingSpeedShort":`快速`,"filters.pingNormalShort":`普通`,"filters.pingSlowShort":`慢速`,"filters.pingForcedShort":`强制`,"filters.pingInterval":`探测间隔`,"filters.nextPingShort":`下次`,"filters.tool":`工具`,"help.searchPlaceholder":`搜索帮助、筛选项和快捷键…`,"help.note":`Web 仪表盘以鼠标操作为主。全局快捷键用于打开命令面板,其他操作可在顶部菜单和对话框中找到。`,"help.noMatches":`没有找到与“{query}”匹配的帮助内容。`,"help.filters":`筛选`,"help.sort":`排序`,"help.favorites":`收藏`,"help.speedTest":`AI 速度测试`,"help.toolMode":`工具模式`,"help.palette":`命令面板`,"help.theme":`主题`,"help.pingMode":`探测模式`,"help.deepLinks":`URL 深层链接`,"help.cliParity":`CLI 一致性`,"help.routerHow":`FCM 路由器的工作方式`,"recommend.questionContext":`需要多大的上下文?`,"recommend.findBest":`为当前任务寻找合适的模型`,"recommend.questionProgress":`问题 {step} / {total}`,"recommend.analyzing":`正在分析实时模型目录…`,"recommend.analysisHint":`约 10 秒 · 每秒检查约 2 个模型 · 与 TUI 使用相同评分。`,"recommend.topThree":`推荐模型 Top 3`,"recommend.restart":`重新开始`,"install.step.provider":`服务商`,"install.step.tool":`工具`,"install.step.models":`模型`,"install.step.install":`安装`,"install.chooseProviderHint":`选择一个已配置 API Key 的服务商。`,"install.loadingProviders":`正在加载服务商…`,"install.noProvidersConfigured":`未找到已配置的服务商。请先在设置中添加 API Key。`,"install.modelsCount":`{count} 个模型`,"install.chooseToolHint":`要将 {provider} 的模型安装到哪个工具?`,"install.chooseModelsHint":`选择要从 {provider} 安装到 {tool} 的模型。`,"install.selectModels":`选择模型`,"install.allModelsNotice":`将安装 {provider} 的全部 {count} 个模型。`,"install.installingCount":`正在安装 {count}…`,"install.writingConfig":`正在写入 {tool} 配置`,"install.installed":`安装完成!`,"install.installFailed":`安装失败`,"install.retryHint":`查看通知了解详情。返回后可以重试。`,"install.done":`完成`,"install.next":`下一步`,"installed.scanning":`正在扫描工具配置…`,"installed.noModels":`工具配置中没有找到模型。`,"installed.configureHint":`使用“安装端点”为工具配置模型。`,"installed.notInstalled":`未安装`,"installed.removeTitle":`从配置中移除模型(已保存备份)`,"installed.disabled":`已从 {tool} 停用 {model}。`,"installed.failed":`失败:{error}`,"analytics.subtitle":`实时查看服务商和模型情况`,"analytics.providerHealth":`服务商健康状态概览`,"analytics.fastestModels":`最快模型`,"analytics.tierDistribution":`等级分布`,"analytics.waiting":`等待数据…`,"analytics.waitingPings":`等待探测数据…`,"analytics.loading":`加载中…`,"analytics.noTokenData":`暂无 Token 数据。启动路由器并发送请求即可开始记录。`,"analytics.requests":`{count} 个请求`,"analytics.sevenDayUsage":`近 7 天用量`,"analytics.topModels":`热门模型`,"analytics.topProviders":`热门服务商`,"analytics.tokens":`{count} 个 Token`,"analytics.requestsShort":`{count} 次请求`,"changelog.backToIndex":`返回版本列表(TUI:B)`,"changelog.index":`版本列表`,"changelog.loading":`正在加载更新记录…`,"changelog.failed":`加载更新记录失败:{error}`,"changelog.versionHint":`共 {count} 个版本。选择一个版本查看更新说明。`,"changelog.noReleaseNotes":`v{version} 没有发布说明。`,"changelog.noNotes":`v{version} 没有更新说明。`,"playground.findBest":`为当前任务寻找合适的模型`,"playground.routerOnline":`路由器在线`,"playground.routerOffline":`路由器离线`,"playground.checkingRouter":`正在检查路由器…`,"playground.autoRouterRecommended":`fcm — 智能路由(推荐)`,"playground.messagesTokens":`{messages} 条消息 · {tokens} 个 Token`,"playground.prePromptEnabled":`已启用预设提示词`,"playground.prePromptDisabled":`已停用预设提示词`,"playground.streamOn":`流式输出:开`,"playground.streamOff":`流式输出:关`,"playground.startingRouter":`正在启动路由器…`,"playground.autoStartIn":`将在 {seconds} 秒后自动启动路由器…`,"playground.startRouter":`启动路由器`,"playground.chatViaRouter":`通过 FCM 路由器对话`,"playground.routerHint":`路由器会选择健康状态最佳的模型,并在需要时自动切换。`,"playground.askModel":`向 {model} 提问`,"playground.copyReply":`复制回复`,"playground.addressedModel":`目标模型`,"playground.servedModel":`本次回复使用的模型`,"playground.responseTime":`响应时间(发送至完成)`,"playground.completionTokens":`生成的 Token 数`,"playground.tokensPerSecond":`每秒 Token 数`,"playground.stopped":`已停止`,"playground.fullPlaceholder":`输入问题,按 Enter 发送,按 Shift+Enter 换行。`,"playground.miniPlaceholder":`发送消息…`,"playground.stopGenerating":`停止生成`,"playground.stop":`停止`,"playground.send":`发送`,"router.circuit.healthy":`健康`,"router.circuit.down":`不可用`,"router.circuit.recovering":`恢复中`,"router.circuit.authError":`认证失败`,"router.circuit.deprecated":`已弃用`,"router.circuit.unsupported":`不支持`,"router.circuit.unknown":`未知`,"router.daemonStarted":`路由器守护进程已启动。`,"router.daemonStopped":`路由器守护进程已停止。`,"router.startFailed":`启动失败:{error}`,"router.stopFailed":`停止失败:{error}`,"router.cannotReachDaemon":`无法连接守护进程,可能尚未安装或端口被阻止。`,"router.probingModels":`正在使用你的 Key 探测模型…`,"router.syncedModels":`已同步 {set}:通过 {probes} 次探测找到 {working} 个可用模型。`,"router.syncFailed":`同步失败:{error}`,"router.noFavorites":`你还没有收藏模型,请先收藏一些模型。`,"router.activeSet":`当前模型组:{name}`,"router.probeModeSet":`探测模式已设为 {mode}。`,"router.v2.stopped":`Router v2 已停止`,"router.v2.started":`Router v2 已启动`,"router.v2.startFailed":`启动失败`,"router.v2.stopFailed":`停止失败`,"router.v2.notReachable":`无法连接 Router v2 守护进程({error})。`,"router.v2.notRunning":`Router v2 守护进程未运行。`,"router.v2.checking":`正在检查 Router v2 守护进程…`,"router.v2.betaDescription":`测试版:Router v2 使用独立端口({port})与稳定版并行运行,并共享模型组、模型和 API Key。故障转移会验证响应内容。Anthropic 风格的 Agent 可通过同一端口调用 POST /v1/messages。`,"router.v2.requestsRouted":`已路由请求`,"router.v2.failoverNeeded":`{percent}% 的请求触发了故障转移`,"router.v2.up":`{count} 个可用`,"router.v2.degraded":`{count} 个降级`,"router.v2.open":`{count} 个熔断`,"router.v2.strict":`严格`,"router.v2.lastResort":`最后备用:{model}`,"router.v2.fallbackChain":`故障转移链`,"router.v2.exactOrder":`下一次请求将按此顺序尝试`,"router.v2.lastLatency":`最近延迟`,"router.v2.emptyCandidates":`没有可用候选项(可能缺少 Key 或所有模型均不可用)。`,"router.v2.testTitle":`通过路由链发送一次真实的指定请求`,"router.v2.testing":`测试中…`,"router.v2.failed":`失败`,"router.v2.test":`测试`,"router.v2.testTopThree":`通过路由器测试前 3 个模型`,"router.v2.requestChains":`请求链路`,"router.v2.attemptsHint":`每次尝试、跳过原因和最终响应的模型`,"router.v2.outcome.served":`已响应`,"router.v2.outcome.aborted":`已中止`,"router.v2.outcome.failed":`失败`,"common.select":`选择`,"common.expand":`展开`,"common.reset":`重置`,"filters.visibility.all":`全部模型`,"dashboard.globalBenchmark":`全局 AI 速度测试(会消耗较多请求)`,"recommend.task":`任务`,"recommend.priority":`优先级`,"recommend.context":`上下文`,"recommend.pinging":`正在以每秒 2 次的频率探测模型,获取最新延迟…`,"help.columns":`数据列说明`,"help.mainTui":`TUI 主界面`,"help.controls":`操作`,"cli.mode":`模式`,"cli.flags":`CLI 参数`,"router.activeSetLabel":`当前模型组`,"router.familyFailover":`同系列故障转移`,"router.syncBest":`同步可用模型`,"router.useFavorites":`使用收藏`,"router.probeAll":`探测全部`,"router.noActiveSetModels":`当前模型组没有模型`,"router.addSetModelsHint":`从下方选择器添加模型,或点击上方按钮同步可用模型。`,"router.primary":`首选`,"router.triesFirst":`优先尝试`,"router.fallback":`备用`,"router.onFailure":`失败或触发速率限制时使用`,"router.nextUp":`下一个`,"router.addModelTo":`添加模型到`,"router.searchModels":`按服务商、模型或名称搜索…`,"router.noModelsMatch":`没有符合筛选条件的模型。`,"router.alreadyInSet":`已在模型组中`,"router.moveUp":`上移`,"router.moveDown":`下移`,"router.removeFromSet":`从模型组移除`,"router.noActiveRequests":`当前没有活动请求。`,"router.noRequestsYet":`暂无请求。开始编写代码后,这里会显示流量。`,"router.stalled":`卡住了吗?`,"router.processing":`处理中…`,"router.savingStatus":`正在保存…`,"router.savedStatus":`✓ 已保存`,"router.routesVia":`经由`,"router.fallbackHint":`查看故障转移链`,"router.miniPlaceholder":`测试路由器…(例如:写一首关于 TypeScript 的俳句)`,"router.testKeyHint":`重新探测 API Key,仅保留实际可用的模型`,"router.useFavoritesHint":`用你收藏的模型替换当前路由模型`,"router.benchmarkSetHint":`测试此模型组中每个模型的 AI 延迟和 TPS`,"router.syncBestHint":`使用当前 API Key 重新探测,并仅保留可用模型`,"router.switchSetHint":`切换当前模型组`,"router.liveHeaders":`来自响应头的实时数据(不会额外发送请求)`,"router.pasteIntoToolConfig":`复制到你的编程工具配置中`,"router.routerModels":`路由模型`,"router.favoritesFallbackOrder":`按收藏顺序依次尝试`,"router.noFavoritesTui":`还没有收藏。按 Esc 返回,然后按 F 收藏模型。`,"router.installEndpointCli":`将路由端点安装到 CLI 工具`,"router.lifetime":`累计`,"router.activeRequests":`活动请求`,"router.recentRequests":`最近请求`,"router.time":`时间`,"router.detail":`详情`,"router.reorder":`调整顺序`,"router.healthCheck":`健康检查`,"router.clearLog":`清除日志`,"router.models":`模型`,"router.clearHistory":`清除历史记录`,"router.circuit.degraded":`降级`,"router.circuit.probing":`探测中`,"router.circuit.quotaPaused":`配额暂停`,"router.v2.pointToolAtV2":`将编程工具指向 v2`,"router.v2.orPinOne":`或指定模型:`,"router.v2.failoverRate":`故障转移率`,"router.v2.startToSeeChain":`启动守护进程以查看实时路由链。`,"router.v2.noHistory":`暂无历史记录(守护进程已停止)。`,"router.v2.probes":`探测模式`,"router.v2.lastError":`最近错误`,"dashboard.uptimeShort":`可用率`,"update.retryHint":`按 Shift+U 重试更新`,"update.clickToInstall":`点击此处或按 Shift+U 更新`,"filters.disableFilter":`关闭筛选`,"playground.prePromptHint":`作为第一条系统消息注入路由器角色设定`,"playground.runCommand":`也可以在终端中运行:`,"playground.waitingForDaemon":`守护进程正在启动,准备好后即可开始对话。`,"playground.emptyTitle":`10 秒体验 FCM 路由器`,"playground.emptyHint":`请求会路由到当前模型组中健康状态最佳的模型,也可以直接发送到你选定的模型。每条回复下方都会显示所用模型、延迟和 TPS。`,"router.v2.startStableHint":`也可以点击上方按钮启动。稳定版 Router v1 会继续运行在 19280 端口。`,"router.v2.outcome":`结果`,"router.v2.wallTime":`总耗时`,"router.v2.lastResortTag":`最后备用`,"router.v2.attempts":`尝试记录`,"router.v2.skipped":`已跳过`,"router.v2.openAiTools":`OpenAI 兼容工具`,"router.v2.anthropicTools":`Anthropic 协议 Agent`,"router.v2.pinOneHint":`指定单个模型用于测试或专属流量:`,"common.none":`无`,"router.brokenModels":`当前模型组中有 {count} 个模型没有响应`,"router.autoHealWarning":`启动时已执行自动修复,但替换模型可能仍不可用。`,"router.fixNow":`立即修复`,"router.copied":`已复制!`,"router.copyAll":`复制全部`,"router.baseUrl":`基础 URL`,"router.requestsCount":`{count} 个请求`,"router.stoppedHint":`智能故障转移路由器。启动后会将请求发送到健康状态最佳的模型。`,"router.starting":`正在启动…`,"router.stopping":`正在停止…`,"router.activeSetModels":`当前模型组({count} 个模型)`,"router.familyFailoverHint":`模型失败时,先尝试其他服务商上的同系列模型,再切换到下一个模型。`,"router.probing":`探测中…`,"router.addModel":`添加模型`,"router.primaryTitle":`首选模型,每个请求都会优先尝试`,"router.fallbackTitle":`备用模型 #{index},高优先级模型失败或触发速率限制时使用`,"router.probeMode":`探测模式`,"router.requestLog":`请求日志`,"router.testRouter":`测试路由器`,"router.testEmptyHint":`发送一条消息,查看路由器选择的模型、延迟和 TPS。`,"router.runtimeTelemetry":`运行时数据`,"router.callsTrackedLocal":`已记录 {count} 次调用 · 仅本地保存`,"router.providerQuota":`服务商配额`,"playground.routerStartError":"路由器未运行。按 R 启动,或运行 `free-coding-models --daemon-bg`。","playground.sending":`正在发送…`,"playground.tuiHotkeys":`Enter 发送 · Shift+Tab 切换模型 · Ctrl+S 切换流式输出 · Esc 关闭 · Ctrl+L 清空`,"playground.you":`你`,"playground.routed":`路由至`,"playground.tokensShort":`Token`,"playground.fallbackShort":`次故障转移`,"playground.waitingResponse":`等待响应中,按 Esc 停止`,"playground.draftPlaceholder":`输入消息并按 Enter…`,"playground.enterToSend":`按 Enter 发送`,"playground.pinModel":`可指定模型`,"common.error":`错误`,"cli.flag.best":`仅显示最高等级模型(A+、S、S+)`,"cli.flag.fiable":`运行 10 秒可靠性分析模式`,"cli.flag.json":`以 JSON 格式输出,便于脚本和自动化处理`,"cli.flag.tier":`按等级系列筛选模型`,"cli.flag.recommend":`启动时打开智能推荐`,"cli.flag.premium":`启动时启用 S 级筛选和评价排序`,"cli.flag.sort":`按指定列排序`,"cli.flag.direction":`设置升序或降序`,"cli.flag.origin":`按服务商筛选模型`,"cli.flag.pingInterval":`设置探测间隔(毫秒)`,"cli.flag.hideUnconfigured":`隐藏未配置 API Key 的模型`,"cli.flag.showUnconfigured":`显示所有模型,包括未配置 API Key 的模型`,"cli.flag.reprobe":`重建探测缓存,并跳过缓存中健康的模型`,"cli.flag.probeTtl":`设置健康探测结果的缓存时长`,"cli.flag.showBroken":`显示被探测缓存标记为不可用的模型`,"cli.flag.checkDrift":`比较 sources.js 与 models.dev 并报告差异`,"cli.flag.driftThreshold":`仅在差异数量达到此值时判定失败`,"cli.flag.web":`启动实时 Web 仪表盘`,"cli.flag.playground":`打开 TUI Playground,必要时自动启动路由器`,"cli.flag.daemon":`启动路由器守护进程和 Web 仪表盘`,"cli.flag.daemonBg":`在后台启动路由器守护进程`,"cli.flag.daemonStatus":`以 JSON 格式输出路由器状态`,"cli.flag.daemonStop":`正常停止路由器守护进程`,"cli.flag.routerV2":`在 19380 端口启动 Router v2 守护进程`,"cli.flag.routerV2Bg":`在后台启动 Router v2`,"cli.flag.routerV2Status":`以 JSON 格式输出 Router v2 状态`,"cli.flag.routerV2Stop":`正常停止 Router v2 守护进程`,"cli.flag.syncSet":`为路由模型组发现并探测模型`,"cli.flag.configDir":`将 config.json 和备份保存到指定目录`,"cli.flag.fixPermissions":`无需确认,直接设置安全的配置文件权限`,"cli.flag.noTelemetry":`本次运行停用匿名遥测`,"cli.flag.help":`显示此帮助并退出`,"palette.placeholder":`输入命令…(筛选、排序、工具、主题、探测、导出)`,"palette.noMatch":`没有匹配的命令。`,"palette.navigate":`导航`,"palette.select":`选择`,"palette.poweredByTui":`使用与 TUI 相同的命令列表`,"palette.section.filter":`筛选`,"palette.section.sort":`排序`,"palette.section.action":`操作`,"palette.section.page":`页面`,"palette.section.update":`更新`,"palette.section.tool":`工具`,"palette.updateNow":`立即更新`,"palette.versionAvailable":`版本可用`,"palette.notAvailable":`此命令暂不可用。`,"palette.notWired":`此命令暂未接入 Web。`,"palette.toolModeNotReady":`工具模式选择器暂不可用。`,"palette.favoriteHint":`在表格的模型行中按 F 键。`,"palette.favoriteModeHint":`请在设置中选择收藏显示方式。`,"palette.benchmarkHint":`点击 AI 延迟单元格可测试当前选中的模型。`,"palette.providerFilterHint":`请使用筛选栏中的服务商下拉菜单。`,"palette.tierFilterHint":`请使用筛选栏中的等级标签。`,"palette.visibilityFilterHint":`请使用筛选栏中的显示方式下拉菜单。`,"palette.sortHint":`点击表格列标题进行排序。`,"palette.web.openHelp":`打开帮助`,"palette.web.openChangelog":`打开更新日志`,"palette.web.openPlayground":`打开 Playground`,"palette.web.openInstallEndpoints":`打开安装端点`,"palette.web.openInstalledModels":`打开已安装模型`,"palette.web.cycleTheme":`切换主题(当前:{theme})`,"palette.web.resetView":`重置视图(筛选和排序)`,"palette.web.pingMode":`探测模式 → {mode}`,"palette.web.exportModels":`导出模型…`,"palette.command.filters":`筛选`,"palette.command.filter-tier":`按等级筛选`,"palette.command.filter-tier-all":`所有等级`,"palette.command.filter-tier-splus":`S+ 级`,"palette.command.filter-tier-s":`S 级`,"palette.command.filter-tier-aplus":`A+ 级`,"palette.command.filter-tier-a":`A 级`,"palette.command.filter-tier-aminus":`A- 级`,"palette.command.filter-tier-bplus":`B+ 级`,"palette.command.filter-tier-b":`B 级`,"palette.command.filter-tier-c":`C 级`,"palette.command.filter-provider":`按服务商筛选`,"palette.command.filter-provider-cycle":`切换服务商`,"palette.command.filter-provider-all":`所有服务商`,"palette.command.filter-model":`按模型筛选`,"palette.command.filter-other":`其他筛选`,"palette.command.filter-configured-toggle":`仅显示已配置且可用的模型`,"palette.command.sort":`排序`,"palette.command.sort-rank":`按排名排序`,"palette.command.sort-tier":`按等级排序`,"palette.command.sort-provider":`按服务商排序`,"palette.command.sort-model":`按模型排序`,"palette.command.sort-latest-ping":`按最近延迟排序`,"palette.command.sort-avg-ping":`按平均延迟排序`,"palette.command.sort-swe":`按 SWE 分数排序`,"palette.command.sort-ctx":`按上下文长度排序`,"palette.command.sort-health":`按健康状态排序`,"palette.command.sort-verdict":`按综合评价排序`,"palette.command.sort-stability":`按稳定性排序`,"palette.command.sort-uptime":`按可用率排序`,"palette.command.actions":`操作`,"palette.command.action-target-tool":`目标工具`,"palette.command.action-cycle-tool-mode":`切换目标工具`,"palette.command.action-ping-mode":`探测模式`,"palette.command.action-cycle-ping-mode":`切换探测模式`,"palette.command.action-set-ping-speed":`快速模式(2 秒)`,"palette.command.action-set-ping-normal":`普通模式(10 秒)`,"palette.command.action-set-ping-slow":`慢速模式(30 秒)`,"palette.command.action-set-ping-forced":`强制模式(4 秒)`,"palette.command.action-favorites-mode":`收藏模式`,"palette.command.action-toggle-favorite-mode":`切换收藏模式`,"palette.command.action-favorites-mode-pinned":`置顶并始终显示`,"palette.command.action-favorites-mode-normal":`普通行(仅标星)`,"palette.command.action-toggle-favorite":`切换所选模型的收藏状态`,"palette.command.action-cycle-theme":`切换主题`,"palette.command.action-reset-view":`重置视图`,"palette.command.action-probe-failed":`重新探测失效模型`,"palette.command.action-probe-404":`探测所有模型(404)`,"palette.command.action-toggle-auto-hide-broken":`切换自动隐藏失效模型`,"palette.command.open-settings":`设置`,"palette.command.open-help":`帮助`,"palette.command.open-changelog":`更新日志`,"palette.command.open-recommend":`智能推荐`,"palette.command.open-playground":`Playground`,"palette.command.open-install-endpoints":`安装端点`,"palette.command.open-installed-models":`已安装模型`,"update.availableTitle":`有可用更新:v{version}。点击安装。`,"update.availableDescription":`npm 上有新版本 v{version}。更新后请重启仪表盘以应用更改。`,"update.now":`立即更新`,"settings.removeKey":`移除 Key`,"settings.theme":`主题`,"help.navigation":`导航`,"analytics.tokenUsage":`Token 用量`,"install.selectProvider":`选择服务商`,"install.selectTool":`选择工具`,"common.stepNumber":`第 {step}/{total} 步`,"install.tuiSubtitle":`将服务商模型目录安装到支持的编程工具中。`,"install.chooseConfiguredProvider":`选择已配置的服务商`,"install.chooseTargetTool":`选择目标工具`,"install.chooseInstallScope":`选择安装范围`,"install.chooseModelsToInstall":`选择要安装的模型`,"install.provider":`服务商`,"install.tool":`工具`,"install.directProvider":`直连服务商`,"install.sharedConfigFile":`共用配置文件`,"install.envFile":`环境变量文件(~/.fcm-*-env)`,"install.managedConfig":`托管配置安装`,"install.selectedCount":`已选择:{selected}/{total}`,"install.result":`结果`,"install.resultUnavailable":`安装结果不可用`,"install.futureRefresh":`FCM 后续启动时会根据服务商目录的变化自动刷新。`,"install.scope.all.label":`安装所有模型`,"install.scope.all.hint":`推荐,FCM 后续会自动刷新此服务商的模型目录。`,"install.scope.selected.label":`仅安装所选模型`,"install.scope.selected.hint":`选择更精简的模型列表,便于使用。`,"recommend.subtitle":`回答几个问题,为当前任务找到合适的模型。`,"recommend.questionPriority":`你最看重什么?`,"router.quickSetup":`快速设置`,"update.checking":`正在检查更新…`,"update.available":`有可用更新`,"update.whatsNew":`更新内容`,"recommend.taskType.quickfix":`快速修复`,"recommend.taskType.refactor":`深度重构`,"recommend.taskType.review":`代码审查`,"recommend.taskType.testgen":`生成测试`,"recommend.priority.speed":`速度`,"recommend.priority.quality":`质量`,"recommend.priority.balanced":`均衡`,"recommend.contextBudget.small":`小型文件(<4K)`,"recommend.contextBudget.medium":`中型项目(<32K)`,"recommend.contextBudget.large":`大型代码库(>32K)`,"changelog.added":`新增`,"changelog.fixed":`修复`,"changelog.changed":`变更`,"changelog.updated":`更新`,"help.item.navigation.rows.label":`↑ / ↓`,"help.item.navigation.rows.description":`主表行导航(计划支持,目前请使用鼠标)。`,"help.item.navigation.details.label":`Enter`,"help.item.navigation.details.description":`打开当前行的详细信息面板。`,"help.item.navigation.close.label":`Esc`,"help.item.navigation.close.description":`关闭当前打开的弹窗或详细信息面板。`,"help.item.filters.tier.label":`等级标签`,"help.item.filters.tier.description":`点击循环切换 S+、S、A+、A、A-、B+、B、C 等级,然后返回“全部”。`,"help.item.filters.status.label":`状态标签`,"help.item.filters.status.description":`点击循环切换“全部”“可用”“不可用”和“等待中”。`,"help.item.filters.verdict.label":`评价标签`,"help.item.filters.verdict.description":`点击循环切换“极佳”“正常”“波动”“较慢”“过载”“不可用”“不稳定”和“等待中”。`,"help.item.filters.health.label":`健康状态标签`,"help.item.filters.health.description":`点击循环切换“可用”“超时”“不可用”“等待中”“缺少 Key”和“认证错误”。`,"help.item.filters.visibility.label":`显示范围`,"help.item.filters.visibility.description":`选择显示全部模型、仅显示已配置模型,或仅显示可用模型(状态为 UP 且评价良好)。`,"help.item.filters.provider.label":`服务商下拉菜单`,"help.item.filters.provider.description":`按服务商筛选表格。`,"help.item.filters.text.label":`文本筛选`,"help.item.filters.text.description":`从命令面板应用文本筛选,或选择“应用文本筛选”;点击 X 标签可清除。`,"help.item.filters.reset.label":`重置按钮`,"help.item.filters.reset.description":`清除所有筛选,并恢复默认排序。`,"help.item.sort.columns.label":`点击任意列标题`,"help.item.sort.columns.description":`依次切换升序、降序和默认顺序。`,"help.item.sort.resize.label":`调整列宽`,"help.item.sort.resize.description":`拖动列标题边缘调整宽度,双击可恢复默认宽度。`,"help.item.favorites.row.label":`每行的星标按钮`,"help.item.favorites.row.description":`点击收藏或取消收藏模型(TUI:F 键)。`,"help.item.favorites.detail.label":`详细信息面板`,"help.item.favorites.detail.description":`收藏模型,或使用上/下按钮调整顺序(TUI:Shift+↑/↓)。`,"help.item.favorites.pinned.label":`置顶模式`,"help.item.favorites.pinned.description":`在设置中启用“收藏置顶并始终显示”(TUI:Y 键)。`,"help.item.favorites.shared.label":`与 TUI 共用`,"help.item.favorites.shared.description":`收藏保存在与 TUI 共用的 ~/.free-coding-models.json 文件中。`,"help.item.benchmark.global.label":`标题栏按钮`,"help.item.benchmark.global.description":`为所有当前可见模型运行 AI 速度测试。`,"help.item.benchmark.single.label":`AI 延迟单元格`,"help.item.benchmark.single.description":`点击单元格可单独测试该模型(TUI:Ctrl+A)。`,"help.item.benchmark.detail.label":`详细信息面板`,"help.item.benchmark.detail.description":`点击 AI 速度测试按钮测试当前模型(TUI:Ctrl+A)。`,"help.item.benchmark.tps.label":`TPS 列`,"help.item.benchmark.tps.description":`基准测试完成后显示模型每秒生成的 Token 数。`,"help.item.benchmark.latency.label":`延迟列`,"help.item.benchmark.latency.description":`显示模型完整响应的延迟,而不只是探测延迟。`,"help.item.tools.shipped.label":`M3 已支持`,"help.item.tools.shipped.description":`选择目标工具、逐个模型安装端点,或使用目标不兼容时的备用方案弹窗。`,"help.item.palette.shortcut.label":`⌘K / Ctrl+P`,"help.item.palette.shortcut.description":`在 Web 仪表盘任意位置打开或关闭命令面板。`,"help.item.palette.search.label":`输入内容搜索`,"help.item.palette.search.description":`搜索筛选、排序、工具、页面、主题、探测和重置操作。`,"help.item.palette.execute.label":`↑ / ↓ + Enter`,"help.item.palette.execute.description":`移动选择项,并运行高亮的命令。`,"help.item.palette.close.label":`Esc`,"help.item.palette.close.description":`关闭命令面板,不运行命令。`,"help.item.theme.cycle.label":`标题栏主题按钮`,"help.item.theme.cycle.description":`点击循环切换自动、深色和浅色主题(TUI:G 键)。`,"help.item.theme.auto.label":`自动模式`,"help.item.theme.auto.description":`跟随操作系统的配色偏好并自动更新。`,"help.item.ping.cadence.label":`快速 / 普通 / 慢速 / 强制`,"help.item.ping.cadence.description":`设置探测间隔为 2 秒、10 秒、30 秒或 4 秒(TUI:W 键)。`,"help.item.ping.countdown.label":`下次探测倒计时`,"help.item.ping.countdown.description":`在筛选栏中查看实时倒计时。`,"help.item.url.filters.label":`?tier=S+&sort=verdict&origin=groq&view=dashboard`,"help.item.url.filters.description":`筛选、排序和当前页面会保存在 URL 中,可以分享带有当前仪表盘状态的链接。`,"help.item.cli.storage.label":`共用配置`,"help.item.cli.storage.description":`Web 仪表盘和 TUI 读取并写入同一个 ~/.free-coding-models.json 文件。`,"help.item.cli.engine.label":`共用引擎`,"help.item.cli.engine.description":`模型解析、探测和基准测试共用同一套代码。`,"help.item.router.smart.label":`智能路由`,"help.item.router.smart.description":`将 OpenAI 兼容客户端指向 http://localhost:19280/v1,并设置模型为“fcm”。守护进程会从当前模型组中选择健康模型,失败时自动切换备用模型。`,"help.item.router.prePrompt.label":`预设提示词`,"help.item.router.prePrompt.description":`每个代理请求都会附带一条系统消息。可以在设置中编辑默认的 FCM 路由提示词。`,"help.item.router.probes.label":`探测`,"help.item.router.probes.description":`守护进程会根据探测模式,每 10 秒、30 秒或 120 秒向模型组发送一个 Token 的聊天补全请求。检查延迟和状态码,也能发现无效的 API Key。`,"help.item.router.breaker.label":`熔断器`,"help.item.router.breaker.description":`每个模型都有独立状态。健康模型接收流量;不可用模型在冷却前会被跳过;恢复中的模型会再次探测;认证错误表示 401/403;已弃用模型会由自动修复功能替换。`,"help.item.router.failover.label":`故障转移顺序`,"help.item.router.failover.description":`模型按优先级依次尝试。恢复中、不可用或认证错误的模型会被跳过。所有模型都失败时会返回 503,并在错误内容中附上 models_tried 列表。`,"help.item.router.autoHeal.label":`自动修复`,"help.item.router.autoHeal.description":`守护进程启动时,会用可用模型替换认证错误或已弃用的模型,并优先选择同一服务商。手动添加、移除或调整模型顺序后,自动修复会关闭。`,"help.item.router.rateLimits.label":`速率限制`,"help.item.router.rateLimits.description":`各服务商的配额彼此独立。常见免费额度包括 Groq 每日 14,400 次、Mistral 每秒 1 次、NVIDIA 约每分钟 40 次、OpenRouter 每日 50 次。遇到 429 时会切换模型;每日配额耗尽后会在下次启动时处理。`,"dashboard.favorited":`已收藏`,"dashboard.installEndpoint":`安装端点`,"dashboard.installEndpointInTool":`将端点安装到 {tool}`,"dashboard.installModelEndpoint":`将 {model} 端点安装到 {tool}`,"dashboard.selectModelFirst":`请先选择模型`,"dashboard.installSelectedModelEndpoint":`安装所选模型端点`,"dashboard.installTargetTitle":`安装端点到:{tool}`,"dashboard.cycleEndpointTarget":`切换端点目标`,"dashboard.endpointInstallTarget":`端点安装目标`,"filters.verdict.pending":`等待中`,"dashboard.favoriteModelTitle":`收藏 {model}`,"dashboard.unfavoriteModelTitle":`取消收藏 {model}`,"dashboard.notInSet":`未加入模型组`,"health.http404":`404 未找到`,"health.http410":`410 已失效`,"health.http429":`429 触发速率限制`,"health.http500":`500 服务器错误`,"health.http502":`502 网关错误`,"health.http503":`503 服务不可用`,"health.http504":`504 请求超时`,"health.httpError":`{code} 错误`,"modelDetail.noApiKey":`{provider} 尚未配置 API Key。请按 P 打开设置。`,"modelDetail.modelInfo":`模型信息`,"modelDetail.miniPlayground":`迷你 Playground — {model}`,"modelDetail.testModel":`测试 {model}`,"modelDetail.playgroundPlaceholder":`输入消息…`,"modelDetail.playgroundEmptyHint":`发送消息以测试此模型。回复会实时显示,并附带延迟和 TPS。`,"modelDetail.testAiLatency":`测试 AI 延迟`,"modelDetail.runningBenchmark":`正在运行基准测试…`,"modelDetail.running":`正在运行…`,"modelDetail.tokens":`Token 数`,"modelDetail.generatedText":`生成的文本会显示在这里…`,"palette.description.filter-tier-all":`显示所有模型`,"palette.description.filter-tier-splus":`编程能力最强的模型`,"palette.description.filter-tier-s":`表现出色的模型`,"palette.description.filter-tier-aplus":`表现很好的模型`,"palette.description.filter-tier-a":`表现良好的模型`,"palette.description.filter-tier-aminus":`表现稳定的模型`,"palette.description.filter-tier-bplus":`表现一般的模型`,"palette.description.filter-tier-b":`基础能力模型`,"palette.description.filter-tier-c":`能力有限的模型`,"palette.description.filter-provider-cycle":`切换服务商`,"palette.description.filter-provider-all":`显示所有服务商`,"palette.description.filter-configured-toggle":`仅显示已配置且响应正常的服务商(排除无 Key 和认证错误)`,"palette.description.providerModels":`{provider} 模型`,"palette.description.sort-rank":`按 SWE 分数排序`,"palette.description.sort-tier":`按质量等级分组`,"palette.description.sort-provider":`按服务商分组`,"palette.description.sort-model":`按字母顺序排列`,"palette.description.sort-latest-ping":`按最近响应时间排序`,"palette.description.sort-avg-ping":`按平均响应时间排序`,"palette.description.sort-swe":`按编程能力分数排序`,"palette.description.sort-ctx":`按上下文窗口大小排序`,"palette.description.sort-health":`按模型当前状态排序`,"palette.description.sort-verdict":`按综合评价排序`,"palette.description.sort-stability":`按稳定性排序`,"palette.description.sort-uptime":`按成功率排序`,"palette.description.action-cycle-tool-mode":`循环切换可用的启动工具。`,"palette.description.action-set-tool-opencode":`使用所选模型启动 OpenCode CLI。`,"palette.description.action-set-tool-pi":`使用模型和服务商参数启动 Pi。`,"palette.description.action-set-tool-jcode":`使用所选模型启动 jcode 编程助手。`,"palette.description.action-set-tool-opencode-desktop":`在共享配置中设置模型,然后打开 OpenCode Desktop。`,"palette.description.action-set-tool-opencode-web":`在共享配置中设置模型,然后打开 OpenCode WebUI。`,"palette.description.action-set-tool-openclaw":`在 OpenClaw 中设为默认模型并启动。`,"palette.description.action-set-tool-crush":`使用此服务商和模型启动 Crush。`,"palette.description.action-set-tool-goose":`启动 Goose 并预选当前模型。`,"palette.description.action-set-tool-aider":`使用所选模型配置并启动 Aider。`,"palette.description.action-set-tool-kilo":`在共享配置中设置模型,然后启动 Kilo CLI。`,"palette.description.action-set-tool-qwen":`使用所选服务商模型启动 Qwen Code。`,"palette.description.action-set-tool-openhands":`使用所选模型端点启动 OpenHands。`,"palette.description.action-set-tool-amp":`将此模型设为目标并启动 Amp。`,"palette.description.action-set-tool-hermes":`使用所选模型启动 Hermes Agent。`,"palette.description.action-set-tool-continue":`使用所选模型启动 Continue CLI。`,"palette.description.action-set-tool-cline":`使用所选模型启动 Cline CLI。`,"palette.description.action-set-tool-xcode":`将此模型设为当前启动目标。`,"palette.description.action-set-tool-fcm_router":`将此模型设为当前启动目标。`,"palette.description.action-set-tool-caveman":`Caveman Code:节省 Token 的编程助手(仅使用 Caveman 工具启动)。`,"palette.description.action-set-tool-copilot":`将此模型设为当前启动目标。`,"palette.description.action-set-tool-forgecode":`将此模型设为当前启动目标。`,"palette.description.action-set-tool-zcode":`将此模型设为当前启动目标。`,"palette.description.action-cycle-ping-mode":`循环切换快速、普通、慢速和强制模式。`,"palette.description.action-set-ping-speed":`短时检查时以 2 秒间隔快速探测。`,"palette.description.action-set-ping-normal":`日常使用的均衡默认间隔。`,"palette.description.action-set-ping-slow":`空闲时降低刷新频率。`,"palette.description.action-set-ping-forced":`保持 4 秒探测间隔,直到手动更改。`,"palette.description.action-toggle-favorite-mode":`切换置顶模式和普通列表模式。`,"palette.description.action-favorites-mode-pinned":`收藏项置顶显示,并忽略当前筛选条件。`,"palette.description.action-favorites-mode-normal":`收藏项保留星标,并遵循当前筛选和排序。`,"palette.description.action-toggle-favorite":`收藏或取消收藏当前选中的模型。`,"palette.description.action-cycle-theme":`切换深色、浅色和自动主题。`,"palette.description.action-reset-view":`重置筛选和排序。`,"palette.description.action-probe-failed":`仅重新探测出现错误的行(认证失败、429、404、超时),不检查整个列表。`,"palette.description.action-probe-404":`检查所有已配置模型是否返回 404/410,并自动隐藏失效模型。`,"palette.description.action-toggle-auto-hide-broken":`启用或停用自动隐藏 404/410 模型;停用时会显示所有模型。`,"palette.description.open-settings":`API Key 和偏好设置`,"palette.description.open-help":`查看所有快捷键`,"palette.description.open-changelog":`查看版本历史`,"palette.description.open-recommend":`查找适合当前任务的模型`,"palette.description.open-playground":`通过 FCM 路由器与模型对话`,"palette.description.open-install-endpoints":`安装服务商模型目录`,"palette.description.open-installed-models":`查看工具中已配置的模型`}),$r=Object.freeze([`en`,`zh-CN`]),ei=Object.freeze([Object.freeze({value:`en`,labelKey:`common.language.english`}),Object.freeze({value:`zh-CN`,labelKey:`common.language.simplifiedChinese`})]),ti=Object.freeze({en:Zr,"zh-CN":Qr}),ni=`en`;function ri(e){return $r.includes(e)?e:`en`}function ii(){return ni}function ai(e){return ni=ri(e),ni}function oi(e=ti){return(t,n,r={})=>{if(typeof n!=`string`)return``;let i=e[ri(t)]?.[n],a=e.en?.[n];return(typeof i==`string`?i:typeof a==`string`?a:n).replace(/\{([\w.]+)\}/g,(e,t)=>{let n=r&&Object.prototype.hasOwnProperty.call(r,t)?r[t]:void 0;return n==null?e:String(n)})}}var si=oi();function ci(e,t={}){return si(ni,e,t)}function li(e,t){return typeof ti[ri(e)]?.[t]==`string`}var ui=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),F=o(((e,t)=>{t.exports=ui()}))(),di=(0,v.createContext)(null);function fi({children:e}){let[t,n]=(0,v.useState)(`en`);(0,v.useEffect)(()=>{let e=!0;return fetch(`/api/config`).then(e=>e.ok?e.json():null).then(t=>{if(!e||!t)return;let r=ri(t.settings?.language);ai(r),n(r)}).catch(()=>{}),()=>{e=!1}},[]);let r=(0,v.useCallback)(async e=>{let r=ri(e),i=t;ai(r),n(r);try{if(!(await fetch(`/api/settings/feature`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({feature:`language`,value:r})})).ok)throw Error(`Language preference could not be saved`);return!0}catch{return ai(i),n(i),!1}},[t]),i=(0,v.useMemo)(()=>({locale:t,locales:ei,setLanguage:r,t:ci}),[t,r]);return(0,v.useEffect)(()=>{document.documentElement.lang=t},[t]),(0,F.jsx)(di.Provider,{value:i,children:e})}function pi(){return(0,v.useContext)(di)||{locale:`en`,locales:ei,setLanguage:async()=>!1,t:ci}}var mi={wrap:`_wrap_18gb2_5`,trigger:`_trigger_18gb2_11`,cycle:`_cycle_18gb2_30`,emoji:`_emoji_18gb2_53`,label:`_label_18gb2_54`,menu:`_menu_18gb2_55`,item:`_item_18gb2_69`,itemActive:`_itemActive_18gb2_83`,itemEmoji:`_itemEmoji_18gb2_87`,itemText:`_itemText_18gb2_88`,activeDot:`_activeDot_18gb2_91`,compact:`_compact_18gb2_92`};function hi({toolMode:e=`opencode`,onSetToolMode:t,onCycleToolMode:n,compact:r=!1,tools:i=dn}){let{t:a}=pi(),[o,s]=(0,v.useState)(!1),c=(0,v.useRef)(null),l=_n(e);return(0,v.useEffect)(()=>{if(!o)return;let e=e=>{c.current&&!c.current.contains(e.target)&&s(!1)},t=e=>{e.key===`Escape`&&s(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[o]),(0,F.jsxs)(`div`,{className:`${mi.wrap} ${r?mi.compact:``}`,ref:c,children:[(0,F.jsxs)(`button`,{type:`button`,className:mi.trigger,onClick:()=>s(e=>!e),"aria-haspopup":`listbox`,"aria-expanded":o,title:a(`dashboard.installTargetTitle`,{tool:l.label}),children:[(0,F.jsx)(`span`,{className:mi.emoji,children:l.emoji}),(0,F.jsx)(`span`,{className:mi.label,children:r?l.label.replace(/ CLI$/,``):l.label}),(0,F.jsx)(Jn,{size:13,stroke:1.7})]}),(0,F.jsx)(`button`,{type:`button`,className:mi.cycle,onClick:n,title:a(`dashboard.cycleEndpointTarget`),"aria-label":a(`dashboard.cycleEndpointTarget`),children:(0,F.jsx)(Pr,{size:13,stroke:1.7})}),o&&(0,F.jsx)(`div`,{className:mi.menu,role:`listbox`,"aria-label":a(`dashboard.endpointInstallTarget`),children:i.map(n=>{let r=hn[n],i=n===e;return(0,F.jsxs)(`button`,{type:`button`,className:`${mi.item} ${i?mi.itemActive:``}`,onClick:()=>{t?.(n),s(!1)},role:`option`,"aria-selected":i,children:[(0,F.jsx)(`span`,{className:mi.itemEmoji,children:r.emoji}),(0,F.jsxs)(`span`,{className:mi.itemText,children:[(0,F.jsx)(`strong`,{children:r.label}),(0,F.jsx)(`small`,{children:r.flag})]}),i&&(0,F.jsx)(`span`,{className:mi.activeDot,children:`●`})]},n)})})]})}var I={header:`_header_1ky4z_11`,left:`_left_1ky4z_28`,center:`_center_1ky4z_35`,right:`_right_1ky4z_41`,logo:`_logo_1ky4z_49`,logoIconSvg:`_logoIconSvg_1ky4z_50`,logoText:`_logoText_1ky4z_56`,logoTextHighlight:`_logoTextHighlight_1ky4z_64`,version:`_version_1ky4z_65`,nav:`_nav_1ky4z_72`,navBtn:`_navBtn_1ky4z_82`,navBtnActive:`_navBtnActive_1ky4z_106`,comingBadge:`_comingBadge_1ky4z_121`,betaBadge:`_betaBadge_1ky4z_138`,menuWrap:`_menuWrap_1ky4z_154`,menuTrigger:`_menuTrigger_1ky4z_155`,menuPopover:`_menuPopover_1ky4z_160`,menuItem:`_menuItem_1ky4z_175`,menuItemActive:`_menuItemActive_1ky4z_192`,searchBar:`_searchBar_1ky4z_200`,searchIcon:`_searchIcon_1ky4z_210`,searchInput:`_searchInput_1ky4z_211`,iconBtn:`_iconBtn_1ky4z_219`,cmdkBtn:`_cmdkBtn_1ky4z_229`,cmdkLabel:`_cmdkLabel_1ky4z_242`,benchmarkBtn:`_benchmarkBtn_1ky4z_245`,benchmarkActive:`_benchmarkActive_1ky4z_255`,benchmarkRunning:`_benchmarkRunning_1ky4z_260`,spinner:`_spinner_1ky4z_262`,spin:`_spin_1ky4z_262`,hamburgerBtn:`_hamburgerBtn_1ky4z_295`,mobileNav:`_mobileNav_1ky4z_322`,mobileNavItem:`_mobileNavItem_1ky4z_337`,mobileNavActive:`_mobileNavActive_1ky4z_354`,mobileNavDivider:`_mobileNavDivider_1ky4z_359`},gi=[{id:`dashboard`,labelKey:`nav.dashboard`,icon:xr},{id:`router`,labelKey:`nav.router`,icon:Fr},{id:`router-v2`,labelKey:`nav.routerV2`,icon:Fr,beta:!0},{id:`playground`,labelKey:`nav.playground`,icon:Er},{id:`help`,labelKey:`nav.help`,icon:Nr},{id:`install-endpoints`,labelKey:`nav.installEndpoints`,icon:jr}],_i=[{id:`analytics`,labelKey:`nav.analytics`,icon:In},{id:`recommend`,label:`Recommend`,labelKey:`nav.recommend`,icon:zr},{id:`changelog`,labelKey:`nav.changelog`,icon:_r},{id:`installed-models`,labelKey:`nav.installedModels`,icon:hr}];function vi({searchQuery:e,onSearchChange:t,currentView:n,onNavigate:r,onToggleTheme:i,onOpenExport:a,onOpenCommandPalette:o,onBenchmark:s,benchmarkRunning:c,benchmarkTotal:l,benchmarkCompleted:u,modelsCount:d,theme:f,onToast:p,toolMode:m=`opencode`,onSetToolMode:h,onCycleToolMode:g,updateSlot:_=null}){let{t:y}=pi(),[b,x]=(0,v.useState)(!1),[S,C]=(0,v.useState)(!1),w=(0,v.useRef)(null);(0,v.useEffect)(()=>{if(!b&&!S)return;let e=e=>{w.current&&!w.current.contains(e.target)&&x(!1)},t=e=>{e.key===`Escape`&&(x(!1),C(!1))};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[b,S]);let T=e=>{if(e.comingIn){p?.(`${y(e.labelKey)} arrives in milestone ${e.comingIn}.`,`info`);return}r(e.id),C(!1)},ee=e=>{if(x(!1),e.comingIn){p?.(`${y(e.labelKey)} arrives in milestone ${e.comingIn}.`,`info`);return}r(e.id)};return(0,F.jsxs)(`header`,{className:I.header,children:[(0,F.jsxs)(`div`,{className:I.left,children:[(0,F.jsxs)(`div`,{className:I.logo,onClick:()=>r(`dashboard`),style:{cursor:`pointer`},children:[(0,F.jsxs)(`svg`,{className:I.logoIconSvg,width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,F.jsx)(`path`,{d:`M4 5L11 12L4 19`,stroke:`var(--color-brand)`,strokeWidth:`3`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,F.jsx)(`path`,{d:`M14 5V19M14 5H21M14 11H18`,stroke:`var(--color-brand)`,strokeWidth:`3`,strokeLinecap:`round`,strokeLinejoin:`round`})]}),(0,F.jsxs)(`span`,{className:I.logoText,children:[(0,F.jsx)(`span`,{className:I.logoTextHighlight,children:`free`}),(0,F.jsx)(`span`,{children:`-coding-models`}),(0,F.jsx)(`span`,{className:I.logoTextHighlight,children:`_`})]})]}),(0,F.jsxs)(`span`,{className:I.version,children:[`v`,`0.5.98`]}),(0,F.jsx)(`button`,{className:I.hamburgerBtn,onClick:()=>C(e=>!e),"aria-label":y(`nav.navigationMenu`),"aria-expanded":S,"aria-haspopup":`true`,children:(0,F.jsx)(Tr,{size:18,stroke:1.5})}),S&&(0,F.jsxs)(`div`,{className:I.mobileNav,role:`menu`,children:[gi.map(e=>{let t=e.icon;return(0,F.jsxs)(`button`,{className:`${I.mobileNavItem} ${n===e.id?I.mobileNavActive:``}`,onClick:()=>T(e),role:`menuitem`,children:[(0,F.jsx)(t,{size:16,stroke:1.5}),(0,F.jsx)(`span`,{children:y(e.labelKey)}),e.beta&&(0,F.jsx)(`span`,{className:I.betaBadge,children:`BETA`})]},e.id)}),(0,F.jsx)(`div`,{className:I.mobileNavDivider}),_i.map(e=>{let t=e.icon;return(0,F.jsxs)(`button`,{className:I.mobileNavItem,onClick:()=>ee(e),role:`menuitem`,children:[(0,F.jsx)(t,{size:16,stroke:1.5}),(0,F.jsx)(`span`,{children:y(e.labelKey)})]},e.id)})]}),(0,F.jsxs)(`nav`,{className:I.nav,"aria-label":y(`nav.primary`),children:[gi.map(e=>{let t=e.icon,r=n===e.id;return(0,F.jsxs)(`button`,{className:`${I.navBtn} ${r?I.navBtnActive:``}`,onClick:()=>T(e),title:e.comingIn?`${y(e.labelKey)} — coming in ${e.comingIn}`:y(e.labelKey),"aria-current":r?`page`:void 0,children:[(0,F.jsx)(t,{size:14,stroke:1.5}),(0,F.jsx)(`span`,{children:y(e.labelKey)}),e.beta&&(0,F.jsx)(`span`,{className:I.betaBadge,children:`BETA`}),e.comingIn&&(0,F.jsx)(`span`,{className:I.comingBadge,children:e.comingIn})]},e.id)}),(0,F.jsxs)(`div`,{className:I.menuWrap,ref:w,children:[(0,F.jsx)(`button`,{className:`${I.navBtn} ${I.menuTrigger} ${_i.some(e=>e.id===n)?I.navBtnActive:``}`,onClick:()=>x(e=>!e),title:y(`nav.moreFeatures`),"aria-label":y(`nav.moreFeatures`),"aria-haspopup":`true`,"aria-expanded":b,children:(0,F.jsx)(ar,{size:16,stroke:1.5})}),b&&(0,F.jsx)(`div`,{className:I.menuPopover,role:`menu`,children:_i.map(e=>{let t=e.icon,r=n===e.id;return(0,F.jsxs)(`button`,{className:`${I.menuItem} ${r?I.menuItemActive:``}`,onClick:()=>ee(e),role:`menuitem`,"aria-current":r?`page`:void 0,children:[(0,F.jsx)(t,{size:14,stroke:1.5}),(0,F.jsx)(`span`,{children:y(e.labelKey)}),e.comingIn&&(0,F.jsx)(`span`,{className:I.comingBadge,children:e.comingIn})]},e.id)})})]})]})]}),(0,F.jsxs)(`div`,{className:I.right,children:[(0,F.jsxs)(`button`,{className:`${I.navBtn} ${n===`settings`?I.navBtnActive:``}`,onClick:()=>r(`settings`),title:y(`nav.settings`),"aria-current":n===`settings`?`page`:void 0,style:{marginRight:`2px`},children:[(0,F.jsx)(Rr,{size:14,stroke:1.5}),(0,F.jsx)(`span`,{children:y(`nav.settings`)})]}),(0,F.jsx)(hi,{toolMode:m,onSetToolMode:h,onCycleToolMode:g}),(0,F.jsxs)(`button`,{className:I.cmdkBtn,onClick:o,title:`${y(`nav.commandPalette`)} (⌘K / Ctrl+P)`,"aria-label":`${y(`nav.commandPalette`)} (⌘K)`,children:[(0,F.jsx)(rr,{size:14,stroke:1.5}),(0,F.jsx)(`span`,{className:I.cmdkLabel,children:`⌘K`})]}),(0,F.jsxs)(`button`,{className:`${I.benchmarkBtn} ${c?I.benchmarkActive:``}`,onClick:s,disabled:c,title:c?y(`dashboard.aiSpeedTestRunning`,{completed:u,total:l}):y(`dashboard.runBenchmark`,{count:d}),"aria-label":c?y(`dashboard.aiSpeedTestRunning`,{completed:u,total:l}):y(`dashboard.aiLatency`),children:[(0,F.jsx)(Or,{size:14,stroke:1.5}),c?(0,F.jsxs)(`span`,{className:I.benchmarkRunning,children:[(0,F.jsx)(`span`,{className:I.spinner}),`RUN `,u,`/`,l]}):(0,F.jsx)(`span`,{children:y(`dashboard.aiLatency`)})]}),_,(0,F.jsx)(`button`,{className:I.iconBtn,onClick:i,title:y(`nav.themeTitle`,{theme:y(`settings.theme.${f}`)}),"aria-label":y(`nav.themeLabel`,{theme:y(`settings.theme.${f}`)}),children:f===`light`?(0,F.jsx)(Dr,{size:16,stroke:1.5}):(0,F.jsx)(Vr,{size:16,stroke:1.5})}),(0,F.jsx)(`button`,{className:I.iconBtn,onClick:a,title:y(`nav.exportData`),"aria-label":y(`dashboard.exportData`),children:(0,F.jsx)(or,{size:16,stroke:1.5})})]})]})}var yi={footer:`_footer_1uw54_1`,left:`_left_1uw54_8`,right:`_right_1uw54_8`};function bi(){return(0,F.jsxs)(`footer`,{className:yi.footer,children:[(0,F.jsxs)(`div`,{className:yi.left,children:[`by `,(0,F.jsx)(`a`,{href:`https://vavanessa.dev`,target:`_blank`,rel:`noopener`,children:`Vava-Nessa`})]}),(0,F.jsxs)(`div`,{className:yi.right,children:[(0,F.jsx)(`a`,{href:`https://github.com/vava-nessa/free-coding-models`,target:`_blank`,rel:`noopener`,children:`GitHub`}),(0,F.jsx)(`a`,{href:`https://discord.gg/ZTNFHvvCkU`,target:`_blank`,rel:`noopener`,children:`Discord`})]})]})}var xi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 181 24" xmlns="http://www.w3.org/2000/svg"><title>Google AI Studio</title><path d="M172.721 19.07c-1.172 0-2.221-.266-3.149-.798a5.779 5.779 0 01-2.169-2.237c-.517-.943-.775-1.993-.775-3.15 0-1.155.258-2.205.775-3.149a5.619 5.619 0 012.169-2.213c.928-.548 1.977-.822 3.149-.822 1.171 0 2.221.274 3.149.822a5.777 5.777 0 012.168 2.236c.518.944.776 1.986.776 3.127 0 1.156-.258 2.206-.776 3.15a5.776 5.776 0 01-2.168 2.236c-.928.532-1.978.799-3.149.799zm0-2.304c.639 0 1.232-.153 1.78-.457.548-.32.981-.768 1.301-1.346.335-.594.502-1.286.502-2.077 0-.791-.167-1.476-.502-2.054a3.304 3.304 0 00-1.301-1.324 3.472 3.472 0 00-1.78-.479c-.639 0-1.232.16-1.78.48a3.458 3.458 0 00-1.324 1.323c-.319.578-.479 1.263-.479 2.054 0 .791.16 1.483.479 2.077a3.629 3.629 0 001.324 1.346 3.606 3.606 0 001.78.457zM162.999 5.378a1.69 1.69 0 01-1.21-.48 1.69 1.69 0 01-.479-1.21c0-.47.16-.866.479-1.186a1.65 1.65 0 011.21-.502c.471 0 .867.167 1.186.502.335.32.503.715.503 1.187 0 .471-.168.875-.503 1.21a1.61 1.61 0 01-1.186.479zm-1.255 1.688h2.51v11.64h-2.51V7.066zM152.429 19.07c-1.05 0-2.001-.266-2.853-.798-.852-.533-1.529-1.263-2.031-2.191-.487-.944-.73-2.008-.73-3.195 0-1.187.243-2.244.73-3.172.502-.944 1.179-1.682 2.031-2.214.852-.533 1.803-.799 2.853-.799.821 0 1.559.183 2.213.548.655.365 1.149.814 1.484 1.346h.114l-.114-1.643V2.365h2.51v16.34h-2.396V17.2h-.114c-.335.517-.829.959-1.484 1.324-.654.365-1.392.547-2.213.547zm.365-2.305c.608 0 1.171-.16 1.689-.479.532-.32.958-.776 1.278-1.37.319-.592.479-1.27.479-2.03 0-.76-.16-1.43-.479-2.008-.32-.594-.746-1.05-1.278-1.37a3.158 3.158 0 00-1.689-.48c-.609 0-1.179.16-1.712.48-.532.32-.958.776-1.278 1.37-.319.578-.479 1.247-.479 2.008 0 .76.16 1.438.479 2.03.32.594.746 1.05 1.278 1.37.533.32 1.103.48 1.712.48zM138.527 19.07c-1.415 0-2.495-.418-3.241-1.255-.73-.852-1.095-2.03-1.095-3.537V7.066h2.51v6.87c0 .943.221 1.65.662 2.122.456.472 1.05.707 1.78.707.593 0 1.118-.152 1.575-.456.456-.32.806-.738 1.049-1.255a3.856 3.856 0 00.366-1.666V7.066h2.51v11.64h-2.373v-1.507h-.137c-.32.548-.814.997-1.484 1.346a4.517 4.517 0 01-2.122.525zM130.115 18.888a4.208 4.208 0 01-1.461-.251c-.457-.167-.829-.388-1.118-.662-.655-.654-.982-1.544-.982-2.67V9.28h-2.031V7.066h2.031V3.78h2.511v3.286h2.83V9.28h-2.83v5.477c0 .624.121 1.065.365 1.324.228.304.624.456 1.187.456.258 0 .486-.03.684-.09.198-.077.411-.191.639-.343v2.442c-.502.228-1.11.342-1.825.342zM117.888 19.07a6.03 6.03 0 01-3.652-1.186c-1.08-.791-1.825-1.902-2.236-3.332l2.419-.981c.243.897.669 1.635 1.278 2.213.624.563 1.369.845 2.236.845.807 0 1.491-.206 2.054-.617.563-.426.845-1.004.845-1.734 0-.67-.251-1.217-.753-1.643-.487-.441-1.347-.883-2.579-1.324l-1.027-.365c-1.096-.38-2.016-.928-2.762-1.643-.745-.715-1.118-1.658-1.118-2.83 0-.806.221-1.552.662-2.236.441-.685 1.05-1.225 1.826-1.62.791-.412 1.681-.617 2.67-.617 1.43 0 2.571.35 3.423 1.05.852.684 1.423 1.46 1.712 2.328l-2.305.981c-.168-.517-.487-.974-.959-1.37-.471-.395-1.08-.593-1.826-.593-.745 0-1.376.19-1.894.57-.502.381-.753.868-.753 1.461 0 .563.228 1.027.685 1.393.456.365 1.171.715 2.145 1.05l1.027.342c1.4.487 2.48 1.126 3.241 1.917.776.776 1.164 1.818 1.164 3.126 0 1.065-.274 1.963-.822 2.693a4.978 4.978 0 01-2.1 1.598 6.677 6.677 0 01-2.601.525zM102.221 2.365h2.556v16.34h-2.556V2.365zM90.94 2.365h2.922L100 18.705h-2.83l-1.46-4.176h-6.596l-1.484 4.176h-2.83l6.14-16.34zm3.903 9.79l-1.734-4.86-.64-1.895h-.136l-.64 1.894-1.734 4.862h4.884zM73.43 19.07c-1.141 0-2.168-.266-3.081-.798a5.758 5.758 0 01-2.123-2.191c-.502-.943-.753-2-.753-3.172 0-1.111.244-2.138.73-3.081a5.898 5.898 0 012.078-2.282c.882-.563 1.886-.845 3.012-.845 1.171 0 2.183.259 3.035.776A4.985 4.985 0 0178.291 9.6c.456.897.684 1.909.684 3.035 0 .213-.022.48-.068.799h-8.923c.091 1.08.471 1.917 1.14 2.51a3.57 3.57 0 002.374.867c.715 0 1.332-.16 1.849-.48a3.745 3.745 0 001.278-1.345l2.122 1.004c-.547.958-1.263 1.711-2.145 2.259-.882.548-1.94.822-3.172.822zm2.99-7.553a2.82 2.82 0 00-.389-1.21c-.228-.41-.578-.753-1.05-1.027-.456-.274-1.019-.41-1.688-.41-.806 0-1.491.243-2.054.73-.548.471-.928 1.11-1.141 1.917h6.322zM62.763 2.365h2.51v16.34h-2.51V2.365zM54.016 24c-1.43 0-2.616-.327-3.56-.981-.928-.654-1.552-1.43-1.871-2.328l2.35-.981a3.148 3.148 0 001.164 1.46c.548.38 1.187.57 1.917.57 1.065 0 1.895-.319 2.488-.958.609-.624.913-1.506.913-2.647v-1.073h-.137c-.38.548-.89.982-1.53 1.301-.623.304-1.346.457-2.167.457a5.185 5.185 0 01-2.716-.754c-.837-.502-1.506-1.21-2.008-2.122-.487-.928-.73-1.986-.73-3.172 0-1.187.243-2.237.73-3.15.502-.928 1.171-1.643 2.008-2.145a5.07 5.07 0 012.716-.776c.806 0 1.529.16 2.168.48.639.319 1.149.753 1.529 1.3h.137V7.066h2.396v11c0 1.263-.243 2.336-.73 3.218a4.81 4.81 0 01-2.054 2.031c-.867.457-1.872.685-3.013.685zm.023-7.463c.609 0 1.172-.144 1.69-.433a3.281 3.281 0 001.231-1.301c.305-.578.457-1.255.457-2.031 0-1.187-.327-2.107-.982-2.762-.639-.67-1.437-1.004-2.396-1.004-.623 0-1.194.152-1.711.457-.518.289-.928.715-1.233 1.278-.304.563-.456 1.24-.456 2.03 0 .792.152 1.469.456 2.032a3.28 3.28 0 001.233 1.3c.517.29 1.087.434 1.711.434zM40.36 19.07c-1.172 0-2.222-.266-3.15-.798a5.778 5.778 0 01-2.168-2.237c-.517-.943-.776-1.993-.776-3.15 0-1.155.259-2.205.776-3.149a5.618 5.618 0 012.168-2.213c.928-.548 1.978-.822 3.15-.822 1.17 0 2.22.274 3.149.822a5.778 5.778 0 012.168 2.236c.517.944.776 1.986.776 3.127 0 1.156-.259 2.206-.776 3.15a5.778 5.778 0 01-2.168 2.236c-.928.532-1.978.799-3.15.799zm0-2.304c.638 0 1.232-.153 1.78-.457.547-.32.98-.768 1.3-1.346.335-.594.502-1.286.502-2.077 0-.791-.167-1.476-.502-2.054a3.303 3.303 0 00-1.3-1.324 3.472 3.472 0 00-1.78-.479c-.64 0-1.233.16-1.78.48a3.458 3.458 0 00-1.324 1.323c-.32.578-.48 1.263-.48 2.054 0 .791.16 1.483.48 2.077a3.629 3.629 0 001.323 1.346 3.606 3.606 0 001.78.457zM26.497 19.07c-1.172 0-2.221-.266-3.15-.798a5.778 5.778 0 01-2.168-2.237c-.517-.943-.775-1.993-.775-3.15 0-1.155.258-2.205.776-3.149a5.618 5.618 0 012.168-2.213c.928-.548 1.977-.822 3.149-.822s2.221.274 3.15.822a5.779 5.779 0 012.167 2.236c.518.944.776 1.986.776 3.127 0 1.156-.258 2.206-.776 3.15a5.778 5.778 0 01-2.168 2.236c-.928.532-1.977.799-3.149.799zm0-2.304c.639 0 1.232-.153 1.78-.457.548-.32.981-.768 1.3-1.346.336-.594.503-1.286.503-2.077 0-.791-.167-1.476-.502-2.054a3.303 3.303 0 00-1.3-1.324 3.472 3.472 0 00-1.781-.479c-.639 0-1.232.16-1.78.48a3.456 3.456 0 00-1.324 1.323c-.32.578-.479 1.263-.479 2.054 0 .791.16 1.483.48 2.077a3.627 3.627 0 001.323 1.346 3.606 3.606 0 001.78.457zM10.558 19.07c-1.552 0-2.982-.372-4.29-1.118a8.49 8.49 0 01-3.127-3.058C2.381 13.586 2 12.133 2 10.535c0-1.597.38-3.043 1.141-4.336a8.435 8.435 0 013.127-3.08C7.576 2.372 9.006 2 10.558 2c1.232 0 2.381.22 3.446.662 1.065.441 1.955 1.057 2.67 1.848l-1.78 1.78a5.401 5.401 0 00-1.917-1.369c-.73-.32-1.544-.48-2.442-.48-1.05 0-2.03.252-2.944.754a5.702 5.702 0 00-2.19 2.145c-.548.928-.822 1.993-.822 3.195 0 1.202.274 2.267.821 3.195a5.702 5.702 0 002.191 2.146 6.057 6.057 0 002.967.753c.974 0 1.788-.145 2.442-.434a6.2 6.2 0 001.757-1.164c.335-.335.617-.753.845-1.255.243-.502.403-1.05.479-1.643h-5.546V9.85H18.5c.076.426.114.867.114 1.323 0 1.035-.16 2.032-.479 2.99a6.294 6.294 0 01-1.53 2.465c-1.536 1.628-3.552 2.442-6.047 2.442z"></path></svg>`,Si=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Google AI Studio</title><path d="M9.921 4.196H6.328A2.705 2.705 0 003.623 6.9v11.362a2.705 2.705 0 002.705 2.705h11.363a2.705 2.705 0 002.705-2.705v-4.756l1.623-1.113v5.87a4.329 4.329 0 01-4.328 4.328H6.328A4.329 4.329 0 012 18.263V6.901a4.328 4.328 0 014.328-4.329h4.545l-.952 1.624z"></path><path d="M17.82 0c.145 0 .268.104.299.246a7 7 0 001.9 3.484 7 7 0 003.485 1.901c.142.031.246.154.246.3a.308.308 0 01-.246.298A7 7 0 0020.02 8.13a7 7 0 00-1.912 3.535.297.297 0 01-.288.238.297.297 0 01-.288-.238A7 7 0 0015.62 8.13a7 7 0 00-3.535-1.912.297.297 0 01-.238-.288c0-.14.1-.26.238-.288A7 7 0 0015.62 3.73 7.001 7.001 0 0017.521.246.308.308 0 0117.82 0z"></path></svg>`,Ci=`<svg fill="currentColor" height="1em" style="flex:none;line-height:1" viewBox="0 0 53 24" xmlns="http://www.w3.org/2000/svg"><title>Cerebras</title><path clip-rule="evenodd" d="M13 2.701A9.299 9.299 0 0013 21.3V22.7C7.09 22.701 2.299 17.91 2.299 12S7.09 1.299 13 1.299V2.7zm4.752 3.677a7.353 7.353 0 00-9.453 11.265l-.901 1.074A8.755 8.755 0 1118.652 5.304l-.901 1.074zm-2.256.844a5.407 5.407 0 00-5.049 9.563l-.654 1.24a6.81 6.81 0 016.358-12.043l-.655 1.24zM13 8.539a3.461 3.461 0 000 6.922v1.402a4.863 4.863 0 010-9.726v1.402z" fill="#F15A29" fill-rule="evenodd"></path><path d="M14.286 10.836a2.242 2.242 0 00-.51-.409 1.085 1.085 0 00-.545-.152c-.254 0-.482.047-.683.14a1.582 1.582 0 00-.841.912 1.848 1.848 0 000 1.262 1.595 1.595 0 00.841.913c.2.093.429.14.683.14.217 0 .418-.046.603-.135.187-.09.35-.225.475-.392l.927 1.006c-.139.14-.3.261-.481.363a3.367 3.367 0 01-1.083.38c-.17.026-.317.04-.44.04a3.316 3.316 0 01-1.182-.21 2.826 2.826 0 01-.962-.597 2.813 2.813 0 01-.643-.929 2.986 2.986 0 01-.238-1.21c0-.444.08-.847.238-1.21.15-.35.368-.666.643-.929.277-.261.604-.464.962-.596a3.316 3.316 0 011.181-.21c.355 0 .713.068 1.072.204.362.138.686.36.945.649l-.962.97z"></path><path d="M19.338 11.397c-.008-.414-.136-.738-.383-.976-.247-.237-.59-.356-1.03-.356-.418 0-.749.12-.991.362-.244.242-.393.565-.447.97h2.85zm-2.85 1.052c.045.42.208.748.486.982.278.234.614.351 1.008.351.348 0 .639-.072.875-.217a2.42 2.42 0 00.62-.543l.997.76c-.325.405-.689.694-1.09.865a3.32 3.32 0 01-2.445.047 2.821 2.821 0 01-.962-.597 2.829 2.829 0 01-.643-.929 2.992 2.992 0 01-.237-1.21c0-.444.079-.847.238-1.21.15-.35.368-.666.642-.929.278-.261.605-.464.962-.596a3.32 3.32 0 011.182-.21c.386 0 .74.067 1.06.204.32.136.595.333.823.59.228.258.405.575.533.953.128.379.19.812.19 1.303v.386h-4.24zm4.843-3.296h1.39v.888h.023c.155-.327.375-.58.661-.76a1.812 1.812 0 011.234-.246c.081.016.164.036.25.06v1.355a3.912 3.912 0 00-.343-.076c-.109-.02-.22-.03-.33-.03-.324 0-.585.06-.782.182a1.38 1.38 0 00-.66.883 1.76 1.76 0 00-.053.35v3.005h-1.39V9.152zm7.797 2.244c-.008-.414-.135-.738-.383-.976-.246-.237-.59-.356-1.03-.356-.417 0-.748.12-.99.362-.245.242-.393.565-.447.97h2.85zm-2.85 1.052c.046.42.208.748.487.982.277.234.613.351 1.007.351.348 0 .64-.072.875-.217.236-.144.446-.328.62-.543l.997.76c-.325.405-.688.694-1.09.865a3.319 3.319 0 01-2.445.047 2.823 2.823 0 01-.961-.597 2.829 2.829 0 01-.643-.929 2.984 2.984 0 01-.238-1.21c0-.444.08-.847.238-1.21.158-.362.373-.672.643-.929a2.84 2.84 0 01.962-.596 3.318 3.318 0 011.181-.21c.387 0 .74.067 1.06.204.321.136.596.333.823.59.228.258.406.575.533.953.128.379.192.812.192 1.303v.386h-4.241zm9.225-.49a1.84 1.84 0 00-.11-.632 1.603 1.603 0 00-.84-.912 1.607 1.607 0 00-.684-.14 1.587 1.587 0 00-1.524 1.052 1.83 1.83 0 00-.11.631c0 .218.036.429.11.632a1.583 1.583 0 001.524 1.052 1.591 1.591 0 001.524-1.052c.073-.203.11-.414.11-.632zM30.89 5.925h1.391v3.94h.035a1.99 1.99 0 01.266-.287 2.327 2.327 0 01.927-.485c.201-.054.433-.081.696-.081a2.55 2.55 0 011.94.853c.236.264.42.577.55.935.132.358.198.744.198 1.157 0 .413-.062.8-.186 1.158a2.673 2.673 0 01-.544.935c-.243.267-.539.48-.869.625-.34.152-.723.229-1.147.229a2.613 2.613 0 01-1.1-.235 1.785 1.785 0 01-.812-.748h-.023v.841H30.89V5.927zm6.604 3.227h1.39v.888h.023c.155-.327.376-.58.661-.76a1.815 1.815 0 011.234-.246c.081.016.164.036.25.06v1.355a3.893 3.893 0 00-.343-.076c-.109-.02-.22-.03-.33-.03-.325 0-.585.06-.782.182a1.43 1.43 0 00-.452.415 1.39 1.39 0 00-.209.468 1.788 1.788 0 00-.051.35v3.005h-1.391V9.152zm7.207 3.097h-.29c-.193 0-.409.008-.649.024a3.384 3.384 0 00-.677.11c-.213.06-.393.146-.54.258a.564.564 0 00-.22.473c0 .133.03.244.087.333.058.09.134.166.226.229a.933.933 0 00.313.134c.117.027.232.04.348.04.48 0 .832-.114 1.06-.344.228-.23.342-.544.342-.94v-.317zm.082 1.743h-.036c-.2.32-.456.551-.764.695-.32.146-.668.22-1.02.216-.253 0-.504-.035-.748-.104a2.03 2.03 0 01-.649-.317 1.616 1.616 0 01-.457-.526 1.501 1.501 0 01-.174-.736c0-.305.054-.563.163-.777.103-.21.252-.393.434-.539a2.19 2.19 0 01.632-.344c.242-.087.492-.152.747-.193.258-.043.52-.07.782-.082.247-.011.495-.017.742-.018h.347v-.151c0-.351-.12-.614-.36-.79-.238-.175-.544-.262-.914-.262a2.129 2.129 0 00-1.483.585l-.73-.738a2.7 2.7 0 011.083-.69c.412-.14.845-.21 1.28-.21.394 0 .726.046.997.135.27.09.494.205.672.345.177.14.314.302.411.485.096.183.166.368.21.555.041.187.066.368.074.544.008.175.012.33.012.461v3.227h-1.252v-.771zm5.018-3.286c-.27-.382-.634-.573-1.09-.573a1.16 1.16 0 00-.544.14.478.478 0 00-.266.456c0 .172.073.297.22.375.147.078.332.144.556.198.224.055.465.111.724.17.259.058.5.148.724.268.224.122.41.287.556.498.147.21.22.498.22.864 0 .336-.071.619-.214.848-.139.226-.33.417-.556.556a2.456 2.456 0 01-.77.303c-.282.062-.57.094-.858.094-.432 0-.83-.062-1.194-.187a2.27 2.27 0 01-.973-.678l.928-.877c.177.203.368.368.573.497.204.129.454.193.747.193.101 0 .205-.012.313-.035a.992.992 0 00.301-.117.71.71 0 00.226-.204.482.482 0 00.087-.287c0-.194-.073-.34-.22-.432a1.966 1.966 0 00-.556-.229c-.24-.062-.481-.116-.724-.164a2.794 2.794 0 01-.725-.245 1.523 1.523 0 01-.556-.473c-.146-.203-.22-.483-.22-.841 0-.312.064-.583.191-.813a1.69 1.69 0 01.504-.567c.217-.152.461-.263.719-.327a3.256 3.256 0 011.923.087c.356.123.664.354.881.66l-.927.842z"></path></svg>`,wi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 53 24" xmlns="http://www.w3.org/2000/svg"><title>Cerebras</title><path clip-rule="evenodd" d="M13 2.701A9.299 9.299 0 0013 21.3V22.7C7.09 22.701 2.299 17.91 2.299 12S7.09 1.299 13 1.299V2.7zm4.752 3.677a7.353 7.353 0 00-9.453 11.265l-.901 1.074A8.755 8.755 0 1118.652 5.304l-.901 1.074zm-2.256.844a5.407 5.407 0 00-5.049 9.563l-.654 1.24a6.81 6.81 0 016.358-12.043l-.655 1.24zM13 8.539a3.461 3.461 0 000 6.922v1.402a4.863 4.863 0 010-9.726v1.402z"></path><path d="M14.286 10.836a2.242 2.242 0 00-.51-.409 1.085 1.085 0 00-.545-.152c-.254 0-.482.047-.683.14a1.582 1.582 0 00-.841.912 1.848 1.848 0 000 1.262 1.595 1.595 0 00.841.913c.2.093.429.14.683.14.217 0 .418-.046.603-.135.187-.09.35-.225.475-.392l.927 1.006c-.139.14-.3.261-.481.363a3.367 3.367 0 01-1.083.38c-.17.026-.317.04-.44.04a3.316 3.316 0 01-1.182-.21 2.826 2.826 0 01-.962-.597 2.813 2.813 0 01-.643-.929 2.986 2.986 0 01-.238-1.21c0-.444.08-.847.238-1.21.15-.35.368-.666.643-.929.277-.261.604-.464.962-.596a3.316 3.316 0 011.181-.21c.355 0 .713.068 1.072.204.362.138.686.36.945.649l-.962.97z"></path><path d="M19.338 11.397c-.008-.414-.136-.738-.383-.976-.247-.237-.59-.356-1.03-.356-.418 0-.749.12-.991.362-.244.242-.393.565-.447.97h2.85zm-2.85 1.052c.045.42.208.748.486.982.278.234.614.351 1.008.351.348 0 .639-.072.875-.217a2.42 2.42 0 00.62-.543l.997.76c-.325.405-.689.694-1.09.865a3.32 3.32 0 01-2.445.047 2.821 2.821 0 01-.962-.597 2.829 2.829 0 01-.643-.929 2.992 2.992 0 01-.237-1.21c0-.444.079-.847.238-1.21.15-.35.368-.666.642-.929.278-.261.605-.464.962-.596a3.32 3.32 0 011.182-.21c.386 0 .74.067 1.06.204.32.136.595.333.823.59.228.258.405.575.533.953.128.379.19.812.19 1.303v.386h-4.24zm4.843-3.296h1.39v.888h.023c.155-.327.375-.58.661-.76a1.812 1.812 0 011.234-.246c.081.016.164.036.25.06v1.355a3.912 3.912 0 00-.343-.076c-.109-.02-.22-.03-.33-.03-.324 0-.585.06-.782.182a1.38 1.38 0 00-.66.883 1.76 1.76 0 00-.053.35v3.005h-1.39V9.152zm7.797 2.244c-.008-.414-.135-.738-.383-.976-.246-.237-.59-.356-1.03-.356-.417 0-.748.12-.99.362-.245.242-.393.565-.447.97h2.85zm-2.85 1.052c.046.42.208.748.487.982.277.234.613.351 1.007.351.348 0 .64-.072.875-.217.236-.144.446-.328.62-.543l.997.76c-.325.405-.688.694-1.09.865a3.319 3.319 0 01-2.445.047 2.823 2.823 0 01-.961-.597 2.829 2.829 0 01-.643-.929 2.984 2.984 0 01-.238-1.21c0-.444.08-.847.238-1.21.158-.362.373-.672.643-.929a2.84 2.84 0 01.962-.596 3.318 3.318 0 011.181-.21c.387 0 .74.067 1.06.204.321.136.596.333.823.59.228.258.406.575.533.953.128.379.192.812.192 1.303v.386h-4.241zm9.225-.49a1.84 1.84 0 00-.11-.632 1.603 1.603 0 00-.84-.912 1.607 1.607 0 00-.684-.14 1.587 1.587 0 00-1.524 1.052 1.83 1.83 0 00-.11.631c0 .218.036.429.11.632a1.583 1.583 0 001.524 1.052 1.591 1.591 0 001.524-1.052c.073-.203.11-.414.11-.632zM30.89 5.925h1.391v3.94h.035a1.99 1.99 0 01.266-.287 2.327 2.327 0 01.927-.485c.201-.054.433-.081.696-.081a2.55 2.55 0 011.94.853c.236.264.42.577.55.935.132.358.198.744.198 1.157 0 .413-.062.8-.186 1.158a2.673 2.673 0 01-.544.935c-.243.267-.539.48-.869.625-.34.152-.723.229-1.147.229a2.613 2.613 0 01-1.1-.235 1.785 1.785 0 01-.812-.748h-.023v.841H30.89V5.927zm6.604 3.227h1.39v.888h.023c.155-.327.376-.58.661-.76a1.815 1.815 0 011.234-.246c.081.016.164.036.25.06v1.355a3.893 3.893 0 00-.343-.076c-.109-.02-.22-.03-.33-.03-.325 0-.585.06-.782.182a1.43 1.43 0 00-.452.415 1.39 1.39 0 00-.209.468 1.788 1.788 0 00-.051.35v3.005h-1.391V9.152zm7.207 3.097h-.29c-.193 0-.409.008-.649.024a3.384 3.384 0 00-.677.11c-.213.06-.393.146-.54.258a.564.564 0 00-.22.473c0 .133.03.244.087.333.058.09.134.166.226.229a.933.933 0 00.313.134c.117.027.232.04.348.04.48 0 .832-.114 1.06-.344.228-.23.342-.544.342-.94v-.317zm.082 1.743h-.036c-.2.32-.456.551-.764.695-.32.146-.668.22-1.02.216-.253 0-.504-.035-.748-.104a2.03 2.03 0 01-.649-.317 1.616 1.616 0 01-.457-.526 1.501 1.501 0 01-.174-.736c0-.305.054-.563.163-.777.103-.21.252-.393.434-.539a2.19 2.19 0 01.632-.344c.242-.087.492-.152.747-.193.258-.043.52-.07.782-.082.247-.011.495-.017.742-.018h.347v-.151c0-.351-.12-.614-.36-.79-.238-.175-.544-.262-.914-.262a2.129 2.129 0 00-1.483.585l-.73-.738a2.7 2.7 0 011.083-.69c.412-.14.845-.21 1.28-.21.394 0 .726.046.997.135.27.09.494.205.672.345.177.14.314.302.411.485.096.183.166.368.21.555.041.187.066.368.074.544.008.175.012.33.012.461v3.227h-1.252v-.771zm5.018-3.286c-.27-.382-.634-.573-1.09-.573a1.16 1.16 0 00-.544.14.478.478 0 00-.266.456c0 .172.073.297.22.375.147.078.332.144.556.198.224.055.465.111.724.17.259.058.5.148.724.268.224.122.41.287.556.498.147.21.22.498.22.864 0 .336-.071.619-.214.848-.139.226-.33.417-.556.556a2.456 2.456 0 01-.77.303c-.282.062-.57.094-.858.094-.432 0-.83-.062-1.194-.187a2.27 2.27 0 01-.973-.678l.928-.877c.177.203.368.368.573.497.204.129.454.193.747.193.101 0 .205-.012.313-.035a.992.992 0 00.301-.117.71.71 0 00.226-.204.482.482 0 00.087-.287c0-.194-.073-.34-.22-.432a1.966 1.966 0 00-.556-.229c-.24-.062-.481-.116-.724-.164a2.794 2.794 0 01-.725-.245 1.523 1.523 0 01-.556-.473c-.146-.203-.22-.483-.22-.841 0-.312.064-.583.191-.813a1.69 1.69 0 01.504-.567c.217-.152.461-.263.719-.327a3.256 3.256 0 011.923.087c.356.123.664.354.881.66l-.927.842z"></path></svg>`,Ti=`<svg fill="currentColor" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Cerebras</title><path clip-rule="evenodd" d="M14.121 2.701a9.299 9.299 0 000 18.598V22.7c-5.91 0-10.7-4.791-10.7-10.701S8.21 1.299 14.12 1.299V2.7zm4.752 3.677A7.353 7.353 0 109.42 17.643l-.901 1.074a8.754 8.754 0 01-1.08-12.334 8.755 8.755 0 0112.335-1.08l-.901 1.075zm-2.255.844a5.407 5.407 0 00-5.048 9.563l-.656 1.24a6.81 6.81 0 016.358-12.043l-.654 1.24zM14.12 8.539a3.46 3.46 0 100 6.922v1.402a4.863 4.863 0 010-9.726v1.402z" fill="#F15A29" fill-rule="evenodd"></path><path d="M15.407 10.836a2.24 2.24 0 00-.51-.409 1.084 1.084 0 00-.544-.152c-.255 0-.483.047-.684.14a1.58 1.58 0 00-.84.912c-.074.203-.11.416-.11.631 0 .218.036.43.11.631a1.594 1.594 0 00.84.913c.2.093.43.14.684.14.216 0 .417-.046.602-.135.188-.09.35-.225.475-.392l.928 1.006c-.14.14-.3.261-.482.363a3.367 3.367 0 01-1.083.38c-.17.026-.317.04-.44.04a3.315 3.315 0 01-1.182-.21 2.825 2.825 0 01-.961-.597 2.816 2.816 0 01-.644-.929 2.987 2.987 0 01-.238-1.21c0-.444.08-.847.238-1.21.15-.35.368-.666.643-.929.278-.261.605-.464.962-.596a3.315 3.315 0 011.182-.21c.355 0 .712.068 1.072.204.361.138.685.36.944.649l-.962.97z"></path></svg>`,Ei=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 95 24" xmlns="http://www.w3.org/2000/svg"><title>Cerebras</title><path clip-rule="evenodd" d="M17.075 16.717c-.62-.52-.982-1.25-1.085-2.187l9.446.001v-.86c0-1.094-.14-2.06-.425-2.904-.283-.842-.68-1.549-1.188-2.12a5.049 5.049 0 00-1.832-1.317c-.713-.304-1.5-.456-2.361-.456a7.396 7.396 0 00-2.633.469 6.325 6.325 0 00-2.143 1.328 6.309 6.309 0 00-1.431 2.07c-.354.808-.53 1.706-.53 2.696 0 .99.176 1.888.529 2.695.333.78.82 1.483 1.432 2.07a6.288 6.288 0 002.142 1.328 7.396 7.396 0 002.633.469 7.101 7.101 0 002.814-.573c.894-.381 1.704-1.025 2.427-1.926l-2.22-1.693c-.388.48-.855.888-1.381 1.21-.526.322-1.175.483-1.95.483-.877 0-1.625-.261-2.244-.783zm4.413-6.705c.55.53.836 1.254.852 2.175h-6.35c.12-.903.452-1.623.995-2.162.54-.537 1.278-.807 2.207-.807.98 0 1.745.266 2.296.794z"></path><path d="M29.878 7.187H26.78v12.499h3.098v-6.693c0-.172.038-.433.116-.78.077-.348.232-.694.465-1.043.233-.346.568-.654 1.006-.923.44-.27 1.02-.405 1.742-.405.247 0 .493.023.736.066.256.045.51.101.761.169v-3.02a7.03 7.03 0 00-.554-.131 2.962 2.962 0 00-.555-.05c-.827 0-1.559.198-2.194.597-.636.4-1.129.964-1.473 1.693h-.05V7.187z"></path><path clip-rule="evenodd" d="M37.8 14.531c.102.937.465 1.666 1.084 2.186.619.522 1.367.783 2.245.783.775 0 1.424-.161 1.95-.483.525-.322.992-.73 1.38-1.21l2.22 1.693c-.722.901-1.532 1.545-2.426 1.926-.89.38-1.848.576-2.815.573a7.39 7.39 0 01-2.632-.469 6.287 6.287 0 01-2.142-1.328 6.302 6.302 0 01-1.432-2.07c-.353-.807-.53-1.705-.53-2.696 0-.989.177-1.887.53-2.695a6.3 6.3 0 011.432-2.07 6.325 6.325 0 012.142-1.328 7.39 7.39 0 012.633-.469c.86 0 1.648.152 2.361.456a5.05 5.05 0 011.833 1.316c.507.572.904 1.279 1.188 2.121.285.844.426 1.81.426 2.903v.861H37.8zm5.497-4.519c.55.53.834 1.254.852 2.175H37.8c.121-.903.452-1.623.995-2.162.54-.537 1.278-.807 2.207-.807.98 0 1.746.266 2.296.794zM51.173 0h-3.098v19.686h2.944V17.81h.051c.447.765 1.048 1.32 1.808 1.667.77.35 1.606.528 2.45.522.947 0 1.8-.17 2.557-.509a5.714 5.714 0 001.935-1.393 5.954 5.954 0 001.213-2.082 7.835 7.835 0 00.413-2.58c0-.92-.146-1.778-.44-2.576a6.398 6.398 0 00-1.225-2.085 5.68 5.68 0 00-1.896-1.394 5.772 5.772 0 00-2.426-.506 5.93 5.93 0 00-1.55.182 5.18 5.18 0 00-1.187.47c-.344.19-.636.394-.878.61-.241.219-.439.43-.593.638h-.078V0zm6.931 12.031c.163.45.245.92.245 1.405 0 .487-.082.956-.246 1.407a3.545 3.545 0 01-1.87 2.03 3.574 3.574 0 01-1.524.314 3.525 3.525 0 01-3.394-2.343 4.098 4.098 0 01-.245-1.407c-.001-.48.081-.955.245-1.406A3.533 3.533 0 0153.186 10a3.584 3.584 0 011.523-.312c.568 0 1.076.104 1.523.312.434.2.825.482 1.15.833.317.349.557.746.722 1.2z"></path><path d="M65.882 7.187h-3.097v12.499h3.098v-6.693c0-.172.038-.433.115-.78.078-.348.233-.694.466-1.043.232-.346.567-.654 1.006-.923.439-.27 1.019-.405 1.742-.405.246 0 .492.023.735.066.257.045.512.101.763.169v-3.02a7.065 7.065 0 00-.556-.131 2.942 2.942 0 00-.554-.05c-.825 0-1.558.198-2.194.597-.636.4-1.128.964-1.473 1.693h-.051V7.187z"></path><path clip-rule="evenodd" d="M78.943 17.969h.079l-.002 1.718h2.788v-7.188c0-.294-.008-.638-.026-1.028a6.951 6.951 0 00-.166-1.21 5.142 5.142 0 00-.466-1.238 3.4 3.4 0 00-.916-1.08c-.397-.312-.895-.569-1.497-.77-.603-.198-1.343-.299-2.22-.299a8.83 8.83 0 00-2.853.469 6.012 6.012 0 00-2.413 1.536l1.626 1.642a4.743 4.743 0 013.304-1.303c.826 0 1.506.196 2.039.587.533.39.8.976.8 1.757v.338h-.773c-.551.001-1.103.014-1.654.039-.584.026-1.165.088-1.741.182a9.606 9.606 0 00-1.665.43 4.88 4.88 0 00-1.407.768 3.555 3.555 0 00-.967 1.199c-.241.478-.363 1.053-.363 1.731 0 .625.13 1.173.388 1.64.25.461.598.861 1.019 1.173.436.32.925.558 1.446.704a6.019 6.019 0 001.665.233 5.307 5.307 0 002.271-.481c.688-.321 1.257-.838 1.704-1.55zm-.749-3.881h.645v.703c0 .884-.254 1.584-.76 2.096-.51.513-1.295.768-2.362.768-.259 0-.516-.03-.775-.091a2.083 2.083 0 01-.698-.3 1.769 1.769 0 01-.503-.507c-.129-.2-.193-.447-.193-.742 0-.451.164-.803.49-1.055a3.465 3.465 0 011.202-.573 7.534 7.534 0 011.508-.247 22.752 22.752 0 011.446-.052z"></path><path d="M87.774 9.374c1.015 0 1.825.425 2.426 1.276l2.066-1.875a4.013 4.013 0 00-1.963-1.47 7.302 7.302 0 00-2.452-.43c-.618-.001-1.234.078-1.833.234a4.82 4.82 0 00-1.6.73c-.464.33-.839.75-1.123 1.262-.284.512-.425 1.116-.425 1.81 0 .798.163 1.424.49 1.876.322.446.747.807 1.239 1.052a6.22 6.22 0 001.614.547c.54.106 1.079.227 1.613.365.499.131.91.3 1.238.51.328.207.491.529.491.961 0 .245-.065.458-.194.64a1.578 1.578 0 01-.504.454c-.206.122-.429.21-.67.26a3.24 3.24 0 01-.697.079c-.654 0-1.21-.143-1.665-.428a5.852 5.852 0 01-1.277-1.11l-2.066 1.955c.637.729 1.36 1.232 2.168 1.51.81.278 1.696.417 2.66.417.642-.001 1.282-.07 1.91-.209a5.473 5.473 0 001.716-.676 3.78 3.78 0 001.238-1.238c.319-.51.477-1.14.477-1.888 0-.816-.163-1.458-.49-1.926a3.527 3.527 0 00-1.238-1.108 6.356 6.356 0 00-1.613-.598c-.577-.13-1.115-.256-1.614-.378-.5-.121-.911-.269-1.238-.442-.327-.173-.49-.452-.49-.834 0-.47.197-.806.593-1.016.396-.208.8-.312 1.213-.312zM9.95 10.026c.422.246.805.553 1.137.911l2.142-2.162a5.428 5.428 0 00-2.104-1.446 6.713 6.713 0 00-2.388-.455 7.386 7.386 0 00-2.632.468 6.316 6.316 0 00-2.142 1.329 6.266 6.266 0 00-1.432 2.07C2.177 11.55 2 12.449 2 13.437c0 .99.177 1.887.53 2.695.333.78.82 1.484 1.433 2.07a6.294 6.294 0 002.142 1.33 7.384 7.384 0 002.632.467c.276 0 .603-.03.982-.09a7.502 7.502 0 002.413-.846 4.813 4.813 0 001.072-.808l-2.066-2.24c-.278.37-.64.67-1.058.873-.413.198-.86.3-1.343.3-.567 0-1.075-.105-1.521-.312a3.553 3.553 0 01-1.873-2.032 4.107 4.107 0 01-.246-1.407c0-.48.082-.955.245-1.405a3.52 3.52 0 01.724-1.198c.32-.349.701-.625 1.15-.835.446-.207.954-.311 1.521-.311.428.003.846.12 1.214.339z"></path></svg>`,Di=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Cerebras</title><path clip-rule="evenodd" d="M14.121 2.701a9.299 9.299 0 000 18.598V22.7c-5.91 0-10.7-4.791-10.7-10.701S8.21 1.299 14.12 1.299V2.7zm4.752 3.677A7.353 7.353 0 109.42 17.643l-.901 1.074a8.754 8.754 0 01-1.08-12.334 8.755 8.755 0 0112.335-1.08l-.901 1.075zm-2.255.844a5.407 5.407 0 00-5.048 9.563l-.656 1.24a6.81 6.81 0 016.358-12.043l-.654 1.24zM14.12 8.539a3.46 3.46 0 100 6.922v1.402a4.863 4.863 0 010-9.726v1.402z"></path><path d="M15.407 10.836a2.24 2.24 0 00-.51-.409 1.084 1.084 0 00-.544-.152c-.255 0-.483.047-.684.14a1.58 1.58 0 00-.84.912c-.074.203-.11.416-.11.631 0 .218.036.43.11.631a1.594 1.594 0 00.84.913c.2.093.43.14.684.14.216 0 .417-.046.602-.135.188-.09.35-.225.475-.392l.928 1.006c-.14.14-.3.261-.482.363a3.367 3.367 0 01-1.083.38c-.17.026-.317.04-.44.04a3.315 3.315 0 01-1.182-.21 2.825 2.825 0 01-.961-.597 2.816 2.816 0 01-.644-.929 2.987 2.987 0 01-.238-1.21c0-.444.08-.847.238-1.21.15-.35.368-.666.643-.929.278-.261.605-.464.962-.596a3.315 3.315 0 011.182-.21c.355 0 .712.068 1.072.204.361.138.685.36.944.649l-.962.97z"></path></svg>`,Oi=`<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Cloudflare</title><path d="M16.493 17.4c.135-.52.08-.983-.161-1.338-.215-.328-.592-.519-1.05-.519l-8.663-.109a.148.148 0 01-.135-.082c-.027-.054-.027-.109-.027-.163.027-.082.108-.164.189-.164l8.744-.11c1.05-.054 2.153-.9 2.556-1.937l.511-1.31c.027-.055.027-.11.027-.164C17.92 8.91 15.66 7 12.942 7c-2.503 0-4.628 1.638-5.381 3.903a2.432 2.432 0 00-1.803-.491c-1.21.109-2.153 1.092-2.287 2.32-.027.328 0 .628.054.9C1.56 13.688 0 15.326 0 17.319c0 .19.027.355.027.545 0 .082.08.137.161.137h15.983c.08 0 .188-.055.215-.164l.107-.437" fill="#F38020"></path><path d="M19.238 11.75h-.242c-.054 0-.108.054-.135.109l-.35 1.2c-.134.52-.08.983.162 1.338.215.328.592.518 1.05.518l1.855.11c.054 0 .108.027.135.082.027.054.027.109.027.163-.027.082-.108.164-.188.164l-1.91.11c-1.05.054-2.153.9-2.557 1.937l-.134.355c-.027.055.026.137.107.137h6.592c.081 0 .162-.055.162-.137.107-.41.188-.846.188-1.31-.027-2.62-2.153-4.777-4.762-4.777" fill="#FCAD32"></path></svg>`,ki=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 242 24" xmlns="http://www.w3.org/2000/svg"><title>Cloudflare</title><path d="M28.4 2.395h5.386v14.606h9.326v4.736H28.4V2.395zM16.71 14.369c-.787 1.71-2.363 2.894-4.465 2.894-2.89 0-4.86-2.368-4.86-5.263 0-2.764 1.97-5.132 4.86-5.132 2.232 0 3.81 1.316 4.597 3.158h5.647C21.571 5.421 17.5 2 12.377 2 6.467 2 2 6.474 2 12s4.335 10 10.377 10c5.122 0 9.062-3.289 10.112-7.763H16.71v.132zM224.37 2.395h15.499v4.606h-10.114v2.894h9.194v4.21h-9.194v3.027H240v4.605h-15.63V2.395zm-24.693 0h9.062c2.89 0 4.991.79 6.305 2.105 1.182 1.052 1.708 2.632 1.708 4.474 0 2.894-1.576 4.868-3.94 5.921l4.596 6.71h-6.174l-3.939-5.79h-2.365v5.79h-5.386V2.395h.133zm8.8 9.211c1.838 0 2.889-.921 2.889-2.238 0-1.579-1.05-2.237-2.89-2.237l-3.546.001v4.605h3.547v-.13zm-29.028-9.343h5.122l8.144 19.474h-5.78l-1.444-3.421h-7.486l-1.315 3.42h-5.516l8.275-19.473zm4.598 11.842l-2.103-5.526-2.232 5.526h4.335zm-33.232-11.71h5.386v14.606h9.325v4.736h-14.711V2.395zm-22.854 0h15.367v4.737h-9.981v3.158h9.062v4.474h-9.062v6.973h-5.386V2.395zm-26.007 0h7.488c6.829 0 10.9 3.947 10.9 9.473 0 5.526-4.071 9.737-11.032 9.737h-7.356V2.395zm7.488 14.606c3.151 0 5.253-1.712 5.253-4.87 0-3.025-2.102-4.868-5.253-4.868h-2.233v9.87h2.233V17zm-33.625-3.816V2.395H81.2v10.658c0 2.763 1.445 4.078 3.547 4.078 2.101 0 3.547-1.315 3.547-3.946V2.263h5.385v10.659c0 6.183-3.548 8.946-9.063 8.946-5.386.132-8.8-2.63-8.8-8.683zm-27.19-1.053C48.628 6.474 53.095 2 59.006 2c5.91 0 10.375 4.474 10.375 10s-4.465 10-10.375 10c-6.042 0-10.377-4.342-10.377-9.868zm15.237 0c0-2.896-1.97-5.264-4.99-5.264-2.891 0-4.861 2.368-4.861 5.132s1.97 5.263 4.86 5.263c3.02 0 4.99-2.368 4.99-5.131z"></path></svg>`,Ai=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Cloudflare</title><path d="M16.493 17.4c.135-.52.08-.983-.161-1.338-.215-.328-.592-.519-1.05-.519l-8.663-.109a.148.148 0 01-.135-.082c-.027-.054-.027-.109-.027-.163.027-.082.108-.164.189-.164l8.744-.11c1.05-.054 2.153-.9 2.556-1.937l.511-1.31c.027-.055.027-.11.027-.164C17.92 8.91 15.66 7 12.942 7c-2.503 0-4.628 1.638-5.381 3.903a2.432 2.432 0 00-1.803-.491c-1.21.109-2.153 1.092-2.287 2.32-.027.328 0 .628.054.9C1.56 13.688 0 15.326 0 17.319c0 .19.027.355.027.545 0 .082.08.137.161.137h15.983c.08 0 .188-.055.215-.164l.107-.437"></path><path d="M19.238 11.75h-.242c-.054 0-.108.054-.135.109l-.35 1.2c-.134.52-.08.983.162 1.338.215.328.592.518 1.05.518l1.855.11c.054 0 .108.027.135.082.027.054.027.109.027.163-.027.082-.108.164-.188.164l-1.91.11c-1.05.054-2.153.9-2.557 1.937l-.134.355c-.027.055.026.137.107.137h6.592c.081 0 .162-.055.162-.137.107-.41.188-.846.188-1.31-.027-2.62-2.153-4.777-4.762-4.777"></path></svg>`,ji=`<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Gemini</title><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" fill="#3186FF"></path><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" fill="url(#lobe-icons-gemini-0-_R_0_)"></path><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" fill="url(#lobe-icons-gemini-1-_R_0_)"></path><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" fill="url(#lobe-icons-gemini-2-_R_0_)"></path><defs><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-gemini-0-_R_0_" x1="7" x2="11" y1="15.5" y2="12"><stop stop-color="#08B962"></stop><stop offset="1" stop-color="#08B962" stop-opacity="0"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-gemini-1-_R_0_" x1="8" x2="11.5" y1="5.5" y2="11"><stop stop-color="#F94543"></stop><stop offset="1" stop-color="#F94543" stop-opacity="0"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-gemini-2-_R_0_" x1="3.5" x2="17.5" y1="13.5" y2="12"><stop stop-color="#FABC12"></stop><stop offset=".46" stop-color="#FABC12" stop-opacity="0"></stop></linearGradient></defs></svg>`,Mi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 98 24" xmlns="http://www.w3.org/2000/svg"><title>Gemini</title><path d="M21.186 12.67c0 2.649-.786 4.759-2.359 6.33-1.766 1.87-4.09 2.806-6.969 2.806-2.756 0-5.088-.953-6.996-2.86C2.954 17.04 2 14.693 2 11.904c0-2.789.954-5.137 2.862-7.043C6.77 2.953 9.102 2 11.858 2c1.396 0 2.712.247 3.949.741 1.236.495 2.252 1.192 3.047 2.092l-1.749 1.748c-.583-.706-1.338-1.258-2.266-1.655a7.49 7.49 0 00-2.981-.596c-2.067 0-3.816.715-5.247 2.145-1.413 1.448-2.12 3.257-2.12 5.428s.707 3.98 2.12 5.428c1.431 1.43 3.18 2.145 5.247 2.145 1.89 0 3.463-.53 4.717-1.588 1.254-1.06 1.979-2.516 2.173-4.37h-6.89v-2.277h9.196c.088.495.132.971.132 1.43m7.652-4.633c1.946 0 3.494.629 4.645 1.886 1.15 1.257 1.726 3.018 1.726 5.282l-.027.268H24.877c.036 1.284.464 2.318 1.285 3.102.82.785 1.802 1.177 2.944 1.177 1.57 0 2.802-.784 3.694-2.354l2.195 1.07a6.54 6.54 0 01-2.45 2.595C31.503 21.688 30.32 22 29 22c-1.927 0-3.516-.66-4.765-1.98-1.249-1.319-1.873-2.986-1.873-5.001 0-1.997.606-3.66 1.82-4.988 1.213-1.329 2.766-1.993 4.657-1.993m-.053 2.247c-.928 0-1.727.285-2.396.856-.67.57-1.11 1.337-1.325 2.3h7.522c-.071-.91-.442-1.663-1.111-2.26-.67-.598-1.566-.896-2.69-.896M39.247 21.53h-2.455V8.465h2.348v1.813h.107c.374-.64.947-1.173 1.721-1.6.774-.427 1.544-.64 2.309-.64.96 0 1.806.222 2.535.667a3.931 3.931 0 011.601 1.84c1.085-1.671 2.589-2.507 4.51-2.507 1.513 0 2.678.462 3.496 1.387.819.924 1.228 2.24 1.228 3.946v8.16h-2.455v-7.786c0-1.227-.223-2.112-.668-2.654-.444-.542-1.192-.813-2.241-.813-.943 0-1.735.4-2.375 1.2-.64.8-.961 1.742-.961 2.826v7.227h-2.455v-7.786c0-1.227-.223-2.112-.668-2.654-.444-.542-1.191-.813-2.241-.813-.943 0-1.735.4-2.375 1.2-.64.8-.961 1.742-.961 2.826v7.227zM61.911 3.93c0 .48-.17.89-.508 1.228a1.675 1.675 0 01-1.23.508c-.48 0-.89-.17-1.229-.508a1.673 1.673 0 01-.508-1.228c0-.481.17-.89.508-1.229a1.675 1.675 0 011.23-.508c.48 0 .89.17 1.23.508.338.338.507.748.507 1.228m-.11 4.514v13.088h-2.857V8.443h2.857zM80 3.93c0 .48-.17.89-.508 1.228a1.675 1.675 0 01-1.23.508c-.48 0-.89-.17-1.229-.508a1.673 1.673 0 01-.508-1.228c0-.481.17-.89.508-1.229a1.675 1.675 0 011.23-.508c.48 0 .89.17 1.23.508.338.338.507.748.507 1.228m-.11 4.514v13.088h-2.857V8.443h2.857zm-16.343.022h2.349v1.813h.107c.373-.64.947-1.173 1.721-1.6a4.935 4.935 0 012.415-.64c1.601 0 2.833.458 3.696 1.373.863.916 1.294 2.218 1.294 3.907v8.213h-2.455v-8.053c-.053-2.133-1.13-3.2-3.229-3.2-.978 0-1.797.395-2.455 1.187-.658.79-.987 1.737-.987 2.84v7.226h-2.456V8.465z"></path></svg>`,Ni=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Gemini</title><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"></path></svg>`,Pi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 78 24" xmlns="http://www.w3.org/2000/svg"><title>Github</title><path d="M16.598 10.836v9.48c0 .066-.017.181-.1.214 0 0-2.07 1.47-5.484 1.47C6.888 22 2 20.712 2 12.223 2 3.734 6.275 1.983 10.45 2c3.613 0 5.07.81 5.303.958.066.083.1.149.1.231l-.697 2.94c0 .149-.149.33-.331.28-.597-.18-1.491-.544-3.596-.544-2.435 0-5.053.693-5.053 6.16 0 5.466 2.485 6.11 4.275 6.11 1.524 0 2.07-.181 2.07-.181v-3.799h-2.435c-.182 0-.315-.132-.315-.28v-3.04c0-.148.133-.28.315-.28h6.197c.182 0 .315.132.315.28zM76 14.684c0 5.664-1.84 7.283-5.054 7.283-2.717 0-4.175-1.37-4.175-1.37s-.067.759-.15.858c-.05.1-.132.132-.231.132h-2.453c-.165 0-.315-.132-.315-.28l.034-18.349a.29.29 0 01.281-.28h3.53a.29.29 0 01.281.28v6.226s1.359-.875 3.347-.875l-.016-.033c1.988 0 4.921.743 4.921 6.408zM47.865 2.71a.29.29 0 01.281.281V21.34a.29.29 0 01-.281.281h-3.53a.29.29 0 01-.281-.28l.033-7.845h-5.485v7.844a.29.29 0 01-.281.281h-3.53c-.132 0-.281-.132-.281-.28V2.99a.29.29 0 01.281-.28h3.53a.29.29 0 01.281.28v6.755h5.485V2.99a.29.29 0 01.282-.28h3.496zM61.55 8.722c.183 0 .315.132.315.28l-.033 12.337c0 .149-.1.281-.282.281h-2.22c-.116 0-.232-.066-.265-.148-.05-.1-.133-.744-.133-.744S57.061 22 54.758 22c-2.8 0-4.839-.908-4.839-4.542V9.02a.29.29 0 01.282-.28h3.546a.29.29 0 01.282.28v7.845c0 1.238.364 1.8 1.607 1.8 1.243 0 2.154-.644 2.154-.644V9.036c0-.182.1-.314.282-.314h3.48zm-28.84 9.861h.007c.14.029.239.154.234.296v2.477c0 .116-.05.231-.149.264-.166.083-1.226.363-2.104.363-1.922 0-4.74-.412-4.74-4.442v-5.417H24.12c-.149 0-.281-.132-.281-.314V9.564c0-.132.083-.248.215-.28.116-.017 1.922-.463 1.922-.463V5.237c0-.132.083-.215.232-.215h3.58c.148 0 .231.083.231.215v3.485h2.635c.132 0 .265.132.265.28v2.808c0 .182-.116.314-.265.314h-2.635v5.17c0 .777.448 1.372 1.74 1.372.41 0 .797-.081.951-.083zM22.28 8.705a.29.29 0 01.282.281v12.172c0 .297-.083.446-.414.446h-3.182c-.281 0-.497-.116-.497-.446V9.036c0-.182.133-.33.282-.33h3.53zm49.693 6.243c0-2.99-1.21-3.386-2.486-3.253-.994.066-1.79.561-1.79.561v5.813s.813.562 2.022.595c1.707.05 2.254-.562 2.254-3.716zM20.54 3.123a2.26 2.26 0 012.254 2.28A2.26 2.26 0 0120.54 7.68a2.266 2.266 0 01-2.286-2.279c0-1.271 1.01-2.279 2.286-2.279z"></path></svg>`,Fi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Github</title><path d="M12 0c6.63 0 12 5.276 12 11.79-.001 5.067-3.29 9.567-8.175 11.187-.6.118-.825-.25-.825-.56 0-.398.015-1.665.015-3.242 0-1.105-.375-1.813-.81-2.181 2.67-.295 5.475-1.297 5.475-5.822 0-1.297-.465-2.344-1.23-3.169.12-.295.54-1.503-.12-3.125 0 0-1.005-.324-3.3 1.209a11.32 11.32 0 00-3-.398c-1.02 0-2.04.133-3 .398-2.295-1.518-3.3-1.209-3.3-1.209-.66 1.622-.24 2.83-.12 3.125-.765.825-1.23 1.887-1.23 3.169 0 4.51 2.79 5.527 5.46 5.822-.345.294-.66.81-.765 1.577-.69.31-2.415.81-3.495-.973-.225-.354-.9-1.223-1.845-1.209-1.005.015-.405.56.015.781.51.28 1.095 1.327 1.23 1.666.24.663 1.02 1.93 4.035 1.385 0 .988.015 1.916.015 2.196 0 .31-.225.664-.825.56C3.303 21.374-.003 16.867 0 11.791 0 5.276 5.37 0 12 0z"></path></svg>`,Ii=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 64 24" xmlns="http://www.w3.org/2000/svg"><title>Groq</title><path d="M37.925 2.039c4.142 0 7.509 3.368 7.509 7.528l-.004.244c-.128 4.047-3.437 7.284-7.505 7.284-4.15 0-7.509-3.368-7.509-7.528s3.36-7.528 7.509-7.528zm-11.144-.023c.26 0 .522.015.775.046l.015-.008a7.464 7.464 0 012.922.969L29.09 5.468a4.619 4.619 0 00-2.309-.6h-.253l-.253.016c-.338.03-.66.092-.982.177-.621.169-1.196.469-1.703.869a4.062 4.062 0 00-1.418 2.322l-.04.234-.03.235c-.007.077-.023.161-.023.238l-.014 2.713v2.593l-.016 2.522h-2.815l-.03-4.973V8.852c0-.139.015-.262.022-.392.023-.262.062-.523.115-.777.1-.523.269-1.03.491-1.515a6.998 6.998 0 011.948-2.484 7.465 7.465 0 012.754-1.391c.49-.131.99-.216 1.495-.254.123-.008.253-.023.376-.023h.376zM37.925 4.86a4.7 4.7 0 00-4.694 4.706 4.7 4.7 0 004.694 4.706 4.7 4.7 0 004.694-4.706l-.005-.216a4.7 4.7 0 00-4.689-4.49zM9.578 2C5.428 1.96 2.038 5.298 2 9.458c-.038 4.16 3.29 7.559 7.44 7.597h2.608v-2.822h-2.47c-2.592.031-4.717-2.053-4.748-4.652a4.7 4.7 0 014.64-4.76h.108c2.52 0 4.577 1.992 4.696 4.49l.005.216v6.936c0 2.576-2.093 4.676-4.655 4.706a4.663 4.663 0 01-3.267-1.376l-1.994 2A7.46 7.46 0 009.57 24h.1c4.096-.062 7.386-3.391 7.409-7.497V9.35c-.1-4.09-3.428-7.35-7.501-7.35zm44.929.038c-4.15 0-7.509 3.368-7.509 7.528s3.36 7.528 7.509 7.528h2.57v-2.822h-2.57a4.7 4.7 0 01-4.694-4.706 4.7 4.7 0 014.694-4.706A4.707 4.707 0 0159.16 8.94l.024.22v14.456H62V9.566c-.008-4.152-3.352-7.527-7.493-7.527z"></path></svg>`,Li=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Groq</title><path d="M12.036 2c-3.853-.035-7 3-7.036 6.781-.035 3.782 3.055 6.872 6.908 6.907h2.42v-2.566h-2.292c-2.407.028-4.38-1.866-4.408-4.23-.029-2.362 1.901-4.298 4.308-4.326h.1c2.407 0 4.358 1.915 4.365 4.278v6.305c0 2.342-1.944 4.25-4.323 4.279a4.375 4.375 0 01-3.033-1.252l-1.851 1.818A7 7 0 0012.029 22h.092c3.803-.056 6.858-3.083 6.879-6.816v-6.5C18.907 4.963 15.817 2 12.036 2z"></path></svg>`,Ri=`<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Mistral</title><path d="M3.428 3.4h3.429v3.428H3.428V3.4zm13.714 0h3.43v3.428h-3.43V3.4z" fill="gold"></path><path d="M3.428 6.828h6.857v3.429H3.429V6.828zm10.286 0h6.857v3.429h-6.857V6.828z" fill="#FFAF00"></path><path d="M3.428 10.258h17.144v3.428H3.428v-3.428z" fill="#FF8205"></path><path d="M3.428 13.686h3.429v3.428H3.428v-3.428zm6.858 0h3.429v3.428h-3.429v-3.428zm6.856 0h3.43v3.428h-3.43v-3.428z" fill="#FA500F"></path><path d="M0 17.114h10.286v3.429H0v-3.429zm13.714 0H24v3.429H13.714v-3.429z" fill="#E10500"></path></svg>`,zi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 134 24" xmlns="http://www.w3.org/2000/svg"><title>Mistral</title><path d="M2 22.638V1h6.55l3.933 14.76L16.37 1h6.565v21.638H18.87V5.605l-4.302 17.033h-4.214L6.066 5.605v17.033H2zm25.011-17.8V1.002h4.155V4.84h-4.155zm0 17.801V6.964h4.155V22.64h-4.155zm6.707-4.473l4.17-.635c.177.807.536 1.42 1.079 1.838.986.864 3.753.796 4.702.036.588-.404.753-1.367.25-1.89-.206-.196-.67-.378-1.389-.545-3.351-.738-5.475-1.412-6.372-2.022-2.418-1.526-2.465-5.18-.252-6.952 1.76-1.8 7.852-1.78 9.788-.34 1.045.699 1.764 1.732 2.159 3.1l-3.918.723c-.413-1.402-1.417-1.886-2.957-1.89-1.094 0-1.878.154-2.35.458-.591.383-.651 1.179-.06 1.595.374.275 1.668.664 3.88 1.165 2.213.502 3.759 1.117 4.636 1.845 1.993 1.694 1.615 5.13-.503 6.79-2.087 2.01-8.091 2.034-10.416.25-1.247-.865-2.063-2.04-2.447-3.527zm31.88 4.472h-4.154V6.963h3.86v2.229c.66-1.053 1.253-1.747 1.78-2.081 1.374-.857 3.144-.536 4.532.28l-1.286 3.617c-1.877-1.247-3.849-.81-4.384 1.535-.468 1.352-.329 7.76-.347 10.096zm10.67-10.892l-3.77-.679c1.014-3.408 3.08-4.43 6.801-4.457 2.81.037 4.804.362 6.055 2.324.37.674.554 1.912.554 3.713.013 1.729-.178 6.48.155 7.889.133.654.382 1.355.747 2.103H82.7c-.124-.272-.411-1.286-.547-1.712-1.378 1.335-2.97 2.066-4.865 2.067-2.945.058-5.22-1.756-5.219-4.635-.011-1.72.87-3.225 2.418-3.963.764-.37 1.865-.691 3.304-.967 1.942-.364 3.287-.703 4.037-1.018v-.413c0-.797-.197-1.366-.591-1.705-.57-.582-3.147-.744-3.963-.074-.414.29-.75.8-1.006 1.527zm5.56 3.365c-.757.315-4.139.86-4.79 1.358-1.077.707-1.038 2.141-.163 2.967 1.017.987 2.672.733 3.8-.103 1.374-.983 1.117-2.455 1.153-4.221zm7.933 7.527V1h4.155v21.638H89.76zm35.917 0h-4.761l-1.892-4.915h-8.665l-1.789 4.915h-4.643L112.371 1h4.627l8.679 21.638h.001zm-8.058-8.56l-2.987-8.03-2.927 8.03h5.914zm10.004 8.56V1H132v21.638h-4.376zM58.98 6.964v3.307H56.14v6.317l.081 2.236c.434 1.136 1.612.712 2.743.332l.355 3.218c-2.416 1.02-6.87 1.14-7.215-2.346-.096-.537-.123-1.89-.133-3.44v-6.317h-1.908V6.965h1.908V3.85l4.17-2.42v5.535h2.838z"></path></svg>`,Bi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Mistral</title><path clip-rule="evenodd" d="M3.428 3.4h3.429v3.428h3.429v3.429h-.002 3.431V6.828h3.427V3.4h3.43v13.714H24v3.429H13.714v-3.428h-3.428v-3.429h-3.43v3.428h3.43v3.429H0v-3.429h3.428V3.4zm10.286 13.715h3.428v-3.429h-3.427v3.429z"></path></svg>`,Vi=`<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Nvidia</title><path d="M10.212 8.976V7.62c.127-.01.256-.017.388-.021 3.596-.117 5.957 3.184 5.957 3.184s-2.548 3.647-5.282 3.647a3.227 3.227 0 01-1.063-.175v-4.109c1.4.174 1.681.812 2.523 2.258l1.873-1.627a4.905 4.905 0 00-3.67-1.846 6.594 6.594 0 00-.729.044m0-4.476v2.025c.13-.01.259-.019.388-.024 5.002-.174 8.261 4.226 8.261 4.226s-3.743 4.69-7.643 4.69c-.338 0-.675-.031-1.007-.092v1.25c.278.038.558.057.838.057 3.629 0 6.253-1.91 8.794-4.169.421.347 2.146 1.193 2.501 1.564-2.416 2.083-8.048 3.763-11.24 3.763-.308 0-.603-.02-.894-.048V19.5H24v-15H10.21zm0 9.756v1.068c-3.356-.616-4.287-4.21-4.287-4.21a7.173 7.173 0 014.287-2.138v1.172h-.005a3.182 3.182 0 00-2.502 1.178s.615 2.276 2.507 2.931m-5.961-3.3c1.436-1.935 3.604-3.148 5.961-3.336V6.523C5.81 6.887 2 10.723 2 10.723s2.158 6.427 8.21 7.015v-1.166C5.77 16 4.25 10.958 4.25 10.958h-.002z" fill="#74B71B" fill-rule="nonzero"></path></svg>`,Hi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 111 24" xmlns="http://www.w3.org/2000/svg"><title>Nvidia</title><path d="M46.495 2.027v19.965h5.656V2.027h-5.656zM2 2v19.992h5.706V6.48l4.452.015a4.088 4.088 0 013.183 1.101c.894.951 1.26 2.483 1.26 5.287V22h5.529V10.949c0-7.883-5.035-8.946-9.972-8.946L2 2zm53.604.027v19.965h9.174c4.882 0 6.482-.81 8.208-2.626a11.156 11.156 0 002.008-7.136c.109-2.423-.53-4.82-1.831-6.869-2.095-2.788-5.114-3.332-9.621-3.332l-7.938-.002zm5.61 4.347h2.432c3.527 0 5.81 1.58 5.81 5.678 0 4.097-2.289 5.679-5.81 5.679h-2.432V6.374zM38.34 2.027L33.62 17.845 29.096 2.027h-6.102l6.46 19.965h8.151l6.51-19.965h-5.774zm39.285 19.965h5.657V2.03h-5.659l.002 19.963zm15.86-19.957l-7.898 19.95h5.578l1.25-3.526h9.346l1.183 3.526H109l-7.958-19.952-7.555.002zm3.673 3.64l3.427 9.346h-6.96l3.533-9.346z"></path></svg>`,Ui=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Nvidia</title><path d="M10.212 8.976V7.62c.127-.01.256-.017.388-.021 3.596-.117 5.957 3.184 5.957 3.184s-2.548 3.647-5.282 3.647a3.227 3.227 0 01-1.063-.175v-4.109c1.4.174 1.681.812 2.523 2.258l1.873-1.627a4.905 4.905 0 00-3.67-1.846 6.594 6.594 0 00-.729.044m0-4.476v2.025c.13-.01.259-.019.388-.024 5.002-.174 8.261 4.226 8.261 4.226s-3.743 4.69-7.643 4.69c-.338 0-.675-.031-1.007-.092v1.25c.278.038.558.057.838.057 3.629 0 6.253-1.91 8.794-4.169.421.347 2.146 1.193 2.501 1.564-2.416 2.083-8.048 3.763-11.24 3.763-.308 0-.603-.02-.894-.048V19.5H24v-15H10.21zm0 9.756v1.068c-3.356-.616-4.287-4.21-4.287-4.21a7.173 7.173 0 014.287-2.138v1.172h-.005a3.182 3.182 0 00-2.502 1.178s.615 2.276 2.507 2.931m-5.961-3.3c1.436-1.935 3.604-3.148 5.961-3.336V6.523C5.81 6.887 2 10.723 2 10.723s2.158 6.427 8.21 7.015v-1.166C5.77 16 4.25 10.958 4.25 10.958h-.002z"></path></svg>`,Wi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 138 24" xmlns="http://www.w3.org/2000/svg"><title>opencode</title><path d="M12.429 17.143H5.57v-6.857h6.858v6.857z" fill-opacity=".25"></path><path d="M12.428 6.857H5.571v10.286h6.857V6.857zm3.43 13.715H2.142V3.429h13.714v17.143z" fill-opacity=".75"></path><path d="M29.571 17.143h-6.857v-6.857h6.857v6.857z" fill-opacity=".25"></path><path d="M22.714 17.143h6.858V6.857h-6.858v10.286zM33 20.572H22.714V24h-3.428V3.43H33v17.143z" fill-opacity=".75"></path><path d="M50.143 13.714v3.429H39.857v-3.429h10.286z" fill-opacity=".25"></path><path d="M50.143 13.714H39.857v3.429h10.286v3.429H36.429V3.429h13.714v10.285zm-10.286-3.428h6.857V6.857h-6.857v3.429z" fill-opacity=".75"></path><path d="M63.857 20.571H57V10.286h6.857V20.57z" fill-opacity=".25"></path><path d="M63.857 6.857H57v13.715h-3.429V3.429h10.286v3.428zm3.429 13.715h-3.429V6.857h3.429v13.715z" fill-opacity=".75"></path><path d="M84.428 17.143H74.144v-6.857h10.285v6.857z" fill-opacity=".25"></path><path d="M84.428 6.857H74.144v10.286h10.285v3.429H70.715V3.429H84.43v3.428z"></path><path d="M98.143 17.143h-6.857v-6.857h6.857v6.857z" fill-opacity=".25"></path><path d="M98.143 6.857h-6.857v10.286h6.857V6.857zm3.428 13.715H87.857V3.429h13.714v17.143z"></path><path d="M115.286 17.143h-6.857v-6.857h6.857v6.857z" fill-opacity=".25"></path><path d="M115.286 6.857h-6.857v10.286h6.857V6.857zm3.428 13.714H105V3.43h10.286V0h3.428v20.571z"></path><path d="M135.857 13.714v3.429h-10.286v-3.429h10.286z" fill-opacity=".25"></path><path d="M125.571 6.857v3.429h6.858V6.857h-6.858zm10.286 6.857h-10.286v3.429h10.286v3.429h-13.714V3.429h13.714v10.285z"></path></svg>`,Gi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>opencode</title><path d="M16 6H8v12h8V6zm4 16H4V2h16v20z"></path></svg>`,Ki=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>OpenRouter</title><path d="M16.804 1.957l7.22 4.105v.087L16.73 10.21l.017-2.117-.821-.03c-1.059-.028-1.611.002-2.268.11-1.064.175-2.038.577-3.147 1.352L8.345 11.03c-.284.195-.495.336-.68.455l-.515.322-.397.234.385.23.53.338c.476.314 1.17.796 2.701 1.866 1.11.775 2.083 1.177 3.147 1.352l.3.045c.694.091 1.375.094 2.825.033l.022-2.159 7.22 4.105v.087L16.589 22l.014-1.862-.635.022c-1.386.042-2.137.002-3.138-.162-1.694-.28-3.26-.926-4.881-2.059l-2.158-1.5a21.997 21.997 0 00-.755-.498l-.467-.28a55.927 55.927 0 00-.76-.43C2.908 14.73.563 14.116 0 14.116V9.888l.14.004c.564-.007 2.91-.622 3.809-1.124l1.016-.58.438-.274c.428-.28 1.072-.726 2.686-1.853 1.621-1.133 3.186-1.78 4.881-2.059 1.152-.19 1.974-.213 3.814-.138l.02-1.907z"></path></svg>`,qi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 143 24" xmlns="http://www.w3.org/2000/svg"><title>OpenRouter</title><path d="M9.623 2c1.46 0 2.763.35 3.91 1.05 1.149.699 2.053 1.7 2.714 3.002.66 1.303.991 2.861.991 4.675 0 1.814-.33 3.372-.991 4.675-.66 1.302-1.565 2.303-2.713 3.003-1.148.7-2.452 1.049-3.91 1.049-1.465 0-2.772-.35-3.92-1.05-1.148-.699-2.052-1.701-2.713-3.007-.66-1.305-.991-2.862-.991-4.67 0-1.814.33-3.372.991-4.675.66-1.302 1.565-2.303 2.713-3.003C6.852 2.35 8.16 2 9.624 2zm0 2.34c-.974 0-1.844.244-2.61.734-.765.489-1.37 1.208-1.813 2.156-.443.949-.664 2.114-.664 3.497s.221 2.548.664 3.497c.444.948 1.048 1.667 1.813 2.156.766.49 1.636.735 2.61.735.97 0 1.838-.245 2.606-.735.768-.489 1.374-1.208 1.817-2.156.443-.949.665-2.114.665-3.497s-.222-2.548-.665-3.497c-.443-.948-1.049-1.667-1.817-2.156-.768-.49-1.637-.735-2.606-.735zm16.32 1.974c1.024 0 1.938.26 2.742.78s1.436 1.269 1.896 2.248c.46.979.69 2.156.69 3.534 0 1.377-.23 2.556-.686 3.538-.457.981-1.085 1.736-1.883 2.264-.799.529-1.71.793-2.734.793-.771 0-1.4-.13-1.887-.39-.488-.26-.869-.564-1.144-.913a6.908 6.908 0 01-.636-.929h-.149V24h-2.47V6.48h2.412v2.065h.207c.143-.265.35-.572.62-.92.27-.349.643-.655 1.123-.917.479-.263 1.112-.394 1.9-.394zm-.528 2.107c-.716 0-1.32.185-1.813.556-.493.37-.866.887-1.12 1.55-.253.665-.38 1.439-.38 2.324 0 .896.13 1.68.389 2.356.259.674.633 1.201 1.123 1.58s1.09.568 1.8.568c.738 0 1.355-.198 1.85-.593.496-.395.872-.933 1.128-1.613.256-.68.384-1.447.384-2.298 0-.84-.125-1.596-.376-2.265-.25-.67-.625-1.197-1.123-1.584-.498-.388-1.12-.581-1.862-.581zm13.387-2.107c.716 0 1.41.119 2.082.356a5.037 5.037 0 011.809 1.12c.534.51.955 1.169 1.263 1.979.309.81.463 1.793.463 2.949v.88l-9.016-.001.002.105c.03.732.178 1.364.445 1.895.3.597.72 1.052 1.26 1.364.539.313 1.17.469 1.89.469.469 0 .895-.068 1.28-.203a2.716 2.716 0 001-.61c.281-.271.496-.606.644-1.004l2.338.423a4.247 4.247 0 01-1.004 1.813c-.482.517-1.084.918-1.808 1.203-.725.284-1.549.427-2.474.427-1.25 0-2.325-.27-3.225-.809-.9-.54-1.594-1.3-2.082-2.281-.487-.982-.73-2.134-.73-3.455 0-1.306.243-2.456.73-3.451.488-.996 1.17-1.773 2.049-2.331.878-.559 1.906-.838 3.084-.838zm.017 2.049c-.694 0-1.298.17-1.813.51-.515.34-.911.782-1.19 1.327a3.778 3.778 0 00-.39 1.303l-.02.236h6.593c0-.653-.132-1.232-.397-1.738a3.022 3.022 0 00-1.11-1.199c-.477-.293-1.034-.44-1.673-.44zm10.29 3.293v7.566H46.64V6.48h2.37v2.074h.158a3.63 3.63 0 011.375-1.626c.625-.41 1.413-.614 2.366-.614.864 0 1.622.18 2.271.543.65.362 1.154.9 1.512 1.614.358.713.537 1.595.537 2.646v8.105h-2.47v-7.806c0-.924-.24-1.647-.718-2.17-.48-.522-1.137-.784-1.974-.784-.573 0-1.081.125-1.524.374a2.65 2.65 0 00-1.05 1.09c-.255.479-.383 1.055-.383 1.73zm17.122-9.424c1.31 0 2.4.227 3.266.68.868.454 1.516 1.08 1.945 1.88.43.799.645 1.72.645 2.766 0 1.04-.216 1.954-.649 2.742-.432.788-1.082 1.4-1.949 1.837a5.1 5.1 0 01-.501.22l3.743 6.865h-2.907l-3.436-6.43h-3.634v6.43h-2.552V2.232h6.029zm-.273 2.199h-3.204v6.155h3.237c.826 0 1.5-.119 2.02-.357s.901-.583 1.144-1.037c.242-.453.363-.998.363-1.634 0-.641-.122-1.197-.367-1.667-.246-.47-.628-.831-1.148-1.083-.52-.252-1.202-.377-2.045-.377zM79.66 6.314c1.19 0 2.227.273 3.114.821.886.548 1.575 1.316 2.065 2.306s.735 2.146.735 3.468c0 1.316-.245 2.466-.735 3.45-.49.985-1.179 1.751-2.065 2.299-.887.547-1.924.82-3.114.82s-2.227-.273-3.113-.82c-.887-.548-1.575-1.314-2.065-2.298-.49-.985-.735-2.135-.735-3.451 0-1.322.245-2.478.735-3.468.49-.99 1.178-1.758 2.065-2.306.886-.548 1.924-.821 3.113-.821zm.008 2.074c-.776 0-1.419.207-1.928.622-.51.415-.887.963-1.132 1.646a6.602 6.602 0 00-.367 2.244c0 .819.122 1.568.367 2.249.245.68.623 1.225 1.132 1.634.51.41 1.152.614 1.928.614.771 0 1.41-.205 1.917-.614.506-.41.882-.954 1.127-1.634.245-.68.367-1.43.367-2.249 0-.813-.122-1.56-.367-2.244-.245-.683-.62-1.231-1.127-1.646-.507-.415-1.146-.622-1.917-.622zm16.164 5.55V6.48h2.477v12.742h-2.428v-2.207h-.132a3.956 3.956 0 01-1.4 1.697c-.641.45-1.438.676-2.391.676-.815 0-1.535-.181-2.16-.544-.625-.362-1.115-.9-1.47-1.613-.355-.714-.533-1.596-.533-2.647V6.48h2.47v7.806c0 .868.24 1.56.718 2.074.48.514 1.102.771 1.867.771.462 0 .924-.116 1.383-.348.46-.232.843-.584 1.148-1.054.306-.47.456-1.067.45-1.792zm8.58-10.511v3.052h2.602v1.992h-2.602v7.01c0 .48.072.841.215 1.082.144.24.33.404.558.49.228.085.478.128.747.128.199 0 .372-.014.52-.041l.348-.067.446 2.05a4.42 4.42 0 01-.612.17c-.264.057-.594.09-.99.095a4.331 4.331 0 01-1.818-.349 3.12 3.12 0 01-1.362-1.128c-.347-.509-.52-1.148-.52-1.916l-.002-7.525h-1.857V6.48h1.857l.001-3.053h2.47zm9.961 2.887c.716 0 1.41.119 2.081.356a5.037 5.037 0 011.81 1.12c.533.51.954 1.169 1.263 1.979.308.81.462 1.793.462 2.949v.88l-9.016-.001.003.105c.03.732.178 1.364.445 1.895.3.597.72 1.052 1.259 1.364.54.313 1.17.469 1.891.469.468 0 .895-.068 1.28-.203a2.716 2.716 0 001-.61c.28-.271.495-.606.644-1.004l2.337.423a4.247 4.247 0 01-1.003 1.813c-.482.517-1.085.918-1.809 1.203-.724.284-1.548.427-2.473.427-1.25 0-2.325-.27-3.226-.809-.9-.54-1.594-1.3-2.08-2.281-.488-.982-.732-2.134-.732-3.455 0-1.306.244-2.456.731-3.451.487-.996 1.17-1.773 2.048-2.331.879-.559 1.907-.838 3.085-.838zm.017 2.049c-.694 0-1.298.17-1.813.51-.515.34-.911.782-1.19 1.327a3.778 3.778 0 00-.39 1.303l-.02.236h6.592c0-.653-.132-1.232-.396-1.738a3.022 3.022 0 00-1.11-1.199c-.477-.293-1.035-.44-1.673-.44zm7.821 10.859V6.48h2.387v2.024h.132a3.092 3.092 0 011.227-1.622 3.485 3.485 0 011.994-.593l.396.01.153.006c.212.011.379.025.5.042v2.372c-.1-.027-.275-.059-.529-.095a5.4 5.4 0 00-.76-.054c-.583 0-1.102.123-1.556.37a2.799 2.799 0 00-1.078 1.02 2.79 2.79 0 00-.397 1.48v7.782h-2.469z"></path></svg>`,Ji=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>OpenRouter</title><path d="M16.804 1.957l7.22 4.105v.087L16.73 10.21l.017-2.117-.821-.03c-1.059-.028-1.611.002-2.268.11-1.064.175-2.038.577-3.147 1.352L8.345 11.03c-.284.195-.495.336-.68.455l-.515.322-.397.234.385.23.53.338c.476.314 1.17.796 2.701 1.866 1.11.775 2.083 1.177 3.147 1.352l.3.045c.694.091 1.375.094 2.825.033l.022-2.159 7.22 4.105v.087L16.589 22l.014-1.862-.635.022c-1.386.042-2.137.002-3.138-.162-1.694-.28-3.26-.926-4.881-2.059l-2.158-1.5a21.997 21.997 0 00-.755-.498l-.467-.28a55.927 55.927 0 00-.76-.43C2.908 14.73.563 14.116 0 14.116V9.888l.14.004c.564-.007 2.91-.622 3.809-1.124l1.016-.58.438-.274c.428-.28 1.072-.726 2.686-1.853 1.621-1.133 3.186-1.78 4.881-2.059 1.152-.19 1.974-.213 3.814-.138l.02-1.907z"></path></svg>`,Yi=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 298.03 47.18" fill="currentColor" role="img" aria-label="OVHcloud">
9
+ `).replace(Zf,``)}function $f(e,t){return t=Qf(t),Qf(e)===t}function ep(e,t,n,r,a,o){switch(n){case`children`:if(typeof r==`string`)t===`body`||t===`textarea`&&r===``||gn(e,r);else if(typeof r==`number`||typeof r==`bigint`)t!==`body`&&gn(e,``+r);else return;break;case`className`:en(e,`class`,r);break;case`tabIndex`:en(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:en(e,n,r);break;case`style`:yn(e,r,o);return;case`data`:if(t!==`object`){en(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=Cn(r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}if(typeof o==`function`&&(n===`formAction`?(t!==`input`&&ep(e,t,`name`,a.name,a,null),ep(e,t,`formEncType`,a.formEncType,a,null),ep(e,t,`formMethod`,a.formMethod,a,null),ep(e,t,`formTarget`,a.formTarget,a,null)):(ep(e,t,`encType`,a.encType,a,null),ep(e,t,`method`,a.method,a,null),ep(e,t,`target`,a.target,a,null))),r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=Cn(r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=wn);return;case`onScroll`:r!=null&&Z(`scroll`,e);return;case`onScrollEnd`:r!=null&&Z(`scrollend`,e);return;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));o?.__html!==n&&(e.innerHTML=n)}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=Cn(r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`credentialless`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:Z(`beforetoggle`,e),Z(`toggle`,e),$t(e,`popover`,r);break;case`xlinkActuate`:tn(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:tn(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:tn(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:tn(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:tn(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:tn(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:tn(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:tn(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:tn(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:$t(e,`is`,r);break;case`innerText`:case`textContent`:return;default:if(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)n=xn.get(n)||n,$t(e,n,r);else return}Zt=!0}function tp(e,t,n,r,a,o){switch(n){case`style`:yn(e,r,o);return;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));o?.__html!==n&&(e.innerHTML=n)}}break;case`children`:if(typeof r==`string`)gn(e,r);else if(typeof r==`number`||typeof r==`bigint`)gn(e,``+r);else return;break;case`onScroll`:r!=null&&Z(`scroll`,e);return;case`onScrollEnd`:r!=null&&Z(`scrollend`,e);return;case`onClick`:r!=null&&(e.onclick=wn);return;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:return;case`innerText`:case`textContent`:return;default:if(!Wt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(a=n.endsWith(`Capture`),o=n.slice(2,a?n.length-7:void 0),t=e[Ot]||null,t=t==null?null:t[n],typeof t==`function`&&e.removeEventListener(o,t,a),typeof r==`function`)){typeof t!=`function`&&t!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(o,r,a);break a}Zt=!0,n in e?e[n]=r:!0===r?e.setAttribute(n,``):$t(e,n,r)}return}Zt=!0}function np(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:Z(`error`,e),Z(`load`,e);var r=!1,a=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:a=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:ep(e,t,o,s,n,null)}}a&&ep(e,t,`srcSet`,n.srcSet,n,null),r&&ep(e,t,`src`,n.src,n,null);return;case`input`:Z(`invalid`,e);var c=o=s=a=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:a=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(i(137,t));break;default:ep(e,t,r,d,n,null)}}dn(e,o,c,l,u,s,a,!1);return;case`select`:for(a in Z(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(a)&&(c=n[a],c!=null))switch(a){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:ep(e,t,a,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&pn(e,!!r,n,!0):pn(e,!!r,t,!1);return;case`textarea`:for(s in Z(`invalid`,e),o=a=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:a=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(i(91));break;default:ep(e,t,s,c,n,null)}hn(e,r,a,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:ep(e,t,l,r,n,null)}return;case`dialog`:Z(`beforetoggle`,e),Z(`toggle`,e),Z(`cancel`,e),Z(`close`,e);break;case`iframe`:case`object`:Z(`load`,e);break;case`video`:case`audio`:for(r=0;r<Bf.length;r++)Z(Bf[r],e);break;case`image`:Z(`error`,e),Z(`load`,e);break;case`details`:Z(`toggle`,e);break;case`embed`:case`source`:case`link`:Z(`error`,e),Z(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:ep(e,t,u,r,n,null)}return;default:if(bn(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&tp(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&ep(e,t,c,r,n,null))}var rp={};function ip(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var a=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||ep(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:m!==f&&(Zt=!0),o=m;break;case`name`:m!==f&&(Zt=!0),a=m;break;case`checked`:m!==f&&(Zt=!0),u=m;break;case`defaultChecked`:m!==f&&(Zt=!0),d=m;break;case`value`:m!==f&&(Zt=!0),s=m;break;case`defaultValue`:m!==f&&(Zt=!0),c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(i(137,t));break;default:m!==f&&ep(e,t,p,m,r,f)}}un(e,s,c,l,u,d,o,a);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||ep(e,t,o,null,r,l)}for(a in r)if(o=r[a],l=n[a],r.hasOwnProperty(a)&&(o!=null||l!=null))switch(a){case`value`:o!==l&&(Zt=!0),p=o;break;case`defaultValue`:o!==l&&(Zt=!0),c=o;break;case`multiple`:o!==l&&(Zt=!0),s=o;default:o!==l&&ep(e,t,a,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?pn(e,!!n,n?[]:``,!1):pn(e,!!n,t,!0)):pn(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(a=n[c],n.hasOwnProperty(c)&&a!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:ep(e,t,c,null,r,a)}for(s in r)if(a=r[s],o=n[s],r.hasOwnProperty(s)&&(a!=null||o!=null))switch(s){case`value`:a!==o&&(Zt=!0),p=a;break;case`defaultValue`:a!==o&&(Zt=!0),m=a;break;case`children`:break;case`dangerouslySetInnerHTML`:if(a!=null)throw Error(i(91));break;default:a!==o&&ep(e,t,s,a,r,o)}mn(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:ep(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:p!==m&&(Zt=!0),e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:ep(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&ep(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(i(137,t));break;default:ep(e,t,u,p,r,m)}return;default:if(bn(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&tp(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||tp(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&ep(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||ep(e,t,f,p,r,m)}function ap(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function op(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&ap(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&ap(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var sp=null,cp=null;function lp(e){return e.nodeType===9?e:e.ownerDocument}function up(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function dp(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function fp(e,t,n,r){return n=lp(n).createElement(e),n[Dt]=r,n[Ot]=t,np(n,e,t),Vt(n),n}function pp(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var mp=null;function hp(){var e=window.event;return e&&e.type===`popstate`?e!==mp&&(mp=e,!0):(mp=null,!1)}var gp=typeof setTimeout==`function`?setTimeout:void 0,_p=typeof clearTimeout==`function`?clearTimeout:void 0,vp=typeof Promise==`function`?Promise:void 0,yp=typeof requestAnimationFrame==`function`?requestAnimationFrame:gp,bp=typeof queueMicrotask==`function`?queueMicrotask:vp===void 0?gp:function(e){return vp.resolve(null).then(e).catch(xp)};function xp(e){setTimeout(function(){throw e})}function Sp(e){return e===`head`}function Cp(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8){if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Hh(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)_m(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,_m(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[Pt]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&_m(e.ownerDocument.body)}n=i}while(n);Hh(t)}function wp(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8){if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++}n=r}while(n)}function Tp(e,t,n){if(t=CSS.escape(t)===t?t:`r-`+btoa(t).replace(/=/g,``),e.style.viewTransitionName=t,n!=null&&(e.style.viewTransitionClass=n),n=getComputedStyle(e),n.display===`inline`){if(t=e.getClientRects(),t.length===1)var r=1;else for(var i=r=0;i<t.length;i++){var a=t[i];0<a.width&&0<a.height&&r++}r===1&&(e=e.style,e.display=t.length===1?`inline-block`:`block`,e.marginTop=`-`+n.paddingTop,e.marginBottom=`-`+n.paddingBottom)}}function Ep(e,t){e=e.style,t=t.style;var n=t==null?null:t.hasOwnProperty(`viewTransitionName`)?t.viewTransitionName:t.hasOwnProperty(`view-transition-name`)?t[`view-transition-name`]:null;e.viewTransitionName=n==null||typeof n==`boolean`?``:(``+n).trim(),n=t==null?null:t.hasOwnProperty(`viewTransitionClass`)?t.viewTransitionClass:t.hasOwnProperty(`view-transition-class`)?t[`view-transition-class`]:null,e.viewTransitionClass=n==null||typeof n==`boolean`?``:(``+n).trim(),e.display===`inline-block`&&(t==null?e.display=e.margin=``:(n=t.display,e.display=n==null||typeof n==`boolean`?``:n,n=t.margin,n==null?(n=t.hasOwnProperty(`marginTop`)?t.marginTop:t[`margin-top`],e.marginTop=n==null||typeof n==`boolean`?``:n,t=t.hasOwnProperty(`marginBottom`)?t.marginBottom:t[`margin-bottom`],e.marginBottom=t==null||typeof t==`boolean`?``:t):e.margin=n))}function Dp(e,t,n){return n=n.ownerDocument.defaultView,{rect:e,abs:t.position===`absolute`||t.position===`fixed`,clip:t.clipPath!==`none`||t.overflow!==`visible`||t.filter!==`none`||t.mask!==`none`||t.mask!==`none`||t.borderRadius!==`0px`,view:0<=e.bottom&&0<=e.right&&e.top<=n.innerHeight&&e.left<=n.innerWidth}}function Op(e){return Dp(e.getBoundingClientRect(),getComputedStyle(e),e)}function kp(e){var t=e.getBoundingClientRect();t=new DOMRect(t.x+2e4,t.y+2e4,t.width,t.height);var n=getComputedStyle(e);return Dp(t,n,e)}function Ap(e){return e.documentElement.clientHeight}function jp(e){this.addEventListener(`load`,e),this.addEventListener(`error`,e)}function Mp(e,t,n,r,i,a,o,s,c){var l=t.nodeType===9?t:t.ownerDocument;try{var u=l.startViewTransition({update:function(){var t=l.defaultView,n=t.navigation&&t.navigation.transition,o=l.fonts.status;r();var s=[];if(o===`loaded`&&(Ap(l),l.fonts.status===`loading`&&s.push(l.fonts.ready)),o=s.length,e!==null)for(var c=e.suspenseyImages,u=0,d=0;d<c.length;d++){var f=c[d];if(!f.complete){var p=f.getBoundingClientRect();if(0<p.bottom&&0<p.right&&p.top<t.innerHeight&&p.left<t.innerWidth){if(u+=Xm(f),u>$m){s.length=o;break}f=new Promise(jp.bind(f)),s.push(f)}}}if(0<s.length)return t=Promise.race([Promise.all(s),new Promise(function(e){return setTimeout(e,500)})]).then(i,i),(n?Promise.allSettled([n.finished,t]):t).then(a,a);if(i(),n)return n.finished.then(a,a);a()},types:n});l.__reactViewTransition=u;var d=[];return u.ready.then(function(){for(var e=l.documentElement.getAnimations({subtree:!0}),t=0;t<e.length;t++){var n=e[t],r=n.effect,i=r.pseudoElement;if(i!=null&&i.startsWith(`::view-transition`)){d.push(n),n=r.getKeyframes();for(var a=i=void 0,s=!0,c=0;c<n.length;c++){var u=n[c],f=u.width;if(i===void 0)i=f;else if(i!==f){s=!1;break}if(f=u.height,a===void 0)a=f;else if(a!==f){s=!1;break}delete u.width,delete u.height,u.transform===`none`&&delete u.transform}s&&i!==void 0&&a!==void 0&&(r.setKeyframes(n),s=getComputedStyle(r.target,r.pseudoElement),s.width!==i||s.height!==a)&&(s=n[0],s.width=i,s.height=a,s=n[n.length-1],s.width=i,s.height=a,r.setKeyframes(n))}}o()},function(e){l.__reactViewTransition===u&&(l.__reactViewTransition=null);try{if(typeof e==`object`&&e)switch(e.name){case`InvalidStateError`:(e.message===`View transition was skipped because document visibility state is hidden.`||e.message===`Skipping view transition because document visibility state has become hidden.`||e.message===`Skipping view transition because viewport size changed.`||e.message===`Transition was aborted because of invalid state`)&&(e=null)}e!==null&&c(e)}finally{r(),i(),o()}}),u.finished.finally(function(){for(var e=0;e<d.length;e++)d[e].cancel();l.__reactViewTransition===u&&(l.__reactViewTransition=null),s()}),u}catch{return r(),i(),o(),null}}function Np(e,t){this._scope=document.documentElement,this._selector=`::view-transition-`+e+`(`+t+`)`}Np.prototype.animate=function(e,t){return t=typeof t==`number`?{duration:t}:E({},t),t.pseudoElement=this._selector,this._scope.animate(e,t)},Np.prototype.getAnimations=function(){for(var e=this._scope,t=this._selector,n=e.getAnimations({subtree:!0}),r=[],i=0;i<n.length;i++){var a=n[i].effect;a!==null&&a.target===e&&a.pseudoElement===t&&r.push(n[i])}return r},Np.prototype.getComputedStyle=function(){return getComputedStyle(this._scope,this._selector)};function Pp(e){return{name:e,group:new Np(`group`,e),imagePair:new Np(`image-pair`,e),old:new Np(`old`,e),new:new Np(`new`,e)}}function Fp(e){this._fragmentFiber=e,this._observers=this._eventListeners=null}Fp.prototype.addEventListener=function(e,t,n){var r=null,i=null;if(!(n!=null&&typeof n!=`boolean`&&(r=n.signal||null,r!==null&&r.aborted))){this._eventListeners===null&&(this._eventListeners=[]);var a=this._eventListeners;if(Bp(a,e,t,n)===-1){var o=this,s=t;n!=null&&typeof n!=`boolean`&&!0===n.once&&(s=function(r){o.removeEventListener(e,t,n),typeof t==`function`?t.call(this,r):t.handleEvent(r)}),r!==null&&(i=o.removeEventListener.bind(o,e,t,n),r.addEventListener(`abort`,i,{once:!0}),i=r.removeEventListener.bind(r,`abort`,i)),r=Rp(n),a.push({type:e,listener:t,optionsOrUseCapture:n,attachedListener:s,cleanup:i}),m(this._fragmentFiber.child,!1,Ip,e,s,r)}this._eventListeners=a}};function Ip(e,t,n,r){return b(e).addEventListener(t,n,r),!1}Fp.prototype.removeEventListener=function(e,t,n){var r=this._eventListeners;if(r!==null&&(t=Bp(r,e,t,n),t!==-1)){var i=r[t];n=i.attachedListener;var a=i.cleanup;i=Rp(i.optionsOrUseCapture),m(this._fragmentFiber.child,!1,Lp,e,n,i),r.splice(t,1),a!==null&&a()}};function Lp(e,t,n,r){return b(e).removeEventListener(t,n,r),!1}function Rp(e){return e!=null&&typeof e!=`boolean`&&(!0===e.once||e.signal instanceof AbortSignal)?{capture:e.capture,passive:e.passive}:e}function zp(e){return e==null?`c=0`:typeof e==`boolean`?`c=`+(e?`1`:`0`):`c=`+(e.capture?`1`:`0`)}function Bp(e,t,n,r){if(e.length===0)return-1;r=zp(r);for(var i=0;i<e.length;i++){var a=e[i];if(a.type===t&&a.listener===n&&zp(a.optionsOrUseCapture)===r)return i}return-1}Fp.prototype.dispatchEvent=function(e){var t=g(this._fragmentFiber);if(t===null)return!0;t=b(t);var n=this._eventListeners;if(n!==null&&0<n.length||!e.bubbles){var r=t.nodeType===9?t.createComment(``):document.createTextNode(``);if(n)for(var i=0;i<n.length;i++){var a=n[i];r.addEventListener(a.type,a.attachedListener,Rp(a.optionsOrUseCapture))}if(t.appendChild(r),e=r.dispatchEvent(e),n)for(i=0;i<n.length;i++)a=n[i],r.removeEventListener(a.type,a.attachedListener,Rp(a.optionsOrUseCapture));return t.removeChild(r),e}return t.dispatchEvent(e)},Fp.prototype.focus=function(e){m(this._fragmentFiber.child,!0,Vp,e,void 0,void 0)};function Vp(e,t){return e.tag!==6&&(e=b(e),pm(e,t))}Fp.prototype.focusLast=function(e){var t=[];m(this._fragmentFiber.child,!0,Hp,t,void 0,void 0);for(var n=t.length-1;0<=n&&!Vp(t[n],e);n--);};function Hp(e,t){return t.push(e),!1}Fp.prototype.blur=function(){var e=g(this._fragmentFiber);e!==null&&(e=b(e),e=lp(e).activeElement,e!==null&&m(this._fragmentFiber.child,!1,Up,e,void 0,void 0))};function Up(e,t){return e.tag!==6&&(e=b(e),e===t||e.contains(t)?(t.blur(),!0):!1)}Fp.prototype.observeUsing=function(e){this._observers===null&&(this._observers=new Set),this._observers.add(e),m(this._fragmentFiber.child,!1,Wp,e,void 0,void 0)};function Wp(e,t){return e.tag!==6&&(e=b(e),t.observe(e),!1)}Fp.prototype.unobserveUsing=function(e){var t=this._observers;if(t!==null&&t.has(e)){t.delete(e),m(this._fragmentFiber.child,!1,Gp,e,void 0,void 0);for(var n=t=0;n<Kp.length;n++){var r=Kp[n];r.fragmentInstance===this&&r.observer===e?e.unobserve(r.instance):Kp[t++]=r}Kp.length=t}};function Gp(e,t){return e.tag!==6&&(e=b(e),t.unobserve(e),!1)}var Kp=[],qp=!1;function Jp(e,t,n){Kp.push({fragmentInstance:e,observer:t,instance:n}),qp||(qp=!0,mm(function(){qp=!1;var e=Kp;Kp=[];for(var t=0;t<e.length;t++){var n=e[t];n.observer.unobserve(n.instance)}}))}Fp.prototype.getClientRects=function(){var e=[];return m(this._fragmentFiber.child,!1,Yp,e,void 0,void 0),e};function Yp(e,t){if(e.tag===6){e=e.stateNode;var n=e.ownerDocument.createRange();n.selectNodeContents(e),t.push.apply(t,n.getClientRects())}else e=b(e),t.push.apply(t,e.getClientRects());return!1}Fp.prototype.getRootNode=function(e){var t=g(this._fragmentFiber);return t===null?this:b(t).getRootNode(e)},Fp.prototype.compareDocumentPosition=function(e){var t=g(this._fragmentFiber);if(t===null)return Node.DOCUMENT_POSITION_DISCONNECTED;var n=[];m(this._fragmentFiber.child,!1,Hp,n,void 0,void 0);var r=b(t);if(n.length===0){if(n=r,_(this._fragmentFiber)){a:{for(t=this._fragmentFiber.return;t!==null;){if(t.tag===4){t=t.stateNode.containerInfo;break a}if(t.tag===3||t.tag===5||t.tag===27)break;t=t.return}t=null}t!=null&&(n=t)}t=this._fragmentFiber;var i=r=n.compareDocumentPosition(e);return n===e?i=Node.DOCUMENT_POSITION_CONTAINS:r&Node.DOCUMENT_POSITION_CONTAINED_BY&&(n=v(t)[1],n===null?i=Node.DOCUMENT_POSITION_PRECEDING:(e=b(n).compareDocumentPosition(e),i=e===0||e&Node.DOCUMENT_POSITION_FOLLOWING?Node.DOCUMENT_POSITION_FOLLOWING:Node.DOCUMENT_POSITION_PRECEDING)),i|=Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC}t=b(n[0]),i=b(n[n.length-1]);var a=_(this._fragmentFiber)?t.parentElement:r;if(a==null)return Node.DOCUMENT_POSITION_DISCONNECTED;r=a.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY,a=a.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY;var o=t.compareDocumentPosition(e),s=i.compareDocumentPosition(e),c=o&Node.DOCUMENT_POSITION_CONTAINED_BY||s&Node.DOCUMENT_POSITION_CONTAINED_BY;return s=r&&a&&o&Node.DOCUMENT_POSITION_FOLLOWING&&s&Node.DOCUMENT_POSITION_PRECEDING,t=r&&t===e||a&&i===e||c||s?Node.DOCUMENT_POSITION_CONTAINED_BY:!r&&t===e||!a&&i===e?Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC:o,t&Node.DOCUMENT_POSITION_DISCONNECTED||t&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC||Xp(t,this._fragmentFiber,n[0],n[n.length-1],e)?t:Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC};function Xp(e,t,n,r,i){var a=Lt(i);if(e&Node.DOCUMENT_POSITION_CONTAINED_BY){if(n=!!a)a:{for(;a!==null;){if(a.tag===7&&(a===t||a.alternate===t)){n=!0;break a}a=a.return}n=!1}return n}if(e&Node.DOCUMENT_POSITION_CONTAINS){if(a===null)return a=i.ownerDocument,i===a||i===a.documentElement||i===a.body;a:{for(a=t,t=g(t);a!==null;){if(!(a.tag!==5&&a.tag!==3&&a.tag!==27||a!==t&&a.alternate!==t)){a=!0;break a}a=a.return}a=!1}return a}return e&Node.DOCUMENT_POSITION_PRECEDING?((t=!!a)&&!(t=a===n)&&(t=ee(n,a,T),t===null?t=!1:(m(t,!0,C,a,n),a=x,x=null,t=a!==null)),t):e&Node.DOCUMENT_POSITION_FOLLOWING?((t=!!a)&&!(t=a===r)&&(t=ee(r,a,T),t===null?t=!1:(m(t,!0,w,a,r),a=x,S=x=null,t=a!==null)),t):!1}function Zp(e,t){var n=e.ownerDocument.createRange();n.selectNodeContents(e),e=n.getBoundingClientRect(),window.scrollTo(window.scrollX+e.left,t?window.scrollY+e.top:window.scrollY+e.bottom-window.innerHeight)}Fp.prototype.scrollIntoView=function(e){if(typeof e==`object`)throw Error(i(566));var t=[];m(this._fragmentFiber.child,!1,Hp,t,void 0,void 0);var n=!1!==e;if(t.length===0){var r=v(this._fragmentFiber);if(r=n?r[1]||r[0]||g(this._fragmentFiber):r[0]||r[1],r===null)return;if(r.tag===6){e=b(r),Zp(e,n);return}if(r=b(r),r.nodeType!==9){if(r.nodeType===11){n=`host`in r?r.host:null,n!==null&&n.scrollIntoView(e);return}r.scrollIntoView(e)}}for(r=n?t.length-1:0;r!==(n?-1:t.length);){var a=t[r];a.tag===6?(a=b(a),Zp(a,n)):b(a).scrollIntoView(e),r+=n?-1:1}};function Qp(e,t){return e=b(e),$p(e,t),!1}function $p(e,t){e.reactFragments??=new Set,e.reactFragments.add(t)}function em(e,t){var n=t._eventListeners;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r];e.addEventListener(i.type,i.attachedListener,Rp(i.optionsOrUseCapture))}e.nodeType!==3&&(n=t._observers,n!==null&&n.forEach(function(n){for(var r=0,i=0;i<Kp.length;i++){var a=Kp[i];(a.fragmentInstance!==t||a.observer!==n||a.instance!==e)&&(Kp[r++]=a)}Kp.length=r,n.observe(e)}),$p(e,t))}function tm(e,t){var n=t._eventListeners;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r];e.removeEventListener(i.type,i.attachedListener,Rp(i.optionsOrUseCapture))}e.nodeType!==3&&(n=t._observers,n!==null&&n.forEach(function(n){typeof n.rootMargin==`string`?Jp(t,n,e):n.unobserve(e)}),e.reactFragments!=null&&e.reactFragments.delete(t))}function nm(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:nm(n),It(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function rm(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r){if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e}else if(!e[Pt])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=lm(e.nextSibling),e===null)break}return null}function im(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=lm(e.nextSibling),e===null))return null;return e}function am(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=lm(e.nextSibling),e===null))return null;return e}function om(e){return e.data===`$?`||e.data===`$~`}function sm(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function cm(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function lm(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var um=null;function dm(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return lm(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function fm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function pm(e,t){function n(){r=!0}if(e.ownerDocument.activeElement===e)return!0;var r=!1;try{e.ownerDocument.addEventListener(`focus`,n,!0),(e.focus||HTMLElement.prototype.focus).call(e,t)}finally{e.ownerDocument.removeEventListener(`focus`,n,!0)}return r}function mm(e){yp(function(){yp(function(t){return e(t)})})}function hm(e,t,n){switch(t=lp(n),e){case`html`:if(e=t.documentElement,!e)throw Error(i(452));return e;case`head`:if(e=t.head,!e)throw Error(i(453));return e;case`body`:if(e=t.body,!e)throw Error(i(454));return e;default:throw Error(i(451))}}function gm(e,t,n){for(var r in n){var i=n[r];n.hasOwnProperty(r)&&i!=null&&ep(e,t,r,null,rp,i)}n.dangerouslySetInnerHTML!=null&&(e.textContent=``),e.onclick===wn&&(e.onclick=null),It(e)}function _m(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);It(e)}var vm=new Map,ym=new Set;function bm(e){if(typeof e.getRootNode==`function`){var t=e.getRootNode();if(t.nodeType===9||t.nodeType===11)return t}return e.nodeType===9?e:e.ownerDocument}var xm=j.d;j.d={f:Sm,r:Cm,D:Em,C:Dm,L:Om,m:km,X:jm,S:Am,M:Mm};function Sm(){var e=xm.f(),t=Vd();return e||t}function Cm(e){var t=Rt(e);t!==null&&t.tag===5&&t.type===`form`?ac(t):xm.r(e)}var wm=typeof document>`u`?null:document;function Tm(e,t,n){var r=wm;if(r&&typeof t==`string`&&t){var i=ln(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),ym.has(i)||(ym.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),np(t,`link`,e),Vt(t),r.head.appendChild(t)))}}function Em(e){xm.D(e),Tm(`dns-prefetch`,e,null)}function Dm(e,t){xm.C(e,t),Tm(`preconnect`,e,t)}function Om(e,t,n){xm.L(e,t,n);var r=wm;if(r&&e&&t){var i=`link[rel="preload"][as="`+ln(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+ln(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+ln(n.imageSizes)+`"]`)):i+=`[href="`+ln(e)+`"]`;var a=i;switch(t){case`style`:a=Pm(e);break;case`script`:a=Rm(e)}if(!(vm.has(a)||(e=E({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),vm.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Fm(a))||t===`script`&&r.querySelector(zm(a))))){var o=r.createElement(`link`);np(o,`link`,e),t===`style`&&(o[Ft]=!0,o.onload=o.onerror=function(){Ht(o)}),Vt(o),r.head.appendChild(o)}}}function km(e,t){xm.m(e,t);var n=wm;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+ln(r)+`"][href="`+ln(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Rm(e)}if(!vm.has(a)&&(e=E({rel:`modulepreload`,href:e},t),vm.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(zm(a)))return}r=n.createElement(`link`),np(r,`link`,e),Vt(r),n.head.appendChild(r)}}}function Am(e,t,n){xm.S(e,t,n);var r=wm;if(r&&e){var i=Bt(r).hoistableStyles,a=Pm(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Fm(a)))s.loading=5;else{e=E({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=vm.get(a))&&Hm(e,n);var c=o=r.createElement(`link`);Vt(c),np(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Vm(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function jm(e,t){xm.X(e,t);var n=wm;if(n&&e){var r=Bt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=E({src:e,async:!0},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),Vt(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Mm(e,t){xm.M(e,t);var n=wm;if(n&&e){var r=Bt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=E({src:e,async:!0,type:`module`},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),Vt(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Nm(e,t,n,r){var a=(a=Oe.current)?bm(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(n=Pm(n.href),t=Bt(a).hoistableStyles,r=t.get(n),r||(r={type:`style`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Pm(n.href);var o=Bt(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(Fm(e)))?o._p||(s.instance=o,s.state.loading=5):(o=vm.get(e),o||(o={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},vm.set(e,o)),Lm(a,e,o,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(n=Rm(n),t=Bt(a).hoistableScripts,r=t.get(n),r||(r={type:`script`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Pm(e){return`href="`+ln(e)+`"`}function Fm(e){return`link[rel="stylesheet"][`+e+`]`}function Im(e){return E({},e,{"data-precedence":e.precedence,precedence:null})}function Lm(e,t,n,r){if(t=e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)){if(!0!==t[Ft]){r.loading=1;return}}else t=e.createElement(`link`),t[Ft]=!0,t.onload=t.onerror=Ht.bind(null,t),np(t,`link`,n),Vt(t),e.head.appendChild(t);r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2})}function Rm(e){return`[src="`+ln(e)+`"]`}function zm(e){return`script[async]`+e}function Bm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+ln(n.href)+`"]`);if(r)return t.instance=r,Vt(r),r;var a=E({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),Vt(r),np(r,`style`,a),Vm(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Pm(n.href);var o=e.querySelector(Fm(a));if(o)return t.state.loading|=4,t.instance=o,Vt(o),o;r=Im(n),(a=vm.get(a))&&Hm(r,a),o=(e.ownerDocument||e).createElement(`link`),Vt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),np(o,`link`,r),t.state.loading|=4,Vm(o,n.precedence,e),t.instance=o;case`script`:return o=Rm(n.src),(a=e.querySelector(zm(o)))?(t.instance=a,Vt(a),a):(r=n,(a=vm.get(o))&&(r=E({},n),Um(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),Vt(a),np(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Vm(r,n.precedence,e));return t.instance}function Vm(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Hm(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function Um(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var Wm=null;function Gm(e,t,n){if(Wm===null){var r=new Map,i=Wm=new Map;i.set(n,r)}else i=Wm,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[Pt]||a[Dt]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Km(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function qm(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Jm(e,t){return e===`img`&&t.src!=null&&t.src!==``&&t.onLoad==null&&t.loading!==`lazy`}function Ym(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Xm(e){return(e.width||100)*(e.height||100)*(typeof devicePixelRatio==`number`?devicePixelRatio:1)*.25}function Zm(e,t){typeof t.decode==`function`&&(e.imgCount++,t.complete||(e.imgBytes+=Xm(t),e.suspenseyImages.push(t)),e=rh.bind(e),t.decode().then(e,e))}function Qm(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Pm(r.href),a=t.querySelector(Fm(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=nh.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,Vt(a);return}a=t.ownerDocument||t,r=Im(r),(i=vm.get(i))&&Hm(r,i),a=a.createElement(`link`),Vt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),np(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=nh.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var $m=0;function eh(e,t){return e.stylesheets&&e.count===0&&ah(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&ah(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&$m===0&&($m=62500*op());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&ah(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>$m?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function th(e){if(e.count===0&&(e.imgCount===0||!e.waitingForImages)){if(e.stylesheets)ah(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function nh(){this.count--,th(this)}function rh(){this.imgCount--,th(this)}var ih=null;function ah(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ih=new Map,t.forEach(oh,e),ih=null,nh.call(e))}function oh(e,t){if(!(t.state.loading&4)){var n=ih.get(e);if(n)var r=n.get(null);else{n=new Map,ih.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=nh.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var sh={$$typeof:k,Provider:null,Consumer:null,_currentValue:xe,_currentValue2:xe,_threadCount:0};function ch(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=gt(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gt(0),this.hiddenUpdates=gt(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.transitionTypes=null,this.incompleteTransitions=new Map}function lh(e,t,n,r,i,a,o,s,c,l,u,d){return e=new ch(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=Fi(3,null,null,t),e.current=a,a.stateNode=e,t=Na(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},go(a),e}function uh(e){return e?(e=Ni,e):Ni}function dh(e,t,n,r,i,a){i=uh(i),r.context===null?r.context=i:r.pendingContext=i,r=vo(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=yo(e,r,t),n!==null&&(Id(n,e,t),bo(n,e,t))}function fh(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function ph(e,t){fh(e,t),(e=e.alternate)&&fh(e,t)}function mh(e){if(e.tag===13||e.tag===31){var t=Ai(e,67108864);t!==null&&Id(t,e,67108864),ph(e,67108864)}}function hh(e){if(e.tag===13||e.tag===31){var t=Nd();t=St(t);var n=Ai(e,t);n!==null&&Id(n,e,t),ph(e,t)}}var gh=!0;function _h(e,t,n,r){var i=A.T;A.T=null;var a=j.p;try{j.p=2,yh(e,t,n,r)}finally{j.p=a,A.T=i}}function vh(e,t,n,r){var i=A.T;A.T=null;var a=j.p;try{j.p=8,yh(e,t,n,r)}finally{j.p=a,A.T=i}}function yh(e,t,n,r){if(gh){var i=bh(r);if(i===null)Kf(e,t,r,xh,n),Mh(e,r);else if(Ph(i,e,t,n,r))r.stopPropagation();else if(Mh(e,r),t&4&&-1<jh.indexOf(e)){for(;i!==null;){var a=Rt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=dt(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-it(o);s.entanglements[1]|=c,o&=~c}Of(a),!(ed&6)&&(vd=Ke()+500,kf(0,!1))}}break;case 31:case 13:s=Ai(a,2),s!==null&&Id(s,a,2),Vd(),ph(a,2)}if(a=bh(r),a===null&&Kf(e,t,r,xh,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else Kf(e,t,r,null,n)}}function bh(e){return e=En(e),Sh(e)}var xh=null;function Sh(e){if(xh=null,e=Lt(e),e!==null){var t=o(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=s(t),e!==null)return e;e=null}else if(n===31){if(e=c(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return xh=e,null}function Ch(e){switch(e){case`beforetoggle`: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`seeked`:case`submit`:case`toggle`: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`fullscreenerror`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 2;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`resize`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(qe()){case Je:return 2;case Ye:return 8;case Xe:case Ze:return 32;case Qe:return 268435456;default:return 32}default:return 32}}var wh=!1,Th=null,Eh=null,Dh=null,Oh=new Map,kh=new Map,Ah=[],jh=`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`.split(` `);function Mh(e,t){switch(e){case`focusin`:case`focusout`:Th=null;break;case`dragenter`:case`dragleave`:Eh=null;break;case`mouseover`:case`mouseout`:Dh=null;break;case`pointerover`:case`pointerout`:Oh.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:kh.delete(t.pointerId)}}function Nh(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=Rt(t),t!==null&&mh(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Ph(e,t,n,r,i){switch(t){case`focusin`:return Th=Nh(Th,e,t,n,r,i),!0;case`dragenter`:return Eh=Nh(Eh,e,t,n,r,i),!0;case`mouseover`:return Dh=Nh(Dh,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return Oh.set(a,Nh(Oh.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,kh.set(a,Nh(kh.get(a)||null,e,t,n,r,i)),!0}return!1}function Fh(e){var t=Lt(e.target);if(t!==null){var n=o(t);if(n!==null){if(t=n.tag,t===13){if(t=s(n),t!==null){e.blockedOn=t,Tt(e.priority,function(){hh(n)});return}}else if(t===31){if(t=c(n),t!==null){e.blockedOn=t,Tt(e.priority,function(){hh(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Ih(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=bh(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Tn=r,n.target.dispatchEvent(r),Tn=null}else return t=Rt(n),t!==null&&mh(t),e.blockedOn=n,!1;t.shift()}return!0}function Lh(e,t,n){Ih(e)&&n.delete(t)}function Rh(){wh=!1,Th!==null&&Ih(Th)&&(Th=null),Eh!==null&&Ih(Eh)&&(Eh=null),Dh!==null&&Ih(Dh)&&(Dh=null),Oh.forEach(Lh),kh.forEach(Lh)}function zh(e,n){e.blockedOn===n&&(e.blockedOn=null,wh||(wh=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,Rh)))}var Bh=null;function Vh(e){Bh!==e&&(Bh=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){Bh===e&&(Bh=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(Sh(r||n)===null)continue;break}var a=Rt(n);a!==null&&(e.splice(t,3),t-=3,rc(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Hh(e){function t(t){return zh(t,e)}Th!==null&&zh(Th,e),Eh!==null&&zh(Eh,e),Dh!==null&&zh(Dh,e),Oh.forEach(t),kh.forEach(t);for(var n=0;n<Ah.length;n++){var r=Ah[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<Ah.length&&(n=Ah[0],n.blockedOn===null);)Fh(n),n.blockedOn===null&&Ah.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[Ot]||null;if(typeof a==`function`)o||Vh(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[Ot]||null)s=o.formAction;else if(Sh(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Vh(n)}}}function Uh(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Wh(e){this._internalRoot=e}Gh.prototype.render=Wh.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(i(409));var n=t.current;dh(n,Nd(),e,t,null,null)},Gh.prototype.unmount=Wh.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;dh(e.current,2,null,e,null,null),Vd(),t[kt]=null}};function Gh(e){this._internalRoot=e}Gh.prototype.unstable_scheduleHydration=function(e){if(e){var t=wt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Ah.length&&t!==0&&t<Ah[n].priority;n++);Ah.splice(n,0,e),n===0&&Fh(e)}};var Kh=n.version;if(Kh!==`19.3.0`)throw Error(i(527,Kh,`19.3.0`));j.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(i(188)):(e=Object.keys(e).join(`,`),Error(i(268,e)));return e=u(t),e=e===null?null:f(e),e=e===null?null:e.stateNode,e};var qh={bundleType:0,version:`19.3.0`,rendererPackageName:`react-dom`,currentDispatcherRef:A,reconcilerVersion:`19.3.0`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var Jh=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Jh.isDisabled&&Jh.supportsFiber)try{tt=Jh.inject(qh),nt=Jh}catch{}}e.createRoot=function(e,t){if(!a(e))throw Error(i(299));var n=!1,r=``,o=Ec,s=Dc,c=Oc;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(s=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=lh(e,1,!1,null,null,n,r,null,o,s,c,Uh),e[kt]=t.current,Wf(e),new Wh(t)}})),_=o(((e,t)=>{function n(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE==`function`)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=g()})),v=l(d(),1),y=_(),b=Object.create(null);b.open=`0`,b.close=`1`,b.ping=`2`,b.pong=`3`,b.message=`4`,b.upgrade=`5`,b.noop=`6`;var x=Object.create(null);Object.keys(b).forEach(e=>{x[b[e]]=e});var S={type:`error`,data:`parser error`},C=typeof Blob==`function`||typeof Blob<`u`&&Object.prototype.toString.call(Blob)===`[object BlobConstructor]`,w=typeof ArrayBuffer==`function`,T=e=>typeof ArrayBuffer.isView==`function`?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,ee=({type:e,data:t},n,r)=>C&&t instanceof Blob?n?r(t):E(t,r):w&&(t instanceof ArrayBuffer||T(t))?n?r(t):E(new Blob([t]),r):r(b[e]+(t||``)),E=(e,t)=>{let n=new FileReader;return n.onload=function(){let e=n.result.split(`,`)[1];t(`b`+(e||``))},n.readAsDataURL(e)};function te(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}var D;function O(e,t){if(C&&e.data instanceof Blob)return e.data.arrayBuffer().then(te).then(t);if(w&&(e.data instanceof ArrayBuffer||T(e.data)))return t(te(e.data));ee(e,!1,e=>{D||=new TextEncoder,t(D.encode(e))})}var ne=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,re=typeof Uint8Array>`u`?[]:new Uint8Array(256);for(let e=0;e<64;e++)re[ne.charCodeAt(e)]=e;var ie=e=>{let t=e.length*.75,n=e.length,r,i=0,a,o,s,c;e[e.length-1]===`=`&&(t--,e[e.length-2]===`=`&&t--);let l=new ArrayBuffer(t),u=new Uint8Array(l);for(r=0;r<n;r+=4)a=re[e.charCodeAt(r)],o=re[e.charCodeAt(r+1)],s=re[e.charCodeAt(r+2)],c=re[e.charCodeAt(r+3)],u[i++]=a<<2|o>>4,u[i++]=(o&15)<<4|s>>2,u[i++]=(s&3)<<6|c&63;return l},ae=typeof ArrayBuffer==`function`,k=(e,t)=>{if(typeof e!=`string`)return{type:`message`,data:se(e,t)};let n=e.charAt(0);return n===`b`?{type:`message`,data:oe(e.substring(1),t)}:x[n]?e.length>1?{type:x[n],data:e.substring(1)}:{type:x[n]}:S},oe=(e,t)=>ae?se(ie(e),t):{base64:!0,data:e},se=(e,t)=>{switch(t){case`blob`:return e instanceof Blob?e:new Blob([e]);default:return e instanceof ArrayBuffer?e:e.buffer}},ce=``,le=(e,t)=>{let n=e.length,r=Array(n),i=0;e.forEach((e,a)=>{ee(e,!1,e=>{r[a]=e,++i===n&&t(r.join(ce))})})},ue=(e,t)=>{let n=e.split(ce),r=[];for(let e=0;e<n.length;e++){let i=k(n[e],t);if(r.push(i),i.type===`error`)break}return r};function de(){return new TransformStream({transform(e,t){O(e,n=>{let r=n.length,i;if(r<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,r);else if(r<65536){i=new Uint8Array(3);let e=new DataView(i.buffer);e.setUint8(0,126),e.setUint16(1,r)}else{i=new Uint8Array(9);let e=new DataView(i.buffer);e.setUint8(0,127),e.setBigUint64(1,BigInt(r))}e.data&&typeof e.data!=`string`&&(i[0]|=128),t.enqueue(i),t.enqueue(n)})}})}var fe;function pe(e){return e.reduce((e,t)=>e+t.length,0)}function me(e,t){if(e[0].length===t)return e.shift();let n=new Uint8Array(t),r=0;for(let i=0;i<t;i++)n[i]=e[0][r++],r===e[0].length&&(e.shift(),r=0);return e.length&&r<e[0].length&&(e[0]=e[0].slice(r)),n}function he(e,t){fe||=new TextDecoder;let n=[],r=0,i=-1,a=!1;return new TransformStream({transform(o,s){for(n.push(o);;){if(r===0){if(pe(n)<1)break;let e=me(n,1);a=(e[0]&128)==128,i=e[0]&127,r=i<126?3:i===126?1:2}else if(r===1){if(pe(n)<2)break;let e=me(n,2);i=new DataView(e.buffer,e.byteOffset,e.length).getUint16(0),r=3}else if(r===2){if(pe(n)<8)break;let e=me(n,8),t=new DataView(e.buffer,e.byteOffset,e.length),a=t.getUint32(0);if(a>2**21-1){s.enqueue(S);break}i=a*2**32+t.getUint32(4),r=3}else{if(pe(n)<i)break;let e=me(n,i);s.enqueue(k(a?e:fe.decode(e),t)),r=0}if(i===0||i>e){s.enqueue(S);break}}}})}function ge(e){if(e)return _e(e)}function _e(e){for(var t in ge.prototype)e[t]=ge.prototype[t];return e}ge.prototype.on=ge.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks[`$`+e]=this._callbacks[`$`+e]||[]).push(t),this},ge.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},ge.prototype.off=ge.prototype.removeListener=ge.prototype.removeAllListeners=ge.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var n=this._callbacks[`$`+e];if(!n)return this;if(arguments.length==1)return delete this._callbacks[`$`+e],this;for(var r,i=0;i<n.length;i++)if(r=n[i],r===t||r.fn===t){n.splice(i,1);break}return n.length===0&&delete this._callbacks[`$`+e],this},ge.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=Array(arguments.length-1),n=this._callbacks[`$`+e],r=1;r<arguments.length;r++)t[r-1]=arguments[r];if(n){n=n.slice(0);for(var r=0,i=n.length;r<i;++r)n[r].apply(this,t)}return this},ge.prototype.emitReserved=ge.prototype.emit,ge.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks[`$`+e]||[]},ge.prototype.hasListeners=function(e){return!!this.listeners(e).length};var ve=typeof Promise==`function`&&typeof Promise.resolve==`function`?e=>Promise.resolve().then(e):(e,t)=>t(e,0),ye=typeof self<`u`?self:typeof window<`u`?window:Function(`return this`)(),be=`arraybuffer`;function A(e,...t){return t.reduce((t,n)=>(e.hasOwnProperty(n)&&(t[n]=e[n]),t),{})}var j=ye.setTimeout,xe=ye.clearTimeout;function Se(e,t){t.useNativeTimers?(e.setTimeoutFn=j.bind(ye),e.clearTimeoutFn=xe.bind(ye)):(e.setTimeoutFn=ye.setTimeout.bind(ye),e.clearTimeoutFn=ye.clearTimeout.bind(ye))}var Ce=1.33;function we(e){return typeof e==`string`?Te(e):Math.ceil((e.byteLength||e.size)*Ce)}function Te(e){let t=0,n=0;for(let r=0,i=e.length;r<i;r++)t=e.charCodeAt(r),t<128?n+=1:t<2048?n+=2:t<55296||t>=57344?n+=3:(r++,n+=4);return n}function M(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function Ee(e){let t=``;for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+=`&`),t+=encodeURIComponent(n)+`=`+encodeURIComponent(e[n]));return t}function De(e){let t={},n=e.split(`&`);for(let e=0,r=n.length;e<r;e++){let r=n[e].split(`=`);t[decodeURIComponent(r[0])]=decodeURIComponent(r[1])}return t}var Oe=class extends Error{constructor(e,t,n){super(e),this.description=t,this.context=n,this.type=`TransportError`}},ke=class extends ge{constructor(e){super(),this.writable=!1,Se(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}onError(e,t,n){return super.emitReserved(`error`,new Oe(e,t,n)),this}open(){return this.readyState=`opening`,this.doOpen(),this}close(){return(this.readyState===`opening`||this.readyState===`open`)&&(this.doClose(),this.onClose()),this}send(e){this.readyState===`open`&&this.write(e)}onOpen(){this.readyState=`open`,this.writable=!0,super.emitReserved(`open`)}onData(e){let t=k(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved(`packet`,e)}onClose(e){this.readyState=`closed`,super.emitReserved(`close`,e)}pause(e){}createUri(e,t={}){return e+`://`+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){let e=this.opts.hostname;return e.indexOf(`:`)===-1?e:`[`+e+`]`}_port(){return this.opts.port&&(this.opts.secure&&Number(this.opts.port)!==443||!this.opts.secure&&Number(this.opts.port)!==80)?`:`+this.opts.port:``}_query(e){let t=Ee(e);return t.length?`?`+t:``}},Ae=class extends ke{constructor(){super(...arguments),this._polling=!1}get name(){return`polling`}doOpen(){this._poll()}pause(e){this.readyState=`pausing`;let t=()=>{this.readyState=`paused`,e()};if(this._polling||!this.writable){let e=0;this._polling&&(e++,this.once(`pollComplete`,function(){--e||t()})),this.writable||(e++,this.once(`drain`,function(){--e||t()}))}else t()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved(`poll`)}onData(e){ue(e,this.socket.binaryType).forEach(e=>{if(this.readyState===`opening`&&e.type===`open`&&this.onOpen(),e.type===`close`)return this.onClose({description:`transport closed by the server`}),!1;this.onPacket(e)}),this.readyState!==`closed`&&(this._polling=!1,this.emitReserved(`pollComplete`),this.readyState===`open`&&this._poll())}doClose(){let e=()=>{this.write([{type:`close`}])};this.readyState===`open`?e():this.once(`open`,e)}write(e){this.writable=!1,le(e,e=>{this.doWrite(e,()=>{this.writable=!0,this.emitReserved(`drain`)})})}uri(){let e=this.opts.secure?`https`:`http`,t=this.query||{};return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=M()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}},je=!1;try{je=typeof XMLHttpRequest<`u`&&`withCredentials`in new XMLHttpRequest}catch{}var Me=je;function Ne(){}var Pe=class extends Ae{constructor(e){if(super(e),typeof location<`u`){let t=location.protocol===`https:`,n=location.port;n||=t?`443`:`80`,this.xd=typeof location<`u`&&e.hostname!==location.hostname||n!==e.port}}doWrite(e,t){let n=this.request({method:`POST`,data:e});n.on(`success`,t),n.on(`error`,(e,t)=>{this.onError(`xhr post error`,e,t)})}doPoll(){let e=this.request();e.on(`data`,this.onData.bind(this)),e.on(`error`,(e,t)=>{this.onError(`xhr poll error`,e,t)}),this.pollXhr=e}},Fe=class e extends ge{constructor(e,t,n){super(),this.createRequest=e,Se(this,n),this._opts=n,this._method=n.method||`GET`,this._uri=t,this._data=n.data===void 0?null:n.data,this._create()}_create(){var t;let n=A(this._opts,`agent`,`pfx`,`key`,`passphrase`,`cert`,`ca`,`ciphers`,`rejectUnauthorized`,`autoUnref`);n.xdomain=!!this._opts.xd;let r=this._xhr=this.createRequest(n);try{r.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let e in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(e)&&r.setRequestHeader(e,this._opts.extraHeaders[e])}}catch{}if(this._method===`POST`)try{r.setRequestHeader(`Content-type`,`text/plain;charset=UTF-8`)}catch{}try{r.setRequestHeader(`Accept`,`*/*`)}catch{}(t=this._opts.cookieJar)==null||t.addCookies(r),`withCredentials`in r&&(r.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(r.timeout=this._opts.requestTimeout),r.onreadystatechange=()=>{var e;r.readyState===3&&((e=this._opts.cookieJar)==null||e.parseCookies(r.getResponseHeader(`set-cookie`))),r.readyState===4&&(r.status===200||r.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof r.status==`number`?r.status:0)},0))},r.send(this._data)}catch(e){this.setTimeoutFn(()=>{this._onError(e)},0);return}typeof document<`u`&&(this._index=e.requestsCount++,e.requests[this._index]=this)}_onError(e){this.emitReserved(`error`,e,this._xhr),this._cleanup(!0)}_cleanup(t){if(this._xhr!==void 0&&this._xhr!==null){if(this._xhr.onreadystatechange=Ne,t)try{this._xhr.abort()}catch{}typeof document<`u`&&delete e.requests[this._index],this._xhr=null}}_onLoad(){let e=this._xhr.responseText;e!==null&&(this.emitReserved(`data`,e),this.emitReserved(`success`),this._cleanup())}abort(){this._cleanup()}};if(Fe.requestsCount=0,Fe.requests={},typeof document<`u`){if(typeof attachEvent==`function`)attachEvent(`onunload`,Ie);else if(typeof addEventListener==`function`){let e=`onpagehide`in ye?`pagehide`:`unload`;addEventListener(e,Ie,!1)}}function Ie(){for(let e in Fe.requests)Fe.requests.hasOwnProperty(e)&&Fe.requests[e].abort()}var Le=(function(){let e=ze({xdomain:!1});return e&&e.responseType!==null})(),Re=class extends Pe{constructor(e){super(e);let t=e&&e.forceBase64;this.supportsBinary=Le&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new Fe(ze,this.uri(),e)}};function ze(e){let t=e.xdomain;try{if(typeof XMLHttpRequest<`u`&&(!t||Me))return new XMLHttpRequest}catch{}if(!t)try{return new ye[[`Active`,`Object`].join(`X`)](`Microsoft.XMLHTTP`)}catch{}}var Be=typeof navigator<`u`&&typeof navigator.product==`string`&&navigator.product.toLowerCase()===`reactnative`,Ve=class extends ke{get name(){return`websocket`}doOpen(){let e=this.uri(),t=this.opts.protocols,n=Be?{}:A(this.opts,`agent`,`perMessageDeflate`,`pfx`,`key`,`passphrase`,`cert`,`ca`,`ciphers`,`rejectUnauthorized`,`localAddress`,`protocolVersion`,`origin`,`maxPayload`,`family`,`checkServerIdentity`);this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,n)}catch(e){return this.emitReserved(`error`,e)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:`websocket connection closed`,context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError(`websocket error`,e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let n=e[t],r=t===e.length-1;ee(n,this.supportsBinary,e=>{try{this.doWrite(n,e)}catch{}r&&ve(()=>{this.writable=!0,this.emitReserved(`drain`)},this.setTimeoutFn)})}}doClose(){this.ws!==void 0&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){let e=this.opts.secure?`wss`:`ws`,t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=M()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}},He=ye.WebSocket||ye.MozWebSocket,Ue={websocket:class extends Ve{createSocket(e,t,n){return Be?new He(e,t,n):t?new He(e,t):new He(e)}doWrite(e,t){this.ws.send(t)}},webtransport:class extends ke{get name(){return`webtransport`}doOpen(){try{this._transport=new WebTransport(this.createUri(`https`),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved(`error`,e)}this._transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError(`webtransport error`,e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{let t=he(2**53-1,this.socket.binaryType),n=e.readable.pipeThrough(t).getReader(),r=de();r.readable.pipeTo(e.writable),this._writer=r.writable.getWriter();let i=()=>{n.read().then(({done:e,value:t})=>{e||(this.onPacket(t),i())}).catch(e=>{})};i();let a={type:`open`};this.query.sid&&(a.data=`{"sid":"${this.query.sid}"}`),this._writer.write(a).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let n=e[t],r=t===e.length-1;this._writer.write(n).then(()=>{r&&ve(()=>{this.writable=!0,this.emitReserved(`drain`)},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)==null||e.close()}},polling:Re},We=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Ge=[`source`,`protocol`,`authority`,`userInfo`,`user`,`password`,`host`,`port`,`relative`,`path`,`directory`,`file`,`query`,`anchor`];function Ke(e){if(e.length>8e3)throw`URI too long`;let t=e,n=e.indexOf(`[`),r=e.indexOf(`]`);n!=-1&&r!=-1&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,`;`)+e.substring(r,e.length));let i=We.exec(e||``),a={},o=14;for(;o--;)a[Ge[o]]=i[o]||``;return n!=-1&&r!=-1&&(a.source=t,a.host=a.host.substring(1,a.host.length-1).replace(/;/g,`:`),a.authority=a.authority.replace(`[`,``).replace(`]`,``).replace(/;/g,`:`),a.ipv6uri=!0),a.pathNames=qe(a,a.path),a.queryKey=Je(a,a.query),a}function qe(e,t){let n=t.replace(/\/{2,9}/g,`/`).split(`/`);return(t.slice(0,1)==`/`||t.length===0)&&n.splice(0,1),t.slice(-1)==`/`&&n.splice(n.length-1,1),n}function Je(e,t){let n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(e,t,r){t&&(n[t]=r)}),n}var Ye=typeof addEventListener==`function`&&typeof removeEventListener==`function`,Xe=[];Ye&&addEventListener(`offline`,()=>{Xe.forEach(e=>e())},!1);var Ze=class e extends ge{constructor(e,t={}){if(super(),this.binaryType=be,this.writeBuffer=[],this._prevBufferLen=0,this._upgrades=[],this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,e&&typeof e==`object`&&(t=e,e=null),e){let n=Ke(e);t.hostname=n.host,t.secure=n.protocol===`https`||n.protocol===`wss`,t.port=n.port,n.query&&(t.query=n.query)}else t.host&&(t.hostname=Ke(t.host).host);if(Se(this,t),this.secure=t.secure==null?typeof location<`u`&&location.protocol===`https:`:t.secure,t.hostname&&!t.port&&(t.port=this.secure?`443`:`80`),this.hostname=t.hostname||(typeof location<`u`?location.hostname:`localhost`),this.port=t.port||(typeof location<`u`&&location.port?location.port:this.secure?`443`:`80`),t.transportImplementations&&t.transports)throw Error(`specifying both 'transportImplementations' and 'transports' options is not supported`);t.transportImplementations||t.transports?.length&&typeof t.transports[0]==`function`?(this.transports=[],this._transportsByName=Object.create(null),(t.transportImplementations??t.transports).forEach(e=>{let t=e.prototype.name;this.transports.push(t),this._transportsByName[t]=e})):(this.transports=t.transports?[...t.transports]:[`polling`,`websocket`,`webtransport`],this._transportsByName=Ue),this.opts=Object.assign({path:`/engine.io`,agent:!1,withCredentials:!1,upgrade:!0,timestampParam:`t`,rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,``)+(this.opts.addTrailingSlash?`/`:``),typeof this.opts.query==`string`&&(this.opts.query=De(this.opts.query)),Ye&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener(`beforeunload`,this._beforeunloadEventListener,!1)),this.hostname!==`localhost`&&(this._offlineEventListener=()=>{this._onClose(`transport close`,{description:`network connection lost`})},Xe.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(e){let t=Object.assign({},this.opts.query);t.EIO=4,t.transport=e,this.id&&(t.sid=this.id);let n=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new this._transportsByName[e](n)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved(`error`,`No transports available`)},0);return}let t=this.opts.rememberUpgrade&&e.priorWebsocketSuccess&&this.transports.indexOf(`websocket`)!==-1?`websocket`:this.transports[0];this.readyState=`opening`;let n=this.createTransport(t);n.open(),this.setTransport(n)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on(`drain`,this._onDrain.bind(this)).on(`packet`,this._onPacket.bind(this)).on(`error`,this._onError.bind(this)).on(`close`,e=>this._onClose(`transport close`,e))}_probe(t){let n=this.createTransport(t),r=!1;e.priorWebsocketSuccess=!1;let i=()=>{r||(n.send([{type:`ping`,data:`probe`}]),n.once(`packet`,t=>{if(!r){if(t.type===`pong`&&t.data===`probe`){if(this.upgrading=!0,this.emitReserved(`upgrading`,n),!n)return;e.priorWebsocketSuccess=n.name===`websocket`,this.transport.pause(()=>{r||this.readyState!==`closed`&&(u(),this.setTransport(n),n.send([{type:`upgrade`}]),this.emitReserved(`upgrade`,n),n=null,this.upgrading=!1,this.flush())})}else{let e=Error(`probe error`);e.transport=n.name,this.emitReserved(`upgradeError`,e)}}}))};function a(){r||(r=!0,u(),n.close(),n=null)}let o=e=>{let t=Error(`probe error: `+e);t.transport=n.name,a(),this.emitReserved(`upgradeError`,t)};function s(){o(`transport closed`)}function c(){o(`socket closed`)}function l(e){n&&e.name!==n.name&&a()}let u=()=>{n.removeListener(`open`,i),n.removeListener(`error`,o),n.removeListener(`close`,s),this.off(`close`,c),this.off(`upgrading`,l)};n.once(`open`,i),n.once(`error`,o),n.once(`close`,s),this.once(`close`,c),this.once(`upgrading`,l),this._upgrades.indexOf(`webtransport`)!==-1&&t!==`webtransport`?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState=`open`,e.priorWebsocketSuccess=this.transport.name===`websocket`,this.emitReserved(`open`),this.flush(),this.readyState===`open`&&this.opts.upgrade)for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}_onPacket(e){if(this.readyState===`opening`||this.readyState===`open`||this.readyState===`closing`)switch(this.emitReserved(`packet`,e),this.emitReserved(`heartbeat`),e.type){case`open`:this.onHandshake(JSON.parse(e.data));break;case`ping`:this._sendPacket(`pong`),this.emitReserved(`ping`),this.emitReserved(`pong`),this._resetPingTimeout();break;case`error`:let t=Error(`server error`);t.code=e.data,this._onError(t);break;case`message`:this.emitReserved(`data`,e.data),this.emitReserved(`message`,e.data)}}onHandshake(e){this.emitReserved(`handshake`,e),this.id=e.sid,this.transport.query.sid=e.sid,this._upgrades=this._filterUpgrades(e.upgrades),this._pingInterval=e.pingInterval,this._pingTimeout=e.pingTimeout,this._maxPayload=e.maxPayload,this.onOpen(),this.readyState!==`closed`&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);let e=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+e,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose(`ping timeout`)},e),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved(`drain`):this.flush()}flush(){if(this.readyState!==`closed`&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){let e=this._getWritablePackets();this.transport.send(e),this._prevBufferLen=e.length,this.emitReserved(`flush`)}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name===`polling`&&this.writeBuffer.length>1))return this.writeBuffer;let e=1;for(let t=0;t<this.writeBuffer.length;t++){let n=this.writeBuffer[t].data;if(n&&(e+=we(n)),t>0&&e>this._maxPayload)return this.writeBuffer.slice(0,t);e+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;let e=Date.now()>this._pingTimeoutTime;return e&&(this._pingTimeoutTime=0,ve(()=>{this._onClose(`ping timeout`)},this.setTimeoutFn)),e}write(e,t,n){return this._sendPacket(`message`,e,t,n),this}send(e,t,n){return this._sendPacket(`message`,e,t,n),this}_sendPacket(e,t,n,r){if(typeof t==`function`&&(r=t,t=void 0),typeof n==`function`&&(r=n,n=null),this.readyState===`closing`||this.readyState===`closed`)return;n||={},n.compress=!1!==n.compress;let i={type:e,data:t,options:n};this.emitReserved(`packetCreate`,i),this.writeBuffer.push(i),r&&this.once(`flush`,r),this.flush()}close(){let e=()=>{this._onClose(`forced close`),this.transport.close()},t=()=>{this.off(`upgrade`,t),this.off(`upgradeError`,t),e()},n=()=>{this.once(`upgrade`,t),this.once(`upgradeError`,t)};return(this.readyState===`opening`||this.readyState===`open`)&&(this.readyState=`closing`,this.writeBuffer.length?this.once(`drain`,()=>{this.upgrading?n():e()}):this.upgrading?n():e()),this}_onError(t){if(e.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState===`opening`)return this.transports.shift(),this._open();this.emitReserved(`error`,t),this._onClose(`transport error`,t)}_onClose(e,t){if(this.readyState===`opening`||this.readyState===`open`||this.readyState===`closing`){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners(`close`),this.transport.close(),this.transport.removeAllListeners(),Ye&&(this._beforeunloadEventListener&&removeEventListener(`beforeunload`,this._beforeunloadEventListener,!1),this._offlineEventListener)){let e=Xe.indexOf(this._offlineEventListener);e!==-1&&Xe.splice(e,1)}this.readyState=`closed`,this.id=null,this.emitReserved(`close`,e,t),this.writeBuffer=[],this._prevBufferLen=0}}_filterUpgrades(e){let t=[];for(let n=0;n<e.length;n++)~this.transports.indexOf(e[n])&&t.push(e[n]);return t}};Ze.protocol=4,Ze.protocol;function Qe(e,t=``,n){let r=e;n||=typeof location<`u`&&location,e??=n.protocol+`//`+n.host,typeof e==`string`&&(e.charAt(0)===`/`&&(e=e.charAt(1)===`/`?n.protocol+e:n.host+e),/^(https?|wss?):\/\//.test(e)||(e=n===void 0?`https://`+e:n.protocol+`//`+e),r=Ke(e)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port=`80`:/^(http|ws)s$/.test(r.protocol)&&(r.port=`443`)),r.path=r.path||`/`;let i=r.host.indexOf(`:`)===-1?r.host:`[`+r.host+`]`;return r.id=r.protocol+`://`+i+`:`+r.port+t,r.href=r.protocol+`://`+i+(n&&n.port===r.port?``:`:`+r.port),r}var $e=typeof ArrayBuffer==`function`,et=e=>typeof ArrayBuffer.isView==`function`?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,tt=Object.prototype.toString,nt=typeof Blob==`function`||typeof Blob<`u`&&tt.call(Blob)===`[object BlobConstructor]`,rt=typeof File==`function`||typeof File<`u`&&tt.call(File)===`[object FileConstructor]`;function it(e){return $e&&(e instanceof ArrayBuffer||et(e))||nt&&e instanceof Blob||rt&&e instanceof File}function at(e,t){if(!e||typeof e!=`object`)return!1;if(Array.isArray(e)){for(let t=0,n=e.length;t<n;t++)if(at(e[t]))return!0;return!1}if(it(e))return!0;if(e.toJSON&&typeof e.toJSON==`function`&&arguments.length===1)return at(e.toJSON(),!0);for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&at(e[t]))return!0;return!1}function ot(e){let t=[],n=e.data,r=e;return r.data=st(n,t),r.attachments=t.length,{packet:r,buffers:t}}function st(e,t,n){if(!e)return e;if(it(e)){let n={_placeholder:!0,num:t.length};return t.push(e),n}if(Array.isArray(e)){let n=Array(e.length);for(let r=0;r<e.length;r++)n[r]=st(e[r],t);return n}if(typeof e==`object`&&!(e instanceof Date)){if(e.toJSON&&typeof e.toJSON==`function`&&!n)return st(e.toJSON(),t,!0);let r={};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=st(e[n],t));return r}return e}function ct(e,t){return e.data=lt(e.data,t),delete e.attachments,e}function lt(e,t){if(!e)return e;if(e&&e._placeholder===!0){if(typeof e.num==`number`&&e.num>=0&&e.num<t.length)return t[e.num];throw Error(`illegal attachments`)}if(Array.isArray(e))for(let n=0;n<e.length;n++)e[n]=lt(e[n],t);else if(typeof e==`object`)for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(e[n]=lt(e[n],t));return e}var ut=s({Decoder:()=>pt,Encoder:()=>ft,PacketType:()=>N,isPacketValid:()=>bt,protocol:()=>5}),dt=[`connect`,`connect_error`,`disconnect`,`disconnecting`,`newListener`,`removeListener`],N;(function(e){e[e.CONNECT=0]=`CONNECT`,e[e.DISCONNECT=1]=`DISCONNECT`,e[e.EVENT=2]=`EVENT`,e[e.ACK=3]=`ACK`,e[e.CONNECT_ERROR=4]=`CONNECT_ERROR`,e[e.BINARY_EVENT=5]=`BINARY_EVENT`,e[e.BINARY_ACK=6]=`BINARY_ACK`})(N||={});var ft=class{constructor(e){this.replacer=e}encode(e){return(e.type===N.EVENT||e.type===N.ACK)&&at(e)?this.encodeAsBinary({type:e.type===N.EVENT?N.BINARY_EVENT:N.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=``+e.type;return(e.type===N.BINARY_EVENT||e.type===N.BINARY_ACK)&&(t+=e.attachments+`-`),e.nsp&&e.nsp!==`/`&&(t+=e.nsp+`,`),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){let t=ot(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}},pt=class e extends ge{constructor(e){super(),this.opts=Object.assign({reviver:void 0,maxAttachments:10},typeof e==`function`?{reviver:e}:e)}add(e){let t;if(typeof e==`string`){if(this.reconstructor)throw Error(`got plaintext data when reconstructing a packet`);t=this.decodeString(e);let n=t.type===N.BINARY_EVENT;n||t.type===N.BINARY_ACK?(t.type=n?N.EVENT:N.ACK,this.reconstructor=new mt(t)):super.emitReserved(`decoded`,t)}else if(it(e)||e.base64){if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved(`decoded`,t));else throw Error(`got binary data when not reconstructing a packet`)}else throw Error(`Unknown type: `+e)}decodeString(t){let n=0,r={type:Number(t.charAt(0))};if(N[r.type]===void 0)throw Error(`unknown packet type `+r.type);if(r.type===N.BINARY_EVENT||r.type===N.BINARY_ACK){let e=n+1;for(;t.charAt(++n)!==`-`&&n!=t.length;);let i=t.substring(e,n);if(i!=Number(i)||t.charAt(n)!==`-`)throw Error(`Illegal attachments`);let a=Number(i);if(!gt(a)||a<1)throw Error(`Illegal attachments`);if(a>this.opts.maxAttachments)throw Error(`too many attachments`);r.attachments=a}if(t.charAt(n+1)===`/`){let e=n+1;for(;++n&&t.charAt(n)!==`,`&&n!==t.length;);r.nsp=t.substring(e,n)}else r.nsp=`/`;let i=t.charAt(n+1);if(i!==``&&Number(i)==i){let e=n+1;for(;++n;){let e=t.charAt(n);if(e==null||Number(e)!=e){--n;break}if(n===t.length)break}r.id=Number(t.substring(e,n+1))}if(t.charAt(++n)){let i=this.tryParse(t.substr(n));if(e.isPayloadValid(r.type,i))r.data=i;else throw Error(`invalid payload`)}return r}tryParse(e){try{return JSON.parse(e,this.opts.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case N.CONNECT:return vt(t);case N.DISCONNECT:return t===void 0;case N.CONNECT_ERROR:return typeof t==`string`||vt(t);case N.EVENT:case N.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]==`number`||typeof t[0]==`string`&&dt.indexOf(t[0])===-1);case N.ACK:case N.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&=(this.reconstructor.finishedReconstruction(),null)}},mt=class{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){let e=ct(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function ht(e){return typeof e==`string`}var gt=Number.isInteger||function(e){return typeof e==`number`&&isFinite(e)&&Math.floor(e)===e};function _t(e){return e===void 0||gt(e)}function vt(e){return Object.prototype.toString.call(e)===`[object Object]`}function yt(e,t){switch(e){case N.CONNECT:return t===void 0||vt(t);case N.DISCONNECT:return t===void 0;case N.EVENT:return Array.isArray(t)&&(typeof t[0]==`number`||typeof t[0]==`string`&&dt.indexOf(t[0])===-1);case N.ACK:return Array.isArray(t);case N.CONNECT_ERROR:return typeof t==`string`||vt(t);default:return!1}}function bt(e){return ht(e.nsp)&&_t(e.id)&&yt(e.type,e.data)}function xt(e,t,n){return e.on(t,n),function(){e.off(t,n)}}var St=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),Ct=class extends ge{constructor(e,t,n){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,n&&n.auth&&(this.auth=n.auth),this._opts=Object.assign({},n),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;let e=this.io;this.subs=[xt(e,`open`,this.onopen.bind(this)),xt(e,`packet`,this.onpacket.bind(this)),xt(e,`error`,this.onerror.bind(this)),xt(e,`close`,this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState===`open`&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift(`message`),this.emit.apply(this,e),this}emit(e,...t){if(St.hasOwnProperty(e))throw Error(`"`+e.toString()+`" is a reserved event name`);if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;let n={type:N.EVENT,data:t};if(n.options={},n.options.compress=this.flags.compress!==!1,typeof t[t.length-1]==`function`){let e=this.ids++,r=t.pop();this._registerAckCallback(e,r),n.id=e}let r=this.io.engine?.transport?.writable,i=this.connected&&!this.io.engine?._hasPingExpired();return this.flags.volatile&&!r||(i?(this.notifyOutgoingListeners(n),this.packet(n)):this.sendBuffer.push(n)),this.flags={},this}_registerAckCallback(e,t){let n=this.flags.timeout??this._opts.ackTimeout;if(n===void 0){this.acks[e]=t;return}let r=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let t=0;t<this.sendBuffer.length;t++)this.sendBuffer[t].id===e&&this.sendBuffer.splice(t,1);t.call(this,Error(`operation has timed out`))},n),i=(...e)=>{this.io.clearTimeoutFn(r),t.apply(this,e)};i.withError=!0,this.acks[e]=i}emitWithAck(e,...t){return new Promise((n,r)=>{let i=(e,t)=>e?r(e):n(t);i.withError=!0,t.push(i),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]==`function`&&(t=e.pop());let n={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((e,...r)=>(this._queue[0],e===null?(this._queue.shift(),t&&t(null,...r)):n.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(e)),n.pending=!1,this._drainQueue())),this._queue.push(n),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;let t=this._queue[0];(!t.pending||e)&&(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth==`function`?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:N.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved(`connect_error`,e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved(`disconnect`,e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(t=>String(t.id)===e)){let t=this.acks[e];delete this.acks[e],t.withError&&t.call(this,Error(`socket has been disconnected`))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case N.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved(`connect_error`,Error(`It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)`));break;case N.EVENT:case N.BINARY_EVENT:this.onevent(e);break;case N.ACK:case N.BINARY_ACK:this.onack(e);break;case N.DISCONNECT:this.ondisconnect();break;case N.CONNECT_ERROR:this.destroy();let t=Error(e.data.message);t.data=e.data.data,this.emitReserved(`connect_error`,t)}}onevent(e){let t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){let t=this._anyListeners.slice();for(let n of t)n.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]==`string`&&(this._lastOffset=e[e.length-1])}ack(e){let t=this,n=!1;return function(...r){n||(n=!0,t.packet({type:N.ACK,id:e,data:r}))}}onack(e){let t=this.acks[e.id];typeof t==`function`&&(delete this.acks[e.id],t.withError&&e.data.unshift(null),t.apply(this,e.data))}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this._drainQueue(!0),this.emitReserved(`connect`)}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose(`io server disconnect`)}destroy(){this.subs&&=(this.subs.forEach(e=>e()),void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:N.DISCONNECT}),this.destroy(),this.connected&&this.onclose(`io client disconnect`),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){let t=this._anyListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){let t=this._anyOutgoingListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let t=this._anyOutgoingListeners.slice();for(let n of t)n.apply(this,e.data)}}};function wt(e){e||={},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}wt.prototype.duration=function(){var e=this.ms*this.factor**+this.attempts++;if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+n:e-n}return Math.min(e,this.max)|0},wt.prototype.reset=function(){this.attempts=0},wt.prototype.setMin=function(e){this.ms=e},wt.prototype.setMax=function(e){this.max=e},wt.prototype.setJitter=function(e){this.jitter=e};var Tt=class extends ge{constructor(e,t){super(),this.nsps={},this.subs=[],e&&typeof e==`object`&&(t=e,e=void 0),t||={},t.path=t.path||`/socket.io`,this.opts=t,Se(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor(t.randomizationFactor??.5),this.backoff=new wt({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState=`closed`,this.uri=e;let n=t.parser||ut;this.encoder=new n.Encoder,this.decoder=new n.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)==null||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)==null||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)==null||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf(`open`))return this;this.engine=new Ze(this.uri,this.opts);let t=this.engine,n=this;this._readyState=`opening`,this.skipReconnect=!1;let r=xt(t,`open`,function(){n.onopen(),e&&e()}),i=t=>{this.cleanup(),this._readyState=`closed`,this.emitReserved(`error`,t),e?e(t):this.maybeReconnectOnOpen()},a=xt(t,`error`,i);if(!1!==this._timeout){let e=this._timeout,n=this.setTimeoutFn(()=>{r(),i(Error(`timeout`)),t.close()},e);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}return this.subs.push(r),this.subs.push(a),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState=`open`,this.emitReserved(`open`);let e=this.engine;this.subs.push(xt(e,`ping`,this.onping.bind(this)),xt(e,`data`,this.ondata.bind(this)),xt(e,`error`,this.onerror.bind(this)),xt(e,`close`,this.onclose.bind(this)),xt(this.decoder,`decoded`,this.ondecoded.bind(this)))}onping(){this.emitReserved(`ping`)}ondata(e){try{this.decoder.add(e)}catch(e){this.onclose(`parse error`,e)}}ondecoded(e){ve(()=>{this.emitReserved(`packet`,e)},this.setTimeoutFn)}onerror(e){this.emitReserved(`error`,e)}socket(e,t){let n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new Ct(this,e,t),this.nsps[e]=n),n}_destroy(e){let t=Object.keys(this.nsps);for(let e of t)if(this.nsps[e].active)return;this._close()}_packet(e){let t=this.encoder.encode(e);for(let n=0;n<t.length;n++)this.engine.write(t[n],e.options)}cleanup(){this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose(`forced close`)}disconnect(){return this._close()}onclose(e,t){var n;this.cleanup(),(n=this.engine)==null||n.close(),this.backoff.reset(),this._readyState=`closed`,this.emitReserved(`close`,e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;let e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved(`reconnect_failed`),this._reconnecting=!1;else{let t=this.backoff.duration();this._reconnecting=!0;let n=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved(`reconnect_attempt`,e.backoff.attempts),!e.skipReconnect&&e.open(t=>{t?(e._reconnecting=!1,e.reconnect(),this.emitReserved(`reconnect_error`,t)):e.onreconnect()}))},t);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}}onreconnect(){let e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved(`reconnect`,e)}},Et={};function Dt(e,t){typeof e==`object`&&(t=e,e=void 0),t||={};let n=Qe(e,t.path||`/socket.io`),r=n.source,i=n.id,a=n.path,o=Et[i]&&a in Et[i].nsps,s=t.forceNew||t[`force new connection`]||!1===t.multiplex||o,c;return s?c=new Tt(r,t):(Et[i]||(Et[i]=new Tt(r,t)),c=Et[i]),n.query&&!t.query&&(t.query=n.queryKey),c.socket(n.path,t)}Object.assign(Dt,{Manager:Tt,Socket:Ct,io:Dt,connect:Dt});var Ot=2e3,kt=4e3,At=1e3;function jt(e){return e?Array.isArray(e)?{models:e}:Array.isArray(e.models)?e:null:null}function Mt(e,t){return t?`${t.replace(/\/$/,``)}${e}`:e}function Nt(e=``){let[t,n]=(0,v.useState)([]),[r,i]=(0,v.useState)(!1),[a,o]=(0,v.useState)(`connecting`),[s,c]=(0,v.useState)(0),[l,u]=(0,v.useState)(null),[d,f]=(0,v.useState)(!1),[p,m]=(0,v.useState)(0),[h,g]=(0,v.useState)(`speed`),[_,y]=(0,v.useState)(!1),[b,x]=(0,v.useState)(0),[S,C]=(0,v.useState)(0),[w,T]=(0,v.useState)(null),ee=(0,v.useRef)(null),E=(0,v.useRef)(null),te=(0,v.useRef)(null),D=(0,v.useRef)(0),O=(0,v.useRef)(0),ne=(0,v.useRef)(!1),re=(0,v.useCallback)((e,t=`unknown`)=>{let r=jt(e);r&&ne.current&&(n(r.models??[]),g(r.pingMode??`speed`),u(r.nextPingAt??null),f(!!r.isPinging),m(Number.isFinite(r.pendingPings)?r.pendingPings:0),y(!!r.globalBenchmarkRunning),x(Number.isFinite(r.globalBenchmarkTotal)?r.globalBenchmarkTotal:0),C(Number.isFinite(r.globalBenchmarkCompleted)?r.globalBenchmarkCompleted:0),T(r.updateStatus&&r.updateStatus.allowedOutdated?r.updateStatus:null),c(e=>e+1),D.current=Date.now(),t!==`poll`&&(i(!0),o(t)))},[]),ie=(0,v.useCallback)(async()=>{try{let t=await fetch(Mt(`/api/state`,e),{headers:{Accept:`application/json`}});if(t.ok){re(await t.json(),`poll`),i(!0),o(e=>e===`socket`||e===`sse`?e:`poll`);return}}catch{}try{let t=await fetch(Mt(`/api/models`,e),{headers:{Accept:`application/json`}});if(!t.ok)throw Error(`HTTP ${t.status}`);re(await t.json(),`poll`),i(!0),o(e=>e===`socket`||e===`sse`?e:`poll`)}catch{i(!1),o(`offline`)}},[re,e]),ae=(0,v.useCallback)(()=>{if(!E.current&&ne.current)try{let t=new EventSource(Mt(`/api/events`,e));E.current=t,t.onopen=()=>{ne.current&&(i(!0),o(`sse`))};let n=e=>{try{re(JSON.parse(e.data),`sse`)}catch(e){console.warn(`[useSocket] SSE parse error:`,e)}};t.onmessage=n,t.addEventListener(`models`,n),t.onerror=()=>{t.close(),E.current===t&&(E.current=null),ee.current?.connected||i(!1)}}catch{E.current=null}},[re,e]),k=(0,v.useCallback)(()=>{let t=Date.now();if(!(t-O.current<At)){if(O.current=t,ee.current?.connected){ee.current.emit(`client:activity`);return}fetch(Mt(`/api/activity`,e),{method:`POST`}).catch(()=>{})}},[e]);return(0,v.useEffect)(()=>{ne.current=!0;let t=Dt(e||void 0,{transports:[`websocket`,`polling`],reconnectionDelay:500,reconnectionDelayMax:2500,timeout:1200});ee.current=t,t.on(`connect`,()=>{i(!0),o(`socket`),E.current?.close(),E.current=null,t.emit(`models:refresh`),t.emit(`client:activity`)}),t.on(`disconnect`,()=>{ne.current&&(i(!1),ae())}),t.on(`connect_error`,()=>{ne.current&&(i(!1),ae())}),t.on(`models:update`,e=>re(e,`socket`)),te.current=setInterval(()=>{let e=Date.now()-D.current>kt;(!t.connected||e)&&ie()},Ot),ie();let n=[`keydown`,`pointerdown`,`mousemove`,`focus`];for(let e of n)window.addEventListener(e,k,{passive:!0});return()=>{ne.current=!1;for(let e of n)window.removeEventListener(e,k);te.current&&clearInterval(te.current),t.disconnect(),E.current?.close(),ee.current=null,E.current=null}},[re,ie,k,e,ae]),{models:t,connected:r,transport:a,updateCount:s,nextPingAt:l,isPinging:d,pendingPings:p,pingMode:h,globalBenchmarkRunning:_,globalBenchmarkTotal:b,globalBenchmarkCompleted:S,updateStatus:w}}var Pt={"S+":0,S:1,"A+":2,A:3,"A-":4,"B+":5,B:6,C:7},Ft={Perfect:0,Normal:1,Slow:2,Spiky:3,"Very Slow":4,Overloaded:5,Unstable:6,"Not Active":7,Pending:8};function It(e){return Pt[e]??99}function Lt(e){return Ft[e]??99}function Rt(e){return!e||e===`—`?0:parseFloat(e.replace(`%`,``))||0}function zt(e){let t=Rt(e);return t>=65?`sweHigh`:t>=40?`sweMid`:`sweLow`}function Bt(e){return e==null||e===1/0||e>99e3?{text:`—`,cls:`pingNone`}:{text:`${e}ms`,cls:Vt(e)}}function Vt(e){return e==null||e===1/0?`pingNone`:e<500?`pingFast`:e<1500?`pingMedium`:`pingSlow`}function Ht(e){if(!e||e===`—`)return 0;let t=e.toLowerCase();return t.includes(`m`)?parseFloat(t)*1e3:t.includes(`k`)?parseFloat(t):0}function Ut(e){return!e||e.length<8?`••••••••`:`••••••••`+e.slice(-4)}var Wt=[`all`,`S+`,`S`,`A+`,`A`,`A-`,`B+`,`B`,`C`],Gt=[`all`,`up`,`down`,`pending`],Kt=[`all`,`Perfect`,`Normal`,`Spiky`,`Slow`,`Overloaded`,`Down`,`Unstable`,`Pending`],qt=[`all`,`up`,`timeout`,`down`,`pending`,`noauth`,`auth_error`],Jt=[`normal`,`configured`,`usable`];function Yt(e){return e.idx??9999}function Xt(e){return e.pingHistory||e.pings||[]}function Zt(e){let t=Xt(e);return(t.length>0?t[t.length-1]:null)?.ms??null}function Qt(e){let t=Xt(e).map(e=>e?.ms).filter(e=>typeof e==`number`&&Number.isFinite(e));return t.length<2?null:t[t.length-1]-t[0]}function $t(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function en(e,t,n){let r=e==null,i=t==null;return r&&i?0:r?1:i?-1:(e-t)*n}function tn(e,t,n){let r=typeof e==`string`?e:``,i=typeof t==`string`?t:``,a=r.length===0,o=i.length===0;return a&&o?0:a?1:o?-1:r.localeCompare(i)*n}var nn={up:0,pending:1,timeout:2,down:3,noauth:4,auth_error:5};function rn(e){let[t,n]=(0,v.useState)(`all`),[r,i]=(0,v.useState)(`all`),[a,o]=(0,v.useState)(`all`),[s,c]=(0,v.useState)(`all`),[l,u]=(0,v.useState)(`all`),[d,f]=(0,v.useState)(`normal`),[p,m]=(0,v.useState)(``),[h,g]=(0,v.useState)(null),[_,y]=(0,v.useState)(`avg`),[b,x]=(0,v.useState)(`asc`),S=(0,v.useCallback)((e,t,n)=>{n(t[(t.indexOf(e)+1)%t.length])},[]),C=(0,v.useCallback)(()=>S(t,Wt,n),[t,S]),w=(0,v.useCallback)(()=>S(r,Gt,i),[r,S]),T=(0,v.useCallback)(()=>S(s,Kt,c),[s,S]),ee=(0,v.useCallback)(()=>S(l,qt,u),[l,S]),E=(0,v.useCallback)(()=>S(d,Jt,f),[d,S]),te=(0,v.useCallback)(e=>{if(_!==e){y(e),x(`asc`);return}if(b===`asc`){x(`desc`);return}y(null),x(`asc`)},[_,b]),D=(0,v.useCallback)(()=>{n(`all`),i(`all`),o(`all`),c(`all`),u(`all`),f(`normal`),m(``),g(null),y(`avg`),x(`asc`)},[]);return{filtered:(0,v.useMemo)(()=>{let n=[...e];t!==`all`&&(n=n.filter(e=>e.tier===t)),r!==`all`&&(n=n.filter(e=>r===`up`?e.status===`up`:r===`down`?e.status===`down`||e.status===`timeout`:r!==`pending`||e.status===`pending`)),a!==`all`&&(n=n.filter(e=>e.providerKey===a)),s!==`all`&&(n=n.filter(e=>e.verdict===s)),l!==`all`&&(n=n.filter(e=>e.status===l)),d===`configured`?n=n.filter(e=>e.hasApiKey&&e.status!==`noauth`&&e.status!==`auth_error`):d===`usable`&&(n=n.filter(e=>e.status===`up`&&[`Perfect`,`Normal`,`Slow`].includes(e.verdict)));let i=p.trim().toLowerCase(),o=(h||``).trim().toLowerCase();return i&&(n=n.filter(e=>e.label.toLowerCase().includes(i)||e.modelId.toLowerCase().includes(i)||e.origin.toLowerCase().includes(i)||e.tier.toLowerCase().includes(i)||(e.verdict||``).toLowerCase().includes(i))),o&&(n=n.filter(e=>e.label.toLowerCase().includes(o)||e.modelId.toLowerCase().includes(o)||e.origin.toLowerCase().includes(o)||(e.ctx||``).toLowerCase().includes(o)||(e.providerKey||``).toLowerCase().includes(o))),n.sort((e,t)=>{if(!_)return Yt(e)-Yt(t);let n=b===`desc`?-1:1,r=0;return _===`mood`?r=en(Lt(e.verdict),Lt(t.verdict),n):_===`idx`?r=en(Yt(e),Yt(t),n):_===`tier`?r=en(It(e.tier),It(t.tier),n):_===`label`?r=tn(e.label,t.label,n):_===`origin`?r=tn(e.origin,t.origin,n):_===`sweScore`?r=en(Rt(e.sweScore),Rt(t.sweScore),n):_===`ctx`?r=en(Ht(e.ctx),Ht(t.ctx),n):_===`latestPing`?r=en(Zt(e),Zt(t),n):_===`avg`?r=en(e.avg==null||e.avg===1/0||e.avg>99e3?null:e.avg,t.avg==null||t.avg===1/0||t.avg>99e3?null:t.avg,n):_===`condition`?r=en(nn[e.status]??9,nn[t.status]??9,n):_===`verdict`?r=en(Lt(e.verdict),Lt(t.verdict),n):_===`stability`?r=en($t(e.stability),$t(t.stability),n):_===`uptime`?r=en($t(e.uptime),$t(t.uptime),n):_===`aiLatency`?r=en(e.benchmark?.ok?e.benchmark.totalMs:null,t.benchmark?.ok?t.benchmark.totalMs:null,n):_===`tps`?r=en(e.benchmark?.ok?e.benchmark.tokensPerSecond??0:null,t.benchmark?.ok?t.benchmark.tokensPerSecond??0:null,n):_===`quota`?r=en($t(e.usagePercent),$t(t.usagePercent),n):_===`trend`&&(r=en(Qt(e),Qt(t),n)),r||Yt(e)-Yt(t)}),n},[e,t,r,a,s,l,d,p,h,_,b]),filterTier:t,setFilterTier:n,cycleTier:C,filterStatus:r,setFilterStatus:i,cycleStatus:w,filterProvider:a,setFilterProvider:o,filterVerdict:s,setFilterVerdict:c,cycleVerdict:T,filterHealth:l,setFilterHealth:u,cycleHealth:ee,visibilityMode:d,setVisibilityMode:f,cycleVisibility:E,searchQuery:p,setSearchQuery:m,customTextFilter:h,setCustomTextFilter:g,sortColumn:_,sortDirection:b,toggleSort:te,resetView:D}}var an=[`auto`,`dark`,`light`];function on(){if(typeof window>`u`||typeof window.matchMedia!=`function`)return`dark`;try{return window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}catch{return`dark`}}function sn(){if(typeof document>`u`)return`auto`;let e=document.documentElement.getAttribute(`data-theme`);return e===`auto`||e===`dark`||e===`light`?e:`auto`}function cn(){let[e,t]=(0,v.useState)(sn),[n,r]=(0,v.useState)(on);(0,v.useEffect)(()=>{if(typeof window>`u`||typeof window.matchMedia!=`function`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=e=>r(e.matches?`dark`:`light`);if(typeof e.addEventListener==`function`)return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t);if(typeof e.addListener==`function`)return e.addListener(t),()=>e.removeListener(t)},[]),(0,v.useEffect)(()=>{let t=e===`auto`?n:e;document.documentElement.setAttribute(`data-theme`,t),document.documentElement.setAttribute(`data-theme-preference`,e)},[e,n]);let i=(0,v.useCallback)(()=>{t(e=>an[(an.indexOf(e)+1)%an.length])},[]),a=(0,v.useCallback)(e=>{an.includes(e)&&t(e)},[]);return{theme:e,resolvedTheme:e===`auto`?n:e,setTheme:a,cycle:i}}var ln=Object.freeze([]);function un({models:e}={}){let[t,n]=(0,v.useState)(ln),[r,i]=(0,v.useState)(!1),[a,o]=(0,v.useState)(!0),[s,c]=(0,v.useState)(null),l=(0,v.useCallback)(async()=>{try{let e=await fetch(`/api/favorites`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();n(Array.isArray(t.favorites)?t.favorites:[]),i(!!t.pinnedAndSticky),c(null)}catch(e){c(e.message||`Failed to load favorites`),n(ln),i(!1)}finally{o(!1)}},[]);(0,v.useEffect)(()=>{l()},[l]);let u=(0,v.useMemo)(()=>{let e=new Map;return t.forEach((t,n)=>e.set(t,n)),e},[t]),d=(0,v.useCallback)(e=>{if(!e)return!1;let t=`${e.providerKey}/${e.modelId}`;return u.has(t)},[u]),f=(0,v.useCallback)(e=>{if(!e)return 2**53-1;let t=`${e.providerKey}/${e.modelId}`,n=u.get(t);return n===void 0?2**53-1:n},[u]),p=(0,v.useCallback)(e=>e?`${e.providerKey}/${e.modelId}`:null,[]),m=(0,v.useCallback)(async e=>{try{let t=await fetch(`/api/favorites`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({favorites:e})});if(!t.ok)throw Error(`HTTP ${t.status}`);n(e)}catch(e){c(e.message||`Failed to save favorites`)}},[]);return{favorites:t,pinnedAndSticky:r,isFavorite:d,favoriteRank:f,toggle:(0,v.useCallback)(async e=>{let n=p(e);if(!n)return;let r=u.has(n)?t.filter(e=>e!==n):[...t,n];await m(r)},[t,u,p,m]),reorder:(0,v.useCallback)(async(e,n)=>{let r=p(e);if(!r)return;let i=t.indexOf(r);if(i<0)return;let a=n===`up`?i-1:i+1;if(a<0||a>=t.length)return;let o=[...t];[o[i],o[a]]=[o[a],o[i]],await m(o)},[t,p,m]),setPinnedAndSticky:(0,v.useCallback)(async e=>{i(!!e);try{await fetch(`/api/favorites`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pinnedAndSticky:!!e})})}catch(e){c(e.message||`Failed to save display mode`)}},[]),refresh:l,loading:a,error:s}}var dn=[`opencode`,`pi`,`jcode`,`opencode-desktop`,`opencode-web`,`openclaw`,`crush`,`goose`,`aider`,`qwen`,`openhands`,`amp`,`forgecode`,`fcm_router`,`zcode`],fn=`opencode`;function pn(e){return dn.includes(e)?e:fn}function mn({onToast:e}={}){let[t,n]=(0,v.useState)(fn),r=(0,v.useRef)(!1);(0,v.useEffect)(()=>{let t=!1;async function i(){try{let e=await fetch(`/api/tool-mode`),i=await e.json().catch(()=>({}));!t&&!r.current&&e.ok&&n(pn(i.mode))}catch(n){t||e?.(`Tool mode load failed: ${n.message}`,`error`)}}return i(),()=>{t=!0}},[e]);let i=(0,v.useCallback)(async t=>{let i=pn(t);r.current=!0,n(i);try{let e=await fetch(`/api/tool-mode`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({mode:i})}),t=await e.json().catch(()=>({}));if(!e.ok){let n=t?.error,r=typeof n==`string`&&n||n?.message||`HTTP ${e.status}`;throw Error(r)}return n(pn(t.mode)),{ok:!0,mode:pn(t.mode)}}catch(t){return e?.(`Tool mode save failed: ${t.message}`,`error`),{ok:!1,error:t.message,mode:i}}},[e]),a=(0,v.useCallback)(()=>{let e=dn[(dn.indexOf(t)+1)%dn.length]||fn;return i(e)},[i,t]);return{toolMode:t,tools:(0,v.useMemo)(()=>[...dn],[]),setToolMode:i,cycleToolMode:a}}var hn={opencode:{label:`OpenCode CLI`,emoji:`📦`,flag:`--opencode`,color:[110,214,255]},"opencode-desktop":{label:`OpenCode Desktop`,emoji:`📦`,flag:`--opencode-desktop`,color:[149,205,255]},"opencode-web":{label:`OpenCode Web`,emoji:`📦`,flag:`--opencode-web`,color:[180,220,255]},openclaw:{label:`OpenClaw`,emoji:`🦞`,flag:`--openclaw`,color:[255,129,129]},crush:{label:`Crush`,emoji:`💘`,flag:`--crush`,color:[255,168,209]},goose:{label:`Goose`,emoji:`🪿`,flag:`--goose`,color:[132,235,168]},pi:{label:`Pi`,emoji:`π`,flag:`--pi`,color:[173,216,230]},aider:{label:`Aider`,emoji:`🛠`,flag:`--aider`,color:[255,208,102]},kilo:{label:`Kilo CLI`,emoji:`⚡️`,flag:`--kilo`,color:[255,107,107]},qwen:{label:`Qwen Code`,emoji:`🐉`,flag:`--qwen`,color:[255,213,128]},openhands:{label:`OpenHands`,emoji:`🤲`,flag:`--openhands`,color:[228,191,239]},amp:{label:`Amp`,emoji:`⚡`,flag:`--amp`,color:[255,232,98]},hermes:{label:`Hermes`,emoji:`🔮`,flag:`--hermes`,color:[200,160,255]},continue:{label:`Continue CLI`,emoji:`▶️`,flag:`--continue`,color:[255,100,100]},cline:{label:`Cline`,emoji:`🧠`,flag:`--cline`,color:[100,220,180]},caveman:{label:`Caveman Code`,emoji:`🪨`,flag:`--caveman`,color:[180,130,80]},jcode:{label:`jcode`,emoji:`🪼`,flag:`--jcode`,color:[255,140,0]},xcode:{label:`Xcode Intelligence`,emoji:`🛠️`,flag:`--xcode`,color:[20,126,251]},fcm_router:{label:`FCM Router`,emoji:`🧭`,flag:`--fcm-router`,color:[80,200,120]},copilot:{label:`Copilot CLI`,emoji:`🤖`,flag:`--copilot`,color:[200,220,255]},forgecode:{label:`ForgeCode`,emoji:`🔥`,flag:`--forgecode`,color:[255,120,50]},zcode:{label:`ZCode`,emoji:`🧊`,flag:`--zcode`,color:[60,160,230]}},gn=[`opencode`,`pi`,`jcode`,`opencode-desktop`,`opencode-web`,`openclaw`,`crush`,`goose`,`aider`,`kilo`,`qwen`,`openhands`,`amp`,`hermes`,`continue`,`cline`,`xcode`,`fcm_router`,`caveman`,`copilot`,`forgecode`,`zcode`];function _n(e){return hn[e]||{label:e,emoji:`•`,flag:null}}var vn=Object.keys(hn).filter(e=>!hn[e].cliOnly);function yn(e){return vn}function bn(e,t){return yn(e).includes(t)}function xn(e,t,n,r=3){let i=parseFloat(e)||0;return n.filter(e=>!e.hidden&&bn(e.providerKey,t)).map(e=>({modelId:e.modelId,label:e.label,tier:e.tier,sweScore:e.sweScore||`-`,providerKey:e.providerKey,sweDelta:Math.abs((parseFloat(e.sweScore)||0)-i)})).sort((e,t)=>e.sweDelta-t.sweDelta).slice(0,r)}var Sn=new Set([`S+`,`S`,`A+`,`A`,`A-`,`B+`,`B`,`C`,`all`]),Cn=new Set([`up`,`down`,`pending`,`all`]),wn=new Set([`mood`,`idx`,`tier`,`sweScore`,`ctx`,`label`,`origin`,`latestPing`,`avg`,`condition`,`verdict`,`stability`,`uptime`,`aiLatency`,`tps`,`trend`]),Tn=new Set([`dashboard`,`settings`,`analytics`,`recommend`,`router`,`help`,`changelog`,`playground`,`install-endpoints`,`installed-models`]),En=new Set([`asc`,`desc`]),Dn=new Set(gn);function On(){if(typeof window>`u`)return null;let e=new URLSearchParams(window.location.search),t={},n=window.location.pathname.replace(/^\/|\/$/g,``);return t.view=n&&Tn.has(n)?n:e.has(`view`)&&Tn.has(e.get(`view`))?e.get(`view`):`dashboard`,e.has(`tier`)&&Sn.has(e.get(`tier`))&&(t.tier=e.get(`tier`)),e.has(`status`)&&Cn.has(e.get(`status`))&&(t.status=e.get(`status`)),e.has(`provider`)&&(t.provider=e.get(`provider`)),e.has(`verdict`)&&(t.verdict=e.get(`verdict`)),e.has(`health`)&&(t.health=e.get(`health`)),e.has(`sort`)&&wn.has(e.get(`sort`))&&(t.sort=e.get(`sort`)),e.has(`dir`)&&En.has(e.get(`dir`))&&(t.dir=e.get(`dir`)),e.has(`q`)&&(t.q=e.get(`q`)),e.has(`toolMode`)&&Dn.has(e.get(`toolMode`))&&(t.toolMode=e.get(`toolMode`)),e.has(`recommend`)&&[`1`,`true`,`open`].includes(e.get(`recommend`))&&(t.view=`recommend`),e.has(`palette`)&&e.get(`palette`)===`open`&&(t.palette=`open`),t}function kn(e){let t=new URLSearchParams;return e?(e.currentView&&e.currentView!==`dashboard`&&t.set(`view`,e.currentView),e.filterTier&&e.filterTier!==`all`&&t.set(`tier`,e.filterTier),e.filterStatus&&e.filterStatus!==`all`&&t.set(`status`,e.filterStatus),e.filterProvider&&e.filterProvider!==`all`&&t.set(`provider`,e.filterProvider),e.filterVerdict&&e.filterVerdict!==`all`&&t.set(`verdict`,e.filterVerdict),e.filterHealth&&e.filterHealth!==`all`&&t.set(`health`,e.filterHealth),e.sortColumn&&(t.set(`sort`,e.sortColumn),e.sortDirection&&t.set(`dir`,e.sortDirection)),e.searchQuery&&t.set(`q`,e.searchQuery),e.toolMode&&t.set(`toolMode`,e.toolMode),e.paletteOpen&&t.set(`palette`,`open`),t):t}function An(e){if(typeof window>`u`)return;let t=kn(e),n=t.get(`view`)||`dashboard`;t.delete(`view`);let r=t.toString(),i=n===`dashboard`?`/`:`/${n}`,a=r?`${i}?${r}${window.location.hash}`:`${i}${window.location.hash}`;window.history.replaceState({},``,a)}function jn({currentView:e,setCurrentView:t,filterState:n=null,paletteOpen:r=!1,setPaletteOpen:i=()=>{},toolMode:a=null,setToolMode:o=()=>{}}){let s=(0,v.useRef)(null),c=(0,v.useRef)(!1);(0,v.useEffect)(()=>{if(c.current)return;c.current=!0;let r=On();r&&(r.view&&t&&r.view!==e&&t(r.view),r.tier&&n?.setFilterTier&&n.setFilterTier(r.tier),r.status&&n?.setFilterStatus&&n.setFilterStatus(r.status),r.provider&&n?.setFilterProvider&&n.setFilterProvider(r.provider),r.verdict&&n?.setFilterVerdict&&n.setFilterVerdict(r.verdict),r.health&&n?.setFilterHealth&&n.setFilterHealth(r.health),r.sort&&n?.toggleSort&&(n.setSortColumn&&n.setSortColumn(r.sort),r.dir&&n.setSortDirection&&n.setSortDirection(r.dir)),r.q!==void 0&&n?.setSearchQuery&&n.setSearchQuery(r.q),r.toolMode&&o&&o(r.toolMode),r.palette===`open`&&i&&i(!0))},[]),(0,v.useEffect)(()=>{if(c.current)return s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{An({currentView:e,filterTier:n?.filterTier,filterStatus:n?.filterStatus,filterProvider:n?.filterProvider,filterVerdict:n?.filterVerdict,filterHealth:n?.filterHealth,sortColumn:n?.sortColumn,sortDirection:n?.sortDirection,searchQuery:n?.searchQuery,toolMode:a,paletteOpen:r})},80),()=>{s.current&&clearTimeout(s.current)}},[e,r,a,n?.filterTier,n?.filterStatus,n?.filterProvider,n?.filterVerdict,n?.filterHealth,n?.sortColumn,n?.sortDirection,n?.searchQuery])}var Mn=3e5;function Nn(e,t){if(!e||!t)return 0;let n=e.replace(/^v/,``).split(`.`).map(Number),r=t.replace(/^v/,``).split(`.`).map(Number);for(let e=0;e<Math.max(n.length,r.length);e++){let t=n[e]||0,i=r[e]||0;if(i!==t)return i-t}return 0}function Pn({onToast:e}={}){let[t,n]=(0,v.useState)(null),[r,i]=(0,v.useState)(null),[a,o]=(0,v.useState)(null),[s,c]=(0,v.useState)(null),[l,u]=(0,v.useState)(!1),d=(0,v.useRef)(null),f=(0,v.useCallback)(async()=>{u(!0);try{let e=await fetch(`/api/version`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();n(t.local??null),i(t.latest??null),o(t.lastReleaseDate??null),c(t.error??null)}catch(e){c(e.message||`update check failed`)}finally{u(!1)}},[]);(0,v.useEffect)(()=>(f(),d.current=setInterval(f,Mn),()=>{d.current&&clearInterval(d.current)}),[f]);let p=!!(r&&t&&Nn(r,t)>0);return{localVersion:t,latestVersion:r,lastReleaseDate:a,updateAvailable:p,checkNow:f,runUpdate:(0,v.useCallback)(async()=>{if(!p){e?.(`No update available.`,`info`);return}try{let t=await fetch(`/api/update/run`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({version:r})}),n=await t.json().catch(()=>({}));t.ok&&n?.started?e?.(`Update to v${r} started — restart the dashboard to apply.`,`success`):e?.(n?.error||n?.message||`Update failed`,`error`)}catch(t){e?.(t.message||`Update request failed`,`error`)}},[p,r,e]),loading:l,error:s}}var Fn={outline:{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`},filled:{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`currentColor`,stroke:`none`}},P=(e,t,n,r)=>{let i=(0,v.forwardRef)(({color:n=`currentColor`,size:i=24,stroke:a=2,title:o,className:s,children:c,...l},u)=>(0,v.createElement)(`svg`,{ref:u,...Fn[e],width:i,height:i,className:[`tabler-icon`,`tabler-icon-${t}`,s].filter(Boolean).join(` `),...e===`filled`?{fill:n}:{strokeWidth:a,stroke:n},...l},[o&&(0,v.createElement)(`title`,{key:`svg-title`},o),...r.map(([e,t])=>(0,v.createElement)(e,t)),...Array.isArray(c)?c:[c]]));return i.displayName=`${n}`,i},In=P(`outline`,`activity`,`Activity`,[[`path`,{d:`M3 12h4l3 8l4 -16l3 8h4`,key:`svg-0`}]]),Ln=P(`outline`,`alert-octagon`,`AlertOctagon`,[[`path`,{d:`M12.802 2.165l5.575 2.389c.48 .206 .863 .589 1.07 1.07l2.388 5.574c.22 .512 .22 1.092 0 1.604l-2.389 5.575c-.206 .48 -.589 .863 -1.07 1.07l-5.574 2.388c-.512 .22 -1.092 .22 -1.604 0l-5.575 -2.389a2.036 2.036 0 0 1 -1.07 -1.07l-2.388 -5.574a2.036 2.036 0 0 1 0 -1.604l2.389 -5.575c.206 -.48 .589 -.863 1.07 -1.07l5.574 -2.388a2.036 2.036 0 0 1 1.604 0`,key:`svg-0`}],[`path`,{d:`M12 8v4`,key:`svg-1`}],[`path`,{d:`M12 16h.01`,key:`svg-2`}]]),Rn=P(`outline`,`alert-triangle`,`AlertTriangle`,[[`path`,{d:`M12 9v4`,key:`svg-0`}],[`path`,{d:`M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0`,key:`svg-1`}],[`path`,{d:`M12 16h.01`,key:`svg-2`}]]),zn=P(`outline`,`arrow-down`,`ArrowDown`,[[`path`,{d:`M12 5l0 14`,key:`svg-0`}],[`path`,{d:`M18 13l-6 6`,key:`svg-1`}],[`path`,{d:`M6 13l6 6`,key:`svg-2`}]]),Bn=P(`outline`,`arrow-left`,`ArrowLeft`,[[`path`,{d:`M5 12l14 0`,key:`svg-0`}],[`path`,{d:`M5 12l6 6`,key:`svg-1`}],[`path`,{d:`M5 12l6 -6`,key:`svg-2`}]]),Vn=P(`outline`,`arrow-right`,`ArrowRight`,[[`path`,{d:`M5 12l14 0`,key:`svg-0`}],[`path`,{d:`M13 18l6 -6`,key:`svg-1`}],[`path`,{d:`M13 6l6 6`,key:`svg-2`}]]),Hn=P(`outline`,`arrow-up`,`ArrowUp`,[[`path`,{d:`M12 5l0 14`,key:`svg-0`}],[`path`,{d:`M18 11l-6 -6`,key:`svg-1`}],[`path`,{d:`M6 11l6 -6`,key:`svg-2`}]]),Un=P(`outline`,`ban`,`Ban`,[[`path`,{d:`M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0`,key:`svg-0`}],[`path`,{d:`M5.7 5.7l12.6 12.6`,key:`svg-1`}]]),Wn=P(`outline`,`bolt`,`Bolt`,[[`path`,{d:`M13 3l0 7l6 0l-8 11l0 -7l-6 0l8 -11`,key:`svg-0`}]]),Gn=P(`outline`,`braces`,`Braces`,[[`path`,{d:`M7 4a2 2 0 0 0 -2 2v3a2 3 0 0 1 -2 3a2 3 0 0 1 2 3v3a2 2 0 0 0 2 2`,key:`svg-0`}],[`path`,{d:`M17 4a2 2 0 0 1 2 2v3a2 3 0 0 0 2 3a2 3 0 0 0 -2 3v3a2 2 0 0 1 -2 2`,key:`svg-1`}]]),Kn=P(`outline`,`check`,`Check`,[[`path`,{d:`M5 12l5 5l10 -10`,key:`svg-0`}]]),qn=P(`outline`,`checks`,`Checks`,[[`path`,{d:`M7 12l5 5l10 -10`,key:`svg-0`}],[`path`,{d:`M2 12l5 5m5 -5l5 -5`,key:`svg-1`}]]),Jn=P(`outline`,`chevron-down`,`ChevronDown`,[[`path`,{d:`M6 9l6 6l6 -6`,key:`svg-0`}]]),Yn=P(`outline`,`chevron-left`,`ChevronLeft`,[[`path`,{d:`M15 6l-6 6l6 6`,key:`svg-0`}]]),Xn=P(`outline`,`chevron-right`,`ChevronRight`,[[`path`,{d:`M9 6l6 6l-6 6`,key:`svg-0`}]]),Zn=P(`outline`,`chevron-up`,`ChevronUp`,[[`path`,{d:`M6 15l6 -6l6 6`,key:`svg-0`}]]),Qn=P(`outline`,`circle-check`,`CircleCheck`,[[`path`,{d:`M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0`,key:`svg-0`}],[`path`,{d:`M9 12l2 2l4 -4`,key:`svg-1`}]]),$n=P(`outline`,`circle-dotted`,`CircleDotted`,[[`path`,{d:`M7.5 4.21l0 .01`,key:`svg-0`}],[`path`,{d:`M4.21 7.5l0 .01`,key:`svg-1`}],[`path`,{d:`M3 12l0 .01`,key:`svg-2`}],[`path`,{d:`M4.21 16.5l0 .01`,key:`svg-3`}],[`path`,{d:`M7.5 19.79l0 .01`,key:`svg-4`}],[`path`,{d:`M12 21l0 .01`,key:`svg-5`}],[`path`,{d:`M16.5 19.79l0 .01`,key:`svg-6`}],[`path`,{d:`M19.79 16.5l0 .01`,key:`svg-7`}],[`path`,{d:`M21 12l0 .01`,key:`svg-8`}],[`path`,{d:`M19.79 7.5l0 .01`,key:`svg-9`}],[`path`,{d:`M16.5 4.21l0 .01`,key:`svg-10`}],[`path`,{d:`M12 3l0 .01`,key:`svg-11`}]]),er=P(`outline`,`clipboard`,`Clipboard`,[[`path`,{d:`M9 5h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2h-2`,key:`svg-0`}],[`path`,{d:`M9 5a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2`,key:`svg-1`}]]),tr=P(`outline`,`clock`,`Clock`,[[`path`,{d:`M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0`,key:`svg-0`}],[`path`,{d:`M12 7v5l3 3`,key:`svg-1`}]]),nr=P(`outline`,`cloud-off`,`CloudOff`,[[`path`,{d:`M9.58 5.548c.24 -.11 .492 -.207 .752 -.286c1.88 -.572 3.956 -.193 5.444 1c1.488 1.19 2.162 3.007 1.77 4.769h.99c1.913 0 3.464 1.56 3.464 3.486c0 .957 -.383 1.824 -1.003 2.454m-2.997 1.033h-11.343c-2.572 -.004 -4.657 -2.011 -4.657 -4.487c0 -2.475 2.085 -4.482 4.657 -4.482c.13 -.582 .37 -1.128 .7 -1.62`,key:`svg-0`}],[`path`,{d:`M3 3l18 18`,key:`svg-1`}]]),rr=P(`outline`,`command`,`Command`,[[`path`,{d:`M7 9a2 2 0 1 1 2 -2v10a2 2 0 1 1 -2 -2h10a2 2 0 1 1 -2 2v-10a2 2 0 1 1 2 2h-10`,key:`svg-0`}]]),ir=P(`outline`,`copy`,`Copy`,[[`path`,{d:`M7 9.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667l0 -8.666`,key:`svg-0`}],[`path`,{d:`M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1`,key:`svg-1`}]]),ar=P(`outline`,`dots`,`Dots`,[[`path`,{d:`M4 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-0`}],[`path`,{d:`M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-1`}],[`path`,{d:`M18 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-2`}]]),or=P(`outline`,`download`,`Download`,[[`path`,{d:`M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2`,key:`svg-0`}],[`path`,{d:`M7 11l5 5l5 -5`,key:`svg-1`}],[`path`,{d:`M12 4l0 12`,key:`svg-2`}]]),sr=P(`outline`,`error-404`,`Error404`,[[`path`,{d:`M3 8v3a1 1 0 0 0 1 1h3`,key:`svg-0`}],[`path`,{d:`M7 8v8`,key:`svg-1`}],[`path`,{d:`M17 8v3a1 1 0 0 0 1 1h3`,key:`svg-2`}],[`path`,{d:`M21 8v8`,key:`svg-3`}],[`path`,{d:`M10 10v4a2 2 0 1 0 4 0v-4a2 2 0 1 0 -4 0`,key:`svg-4`}]]),cr=P(`outline`,`external-link`,`ExternalLink`,[[`path`,{d:`M12 6h-6a2 2 0 0 0 -2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-6`,key:`svg-0`}],[`path`,{d:`M11 13l9 -9`,key:`svg-1`}],[`path`,{d:`M15 4h5v5`,key:`svg-2`}]]),lr=P(`outline`,`eye-off`,`EyeOff`,[[`path`,{d:`M10.585 10.587a2 2 0 0 0 2.829 2.828`,key:`svg-0`}],[`path`,{d:`M16.681 16.673a8.717 8.717 0 0 1 -4.681 1.327c-3.6 0 -6.6 -2 -9 -6c1.272 -2.12 2.712 -3.678 4.32 -4.674m2.86 -1.146a9.055 9.055 0 0 1 1.82 -.18c3.6 0 6.6 2 9 6c-.666 1.11 -1.379 2.067 -2.138 2.87`,key:`svg-1`}],[`path`,{d:`M3 3l18 18`,key:`svg-2`}]]),ur=P(`outline`,`eye`,`Eye`,[[`path`,{d:`M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0`,key:`svg-0`}],[`path`,{d:`M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6`,key:`svg-1`}]]),dr=P(`outline`,`file-spreadsheet`,`FileSpreadsheet`,[[`path`,{d:`M14 3v4a1 1 0 0 0 1 1h4`,key:`svg-0`}],[`path`,{d:`M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2`,key:`svg-1`}],[`path`,{d:`M8 11h8v7h-8l0 -7`,key:`svg-2`}],[`path`,{d:`M8 15h8`,key:`svg-3`}],[`path`,{d:`M11 11v7`,key:`svg-4`}]]),fr=P(`outline`,`filter`,`Filter`,[[`path`,{d:`M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227`,key:`svg-0`}]]),pr=P(`outline`,`flame`,`Flame`,[[`path`,{d:`M12 10.941c2.333 -3.308 .167 -7.823 -1 -8.941c0 3.395 -2.235 5.299 -3.667 6.706c-1.43 1.408 -2.333 3.294 -2.333 5.588c0 3.704 3.134 6.706 7 6.706c3.866 0 7 -3.002 7 -6.706c0 -1.712 -1.232 -4.403 -2.333 -5.588c-2.084 3.353 -3.257 3.353 -4.667 2.235`,key:`svg-0`}]]),mr=P(`outline`,`flask`,`Flask`,[[`path`,{d:`M9 3l6 0`,key:`svg-0`}],[`path`,{d:`M10 9l4 0`,key:`svg-1`}],[`path`,{d:`M10 3v6l-4 11a.7 .7 0 0 0 .5 1h11a.7 .7 0 0 0 .5 -1l-4 -11v-6`,key:`svg-2`}]]),hr=P(`outline`,`folders`,`Folders`,[[`path`,{d:`M9 3h3l2 2h5a2 2 0 0 1 2 2v7a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-9a2 2 0 0 1 2 -2`,key:`svg-0`}],[`path`,{d:`M17 16v2a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-9a2 2 0 0 1 2 -2h2`,key:`svg-1`}]]),gr=P(`outline`,`grip-vertical`,`GripVertical`,[[`path`,{d:`M8 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-0`}],[`path`,{d:`M8 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-1`}],[`path`,{d:`M8 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-2`}],[`path`,{d:`M14 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-3`}],[`path`,{d:`M14 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-4`}],[`path`,{d:`M14 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-5`}]]),_r=P(`outline`,`history`,`History`,[[`path`,{d:`M12 8l0 4l2 2`,key:`svg-0`}],[`path`,{d:`M3.05 11a9 9 0 1 1 .5 4m-.5 5v-5h5`,key:`svg-1`}]]),vr=P(`outline`,`hourglass-off`,`HourglassOff`,[[`path`,{d:`M18 18v2a1 1 0 0 1 -1 1h-10a1 1 0 0 1 -1 -1v-2a6 6 0 0 1 6 -6`,key:`svg-0`}],[`path`,{d:`M6 6a6 6 0 0 0 6 6m3.13 -.88a6 6 0 0 0 2.87 -5.12v-2a1 1 0 0 0 -1 -1h-10`,key:`svg-1`}],[`path`,{d:`M3 3l18 18`,key:`svg-2`}]]),yr=P(`outline`,`hourglass`,`Hourglass`,[[`path`,{d:`M6.5 7h11`,key:`svg-0`}],[`path`,{d:`M6.5 17h11`,key:`svg-1`}],[`path`,{d:`M6 20v-2a6 6 0 1 1 12 0v2a1 1 0 0 1 -1 1h-10a1 1 0 0 1 -1 -1`,key:`svg-2`}],[`path`,{d:`M6 4v2a6 6 0 1 0 12 0v-2a1 1 0 0 0 -1 -1h-10a1 1 0 0 0 -1 1`,key:`svg-3`}]]),br=P(`outline`,`key`,`Key`,[[`path`,{d:`M16.555 3.843l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.643 2.643a2.877 2.877 0 0 1 -4.069 0l-.301 -.301l-6.558 6.558a2 2 0 0 1 -1.239 .578l-.175 .008h-1.172a1 1 0 0 1 -.993 -.883l-.007 -.117v-1.172a2 2 0 0 1 .467 -1.284l.119 -.13l.414 -.414h2v-2h2v-2l2.144 -2.144l-.301 -.301a2.877 2.877 0 0 1 0 -4.069l2.643 -2.643a2.877 2.877 0 0 1 4.069 0`,key:`svg-0`}],[`path`,{d:`M15 9h.01`,key:`svg-1`}]]),xr=P(`outline`,`layout-dashboard`,`LayoutDashboard`,[[`path`,{d:`M5 4h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1`,key:`svg-0`}],[`path`,{d:`M5 16h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1`,key:`svg-1`}],[`path`,{d:`M15 12h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1`,key:`svg-2`}],[`path`,{d:`M15 4h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1`,key:`svg-3`}]]),Sr=P(`outline`,`list`,`List`,[[`path`,{d:`M9 6l11 0`,key:`svg-0`}],[`path`,{d:`M9 12l11 0`,key:`svg-1`}],[`path`,{d:`M9 18l11 0`,key:`svg-2`}],[`path`,{d:`M5 6l0 .01`,key:`svg-3`}],[`path`,{d:`M5 12l0 .01`,key:`svg-4`}],[`path`,{d:`M5 18l0 .01`,key:`svg-5`}]]),Cr=P(`outline`,`loader`,`Loader`,[[`path`,{d:`M12 6l0 -3`,key:`svg-0`}],[`path`,{d:`M16.25 7.75l2.15 -2.15`,key:`svg-1`}],[`path`,{d:`M18 12l3 0`,key:`svg-2`}],[`path`,{d:`M16.25 16.25l2.15 2.15`,key:`svg-3`}],[`path`,{d:`M12 18l0 3`,key:`svg-4`}],[`path`,{d:`M7.75 16.25l-2.15 2.15`,key:`svg-5`}],[`path`,{d:`M6 12l-3 0`,key:`svg-6`}],[`path`,{d:`M7.75 7.75l-2.15 -2.15`,key:`svg-7`}]]),wr=P(`outline`,`lock`,`Lock`,[[`path`,{d:`M5 13a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v6a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-6`,key:`svg-0`}],[`path`,{d:`M11 16a1 1 0 1 0 2 0a1 1 0 0 0 -2 0`,key:`svg-1`}],[`path`,{d:`M8 11v-4a4 4 0 1 1 8 0v4`,key:`svg-2`}]]),Tr=P(`outline`,`menu-2`,`Menu2`,[[`path`,{d:`M4 6l16 0`,key:`svg-0`}],[`path`,{d:`M4 12l16 0`,key:`svg-1`}],[`path`,{d:`M4 18l16 0`,key:`svg-2`}]]),Er=P(`outline`,`message-chatbot`,`MessageChatbot`,[[`path`,{d:`M18 4a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-5l-5 3v-3h-2a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12`,key:`svg-0`}],[`path`,{d:`M9.5 9h.01`,key:`svg-1`}],[`path`,{d:`M14.5 9h.01`,key:`svg-2`}],[`path`,{d:`M9.5 13a3.5 3.5 0 0 0 5 0`,key:`svg-3`}]]),Dr=P(`outline`,`moon`,`Moon`,[[`path`,{d:`M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454l0 .008`,key:`svg-0`}]]),Or=P(`outline`,`player-play`,`PlayerPlay`,[[`path`,{d:`M7 4v16l13 -8l-13 -8`,key:`svg-0`}]]),kr=P(`outline`,`player-stop`,`PlayerStop`,[[`path`,{d:`M5 7a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2l0 -10`,key:`svg-0`}]]),Ar=P(`outline`,`plug-connected`,`PlugConnected`,[[`path`,{d:`M7 12l5 5l-1.5 1.5a3.536 3.536 0 1 1 -5 -5l1.5 -1.5`,key:`svg-0`}],[`path`,{d:`M17 12l-5 -5l1.5 -1.5a3.536 3.536 0 1 1 5 5l-1.5 1.5`,key:`svg-1`}],[`path`,{d:`M3 21l2.5 -2.5`,key:`svg-2`}],[`path`,{d:`M18.5 5.5l2.5 -2.5`,key:`svg-3`}],[`path`,{d:`M10 11l-2 2`,key:`svg-4`}],[`path`,{d:`M13 14l-2 2`,key:`svg-5`}]]),jr=P(`outline`,`plug`,`Plug`,[[`path`,{d:`M9.785 6l8.215 8.215l-2.054 2.054a5.81 5.81 0 1 1 -8.215 -8.215l2.054 -2.054`,key:`svg-0`}],[`path`,{d:`M4 20l3.5 -3.5`,key:`svg-1`}],[`path`,{d:`M15 4l-3.5 3.5`,key:`svg-2`}],[`path`,{d:`M20 9l-3.5 3.5`,key:`svg-3`}]]),Mr=P(`outline`,`plus`,`Plus`,[[`path`,{d:`M12 5l0 14`,key:`svg-0`}],[`path`,{d:`M5 12l14 0`,key:`svg-1`}]]),Nr=P(`outline`,`question-mark`,`QuestionMark`,[[`path`,{d:`M8 8a3.5 3 0 0 1 3.5 -3h1a3.5 3 0 0 1 3.5 3a3 3 0 0 1 -2 3a3 4 0 0 0 -2 4`,key:`svg-0`}],[`path`,{d:`M12 19l0 .01`,key:`svg-1`}]]),Pr=P(`outline`,`refresh`,`Refresh`,[[`path`,{d:`M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4`,key:`svg-0`}],[`path`,{d:`M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4`,key:`svg-1`}]]),Fr=P(`outline`,`route`,`Route`,[[`path`,{d:`M3 19a2 2 0 1 0 4 0a2 2 0 0 0 -4 0`,key:`svg-0`}],[`path`,{d:`M19 7a2 2 0 1 0 0 -4a2 2 0 0 0 0 4`,key:`svg-1`}],[`path`,{d:`M11 19h5.5a3.5 3.5 0 0 0 0 -7h-8a3.5 3.5 0 0 1 0 -7h4.5`,key:`svg-2`}]]),Ir=P(`outline`,`search`,`Search`,[[`path`,{d:`M3 10a7 7 0 1 0 14 0a7 7 0 1 0 -14 0`,key:`svg-0`}],[`path`,{d:`M21 21l-6 -6`,key:`svg-1`}]]),Lr=P(`outline`,`send`,`Send`,[[`path`,{d:`M10 14l11 -11`,key:`svg-0`}],[`path`,{d:`M21 3l-6.5 18a.55 .55 0 0 1 -1 0l-3.5 -7l-7 -3.5a.55 .55 0 0 1 0 -1l18 -6.5`,key:`svg-1`}]]),Rr=P(`outline`,`settings`,`Settings`,[[`path`,{d:`M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065`,key:`svg-0`}],[`path`,{d:`M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0`,key:`svg-1`}]]),zr=P(`outline`,`sparkles`,`Sparkles`,[[`path`,{d:`M16 18a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2m0 -12a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2m-7 12a6 6 0 0 1 6 -6a6 6 0 0 1 -6 -6a6 6 0 0 1 -6 6a6 6 0 0 1 6 6`,key:`svg-0`}]]),Br=P(`outline`,`star`,`Star`,[[`path`,{d:`M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873l-6.158 -3.245`,key:`svg-0`}]]),Vr=P(`outline`,`sun`,`Sun`,[[`path`,{d:`M8 12a4 4 0 1 0 8 0a4 4 0 1 0 -8 0`,key:`svg-0`}],[`path`,{d:`M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7`,key:`svg-1`}]]),Hr=P(`outline`,`tool`,`Tool`,[[`path`,{d:`M7 10h3v-3l-3.5 -3.5a6 6 0 0 1 8 8l6 6a2 2 0 0 1 -3 3l-6 -6a6 6 0 0 1 -8 -8l3.5 3.5`,key:`svg-0`}]]),Ur=P(`outline`,`trash`,`Trash`,[[`path`,{d:`M4 7l16 0`,key:`svg-0`}],[`path`,{d:`M10 11l0 6`,key:`svg-1`}],[`path`,{d:`M14 11l0 6`,key:`svg-2`}],[`path`,{d:`M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12`,key:`svg-3`}],[`path`,{d:`M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3`,key:`svg-4`}]]),Wr=P(`outline`,`trophy`,`Trophy`,[[`path`,{d:`M8 21l8 0`,key:`svg-0`}],[`path`,{d:`M12 17l0 4`,key:`svg-1`}],[`path`,{d:`M7 4l10 0`,key:`svg-2`}],[`path`,{d:`M17 4v8a5 5 0 0 1 -10 0v-8`,key:`svg-3`}],[`path`,{d:`M3 9a2 2 0 1 0 4 0a2 2 0 1 0 -4 0`,key:`svg-4`}],[`path`,{d:`M17 9a2 2 0 1 0 4 0a2 2 0 1 0 -4 0`,key:`svg-5`}]]),Gr=P(`outline`,`upload`,`Upload`,[[`path`,{d:`M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2`,key:`svg-0`}],[`path`,{d:`M7 9l5 -5l5 5`,key:`svg-1`}],[`path`,{d:`M12 4l0 12`,key:`svg-2`}]]),Kr=P(`outline`,`wand`,`Wand`,[[`path`,{d:`M6 21l15 -15l-3 -3l-15 15l3 3`,key:`svg-0`}],[`path`,{d:`M15 6l3 3`,key:`svg-1`}],[`path`,{d:`M9 3a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2`,key:`svg-2`}],[`path`,{d:`M19 13a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2`,key:`svg-3`}]]),qr=P(`outline`,`x`,`X`,[[`path`,{d:`M18 6l-12 12`,key:`svg-0`}],[`path`,{d:`M6 6l12 12`,key:`svg-1`}]]),Jr=P(`filled`,`circle-check-filled`,`CircleCheckFilled`,[[`path`,{d:`M17 3.34a10 10 0 1 1 -14.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 14.995 -8.336zm-1.293 5.953a1 1 0 0 0 -1.32 -.083l-.094 .083l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.403 1.403l.083 .094l2 2l.094 .083a1 1 0 0 0 1.226 0l.094 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z`,key:`svg-0`}]]),Yr=P(`filled`,`player-play-filled`,`PlayerPlayFilled`,[[`path`,{d:`M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z`,key:`svg-0`}]]),Xr=P(`filled`,`star-filled`,`StarFilled`,[[`path`,{d:`M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z`,key:`svg-0`}]]),Zr=Object.freeze({"common.back":`Back`,"common.cancel":`Cancel`,"common.close":`Close`,"common.save":`Save`,"common.update":`Update`,"common.retry":`Retry`,"common.refresh":`Refresh`,"common.search":`Search`,"common.enabled":`Enabled`,"common.disabled":`Disabled`,"common.loading":`Loading…`,"common.unknown":`Unknown`,"common.language.english":`English`,"common.language.simplifiedChinese":`简体中文`,"nav.dashboard":`Dashboard`,"nav.settings":`Settings`,"nav.analytics":`Analytics`,"nav.recommend":`Recommend`,"nav.router":`Router`,"nav.routerV2":`Router v2`,"nav.playground":`Playground`,"nav.help":`Help`,"nav.installEndpoints":`Install Endpoints`,"nav.installedModels":`Installed Models`,"nav.changelog":`Changelog`,"nav.moreFeatures":`More features`,"nav.navigationMenu":`Navigation menu`,"nav.commandPalette":`Command palette`,"nav.exportData":`Export Data`,"nav.primary":`Primary`,"settings.title":`Settings`,"settings.subtitle":`API keys, language, theme, favorites, and update controls. Settings are stored locally and shared with the TUI.`,"settings.global":`Global settings`,"settings.language":`Language`,"settings.language.description":`Choose the language used by the TUI and Web Dashboard.`,"settings.globalTheme":`Global Theme`,"settings.installUpdate":`Install update (v{version})`,"settings.checkUpdatesManually":`Check for updates manually`,"settings.pressToCheckUpdates":`Press Enter or U to check npm registry`,"settings.updateCheckFailed":`Check failed (press U to retry)`,"settings.installingUpdate":`Installing update…`,"settings.favoritesMode":`Favorites Display Mode`,"settings.favoritesNormal":`Normal rows (filter/sort)`,"settings.startupSpeedTestEnabled":`✅ Enabled — runs Ctrl+U after startup`,"settings.startupSpeedTestDisabled":`❌ Disabled — manual Ctrl+U only`,"settings.autoHideBrokenModels":`Auto-hide Broken Models`,"settings.pressEnterCleanup":`Enter removes old proxy leftovers`,"settings.viewChangelog":`View Changelog`,"settings.pressEnterChangelog":`Enter browses version history`,"settings.shellEnvEnabled":`✅ Enabled — keys available in shell`,"settings.shellEnvNotConfigured":`🔘 Not configured — Enter to set up`,"settings.typeApiKey":`Type API key`,"settings.navigate":`Navigate`,"settings.editRunCycle":`Edit/Run/Cycle`,"settings.addKey":`Add key`,"settings.updates":`Updates`,"settings.favorites":`Favorites`,"settings.toggleCycle":`Toggle/Cycle`,"settings.theme.description":`Auto follows your operating system.`,"settings.theme.auto":`Auto (OS)`,"settings.theme.dark":`Dark`,"settings.theme.light":`Light`,"settings.favoritesPinned":`Favorites pinned and always visible`,"settings.favoritesPinned.description":`Keep favorites above filters and other rows (TUI: Y key).`,"settings.startupSpeedTest":`Startup AI Speed Scan`,"settings.startupSpeedTest.description":`Run the global benchmark after launch.`,"settings.shellEnv":`Export API keys to shell rc`,"settings.shellEnv.description":`Write configured provider keys to your shell rc file.`,"settings.checkUpdates":`Check for updates`,"settings.checkUpdates.description":`Check whether a newer npm version is available.`,"settings.checkNow":`Check now`,"settings.cleanupLegacy":`Cleanup discontinued proxy artifacts`,"settings.cleanupLegacy.description":`Remove old config, environment, and service leftovers.`,"settings.runCleanup":`Run cleanup`,"settings.providers":`Providers`,"settings.searchProviders":`Search providers…`,"settings.loading":`Loading settings…`,"settings.keysAndProviderSettings":`API keys and provider settings`,"settings.noProviders":`No providers match your search.`,"settings.apiKey":`API key`,"settings.saveKey":`Save key`,"settings.testKey":`Test key`,"settings.keySaved":`API key saved.`,"settings.keySaveFailed":`Could not save API key.`,"settings.keyRemoved":`API key removed.`,"settings.keyRemoveFailed":`Could not remove API key.`,"settings.keyTestPassed":`API key test passed.`,"settings.keyTestFailed":`API key test failed.`,"settings.updateAvailable":`Update available: v{version}`,"settings.upToDate":`Already on the latest version`,"settings.legacyNone":`No discontinued proxy config was found.`,"settings.languageSaveFailed":`Could not save language preference.`,"dashboard.searchPlaceholder":`Search models, providers…`,"dashboard.workingOnly":`Working only`,"dashboard.allModels":`All models`,"dashboard.filters":`Filters`,"dashboard.resetView":`Reset view`,"dashboard.provider":`Provider`,"dashboard.allProviders":`All providers`,"dashboard.model":`Model`,"dashboard.models":`{count} models`,"dashboard.favorites":`Favorites`,"dashboard.favorite":`Favorite`,"dashboard.recommended":`Recommended`,"dashboard.rank":`Rank`,"dashboard.tier":`Tier`,"dashboard.latency":`Latency`,"dashboard.stability":`StaBility`,"dashboard.uptime":`Uptime`,"dashboard.health":`Health`,"dashboard.verdict":`Verdict`,"dashboard.status":`Status`,"dashboard.search":`Search`,"dashboard.noModels":`No models match the current filters.`,"dashboard.noApiKey":`No API key configured for this provider`,"dashboard.notConfigured":`Not configured`,"dashboard.working":`Working`,"dashboard.down":`Down`,"dashboard.pending":`Pending`,"dashboard.export":`Export`,"dashboard.exportData":`Export model data`,"dashboard.aiLatency":`AI Latency`,"dashboard.aiSpeedTest":`AI Speed Test`,"dashboard.aiSpeedTestRunning":`AI Speed Test running — {completed}/{total}`,"dashboard.runBenchmark":`Run AI Latency benchmark on {count} visible models`,"dashboard.resetToast":`View reset to defaults.`,"filters.tier":`Tier`,"filters.status":`Status`,"filters.verdict":`Verdict`,"filters.health":`Health`,"filters.origin":`Provider`,"filters.search":`Search`,"filters.customPlaceholder":`Filter by text…`,"filters.pingMode":`Probe frequency`,"filters.pingEco":`Eco`,"filters.pingBalanced":`Balanced`,"filters.pingAggressive":`Aggressive`,"filters.all":`All`,"help.title":`Help`,"help.shortcuts":`Keyboard shortcuts`,"help.loading":`Loading help…`,"help.close":`Close help`,"help.openSettings":`Open Settings`,"help.openHelp":`Open Help`,"help.openPalette":`Open command palette`,"help.selectModel":`Select a model`,"help.toggleFavorite":`Toggle favorite`,"recommend.title":`Smart Recommend`,"recommend.questionTask":`What are you working on?`,"recommend.questionSpeed":`How fast do you need it?`,"recommend.next":`Next`,"recommend.previous":`Previous`,"recommend.showResults":`Show recommendations`,"recommend.topPicks":`Top recommendations`,"recommend.noResults":`No matching models are available.`,"recommend.install":`Install endpoint`,"install.title":`Install Endpoints`,"install.subtitle":`Write selected model endpoints into a supported tool configuration.`,"install.scope.all":`All models`,"install.scope.selected":`Selected models`,"install.models":`Models`,"install.install":`Install endpoints`,"install.noModels":`No compatible models are available.`,"install.success":`Endpoints installed.`,"install.failure":`Endpoint installation failed.`,"install.keyRequired":`Add an API key in Settings first.`,"installed.title":`Installed Models`,"installed.empty":`No installed models found.`,"installed.refresh":`Refresh installed models`,"analytics.title":`Analytics`,"analytics.today":`Today`,"analytics.allTime":`All time`,"analytics.byModel":`By model`,"analytics.noUsage":`No usage data yet.`,"update.upToDate":`Up to date`,"update.updateNow":`Update now`,"update.failed":`Update check failed.`,"palette.title":`Command Palette`,"palette.footerTitle":`Cmd Palette`,"palette.searchPlaceholder":`Search commands…`,"palette.noResults":`No commands found.`,"router.title":`Smart Model Router`,"router.status.running":`Running`,"router.status.stopped":`Stopped`,"router.start":`Start daemon`,"router.stop":`Stop daemon`,"router.restart":`Restart daemon`,"router.refresh":`Refresh`,"router.fallbackChain":`Fallback chain`,"router.requests":`Requests routed`,"router.uptime":`Uptime`,"router.noRequests":`No requests routed yet.`,"router.model":`Model`,"router.state":`State`,"router.lastLatency":`Last latency`,"router.save":`Save`,"router.saved":`Saved`,"router.saving":`Saving…`,"router.saveFailed":`Save failed`,"router.v2.title":`Smart Model Router v2`,"router.v2.beta":`BETA`,"router.v2.validation":`Validation`,"router.v2.chainHealth":`Chain health`,"router.v2.testViaRouter":`Test via router`,"playground.title":`Playground`,"playground.model":`Model`,"playground.persona":`Persona`,"playground.clear":`Clear conversation`,"playground.close":`Close`,"playground.toggleStreaming":`Toggle streaming`,"playground.promptPlaceholder":`Ask anything. Enter to send, Shift+Enter for a newline.`,"playground.daemonStopped":`Router daemon is not running`,"playground.startDaemon":`Start the router daemon`,"playground.startingDaemon":`Starting router daemon…`,"toast.dismiss":`Dismiss notification`,"cli.usage":`Usage`,"cli.toolFlags":`Tool Flags`,"cli.analysisFlags":`Analysis Flags`,"cli.configMaintenance":`Config & Maintenance`,"cli.examples":`Examples`,"cli.defaultLauncher":`Default launcher with no tool flag: OpenCode CLI`,"cli.combineFlags":`Flags can be combined: --openclaw --tier S --json`,"cli.helpTitle":`CLI Help`,"cli.routerHowItWorks":`How the FCM Router Works`,"cli.routerDaemon":`The smart router daemon`,"cli.prePrompt":`The pre-prompt (system message)`,"cli.probeMechanism":`The probe mechanism (every 10s/30s/120s)`,"cli.circuitBreaker":`The circuit breaker (per-model state)`,"cli.failoverOrder":`Failover order`,"cli.autoHeal":`Auto-heal (default behavior)`,"cli.rateLimits":`Rate limits (RPD / RPM / TPM)`,"nav.themeTitle":`Theme: {theme} (click to cycle auto / dark / light)`,"nav.themeLabel":`Theme: {theme}. Click to cycle.`,"filters.provider":`Provider`,"filters.visibility":`Visibility`,"filters.visibility.allHint":`Show everything`,"filters.visibility.configured":`Configured only`,"filters.visibility.configuredHint":`Hide models with no key or auth errors`,"filters.visibility.usable":`Usable only`,"filters.visibility.usableHint":`Only Health UP + good verdict`,"filters.verdict.perfect":`Perfect`,"filters.verdict.normal":`Normal`,"filters.verdict.spiky":`Spiky`,"filters.verdict.slow":`Slow`,"filters.verdict.overloaded":`Overloaded`,"filters.verdict.unstable":`Unstable`,"filters.health.timeout":`Timeout`,"filters.health.noKey":`No key`,"filters.health.authError":`Auth error`,"filters.ping":`Ping`,"filters.pingSpeed":`⚡ Speed`,"filters.pingNormal":`● Normal`,"filters.pingSlow":`🐢 Slow`,"filters.pingForced":`🔥 Forced`,"filters.endpointTarget":`Endpoint target`,"filters.endpointTargetHint":`Active endpoint install target from the Header picker`,"filters.text":`Text`,"filters.clearTextHint":`Click X to clear (TUI: X key)`,"filters.clearText":`Clear custom text filter (TUI: X)`,"filters.resetTitle":`Reset {count} active filter(s) (TUI: N)`,"filters.nextPing":`Next ping in`,"dashboard.swe":`SWE%`,"dashboard.context":`Context`,"dashboard.lastPing":`Last Ping`,"dashboard.average":`Avg`,"dashboard.tps":`TPS`,"dashboard.quota":`Quota`,"dashboard.trend":`Trend`,"dashboard.noApiKeyState":`No API key configured — health will stay in 'NO KEY' state`,"dashboard.benchmarking":`Benchmarking…`,"dashboard.clickToBenchmark":`Click to run AI Speed Test (TUI: Ctrl+A)`,"dashboard.customColumnWidths":`Custom column widths`,"dashboard.totalWidth":`total`,"dashboard.restoreColumnWidths":`Restore the default column widths`,"dashboard.resetColumns":`Reset columns`,"dashboard.sortColumn":`Sort {column}: ascending → descending → reset`,"dashboard.resizeColumn":`Drag to resize {column} (double-click to reset this column)`,"dashboard.resizeColumnAria":`Resize {column} column`,"dashboard.providerModelsTitle":`{provider} — {count} models`,"provider.health.active":`API key works — at least one model is UP`,"provider.health.pending":`API key set — waiting for health data`,"provider.health.down":`API key set — models are DOWN or have auth errors`,"settings.loadFailed":`Failed to load settings`,"settings.enterApiKey":`Please enter an API key`,"settings.keySavedForProvider":`API key for {provider} saved successfully!`,"settings.networkSaveFailed":`Network error while saving`,"settings.confirmDeleteKey":`Are you sure you want to delete the API key for "{provider}"?`,"settings.keyRemovedForProvider":`API key for {provider} deleted`,"settings.networkDeleteFailed":`Network error while deleting`,"settings.providerEnabled":`{provider} enabled`,"settings.providerDisabled":`{provider} disabled`,"settings.toggleFailed":`Failed to toggle setting`,"settings.networkError":`Network error`,"settings.keyTestResult":`{provider} test: {result}{code}`,"settings.keyTestError":`{provider} test failed: {error}`,"settings.settingUpdated":`Setting updated`,"settings.featureUpdateFailed":`Failed to update feature`,"settings.shellExportEnabled":`Shell env export enabled — restart your shell to apply.`,"settings.shellExportDisabled":`Shell env export disabled.`,"settings.shellToggleFailed":`Failed to toggle shell env`,"settings.confirmLegacyCleanup":`Remove discontinued proxy config leftovers? This is safe to run.`,"settings.legacyCleanupComplete":`Cleaned {count} legacy file(s). {errors} error(s).`,"settings.legacyCleanupToast":`Legacy proxy cleanup: {count} file(s) cleaned.`,"settings.legacyCleanupFailed":`Legacy cleanup failed: {error}`,"settings.expandAll":`Expand All`,"settings.collapseAll":`Collapse All`,"settings.test.ok":`OK`,"settings.test.authError":`Auth error`,"settings.test.rateLimited":`Rate limited`,"settings.test.noCallableModel":`No callable model`,"settings.test.failed":`Failed`,"settings.test.missingKey":`Missing key`,"settings.noApiKeySet":`(no key set)`,"settings.noLimitInfo":`No limit info`,"settings.keyDetected":`API key detected ✅`,"settings.keyMissing":`API key missing ⚠`,"settings.setupInstructions":`Setup Instructions`,"settings.createProviderAccount":`Create a provider account`,"settings.generateApiKeyHint":`Generate an API key and paste it with Enter on this row`,"settings.pressToTestKey":`Press {key} to test your key. Status:`,"settings.testDiagnostics":`Test Diagnostics`,"settings.badge.test":`[Test]`,"settings.badge.testing":`[Testing…]`,"settings.badge.testOk":`[Test ✅]`,"settings.badge.missingKey":`[Missing Key 🔑]`,"settings.badge.authError":`[Auth ❌]`,"settings.badge.rateLimited":`[Rate limit ⏳]`,"settings.badge.noCallableModel":`[No model ⚠]`,"settings.badge.failed":`[Test ❌]`,"settings.lastTest":`Last test`,"settings.currentApiKey":`Current API Key`,"settings.hideKey":`Hide`,"settings.revealKey":`Reveal`,"settings.testKeyHint":`Test this key against the provider (TUI: T key in Settings)`,"settings.testKeyForProvider":`Test key for {provider}`,"settings.testing":`Testing…`,"settings.deleteKey":`Delete Key`,"settings.updateApiKey":`Update API Key`,"settings.addApiKey":`Add API Key`,"settings.apiKeyPlaceholder":`Enter your API key…`,"settings.apiKeyForProvider":`API key for {provider}`,"settings.providerEnabledLabel":`Provider Enabled`,"settings.providersCount":`{count} models`,"common.wait":`wait`,"dashboard.averageLatency":`Average latency`,"dashboard.avgPingShort":`Avg Ping`,"dashboard.terminalMaximize":`Please maximize your terminal for optimal use.`,"dashboard.terminalTooSmall":`The current terminal is too small.`,"dashboard.terminalReduceFont":`Reduce font size or maximize terminal width.`,"dashboard.warningWillHide":`This message will hide in {seconds}s`,"dashboard.pressEscToDismiss":`Press Esc to dismiss`,"dashboard.configureApiKeyHint":`Press P to configure your API key.`,"dashboard.noConfiguredVisibleModels":`No configured provider currently exposes visible models in the table.`,"dashboard.noKeyShort":`NO KEY`,"dashboard.authFailShort":`AUTH FAIL`,"dashboard.upShort":`UP`,"filters.verdict.verySlow":`Very slow`,"filters.verdict.notActive":`Not active`,"filters.verdict.unusable":`Unusable`,"filters.pingSpeedShort":`Speed`,"filters.pingNormalShort":`Normal`,"filters.pingSlowShort":`Slow`,"filters.pingForcedShort":`Forced`,"filters.pingInterval":`Ping`,"filters.nextPingShort":`Next`,"filters.tool":`Tool`,"help.searchPlaceholder":`Search help, filters, shortcuts…`,"help.note":`The Web Dashboard is mouse-first. Use the command palette for the global keyboard shortcut; other actions are in the header menu and dialogs.`,"help.noMatches":`No help matches “{query}”.`,"help.filters":`Filters`,"help.sort":`Sort`,"help.favorites":`Favorites`,"help.speedTest":`AI Speed Test`,"help.toolMode":`Tool mode`,"help.palette":`Command palette`,"help.theme":`Theme`,"help.pingMode":`Ping mode`,"help.deepLinks":`URL deep links`,"help.cliParity":`CLI parity`,"help.routerHow":`How the FCM Router works`,"recommend.questionContext":`How much context do you need?`,"recommend.findBest":`Find the best model for this task`,"recommend.questionProgress":`Question {step} / {total}`,"recommend.analyzing":`Analyzing live catalog…`,"recommend.analysisHint":`10 seconds · about 2 checks/sec · same scoring as the TUI.`,"recommend.topThree":`Top 3 recommendations`,"recommend.restart":`Restart`,"install.step.provider":`Provider`,"install.step.tool":`Tool`,"install.step.models":`Models`,"install.step.install":`Install`,"install.chooseProviderHint":`Choose a provider with a configured API key.`,"install.loadingProviders":`Loading providers…`,"install.noProvidersConfigured":`No configured providers found. Add API keys in Settings first.`,"install.modelsCount":`{count} models`,"install.chooseToolHint":`Install {provider} models into which tool?`,"install.chooseModelsHint":`Choose models from {provider} to install into {tool}.`,"install.selectModels":`Select models`,"install.allModelsNotice":`All {count} models from {provider} will be installed.`,"install.installingCount":`Installing {count}…`,"install.writingConfig":`Writing config for {tool}`,"install.installed":`Installed!`,"install.installFailed":`Install failed`,"install.retryHint":`Check the toast for details. Go back and retry.`,"install.done":`Done`,"install.next":`Next`,"installed.scanning":`Scanning tool configs…`,"installed.noModels":`No models found in tool configs.`,"installed.configureHint":`Use “Install Endpoints” to configure models for your tools.`,"installed.notInstalled":`Not installed`,"installed.removeTitle":`Remove model from config (backup saved)`,"installed.disabled":`Disabled {model} in {tool}.`,"installed.failed":`Failed: {error}`,"analytics.subtitle":`Real-time insights across providers and models`,"analytics.providerHealth":`Provider health overview`,"analytics.fastestModels":`Fastest models`,"analytics.tierDistribution":`Tier distribution`,"analytics.waiting":`Waiting for data…`,"analytics.waitingPings":`Waiting for ping data…`,"analytics.loading":`Loading…`,"analytics.noTokenData":`No token data yet. Start the router and send requests to track usage.`,"analytics.requests":`{count} requests`,"analytics.sevenDayUsage":`7-day usage`,"analytics.topModels":`Top models`,"analytics.topProviders":`Top providers`,"analytics.tokens":`{count} tokens`,"analytics.requestsShort":`{count} req`,"changelog.backToIndex":`Back to index (TUI: B)`,"changelog.index":`Index`,"changelog.loading":`Loading changelog…`,"changelog.failed":`Failed to load changelog: {error}`,"changelog.versionHint":`{count} versions. Select one to read the release notes.`,"changelog.noReleaseNotes":`No release notes for v{version}.`,"changelog.noNotes":`No notes for v{version}.`,"playground.findBest":`Find the best model for this task`,"playground.routerOnline":`Router online`,"playground.routerOffline":`Router offline`,"playground.checkingRouter":`Checking router…`,"playground.autoRouterRecommended":`fcm — auto router (recommended)`,"playground.messagesTokens":`{messages} messages · {tokens} tokens`,"playground.prePromptEnabled":`Pre-prompt enabled`,"playground.prePromptDisabled":`Pre-prompt disabled`,"playground.streamOn":`Streaming on`,"playground.streamOff":`Streaming off`,"playground.startingRouter":`Starting router…`,"playground.autoStartIn":`Auto-starting router in {seconds}s…`,"playground.startRouter":`Start Router`,"playground.chatViaRouter":`Chat via FCM Router`,"playground.routerHint":`The Router picks the healthiest model and fails over automatically.`,"playground.askModel":`Ask {model}`,"playground.copyReply":`Copy reply`,"playground.addressedModel":`Addressed model`,"playground.servedModel":`Model that served this reply`,"playground.responseTime":`Response time (send → end)`,"playground.completionTokens":`Completion tokens`,"playground.tokensPerSecond":`Tokens per second`,"playground.stopped":`stopped`,"playground.fullPlaceholder":`Ask anything. Enter to send, Shift+Enter for a newline.`,"playground.miniPlaceholder":`Send a message…`,"playground.stopGenerating":`Stop generating`,"playground.stop":`Stop`,"playground.send":`Send`,"router.circuit.healthy":`Healthy`,"router.circuit.down":`Down`,"router.circuit.recovering":`Recovering`,"router.circuit.authError":`Auth error`,"router.circuit.deprecated":`Deprecated`,"router.circuit.unsupported":`Unsupported`,"router.circuit.unknown":`Unknown`,"router.daemonStarted":`Router daemon started.`,"router.daemonStopped":`Router daemon stopped.`,"router.startFailed":`Start failed: {error}`,"router.stopFailed":`Stop failed: {error}`,"router.cannotReachDaemon":`Cannot reach daemon — it may not be installed or the port is blocked`,"router.probingModels":`Probing models with your keys…`,"router.syncedModels":`Synced {set}: {working} working models from {probes} probes.`,"router.syncFailed":`Sync failed: {error}`,"router.noFavorites":`You do not have any favorite models yet. Star some models first!`,"router.activeSet":`Active set: {name}`,"router.probeModeSet":`Probe mode set to {mode}.`,"router.v2.stopped":`Router v2 stopped`,"router.v2.started":`Router v2 started`,"router.v2.startFailed":`Start failed`,"router.v2.stopFailed":`Stop failed`,"router.v2.notReachable":`Router v2 daemon is not reachable ({error}).`,"router.v2.notRunning":`Router v2 daemon is not running.`,"router.v2.checking":`Checking for a running v2 daemon…`,"router.v2.betaDescription":`Beta: v2 runs next to the stable Router on its own port ({port}) and shares sets, models, and API keys. Failover validates response content. Anthropic-style agents can use POST /v1/messages on the same port.`,"router.v2.requestsRouted":`Requests routed`,"router.v2.failoverNeeded":`{percent}% needed failover`,"router.v2.up":`{count} up`,"router.v2.degraded":`{count} degraded`,"router.v2.open":`{count} open`,"router.v2.strict":`strict`,"router.v2.lastResort":`last resort: {model}`,"router.v2.fallbackChain":`Fallback chain`,"router.v2.exactOrder":`the exact order the next request will try`,"router.v2.lastLatency":`Last latency`,"router.v2.emptyCandidates":`No routeable candidates (missing keys or every model is failing).`,"router.v2.testTitle":`Send one real pinned request through the router chain`,"router.v2.testing":`testing…`,"router.v2.failed":`failed`,"router.v2.test":`test`,"router.v2.testTopThree":`Test top 3 through the router`,"router.v2.requestChains":`Request chains`,"router.v2.attemptsHint":`every attempt, skip reason, and the winning model`,"router.v2.outcome.served":`served`,"router.v2.outcome.aborted":`aborted`,"router.v2.outcome.failed":`failed`,"common.select":`Select`,"common.expand":`Expand`,"common.reset":`Reset`,"filters.visibility.all":`All models`,"dashboard.globalBenchmark":`Global AI Speed Test (uses many requests!)`,"recommend.task":`Task`,"recommend.priority":`Priority`,"recommend.context":`Context`,"recommend.pinging":`Pinging models at 2 pings/sec to gather fresh latency data…`,"help.columns":`Columns`,"help.mainTui":`Main TUI`,"help.controls":`Controls`,"cli.mode":`mode`,"cli.flags":`CLI Flags`,"router.activeSetLabel":`Active set`,"router.familyFailover":`Family failover`,"router.syncBest":`Sync best`,"router.useFavorites":`Use favorites`,"router.probeAll":`Probe all`,"router.noActiveSetModels":`No models in the active set`,"router.addSetModelsHint":`Add models from the picker below, or sync the best models above.`,"router.primary":`Primary`,"router.triesFirst":`tries first`,"router.fallback":`Fallback`,"router.onFailure":`on failure / rate limit`,"router.nextUp":`Next up`,"router.addModelTo":`Add a model to`,"router.searchModels":`Search by provider, model, or label…`,"router.noModelsMatch":`No models match your filter.`,"router.alreadyInSet":`Already in set`,"router.moveUp":`Move up`,"router.moveDown":`Move down`,"router.removeFromSet":`Remove from set`,"router.noActiveRequests":`No active requests.`,"router.noRequestsYet":`No requests yet. Start coding to see traffic here.`,"router.stalled":`Stalled?`,"router.processing":`Processing…`,"router.savingStatus":`saving…`,"router.savedStatus":`✓ saved`,"router.routesVia":`routes through`,"router.fallbackHint":`try the fallback chain`,"router.miniPlaceholder":`Test the router… (e.g. write a haiku about TypeScript)`,"router.testKeyHint":`Probe your API keys and rebuild the set with only models that actually work`,"router.useFavoritesHint":`Replace current router models with your favorite models`,"router.benchmarkSetHint":`Benchmark AI Latency + TPS on every model in this set`,"router.syncBestHint":`Re-probe with your current API keys and keep only working models`,"router.switchSetHint":`Switch the active set`,"router.liveHeaders":`live from response headers (no extra requests)`,"router.pasteIntoToolConfig":`paste into your coding tool config`,"router.routerModels":`Router models`,"router.favoritesFallbackOrder":`your favorites, in fallback order`,"router.noFavoritesTui":`No favorites yet. Press Esc, then F on any model to add it.`,"router.installEndpointCli":`Install Router Endpoint to CLI Tool`,"router.lifetime":`Lifetime`,"router.activeRequests":`Active requests`,"router.recentRequests":`Recent requests`,"router.time":`Time`,"router.detail":`Detail`,"router.reorder":`Reorder`,"router.healthCheck":`Health check`,"router.clearLog":`Clear log`,"router.models":`Models`,"router.clearHistory":`Clear history`,"router.circuit.degraded":`Degraded`,"router.circuit.probing":`Probing`,"router.circuit.quotaPaused":`Quota paused`,"router.v2.pointToolAtV2":`point your coding tool at v2`,"router.v2.orPinOne":`or pin one:`,"router.v2.failoverRate":`Failover rate`,"router.v2.startToSeeChain":`Start the daemon to see the live chain.`,"router.v2.noHistory":`No history (daemon stopped).`,"router.v2.probes":`Probes`,"router.v2.lastError":`LAST ERROR`,"dashboard.uptimeShort":`Up%`,"update.retryHint":`Press Shift+U to retry update`,"update.clickToInstall":`Click here or press Shift+U to update`,"filters.disableFilter":`Disable filter`,"playground.prePromptHint":`Router persona injected as the first system message`,"playground.runCommand":`Or run this in your terminal:`,"playground.waitingForDaemon":`The daemon is starting. You can chat as soon as it is ready.`,"playground.emptyTitle":`Try the FCM router in 10 seconds`,"playground.emptyHint":`Each request routes to the healthiest model in your active set or directly to your selected model. Replies show the served model, latency, and TPS.`,"router.v2.startStableHint":`Or start it above. The stable Router v1 keeps running on port 19280.`,"router.v2.outcome":`Outcome`,"router.v2.wallTime":`Total time`,"router.v2.lastResortTag":`last resort`,"router.v2.attempts":`Attempts`,"router.v2.skipped":`Skipped`,"router.v2.openAiTools":`OpenAI-compatible tools`,"router.v2.anthropicTools":`Anthropic protocol agents`,"router.v2.pinOneHint":`Pin one model for testing or dedicated traffic:`,"common.none":`none`,"router.brokenModels":`{count} models in the active set are not responding`,"router.autoHealWarning":`Auto-heal ran on startup, but a replacement may still be unavailable.`,"router.fixNow":`Fix now`,"router.copied":`Copied!`,"router.copyAll":`Copy all`,"router.baseUrl":`Base URL`,"router.requestsCount":`{count} requests`,"router.stoppedHint":`Smart failover router. Start it to route requests to the healthiest model.`,"router.starting":`Starting…`,"router.stopping":`Stopping…`,"router.activeSetModels":`Active set ({count} models)`,"router.familyFailoverHint":`When a model fails, retry the same family on another provider before falling back to the next model.`,"router.probing":`Probing…`,"router.addModel":`Add model`,"router.primaryTitle":`Primary model — tried first on every request`,"router.fallbackTitle":`Fallback #{index} — used if higher-priority models fail or hit a rate limit`,"router.probeMode":`Probe mode`,"router.requestLog":`Request log`,"router.testRouter":`Test router`,"router.testEmptyHint":`Send a message to see which model the router picks, with latency and TPS.`,"router.runtimeTelemetry":`Runtime telemetry`,"router.callsTrackedLocal":`{count} calls tracked · local only`,"router.providerQuota":`Provider quota`,"playground.routerStartError":"Router is not running. Press R or run `free-coding-models --daemon-bg`.","playground.sending":`Sending…`,"playground.tuiHotkeys":`Enter sends · Shift+Tab changes model · Ctrl+S toggles streaming · Esc closes · Ctrl+L clears`,"playground.you":`you`,"playground.routed":`routed`,"playground.tokensShort":`tok`,"playground.fallbackShort":`fallback`,"playground.waitingResponse":`Waiting for response — Esc to stop`,"playground.draftPlaceholder":`Type a message and press Enter…`,"playground.enterToSend":`Enter sends`,"playground.pinModel":`to use a pinned model`,"common.error":`Error`,"cli.flag.best":`Show only top tiers (A+, S, S+)`,"cli.flag.fiable":`Run the 10s reliability analysis mode`,"cli.flag.json":`Output results as JSON for scripts and automation`,"cli.flag.tier":`Filter models by tier family`,"cli.flag.recommend":`Open Smart Recommend on startup`,"cli.flag.premium":`Start with S-tier filter and verdict sort`,"cli.flag.sort":`Sort by the selected column`,"cli.flag.direction":`Set descending or ascending order`,"cli.flag.origin":`Filter models by provider`,"cli.flag.pingInterval":`Set ping interval in milliseconds`,"cli.flag.hideUnconfigured":`Hide models without configured API keys`,"cli.flag.showUnconfigured":`Show models even when no API key is configured`,"cli.flag.reprobe":`Rebuild probe cache and skip cached healthy models`,"cli.flag.probeTtl":`Set how long healthy probe results are cached`,"cli.flag.showBroken":`Show models marked as broken by the probe cache`,"cli.flag.checkDrift":`Compare sources.js with models.dev and report differences`,"cli.flag.driftThreshold":`Fail only when this many or more differences are found`,"cli.flag.web":`Start the real-time Web Dashboard`,"cli.flag.playground":`Open the TUI Playground, starting the router if needed`,"cli.flag.daemon":`Start the Router daemon and Web Dashboard`,"cli.flag.daemonBg":`Start the Router daemon in the background`,"cli.flag.daemonStatus":`Print the Router daemon status as JSON`,"cli.flag.daemonStop":`Gracefully stop the Router daemon`,"cli.flag.routerV2":`Start the Router v2 daemon on port 19380`,"cli.flag.routerV2Bg":`Start Router v2 in the background`,"cli.flag.routerV2Status":`Print Router v2 daemon status as JSON`,"cli.flag.routerV2Stop":`Gracefully stop the Router v2 daemon`,"cli.flag.syncSet":`Discover and probe models for a router set`,"cli.flag.configDir":`Store config.json and backups in the specified directory`,"cli.flag.fixPermissions":`Set secure config file permissions without prompting`,"cli.flag.noTelemetry":`Disable anonymous telemetry for this run`,"cli.flag.help":`Print this help and exit`,"palette.placeholder":`Type a command… (filters, sorts, tools, theme, ping, export)`,"palette.noMatch":`No matching command.`,"palette.navigate":`navigate`,"palette.select":`select`,"palette.poweredByTui":`Powered by the TUI command registry — 1:1 parity`,"palette.section.filter":`Filter`,"palette.section.sort":`Sort`,"palette.section.action":`Action`,"palette.section.page":`Page`,"palette.section.update":`Update`,"palette.section.tool":`Tool`,"palette.updateNow":`UPDATE NOW`,"palette.versionAvailable":`available`,"palette.notAvailable":`This command is not available yet.`,"palette.notWired":`This command is not available on the Web yet.`,"palette.toolModeNotReady":`The tool mode picker is not available yet.`,"palette.favoriteHint":`Press F on a model row in the table.`,"palette.favoriteModeHint":`Set the favorites display mode in Settings.`,"palette.benchmarkHint":`Click an AI Lat. cell to benchmark the highlighted row.`,"palette.providerFilterHint":`Use the Provider dropdown in the FilterBar.`,"palette.tierFilterHint":`Use the Tier chips in the FilterBar.`,"palette.visibilityFilterHint":`Use the Visibility dropdown in the FilterBar.`,"palette.sortHint":`Click a table column header to sort.`,"palette.web.openHelp":`Open Help`,"palette.web.openChangelog":`Open Changelog`,"palette.web.openPlayground":`Open Playground`,"palette.web.openInstallEndpoints":`Open Install Endpoints`,"palette.web.openInstalledModels":`Open Installed Models`,"palette.web.cycleTheme":`Cycle theme (current: {theme})`,"palette.web.resetView":`Reset view (filters + sort)`,"palette.web.pingMode":`Ping mode → {mode}`,"palette.web.exportModels":`Export models…`,"palette.command.filters":`Filters`,"palette.command.filter-tier":`Filter by tier`,"palette.command.filter-tier-all":`All tiers`,"palette.command.filter-tier-splus":`S+ tier`,"palette.command.filter-tier-s":`S tier`,"palette.command.filter-tier-aplus":`A+ tier`,"palette.command.filter-tier-a":`A tier`,"palette.command.filter-tier-aminus":`A- tier`,"palette.command.filter-tier-bplus":`B+ tier`,"palette.command.filter-tier-b":`B tier`,"palette.command.filter-tier-c":`C tier`,"palette.command.filter-provider":`Filter by provider`,"palette.command.filter-provider-cycle":`Cycle provider`,"palette.command.filter-provider-all":`All providers`,"palette.command.filter-model":`Filter by model`,"palette.command.filter-other":`Other filters`,"palette.command.filter-configured-toggle":`Show only configured & working`,"palette.command.sort":`Sort`,"palette.command.sort-rank":`Sort by rank`,"palette.command.sort-tier":`Sort by tier`,"palette.command.sort-provider":`Sort by provider`,"palette.command.sort-model":`Sort by model`,"palette.command.sort-latest-ping":`Sort by latest ping`,"palette.command.sort-avg-ping":`Sort by avg ping`,"palette.command.sort-swe":`Sort by SWE score`,"palette.command.sort-ctx":`Sort by context`,"palette.command.sort-health":`Sort by health`,"palette.command.sort-verdict":`Sort by verdict`,"palette.command.sort-stability":`Sort by stability`,"palette.command.sort-uptime":`Sort by uptime`,"palette.command.actions":`Actions`,"palette.command.action-target-tool":`Target tool`,"palette.command.action-cycle-tool-mode":`Cycle target tool`,"palette.command.action-ping-mode":`Ping mode`,"palette.command.action-cycle-ping-mode":`Cycle ping mode`,"palette.command.action-set-ping-speed":`Speed mode (2s)`,"palette.command.action-set-ping-normal":`Normal mode (10s)`,"palette.command.action-set-ping-slow":`Slow mode (30s)`,"palette.command.action-set-ping-forced":`Forced mode (4s)`,"palette.command.action-favorites-mode":`Favorites mode`,"palette.command.action-toggle-favorite-mode":`Toggle favorites mode`,"palette.command.action-favorites-mode-pinned":`Pinned + always visible`,"palette.command.action-favorites-mode-normal":`Normal rows (starred only)`,"palette.command.action-toggle-favorite":`Toggle favorite on selected row`,"palette.command.action-cycle-theme":`Cycle theme`,"palette.command.action-reset-view":`Reset view`,"palette.command.action-probe-failed":`Re-probe failed models`,"palette.command.action-probe-404":`Probe all models (404)`,"palette.command.action-toggle-auto-hide-broken":`Toggle auto-hide broken models`,"palette.command.open-settings":`Settings`,"palette.command.open-help":`Help`,"palette.command.open-changelog":`Changelog`,"palette.command.open-recommend":`Smart recommend`,"palette.command.open-playground":`Playground`,"palette.command.open-install-endpoints":`Install endpoints`,"palette.command.open-installed-models":`Installed models`,"update.availableTitle":`Update available: v{version}. Click to install.`,"update.availableDescription":`A newer version (v{version}) is available on npm. After updating, restart the dashboard to apply it.`,"update.now":`Update now`,"settings.removeKey":`Remove key`,"settings.theme":`Theme`,"help.navigation":`Navigation`,"analytics.tokenUsage":`Token usage`,"install.selectProvider":`Choose provider`,"install.selectTool":`Choose tool`,"common.stepNumber":`Step {step}/{total}`,"install.tuiSubtitle":`Install provider catalogs into supported coding tools.`,"install.chooseConfiguredProvider":`Choose a configured provider`,"install.chooseTargetTool":`Choose the target tool`,"install.chooseInstallScope":`Choose the install scope`,"install.chooseModelsToInstall":`Choose which models to install`,"install.provider":`Provider`,"install.tool":`Tool`,"install.directProvider":`Direct Provider`,"install.sharedConfigFile":`shared config file`,"install.envFile":`env file (~/.fcm-*-env)`,"install.managedConfig":`managed config install`,"install.selectedCount":`Selected: {selected}/{total}`,"install.result":`Result`,"install.resultUnavailable":`Install result unavailable`,"install.futureRefresh":`Future FCM launches will refresh this catalog automatically when the provider list evolves.`,"install.scope.all.label":`Install all models`,"install.scope.all.hint":`Recommended — FCM will refresh this provider catalog automatically later.`,"install.scope.selected.label":`Install selected models only`,"install.scope.selected.hint":`Choose a smaller curated subset for a cleaner model picker.`,"recommend.subtitle":`Answer a few questions to find models for your task.`,"recommend.questionPriority":`What matters most?`,"router.quickSetup":`Quick setup`,"update.checking":`Checking for updates…`,"update.available":`Update available`,"update.whatsNew":`What's new`,"recommend.taskType.quickfix":`Quick fix`,"recommend.taskType.refactor":`Deep refactor`,"recommend.taskType.review":`Code review`,"recommend.taskType.testgen":`Test generation`,"recommend.priority.speed":`Speed`,"recommend.priority.quality":`Quality`,"recommend.priority.balanced":`Balanced`,"recommend.contextBudget.small":`Small file (<4K)`,"recommend.contextBudget.medium":`Medium project (<32K)`,"recommend.contextBudget.large":`Large codebase (>32K)`,"changelog.added":`Added`,"changelog.fixed":`Fixed`,"changelog.changed":`Changed`,"changelog.updated":`Updated`,"help.item.navigation.rows.label":`↑ / ↓`,"help.item.navigation.rows.description":`Navigate rows in the main table (planned — currently mouse-only).`,"help.item.navigation.details.label":`Enter`,"help.item.navigation.details.description":`Open the detail panel for the focused row.`,"help.item.navigation.close.label":`Esc`,"help.item.navigation.close.description":`Close any open modal or detail panel.`,"help.item.filters.tier.label":`Tier chip`,"help.item.filters.tier.description":`Click to cycle through all tiers from S+ to C, then back to All.`,"help.item.filters.status.label":`Status chip`,"help.item.filters.status.description":`Click to cycle through All, Up, Down, and Pending.`,"help.item.filters.verdict.label":`Verdict chip`,"help.item.filters.verdict.description":`Click to cycle through Perfect, Normal, Spiky, Slow, Overloaded, Down, Unstable, and Pending.`,"help.item.filters.health.label":`Health chip`,"help.item.filters.health.description":`Click to cycle through Up, Timeout, Down, Pending, No key, and Auth err.`,"help.item.filters.visibility.label":`Visibility`,"help.item.filters.visibility.description":`Choose all models, configured models, or usable models (UP with a good verdict).`,"help.item.filters.provider.label":`Provider dropdown`,"help.item.filters.provider.description":`Filter the table by provider.`,"help.item.filters.text.label":`Custom text filter`,"help.item.filters.text.description":`Apply from the command palette or use “Apply text filter”; clear it with the X chip.`,"help.item.filters.reset.label":`Reset button`,"help.item.filters.reset.description":`Clear every active filter and restore the default sort.`,"help.item.sort.columns.label":`Click any column header`,"help.item.sort.columns.description":`Cycle through ascending, descending, and the default order.`,"help.item.sort.resize.label":`Resizable columns`,"help.item.sort.resize.description":`Drag a header edge to resize a column. Double-click to reset its width.`,"help.item.favorites.row.label":`Star button (per row)`,"help.item.favorites.row.description":`Click to add or remove a favorite (TUI: F).`,"help.item.favorites.detail.label":`Detail panel`,"help.item.favorites.detail.description":`Favorite a model or reorder it with Up/Down (TUI: Shift+↑/↓).`,"help.item.favorites.pinned.label":`Pinned mode`,"help.item.favorites.pinned.description":`Enable “Pinned + always visible” in Settings (TUI: Y).`,"help.item.favorites.shared.label":`Shared with TUI`,"help.item.favorites.shared.description":`Favorites use the same ~/.free-coding-models.json file as the TUI.`,"help.item.benchmark.global.label":`Header button`,"help.item.benchmark.global.description":`Run an AI Speed Test for every visible model.`,"help.item.benchmark.single.label":`AI Lat. cell`,"help.item.benchmark.single.description":`Click a cell to benchmark that model (TUI: Ctrl+A).`,"help.item.benchmark.detail.label":`Detail panel`,"help.item.benchmark.detail.description":`Use the AI Speed Test button for the selected model (TUI: Ctrl+A).`,"help.item.benchmark.tps.label":`TPS column`,"help.item.benchmark.tps.description":`Shows model tokens per second after a benchmark run.`,"help.item.benchmark.latency.label":`Latency column`,"help.item.benchmark.latency.description":`Shows completion latency, rather than ping time.`,"help.item.tools.shipped.label":`M3 shipped`,"help.item.tools.shipped.description":`Choose a target tool, install endpoints per model, or use the incompatible-target fallback dialog.`,"help.item.palette.shortcut.label":`⌘K / Ctrl+P`,"help.item.palette.shortcut.description":`Toggle the command palette from anywhere in the Web Dashboard.`,"help.item.palette.search.label":`Type to search`,"help.item.palette.search.description":`Search filters, sorts, tools, pages, and theme, ping, and reset actions.`,"help.item.palette.execute.label":`↑ / ↓ + Enter`,"help.item.palette.execute.description":`Move through results and run the highlighted command.`,"help.item.palette.close.label":`Esc`,"help.item.palette.close.description":`Close the palette without running a command.`,"help.item.theme.cycle.label":`Theme button (header)`,"help.item.theme.cycle.description":`Click to cycle through auto, dark, and light (TUI: G).`,"help.item.theme.auto.label":`Auto mode`,"help.item.theme.auto.description":`Follow the operating system color scheme and update automatically.`,"help.item.ping.cadence.label":`Speed / Normal / Slow / Forced`,"help.item.ping.cadence.description":`Set the ping interval to 2s, 10s, 30s, or 4s (TUI: W).`,"help.item.ping.countdown.label":`Next ping countdown`,"help.item.ping.countdown.description":`See the live countdown in the FilterBar.`,"help.item.url.filters.label":`?tier=S+&sort=verdict&origin=groq&view=dashboard`,"help.item.url.filters.description":`Filters, sorting, and the current view appear in the URL so you can share the same dashboard state.`,"help.item.cli.storage.label":`Same storage`,"help.item.cli.storage.description":`The Web Dashboard and TUI read and write the same ~/.free-coding-models.json file.`,"help.item.cli.engine.label":`Same engine`,"help.item.cli.engine.description":`Model parsing, pings, and benchmarks use shared code.`,"help.item.router.smart.label":`Smart router`,"help.item.router.smart.description":`Point an OpenAI-compatible client to http://localhost:19280/v1 with model “fcm”. The daemon selects a healthy model from the active set and retries through fallbacks.`,"help.item.router.prePrompt.label":`Pre-prompt`,"help.item.router.prePrompt.description":`A system message is sent with every proxied request. Edit the default FCM routing prompt in Settings.`,"help.item.router.probes.label":`Probes`,"help.item.router.probes.description":`The daemon sends a one-token chat completion to active models every 10s, 30s, or 120s, depending on probe mode. It checks latency and status code, which also catches invalid API keys.`,"help.item.router.breaker.label":`Circuit breaker`,"help.item.router.breaker.description":`Each model has its own state. Healthy models receive traffic; Down models are skipped until cooldown; Recovering models are retried; Auth error indicates 401/403; Deprecated models are replaced by auto-heal.`,"help.item.router.failover.label":`Failover order`,"help.item.router.failover.description":`Models are tried by priority. Recovering, Down, and Auth error models are skipped. If all models fail, the response is 503 and includes the models_tried list.`,"help.item.router.autoHeal.label":`Auto-heal`,"help.item.router.autoHeal.description":`On daemon start, Auth error and Deprecated models are replaced with working alternatives, starting with the same provider. Manual model changes turn auto-heal off.`,"help.item.router.rateLimits.label":`Rate limits`,"help.item.router.rateLimits.description":`Providers have separate quotas. Common free-tier limits include Groq 14 400 RPD, Mistral 1 RPS, NVIDIA about 40 RPM, and OpenRouter 50 RPD. A 429 triggers failover; exhausted daily quota is handled on the next start.`,"dashboard.favorited":`Favorited`,"dashboard.installEndpoint":`Install endpoint`,"dashboard.installEndpointInTool":`Install endpoint in {tool}`,"dashboard.installModelEndpoint":`Install {model} endpoint in {tool}`,"dashboard.selectModelFirst":`Select a model first`,"dashboard.installSelectedModelEndpoint":`Install selected model endpoint`,"dashboard.installTargetTitle":`Install endpoint into: {tool}`,"dashboard.cycleEndpointTarget":`Cycle endpoint target`,"dashboard.endpointInstallTarget":`Endpoint install target`,"filters.verdict.pending":`Pending`,"dashboard.favoriteModelTitle":`Favorite {model}`,"dashboard.unfavoriteModelTitle":`Unfavorite {model}`,"dashboard.notInSet":`NOT IN SET`,"health.http404":`404 NOT FOUND`,"health.http410":`410 GONE`,"health.http429":`429 TRY LATER`,"health.http500":`500 ERROR`,"health.http502":`502 ERROR`,"health.http503":`503 ERROR`,"health.http504":`504 TIMEOUT`,"health.httpError":`{code} ERROR`,"modelDetail.noApiKey":`No API key configured for {provider}. Open Settings (P) to add one.`,"modelDetail.modelInfo":`Model Info`,"modelDetail.miniPlayground":`Mini Playground — {model}`,"modelDetail.testModel":`Test {model}`,"modelDetail.playgroundPlaceholder":`Type a message…`,"modelDetail.playgroundEmptyHint":`Send a message to test this model. Responses stream in real time with latency + TPS.`,"modelDetail.testAiLatency":`Test AI Latency`,"modelDetail.runningBenchmark":`Running benchmark…`,"modelDetail.running":`Running…`,"modelDetail.tokens":`Tokens`,"modelDetail.generatedText":`Generated text will appear here…`,"palette.description.filter-tier-all":`Show all models`,"palette.description.filter-tier-splus":`Best coding models`,"palette.description.filter-tier-s":`Excellent models`,"palette.description.filter-tier-aplus":`Very good models`,"palette.description.filter-tier-a":`Good models`,"palette.description.filter-tier-aminus":`Solid models`,"palette.description.filter-tier-bplus":`Fair models`,"palette.description.filter-tier-b":`Basic models`,"palette.description.filter-tier-c":`Limited models`,"palette.description.filter-provider-cycle":`Switch between providers`,"palette.description.filter-provider-all":`Show all providers`,"palette.description.filter-configured-toggle":`Show only configured providers that are responding (not noauth/auth error)`,"palette.description.providerModels":`{provider} models`,"palette.description.sort-rank":`Rank by SWE score`,"palette.description.sort-tier":`Group by quality tier`,"palette.description.sort-provider":`Group by provider`,"palette.description.sort-model":`Alphabetical order`,"palette.description.sort-latest-ping":`Recent response time`,"palette.description.sort-avg-ping":`Average response time`,"palette.description.sort-swe":`Coding ability score`,"palette.description.sort-ctx":`Context window size`,"palette.description.sort-health":`Current model status`,"palette.description.sort-verdict":`Overall assessment`,"palette.description.sort-stability":`Reliability score`,"palette.description.sort-uptime":`Success rate`,"palette.description.action-cycle-tool-mode":`Rotate through every launcher mode.`,"palette.description.action-set-tool-opencode":`Launch in OpenCode CLI with the selected model.`,"palette.description.action-set-tool-pi":`Launch Pi with model/provider flags.`,"palette.description.action-set-tool-jcode":`Launch jcode coding agent with the selected model.`,"palette.description.action-set-tool-opencode-desktop":`Set model in shared config, then open OpenCode Desktop.`,"palette.description.action-set-tool-opencode-web":`Set model in shared config, then open OpenCode WebUI.`,"palette.description.action-set-tool-openclaw":`Set default model in OpenClaw and launch it.`,"palette.description.action-set-tool-crush":`Launch Crush with this provider/model pair.`,"palette.description.action-set-tool-goose":`Launch Goose and preselect the active model.`,"palette.description.action-set-tool-aider":`Launch Aider configured on the selected model.`,"palette.description.action-set-tool-kilo":`Set model in shared config, then launch Kilo CLI.`,"palette.description.action-set-tool-qwen":`Launch Qwen Code using the selected provider model.`,"palette.description.action-set-tool-openhands":`Launch OpenHands with the selected model endpoint.`,"palette.description.action-set-tool-amp":`Launch Amp with this model as active target.`,"palette.description.action-set-tool-hermes":`Launch Hermes Agent with the selected model.`,"palette.description.action-set-tool-continue":`Launch Continue CLI with the selected model.`,"palette.description.action-set-tool-cline":`Launch Cline CLI with the selected model.`,"palette.description.action-set-tool-xcode":`Set this as the active launch target.`,"palette.description.action-set-tool-fcm_router":`Set this as the active launch target.`,"palette.description.action-set-tool-caveman":`Caveman Code - token-efficient coding agent (launch with Caveman tool only).`,"palette.description.action-set-tool-copilot":`Set this as the active launch target.`,"palette.description.action-set-tool-forgecode":`Set this as the active launch target.`,"palette.description.action-set-tool-zcode":`Set this as the active launch target.`,"palette.description.action-cycle-ping-mode":`Rotate speed → normal → slow → forced.`,"palette.description.action-set-ping-speed":`Fast 2s bursts for short live checks.`,"palette.description.action-set-ping-normal":`Balanced default cadence for daily use.`,"palette.description.action-set-ping-slow":`Lower refresh cost when you are mostly idle.`,"palette.description.action-set-ping-forced":`Keeps 4s cadence until manually changed.`,"palette.description.action-toggle-favorite-mode":`Switch pinned+sticky ↔ normal list behavior.`,"palette.description.action-favorites-mode-pinned":`Favorites stay on top and bypass current filters.`,"palette.description.action-favorites-mode-normal":`Favorites keep ⭐ but follow active filters and sort.`,"palette.description.action-toggle-favorite":`Star/unstar the highlighted model.`,"palette.description.action-cycle-theme":`Switch dark/light/auto`,"palette.description.action-reset-view":`Reset filters and sort`,"palette.description.action-probe-failed":`Re-test only rows showing errors (auth fail / 429 / 404 / timeout) - not the whole list.`,"palette.description.action-probe-404":`Test all configured models for 404/410 errors. Auto-hides broken models.`,"palette.description.action-toggle-auto-hide-broken":`Enable/disable auto-hiding of 404/410 models. Unhides all when disabled.`,"palette.description.open-settings":`API keys and preferences`,"palette.description.open-help":`Show all shortcuts`,"palette.description.open-changelog":`Version history`,"palette.description.open-recommend":`Find best model for task`,"palette.description.open-playground":`Chat with the FCM router`,"palette.description.open-install-endpoints":`Install provider catalogs`,"palette.description.open-installed-models":`View models configured in tools`}),Qr=Object.freeze({"common.back":`返回`,"common.cancel":`取消`,"common.close":`关闭`,"common.save":`保存`,"common.update":`更新`,"common.retry":`重试`,"common.refresh":`刷新`,"common.search":`搜索`,"common.enabled":`已启用`,"common.disabled":`已停用`,"common.loading":`正在加载…`,"common.unknown":`未知`,"common.language.english":`English`,"common.language.simplifiedChinese":`简体中文`,"nav.dashboard":`仪表盘`,"nav.settings":`设置`,"nav.analytics":`分析`,"nav.recommend":`推荐`,"nav.router":`路由器`,"nav.routerV2":`路由器 v2`,"nav.playground":`Playground`,"nav.help":`帮助`,"nav.installEndpoints":`安装端点`,"nav.installedModels":`已安装模型`,"nav.changelog":`更新日志`,"nav.moreFeatures":`更多功能`,"nav.navigationMenu":`导航菜单`,"nav.commandPalette":`命令面板`,"nav.exportData":`导出数据`,"nav.primary":`主导航`,"settings.title":`设置`,"settings.subtitle":`管理 API Key、语言、主题、收藏和更新。设置保存在本地,并与 TUI 共用。`,"settings.global":`全局设置`,"settings.language":`语言`,"settings.language.description":`选择 TUI 和 Web 仪表盘使用的语言。`,"settings.globalTheme":`全局主题`,"settings.installUpdate":`安装更新(v{version})`,"settings.checkUpdatesManually":`手动检查更新`,"settings.pressToCheckUpdates":`按 Enter 或 U 检查 npm 更新`,"settings.updateCheckFailed":`检查失败(按 U 重试)`,"settings.installingUpdate":`正在安装更新…`,"settings.favoritesMode":`收藏显示方式`,"settings.favoritesNormal":`普通行(遵循筛选和排序)`,"settings.startupSpeedTestEnabled":`✅ 已启用 — 启动后运行 Ctrl+U`,"settings.startupSpeedTestDisabled":`❌ 已停用 — 仅手动运行 Ctrl+U`,"settings.autoHideBrokenModels":`自动隐藏失效模型`,"settings.pressEnterCleanup":`按 Enter 清理旧代理残留`,"settings.viewChangelog":`查看更新日志`,"settings.pressEnterChangelog":`按 Enter 浏览版本历史`,"settings.shellEnvEnabled":`✅ 已启用 — Key 可在 shell 中使用`,"settings.shellEnvNotConfigured":`🔘 尚未配置 — 按 Enter 设置`,"settings.typeApiKey":`输入 API Key`,"settings.navigate":`导航`,"settings.editRunCycle":`编辑/运行/切换`,"settings.addKey":`添加 Key`,"settings.updates":`更新`,"settings.favorites":`收藏`,"settings.toggleCycle":`切换/循环`,"settings.theme.description":`自动模式跟随操作系统设置。`,"settings.theme.auto":`自动(跟随系统)`,"settings.theme.dark":`深色`,"settings.theme.light":`浅色`,"settings.favoritesPinned":`收藏置顶并始终显示`,"settings.favoritesPinned.description":`收藏项置顶,并忽略筛选条件(TUI:Y 键)。`,"settings.startupSpeedTest":`启动时运行 AI 速度测试`,"settings.startupSpeedTest.description":`启动后自动运行全局基准测试。`,"settings.shellEnv":`将 API Key 导出到 shell 配置`,"settings.shellEnv.description":`将已配置服务商的 Key 写入 shell 配置文件。`,"settings.checkUpdates":`检查更新`,"settings.checkUpdates.description":`检查 npm 上是否有新版本。`,"settings.checkNow":`立即检查`,"settings.cleanupLegacy":`清理旧代理残留`,"settings.cleanupLegacy.description":`删除旧版多工具代理留下的配置、环境变量和服务。`,"settings.runCleanup":`开始清理`,"settings.providers":`服务商`,"settings.searchProviders":`搜索服务商…`,"settings.loading":`正在加载设置…`,"settings.keysAndProviderSettings":`API Key 和服务商设置`,"settings.noProviders":`没有匹配的服务商。`,"settings.apiKey":`API Key`,"settings.saveKey":`保存 Key`,"settings.testKey":`测试 Key`,"settings.keySaved":`API Key 已保存。`,"settings.keySaveFailed":`无法保存 API Key。`,"settings.keyRemoved":`API Key 已移除。`,"settings.keyRemoveFailed":`无法移除 API Key。`,"settings.keyTestPassed":`API Key 测试通过。`,"settings.keyTestFailed":`API Key 测试失败。`,"settings.updateAvailable":`有可用更新:v{version}`,"settings.upToDate":`已是最新版本`,"settings.legacyNone":`未发现旧版代理配置。`,"settings.languageSaveFailed":`无法保存语言设置。`,"dashboard.searchPlaceholder":`搜索模型或服务商…`,"dashboard.workingOnly":`仅显示可用`,"dashboard.allModels":`全部模型`,"dashboard.filters":`筛选`,"dashboard.resetView":`重置视图`,"dashboard.provider":`服务商`,"dashboard.allProviders":`全部服务商`,"dashboard.model":`模型`,"dashboard.models":`{count} 个模型`,"dashboard.favorites":`收藏`,"dashboard.favorite":`收藏`,"dashboard.recommended":`推荐`,"dashboard.rank":`排名`,"dashboard.tier":`等级`,"dashboard.latency":`延迟`,"dashboard.stability":`稳定性`,"dashboard.uptime":`可用率`,"dashboard.health":`健康状态`,"dashboard.verdict":`评价`,"dashboard.status":`状态`,"dashboard.search":`搜索`,"dashboard.noModels":`没有符合当前筛选条件的模型。`,"dashboard.noApiKey":`此服务商尚未配置 API Key`,"dashboard.notConfigured":`未配置`,"dashboard.working":`可用`,"dashboard.down":`不可用`,"dashboard.pending":`等待中`,"dashboard.export":`导出`,"dashboard.exportData":`导出模型数据`,"dashboard.aiLatency":`AI 延迟`,"dashboard.aiSpeedTest":`AI 速度测试`,"dashboard.aiSpeedTestRunning":`AI 速度测试进行中 — {completed}/{total}`,"dashboard.runBenchmark":`对当前显示的 {count} 个模型运行延迟测试`,"dashboard.resetToast":`视图已重置为默认设置。`,"filters.tier":`等级`,"filters.status":`状态`,"filters.verdict":`评价`,"filters.health":`健康状态`,"filters.origin":`服务商`,"filters.search":`搜索`,"filters.customPlaceholder":`按文本筛选…`,"filters.pingMode":`探测频率`,"filters.pingEco":`省配额`,"filters.pingBalanced":`均衡`,"filters.pingAggressive":`积极`,"filters.all":`全部`,"help.title":`帮助`,"help.shortcuts":`键盘快捷键`,"help.loading":`正在加载帮助…`,"help.close":`关闭帮助`,"help.openSettings":`打开设置`,"help.openHelp":`打开帮助`,"help.openPalette":`打开命令面板`,"help.selectModel":`选择模型`,"help.toggleFavorite":`切换收藏状态`,"recommend.title":`智能推荐`,"recommend.questionTask":`你要完成什么任务?`,"recommend.questionSpeed":`你需要多快的响应?`,"recommend.next":`下一步`,"recommend.previous":`上一步`,"recommend.showResults":`查看推荐结果`,"recommend.topPicks":`优先推荐`,"recommend.noResults":`没有符合条件的可用模型。`,"recommend.install":`安装端点`,"install.title":`安装端点`,"install.subtitle":`将所选模型端点写入支持的工具配置。`,"install.scope.all":`全部模型`,"install.scope.selected":`所选模型`,"install.models":`模型`,"install.install":`安装端点`,"install.noModels":`没有可安装的兼容模型。`,"install.success":`端点已安装。`,"install.failure":`端点安装失败。`,"install.keyRequired":`请先在设置中添加 API Key。`,"installed.title":`已安装模型`,"installed.empty":`未找到已安装的模型。`,"installed.refresh":`刷新已安装模型`,"analytics.title":`分析`,"analytics.today":`今天`,"analytics.allTime":`全部时间`,"analytics.byModel":`按模型`,"analytics.noUsage":`暂无用量数据。`,"update.upToDate":`已是最新版本`,"update.updateNow":`立即更新`,"update.failed":`检查更新失败。`,"palette.title":`命令面板`,"palette.footerTitle":`命令面板`,"palette.searchPlaceholder":`搜索命令…`,"palette.noResults":`没有找到命令。`,"router.title":`智能路由`,"router.status.running":`运行中`,"router.status.stopped":`已停止`,"router.start":`启动守护进程`,"router.stop":`停止守护进程`,"router.restart":`重启守护进程`,"router.refresh":`刷新`,"router.fallbackChain":`故障转移链`,"router.requests":`已路由请求`,"router.uptime":`运行时间`,"router.noRequests":`尚无已路由的请求。`,"router.model":`模型`,"router.state":`状态`,"router.lastLatency":`最近延迟`,"router.save":`保存`,"router.saved":`已保存`,"router.saving":`正在保存…`,"router.saveFailed":`保存失败`,"router.v2.title":`智能路由器 v2`,"router.v2.beta":`测试版`,"router.v2.validation":`验证`,"router.v2.chainHealth":`链路健康度`,"router.v2.testViaRouter":`通过路由器测试`,"playground.title":`Playground`,"playground.model":`模型`,"playground.persona":`角色设定`,"playground.clear":`清空对话`,"playground.close":`关闭`,"playground.toggleStreaming":`切换流式输出`,"playground.promptPlaceholder":`输入问题,按 Enter 发送,按 Shift+Enter 换行。`,"playground.daemonStopped":`路由器守护进程未运行`,"playground.startDaemon":`启动路由器守护进程`,"playground.startingDaemon":`正在启动路由器守护进程…`,"toast.dismiss":`关闭通知`,"cli.usage":`用法`,"cli.toolFlags":`工具参数`,"cli.analysisFlags":`分析参数`,"cli.configMaintenance":`配置与维护`,"cli.examples":`示例`,"cli.defaultLauncher":`未指定工具参数时的默认启动器:OpenCode CLI`,"cli.combineFlags":`参数可以组合使用:--openclaw --tier S --json`,"cli.helpTitle":`CLI 帮助`,"cli.routerHowItWorks":`FCM 路由器的工作方式`,"cli.routerDaemon":`智能路由器守护进程`,"cli.prePrompt":`预设提示词(系统消息)`,"cli.probeMechanism":`探测机制(每 10/30/120 秒)`,"cli.circuitBreaker":`熔断器(按模型记录状态)`,"cli.failoverOrder":`故障转移顺序`,"cli.autoHeal":`自动修复(默认行为)`,"cli.rateLimits":`速率限制(RPD / RPM / TPM)`,"nav.themeTitle":`主题:{theme}(点击切换自动/深色/浅色)`,"nav.themeLabel":`主题:{theme}。点击切换。`,"filters.provider":`服务商`,"filters.visibility":`显示范围`,"filters.visibility.allHint":`显示所有模型`,"filters.visibility.configured":`仅显示已配置`,"filters.visibility.configuredHint":`隐藏未配置 Key 或认证失败的模型`,"filters.visibility.usable":`仅显示可用`,"filters.visibility.usableHint":`仅显示健康状态正常且评价良好的模型`,"filters.verdict.perfect":`极佳`,"filters.verdict.normal":`正常`,"filters.verdict.spiky":`波动较大`,"filters.verdict.slow":`较慢`,"filters.verdict.overloaded":`过载`,"filters.verdict.unstable":`不稳定`,"filters.health.timeout":`超时`,"filters.health.noKey":`无 Key`,"filters.health.authError":`认证失败`,"filters.ping":`探测`,"filters.pingSpeed":`⚡ 快速`,"filters.pingNormal":`● 普通`,"filters.pingSlow":`🐢 慢速`,"filters.pingForced":`🔥 强制`,"filters.endpointTarget":`端点目标`,"filters.endpointTargetHint":`当前要安装到的工具,可在顶部工具选择器中更改`,"filters.text":`文本`,"filters.clearTextHint":`点击 X 清除(TUI:X 键)`,"filters.clearText":`清除自定义文本筛选(TUI:X)`,"filters.resetTitle":`重置 {count} 项筛选(TUI:N)`,"filters.nextPing":`下次探测`,"dashboard.swe":`SWE%`,"dashboard.context":`上下文`,"dashboard.lastPing":`最近探测`,"dashboard.average":`平均值`,"dashboard.tps":`TPS`,"dashboard.quota":`配额`,"dashboard.trend":`趋势`,"dashboard.noApiKeyState":`尚未配置 API Key,健康状态会显示为“无 Key”`,"dashboard.benchmarking":`基准测试中…`,"dashboard.clickToBenchmark":`点击运行 AI 速度测试(TUI:Ctrl+A)`,"dashboard.customColumnWidths":`自定义列宽`,"dashboard.totalWidth":`总宽度`,"dashboard.restoreColumnWidths":`恢复默认列宽`,"dashboard.resetColumns":`重置列宽`,"dashboard.sortColumn":`排序:{column}(升序 → 降序 → 重置)`,"dashboard.resizeColumn":`拖动调整 {column} 列宽(双击恢复默认)`,"dashboard.resizeColumnAria":`调整 {column} 列宽`,"dashboard.providerModelsTitle":`{provider} — {count} 个模型`,"provider.health.active":`API Key 可用 — 至少一个模型运行正常`,"provider.health.pending":`已设置 API Key — 等待健康状态数据`,"provider.health.down":`已设置 API Key — 模型不可用或认证失败`,"settings.loadFailed":`加载设置失败`,"settings.enterApiKey":`请输入 API Key`,"settings.keySavedForProvider":`{provider} 的 API Key 已保存!`,"settings.networkSaveFailed":`保存时发生网络错误`,"settings.confirmDeleteKey":`确定要删除“{provider}”的 API Key 吗?`,"settings.keyRemovedForProvider":`{provider} 的 API Key 已删除`,"settings.networkDeleteFailed":`删除时发生网络错误`,"settings.providerEnabled":`{provider} 已启用`,"settings.providerDisabled":`{provider} 已停用`,"settings.toggleFailed":`切换设置失败`,"settings.networkError":`网络错误`,"settings.keyTestResult":`{provider} 测试结果:{result}{code}`,"settings.keyTestError":`{provider} 测试失败:{error}`,"settings.settingUpdated":`设置已更新`,"settings.featureUpdateFailed":`更新设置失败`,"settings.shellExportEnabled":`已启用 shell 环境导出 — 重启 shell 后生效。`,"settings.shellExportDisabled":`已停用 shell 环境导出。`,"settings.shellToggleFailed":`切换 shell 环境导出失败`,"settings.confirmLegacyCleanup":`要清理旧版代理配置残留吗?此操作安全。`,"settings.legacyCleanupComplete":`已清理 {count} 个旧文件,发生 {errors} 个错误。`,"settings.legacyCleanupToast":`旧版代理清理完成:已清理 {count} 个文件。`,"settings.legacyCleanupFailed":`清理旧配置失败:{error}`,"settings.expandAll":`全部展开`,"settings.collapseAll":`全部收起`,"settings.test.ok":`正常`,"settings.test.authError":`认证失败`,"settings.test.rateLimited":`触发速率限制`,"settings.test.noCallableModel":`没有可调用的模型`,"settings.test.failed":`失败`,"settings.test.missingKey":`缺少 Key`,"settings.noApiKeySet":`(未设置 Key)`,"settings.noLimitInfo":`暂无限额信息`,"settings.keyDetected":`已检测到 API Key ✅`,"settings.keyMissing":`缺少 API Key ⚠`,"settings.setupInstructions":`设置说明`,"settings.createProviderAccount":`创建服务商账号`,"settings.generateApiKeyHint":`生成 API Key,然后在此行按 Enter 粘贴`,"settings.pressToTestKey":`按 {key} 测试 Key。状态:`,"settings.testDiagnostics":`测试诊断`,"settings.badge.test":`[测试]`,"settings.badge.testing":`[测试中…]`,"settings.badge.testOk":`[测试通过 ✅]`,"settings.badge.missingKey":`[缺少 Key 🔑]`,"settings.badge.authError":`[认证失败 ❌]`,"settings.badge.rateLimited":`[触发速率限制 ⏳]`,"settings.badge.noCallableModel":`[无可调用模型 ⚠]`,"settings.badge.failed":`[测试失败 ❌]`,"settings.lastTest":`上次测试`,"settings.currentApiKey":`当前 API Key`,"settings.hideKey":`隐藏`,"settings.revealKey":`显示`,"settings.testKeyHint":`向服务商测试此 Key(TUI:设置中按 T)`,"settings.testKeyForProvider":`测试 {provider} 的 Key`,"settings.testing":`测试中…`,"settings.deleteKey":`删除 Key`,"settings.updateApiKey":`更新 API Key`,"settings.addApiKey":`添加 API Key`,"settings.apiKeyPlaceholder":`输入 API Key…`,"settings.apiKeyForProvider":`{provider} 的 API Key`,"settings.providerEnabledLabel":`启用服务商`,"settings.providersCount":`{count} 个模型`,"common.wait":`等待`,"dashboard.averageLatency":`平均延迟`,"dashboard.avgPingShort":`平均延迟`,"dashboard.terminalMaximize":`请最大化终端以获得更好的使用体验。`,"dashboard.terminalTooSmall":`当前终端尺寸过小。`,"dashboard.terminalReduceFont":`请缩小字体或增大终端宽度。`,"dashboard.warningWillHide":`此提示将在 {seconds} 秒后隐藏`,"dashboard.pressEscToDismiss":`按 Esc 关闭`,"dashboard.configureApiKeyHint":`按 P 配置 API Key。`,"dashboard.noConfiguredVisibleModels":`已配置的服务商当前没有可显示的模型。`,"dashboard.noKeyShort":`无 Key`,"dashboard.authFailShort":`认证失败`,"dashboard.upShort":`可用`,"filters.verdict.verySlow":`很慢`,"filters.verdict.notActive":`未启用`,"filters.verdict.unusable":`不可用`,"filters.pingSpeedShort":`快速`,"filters.pingNormalShort":`普通`,"filters.pingSlowShort":`慢速`,"filters.pingForcedShort":`强制`,"filters.pingInterval":`探测间隔`,"filters.nextPingShort":`下次`,"filters.tool":`工具`,"help.searchPlaceholder":`搜索帮助、筛选项和快捷键…`,"help.note":`Web 仪表盘以鼠标操作为主。全局快捷键用于打开命令面板,其他操作可在顶部菜单和对话框中找到。`,"help.noMatches":`没有找到与“{query}”匹配的帮助内容。`,"help.filters":`筛选`,"help.sort":`排序`,"help.favorites":`收藏`,"help.speedTest":`AI 速度测试`,"help.toolMode":`工具模式`,"help.palette":`命令面板`,"help.theme":`主题`,"help.pingMode":`探测模式`,"help.deepLinks":`URL 深层链接`,"help.cliParity":`CLI 一致性`,"help.routerHow":`FCM 路由器的工作方式`,"recommend.questionContext":`需要多大的上下文?`,"recommend.findBest":`为当前任务寻找合适的模型`,"recommend.questionProgress":`问题 {step} / {total}`,"recommend.analyzing":`正在分析实时模型目录…`,"recommend.analysisHint":`约 10 秒 · 每秒检查约 2 个模型 · 与 TUI 使用相同评分。`,"recommend.topThree":`推荐模型 Top 3`,"recommend.restart":`重新开始`,"install.step.provider":`服务商`,"install.step.tool":`工具`,"install.step.models":`模型`,"install.step.install":`安装`,"install.chooseProviderHint":`选择一个已配置 API Key 的服务商。`,"install.loadingProviders":`正在加载服务商…`,"install.noProvidersConfigured":`未找到已配置的服务商。请先在设置中添加 API Key。`,"install.modelsCount":`{count} 个模型`,"install.chooseToolHint":`要将 {provider} 的模型安装到哪个工具?`,"install.chooseModelsHint":`选择要从 {provider} 安装到 {tool} 的模型。`,"install.selectModels":`选择模型`,"install.allModelsNotice":`将安装 {provider} 的全部 {count} 个模型。`,"install.installingCount":`正在安装 {count}…`,"install.writingConfig":`正在写入 {tool} 配置`,"install.installed":`安装完成!`,"install.installFailed":`安装失败`,"install.retryHint":`查看通知了解详情。返回后可以重试。`,"install.done":`完成`,"install.next":`下一步`,"installed.scanning":`正在扫描工具配置…`,"installed.noModels":`工具配置中没有找到模型。`,"installed.configureHint":`使用“安装端点”为工具配置模型。`,"installed.notInstalled":`未安装`,"installed.removeTitle":`从配置中移除模型(已保存备份)`,"installed.disabled":`已从 {tool} 停用 {model}。`,"installed.failed":`失败:{error}`,"analytics.subtitle":`实时查看服务商和模型情况`,"analytics.providerHealth":`服务商健康状态概览`,"analytics.fastestModels":`最快模型`,"analytics.tierDistribution":`等级分布`,"analytics.waiting":`等待数据…`,"analytics.waitingPings":`等待探测数据…`,"analytics.loading":`加载中…`,"analytics.noTokenData":`暂无 Token 数据。启动路由器并发送请求即可开始记录。`,"analytics.requests":`{count} 个请求`,"analytics.sevenDayUsage":`近 7 天用量`,"analytics.topModels":`热门模型`,"analytics.topProviders":`热门服务商`,"analytics.tokens":`{count} 个 Token`,"analytics.requestsShort":`{count} 次请求`,"changelog.backToIndex":`返回版本列表(TUI:B)`,"changelog.index":`版本列表`,"changelog.loading":`正在加载更新记录…`,"changelog.failed":`加载更新记录失败:{error}`,"changelog.versionHint":`共 {count} 个版本。选择一个版本查看更新说明。`,"changelog.noReleaseNotes":`v{version} 没有发布说明。`,"changelog.noNotes":`v{version} 没有更新说明。`,"playground.findBest":`为当前任务寻找合适的模型`,"playground.routerOnline":`路由器在线`,"playground.routerOffline":`路由器离线`,"playground.checkingRouter":`正在检查路由器…`,"playground.autoRouterRecommended":`fcm — 智能路由(推荐)`,"playground.messagesTokens":`{messages} 条消息 · {tokens} 个 Token`,"playground.prePromptEnabled":`已启用预设提示词`,"playground.prePromptDisabled":`已停用预设提示词`,"playground.streamOn":`流式输出:开`,"playground.streamOff":`流式输出:关`,"playground.startingRouter":`正在启动路由器…`,"playground.autoStartIn":`将在 {seconds} 秒后自动启动路由器…`,"playground.startRouter":`启动路由器`,"playground.chatViaRouter":`通过 FCM 路由器对话`,"playground.routerHint":`路由器会选择健康状态最佳的模型,并在需要时自动切换。`,"playground.askModel":`向 {model} 提问`,"playground.copyReply":`复制回复`,"playground.addressedModel":`目标模型`,"playground.servedModel":`本次回复使用的模型`,"playground.responseTime":`响应时间(发送至完成)`,"playground.completionTokens":`生成的 Token 数`,"playground.tokensPerSecond":`每秒 Token 数`,"playground.stopped":`已停止`,"playground.fullPlaceholder":`输入问题,按 Enter 发送,按 Shift+Enter 换行。`,"playground.miniPlaceholder":`发送消息…`,"playground.stopGenerating":`停止生成`,"playground.stop":`停止`,"playground.send":`发送`,"router.circuit.healthy":`健康`,"router.circuit.down":`不可用`,"router.circuit.recovering":`恢复中`,"router.circuit.authError":`认证失败`,"router.circuit.deprecated":`已弃用`,"router.circuit.unsupported":`不支持`,"router.circuit.unknown":`未知`,"router.daemonStarted":`路由器守护进程已启动。`,"router.daemonStopped":`路由器守护进程已停止。`,"router.startFailed":`启动失败:{error}`,"router.stopFailed":`停止失败:{error}`,"router.cannotReachDaemon":`无法连接守护进程,可能尚未安装或端口被阻止。`,"router.probingModels":`正在使用你的 Key 探测模型…`,"router.syncedModels":`已同步 {set}:通过 {probes} 次探测找到 {working} 个可用模型。`,"router.syncFailed":`同步失败:{error}`,"router.noFavorites":`你还没有收藏模型,请先收藏一些模型。`,"router.activeSet":`当前模型组:{name}`,"router.probeModeSet":`探测模式已设为 {mode}。`,"router.v2.stopped":`Router v2 已停止`,"router.v2.started":`Router v2 已启动`,"router.v2.startFailed":`启动失败`,"router.v2.stopFailed":`停止失败`,"router.v2.notReachable":`无法连接 Router v2 守护进程({error})。`,"router.v2.notRunning":`Router v2 守护进程未运行。`,"router.v2.checking":`正在检查 Router v2 守护进程…`,"router.v2.betaDescription":`测试版:Router v2 使用独立端口({port})与稳定版并行运行,并共享模型组、模型和 API Key。故障转移会验证响应内容。Anthropic 风格的 Agent 可通过同一端口调用 POST /v1/messages。`,"router.v2.requestsRouted":`已路由请求`,"router.v2.failoverNeeded":`{percent}% 的请求触发了故障转移`,"router.v2.up":`{count} 个可用`,"router.v2.degraded":`{count} 个降级`,"router.v2.open":`{count} 个熔断`,"router.v2.strict":`严格`,"router.v2.lastResort":`最后备用:{model}`,"router.v2.fallbackChain":`故障转移链`,"router.v2.exactOrder":`下一次请求将按此顺序尝试`,"router.v2.lastLatency":`最近延迟`,"router.v2.emptyCandidates":`没有可用候选项(可能缺少 Key 或所有模型均不可用)。`,"router.v2.testTitle":`通过路由链发送一次真实的指定请求`,"router.v2.testing":`测试中…`,"router.v2.failed":`失败`,"router.v2.test":`测试`,"router.v2.testTopThree":`通过路由器测试前 3 个模型`,"router.v2.requestChains":`请求链路`,"router.v2.attemptsHint":`每次尝试、跳过原因和最终响应的模型`,"router.v2.outcome.served":`已响应`,"router.v2.outcome.aborted":`已中止`,"router.v2.outcome.failed":`失败`,"common.select":`选择`,"common.expand":`展开`,"common.reset":`重置`,"filters.visibility.all":`全部模型`,"dashboard.globalBenchmark":`全局 AI 速度测试(会消耗较多请求)`,"recommend.task":`任务`,"recommend.priority":`优先级`,"recommend.context":`上下文`,"recommend.pinging":`正在以每秒 2 次的频率探测模型,获取最新延迟…`,"help.columns":`数据列说明`,"help.mainTui":`TUI 主界面`,"help.controls":`操作`,"cli.mode":`模式`,"cli.flags":`CLI 参数`,"router.activeSetLabel":`当前模型组`,"router.familyFailover":`同系列故障转移`,"router.syncBest":`同步可用模型`,"router.useFavorites":`使用收藏`,"router.probeAll":`探测全部`,"router.noActiveSetModels":`当前模型组没有模型`,"router.addSetModelsHint":`从下方选择器添加模型,或点击上方按钮同步可用模型。`,"router.primary":`首选`,"router.triesFirst":`优先尝试`,"router.fallback":`备用`,"router.onFailure":`失败或触发速率限制时使用`,"router.nextUp":`下一个`,"router.addModelTo":`添加模型到`,"router.searchModels":`按服务商、模型或名称搜索…`,"router.noModelsMatch":`没有符合筛选条件的模型。`,"router.alreadyInSet":`已在模型组中`,"router.moveUp":`上移`,"router.moveDown":`下移`,"router.removeFromSet":`从模型组移除`,"router.noActiveRequests":`当前没有活动请求。`,"router.noRequestsYet":`暂无请求。开始编写代码后,这里会显示流量。`,"router.stalled":`卡住了吗?`,"router.processing":`处理中…`,"router.savingStatus":`正在保存…`,"router.savedStatus":`✓ 已保存`,"router.routesVia":`经由`,"router.fallbackHint":`查看故障转移链`,"router.miniPlaceholder":`测试路由器…(例如:写一首关于 TypeScript 的俳句)`,"router.testKeyHint":`重新探测 API Key,仅保留实际可用的模型`,"router.useFavoritesHint":`用你收藏的模型替换当前路由模型`,"router.benchmarkSetHint":`测试此模型组中每个模型的 AI 延迟和 TPS`,"router.syncBestHint":`使用当前 API Key 重新探测,并仅保留可用模型`,"router.switchSetHint":`切换当前模型组`,"router.liveHeaders":`来自响应头的实时数据(不会额外发送请求)`,"router.pasteIntoToolConfig":`复制到你的编程工具配置中`,"router.routerModels":`路由模型`,"router.favoritesFallbackOrder":`按收藏顺序依次尝试`,"router.noFavoritesTui":`还没有收藏。按 Esc 返回,然后按 F 收藏模型。`,"router.installEndpointCli":`将路由端点安装到 CLI 工具`,"router.lifetime":`累计`,"router.activeRequests":`活动请求`,"router.recentRequests":`最近请求`,"router.time":`时间`,"router.detail":`详情`,"router.reorder":`调整顺序`,"router.healthCheck":`健康检查`,"router.clearLog":`清除日志`,"router.models":`模型`,"router.clearHistory":`清除历史记录`,"router.circuit.degraded":`降级`,"router.circuit.probing":`探测中`,"router.circuit.quotaPaused":`配额暂停`,"router.v2.pointToolAtV2":`将编程工具指向 v2`,"router.v2.orPinOne":`或指定模型:`,"router.v2.failoverRate":`故障转移率`,"router.v2.startToSeeChain":`启动守护进程以查看实时路由链。`,"router.v2.noHistory":`暂无历史记录(守护进程已停止)。`,"router.v2.probes":`探测模式`,"router.v2.lastError":`最近错误`,"dashboard.uptimeShort":`可用率`,"update.retryHint":`按 Shift+U 重试更新`,"update.clickToInstall":`点击此处或按 Shift+U 更新`,"filters.disableFilter":`关闭筛选`,"playground.prePromptHint":`作为第一条系统消息注入路由器角色设定`,"playground.runCommand":`也可以在终端中运行:`,"playground.waitingForDaemon":`守护进程正在启动,准备好后即可开始对话。`,"playground.emptyTitle":`10 秒体验 FCM 路由器`,"playground.emptyHint":`请求会路由到当前模型组中健康状态最佳的模型,也可以直接发送到你选定的模型。每条回复下方都会显示所用模型、延迟和 TPS。`,"router.v2.startStableHint":`也可以点击上方按钮启动。稳定版 Router v1 会继续运行在 19280 端口。`,"router.v2.outcome":`结果`,"router.v2.wallTime":`总耗时`,"router.v2.lastResortTag":`最后备用`,"router.v2.attempts":`尝试记录`,"router.v2.skipped":`已跳过`,"router.v2.openAiTools":`OpenAI 兼容工具`,"router.v2.anthropicTools":`Anthropic 协议 Agent`,"router.v2.pinOneHint":`指定单个模型用于测试或专属流量:`,"common.none":`无`,"router.brokenModels":`当前模型组中有 {count} 个模型没有响应`,"router.autoHealWarning":`启动时已执行自动修复,但替换模型可能仍不可用。`,"router.fixNow":`立即修复`,"router.copied":`已复制!`,"router.copyAll":`复制全部`,"router.baseUrl":`基础 URL`,"router.requestsCount":`{count} 个请求`,"router.stoppedHint":`智能故障转移路由器。启动后会将请求发送到健康状态最佳的模型。`,"router.starting":`正在启动…`,"router.stopping":`正在停止…`,"router.activeSetModels":`当前模型组({count} 个模型)`,"router.familyFailoverHint":`模型失败时,先尝试其他服务商上的同系列模型,再切换到下一个模型。`,"router.probing":`探测中…`,"router.addModel":`添加模型`,"router.primaryTitle":`首选模型,每个请求都会优先尝试`,"router.fallbackTitle":`备用模型 #{index},高优先级模型失败或触发速率限制时使用`,"router.probeMode":`探测模式`,"router.requestLog":`请求日志`,"router.testRouter":`测试路由器`,"router.testEmptyHint":`发送一条消息,查看路由器选择的模型、延迟和 TPS。`,"router.runtimeTelemetry":`运行时数据`,"router.callsTrackedLocal":`已记录 {count} 次调用 · 仅本地保存`,"router.providerQuota":`服务商配额`,"playground.routerStartError":"路由器未运行。按 R 启动,或运行 `free-coding-models --daemon-bg`。","playground.sending":`正在发送…`,"playground.tuiHotkeys":`Enter 发送 · Shift+Tab 切换模型 · Ctrl+S 切换流式输出 · Esc 关闭 · Ctrl+L 清空`,"playground.you":`你`,"playground.routed":`路由至`,"playground.tokensShort":`Token`,"playground.fallbackShort":`次故障转移`,"playground.waitingResponse":`等待响应中,按 Esc 停止`,"playground.draftPlaceholder":`输入消息并按 Enter…`,"playground.enterToSend":`按 Enter 发送`,"playground.pinModel":`可指定模型`,"common.error":`错误`,"cli.flag.best":`仅显示最高等级模型(A+、S、S+)`,"cli.flag.fiable":`运行 10 秒可靠性分析模式`,"cli.flag.json":`以 JSON 格式输出,便于脚本和自动化处理`,"cli.flag.tier":`按等级系列筛选模型`,"cli.flag.recommend":`启动时打开智能推荐`,"cli.flag.premium":`启动时启用 S 级筛选和评价排序`,"cli.flag.sort":`按指定列排序`,"cli.flag.direction":`设置升序或降序`,"cli.flag.origin":`按服务商筛选模型`,"cli.flag.pingInterval":`设置探测间隔(毫秒)`,"cli.flag.hideUnconfigured":`隐藏未配置 API Key 的模型`,"cli.flag.showUnconfigured":`显示所有模型,包括未配置 API Key 的模型`,"cli.flag.reprobe":`重建探测缓存,并跳过缓存中健康的模型`,"cli.flag.probeTtl":`设置健康探测结果的缓存时长`,"cli.flag.showBroken":`显示被探测缓存标记为不可用的模型`,"cli.flag.checkDrift":`比较 sources.js 与 models.dev 并报告差异`,"cli.flag.driftThreshold":`仅在差异数量达到此值时判定失败`,"cli.flag.web":`启动实时 Web 仪表盘`,"cli.flag.playground":`打开 TUI Playground,必要时自动启动路由器`,"cli.flag.daemon":`启动路由器守护进程和 Web 仪表盘`,"cli.flag.daemonBg":`在后台启动路由器守护进程`,"cli.flag.daemonStatus":`以 JSON 格式输出路由器状态`,"cli.flag.daemonStop":`正常停止路由器守护进程`,"cli.flag.routerV2":`在 19380 端口启动 Router v2 守护进程`,"cli.flag.routerV2Bg":`在后台启动 Router v2`,"cli.flag.routerV2Status":`以 JSON 格式输出 Router v2 状态`,"cli.flag.routerV2Stop":`正常停止 Router v2 守护进程`,"cli.flag.syncSet":`为路由模型组发现并探测模型`,"cli.flag.configDir":`将 config.json 和备份保存到指定目录`,"cli.flag.fixPermissions":`无需确认,直接设置安全的配置文件权限`,"cli.flag.noTelemetry":`本次运行停用匿名遥测`,"cli.flag.help":`显示此帮助并退出`,"palette.placeholder":`输入命令…(筛选、排序、工具、主题、探测、导出)`,"palette.noMatch":`没有匹配的命令。`,"palette.navigate":`导航`,"palette.select":`选择`,"palette.poweredByTui":`使用与 TUI 相同的命令列表`,"palette.section.filter":`筛选`,"palette.section.sort":`排序`,"palette.section.action":`操作`,"palette.section.page":`页面`,"palette.section.update":`更新`,"palette.section.tool":`工具`,"palette.updateNow":`立即更新`,"palette.versionAvailable":`版本可用`,"palette.notAvailable":`此命令暂不可用。`,"palette.notWired":`此命令暂未接入 Web。`,"palette.toolModeNotReady":`工具模式选择器暂不可用。`,"palette.favoriteHint":`在表格的模型行中按 F 键。`,"palette.favoriteModeHint":`请在设置中选择收藏显示方式。`,"palette.benchmarkHint":`点击 AI 延迟单元格可测试当前选中的模型。`,"palette.providerFilterHint":`请使用筛选栏中的服务商下拉菜单。`,"palette.tierFilterHint":`请使用筛选栏中的等级标签。`,"palette.visibilityFilterHint":`请使用筛选栏中的显示方式下拉菜单。`,"palette.sortHint":`点击表格列标题进行排序。`,"palette.web.openHelp":`打开帮助`,"palette.web.openChangelog":`打开更新日志`,"palette.web.openPlayground":`打开 Playground`,"palette.web.openInstallEndpoints":`打开安装端点`,"palette.web.openInstalledModels":`打开已安装模型`,"palette.web.cycleTheme":`切换主题(当前:{theme})`,"palette.web.resetView":`重置视图(筛选和排序)`,"palette.web.pingMode":`探测模式 → {mode}`,"palette.web.exportModels":`导出模型…`,"palette.command.filters":`筛选`,"palette.command.filter-tier":`按等级筛选`,"palette.command.filter-tier-all":`所有等级`,"palette.command.filter-tier-splus":`S+ 级`,"palette.command.filter-tier-s":`S 级`,"palette.command.filter-tier-aplus":`A+ 级`,"palette.command.filter-tier-a":`A 级`,"palette.command.filter-tier-aminus":`A- 级`,"palette.command.filter-tier-bplus":`B+ 级`,"palette.command.filter-tier-b":`B 级`,"palette.command.filter-tier-c":`C 级`,"palette.command.filter-provider":`按服务商筛选`,"palette.command.filter-provider-cycle":`切换服务商`,"palette.command.filter-provider-all":`所有服务商`,"palette.command.filter-model":`按模型筛选`,"palette.command.filter-other":`其他筛选`,"palette.command.filter-configured-toggle":`仅显示已配置且可用的模型`,"palette.command.sort":`排序`,"palette.command.sort-rank":`按排名排序`,"palette.command.sort-tier":`按等级排序`,"palette.command.sort-provider":`按服务商排序`,"palette.command.sort-model":`按模型排序`,"palette.command.sort-latest-ping":`按最近延迟排序`,"palette.command.sort-avg-ping":`按平均延迟排序`,"palette.command.sort-swe":`按 SWE 分数排序`,"palette.command.sort-ctx":`按上下文长度排序`,"palette.command.sort-health":`按健康状态排序`,"palette.command.sort-verdict":`按综合评价排序`,"palette.command.sort-stability":`按稳定性排序`,"palette.command.sort-uptime":`按可用率排序`,"palette.command.actions":`操作`,"palette.command.action-target-tool":`目标工具`,"palette.command.action-cycle-tool-mode":`切换目标工具`,"palette.command.action-ping-mode":`探测模式`,"palette.command.action-cycle-ping-mode":`切换探测模式`,"palette.command.action-set-ping-speed":`快速模式(2 秒)`,"palette.command.action-set-ping-normal":`普通模式(10 秒)`,"palette.command.action-set-ping-slow":`慢速模式(30 秒)`,"palette.command.action-set-ping-forced":`强制模式(4 秒)`,"palette.command.action-favorites-mode":`收藏模式`,"palette.command.action-toggle-favorite-mode":`切换收藏模式`,"palette.command.action-favorites-mode-pinned":`置顶并始终显示`,"palette.command.action-favorites-mode-normal":`普通行(仅标星)`,"palette.command.action-toggle-favorite":`切换所选模型的收藏状态`,"palette.command.action-cycle-theme":`切换主题`,"palette.command.action-reset-view":`重置视图`,"palette.command.action-probe-failed":`重新探测失效模型`,"palette.command.action-probe-404":`探测所有模型(404)`,"palette.command.action-toggle-auto-hide-broken":`切换自动隐藏失效模型`,"palette.command.open-settings":`设置`,"palette.command.open-help":`帮助`,"palette.command.open-changelog":`更新日志`,"palette.command.open-recommend":`智能推荐`,"palette.command.open-playground":`Playground`,"palette.command.open-install-endpoints":`安装端点`,"palette.command.open-installed-models":`已安装模型`,"update.availableTitle":`有可用更新:v{version}。点击安装。`,"update.availableDescription":`npm 上有新版本 v{version}。更新后请重启仪表盘以应用更改。`,"update.now":`立即更新`,"settings.removeKey":`移除 Key`,"settings.theme":`主题`,"help.navigation":`导航`,"analytics.tokenUsage":`Token 用量`,"install.selectProvider":`选择服务商`,"install.selectTool":`选择工具`,"common.stepNumber":`第 {step}/{total} 步`,"install.tuiSubtitle":`将服务商模型目录安装到支持的编程工具中。`,"install.chooseConfiguredProvider":`选择已配置的服务商`,"install.chooseTargetTool":`选择目标工具`,"install.chooseInstallScope":`选择安装范围`,"install.chooseModelsToInstall":`选择要安装的模型`,"install.provider":`服务商`,"install.tool":`工具`,"install.directProvider":`直连服务商`,"install.sharedConfigFile":`共用配置文件`,"install.envFile":`环境变量文件(~/.fcm-*-env)`,"install.managedConfig":`托管配置安装`,"install.selectedCount":`已选择:{selected}/{total}`,"install.result":`结果`,"install.resultUnavailable":`安装结果不可用`,"install.futureRefresh":`FCM 后续启动时会根据服务商目录的变化自动刷新。`,"install.scope.all.label":`安装所有模型`,"install.scope.all.hint":`推荐,FCM 后续会自动刷新此服务商的模型目录。`,"install.scope.selected.label":`仅安装所选模型`,"install.scope.selected.hint":`选择更精简的模型列表,便于使用。`,"recommend.subtitle":`回答几个问题,为当前任务找到合适的模型。`,"recommend.questionPriority":`你最看重什么?`,"router.quickSetup":`快速设置`,"update.checking":`正在检查更新…`,"update.available":`有可用更新`,"update.whatsNew":`更新内容`,"recommend.taskType.quickfix":`快速修复`,"recommend.taskType.refactor":`深度重构`,"recommend.taskType.review":`代码审查`,"recommend.taskType.testgen":`生成测试`,"recommend.priority.speed":`速度`,"recommend.priority.quality":`质量`,"recommend.priority.balanced":`均衡`,"recommend.contextBudget.small":`小型文件(<4K)`,"recommend.contextBudget.medium":`中型项目(<32K)`,"recommend.contextBudget.large":`大型代码库(>32K)`,"changelog.added":`新增`,"changelog.fixed":`修复`,"changelog.changed":`变更`,"changelog.updated":`更新`,"help.item.navigation.rows.label":`↑ / ↓`,"help.item.navigation.rows.description":`主表行导航(计划支持,目前请使用鼠标)。`,"help.item.navigation.details.label":`Enter`,"help.item.navigation.details.description":`打开当前行的详细信息面板。`,"help.item.navigation.close.label":`Esc`,"help.item.navigation.close.description":`关闭当前打开的弹窗或详细信息面板。`,"help.item.filters.tier.label":`等级标签`,"help.item.filters.tier.description":`点击循环切换 S+、S、A+、A、A-、B+、B、C 等级,然后返回“全部”。`,"help.item.filters.status.label":`状态标签`,"help.item.filters.status.description":`点击循环切换“全部”“可用”“不可用”和“等待中”。`,"help.item.filters.verdict.label":`评价标签`,"help.item.filters.verdict.description":`点击循环切换“极佳”“正常”“波动”“较慢”“过载”“不可用”“不稳定”和“等待中”。`,"help.item.filters.health.label":`健康状态标签`,"help.item.filters.health.description":`点击循环切换“可用”“超时”“不可用”“等待中”“缺少 Key”和“认证错误”。`,"help.item.filters.visibility.label":`显示范围`,"help.item.filters.visibility.description":`选择显示全部模型、仅显示已配置模型,或仅显示可用模型(状态为 UP 且评价良好)。`,"help.item.filters.provider.label":`服务商下拉菜单`,"help.item.filters.provider.description":`按服务商筛选表格。`,"help.item.filters.text.label":`文本筛选`,"help.item.filters.text.description":`从命令面板应用文本筛选,或选择“应用文本筛选”;点击 X 标签可清除。`,"help.item.filters.reset.label":`重置按钮`,"help.item.filters.reset.description":`清除所有筛选,并恢复默认排序。`,"help.item.sort.columns.label":`点击任意列标题`,"help.item.sort.columns.description":`依次切换升序、降序和默认顺序。`,"help.item.sort.resize.label":`调整列宽`,"help.item.sort.resize.description":`拖动列标题边缘调整宽度,双击可恢复默认宽度。`,"help.item.favorites.row.label":`每行的星标按钮`,"help.item.favorites.row.description":`点击收藏或取消收藏模型(TUI:F 键)。`,"help.item.favorites.detail.label":`详细信息面板`,"help.item.favorites.detail.description":`收藏模型,或使用上/下按钮调整顺序(TUI:Shift+↑/↓)。`,"help.item.favorites.pinned.label":`置顶模式`,"help.item.favorites.pinned.description":`在设置中启用“收藏置顶并始终显示”(TUI:Y 键)。`,"help.item.favorites.shared.label":`与 TUI 共用`,"help.item.favorites.shared.description":`收藏保存在与 TUI 共用的 ~/.free-coding-models.json 文件中。`,"help.item.benchmark.global.label":`标题栏按钮`,"help.item.benchmark.global.description":`为所有当前可见模型运行 AI 速度测试。`,"help.item.benchmark.single.label":`AI 延迟单元格`,"help.item.benchmark.single.description":`点击单元格可单独测试该模型(TUI:Ctrl+A)。`,"help.item.benchmark.detail.label":`详细信息面板`,"help.item.benchmark.detail.description":`点击 AI 速度测试按钮测试当前模型(TUI:Ctrl+A)。`,"help.item.benchmark.tps.label":`TPS 列`,"help.item.benchmark.tps.description":`基准测试完成后显示模型每秒生成的 Token 数。`,"help.item.benchmark.latency.label":`延迟列`,"help.item.benchmark.latency.description":`显示模型完整响应的延迟,而不只是探测延迟。`,"help.item.tools.shipped.label":`M3 已支持`,"help.item.tools.shipped.description":`选择目标工具、逐个模型安装端点,或使用目标不兼容时的备用方案弹窗。`,"help.item.palette.shortcut.label":`⌘K / Ctrl+P`,"help.item.palette.shortcut.description":`在 Web 仪表盘任意位置打开或关闭命令面板。`,"help.item.palette.search.label":`输入内容搜索`,"help.item.palette.search.description":`搜索筛选、排序、工具、页面、主题、探测和重置操作。`,"help.item.palette.execute.label":`↑ / ↓ + Enter`,"help.item.palette.execute.description":`移动选择项,并运行高亮的命令。`,"help.item.palette.close.label":`Esc`,"help.item.palette.close.description":`关闭命令面板,不运行命令。`,"help.item.theme.cycle.label":`标题栏主题按钮`,"help.item.theme.cycle.description":`点击循环切换自动、深色和浅色主题(TUI:G 键)。`,"help.item.theme.auto.label":`自动模式`,"help.item.theme.auto.description":`跟随操作系统的配色偏好并自动更新。`,"help.item.ping.cadence.label":`快速 / 普通 / 慢速 / 强制`,"help.item.ping.cadence.description":`设置探测间隔为 2 秒、10 秒、30 秒或 4 秒(TUI:W 键)。`,"help.item.ping.countdown.label":`下次探测倒计时`,"help.item.ping.countdown.description":`在筛选栏中查看实时倒计时。`,"help.item.url.filters.label":`?tier=S+&sort=verdict&origin=groq&view=dashboard`,"help.item.url.filters.description":`筛选、排序和当前页面会保存在 URL 中,可以分享带有当前仪表盘状态的链接。`,"help.item.cli.storage.label":`共用配置`,"help.item.cli.storage.description":`Web 仪表盘和 TUI 读取并写入同一个 ~/.free-coding-models.json 文件。`,"help.item.cli.engine.label":`共用引擎`,"help.item.cli.engine.description":`模型解析、探测和基准测试共用同一套代码。`,"help.item.router.smart.label":`智能路由`,"help.item.router.smart.description":`将 OpenAI 兼容客户端指向 http://localhost:19280/v1,并设置模型为“fcm”。守护进程会从当前模型组中选择健康模型,失败时自动切换备用模型。`,"help.item.router.prePrompt.label":`预设提示词`,"help.item.router.prePrompt.description":`每个代理请求都会附带一条系统消息。可以在设置中编辑默认的 FCM 路由提示词。`,"help.item.router.probes.label":`探测`,"help.item.router.probes.description":`守护进程会根据探测模式,每 10 秒、30 秒或 120 秒向模型组发送一个 Token 的聊天补全请求。检查延迟和状态码,也能发现无效的 API Key。`,"help.item.router.breaker.label":`熔断器`,"help.item.router.breaker.description":`每个模型都有独立状态。健康模型接收流量;不可用模型在冷却前会被跳过;恢复中的模型会再次探测;认证错误表示 401/403;已弃用模型会由自动修复功能替换。`,"help.item.router.failover.label":`故障转移顺序`,"help.item.router.failover.description":`模型按优先级依次尝试。恢复中、不可用或认证错误的模型会被跳过。所有模型都失败时会返回 503,并在错误内容中附上 models_tried 列表。`,"help.item.router.autoHeal.label":`自动修复`,"help.item.router.autoHeal.description":`守护进程启动时,会用可用模型替换认证错误或已弃用的模型,并优先选择同一服务商。手动添加、移除或调整模型顺序后,自动修复会关闭。`,"help.item.router.rateLimits.label":`速率限制`,"help.item.router.rateLimits.description":`各服务商的配额彼此独立。常见免费额度包括 Groq 每日 14,400 次、Mistral 每秒 1 次、NVIDIA 约每分钟 40 次、OpenRouter 每日 50 次。遇到 429 时会切换模型;每日配额耗尽后会在下次启动时处理。`,"dashboard.favorited":`已收藏`,"dashboard.installEndpoint":`安装端点`,"dashboard.installEndpointInTool":`将端点安装到 {tool}`,"dashboard.installModelEndpoint":`将 {model} 端点安装到 {tool}`,"dashboard.selectModelFirst":`请先选择模型`,"dashboard.installSelectedModelEndpoint":`安装所选模型端点`,"dashboard.installTargetTitle":`安装端点到:{tool}`,"dashboard.cycleEndpointTarget":`切换端点目标`,"dashboard.endpointInstallTarget":`端点安装目标`,"filters.verdict.pending":`等待中`,"dashboard.favoriteModelTitle":`收藏 {model}`,"dashboard.unfavoriteModelTitle":`取消收藏 {model}`,"dashboard.notInSet":`未加入模型组`,"health.http404":`404 未找到`,"health.http410":`410 已失效`,"health.http429":`429 触发速率限制`,"health.http500":`500 服务器错误`,"health.http502":`502 网关错误`,"health.http503":`503 服务不可用`,"health.http504":`504 请求超时`,"health.httpError":`{code} 错误`,"modelDetail.noApiKey":`{provider} 尚未配置 API Key。请按 P 打开设置。`,"modelDetail.modelInfo":`模型信息`,"modelDetail.miniPlayground":`迷你 Playground — {model}`,"modelDetail.testModel":`测试 {model}`,"modelDetail.playgroundPlaceholder":`输入消息…`,"modelDetail.playgroundEmptyHint":`发送消息以测试此模型。回复会实时显示,并附带延迟和 TPS。`,"modelDetail.testAiLatency":`测试 AI 延迟`,"modelDetail.runningBenchmark":`正在运行基准测试…`,"modelDetail.running":`正在运行…`,"modelDetail.tokens":`Token 数`,"modelDetail.generatedText":`生成的文本会显示在这里…`,"palette.description.filter-tier-all":`显示所有模型`,"palette.description.filter-tier-splus":`编程能力最强的模型`,"palette.description.filter-tier-s":`表现出色的模型`,"palette.description.filter-tier-aplus":`表现很好的模型`,"palette.description.filter-tier-a":`表现良好的模型`,"palette.description.filter-tier-aminus":`表现稳定的模型`,"palette.description.filter-tier-bplus":`表现一般的模型`,"palette.description.filter-tier-b":`基础能力模型`,"palette.description.filter-tier-c":`能力有限的模型`,"palette.description.filter-provider-cycle":`切换服务商`,"palette.description.filter-provider-all":`显示所有服务商`,"palette.description.filter-configured-toggle":`仅显示已配置且响应正常的服务商(排除无 Key 和认证错误)`,"palette.description.providerModels":`{provider} 模型`,"palette.description.sort-rank":`按 SWE 分数排序`,"palette.description.sort-tier":`按质量等级分组`,"palette.description.sort-provider":`按服务商分组`,"palette.description.sort-model":`按字母顺序排列`,"palette.description.sort-latest-ping":`按最近响应时间排序`,"palette.description.sort-avg-ping":`按平均响应时间排序`,"palette.description.sort-swe":`按编程能力分数排序`,"palette.description.sort-ctx":`按上下文窗口大小排序`,"palette.description.sort-health":`按模型当前状态排序`,"palette.description.sort-verdict":`按综合评价排序`,"palette.description.sort-stability":`按稳定性排序`,"palette.description.sort-uptime":`按成功率排序`,"palette.description.action-cycle-tool-mode":`循环切换可用的启动工具。`,"palette.description.action-set-tool-opencode":`使用所选模型启动 OpenCode CLI。`,"palette.description.action-set-tool-pi":`使用模型和服务商参数启动 Pi。`,"palette.description.action-set-tool-jcode":`使用所选模型启动 jcode 编程助手。`,"palette.description.action-set-tool-opencode-desktop":`在共享配置中设置模型,然后打开 OpenCode Desktop。`,"palette.description.action-set-tool-opencode-web":`在共享配置中设置模型,然后打开 OpenCode WebUI。`,"palette.description.action-set-tool-openclaw":`在 OpenClaw 中设为默认模型并启动。`,"palette.description.action-set-tool-crush":`使用此服务商和模型启动 Crush。`,"palette.description.action-set-tool-goose":`启动 Goose 并预选当前模型。`,"palette.description.action-set-tool-aider":`使用所选模型配置并启动 Aider。`,"palette.description.action-set-tool-kilo":`在共享配置中设置模型,然后启动 Kilo CLI。`,"palette.description.action-set-tool-qwen":`使用所选服务商模型启动 Qwen Code。`,"palette.description.action-set-tool-openhands":`使用所选模型端点启动 OpenHands。`,"palette.description.action-set-tool-amp":`将此模型设为目标并启动 Amp。`,"palette.description.action-set-tool-hermes":`使用所选模型启动 Hermes Agent。`,"palette.description.action-set-tool-continue":`使用所选模型启动 Continue CLI。`,"palette.description.action-set-tool-cline":`使用所选模型启动 Cline CLI。`,"palette.description.action-set-tool-xcode":`将此模型设为当前启动目标。`,"palette.description.action-set-tool-fcm_router":`将此模型设为当前启动目标。`,"palette.description.action-set-tool-caveman":`Caveman Code:节省 Token 的编程助手(仅使用 Caveman 工具启动)。`,"palette.description.action-set-tool-copilot":`将此模型设为当前启动目标。`,"palette.description.action-set-tool-forgecode":`将此模型设为当前启动目标。`,"palette.description.action-set-tool-zcode":`将此模型设为当前启动目标。`,"palette.description.action-cycle-ping-mode":`循环切换快速、普通、慢速和强制模式。`,"palette.description.action-set-ping-speed":`短时检查时以 2 秒间隔快速探测。`,"palette.description.action-set-ping-normal":`日常使用的均衡默认间隔。`,"palette.description.action-set-ping-slow":`空闲时降低刷新频率。`,"palette.description.action-set-ping-forced":`保持 4 秒探测间隔,直到手动更改。`,"palette.description.action-toggle-favorite-mode":`切换置顶模式和普通列表模式。`,"palette.description.action-favorites-mode-pinned":`收藏项置顶显示,并忽略当前筛选条件。`,"palette.description.action-favorites-mode-normal":`收藏项保留星标,并遵循当前筛选和排序。`,"palette.description.action-toggle-favorite":`收藏或取消收藏当前选中的模型。`,"palette.description.action-cycle-theme":`切换深色、浅色和自动主题。`,"palette.description.action-reset-view":`重置筛选和排序。`,"palette.description.action-probe-failed":`仅重新探测出现错误的行(认证失败、429、404、超时),不检查整个列表。`,"palette.description.action-probe-404":`检查所有已配置模型是否返回 404/410,并自动隐藏失效模型。`,"palette.description.action-toggle-auto-hide-broken":`启用或停用自动隐藏 404/410 模型;停用时会显示所有模型。`,"palette.description.open-settings":`API Key 和偏好设置`,"palette.description.open-help":`查看所有快捷键`,"palette.description.open-changelog":`查看版本历史`,"palette.description.open-recommend":`查找适合当前任务的模型`,"palette.description.open-playground":`通过 FCM 路由器与模型对话`,"palette.description.open-install-endpoints":`安装服务商模型目录`,"palette.description.open-installed-models":`查看工具中已配置的模型`}),$r=Object.freeze([`en`,`zh-CN`]),ei=Object.freeze([Object.freeze({value:`en`,labelKey:`common.language.english`}),Object.freeze({value:`zh-CN`,labelKey:`common.language.simplifiedChinese`})]),ti=Object.freeze({en:Zr,"zh-CN":Qr}),ni=`en`;function ri(e){return $r.includes(e)?e:`en`}function ii(){return ni}function ai(e){return ni=ri(e),ni}function oi(e=ti){return(t,n,r={})=>{if(typeof n!=`string`)return``;let i=e[ri(t)]?.[n],a=e.en?.[n];return(typeof i==`string`?i:typeof a==`string`?a:n).replace(/\{([\w.]+)\}/g,(e,t)=>{let n=r&&Object.prototype.hasOwnProperty.call(r,t)?r[t]:void 0;return n==null?e:String(n)})}}var si=oi();function ci(e,t={}){return si(ni,e,t)}function li(e,t){return typeof ti[ri(e)]?.[t]==`string`}var ui=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),F=o(((e,t)=>{t.exports=ui()}))(),di=(0,v.createContext)(null);function fi({children:e}){let[t,n]=(0,v.useState)(`en`);(0,v.useEffect)(()=>{let e=!0;return fetch(`/api/config`).then(e=>e.ok?e.json():null).then(t=>{if(!e||!t)return;let r=ri(t.settings?.language);ai(r),n(r)}).catch(()=>{}),()=>{e=!1}},[]);let r=(0,v.useCallback)(async e=>{let r=ri(e),i=t;ai(r),n(r);try{if(!(await fetch(`/api/settings/feature`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({feature:`language`,value:r})})).ok)throw Error(`Language preference could not be saved`);return!0}catch{return ai(i),n(i),!1}},[t]),i=(0,v.useMemo)(()=>({locale:t,locales:ei,setLanguage:r,t:ci}),[t,r]);return(0,v.useEffect)(()=>{document.documentElement.lang=t},[t]),(0,F.jsx)(di.Provider,{value:i,children:e})}function pi(){return(0,v.useContext)(di)||{locale:`en`,locales:ei,setLanguage:async()=>!1,t:ci}}var mi={wrap:`_wrap_18gb2_5`,trigger:`_trigger_18gb2_11`,cycle:`_cycle_18gb2_30`,emoji:`_emoji_18gb2_53`,label:`_label_18gb2_54`,menu:`_menu_18gb2_55`,item:`_item_18gb2_69`,itemActive:`_itemActive_18gb2_83`,itemEmoji:`_itemEmoji_18gb2_87`,itemText:`_itemText_18gb2_88`,activeDot:`_activeDot_18gb2_91`,compact:`_compact_18gb2_92`};function hi({toolMode:e=`opencode`,onSetToolMode:t,onCycleToolMode:n,compact:r=!1,tools:i=dn}){let{t:a}=pi(),[o,s]=(0,v.useState)(!1),c=(0,v.useRef)(null),l=_n(e);return(0,v.useEffect)(()=>{if(!o)return;let e=e=>{c.current&&!c.current.contains(e.target)&&s(!1)},t=e=>{e.key===`Escape`&&s(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[o]),(0,F.jsxs)(`div`,{className:`${mi.wrap} ${r?mi.compact:``}`,ref:c,children:[(0,F.jsxs)(`button`,{type:`button`,className:mi.trigger,onClick:()=>s(e=>!e),"aria-haspopup":`listbox`,"aria-expanded":o,title:a(`dashboard.installTargetTitle`,{tool:l.label}),children:[(0,F.jsx)(`span`,{className:mi.emoji,children:l.emoji}),(0,F.jsx)(`span`,{className:mi.label,children:r?l.label.replace(/ CLI$/,``):l.label}),(0,F.jsx)(Jn,{size:13,stroke:1.7})]}),(0,F.jsx)(`button`,{type:`button`,className:mi.cycle,onClick:n,title:a(`dashboard.cycleEndpointTarget`),"aria-label":a(`dashboard.cycleEndpointTarget`),children:(0,F.jsx)(Pr,{size:13,stroke:1.7})}),o&&(0,F.jsx)(`div`,{className:mi.menu,role:`listbox`,"aria-label":a(`dashboard.endpointInstallTarget`),children:i.map(n=>{let r=hn[n],i=n===e;return(0,F.jsxs)(`button`,{type:`button`,className:`${mi.item} ${i?mi.itemActive:``}`,onClick:()=>{t?.(n),s(!1)},role:`option`,"aria-selected":i,children:[(0,F.jsx)(`span`,{className:mi.itemEmoji,children:r.emoji}),(0,F.jsxs)(`span`,{className:mi.itemText,children:[(0,F.jsx)(`strong`,{children:r.label}),(0,F.jsx)(`small`,{children:r.flag})]}),i&&(0,F.jsx)(`span`,{className:mi.activeDot,children:`●`})]},n)})})]})}var I={header:`_header_1ky4z_11`,left:`_left_1ky4z_28`,center:`_center_1ky4z_35`,right:`_right_1ky4z_41`,logo:`_logo_1ky4z_49`,logoIconSvg:`_logoIconSvg_1ky4z_50`,logoText:`_logoText_1ky4z_56`,logoTextHighlight:`_logoTextHighlight_1ky4z_64`,version:`_version_1ky4z_65`,nav:`_nav_1ky4z_72`,navBtn:`_navBtn_1ky4z_82`,navBtnActive:`_navBtnActive_1ky4z_106`,comingBadge:`_comingBadge_1ky4z_121`,betaBadge:`_betaBadge_1ky4z_138`,menuWrap:`_menuWrap_1ky4z_154`,menuTrigger:`_menuTrigger_1ky4z_155`,menuPopover:`_menuPopover_1ky4z_160`,menuItem:`_menuItem_1ky4z_175`,menuItemActive:`_menuItemActive_1ky4z_192`,searchBar:`_searchBar_1ky4z_200`,searchIcon:`_searchIcon_1ky4z_210`,searchInput:`_searchInput_1ky4z_211`,iconBtn:`_iconBtn_1ky4z_219`,cmdkBtn:`_cmdkBtn_1ky4z_229`,cmdkLabel:`_cmdkLabel_1ky4z_242`,benchmarkBtn:`_benchmarkBtn_1ky4z_245`,benchmarkActive:`_benchmarkActive_1ky4z_255`,benchmarkRunning:`_benchmarkRunning_1ky4z_260`,spinner:`_spinner_1ky4z_262`,spin:`_spin_1ky4z_262`,hamburgerBtn:`_hamburgerBtn_1ky4z_295`,mobileNav:`_mobileNav_1ky4z_322`,mobileNavItem:`_mobileNavItem_1ky4z_337`,mobileNavActive:`_mobileNavActive_1ky4z_354`,mobileNavDivider:`_mobileNavDivider_1ky4z_359`},gi=[{id:`dashboard`,labelKey:`nav.dashboard`,icon:xr},{id:`router`,labelKey:`nav.router`,icon:Fr},{id:`router-v2`,labelKey:`nav.routerV2`,icon:Fr,beta:!0},{id:`playground`,labelKey:`nav.playground`,icon:Er},{id:`help`,labelKey:`nav.help`,icon:Nr},{id:`install-endpoints`,labelKey:`nav.installEndpoints`,icon:jr}],_i=[{id:`analytics`,labelKey:`nav.analytics`,icon:In},{id:`recommend`,label:`Recommend`,labelKey:`nav.recommend`,icon:zr},{id:`changelog`,labelKey:`nav.changelog`,icon:_r},{id:`installed-models`,labelKey:`nav.installedModels`,icon:hr}];function vi({searchQuery:e,onSearchChange:t,currentView:n,onNavigate:r,onToggleTheme:i,onOpenExport:a,onOpenCommandPalette:o,onBenchmark:s,benchmarkRunning:c,benchmarkTotal:l,benchmarkCompleted:u,modelsCount:d,theme:f,onToast:p,toolMode:m=`opencode`,onSetToolMode:h,onCycleToolMode:g,updateSlot:_=null}){let{t:y}=pi(),[b,x]=(0,v.useState)(!1),[S,C]=(0,v.useState)(!1),w=(0,v.useRef)(null);(0,v.useEffect)(()=>{if(!b&&!S)return;let e=e=>{w.current&&!w.current.contains(e.target)&&x(!1)},t=e=>{e.key===`Escape`&&(x(!1),C(!1))};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[b,S]);let T=e=>{if(e.comingIn){p?.(`${y(e.labelKey)} arrives in milestone ${e.comingIn}.`,`info`);return}r(e.id),C(!1)},ee=e=>{if(x(!1),e.comingIn){p?.(`${y(e.labelKey)} arrives in milestone ${e.comingIn}.`,`info`);return}r(e.id)};return(0,F.jsxs)(`header`,{className:I.header,children:[(0,F.jsxs)(`div`,{className:I.left,children:[(0,F.jsxs)(`div`,{className:I.logo,onClick:()=>r(`dashboard`),style:{cursor:`pointer`},children:[(0,F.jsxs)(`svg`,{className:I.logoIconSvg,width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,F.jsx)(`path`,{d:`M4 5L11 12L4 19`,stroke:`var(--color-brand)`,strokeWidth:`3`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,F.jsx)(`path`,{d:`M14 5V19M14 5H21M14 11H18`,stroke:`var(--color-brand)`,strokeWidth:`3`,strokeLinecap:`round`,strokeLinejoin:`round`})]}),(0,F.jsxs)(`span`,{className:I.logoText,children:[(0,F.jsx)(`span`,{className:I.logoTextHighlight,children:`free`}),(0,F.jsx)(`span`,{children:`-coding-models`}),(0,F.jsx)(`span`,{className:I.logoTextHighlight,children:`_`})]})]}),(0,F.jsxs)(`span`,{className:I.version,children:[`v`,`0.5.99`]}),(0,F.jsx)(`button`,{className:I.hamburgerBtn,onClick:()=>C(e=>!e),"aria-label":y(`nav.navigationMenu`),"aria-expanded":S,"aria-haspopup":`true`,children:(0,F.jsx)(Tr,{size:18,stroke:1.5})}),S&&(0,F.jsxs)(`div`,{className:I.mobileNav,role:`menu`,children:[gi.map(e=>{let t=e.icon;return(0,F.jsxs)(`button`,{className:`${I.mobileNavItem} ${n===e.id?I.mobileNavActive:``}`,onClick:()=>T(e),role:`menuitem`,children:[(0,F.jsx)(t,{size:16,stroke:1.5}),(0,F.jsx)(`span`,{children:y(e.labelKey)}),e.beta&&(0,F.jsx)(`span`,{className:I.betaBadge,children:`BETA`})]},e.id)}),(0,F.jsx)(`div`,{className:I.mobileNavDivider}),_i.map(e=>{let t=e.icon;return(0,F.jsxs)(`button`,{className:I.mobileNavItem,onClick:()=>ee(e),role:`menuitem`,children:[(0,F.jsx)(t,{size:16,stroke:1.5}),(0,F.jsx)(`span`,{children:y(e.labelKey)})]},e.id)})]}),(0,F.jsxs)(`nav`,{className:I.nav,"aria-label":y(`nav.primary`),children:[gi.map(e=>{let t=e.icon,r=n===e.id;return(0,F.jsxs)(`button`,{className:`${I.navBtn} ${r?I.navBtnActive:``}`,onClick:()=>T(e),title:e.comingIn?`${y(e.labelKey)} — coming in ${e.comingIn}`:y(e.labelKey),"aria-current":r?`page`:void 0,children:[(0,F.jsx)(t,{size:14,stroke:1.5}),(0,F.jsx)(`span`,{children:y(e.labelKey)}),e.beta&&(0,F.jsx)(`span`,{className:I.betaBadge,children:`BETA`}),e.comingIn&&(0,F.jsx)(`span`,{className:I.comingBadge,children:e.comingIn})]},e.id)}),(0,F.jsxs)(`div`,{className:I.menuWrap,ref:w,children:[(0,F.jsx)(`button`,{className:`${I.navBtn} ${I.menuTrigger} ${_i.some(e=>e.id===n)?I.navBtnActive:``}`,onClick:()=>x(e=>!e),title:y(`nav.moreFeatures`),"aria-label":y(`nav.moreFeatures`),"aria-haspopup":`true`,"aria-expanded":b,children:(0,F.jsx)(ar,{size:16,stroke:1.5})}),b&&(0,F.jsx)(`div`,{className:I.menuPopover,role:`menu`,children:_i.map(e=>{let t=e.icon,r=n===e.id;return(0,F.jsxs)(`button`,{className:`${I.menuItem} ${r?I.menuItemActive:``}`,onClick:()=>ee(e),role:`menuitem`,"aria-current":r?`page`:void 0,children:[(0,F.jsx)(t,{size:14,stroke:1.5}),(0,F.jsx)(`span`,{children:y(e.labelKey)}),e.comingIn&&(0,F.jsx)(`span`,{className:I.comingBadge,children:e.comingIn})]},e.id)})})]})]})]}),(0,F.jsxs)(`div`,{className:I.right,children:[(0,F.jsxs)(`button`,{className:`${I.navBtn} ${n===`settings`?I.navBtnActive:``}`,onClick:()=>r(`settings`),title:y(`nav.settings`),"aria-current":n===`settings`?`page`:void 0,style:{marginRight:`2px`},children:[(0,F.jsx)(Rr,{size:14,stroke:1.5}),(0,F.jsx)(`span`,{children:y(`nav.settings`)})]}),(0,F.jsx)(hi,{toolMode:m,onSetToolMode:h,onCycleToolMode:g}),(0,F.jsxs)(`button`,{className:I.cmdkBtn,onClick:o,title:`${y(`nav.commandPalette`)} (⌘K / Ctrl+P)`,"aria-label":`${y(`nav.commandPalette`)} (⌘K)`,children:[(0,F.jsx)(rr,{size:14,stroke:1.5}),(0,F.jsx)(`span`,{className:I.cmdkLabel,children:`⌘K`})]}),(0,F.jsxs)(`button`,{className:`${I.benchmarkBtn} ${c?I.benchmarkActive:``}`,onClick:s,disabled:c,title:c?y(`dashboard.aiSpeedTestRunning`,{completed:u,total:l}):y(`dashboard.runBenchmark`,{count:d}),"aria-label":c?y(`dashboard.aiSpeedTestRunning`,{completed:u,total:l}):y(`dashboard.aiLatency`),children:[(0,F.jsx)(Or,{size:14,stroke:1.5}),c?(0,F.jsxs)(`span`,{className:I.benchmarkRunning,children:[(0,F.jsx)(`span`,{className:I.spinner}),`RUN `,u,`/`,l]}):(0,F.jsx)(`span`,{children:y(`dashboard.aiLatency`)})]}),_,(0,F.jsx)(`button`,{className:I.iconBtn,onClick:i,title:y(`nav.themeTitle`,{theme:y(`settings.theme.${f}`)}),"aria-label":y(`nav.themeLabel`,{theme:y(`settings.theme.${f}`)}),children:f===`light`?(0,F.jsx)(Dr,{size:16,stroke:1.5}):(0,F.jsx)(Vr,{size:16,stroke:1.5})}),(0,F.jsx)(`button`,{className:I.iconBtn,onClick:a,title:y(`nav.exportData`),"aria-label":y(`dashboard.exportData`),children:(0,F.jsx)(or,{size:16,stroke:1.5})})]})]})}var yi={footer:`_footer_1uw54_1`,left:`_left_1uw54_8`,right:`_right_1uw54_8`};function bi(){return(0,F.jsxs)(`footer`,{className:yi.footer,children:[(0,F.jsxs)(`div`,{className:yi.left,children:[`by `,(0,F.jsx)(`a`,{href:`https://vavanessa.dev`,target:`_blank`,rel:`noopener`,children:`Vava-Nessa`})]}),(0,F.jsxs)(`div`,{className:yi.right,children:[(0,F.jsx)(`a`,{href:`https://github.com/vava-nessa/free-coding-models`,target:`_blank`,rel:`noopener`,children:`GitHub`}),(0,F.jsx)(`a`,{href:`https://discord.gg/ZTNFHvvCkU`,target:`_blank`,rel:`noopener`,children:`Discord`})]})]})}var xi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 181 24" xmlns="http://www.w3.org/2000/svg"><title>Google AI Studio</title><path d="M172.721 19.07c-1.172 0-2.221-.266-3.149-.798a5.779 5.779 0 01-2.169-2.237c-.517-.943-.775-1.993-.775-3.15 0-1.155.258-2.205.775-3.149a5.619 5.619 0 012.169-2.213c.928-.548 1.977-.822 3.149-.822 1.171 0 2.221.274 3.149.822a5.777 5.777 0 012.168 2.236c.518.944.776 1.986.776 3.127 0 1.156-.258 2.206-.776 3.15a5.776 5.776 0 01-2.168 2.236c-.928.532-1.978.799-3.149.799zm0-2.304c.639 0 1.232-.153 1.78-.457.548-.32.981-.768 1.301-1.346.335-.594.502-1.286.502-2.077 0-.791-.167-1.476-.502-2.054a3.304 3.304 0 00-1.301-1.324 3.472 3.472 0 00-1.78-.479c-.639 0-1.232.16-1.78.48a3.458 3.458 0 00-1.324 1.323c-.319.578-.479 1.263-.479 2.054 0 .791.16 1.483.479 2.077a3.629 3.629 0 001.324 1.346 3.606 3.606 0 001.78.457zM162.999 5.378a1.69 1.69 0 01-1.21-.48 1.69 1.69 0 01-.479-1.21c0-.47.16-.866.479-1.186a1.65 1.65 0 011.21-.502c.471 0 .867.167 1.186.502.335.32.503.715.503 1.187 0 .471-.168.875-.503 1.21a1.61 1.61 0 01-1.186.479zm-1.255 1.688h2.51v11.64h-2.51V7.066zM152.429 19.07c-1.05 0-2.001-.266-2.853-.798-.852-.533-1.529-1.263-2.031-2.191-.487-.944-.73-2.008-.73-3.195 0-1.187.243-2.244.73-3.172.502-.944 1.179-1.682 2.031-2.214.852-.533 1.803-.799 2.853-.799.821 0 1.559.183 2.213.548.655.365 1.149.814 1.484 1.346h.114l-.114-1.643V2.365h2.51v16.34h-2.396V17.2h-.114c-.335.517-.829.959-1.484 1.324-.654.365-1.392.547-2.213.547zm.365-2.305c.608 0 1.171-.16 1.689-.479.532-.32.958-.776 1.278-1.37.319-.592.479-1.27.479-2.03 0-.76-.16-1.43-.479-2.008-.32-.594-.746-1.05-1.278-1.37a3.158 3.158 0 00-1.689-.48c-.609 0-1.179.16-1.712.48-.532.32-.958.776-1.278 1.37-.319.578-.479 1.247-.479 2.008 0 .76.16 1.438.479 2.03.32.594.746 1.05 1.278 1.37.533.32 1.103.48 1.712.48zM138.527 19.07c-1.415 0-2.495-.418-3.241-1.255-.73-.852-1.095-2.03-1.095-3.537V7.066h2.51v6.87c0 .943.221 1.65.662 2.122.456.472 1.05.707 1.78.707.593 0 1.118-.152 1.575-.456.456-.32.806-.738 1.049-1.255a3.856 3.856 0 00.366-1.666V7.066h2.51v11.64h-2.373v-1.507h-.137c-.32.548-.814.997-1.484 1.346a4.517 4.517 0 01-2.122.525zM130.115 18.888a4.208 4.208 0 01-1.461-.251c-.457-.167-.829-.388-1.118-.662-.655-.654-.982-1.544-.982-2.67V9.28h-2.031V7.066h2.031V3.78h2.511v3.286h2.83V9.28h-2.83v5.477c0 .624.121 1.065.365 1.324.228.304.624.456 1.187.456.258 0 .486-.03.684-.09.198-.077.411-.191.639-.343v2.442c-.502.228-1.11.342-1.825.342zM117.888 19.07a6.03 6.03 0 01-3.652-1.186c-1.08-.791-1.825-1.902-2.236-3.332l2.419-.981c.243.897.669 1.635 1.278 2.213.624.563 1.369.845 2.236.845.807 0 1.491-.206 2.054-.617.563-.426.845-1.004.845-1.734 0-.67-.251-1.217-.753-1.643-.487-.441-1.347-.883-2.579-1.324l-1.027-.365c-1.096-.38-2.016-.928-2.762-1.643-.745-.715-1.118-1.658-1.118-2.83 0-.806.221-1.552.662-2.236.441-.685 1.05-1.225 1.826-1.62.791-.412 1.681-.617 2.67-.617 1.43 0 2.571.35 3.423 1.05.852.684 1.423 1.46 1.712 2.328l-2.305.981c-.168-.517-.487-.974-.959-1.37-.471-.395-1.08-.593-1.826-.593-.745 0-1.376.19-1.894.57-.502.381-.753.868-.753 1.461 0 .563.228 1.027.685 1.393.456.365 1.171.715 2.145 1.05l1.027.342c1.4.487 2.48 1.126 3.241 1.917.776.776 1.164 1.818 1.164 3.126 0 1.065-.274 1.963-.822 2.693a4.978 4.978 0 01-2.1 1.598 6.677 6.677 0 01-2.601.525zM102.221 2.365h2.556v16.34h-2.556V2.365zM90.94 2.365h2.922L100 18.705h-2.83l-1.46-4.176h-6.596l-1.484 4.176h-2.83l6.14-16.34zm3.903 9.79l-1.734-4.86-.64-1.895h-.136l-.64 1.894-1.734 4.862h4.884zM73.43 19.07c-1.141 0-2.168-.266-3.081-.798a5.758 5.758 0 01-2.123-2.191c-.502-.943-.753-2-.753-3.172 0-1.111.244-2.138.73-3.081a5.898 5.898 0 012.078-2.282c.882-.563 1.886-.845 3.012-.845 1.171 0 2.183.259 3.035.776A4.985 4.985 0 0178.291 9.6c.456.897.684 1.909.684 3.035 0 .213-.022.48-.068.799h-8.923c.091 1.08.471 1.917 1.14 2.51a3.57 3.57 0 002.374.867c.715 0 1.332-.16 1.849-.48a3.745 3.745 0 001.278-1.345l2.122 1.004c-.547.958-1.263 1.711-2.145 2.259-.882.548-1.94.822-3.172.822zm2.99-7.553a2.82 2.82 0 00-.389-1.21c-.228-.41-.578-.753-1.05-1.027-.456-.274-1.019-.41-1.688-.41-.806 0-1.491.243-2.054.73-.548.471-.928 1.11-1.141 1.917h6.322zM62.763 2.365h2.51v16.34h-2.51V2.365zM54.016 24c-1.43 0-2.616-.327-3.56-.981-.928-.654-1.552-1.43-1.871-2.328l2.35-.981a3.148 3.148 0 001.164 1.46c.548.38 1.187.57 1.917.57 1.065 0 1.895-.319 2.488-.958.609-.624.913-1.506.913-2.647v-1.073h-.137c-.38.548-.89.982-1.53 1.301-.623.304-1.346.457-2.167.457a5.185 5.185 0 01-2.716-.754c-.837-.502-1.506-1.21-2.008-2.122-.487-.928-.73-1.986-.73-3.172 0-1.187.243-2.237.73-3.15.502-.928 1.171-1.643 2.008-2.145a5.07 5.07 0 012.716-.776c.806 0 1.529.16 2.168.48.639.319 1.149.753 1.529 1.3h.137V7.066h2.396v11c0 1.263-.243 2.336-.73 3.218a4.81 4.81 0 01-2.054 2.031c-.867.457-1.872.685-3.013.685zm.023-7.463c.609 0 1.172-.144 1.69-.433a3.281 3.281 0 001.231-1.301c.305-.578.457-1.255.457-2.031 0-1.187-.327-2.107-.982-2.762-.639-.67-1.437-1.004-2.396-1.004-.623 0-1.194.152-1.711.457-.518.289-.928.715-1.233 1.278-.304.563-.456 1.24-.456 2.03 0 .792.152 1.469.456 2.032a3.28 3.28 0 001.233 1.3c.517.29 1.087.434 1.711.434zM40.36 19.07c-1.172 0-2.222-.266-3.15-.798a5.778 5.778 0 01-2.168-2.237c-.517-.943-.776-1.993-.776-3.15 0-1.155.259-2.205.776-3.149a5.618 5.618 0 012.168-2.213c.928-.548 1.978-.822 3.15-.822 1.17 0 2.22.274 3.149.822a5.778 5.778 0 012.168 2.236c.517.944.776 1.986.776 3.127 0 1.156-.259 2.206-.776 3.15a5.778 5.778 0 01-2.168 2.236c-.928.532-1.978.799-3.15.799zm0-2.304c.638 0 1.232-.153 1.78-.457.547-.32.98-.768 1.3-1.346.335-.594.502-1.286.502-2.077 0-.791-.167-1.476-.502-2.054a3.303 3.303 0 00-1.3-1.324 3.472 3.472 0 00-1.78-.479c-.64 0-1.233.16-1.78.48a3.458 3.458 0 00-1.324 1.323c-.32.578-.48 1.263-.48 2.054 0 .791.16 1.483.48 2.077a3.629 3.629 0 001.323 1.346 3.606 3.606 0 001.78.457zM26.497 19.07c-1.172 0-2.221-.266-3.15-.798a5.778 5.778 0 01-2.168-2.237c-.517-.943-.775-1.993-.775-3.15 0-1.155.258-2.205.776-3.149a5.618 5.618 0 012.168-2.213c.928-.548 1.977-.822 3.149-.822s2.221.274 3.15.822a5.779 5.779 0 012.167 2.236c.518.944.776 1.986.776 3.127 0 1.156-.258 2.206-.776 3.15a5.778 5.778 0 01-2.168 2.236c-.928.532-1.977.799-3.149.799zm0-2.304c.639 0 1.232-.153 1.78-.457.548-.32.981-.768 1.3-1.346.336-.594.503-1.286.503-2.077 0-.791-.167-1.476-.502-2.054a3.303 3.303 0 00-1.3-1.324 3.472 3.472 0 00-1.781-.479c-.639 0-1.232.16-1.78.48a3.456 3.456 0 00-1.324 1.323c-.32.578-.479 1.263-.479 2.054 0 .791.16 1.483.48 2.077a3.627 3.627 0 001.323 1.346 3.606 3.606 0 001.78.457zM10.558 19.07c-1.552 0-2.982-.372-4.29-1.118a8.49 8.49 0 01-3.127-3.058C2.381 13.586 2 12.133 2 10.535c0-1.597.38-3.043 1.141-4.336a8.435 8.435 0 013.127-3.08C7.576 2.372 9.006 2 10.558 2c1.232 0 2.381.22 3.446.662 1.065.441 1.955 1.057 2.67 1.848l-1.78 1.78a5.401 5.401 0 00-1.917-1.369c-.73-.32-1.544-.48-2.442-.48-1.05 0-2.03.252-2.944.754a5.702 5.702 0 00-2.19 2.145c-.548.928-.822 1.993-.822 3.195 0 1.202.274 2.267.821 3.195a5.702 5.702 0 002.191 2.146 6.057 6.057 0 002.967.753c.974 0 1.788-.145 2.442-.434a6.2 6.2 0 001.757-1.164c.335-.335.617-.753.845-1.255.243-.502.403-1.05.479-1.643h-5.546V9.85H18.5c.076.426.114.867.114 1.323 0 1.035-.16 2.032-.479 2.99a6.294 6.294 0 01-1.53 2.465c-1.536 1.628-3.552 2.442-6.047 2.442z"></path></svg>`,Si=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Google AI Studio</title><path d="M9.921 4.196H6.328A2.705 2.705 0 003.623 6.9v11.362a2.705 2.705 0 002.705 2.705h11.363a2.705 2.705 0 002.705-2.705v-4.756l1.623-1.113v5.87a4.329 4.329 0 01-4.328 4.328H6.328A4.329 4.329 0 012 18.263V6.901a4.328 4.328 0 014.328-4.329h4.545l-.952 1.624z"></path><path d="M17.82 0c.145 0 .268.104.299.246a7 7 0 001.9 3.484 7 7 0 003.485 1.901c.142.031.246.154.246.3a.308.308 0 01-.246.298A7 7 0 0020.02 8.13a7 7 0 00-1.912 3.535.297.297 0 01-.288.238.297.297 0 01-.288-.238A7 7 0 0015.62 8.13a7 7 0 00-3.535-1.912.297.297 0 01-.238-.288c0-.14.1-.26.238-.288A7 7 0 0015.62 3.73 7.001 7.001 0 0017.521.246.308.308 0 0117.82 0z"></path></svg>`,Ci=`<svg fill="currentColor" height="1em" style="flex:none;line-height:1" viewBox="0 0 53 24" xmlns="http://www.w3.org/2000/svg"><title>Cerebras</title><path clip-rule="evenodd" d="M13 2.701A9.299 9.299 0 0013 21.3V22.7C7.09 22.701 2.299 17.91 2.299 12S7.09 1.299 13 1.299V2.7zm4.752 3.677a7.353 7.353 0 00-9.453 11.265l-.901 1.074A8.755 8.755 0 1118.652 5.304l-.901 1.074zm-2.256.844a5.407 5.407 0 00-5.049 9.563l-.654 1.24a6.81 6.81 0 016.358-12.043l-.655 1.24zM13 8.539a3.461 3.461 0 000 6.922v1.402a4.863 4.863 0 010-9.726v1.402z" fill="#F15A29" fill-rule="evenodd"></path><path d="M14.286 10.836a2.242 2.242 0 00-.51-.409 1.085 1.085 0 00-.545-.152c-.254 0-.482.047-.683.14a1.582 1.582 0 00-.841.912 1.848 1.848 0 000 1.262 1.595 1.595 0 00.841.913c.2.093.429.14.683.14.217 0 .418-.046.603-.135.187-.09.35-.225.475-.392l.927 1.006c-.139.14-.3.261-.481.363a3.367 3.367 0 01-1.083.38c-.17.026-.317.04-.44.04a3.316 3.316 0 01-1.182-.21 2.826 2.826 0 01-.962-.597 2.813 2.813 0 01-.643-.929 2.986 2.986 0 01-.238-1.21c0-.444.08-.847.238-1.21.15-.35.368-.666.643-.929.277-.261.604-.464.962-.596a3.316 3.316 0 011.181-.21c.355 0 .713.068 1.072.204.362.138.686.36.945.649l-.962.97z"></path><path d="M19.338 11.397c-.008-.414-.136-.738-.383-.976-.247-.237-.59-.356-1.03-.356-.418 0-.749.12-.991.362-.244.242-.393.565-.447.97h2.85zm-2.85 1.052c.045.42.208.748.486.982.278.234.614.351 1.008.351.348 0 .639-.072.875-.217a2.42 2.42 0 00.62-.543l.997.76c-.325.405-.689.694-1.09.865a3.32 3.32 0 01-2.445.047 2.821 2.821 0 01-.962-.597 2.829 2.829 0 01-.643-.929 2.992 2.992 0 01-.237-1.21c0-.444.079-.847.238-1.21.15-.35.368-.666.642-.929.278-.261.605-.464.962-.596a3.32 3.32 0 011.182-.21c.386 0 .74.067 1.06.204.32.136.595.333.823.59.228.258.405.575.533.953.128.379.19.812.19 1.303v.386h-4.24zm4.843-3.296h1.39v.888h.023c.155-.327.375-.58.661-.76a1.812 1.812 0 011.234-.246c.081.016.164.036.25.06v1.355a3.912 3.912 0 00-.343-.076c-.109-.02-.22-.03-.33-.03-.324 0-.585.06-.782.182a1.38 1.38 0 00-.66.883 1.76 1.76 0 00-.053.35v3.005h-1.39V9.152zm7.797 2.244c-.008-.414-.135-.738-.383-.976-.246-.237-.59-.356-1.03-.356-.417 0-.748.12-.99.362-.245.242-.393.565-.447.97h2.85zm-2.85 1.052c.046.42.208.748.487.982.277.234.613.351 1.007.351.348 0 .64-.072.875-.217.236-.144.446-.328.62-.543l.997.76c-.325.405-.688.694-1.09.865a3.319 3.319 0 01-2.445.047 2.823 2.823 0 01-.961-.597 2.829 2.829 0 01-.643-.929 2.984 2.984 0 01-.238-1.21c0-.444.08-.847.238-1.21.158-.362.373-.672.643-.929a2.84 2.84 0 01.962-.596 3.318 3.318 0 011.181-.21c.387 0 .74.067 1.06.204.321.136.596.333.823.59.228.258.406.575.533.953.128.379.192.812.192 1.303v.386h-4.241zm9.225-.49a1.84 1.84 0 00-.11-.632 1.603 1.603 0 00-.84-.912 1.607 1.607 0 00-.684-.14 1.587 1.587 0 00-1.524 1.052 1.83 1.83 0 00-.11.631c0 .218.036.429.11.632a1.583 1.583 0 001.524 1.052 1.591 1.591 0 001.524-1.052c.073-.203.11-.414.11-.632zM30.89 5.925h1.391v3.94h.035a1.99 1.99 0 01.266-.287 2.327 2.327 0 01.927-.485c.201-.054.433-.081.696-.081a2.55 2.55 0 011.94.853c.236.264.42.577.55.935.132.358.198.744.198 1.157 0 .413-.062.8-.186 1.158a2.673 2.673 0 01-.544.935c-.243.267-.539.48-.869.625-.34.152-.723.229-1.147.229a2.613 2.613 0 01-1.1-.235 1.785 1.785 0 01-.812-.748h-.023v.841H30.89V5.927zm6.604 3.227h1.39v.888h.023c.155-.327.376-.58.661-.76a1.815 1.815 0 011.234-.246c.081.016.164.036.25.06v1.355a3.893 3.893 0 00-.343-.076c-.109-.02-.22-.03-.33-.03-.325 0-.585.06-.782.182a1.43 1.43 0 00-.452.415 1.39 1.39 0 00-.209.468 1.788 1.788 0 00-.051.35v3.005h-1.391V9.152zm7.207 3.097h-.29c-.193 0-.409.008-.649.024a3.384 3.384 0 00-.677.11c-.213.06-.393.146-.54.258a.564.564 0 00-.22.473c0 .133.03.244.087.333.058.09.134.166.226.229a.933.933 0 00.313.134c.117.027.232.04.348.04.48 0 .832-.114 1.06-.344.228-.23.342-.544.342-.94v-.317zm.082 1.743h-.036c-.2.32-.456.551-.764.695-.32.146-.668.22-1.02.216-.253 0-.504-.035-.748-.104a2.03 2.03 0 01-.649-.317 1.616 1.616 0 01-.457-.526 1.501 1.501 0 01-.174-.736c0-.305.054-.563.163-.777.103-.21.252-.393.434-.539a2.19 2.19 0 01.632-.344c.242-.087.492-.152.747-.193.258-.043.52-.07.782-.082.247-.011.495-.017.742-.018h.347v-.151c0-.351-.12-.614-.36-.79-.238-.175-.544-.262-.914-.262a2.129 2.129 0 00-1.483.585l-.73-.738a2.7 2.7 0 011.083-.69c.412-.14.845-.21 1.28-.21.394 0 .726.046.997.135.27.09.494.205.672.345.177.14.314.302.411.485.096.183.166.368.21.555.041.187.066.368.074.544.008.175.012.33.012.461v3.227h-1.252v-.771zm5.018-3.286c-.27-.382-.634-.573-1.09-.573a1.16 1.16 0 00-.544.14.478.478 0 00-.266.456c0 .172.073.297.22.375.147.078.332.144.556.198.224.055.465.111.724.17.259.058.5.148.724.268.224.122.41.287.556.498.147.21.22.498.22.864 0 .336-.071.619-.214.848-.139.226-.33.417-.556.556a2.456 2.456 0 01-.77.303c-.282.062-.57.094-.858.094-.432 0-.83-.062-1.194-.187a2.27 2.27 0 01-.973-.678l.928-.877c.177.203.368.368.573.497.204.129.454.193.747.193.101 0 .205-.012.313-.035a.992.992 0 00.301-.117.71.71 0 00.226-.204.482.482 0 00.087-.287c0-.194-.073-.34-.22-.432a1.966 1.966 0 00-.556-.229c-.24-.062-.481-.116-.724-.164a2.794 2.794 0 01-.725-.245 1.523 1.523 0 01-.556-.473c-.146-.203-.22-.483-.22-.841 0-.312.064-.583.191-.813a1.69 1.69 0 01.504-.567c.217-.152.461-.263.719-.327a3.256 3.256 0 011.923.087c.356.123.664.354.881.66l-.927.842z"></path></svg>`,wi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 53 24" xmlns="http://www.w3.org/2000/svg"><title>Cerebras</title><path clip-rule="evenodd" d="M13 2.701A9.299 9.299 0 0013 21.3V22.7C7.09 22.701 2.299 17.91 2.299 12S7.09 1.299 13 1.299V2.7zm4.752 3.677a7.353 7.353 0 00-9.453 11.265l-.901 1.074A8.755 8.755 0 1118.652 5.304l-.901 1.074zm-2.256.844a5.407 5.407 0 00-5.049 9.563l-.654 1.24a6.81 6.81 0 016.358-12.043l-.655 1.24zM13 8.539a3.461 3.461 0 000 6.922v1.402a4.863 4.863 0 010-9.726v1.402z"></path><path d="M14.286 10.836a2.242 2.242 0 00-.51-.409 1.085 1.085 0 00-.545-.152c-.254 0-.482.047-.683.14a1.582 1.582 0 00-.841.912 1.848 1.848 0 000 1.262 1.595 1.595 0 00.841.913c.2.093.429.14.683.14.217 0 .418-.046.603-.135.187-.09.35-.225.475-.392l.927 1.006c-.139.14-.3.261-.481.363a3.367 3.367 0 01-1.083.38c-.17.026-.317.04-.44.04a3.316 3.316 0 01-1.182-.21 2.826 2.826 0 01-.962-.597 2.813 2.813 0 01-.643-.929 2.986 2.986 0 01-.238-1.21c0-.444.08-.847.238-1.21.15-.35.368-.666.643-.929.277-.261.604-.464.962-.596a3.316 3.316 0 011.181-.21c.355 0 .713.068 1.072.204.362.138.686.36.945.649l-.962.97z"></path><path d="M19.338 11.397c-.008-.414-.136-.738-.383-.976-.247-.237-.59-.356-1.03-.356-.418 0-.749.12-.991.362-.244.242-.393.565-.447.97h2.85zm-2.85 1.052c.045.42.208.748.486.982.278.234.614.351 1.008.351.348 0 .639-.072.875-.217a2.42 2.42 0 00.62-.543l.997.76c-.325.405-.689.694-1.09.865a3.32 3.32 0 01-2.445.047 2.821 2.821 0 01-.962-.597 2.829 2.829 0 01-.643-.929 2.992 2.992 0 01-.237-1.21c0-.444.079-.847.238-1.21.15-.35.368-.666.642-.929.278-.261.605-.464.962-.596a3.32 3.32 0 011.182-.21c.386 0 .74.067 1.06.204.32.136.595.333.823.59.228.258.405.575.533.953.128.379.19.812.19 1.303v.386h-4.24zm4.843-3.296h1.39v.888h.023c.155-.327.375-.58.661-.76a1.812 1.812 0 011.234-.246c.081.016.164.036.25.06v1.355a3.912 3.912 0 00-.343-.076c-.109-.02-.22-.03-.33-.03-.324 0-.585.06-.782.182a1.38 1.38 0 00-.66.883 1.76 1.76 0 00-.053.35v3.005h-1.39V9.152zm7.797 2.244c-.008-.414-.135-.738-.383-.976-.246-.237-.59-.356-1.03-.356-.417 0-.748.12-.99.362-.245.242-.393.565-.447.97h2.85zm-2.85 1.052c.046.42.208.748.487.982.277.234.613.351 1.007.351.348 0 .64-.072.875-.217.236-.144.446-.328.62-.543l.997.76c-.325.405-.688.694-1.09.865a3.319 3.319 0 01-2.445.047 2.823 2.823 0 01-.961-.597 2.829 2.829 0 01-.643-.929 2.984 2.984 0 01-.238-1.21c0-.444.08-.847.238-1.21.158-.362.373-.672.643-.929a2.84 2.84 0 01.962-.596 3.318 3.318 0 011.181-.21c.387 0 .74.067 1.06.204.321.136.596.333.823.59.228.258.406.575.533.953.128.379.192.812.192 1.303v.386h-4.241zm9.225-.49a1.84 1.84 0 00-.11-.632 1.603 1.603 0 00-.84-.912 1.607 1.607 0 00-.684-.14 1.587 1.587 0 00-1.524 1.052 1.83 1.83 0 00-.11.631c0 .218.036.429.11.632a1.583 1.583 0 001.524 1.052 1.591 1.591 0 001.524-1.052c.073-.203.11-.414.11-.632zM30.89 5.925h1.391v3.94h.035a1.99 1.99 0 01.266-.287 2.327 2.327 0 01.927-.485c.201-.054.433-.081.696-.081a2.55 2.55 0 011.94.853c.236.264.42.577.55.935.132.358.198.744.198 1.157 0 .413-.062.8-.186 1.158a2.673 2.673 0 01-.544.935c-.243.267-.539.48-.869.625-.34.152-.723.229-1.147.229a2.613 2.613 0 01-1.1-.235 1.785 1.785 0 01-.812-.748h-.023v.841H30.89V5.927zm6.604 3.227h1.39v.888h.023c.155-.327.376-.58.661-.76a1.815 1.815 0 011.234-.246c.081.016.164.036.25.06v1.355a3.893 3.893 0 00-.343-.076c-.109-.02-.22-.03-.33-.03-.325 0-.585.06-.782.182a1.43 1.43 0 00-.452.415 1.39 1.39 0 00-.209.468 1.788 1.788 0 00-.051.35v3.005h-1.391V9.152zm7.207 3.097h-.29c-.193 0-.409.008-.649.024a3.384 3.384 0 00-.677.11c-.213.06-.393.146-.54.258a.564.564 0 00-.22.473c0 .133.03.244.087.333.058.09.134.166.226.229a.933.933 0 00.313.134c.117.027.232.04.348.04.48 0 .832-.114 1.06-.344.228-.23.342-.544.342-.94v-.317zm.082 1.743h-.036c-.2.32-.456.551-.764.695-.32.146-.668.22-1.02.216-.253 0-.504-.035-.748-.104a2.03 2.03 0 01-.649-.317 1.616 1.616 0 01-.457-.526 1.501 1.501 0 01-.174-.736c0-.305.054-.563.163-.777.103-.21.252-.393.434-.539a2.19 2.19 0 01.632-.344c.242-.087.492-.152.747-.193.258-.043.52-.07.782-.082.247-.011.495-.017.742-.018h.347v-.151c0-.351-.12-.614-.36-.79-.238-.175-.544-.262-.914-.262a2.129 2.129 0 00-1.483.585l-.73-.738a2.7 2.7 0 011.083-.69c.412-.14.845-.21 1.28-.21.394 0 .726.046.997.135.27.09.494.205.672.345.177.14.314.302.411.485.096.183.166.368.21.555.041.187.066.368.074.544.008.175.012.33.012.461v3.227h-1.252v-.771zm5.018-3.286c-.27-.382-.634-.573-1.09-.573a1.16 1.16 0 00-.544.14.478.478 0 00-.266.456c0 .172.073.297.22.375.147.078.332.144.556.198.224.055.465.111.724.17.259.058.5.148.724.268.224.122.41.287.556.498.147.21.22.498.22.864 0 .336-.071.619-.214.848-.139.226-.33.417-.556.556a2.456 2.456 0 01-.77.303c-.282.062-.57.094-.858.094-.432 0-.83-.062-1.194-.187a2.27 2.27 0 01-.973-.678l.928-.877c.177.203.368.368.573.497.204.129.454.193.747.193.101 0 .205-.012.313-.035a.992.992 0 00.301-.117.71.71 0 00.226-.204.482.482 0 00.087-.287c0-.194-.073-.34-.22-.432a1.966 1.966 0 00-.556-.229c-.24-.062-.481-.116-.724-.164a2.794 2.794 0 01-.725-.245 1.523 1.523 0 01-.556-.473c-.146-.203-.22-.483-.22-.841 0-.312.064-.583.191-.813a1.69 1.69 0 01.504-.567c.217-.152.461-.263.719-.327a3.256 3.256 0 011.923.087c.356.123.664.354.881.66l-.927.842z"></path></svg>`,Ti=`<svg fill="currentColor" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Cerebras</title><path clip-rule="evenodd" d="M14.121 2.701a9.299 9.299 0 000 18.598V22.7c-5.91 0-10.7-4.791-10.7-10.701S8.21 1.299 14.12 1.299V2.7zm4.752 3.677A7.353 7.353 0 109.42 17.643l-.901 1.074a8.754 8.754 0 01-1.08-12.334 8.755 8.755 0 0112.335-1.08l-.901 1.075zm-2.255.844a5.407 5.407 0 00-5.048 9.563l-.656 1.24a6.81 6.81 0 016.358-12.043l-.654 1.24zM14.12 8.539a3.46 3.46 0 100 6.922v1.402a4.863 4.863 0 010-9.726v1.402z" fill="#F15A29" fill-rule="evenodd"></path><path d="M15.407 10.836a2.24 2.24 0 00-.51-.409 1.084 1.084 0 00-.544-.152c-.255 0-.483.047-.684.14a1.58 1.58 0 00-.84.912c-.074.203-.11.416-.11.631 0 .218.036.43.11.631a1.594 1.594 0 00.84.913c.2.093.43.14.684.14.216 0 .417-.046.602-.135.188-.09.35-.225.475-.392l.928 1.006c-.14.14-.3.261-.482.363a3.367 3.367 0 01-1.083.38c-.17.026-.317.04-.44.04a3.315 3.315 0 01-1.182-.21 2.825 2.825 0 01-.961-.597 2.816 2.816 0 01-.644-.929 2.987 2.987 0 01-.238-1.21c0-.444.08-.847.238-1.21.15-.35.368-.666.643-.929.278-.261.605-.464.962-.596a3.315 3.315 0 011.182-.21c.355 0 .712.068 1.072.204.361.138.685.36.944.649l-.962.97z"></path></svg>`,Ei=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 95 24" xmlns="http://www.w3.org/2000/svg"><title>Cerebras</title><path clip-rule="evenodd" d="M17.075 16.717c-.62-.52-.982-1.25-1.085-2.187l9.446.001v-.86c0-1.094-.14-2.06-.425-2.904-.283-.842-.68-1.549-1.188-2.12a5.049 5.049 0 00-1.832-1.317c-.713-.304-1.5-.456-2.361-.456a7.396 7.396 0 00-2.633.469 6.325 6.325 0 00-2.143 1.328 6.309 6.309 0 00-1.431 2.07c-.354.808-.53 1.706-.53 2.696 0 .99.176 1.888.529 2.695.333.78.82 1.483 1.432 2.07a6.288 6.288 0 002.142 1.328 7.396 7.396 0 002.633.469 7.101 7.101 0 002.814-.573c.894-.381 1.704-1.025 2.427-1.926l-2.22-1.693c-.388.48-.855.888-1.381 1.21-.526.322-1.175.483-1.95.483-.877 0-1.625-.261-2.244-.783zm4.413-6.705c.55.53.836 1.254.852 2.175h-6.35c.12-.903.452-1.623.995-2.162.54-.537 1.278-.807 2.207-.807.98 0 1.745.266 2.296.794z"></path><path d="M29.878 7.187H26.78v12.499h3.098v-6.693c0-.172.038-.433.116-.78.077-.348.232-.694.465-1.043.233-.346.568-.654 1.006-.923.44-.27 1.02-.405 1.742-.405.247 0 .493.023.736.066.256.045.51.101.761.169v-3.02a7.03 7.03 0 00-.554-.131 2.962 2.962 0 00-.555-.05c-.827 0-1.559.198-2.194.597-.636.4-1.129.964-1.473 1.693h-.05V7.187z"></path><path clip-rule="evenodd" d="M37.8 14.531c.102.937.465 1.666 1.084 2.186.619.522 1.367.783 2.245.783.775 0 1.424-.161 1.95-.483.525-.322.992-.73 1.38-1.21l2.22 1.693c-.722.901-1.532 1.545-2.426 1.926-.89.38-1.848.576-2.815.573a7.39 7.39 0 01-2.632-.469 6.287 6.287 0 01-2.142-1.328 6.302 6.302 0 01-1.432-2.07c-.353-.807-.53-1.705-.53-2.696 0-.989.177-1.887.53-2.695a6.3 6.3 0 011.432-2.07 6.325 6.325 0 012.142-1.328 7.39 7.39 0 012.633-.469c.86 0 1.648.152 2.361.456a5.05 5.05 0 011.833 1.316c.507.572.904 1.279 1.188 2.121.285.844.426 1.81.426 2.903v.861H37.8zm5.497-4.519c.55.53.834 1.254.852 2.175H37.8c.121-.903.452-1.623.995-2.162.54-.537 1.278-.807 2.207-.807.98 0 1.746.266 2.296.794zM51.173 0h-3.098v19.686h2.944V17.81h.051c.447.765 1.048 1.32 1.808 1.667.77.35 1.606.528 2.45.522.947 0 1.8-.17 2.557-.509a5.714 5.714 0 001.935-1.393 5.954 5.954 0 001.213-2.082 7.835 7.835 0 00.413-2.58c0-.92-.146-1.778-.44-2.576a6.398 6.398 0 00-1.225-2.085 5.68 5.68 0 00-1.896-1.394 5.772 5.772 0 00-2.426-.506 5.93 5.93 0 00-1.55.182 5.18 5.18 0 00-1.187.47c-.344.19-.636.394-.878.61-.241.219-.439.43-.593.638h-.078V0zm6.931 12.031c.163.45.245.92.245 1.405 0 .487-.082.956-.246 1.407a3.545 3.545 0 01-1.87 2.03 3.574 3.574 0 01-1.524.314 3.525 3.525 0 01-3.394-2.343 4.098 4.098 0 01-.245-1.407c-.001-.48.081-.955.245-1.406A3.533 3.533 0 0153.186 10a3.584 3.584 0 011.523-.312c.568 0 1.076.104 1.523.312.434.2.825.482 1.15.833.317.349.557.746.722 1.2z"></path><path d="M65.882 7.187h-3.097v12.499h3.098v-6.693c0-.172.038-.433.115-.78.078-.348.233-.694.466-1.043.232-.346.567-.654 1.006-.923.439-.27 1.019-.405 1.742-.405.246 0 .492.023.735.066.257.045.512.101.763.169v-3.02a7.065 7.065 0 00-.556-.131 2.942 2.942 0 00-.554-.05c-.825 0-1.558.198-2.194.597-.636.4-1.128.964-1.473 1.693h-.051V7.187z"></path><path clip-rule="evenodd" d="M78.943 17.969h.079l-.002 1.718h2.788v-7.188c0-.294-.008-.638-.026-1.028a6.951 6.951 0 00-.166-1.21 5.142 5.142 0 00-.466-1.238 3.4 3.4 0 00-.916-1.08c-.397-.312-.895-.569-1.497-.77-.603-.198-1.343-.299-2.22-.299a8.83 8.83 0 00-2.853.469 6.012 6.012 0 00-2.413 1.536l1.626 1.642a4.743 4.743 0 013.304-1.303c.826 0 1.506.196 2.039.587.533.39.8.976.8 1.757v.338h-.773c-.551.001-1.103.014-1.654.039-.584.026-1.165.088-1.741.182a9.606 9.606 0 00-1.665.43 4.88 4.88 0 00-1.407.768 3.555 3.555 0 00-.967 1.199c-.241.478-.363 1.053-.363 1.731 0 .625.13 1.173.388 1.64.25.461.598.861 1.019 1.173.436.32.925.558 1.446.704a6.019 6.019 0 001.665.233 5.307 5.307 0 002.271-.481c.688-.321 1.257-.838 1.704-1.55zm-.749-3.881h.645v.703c0 .884-.254 1.584-.76 2.096-.51.513-1.295.768-2.362.768-.259 0-.516-.03-.775-.091a2.083 2.083 0 01-.698-.3 1.769 1.769 0 01-.503-.507c-.129-.2-.193-.447-.193-.742 0-.451.164-.803.49-1.055a3.465 3.465 0 011.202-.573 7.534 7.534 0 011.508-.247 22.752 22.752 0 011.446-.052z"></path><path d="M87.774 9.374c1.015 0 1.825.425 2.426 1.276l2.066-1.875a4.013 4.013 0 00-1.963-1.47 7.302 7.302 0 00-2.452-.43c-.618-.001-1.234.078-1.833.234a4.82 4.82 0 00-1.6.73c-.464.33-.839.75-1.123 1.262-.284.512-.425 1.116-.425 1.81 0 .798.163 1.424.49 1.876.322.446.747.807 1.239 1.052a6.22 6.22 0 001.614.547c.54.106 1.079.227 1.613.365.499.131.91.3 1.238.51.328.207.491.529.491.961 0 .245-.065.458-.194.64a1.578 1.578 0 01-.504.454c-.206.122-.429.21-.67.26a3.24 3.24 0 01-.697.079c-.654 0-1.21-.143-1.665-.428a5.852 5.852 0 01-1.277-1.11l-2.066 1.955c.637.729 1.36 1.232 2.168 1.51.81.278 1.696.417 2.66.417.642-.001 1.282-.07 1.91-.209a5.473 5.473 0 001.716-.676 3.78 3.78 0 001.238-1.238c.319-.51.477-1.14.477-1.888 0-.816-.163-1.458-.49-1.926a3.527 3.527 0 00-1.238-1.108 6.356 6.356 0 00-1.613-.598c-.577-.13-1.115-.256-1.614-.378-.5-.121-.911-.269-1.238-.442-.327-.173-.49-.452-.49-.834 0-.47.197-.806.593-1.016.396-.208.8-.312 1.213-.312zM9.95 10.026c.422.246.805.553 1.137.911l2.142-2.162a5.428 5.428 0 00-2.104-1.446 6.713 6.713 0 00-2.388-.455 7.386 7.386 0 00-2.632.468 6.316 6.316 0 00-2.142 1.329 6.266 6.266 0 00-1.432 2.07C2.177 11.55 2 12.449 2 13.437c0 .99.177 1.887.53 2.695.333.78.82 1.484 1.433 2.07a6.294 6.294 0 002.142 1.33 7.384 7.384 0 002.632.467c.276 0 .603-.03.982-.09a7.502 7.502 0 002.413-.846 4.813 4.813 0 001.072-.808l-2.066-2.24c-.278.37-.64.67-1.058.873-.413.198-.86.3-1.343.3-.567 0-1.075-.105-1.521-.312a3.553 3.553 0 01-1.873-2.032 4.107 4.107 0 01-.246-1.407c0-.48.082-.955.245-1.405a3.52 3.52 0 01.724-1.198c.32-.349.701-.625 1.15-.835.446-.207.954-.311 1.521-.311.428.003.846.12 1.214.339z"></path></svg>`,Di=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Cerebras</title><path clip-rule="evenodd" d="M14.121 2.701a9.299 9.299 0 000 18.598V22.7c-5.91 0-10.7-4.791-10.7-10.701S8.21 1.299 14.12 1.299V2.7zm4.752 3.677A7.353 7.353 0 109.42 17.643l-.901 1.074a8.754 8.754 0 01-1.08-12.334 8.755 8.755 0 0112.335-1.08l-.901 1.075zm-2.255.844a5.407 5.407 0 00-5.048 9.563l-.656 1.24a6.81 6.81 0 016.358-12.043l-.654 1.24zM14.12 8.539a3.46 3.46 0 100 6.922v1.402a4.863 4.863 0 010-9.726v1.402z"></path><path d="M15.407 10.836a2.24 2.24 0 00-.51-.409 1.084 1.084 0 00-.544-.152c-.255 0-.483.047-.684.14a1.58 1.58 0 00-.84.912c-.074.203-.11.416-.11.631 0 .218.036.43.11.631a1.594 1.594 0 00.84.913c.2.093.43.14.684.14.216 0 .417-.046.602-.135.188-.09.35-.225.475-.392l.928 1.006c-.14.14-.3.261-.482.363a3.367 3.367 0 01-1.083.38c-.17.026-.317.04-.44.04a3.315 3.315 0 01-1.182-.21 2.825 2.825 0 01-.961-.597 2.816 2.816 0 01-.644-.929 2.987 2.987 0 01-.238-1.21c0-.444.08-.847.238-1.21.15-.35.368-.666.643-.929.278-.261.605-.464.962-.596a3.315 3.315 0 011.182-.21c.355 0 .712.068 1.072.204.361.138.685.36.944.649l-.962.97z"></path></svg>`,Oi=`<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Cloudflare</title><path d="M16.493 17.4c.135-.52.08-.983-.161-1.338-.215-.328-.592-.519-1.05-.519l-8.663-.109a.148.148 0 01-.135-.082c-.027-.054-.027-.109-.027-.163.027-.082.108-.164.189-.164l8.744-.11c1.05-.054 2.153-.9 2.556-1.937l.511-1.31c.027-.055.027-.11.027-.164C17.92 8.91 15.66 7 12.942 7c-2.503 0-4.628 1.638-5.381 3.903a2.432 2.432 0 00-1.803-.491c-1.21.109-2.153 1.092-2.287 2.32-.027.328 0 .628.054.9C1.56 13.688 0 15.326 0 17.319c0 .19.027.355.027.545 0 .082.08.137.161.137h15.983c.08 0 .188-.055.215-.164l.107-.437" fill="#F38020"></path><path d="M19.238 11.75h-.242c-.054 0-.108.054-.135.109l-.35 1.2c-.134.52-.08.983.162 1.338.215.328.592.518 1.05.518l1.855.11c.054 0 .108.027.135.082.027.054.027.109.027.163-.027.082-.108.164-.188.164l-1.91.11c-1.05.054-2.153.9-2.557 1.937l-.134.355c-.027.055.026.137.107.137h6.592c.081 0 .162-.055.162-.137.107-.41.188-.846.188-1.31-.027-2.62-2.153-4.777-4.762-4.777" fill="#FCAD32"></path></svg>`,ki=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 242 24" xmlns="http://www.w3.org/2000/svg"><title>Cloudflare</title><path d="M28.4 2.395h5.386v14.606h9.326v4.736H28.4V2.395zM16.71 14.369c-.787 1.71-2.363 2.894-4.465 2.894-2.89 0-4.86-2.368-4.86-5.263 0-2.764 1.97-5.132 4.86-5.132 2.232 0 3.81 1.316 4.597 3.158h5.647C21.571 5.421 17.5 2 12.377 2 6.467 2 2 6.474 2 12s4.335 10 10.377 10c5.122 0 9.062-3.289 10.112-7.763H16.71v.132zM224.37 2.395h15.499v4.606h-10.114v2.894h9.194v4.21h-9.194v3.027H240v4.605h-15.63V2.395zm-24.693 0h9.062c2.89 0 4.991.79 6.305 2.105 1.182 1.052 1.708 2.632 1.708 4.474 0 2.894-1.576 4.868-3.94 5.921l4.596 6.71h-6.174l-3.939-5.79h-2.365v5.79h-5.386V2.395h.133zm8.8 9.211c1.838 0 2.889-.921 2.889-2.238 0-1.579-1.05-2.237-2.89-2.237l-3.546.001v4.605h3.547v-.13zm-29.028-9.343h5.122l8.144 19.474h-5.78l-1.444-3.421h-7.486l-1.315 3.42h-5.516l8.275-19.473zm4.598 11.842l-2.103-5.526-2.232 5.526h4.335zm-33.232-11.71h5.386v14.606h9.325v4.736h-14.711V2.395zm-22.854 0h15.367v4.737h-9.981v3.158h9.062v4.474h-9.062v6.973h-5.386V2.395zm-26.007 0h7.488c6.829 0 10.9 3.947 10.9 9.473 0 5.526-4.071 9.737-11.032 9.737h-7.356V2.395zm7.488 14.606c3.151 0 5.253-1.712 5.253-4.87 0-3.025-2.102-4.868-5.253-4.868h-2.233v9.87h2.233V17zm-33.625-3.816V2.395H81.2v10.658c0 2.763 1.445 4.078 3.547 4.078 2.101 0 3.547-1.315 3.547-3.946V2.263h5.385v10.659c0 6.183-3.548 8.946-9.063 8.946-5.386.132-8.8-2.63-8.8-8.683zm-27.19-1.053C48.628 6.474 53.095 2 59.006 2c5.91 0 10.375 4.474 10.375 10s-4.465 10-10.375 10c-6.042 0-10.377-4.342-10.377-9.868zm15.237 0c0-2.896-1.97-5.264-4.99-5.264-2.891 0-4.861 2.368-4.861 5.132s1.97 5.263 4.86 5.263c3.02 0 4.99-2.368 4.99-5.131z"></path></svg>`,Ai=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Cloudflare</title><path d="M16.493 17.4c.135-.52.08-.983-.161-1.338-.215-.328-.592-.519-1.05-.519l-8.663-.109a.148.148 0 01-.135-.082c-.027-.054-.027-.109-.027-.163.027-.082.108-.164.189-.164l8.744-.11c1.05-.054 2.153-.9 2.556-1.937l.511-1.31c.027-.055.027-.11.027-.164C17.92 8.91 15.66 7 12.942 7c-2.503 0-4.628 1.638-5.381 3.903a2.432 2.432 0 00-1.803-.491c-1.21.109-2.153 1.092-2.287 2.32-.027.328 0 .628.054.9C1.56 13.688 0 15.326 0 17.319c0 .19.027.355.027.545 0 .082.08.137.161.137h15.983c.08 0 .188-.055.215-.164l.107-.437"></path><path d="M19.238 11.75h-.242c-.054 0-.108.054-.135.109l-.35 1.2c-.134.52-.08.983.162 1.338.215.328.592.518 1.05.518l1.855.11c.054 0 .108.027.135.082.027.054.027.109.027.163-.027.082-.108.164-.188.164l-1.91.11c-1.05.054-2.153.9-2.557 1.937l-.134.355c-.027.055.026.137.107.137h6.592c.081 0 .162-.055.162-.137.107-.41.188-.846.188-1.31-.027-2.62-2.153-4.777-4.762-4.777"></path></svg>`,ji=`<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Gemini</title><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" fill="#3186FF"></path><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" fill="url(#lobe-icons-gemini-0-_R_0_)"></path><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" fill="url(#lobe-icons-gemini-1-_R_0_)"></path><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" fill="url(#lobe-icons-gemini-2-_R_0_)"></path><defs><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-gemini-0-_R_0_" x1="7" x2="11" y1="15.5" y2="12"><stop stop-color="#08B962"></stop><stop offset="1" stop-color="#08B962" stop-opacity="0"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-gemini-1-_R_0_" x1="8" x2="11.5" y1="5.5" y2="11"><stop stop-color="#F94543"></stop><stop offset="1" stop-color="#F94543" stop-opacity="0"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-gemini-2-_R_0_" x1="3.5" x2="17.5" y1="13.5" y2="12"><stop stop-color="#FABC12"></stop><stop offset=".46" stop-color="#FABC12" stop-opacity="0"></stop></linearGradient></defs></svg>`,Mi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 98 24" xmlns="http://www.w3.org/2000/svg"><title>Gemini</title><path d="M21.186 12.67c0 2.649-.786 4.759-2.359 6.33-1.766 1.87-4.09 2.806-6.969 2.806-2.756 0-5.088-.953-6.996-2.86C2.954 17.04 2 14.693 2 11.904c0-2.789.954-5.137 2.862-7.043C6.77 2.953 9.102 2 11.858 2c1.396 0 2.712.247 3.949.741 1.236.495 2.252 1.192 3.047 2.092l-1.749 1.748c-.583-.706-1.338-1.258-2.266-1.655a7.49 7.49 0 00-2.981-.596c-2.067 0-3.816.715-5.247 2.145-1.413 1.448-2.12 3.257-2.12 5.428s.707 3.98 2.12 5.428c1.431 1.43 3.18 2.145 5.247 2.145 1.89 0 3.463-.53 4.717-1.588 1.254-1.06 1.979-2.516 2.173-4.37h-6.89v-2.277h9.196c.088.495.132.971.132 1.43m7.652-4.633c1.946 0 3.494.629 4.645 1.886 1.15 1.257 1.726 3.018 1.726 5.282l-.027.268H24.877c.036 1.284.464 2.318 1.285 3.102.82.785 1.802 1.177 2.944 1.177 1.57 0 2.802-.784 3.694-2.354l2.195 1.07a6.54 6.54 0 01-2.45 2.595C31.503 21.688 30.32 22 29 22c-1.927 0-3.516-.66-4.765-1.98-1.249-1.319-1.873-2.986-1.873-5.001 0-1.997.606-3.66 1.82-4.988 1.213-1.329 2.766-1.993 4.657-1.993m-.053 2.247c-.928 0-1.727.285-2.396.856-.67.57-1.11 1.337-1.325 2.3h7.522c-.071-.91-.442-1.663-1.111-2.26-.67-.598-1.566-.896-2.69-.896M39.247 21.53h-2.455V8.465h2.348v1.813h.107c.374-.64.947-1.173 1.721-1.6.774-.427 1.544-.64 2.309-.64.96 0 1.806.222 2.535.667a3.931 3.931 0 011.601 1.84c1.085-1.671 2.589-2.507 4.51-2.507 1.513 0 2.678.462 3.496 1.387.819.924 1.228 2.24 1.228 3.946v8.16h-2.455v-7.786c0-1.227-.223-2.112-.668-2.654-.444-.542-1.192-.813-2.241-.813-.943 0-1.735.4-2.375 1.2-.64.8-.961 1.742-.961 2.826v7.227h-2.455v-7.786c0-1.227-.223-2.112-.668-2.654-.444-.542-1.191-.813-2.241-.813-.943 0-1.735.4-2.375 1.2-.64.8-.961 1.742-.961 2.826v7.227zM61.911 3.93c0 .48-.17.89-.508 1.228a1.675 1.675 0 01-1.23.508c-.48 0-.89-.17-1.229-.508a1.673 1.673 0 01-.508-1.228c0-.481.17-.89.508-1.229a1.675 1.675 0 011.23-.508c.48 0 .89.17 1.23.508.338.338.507.748.507 1.228m-.11 4.514v13.088h-2.857V8.443h2.857zM80 3.93c0 .48-.17.89-.508 1.228a1.675 1.675 0 01-1.23.508c-.48 0-.89-.17-1.229-.508a1.673 1.673 0 01-.508-1.228c0-.481.17-.89.508-1.229a1.675 1.675 0 011.23-.508c.48 0 .89.17 1.23.508.338.338.507.748.507 1.228m-.11 4.514v13.088h-2.857V8.443h2.857zm-16.343.022h2.349v1.813h.107c.373-.64.947-1.173 1.721-1.6a4.935 4.935 0 012.415-.64c1.601 0 2.833.458 3.696 1.373.863.916 1.294 2.218 1.294 3.907v8.213h-2.455v-8.053c-.053-2.133-1.13-3.2-3.229-3.2-.978 0-1.797.395-2.455 1.187-.658.79-.987 1.737-.987 2.84v7.226h-2.456V8.465z"></path></svg>`,Ni=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Gemini</title><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"></path></svg>`,Pi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 78 24" xmlns="http://www.w3.org/2000/svg"><title>Github</title><path d="M16.598 10.836v9.48c0 .066-.017.181-.1.214 0 0-2.07 1.47-5.484 1.47C6.888 22 2 20.712 2 12.223 2 3.734 6.275 1.983 10.45 2c3.613 0 5.07.81 5.303.958.066.083.1.149.1.231l-.697 2.94c0 .149-.149.33-.331.28-.597-.18-1.491-.544-3.596-.544-2.435 0-5.053.693-5.053 6.16 0 5.466 2.485 6.11 4.275 6.11 1.524 0 2.07-.181 2.07-.181v-3.799h-2.435c-.182 0-.315-.132-.315-.28v-3.04c0-.148.133-.28.315-.28h6.197c.182 0 .315.132.315.28zM76 14.684c0 5.664-1.84 7.283-5.054 7.283-2.717 0-4.175-1.37-4.175-1.37s-.067.759-.15.858c-.05.1-.132.132-.231.132h-2.453c-.165 0-.315-.132-.315-.28l.034-18.349a.29.29 0 01.281-.28h3.53a.29.29 0 01.281.28v6.226s1.359-.875 3.347-.875l-.016-.033c1.988 0 4.921.743 4.921 6.408zM47.865 2.71a.29.29 0 01.281.281V21.34a.29.29 0 01-.281.281h-3.53a.29.29 0 01-.281-.28l.033-7.845h-5.485v7.844a.29.29 0 01-.281.281h-3.53c-.132 0-.281-.132-.281-.28V2.99a.29.29 0 01.281-.28h3.53a.29.29 0 01.281.28v6.755h5.485V2.99a.29.29 0 01.282-.28h3.496zM61.55 8.722c.183 0 .315.132.315.28l-.033 12.337c0 .149-.1.281-.282.281h-2.22c-.116 0-.232-.066-.265-.148-.05-.1-.133-.744-.133-.744S57.061 22 54.758 22c-2.8 0-4.839-.908-4.839-4.542V9.02a.29.29 0 01.282-.28h3.546a.29.29 0 01.282.28v7.845c0 1.238.364 1.8 1.607 1.8 1.243 0 2.154-.644 2.154-.644V9.036c0-.182.1-.314.282-.314h3.48zm-28.84 9.861h.007c.14.029.239.154.234.296v2.477c0 .116-.05.231-.149.264-.166.083-1.226.363-2.104.363-1.922 0-4.74-.412-4.74-4.442v-5.417H24.12c-.149 0-.281-.132-.281-.314V9.564c0-.132.083-.248.215-.28.116-.017 1.922-.463 1.922-.463V5.237c0-.132.083-.215.232-.215h3.58c.148 0 .231.083.231.215v3.485h2.635c.132 0 .265.132.265.28v2.808c0 .182-.116.314-.265.314h-2.635v5.17c0 .777.448 1.372 1.74 1.372.41 0 .797-.081.951-.083zM22.28 8.705a.29.29 0 01.282.281v12.172c0 .297-.083.446-.414.446h-3.182c-.281 0-.497-.116-.497-.446V9.036c0-.182.133-.33.282-.33h3.53zm49.693 6.243c0-2.99-1.21-3.386-2.486-3.253-.994.066-1.79.561-1.79.561v5.813s.813.562 2.022.595c1.707.05 2.254-.562 2.254-3.716zM20.54 3.123a2.26 2.26 0 012.254 2.28A2.26 2.26 0 0120.54 7.68a2.266 2.266 0 01-2.286-2.279c0-1.271 1.01-2.279 2.286-2.279z"></path></svg>`,Fi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Github</title><path d="M12 0c6.63 0 12 5.276 12 11.79-.001 5.067-3.29 9.567-8.175 11.187-.6.118-.825-.25-.825-.56 0-.398.015-1.665.015-3.242 0-1.105-.375-1.813-.81-2.181 2.67-.295 5.475-1.297 5.475-5.822 0-1.297-.465-2.344-1.23-3.169.12-.295.54-1.503-.12-3.125 0 0-1.005-.324-3.3 1.209a11.32 11.32 0 00-3-.398c-1.02 0-2.04.133-3 .398-2.295-1.518-3.3-1.209-3.3-1.209-.66 1.622-.24 2.83-.12 3.125-.765.825-1.23 1.887-1.23 3.169 0 4.51 2.79 5.527 5.46 5.822-.345.294-.66.81-.765 1.577-.69.31-2.415.81-3.495-.973-.225-.354-.9-1.223-1.845-1.209-1.005.015-.405.56.015.781.51.28 1.095 1.327 1.23 1.666.24.663 1.02 1.93 4.035 1.385 0 .988.015 1.916.015 2.196 0 .31-.225.664-.825.56C3.303 21.374-.003 16.867 0 11.791 0 5.276 5.37 0 12 0z"></path></svg>`,Ii=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 64 24" xmlns="http://www.w3.org/2000/svg"><title>Groq</title><path d="M37.925 2.039c4.142 0 7.509 3.368 7.509 7.528l-.004.244c-.128 4.047-3.437 7.284-7.505 7.284-4.15 0-7.509-3.368-7.509-7.528s3.36-7.528 7.509-7.528zm-11.144-.023c.26 0 .522.015.775.046l.015-.008a7.464 7.464 0 012.922.969L29.09 5.468a4.619 4.619 0 00-2.309-.6h-.253l-.253.016c-.338.03-.66.092-.982.177-.621.169-1.196.469-1.703.869a4.062 4.062 0 00-1.418 2.322l-.04.234-.03.235c-.007.077-.023.161-.023.238l-.014 2.713v2.593l-.016 2.522h-2.815l-.03-4.973V8.852c0-.139.015-.262.022-.392.023-.262.062-.523.115-.777.1-.523.269-1.03.491-1.515a6.998 6.998 0 011.948-2.484 7.465 7.465 0 012.754-1.391c.49-.131.99-.216 1.495-.254.123-.008.253-.023.376-.023h.376zM37.925 4.86a4.7 4.7 0 00-4.694 4.706 4.7 4.7 0 004.694 4.706 4.7 4.7 0 004.694-4.706l-.005-.216a4.7 4.7 0 00-4.689-4.49zM9.578 2C5.428 1.96 2.038 5.298 2 9.458c-.038 4.16 3.29 7.559 7.44 7.597h2.608v-2.822h-2.47c-2.592.031-4.717-2.053-4.748-4.652a4.7 4.7 0 014.64-4.76h.108c2.52 0 4.577 1.992 4.696 4.49l.005.216v6.936c0 2.576-2.093 4.676-4.655 4.706a4.663 4.663 0 01-3.267-1.376l-1.994 2A7.46 7.46 0 009.57 24h.1c4.096-.062 7.386-3.391 7.409-7.497V9.35c-.1-4.09-3.428-7.35-7.501-7.35zm44.929.038c-4.15 0-7.509 3.368-7.509 7.528s3.36 7.528 7.509 7.528h2.57v-2.822h-2.57a4.7 4.7 0 01-4.694-4.706 4.7 4.7 0 014.694-4.706A4.707 4.707 0 0159.16 8.94l.024.22v14.456H62V9.566c-.008-4.152-3.352-7.527-7.493-7.527z"></path></svg>`,Li=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Groq</title><path d="M12.036 2c-3.853-.035-7 3-7.036 6.781-.035 3.782 3.055 6.872 6.908 6.907h2.42v-2.566h-2.292c-2.407.028-4.38-1.866-4.408-4.23-.029-2.362 1.901-4.298 4.308-4.326h.1c2.407 0 4.358 1.915 4.365 4.278v6.305c0 2.342-1.944 4.25-4.323 4.279a4.375 4.375 0 01-3.033-1.252l-1.851 1.818A7 7 0 0012.029 22h.092c3.803-.056 6.858-3.083 6.879-6.816v-6.5C18.907 4.963 15.817 2 12.036 2z"></path></svg>`,Ri=`<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Mistral</title><path d="M3.428 3.4h3.429v3.428H3.428V3.4zm13.714 0h3.43v3.428h-3.43V3.4z" fill="gold"></path><path d="M3.428 6.828h6.857v3.429H3.429V6.828zm10.286 0h6.857v3.429h-6.857V6.828z" fill="#FFAF00"></path><path d="M3.428 10.258h17.144v3.428H3.428v-3.428z" fill="#FF8205"></path><path d="M3.428 13.686h3.429v3.428H3.428v-3.428zm6.858 0h3.429v3.428h-3.429v-3.428zm6.856 0h3.43v3.428h-3.43v-3.428z" fill="#FA500F"></path><path d="M0 17.114h10.286v3.429H0v-3.429zm13.714 0H24v3.429H13.714v-3.429z" fill="#E10500"></path></svg>`,zi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 134 24" xmlns="http://www.w3.org/2000/svg"><title>Mistral</title><path d="M2 22.638V1h6.55l3.933 14.76L16.37 1h6.565v21.638H18.87V5.605l-4.302 17.033h-4.214L6.066 5.605v17.033H2zm25.011-17.8V1.002h4.155V4.84h-4.155zm0 17.801V6.964h4.155V22.64h-4.155zm6.707-4.473l4.17-.635c.177.807.536 1.42 1.079 1.838.986.864 3.753.796 4.702.036.588-.404.753-1.367.25-1.89-.206-.196-.67-.378-1.389-.545-3.351-.738-5.475-1.412-6.372-2.022-2.418-1.526-2.465-5.18-.252-6.952 1.76-1.8 7.852-1.78 9.788-.34 1.045.699 1.764 1.732 2.159 3.1l-3.918.723c-.413-1.402-1.417-1.886-2.957-1.89-1.094 0-1.878.154-2.35.458-.591.383-.651 1.179-.06 1.595.374.275 1.668.664 3.88 1.165 2.213.502 3.759 1.117 4.636 1.845 1.993 1.694 1.615 5.13-.503 6.79-2.087 2.01-8.091 2.034-10.416.25-1.247-.865-2.063-2.04-2.447-3.527zm31.88 4.472h-4.154V6.963h3.86v2.229c.66-1.053 1.253-1.747 1.78-2.081 1.374-.857 3.144-.536 4.532.28l-1.286 3.617c-1.877-1.247-3.849-.81-4.384 1.535-.468 1.352-.329 7.76-.347 10.096zm10.67-10.892l-3.77-.679c1.014-3.408 3.08-4.43 6.801-4.457 2.81.037 4.804.362 6.055 2.324.37.674.554 1.912.554 3.713.013 1.729-.178 6.48.155 7.889.133.654.382 1.355.747 2.103H82.7c-.124-.272-.411-1.286-.547-1.712-1.378 1.335-2.97 2.066-4.865 2.067-2.945.058-5.22-1.756-5.219-4.635-.011-1.72.87-3.225 2.418-3.963.764-.37 1.865-.691 3.304-.967 1.942-.364 3.287-.703 4.037-1.018v-.413c0-.797-.197-1.366-.591-1.705-.57-.582-3.147-.744-3.963-.074-.414.29-.75.8-1.006 1.527zm5.56 3.365c-.757.315-4.139.86-4.79 1.358-1.077.707-1.038 2.141-.163 2.967 1.017.987 2.672.733 3.8-.103 1.374-.983 1.117-2.455 1.153-4.221zm7.933 7.527V1h4.155v21.638H89.76zm35.917 0h-4.761l-1.892-4.915h-8.665l-1.789 4.915h-4.643L112.371 1h4.627l8.679 21.638h.001zm-8.058-8.56l-2.987-8.03-2.927 8.03h5.914zm10.004 8.56V1H132v21.638h-4.376zM58.98 6.964v3.307H56.14v6.317l.081 2.236c.434 1.136 1.612.712 2.743.332l.355 3.218c-2.416 1.02-6.87 1.14-7.215-2.346-.096-.537-.123-1.89-.133-3.44v-6.317h-1.908V6.965h1.908V3.85l4.17-2.42v5.535h2.838z"></path></svg>`,Bi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Mistral</title><path clip-rule="evenodd" d="M3.428 3.4h3.429v3.428h3.429v3.429h-.002 3.431V6.828h3.427V3.4h3.43v13.714H24v3.429H13.714v-3.428h-3.428v-3.429h-3.43v3.428h3.43v3.429H0v-3.429h3.428V3.4zm10.286 13.715h3.428v-3.429h-3.427v3.429z"></path></svg>`,Vi=`<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Nvidia</title><path d="M10.212 8.976V7.62c.127-.01.256-.017.388-.021 3.596-.117 5.957 3.184 5.957 3.184s-2.548 3.647-5.282 3.647a3.227 3.227 0 01-1.063-.175v-4.109c1.4.174 1.681.812 2.523 2.258l1.873-1.627a4.905 4.905 0 00-3.67-1.846 6.594 6.594 0 00-.729.044m0-4.476v2.025c.13-.01.259-.019.388-.024 5.002-.174 8.261 4.226 8.261 4.226s-3.743 4.69-7.643 4.69c-.338 0-.675-.031-1.007-.092v1.25c.278.038.558.057.838.057 3.629 0 6.253-1.91 8.794-4.169.421.347 2.146 1.193 2.501 1.564-2.416 2.083-8.048 3.763-11.24 3.763-.308 0-.603-.02-.894-.048V19.5H24v-15H10.21zm0 9.756v1.068c-3.356-.616-4.287-4.21-4.287-4.21a7.173 7.173 0 014.287-2.138v1.172h-.005a3.182 3.182 0 00-2.502 1.178s.615 2.276 2.507 2.931m-5.961-3.3c1.436-1.935 3.604-3.148 5.961-3.336V6.523C5.81 6.887 2 10.723 2 10.723s2.158 6.427 8.21 7.015v-1.166C5.77 16 4.25 10.958 4.25 10.958h-.002z" fill="#74B71B" fill-rule="nonzero"></path></svg>`,Hi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 111 24" xmlns="http://www.w3.org/2000/svg"><title>Nvidia</title><path d="M46.495 2.027v19.965h5.656V2.027h-5.656zM2 2v19.992h5.706V6.48l4.452.015a4.088 4.088 0 013.183 1.101c.894.951 1.26 2.483 1.26 5.287V22h5.529V10.949c0-7.883-5.035-8.946-9.972-8.946L2 2zm53.604.027v19.965h9.174c4.882 0 6.482-.81 8.208-2.626a11.156 11.156 0 002.008-7.136c.109-2.423-.53-4.82-1.831-6.869-2.095-2.788-5.114-3.332-9.621-3.332l-7.938-.002zm5.61 4.347h2.432c3.527 0 5.81 1.58 5.81 5.678 0 4.097-2.289 5.679-5.81 5.679h-2.432V6.374zM38.34 2.027L33.62 17.845 29.096 2.027h-6.102l6.46 19.965h8.151l6.51-19.965h-5.774zm39.285 19.965h5.657V2.03h-5.659l.002 19.963zm15.86-19.957l-7.898 19.95h5.578l1.25-3.526h9.346l1.183 3.526H109l-7.958-19.952-7.555.002zm3.673 3.64l3.427 9.346h-6.96l3.533-9.346z"></path></svg>`,Ui=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Nvidia</title><path d="M10.212 8.976V7.62c.127-.01.256-.017.388-.021 3.596-.117 5.957 3.184 5.957 3.184s-2.548 3.647-5.282 3.647a3.227 3.227 0 01-1.063-.175v-4.109c1.4.174 1.681.812 2.523 2.258l1.873-1.627a4.905 4.905 0 00-3.67-1.846 6.594 6.594 0 00-.729.044m0-4.476v2.025c.13-.01.259-.019.388-.024 5.002-.174 8.261 4.226 8.261 4.226s-3.743 4.69-7.643 4.69c-.338 0-.675-.031-1.007-.092v1.25c.278.038.558.057.838.057 3.629 0 6.253-1.91 8.794-4.169.421.347 2.146 1.193 2.501 1.564-2.416 2.083-8.048 3.763-11.24 3.763-.308 0-.603-.02-.894-.048V19.5H24v-15H10.21zm0 9.756v1.068c-3.356-.616-4.287-4.21-4.287-4.21a7.173 7.173 0 014.287-2.138v1.172h-.005a3.182 3.182 0 00-2.502 1.178s.615 2.276 2.507 2.931m-5.961-3.3c1.436-1.935 3.604-3.148 5.961-3.336V6.523C5.81 6.887 2 10.723 2 10.723s2.158 6.427 8.21 7.015v-1.166C5.77 16 4.25 10.958 4.25 10.958h-.002z"></path></svg>`,Wi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 138 24" xmlns="http://www.w3.org/2000/svg"><title>opencode</title><path d="M12.429 17.143H5.57v-6.857h6.858v6.857z" fill-opacity=".25"></path><path d="M12.428 6.857H5.571v10.286h6.857V6.857zm3.43 13.715H2.142V3.429h13.714v17.143z" fill-opacity=".75"></path><path d="M29.571 17.143h-6.857v-6.857h6.857v6.857z" fill-opacity=".25"></path><path d="M22.714 17.143h6.858V6.857h-6.858v10.286zM33 20.572H22.714V24h-3.428V3.43H33v17.143z" fill-opacity=".75"></path><path d="M50.143 13.714v3.429H39.857v-3.429h10.286z" fill-opacity=".25"></path><path d="M50.143 13.714H39.857v3.429h10.286v3.429H36.429V3.429h13.714v10.285zm-10.286-3.428h6.857V6.857h-6.857v3.429z" fill-opacity=".75"></path><path d="M63.857 20.571H57V10.286h6.857V20.57z" fill-opacity=".25"></path><path d="M63.857 6.857H57v13.715h-3.429V3.429h10.286v3.428zm3.429 13.715h-3.429V6.857h3.429v13.715z" fill-opacity=".75"></path><path d="M84.428 17.143H74.144v-6.857h10.285v6.857z" fill-opacity=".25"></path><path d="M84.428 6.857H74.144v10.286h10.285v3.429H70.715V3.429H84.43v3.428z"></path><path d="M98.143 17.143h-6.857v-6.857h6.857v6.857z" fill-opacity=".25"></path><path d="M98.143 6.857h-6.857v10.286h6.857V6.857zm3.428 13.715H87.857V3.429h13.714v17.143z"></path><path d="M115.286 17.143h-6.857v-6.857h6.857v6.857z" fill-opacity=".25"></path><path d="M115.286 6.857h-6.857v10.286h6.857V6.857zm3.428 13.714H105V3.43h10.286V0h3.428v20.571z"></path><path d="M135.857 13.714v3.429h-10.286v-3.429h10.286z" fill-opacity=".25"></path><path d="M125.571 6.857v3.429h6.858V6.857h-6.858zm10.286 6.857h-10.286v3.429h10.286v3.429h-13.714V3.429h13.714v10.285z"></path></svg>`,Gi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>opencode</title><path d="M16 6H8v12h8V6zm4 16H4V2h16v20z"></path></svg>`,Ki=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>OpenRouter</title><path d="M16.804 1.957l7.22 4.105v.087L16.73 10.21l.017-2.117-.821-.03c-1.059-.028-1.611.002-2.268.11-1.064.175-2.038.577-3.147 1.352L8.345 11.03c-.284.195-.495.336-.68.455l-.515.322-.397.234.385.23.53.338c.476.314 1.17.796 2.701 1.866 1.11.775 2.083 1.177 3.147 1.352l.3.045c.694.091 1.375.094 2.825.033l.022-2.159 7.22 4.105v.087L16.589 22l.014-1.862-.635.022c-1.386.042-2.137.002-3.138-.162-1.694-.28-3.26-.926-4.881-2.059l-2.158-1.5a21.997 21.997 0 00-.755-.498l-.467-.28a55.927 55.927 0 00-.76-.43C2.908 14.73.563 14.116 0 14.116V9.888l.14.004c.564-.007 2.91-.622 3.809-1.124l1.016-.58.438-.274c.428-.28 1.072-.726 2.686-1.853 1.621-1.133 3.186-1.78 4.881-2.059 1.152-.19 1.974-.213 3.814-.138l.02-1.907z"></path></svg>`,qi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 143 24" xmlns="http://www.w3.org/2000/svg"><title>OpenRouter</title><path d="M9.623 2c1.46 0 2.763.35 3.91 1.05 1.149.699 2.053 1.7 2.714 3.002.66 1.303.991 2.861.991 4.675 0 1.814-.33 3.372-.991 4.675-.66 1.302-1.565 2.303-2.713 3.003-1.148.7-2.452 1.049-3.91 1.049-1.465 0-2.772-.35-3.92-1.05-1.148-.699-2.052-1.701-2.713-3.007-.66-1.305-.991-2.862-.991-4.67 0-1.814.33-3.372.991-4.675.66-1.302 1.565-2.303 2.713-3.003C6.852 2.35 8.16 2 9.624 2zm0 2.34c-.974 0-1.844.244-2.61.734-.765.489-1.37 1.208-1.813 2.156-.443.949-.664 2.114-.664 3.497s.221 2.548.664 3.497c.444.948 1.048 1.667 1.813 2.156.766.49 1.636.735 2.61.735.97 0 1.838-.245 2.606-.735.768-.489 1.374-1.208 1.817-2.156.443-.949.665-2.114.665-3.497s-.222-2.548-.665-3.497c-.443-.948-1.049-1.667-1.817-2.156-.768-.49-1.637-.735-2.606-.735zm16.32 1.974c1.024 0 1.938.26 2.742.78s1.436 1.269 1.896 2.248c.46.979.69 2.156.69 3.534 0 1.377-.23 2.556-.686 3.538-.457.981-1.085 1.736-1.883 2.264-.799.529-1.71.793-2.734.793-.771 0-1.4-.13-1.887-.39-.488-.26-.869-.564-1.144-.913a6.908 6.908 0 01-.636-.929h-.149V24h-2.47V6.48h2.412v2.065h.207c.143-.265.35-.572.62-.92.27-.349.643-.655 1.123-.917.479-.263 1.112-.394 1.9-.394zm-.528 2.107c-.716 0-1.32.185-1.813.556-.493.37-.866.887-1.12 1.55-.253.665-.38 1.439-.38 2.324 0 .896.13 1.68.389 2.356.259.674.633 1.201 1.123 1.58s1.09.568 1.8.568c.738 0 1.355-.198 1.85-.593.496-.395.872-.933 1.128-1.613.256-.68.384-1.447.384-2.298 0-.84-.125-1.596-.376-2.265-.25-.67-.625-1.197-1.123-1.584-.498-.388-1.12-.581-1.862-.581zm13.387-2.107c.716 0 1.41.119 2.082.356a5.037 5.037 0 011.809 1.12c.534.51.955 1.169 1.263 1.979.309.81.463 1.793.463 2.949v.88l-9.016-.001.002.105c.03.732.178 1.364.445 1.895.3.597.72 1.052 1.26 1.364.539.313 1.17.469 1.89.469.469 0 .895-.068 1.28-.203a2.716 2.716 0 001-.61c.281-.271.496-.606.644-1.004l2.338.423a4.247 4.247 0 01-1.004 1.813c-.482.517-1.084.918-1.808 1.203-.725.284-1.549.427-2.474.427-1.25 0-2.325-.27-3.225-.809-.9-.54-1.594-1.3-2.082-2.281-.487-.982-.73-2.134-.73-3.455 0-1.306.243-2.456.73-3.451.488-.996 1.17-1.773 2.049-2.331.878-.559 1.906-.838 3.084-.838zm.017 2.049c-.694 0-1.298.17-1.813.51-.515.34-.911.782-1.19 1.327a3.778 3.778 0 00-.39 1.303l-.02.236h6.593c0-.653-.132-1.232-.397-1.738a3.022 3.022 0 00-1.11-1.199c-.477-.293-1.034-.44-1.673-.44zm10.29 3.293v7.566H46.64V6.48h2.37v2.074h.158a3.63 3.63 0 011.375-1.626c.625-.41 1.413-.614 2.366-.614.864 0 1.622.18 2.271.543.65.362 1.154.9 1.512 1.614.358.713.537 1.595.537 2.646v8.105h-2.47v-7.806c0-.924-.24-1.647-.718-2.17-.48-.522-1.137-.784-1.974-.784-.573 0-1.081.125-1.524.374a2.65 2.65 0 00-1.05 1.09c-.255.479-.383 1.055-.383 1.73zm17.122-9.424c1.31 0 2.4.227 3.266.68.868.454 1.516 1.08 1.945 1.88.43.799.645 1.72.645 2.766 0 1.04-.216 1.954-.649 2.742-.432.788-1.082 1.4-1.949 1.837a5.1 5.1 0 01-.501.22l3.743 6.865h-2.907l-3.436-6.43h-3.634v6.43h-2.552V2.232h6.029zm-.273 2.199h-3.204v6.155h3.237c.826 0 1.5-.119 2.02-.357s.901-.583 1.144-1.037c.242-.453.363-.998.363-1.634 0-.641-.122-1.197-.367-1.667-.246-.47-.628-.831-1.148-1.083-.52-.252-1.202-.377-2.045-.377zM79.66 6.314c1.19 0 2.227.273 3.114.821.886.548 1.575 1.316 2.065 2.306s.735 2.146.735 3.468c0 1.316-.245 2.466-.735 3.45-.49.985-1.179 1.751-2.065 2.299-.887.547-1.924.82-3.114.82s-2.227-.273-3.113-.82c-.887-.548-1.575-1.314-2.065-2.298-.49-.985-.735-2.135-.735-3.451 0-1.322.245-2.478.735-3.468.49-.99 1.178-1.758 2.065-2.306.886-.548 1.924-.821 3.113-.821zm.008 2.074c-.776 0-1.419.207-1.928.622-.51.415-.887.963-1.132 1.646a6.602 6.602 0 00-.367 2.244c0 .819.122 1.568.367 2.249.245.68.623 1.225 1.132 1.634.51.41 1.152.614 1.928.614.771 0 1.41-.205 1.917-.614.506-.41.882-.954 1.127-1.634.245-.68.367-1.43.367-2.249 0-.813-.122-1.56-.367-2.244-.245-.683-.62-1.231-1.127-1.646-.507-.415-1.146-.622-1.917-.622zm16.164 5.55V6.48h2.477v12.742h-2.428v-2.207h-.132a3.956 3.956 0 01-1.4 1.697c-.641.45-1.438.676-2.391.676-.815 0-1.535-.181-2.16-.544-.625-.362-1.115-.9-1.47-1.613-.355-.714-.533-1.596-.533-2.647V6.48h2.47v7.806c0 .868.24 1.56.718 2.074.48.514 1.102.771 1.867.771.462 0 .924-.116 1.383-.348.46-.232.843-.584 1.148-1.054.306-.47.456-1.067.45-1.792zm8.58-10.511v3.052h2.602v1.992h-2.602v7.01c0 .48.072.841.215 1.082.144.24.33.404.558.49.228.085.478.128.747.128.199 0 .372-.014.52-.041l.348-.067.446 2.05a4.42 4.42 0 01-.612.17c-.264.057-.594.09-.99.095a4.331 4.331 0 01-1.818-.349 3.12 3.12 0 01-1.362-1.128c-.347-.509-.52-1.148-.52-1.916l-.002-7.525h-1.857V6.48h1.857l.001-3.053h2.47zm9.961 2.887c.716 0 1.41.119 2.081.356a5.037 5.037 0 011.81 1.12c.533.51.954 1.169 1.263 1.979.308.81.462 1.793.462 2.949v.88l-9.016-.001.003.105c.03.732.178 1.364.445 1.895.3.597.72 1.052 1.259 1.364.54.313 1.17.469 1.891.469.468 0 .895-.068 1.28-.203a2.716 2.716 0 001-.61c.28-.271.495-.606.644-1.004l2.337.423a4.247 4.247 0 01-1.003 1.813c-.482.517-1.085.918-1.809 1.203-.724.284-1.548.427-2.473.427-1.25 0-2.325-.27-3.226-.809-.9-.54-1.594-1.3-2.08-2.281-.488-.982-.732-2.134-.732-3.455 0-1.306.244-2.456.731-3.451.487-.996 1.17-1.773 2.048-2.331.879-.559 1.907-.838 3.085-.838zm.017 2.049c-.694 0-1.298.17-1.813.51-.515.34-.911.782-1.19 1.327a3.778 3.778 0 00-.39 1.303l-.02.236h6.592c0-.653-.132-1.232-.396-1.738a3.022 3.022 0 00-1.11-1.199c-.477-.293-1.035-.44-1.673-.44zm7.821 10.859V6.48h2.387v2.024h.132a3.092 3.092 0 011.227-1.622 3.485 3.485 0 011.994-.593l.396.01.153.006c.212.011.379.025.5.042v2.372c-.1-.027-.275-.059-.529-.095a5.4 5.4 0 00-.76-.054c-.583 0-1.102.123-1.556.37a2.799 2.799 0 00-1.078 1.02 2.79 2.79 0 00-.397 1.48v7.782h-2.469z"></path></svg>`,Ji=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>OpenRouter</title><path d="M16.804 1.957l7.22 4.105v.087L16.73 10.21l.017-2.117-.821-.03c-1.059-.028-1.611.002-2.268.11-1.064.175-2.038.577-3.147 1.352L8.345 11.03c-.284.195-.495.336-.68.455l-.515.322-.397.234.385.23.53.338c.476.314 1.17.796 2.701 1.866 1.11.775 2.083 1.177 3.147 1.352l.3.045c.694.091 1.375.094 2.825.033l.022-2.159 7.22 4.105v.087L16.589 22l.014-1.862-.635.022c-1.386.042-2.137.002-3.138-.162-1.694-.28-3.26-.926-4.881-2.059l-2.158-1.5a21.997 21.997 0 00-.755-.498l-.467-.28a55.927 55.927 0 00-.76-.43C2.908 14.73.563 14.116 0 14.116V9.888l.14.004c.564-.007 2.91-.622 3.809-1.124l1.016-.58.438-.274c.428-.28 1.072-.726 2.686-1.853 1.621-1.133 3.186-1.78 4.881-2.059 1.152-.19 1.974-.213 3.814-.138l.02-1.907z"></path></svg>`,Yi=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 298.03 47.18" fill="currentColor" role="img" aria-label="OVHcloud">
10
10
  <title>OVHcloud</title>
11
11
  <path fill="currentColor" d="M110.11,40.31a40.1,40.1,0,0,1-3.74,44.49H84.93l6.6-11.67H82.8L93.09,55h8.78l8.24-14.67ZM67.77,84.8H45.91a39.59,39.59,0,0,1-3.79-44.59L56.3,64.84,71.93,37.62h23L67.78,84.78h0v0Z" transform="translate(-36.97 -37.62)"/>
12
12
  <path fill="currentColor" d="M128.18,62.9c0-12.59,6.27-18.64,16.57-18.64s16.56,6.05,16.56,18.64S155,81.47,144.75,81.47,128.18,75.37,128.18,62.9Zm3.72,0c0,10.35,4.72,15.28,12.85,15.28s12.84-4.93,12.84-15.28-4.72-15.35-12.84-15.35S131.9,52.49,131.9,62.9Z" transform="translate(-36.97 -37.62)"/>
@@ -34,7 +34,7 @@ Error generating stack: `+e.message+`
34
34
  `,ra=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 50 24" xmlns="http://www.w3.org/2000/svg"><title>Z.ai</title><path d="M43.794 21.722V7.02h4.078v14.702h-4.078zm2.048-16.597a2.215 2.215 0 01-1.56-.603c-.427-.408-.641-.896-.641-1.464 0-.562.214-1.043.641-1.445A2.196 2.196 0 0145.842 1c.607 0 1.123.204 1.55.613.435.402.652.883.652 1.445 0 .568-.217 1.056-.651 1.464a2.182 2.182 0 01-1.55.603zM32.351 22c-.938 0-1.773-.163-2.507-.488a4.037 4.037 0 01-1.742-1.465c-.422-.65-.632-1.46-.632-2.43 0-.818.15-1.504.45-2.059.3-.555.708-1.002 1.225-1.34a5.942 5.942 0 011.761-.765c.664-.173 1.36-.294 2.087-.364a52.88 52.88 0 002.067-.249c.523-.083.903-.204 1.14-.364.235-.16.353-.395.353-.708v-.057c0-.607-.191-1.076-.574-1.407-.376-.332-.912-.498-1.608-.498-.734 0-1.318.163-1.752.488a2.246 2.246 0 00-.861 1.206l-3.771-.306a5.124 5.124 0 011.13-2.317c.56-.657 1.285-1.16 2.172-1.512.893-.357 1.927-.536 3.101-.536.817 0 1.599.096 2.345.287.753.192 1.42.488 2 .89.588.402 1.05.92 1.389 1.551.338.625.507 1.375.507 2.25v9.915h-3.867v-2.038h-.115c-.236.46-.552.864-.947 1.215a4.387 4.387 0 01-1.427.814c-.555.191-1.196.287-1.924.287zm1.168-2.814c.6 0 1.13-.118 1.589-.354.46-.243.82-.568 1.082-.977.261-.408.392-.87.392-1.387v-1.56c-.128.082-.303.159-.526.23a9.587 9.587 0 01-.737.181 36.44 36.44 0 01-.824.144l-.746.105c-.479.07-.897.182-1.254.335-.357.153-.635.36-.833.622-.197.255-.296.574-.296.957 0 .555.2.98.603 1.273.408.287.925.43 1.55.43zM22.514 21.971a2.236 2.236 0 01-1.627-.67 2.236 2.236 0 01-.67-1.627c0-.625.223-1.161.67-1.608.453-.446.995-.67 1.627-.67.613 0 1.149.224 1.608.67.46.447.69.983.69 1.608 0 .421-.11.808-.326 1.158-.21.345-.489.623-.833.833a2.193 2.193 0 01-1.139.306zM2.02 21.722v-2.46L11.8 5.537H2V2.12h15.008v2.46L7.216 18.305h9.811v3.417H2.02z"></path></svg>`,ia=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Z.ai</title><path d="M12.105 2L9.927 4.953H.653L2.83 2h9.276zM23.254 19.048L21.078 22h-9.242l2.174-2.952h9.244zM24 2L9.264 22H0L14.736 2H24z"></path></svg>`,aa={row:`_row_2hylr_13`,icon:`_icon_2hylr_27`,textLogo:`_textLogo_2hylr_44`,iconLegacyWordmark:`_iconLegacyWordmark_2hylr_63`,fallback:`_fallback_2hylr_96`},oa=Object.assign({"../../../assets/providers/aistudio/aistudio-text.svg":xi,"../../../assets/providers/aistudio/aistudio.svg":Si,"../../../assets/providers/cerebras/cerebras-brand-color.svg":Ci,"../../../assets/providers/cerebras/cerebras-brand.svg":wi,"../../../assets/providers/cerebras/cerebras-color.svg":Ti,"../../../assets/providers/cerebras/cerebras-text.svg":Ei,"../../../assets/providers/cerebras/cerebras.svg":Di,"../../../assets/providers/cloudflare/cloudflare-color.svg":Oi,"../../../assets/providers/cloudflare/cloudflare-text.svg":ki,"../../../assets/providers/cloudflare/cloudflare.svg":Ai,"../../../assets/providers/gemini/gemini-color.svg":ji,"../../../assets/providers/gemini/gemini-text.svg":Mi,"../../../assets/providers/gemini/gemini.svg":Ni,"../../../assets/providers/github/github-text.svg":Pi,"../../../assets/providers/github/github.svg":Fi,"../../../assets/providers/groq/groq-text.svg":Ii,"../../../assets/providers/groq/groq.svg":Li,"../../../assets/providers/mistral/mistral-color.svg":Ri,"../../../assets/providers/mistral/mistral-text.svg":zi,"../../../assets/providers/mistral/mistral.svg":Bi,"../../../assets/providers/nvidia/nvidia-color.svg":Vi,"../../../assets/providers/nvidia/nvidia-text.svg":Hi,"../../../assets/providers/nvidia/nvidia.svg":Ui,"../../../assets/providers/opencode/opencode-text.svg":Wi,"../../../assets/providers/opencode/opencode.svg":Gi,"../../../assets/providers/openrouter/openrouter (1).svg":Ki,"../../../assets/providers/openrouter/openrouter-text.svg":qi,"../../../assets/providers/openrouter/openrouter.svg":Ji,"../../../assets/providers/ovhcloud/ovhcloud.svg":Yi,"../../../assets/providers/qwen/qwen-color.svg":Xi,"../../../assets/providers/qwen/qwen-text.svg":Zi,"../../../assets/providers/qwen/qwen.svg":Qi,"../../../assets/providers/sambanova/sambanova-color.svg":$i,"../../../assets/providers/sambanova/sambanova-text.svg":ea,"../../../assets/providers/sambanova/sambanova.svg":ta,"../../../assets/providers/scalewaylogo/ScalewayLogo.svg":na,"../../../assets/providers/zai/zai-text.svg":ra,"../../../assets/providers/zai/zai.svg":ia}),sa={nvidia:{folder:`nvidia`,hasColor:!0,hasText:!0},groq:{folder:`groq`,hasColor:!1,hasText:!0},cerebras:{folder:`cerebras`,hasColor:!0,hasText:!0},googleai:{folder:`aistudio`,hasColor:!1,hasText:!0},"github-models":{folder:`github`,hasColor:!1,hasText:!0},mistral:{folder:`mistral`,hasColor:!0,hasText:!0},cloudflare:{folder:`cloudflare`,hasColor:!0,hasText:!0},openrouter:{folder:`openrouter`,hasColor:!1,hasText:!0},sambanova:{folder:`sambanova`,hasColor:!0,hasText:!0},ovhcloud:{folder:`ovhcloud`,hasColor:!1,hasText:!1,legacy:!0,noCaption:!0},scaleway:{folder:`scalewaylogo`,iconFile:`ScalewayLogo`,iconClass:`scalewayLogo`,hasColor:!1,hasText:!1,legacy:!0,noCaption:!0},zai:{folder:`zai`,hasColor:!1,hasText:!0},qwen:{folder:`qwen`,hasColor:!0,hasText:!0},"opencode-zen":{folder:`opencode`,hasColor:!1,hasText:!0},codestral:{folder:`mistral`,iconFile:`mistral-color`,hasColor:!0,hasText:!1,legacy:!0,caption:`Codestral`}};function L(e,t){return!e||!t?null:oa[`../../../assets/providers/${e}/${t}.svg`]||null}function ca({providerKey:e,origin:t}){let n=sa[e];if(!n)return(0,F.jsx)(`span`,{className:aa.fallback,children:t});let r=n.iconFile&&L(n.folder,n.iconFile)||n.hasColor&&L(n.folder,`${n.folder}-color`)||L(n.folder,n.folder),i=n.hasText?L(n.folder,`${n.folder}-text`):null;if(r&&i)return(0,F.jsxs)(`span`,{className:aa.row,title:t,children:[(0,F.jsx)(`span`,{className:aa.icon,"aria-hidden":`true`,dangerouslySetInnerHTML:{__html:r}}),(0,F.jsx)(`span`,{className:aa.textLogo,"aria-hidden":`true`,dangerouslySetInnerHTML:{__html:i}})]});if(r){let e=n.caption??t;if(n.noCaption){let e=n.iconClass?`${aa.iconLegacyWordmark} ${n.iconClass}`:aa.iconLegacyWordmark;return(0,F.jsx)(`span`,{className:aa.row,title:t,children:(0,F.jsx)(`span`,{className:e,"aria-hidden":`true`,dangerouslySetInnerHTML:{__html:r}})})}return(0,F.jsxs)(`span`,{className:aa.row,title:t,children:[(0,F.jsx)(`span`,{className:aa.icon,"aria-hidden":`true`,dangerouslySetInnerHTML:{__html:r}}),(0,F.jsx)(`span`,{className:aa.fallback,children:e})]})}return i?(0,F.jsx)(`span`,{className:aa.row,title:t,children:(0,F.jsx)(`span`,{className:aa.textLogo,"aria-hidden":`true`,dangerouslySetInnerHTML:{__html:i}})}):(0,F.jsx)(`span`,{className:aa.fallback,children:t})}var R={dropdown:`_dropdown_1mlad_10`,trigger:`_trigger_1mlad_15`,triggerActive:`_triggerActive_1mlad_40`,triggerOpen:`_triggerOpen_1mlad_44`,triggerContent:`_triggerContent_1mlad_52`,triggerLogo:`_triggerLogo_1mlad_61`,triggerLabel:`_triggerLabel_1mlad_76`,triggerCount:`_triggerCount_1mlad_83`,chevron:`_chevron_1mlad_92`,chevronOpen:`_chevronOpen_1mlad_97`,menu:`_menu_1mlad_103`,option:`_option_1mlad_133`,optionActive:`_optionActive_1mlad_159`,optionLabel:`_optionLabel_1mlad_168`,optionLogo:`_optionLogo_1mlad_173`,optionCount:`_optionCount_1mlad_188`,separator:`_separator_1mlad_198`,healthDot:`_healthDot_1mlad_205`,dot_active:`_dot_active_1mlad_215`,dot_pending:`_dot_pending_1mlad_221`,dot_down:`_dot_down_1mlad_226`,dot_nokey:`_dot_nokey_1mlad_231`};function la(e){return e.hasKey?e.anyUp?`active`:`down`:`nokey`}function ua({state:e}){let{t}=pi(),n=R[`dot_${e}`]||R.dot_nokey,r={active:t(`provider.health.active`),pending:t(`provider.health.pending`),down:t(`provider.health.down`),nokey:t(`dashboard.noApiKey`)};return(0,F.jsx)(`span`,{className:`${R.healthDot} ${n}`,title:r[e]||``})}function da({providers:e,value:t,onChange:n}){let{t:r}=pi(),[i,a]=(0,v.useState)(!1),o=(0,v.useRef)(null),s=(0,v.useRef)(null),c=(0,v.useCallback)(()=>a(!1),[]);(0,v.useEffect)(()=>{if(!i)return;let e=e=>{o.current&&!o.current.contains(e.target)&&c()},t=e=>{e.key===`Escape`&&c()};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[i,c]),(0,v.useEffect)(()=>{if(!i||!s.current)return;let e=s.current.querySelector(`[data-active="true"]`);e&&e.scrollIntoView({block:`nearest`})},[i]);let l=e.find(e=>e.key===t),u=t!==`all`;return(0,F.jsxs)(`div`,{className:R.dropdown,ref:o,children:[(0,F.jsxs)(`button`,{className:`${R.trigger} ${u?R.triggerActive:``} ${i?R.triggerOpen:``}`,onClick:()=>a(!i),"aria-expanded":i,"aria-haspopup":`listbox`,title:u?`${r(`filters.provider`)}: ${l?.name||t}`:r(`dashboard.allProviders`),children:[(0,F.jsx)(`span`,{className:R.triggerContent,children:u&&l?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:R.triggerLogo,children:(0,F.jsx)(ca,{providerKey:l.key,origin:l.name})}),(0,F.jsx)(`span`,{className:R.triggerCount,children:l.count})]}):(0,F.jsx)(`span`,{className:R.triggerLabel,children:r(`dashboard.allProviders`)})}),(0,F.jsx)(Jn,{size:12,stroke:2,className:`${R.chevron} ${i?R.chevronOpen:``}`})]}),i&&(0,F.jsxs)(`div`,{className:R.menu,role:`listbox`,ref:s,children:[(0,F.jsxs)(`button`,{role:`option`,"aria-selected":t===`all`,"data-active":t===`all`,className:`${R.option} ${t===`all`?R.optionActive:``}`,onClick:()=>{n(`all`),c()},children:[(0,F.jsx)(`span`,{className:R.optionLabel,children:r(`dashboard.allProviders`)}),(0,F.jsx)(`span`,{className:R.optionCount,children:e.reduce((e,t)=>e+t.count,0)})]}),(0,F.jsx)(`div`,{className:R.separator}),e.map(e=>{let i=la(e);return(0,F.jsxs)(`button`,{role:`option`,"aria-selected":t===e.key,"data-active":t===e.key,className:`${R.option} ${t===e.key?R.optionActive:``}`,onClick:()=>{n(e.key),c()},title:r(`dashboard.providerModelsTitle`,{provider:e.name,count:e.count}),children:[(0,F.jsx)(`span`,{className:R.optionLogo,children:(0,F.jsx)(ca,{providerKey:e.key,origin:e.name})}),(0,F.jsx)(ua,{state:i}),(0,F.jsx)(`span`,{className:R.optionCount,children:e.count})]},e.key)})]})]})}var z={filters:`_filters_qeaqk_15`,group:`_group_qeaqk_26`,filterLabel:`_filterLabel_qeaqk_28`,filterGroup:`_filterGroup_qeaqk_35`,filterTrigger:`_filterTrigger_qeaqk_39`,filterTriggerActive:`_filterTriggerActive_qeaqk_55`,filterTriggerExpanded:`_filterTriggerExpanded_qeaqk_59`,filterTriggerLabel:`_filterTriggerLabel_qeaqk_68`,filterTriggerSep:`_filterTriggerSep_qeaqk_73`,filterTriggerValue:`_filterTriggerValue_qeaqk_77`,filterTriggerChevron:`_filterTriggerChevron_qeaqk_85`,chevronOpen:`_chevronOpen_qeaqk_90`,filterDropdown:`_filterDropdown_qeaqk_95`,filterChipRow:`_filterChipRow_qeaqk_107`,filterChip:`_filterChip_qeaqk_107`,filterChipActive:`_filterChipActive_qeaqk_134`,select:`_select_qeaqk_143`,providerSelect:`_providerSelect_qeaqk_143`,toolStatus:`_toolStatus_qeaqk_152`,spacer:`_spacer_qeaqk_170`,resetBtn:`_resetBtn_qeaqk_172`,resetBadge:`_resetBadge_qeaqk_185`,customFilterChip:`_customFilterChip_qeaqk_196`,customFilterIcon:`_customFilterIcon_qeaqk_206`,customFilterLabel:`_customFilterLabel_qeaqk_207`,customFilterClear:`_customFilterClear_qeaqk_212`,nextPing:`_nextPing_qeaqk_225`,nextPingLabel:`_nextPingLabel_qeaqk_233`,nextPingTime:`_nextPingTime_qeaqk_237`,live:`_live_qeaqk_248`,liveDot:`_liveDot_qeaqk_253`,pulseDot:`_pulseDot_qeaqk_1`,benchmarkBar:`_benchmarkBar_qeaqk_259`,benchmarkLabel:`_benchmarkLabel_qeaqk_269`,benchmarkSpinner:`_benchmarkSpinner_qeaqk_275`,spinSp:`_spinSp_qeaqk_1`,benchmarkCount:`_benchmarkCount_qeaqk_280`,benchmarkTrack:`_benchmarkTrack_qeaqk_281`,benchmarkFill:`_benchmarkFill_qeaqk_287`,benchmarkPct:`_benchmarkPct_qeaqk_293`,searchBar:`_searchBar_qeaqk_305`,searchIcon:`_searchIcon_qeaqk_322`,searchInput:`_searchInput_qeaqk_328`},fa=[{key:`all`,labelKey:`filters.all`},{key:`S+`,label:`S+`},{key:`S`,label:`S`},{key:`A+`,label:`A+`},{key:`A`,label:`A`},{key:`A-`,label:`A-`},{key:`B+`,label:`B+`},{key:`B`,label:`B`},{key:`C`,label:`C`}],pa=[{key:`all`,labelKey:`filters.all`},{key:`up`,labelKey:`dashboard.working`},{key:`down`,labelKey:`dashboard.down`},{key:`pending`,labelKey:`dashboard.pending`}],ma=[{key:`all`,labelKey:`filters.all`},{key:`Perfect`,labelKey:`filters.verdict.perfect`},{key:`Normal`,labelKey:`filters.verdict.normal`},{key:`Spiky`,labelKey:`filters.verdict.spiky`},{key:`Slow`,labelKey:`filters.verdict.slow`},{key:`Overloaded`,labelKey:`filters.verdict.overloaded`},{key:`Down`,labelKey:`dashboard.down`},{key:`Unstable`,labelKey:`filters.verdict.unstable`},{key:`Pending`,labelKey:`dashboard.pending`}],ha=[{key:`all`,labelKey:`filters.all`},{key:`up`,labelKey:`dashboard.working`},{key:`timeout`,labelKey:`filters.health.timeout`},{key:`down`,labelKey:`dashboard.down`},{key:`pending`,labelKey:`dashboard.pending`},{key:`noauth`,labelKey:`filters.health.noKey`},{key:`auth_error`,labelKey:`filters.health.authError`}],ga=[{key:`normal`,labelKey:`dashboard.allModels`,hintKey:`filters.visibility.allHint`},{key:`configured`,labelKey:`filters.visibility.configured`,hintKey:`filters.visibility.configuredHint`},{key:`usable`,labelKey:`filters.visibility.usable`,hintKey:`filters.visibility.usableHint`}],_a=[{key:`speed`,labelKey:`filters.pingSpeed`,interval:`2s`,color:`#00ff88`},{key:`normal`,labelKey:`filters.pingNormal`,interval:`10s`,color:`#ffaa00`},{key:`slow`,labelKey:`filters.pingSlow`,interval:`30s`,color:`#ff6644`},{key:`forced`,labelKey:`filters.pingForced`,interval:`4s`,color:`#ff4466`}];function va(e){if(e==null)return null;let t=Math.max(0,e/1e3);return t<60?`${t.toFixed(2)}s`:`${Math.floor(t/60)}m ${(t%60).toFixed(2)}s`}function ya({label:e,items:t,value:n,onChange:r,colorMap:i}){let{t:a}=pi(),[o,s]=(0,v.useState)(!1),c=(0,v.useRef)(null),l=(0,v.useCallback)(()=>s(!1),[]);(0,v.useEffect)(()=>{if(!o)return;let e=e=>{c.current&&!c.current.contains(e.target)&&l()},t=e=>{e.key===`Escape`&&l()};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[o,l]);let u=t.find(e=>e.key===n),d=u?.labelKey?a(u.labelKey):u?.label??u?.key??n??a(`filters.all`),f=e.key?a(e.key):e,p=n!==`all`;return(0,F.jsxs)(`div`,{className:z.filterGroup,ref:c,children:[(0,F.jsxs)(`button`,{className:`${z.filterTrigger} ${p?z.filterTriggerActive:``} ${o?z.filterTriggerExpanded:``}`,onClick:()=>s(!o),title:`${f}: ${d}`,"aria-expanded":o,"aria-haspopup":`listbox`,children:[(0,F.jsx)(`span`,{className:z.filterTriggerLabel,children:f}),(0,F.jsx)(`span`,{className:z.filterTriggerSep,children:`:`}),(0,F.jsx)(`span`,{className:z.filterTriggerValue,children:d}),(0,F.jsx)(Jn,{size:12,stroke:2,className:`${z.filterTriggerChevron} ${o?z.chevronOpen:``}`})]}),o&&(0,F.jsx)(`div`,{className:z.filterDropdown,role:`listbox`,children:(0,F.jsx)(`div`,{className:z.filterChipRow,children:t.map((e,t)=>{let o=n===e.key,s=i?.[e.key];return(0,F.jsx)(`button`,{role:`option`,"aria-selected":o,className:`${z.filterChip} ${o?z.filterChipActive:``}`,style:o&&s?{"--chip-active-color":s}:{},onClick:()=>{r(e.key),l()},title:e.hintKey?a(e.hintKey):e.hint||(e.labelKey?a(e.labelKey):e.label),children:e.labelKey?a(e.labelKey):e.label??e.key},e.key)})})})]})}function ba({filterTier:e,setFilterTier:t,filterStatus:n,setFilterStatus:r,filterProvider:i,setFilterProvider:a,filterVerdict:o,setFilterVerdict:s,filterHealth:c,setFilterHealth:l,visibilityMode:u,setVisibilityMode:d,customTextFilter:f,setCustomTextFilter:p,searchQuery:m,onSearchChange:h,onResetView:g,providers:_,pingMode:y,setPingMode:b,nextPingAt:x,isPinging:S,globalBenchmarkRunning:C,globalBenchmarkTotal:w,globalBenchmarkCompleted:T,toolMode:ee=`opencode`}){let{t:E}=pi(),[te,D]=(0,v.useState)(null);(0,v.useEffect)(()=>{if(x==null)return;let e=()=>{let e=x-Date.now();D(e>0?e:0)};e();let t=setInterval(e,100);return()=>clearInterval(t)},[x]);let O=te===null?null:va(te),ne=_n(ee),re=!!(f&&f.trim().length>0),ie=C&&w>0?Math.round(T/w*100):0,ae=(0,v.useMemo)(()=>{let t=0;return e!==`all`&&t++,n!==`all`&&t++,i!==`all`&&t++,o!==`all`&&t++,c!==`all`&&t++,u!==`normal`&&t++,re&&t++,m&&m.trim().length>0&&t++,t},[e,n,i,o,c,u,re,m]);return(0,F.jsxs)(`section`,{className:z.filters,children:[C&&(0,F.jsxs)(`div`,{className:z.benchmarkBar,children:[(0,F.jsxs)(`div`,{className:z.benchmarkLabel,children:[(0,F.jsx)(`span`,{className:z.benchmarkSpinner}),(0,F.jsx)(`span`,{children:E(`dashboard.aiSpeedTest`)}),(0,F.jsxs)(`span`,{className:z.benchmarkCount,children:[T,`/`,w]})]}),(0,F.jsx)(`div`,{className:z.benchmarkTrack,children:(0,F.jsx)(`div`,{className:z.benchmarkFill,style:{width:`${ie}%`}})}),(0,F.jsxs)(`span`,{className:z.benchmarkPct,children:[ie,`%`]})]}),(0,F.jsx)(ya,{label:{key:`filters.tier`},items:fa,value:e,onChange:t}),(0,F.jsx)(ya,{label:{key:`filters.status`},items:pa,value:n,onChange:r}),(0,F.jsx)(ya,{label:{key:`filters.verdict`},items:ma,value:o,onChange:s}),(0,F.jsx)(ya,{label:{key:`filters.health`},items:ha,value:c,onChange:l}),(0,F.jsxs)(`div`,{className:z.group,children:[(0,F.jsx)(`label`,{className:z.filterLabel,htmlFor:`visibility-select`,children:E(`filters.visibility`)}),(0,F.jsx)(`select`,{id:`visibility-select`,className:z.select,value:u,onChange:e=>d(e.target.value),title:(()=>{let e=ga.find(e=>e.key===u);return e?.hintKey?E(e.hintKey):e?.hint})(),"aria-label":E(`filters.visibility`),children:ga.map(e=>(0,F.jsx)(`option`,{value:e.key,children:E(e.labelKey)},e.key))})]}),(0,F.jsxs)(`div`,{className:z.group,children:[(0,F.jsx)(`label`,{className:z.filterLabel,children:E(`filters.provider`)}),(0,F.jsx)(da,{providers:_,value:i,onChange:a})]}),(0,F.jsx)(`div`,{className:z.group,children:(0,F.jsxs)(`div`,{className:z.searchBar,children:[(0,F.jsx)(`span`,{className:z.searchIcon,children:(0,F.jsx)(Ir,{size:13,stroke:1.5})}),(0,F.jsx)(`input`,{type:`text`,className:z.searchInput,placeholder:E(`dashboard.searchPlaceholder`),value:m||``,onChange:e=>h?.(e.target.value),autoComplete:`off`,"aria-label":E(`dashboard.search`)})]})}),(0,F.jsxs)(`div`,{className:z.group,children:[(0,F.jsx)(`label`,{className:z.filterLabel,children:E(`filters.endpointTarget`)}),(0,F.jsxs)(`div`,{className:z.toolStatus,title:E(`filters.endpointTargetHint`),children:[(0,F.jsx)(`span`,{children:ne.emoji}),(0,F.jsx)(`strong`,{children:ne.label})]})]}),(0,F.jsx)(`div`,{className:z.spacer}),re&&(0,F.jsxs)(`div`,{className:z.group,children:[(0,F.jsx)(`label`,{className:z.filterLabel,children:E(`filters.text`)}),(0,F.jsxs)(`div`,{className:z.customFilterChip,title:E(`filters.clearTextHint`),children:[(0,F.jsx)(`span`,{className:z.customFilterIcon,children:(0,F.jsx)(fr,{size:12,stroke:1.5})}),(0,F.jsx)(`span`,{className:z.customFilterLabel,children:f}),(0,F.jsx)(`button`,{className:z.customFilterClear,onClick:()=>p(null),title:E(`filters.clearText`),"aria-label":E(`filters.clearText`),children:(0,F.jsx)(qr,{size:12,stroke:2})})]})]}),ae>0&&(0,F.jsxs)(`button`,{className:z.resetBtn,onClick:g,title:E(`filters.resetTitle`,{count:ae}),children:[(0,F.jsx)(Pr,{size:12,stroke:1.5}),(0,F.jsx)(`span`,{children:E(`dashboard.resetView`)}),(0,F.jsx)(`span`,{className:z.resetBadge,children:ae})]}),(0,F.jsx)(ya,{label:{key:`filters.ping`},items:_a,value:y,onChange:b,colorMap:Object.fromEntries(_a.map(e=>[e.key,e.color]))}),(0,F.jsx)(`div`,{className:z.group,children:(0,F.jsxs)(`div`,{className:z.nextPing,title:E(`filters.nextPing`),children:[(0,F.jsx)(`span`,{className:z.nextPingLabel,children:E(`filters.nextPing`)}),(0,F.jsx)(`span`,{className:z.nextPingTime,children:O??`—`})]})})]})}function xa(e){return Sa(e)||typeof e==`function`||Ca(e)}function Sa(e){return typeof e==`function`&&(()=>{let t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function Ca(e){return typeof e==`object`&&typeof e.$$typeof==`symbol`&&[`react.memo`,`react.forward_ref`].includes(e.$$typeof.description)}function wa(e,t){return e==null?null:xa(e)?v.createElement(e,t):e}function Ta(e){if(`cell`in e&&e.cell){let t=e.cell,n=t.column.columnDef,r=t,i=n;return r.getIsAggregated?.()?wa(i.aggregatedCell??n.cell,t.getContext()):r.getIsPlaceholder?.()?null:wa(n.cell,t.getContext())}return`header`in e&&e.header?wa(e.header.column.columnDef.header,e.header.getContext()):`footer`in e&&e.footer?wa(e.footer.column.columnDef.footer,e.footer.getContext()):null}function Ea({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(1)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(1)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function Da(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var Oa=[],ka=0,{link:Aa,unlink:ja,propagate:Ma,checkDirty:Na,shallowPropagate:Pa}=Ea({update(e){return e._update()},notify(e){Oa[Ia++]=e,e.flags&=-3},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,Ba(e))}}),Fa=0,Ia=0,La,Ra=0;function za(e){try{++Ra,e()}finally{--Ra||Va()}}function Ba(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=ja(n,e)}function Va(){if(!(Ra>0)){for(;Fa<Ia;){let e=Oa[Fa];Oa[Fa++]=void 0,e.notify()}Fa=0,Ia=0}}function Ha(e,t){let n=typeof e==`function`,r=e,i={_snapshot:n?void 0:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:+!n,get(){return La!==void 0&&Aa(i,La,ka),i._snapshot},subscribe(e){let t=Da(e),n={current:!1},r=Ua(()=>{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=La,o=t?.compare??Object.is;if(n)La=i,++ka,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=5);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{La=a,n&&(i.flags&=-5),Ba(i)}}};return n?(i.flags=17,i.get=function(){let e=i.flags;if(e&16||e&32&&Na(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&Pa(e)}}else e&32&&(i.flags=e&-33);return La!==void 0&&Aa(i,La,ka),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(Ma(e),Pa(e),Va())}},i}function Ua(e){let t=()=>{let t=La;La=n,++ka,n.depsTail=void 0,n.flags=6;try{return e()}finally{La=t,n.flags&=-5,Ba(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:6,notify(){let e=this.flags;e&16||e&32&&Na(this.deps,this)?t():this.flags=2},stop(){this.flags=0,this.depsTail=void 0,Ba(this)}};return t(),n}function Wa(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();let n=Ga(e);if(n.length!==Ga(t).length)return!1;for(let r=0;r<n.length;r++)if(!Object.prototype.hasOwnProperty.call(t,n[r])||!Object.is(e[n[r]],t[n[r]]))return!1;return!0}function Ga(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}var Ka=o((e=>{var t=d();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,a=t.useEffect,o=t.useLayoutEffect,s=t.useDebugValue;function c(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),c=r[0].inst,u=r[1];return o(function(){c.value=n,c.getSnapshot=t,l(c)&&u({inst:c})},[e,n,t]),a(function(){return l(c)&&u({inst:c}),e(function(){l(c)&&u({inst:c})})},[e]),s(n),n}function l(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function u(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?u:c;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),qa=o(((e,t)=>{t.exports=Ka()})),Ja=o((e=>{var t=d(),n=qa();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=n.useSyncExternalStore,o=t.useRef,s=t.useEffect,c=t.useMemo,l=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,u){var d=o(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=c(function(){function e(e){if(!a){if(a=!0,o=e,e=r(e),u!==void 0&&f.hasValue){var t=f.value;if(u(t,e))return s=t}return s=e}if(t=s,i(o,e))return t;var n=r(e);return u!==void 0&&u(t,n)?(o=e,t):(o=e,s=n)}var a=!1,o,s,c=n===void 0?null:n;return[function(){return e(t())},c===null?void 0:function(){return e(c())}]},[t,n,r,u]);var p=a(e,d[0],d[1]);return s(function(){f.hasValue=!0,f.value=p},[p]),l(p),p}})),Ya=o(((e,t)=>{t.exports=Ja()}))();function Xa(e,t){return e===t}function Za(e,t=e=>e,n){let r=n?.compare??Xa,i=(0,v.useCallback)(t=>{let{unsubscribe:n}=e.subscribe(t);return n},[e]),a=(0,v.useCallback)(()=>e.get(),[e]);return(0,Ya.useSyncExternalStoreWithSelector)(i,a,a,t,r)}function Qa(e){let t=Za(e.source,e.selector,{compare:Wa});return typeof e.children==`function`?e.children(t):e.children}function $a(e){let t=e;return Object.defineProperty(e,"state",{get(){return e.get()}}),`set`in e&&(t.setState=e.set.bind(e)),t}function eo(e){let{createAtom:t,batch:n}=e,r=t(0);return{createOptionsStore:!1,wrapExternalAtoms:!1,addSubscription:()=>{throw Error(`Feature not supported in current reactivity implementation`)},unmount:()=>{throw Error(`Feature not supported in current reactivity implementation`)},schedule:e.schedule??(e=>queueMicrotask(e)),batch:n,untrack:e=>e(),createReadonlyAtom:(e,n)=>{let i=n?.compare??Object.is,a=!1,o,s=()=>{let t=e();return(!a||!i(o,t))&&(o=t,a=!0),o},c=t(()=>(r.get(),s()),{compare:i});return{get:s,subscribe:c.subscribe.bind(c)}},createWritableAtom:(e,n)=>t(e,{compare:n?.compare}),commit:()=>{r.set(e=>e+1)}}}function to(e,t=Object.is){let n=!1,r;return{get:e.get,markCommitted:e=>{r=e,n=!0},subscribe:i=>e.subscribe(e=>{(!n||!t(r,e))&&i(e)})}}function no(){return eo({createAtom:Ha,batch:za})}function ro(e,t){return typeof e==`function`?e(t):e}function io(e){if(Array.isArray(e))return e.map(io);if(e&&typeof e==`object`){let t=Object.getPrototypeOf(e);if(t!==Object.prototype&&t!==null)return e;let n=t===null?ao():{},r=Object.keys(e);for(let t=0;t<r.length;t++){let i=r[t];Object.defineProperty(n,i,{configurable:!0,enumerable:!0,value:io(e[i]),writable:!0})}return n}return e}function ao(){return Object.create(null)}function oo(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function so(e,t){return n=>{(t.options.atoms?.[e]??t.baseAtoms[e]).set(e=>ro(n,e))}}function co(e){if(typeof e!=`object`||!e)return!1;if(Array.isArray(e))return!0;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function lo(e){return Reflect.ownKeys(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}var uo=3;function fo(e,t){return po(e,t,uo)}function po(e,t,n){if(Object.is(e,t))return!0;if(n<=0||!co(e)||!co(t)||(Array.isArray(e)||Array.isArray(t))&&(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length))return!1;let r=lo(e),i=lo(t);if(r.length!==i.length)return!1;let a=e,o=t;for(let e=0;e<r.length;e++){let i=r[e];if(!Object.prototype.propertyIsEnumerable.call(t,i)||!po(a[i],o[i],n-1))return!1}return!0}function mo(e,t,n,r=fo){let i=`on${t.charAt(0).toUpperCase()}${t.slice(1)}Change`,a=e.options[i];a&&a(e=>{let t=ro(n,e);return r(e,t)?e:t})}function ho(e,t){let n=[],r=e=>{e.forEach(e=>{n.push(e);let i=t(e);i.length&&r(i)})};return r(e),n}var go=({fn:e,memoDeps:t,onAfterCompare:n,onAfterUpdate:r,onBeforeCompare:i,onBeforeUpdate:a})=>{let o=[],s;return c=>{i?.();let l=t?.(c),u=!l||l.length!==o?.length;if(!u&&l){for(let e=0;e<l.length;e++)if(l[e]!==o[e]){u=!0;break}}return n?.(u),u?(o=l,a?.(),s=e(...l??[]),r?.(s),s):s}};function _o(e){let t=!1;return()=>{if(!t){t=!0;return}e()}}function vo({feature:e,fnName:t,objectId:n,onAfterUpdate:r,table:i,...a}){let o=()=>{if(!r)return;let{schedule:e,untrack:t}=i._reactivity;e(()=>t(()=>r()))},s={onAfterUpdate:()=>{o()}};return go({...a,...s})}function yo(e,t=`_`){let[n,r]=e.split(t);return{fnKey:r,fnName:`${n}.${r}`,parentName:n}}function bo(e,t,n){for(let[r,{fn:i,memoDeps:a}]of Object.entries(n)){let{fnKey:n,fnName:o}=yo(r);t[n]=a?vo({memoDeps:a,fn:i,fnName:o,table:t,feature:e}):i}}function xo(e,t,n,r){for(let[i,{fn:a,memoDeps:o}]of Object.entries(r)){let{fnKey:r,fnName:s}=yo(i);if(o){let i=`_memo_${r}`;t[r]=function(...t){if(!this[i]){let t=this;this[i]=vo({memoDeps:e=>o(t,e),fn:(...e)=>a(t,...e),fnName:s,objectId:t.id,table:n,feature:e})}return this[i](...t)}}else t[r]=function(...e){return a(this,...e)}}}function So(e,t,n,...r){return e[t]?.(...r)??n(e,...r)}function Co(e){return e.row.getValue(e.column.id)}function wo(e){return e.getValue()??e.table.options.renderFallbackValue}function To(e){return{table:e.table,column:e.column,row:e.row,cell:e,getValue:()=>e.getValue(),renderValue:()=>e.renderValue()}}var Eo={assignCellPrototype:(e,t)=>{xo(`coreCellsFeature`,e,t,{cell_getValue:{fn:e=>Co(e)},cell_renderValue:{fn:e=>wo(e)},cell_getContext:{fn:e=>To(e),memoDeps:e=>[e]}})}};function Do(e){if(!e._headerPrototype){e._headerPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignHeaderPrototype?.(e._headerPrototype,e)}return e._headerPrototype}function Oo(e,t,n){let r=Do(e),i=Object.create(r);i.colSpan=0,i.column=t,i.depth=n.depth,i.headerGroup=null,i.id=n.id??t.id,i.index=n.index,i.isPlaceholder=!!n.isPlaceholder,i.placeholderId=n.placeholderId,i.rowSpan=0,i.subHeaders=[];let a=e._headerInstanceInitFns;for(let e=0;e<a.length;e++)a[e](i);return i}function ko(){return{start:[],end:[]}}function Ao(e){let t=e.getAllColumns(),n=e.getAllLeafColumnsById(),{start:r}=e.atoms.columnPinning?.get()??ko(),i=[];for(let e=0;e<r.length;e++){let t=n[r[e]];t&&So(t,`getIsVisible`,Bo)&&i.push(t)}return qo(t,i,e,`start`)}function jo(e){let t=e.getAllColumns(),n=e.getAllLeafColumnsById(),{end:r}=e.atoms.columnPinning?.get()??ko(),i=[];for(let e=0;e<r.length;e++){let t=n[r[e]];t&&So(t,`getIsVisible`,Bo)&&i.push(t)}return qo(t,i,e,`end`)}function Mo(e){let t=e.getAllColumns(),n=So(e,`getVisibleLeafColumns`,Vo),{start:r,end:i}=e.atoms.columnPinning?.get()??ko();if(r.length||i.length){let e=[...r,...i];n=n.filter(t=>!e.includes(t.id))}return qo(t,n,e,`center`)}function No(e){let{start:t}=e.atoms.columnPinning?.get()??ko(),n=e.getAllLeafColumnsById(),r=[];for(let e=0;e<t.length;e++){let i=n[t[e]];i&&r.push(i)}return r}function Po(e){let{end:t}=e.atoms.columnPinning?.get()??ko(),n=e.getAllLeafColumnsById(),r=[];for(let e=0;e<t.length;e++){let i=n[t[e]];i&&r.push(i)}return r}function Fo(e){let{start:t,end:n}=e.atoms.columnPinning?.get()??ko();if(!t.length&&!n.length)return e.getAllLeafColumns();let r=[...t,...n];return e.getAllLeafColumns().filter(e=>!r.includes(e.id))}function Io(e){return So(e,`getStartLeafColumns`,No).filter(e=>So(e,`getIsVisible`,Bo))}function Lo(e){return So(e,`getEndLeafColumns`,Po).filter(e=>So(e,`getIsVisible`,Bo))}function Ro(e){return So(e,`getCenterLeafColumns`,Fo).filter(e=>So(e,`getIsVisible`,Bo))}function zo(e,t){return t?t===`start`?So(e,`getStartVisibleLeafColumns`,Io):t===`end`?So(e,`getEndVisibleLeafColumns`,Lo):So(e,`getCenterVisibleLeafColumns`,Ro):So(e,`getVisibleLeafColumns`,Vo)}function Bo(e){let t=e.table.atoms.columnVisibility?.get();if(!t)return!0;let n=e.columns;return n.length?n.some(e=>So(e,`getIsVisible`,Bo)):(oo(t,e.id)?t[e.id]:void 0)??!0}function Vo(e){return e.getAllLeafColumns().filter(e=>So(e,`getIsVisible`,Bo))}function Ho(e,t=1){let n=t;for(let r=0;r<e.length;r++){let i=e[r];So(i,`getIsVisible`,Bo)&&i.columns.length&&(n=Math.max(n,Ho(i.columns,t+1)))}return n}function Uo(e,t){return e?`${e}_${t}`:String(t)}function B(e,t,n,r){let i=e??``;return t&&(i=i?`${i}_${t}`:String(t)),n&&(i=i?`${i}_${n}`:n),r&&(i=i?`${i}_${r}`:r),i}function Wo(e,t){let n=0;for(let r=0;r<e.length;r++)e[r].column===t&&n++;return n}function Go(e,t,n,r,i,a){let o={depth:t,id:Uo(r,t),headers:[]},s=[];for(let i=0;i<e.length;i++){if(!(i in e))continue;let a=e[i],c=s[s.length-1],l=a.column.depth===o.depth,u,d=!1;if(l&&a.column.parent?u=a.column.parent:(u=a.column,d=!0),c&&c.column===u)c.subHeaders.push(a);else{let e=Oo(n,u,{id:B(r,t,u.id,a.id),isPlaceholder:d,placeholderId:d?String(Wo(s,u)):void 0,depth:t,index:s.length});e.subHeaders.push(a),s.push(e)}o.headers.push(a),a.headerGroup=o}for(let e=0;e<a.length;e++)a[e](o);i.push(o),t>0&&Go(s,t-1,n,r,i,a)}function Ko(e){for(let t=0;t<e.length;t++){let n=e[t];if(!So(n.column,`getIsVisible`,Bo))continue;let r=0;if(n.subHeaders.length){Ko(n.subHeaders);for(let e=0;e<n.subHeaders.length;e++){let t=n.subHeaders[e];So(t.column,`getIsVisible`,Bo)&&(r+=t.colSpan)}}else r=1;if(n.colSpan=r,n.isPlaceholder&&n.subHeaders.length===1&&n.subHeaders[0].column===n.column){let e=1,t=n.subHeaders[0];for(;t;)t.rowSpan=0,e++,t=t.subHeaders.length===1&&t.subHeaders[0].column===n.column?t.subHeaders[0]:void 0;n.rowSpan=e}else n.rowSpan=1}}function qo(e,t,n,r){let i=Ho(e),a=[],o=n._headerGroupInstanceInitFns,s=Array(t.length);for(let e=0;e<t.length;e++)e in t&&(s[e]=Oo(n,t[e],{depth:i,index:e}));return Go(s,i-1,n,r,a,o),a.reverse(),Ko(a[0]?.headers??[]),a}function Jo(e){if(!e._columnPrototype){e._columnPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignColumnPrototype?.(e._columnPrototype,e)}return e._columnPrototype}function Yo(e,t,n,r){let i={...e.getDefaultColumnDef(),...t},a=i.accessorKey,o=a===void 0?void 0:String(a),s=i.id??o?.replaceAll(`.`,`_`)??(typeof i.header==`string`?i.header:void 0),c;if(i.accessorFn)c=i.accessorFn;else if(a!==void 0){if(typeof a==`string`&&a.includes(`.`)){let e=a.split(`.`);c=t=>{let n=t;for(let t=0;t<e.length;t++){let r=e[t];n=n?.[r]}return n}}else c=e=>e[i.accessorKey]}if(!s)throw Error();let l=Jo(e),u=Object.create(l);u.accessorFn=c,u.columnDef=i,u.columns=[],u.depth=n,u.id=`${String(s)}`,u.parent=r;let d=e._columnInstanceInitFns;for(let e=0;e<d.length;e++)d[e](u);return u}function Xo(e){let t=e.atoms.columnOrder?.get();return n=>{let r=[];if(!t?.length)r=n;else{let e=new Map;for(let t=0;t<n.length;t++){let r=n[t];e.set(r.id,r)}for(let n=0;n<t.length;n++){let i=t[n],a=e.get(i);a&&(r.push(a),e.delete(i))}for(let t=0;t<n.length;t++){let i=n[t];e.has(i.id)&&r.push(i)}}return Zo(e,r)}}function Zo(e,t){let n=e.atoms.grouping?.get()??[],{groupedColumnMode:r}=e.options;if(!n.length||!r)return t;let i=t.filter(e=>!n.includes(e.id));if(r===`remove`)return i;let a=new Map;for(let e=0;e<t.length;e++){let n=t[e];a.set(n.id,n)}let o=[];for(let e=0;e<n.length;e++){let t=a.get(n[e]);t&&o.push(t)}return[...o,...i]}function Qo(e){return[e,...e.columns.flatMap(e=>e.getFlatColumns())]}function $o(e){if(e.columns.length){let t=e.columns.flatMap(e=>e.getLeafColumns());return So(e.table,`getOrderColumns`,Xo)(t)}return[e]}function es(e){return{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>e.renderValue()?.toString?.()??null,...Object.values(e._features).reduce((e,t)=>Object.assign(e,t.getDefaultColumnDef?.()),{}),...e.options.defaultColumn}}function ts(e,t,n,r=0){let i=Array(t.length);for(let a=0;a<t.length;a++){if(!(a in t))continue;let o=t[a],s=Yo(e,o,r,n),c=o;s.columns=c.columns?ts(e,c.columns,s,r+1):[],i[a]=s}return i}function ns(e){return ts(e,e.options.columns)}function rs(e){return e.getAllColumns().flatMap(e=>e.getFlatColumns())}function is(e){let t=ao(),n=e.getAllFlatColumns();for(let e=0;e<n.length;e++){let r=n[e];t[r.id]=r}return t}function as(e){let t=e.getAllColumns().flatMap(e=>e.getLeafColumns());return So(e,`getOrderColumns`,Xo)(t)}function os(e){let t=ao(),n=e.getAllLeafColumns();for(let e=0;e<n.length;e++){let r=n[e];t[r.id]=r}return t}function ss(e,t){return e.getAllFlatColumnsById()[t]}var cs={assignColumnPrototype:(e,t)=>{xo(`coreColumnsFeature`,e,t,{column_getFlatColumns:{fn:e=>Qo(e),memoDeps:e=>[e.table.options.columns]},column_getLeafColumns:{fn:e=>$o(e),memoDeps:e=>[e.table.atoms.columnOrder?.get(),e.table.atoms.grouping?.get(),e.table.options.columns,e.table.options.groupedColumnMode]}})},constructTableAPIs:e=>{bo(`coreColumnsFeature`,e,{table_getDefaultColumnDef:{fn:()=>es(e),memoDeps:()=>[e.options.defaultColumn]},table_getAllColumns:{fn:()=>ns(e),memoDeps:()=>[e.options.columns]},table_getAllFlatColumns:{fn:()=>rs(e),memoDeps:()=>[e.options.columns]},table_getAllFlatColumnsById:{fn:()=>is(e),memoDeps:()=>[e.options.columns]},table_getAllLeafColumns:{fn:()=>as(e),memoDeps:()=>[e.atoms.columnOrder?.get(),e.atoms.grouping?.get(),e.options.columns,e.options.groupedColumnMode]},table_getAllLeafColumnsById:{fn:()=>os(e),memoDeps:()=>[e.getAllLeafColumns()]},table_getColumn:{fn:t=>ss(e,t)}})}};function ls(e,t){for(let n=0;n<e.subHeaders.length;n++)ls(e.subHeaders[n],t);t.push(e)}function us(e){let t=[];return ls(e,t),t}function ds(e){return{column:e.column,header:e,table:e.column.table}}function fs(e){let{start:t,end:n}=e.atoms.columnPinning?.get()??ko(),r=e.getAllColumns(),i=So(e,`getVisibleLeafColumns`,Vo);if(!t.length&&!n.length)return qo(r,i,e);let a=e.getAllLeafColumnsById(),o=[];for(let e=0;e<t.length;e++){let n=a[t[e]];n&&So(n,`getIsVisible`,Bo)&&o.push(n)}let s=[];for(let e=0;e<n.length;e++){let t=a[n[e]];t&&So(t,`getIsVisible`,Bo)&&s.push(t)}let c=i.filter(e=>!t.includes(e.id)&&!n.includes(e.id));return qo(r,[...o,...c,...s],e)}function ps(e){return[...e.getHeaderGroups()].reverse()}function ms(e){let t=e.getHeaderGroups(),n=[];for(let e=0;e<t.length;e++){let r=t[e].headers;for(let e=0;e<r.length;e++)n.push(r[e])}return n}function hs(e){let t=e.getHeaderGroups()[0]?.headers??[],n=[];for(let e=0;e<t.length;e++){let r=t[e].getLeafHeaders();for(let e=0;e<r.length;e++)n.push(r[e])}return n}var gs={assignHeaderPrototype:(e,t)=>{xo(`coreHeadersFeature`,e,t,{header_getLeafHeaders:{fn:e=>us(e),memoDeps:e=>[e.column.table.options.columns]},header_getContext:{fn:e=>ds(e),memoDeps:e=>[e.column.table.options.columns]}})},constructTableAPIs:e=>{bo(`coreHeadersFeature`,e,{table_getHeaderGroups:{fn:()=>fs(e),memoDeps:()=>[e.options.columns,e.atoms.columnOrder?.get(),e.atoms.grouping?.get(),e.atoms.columnPinning?.get(),e.atoms.columnVisibility?.get(),e.options.groupedColumnMode]},table_getFooterGroups:{fn:()=>ps(e),memoDeps:()=>[e.getHeaderGroups()]},table_getFlatHeaders:{fn:()=>ms(e),memoDeps:()=>[e.getHeaderGroups()]},table_getLeafHeaders:{fn:()=>hs(e),memoDeps:()=>[e.getHeaderGroups()]}})}};function _s(e){if(!e._rowPrototype){e._rowPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignRowPrototype?.(e._rowPrototype,e)}return e._rowPrototype}var vs=(e,t,n,r,i,a,o)=>{let s=_s(e),c=Object.create(s);c._displayIndexCache=-1,c._uniqueValuesCache=ao(),c._valuesCache=ao(),c.depth=i,c.id=t,c.index=r,c.original=n,c.parentId=o,c.subRows=a??[];let l=e._rowInstanceInitFns;for(let e=0;e<l.length;e++)l[e](c);return c};function ys(){return[]}function bs(e,t){mo(e,`cellSelection`,t?ys():io(e.initialState.cellSelection)??ys())}function xs(e){e.atoms.cellSelection&&(e.options.autoResetAll??e.options.autoResetCellSelection??!0)&&e._reactivity.schedule(()=>bs(e))}function Ss(e){e.atoms.expanded&&(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding)&&e._reactivity.schedule(()=>Cs(e))}function Cs(e,t){let n=e.initialState.expanded;mo(e,`expanded`,t?ao():n===!0||Object.assign(ao(),io(n??{})))}var ws=0;function Ts(e){if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if((e.atoms.pagination?.get()?.pageIndex??ws)===ws)return;Os(e,!0)}}function Es(e,t){mo(e,`pagination`,t)}function Ds(e,t){Es(e,n=>{let r=ro(t,n.pageIndex),i=e.options.pageCount===void 0||e.options.pageCount===-1?2**53-1:e.options.pageCount-1;return r=Math.max(0,Math.min(r,i)),{...n,pageIndex:r}})}function Os(e,t){Ds(e,t?ws:e.initialState.pagination?.pageIndex??ws)}function ks(e,t){mo(e,`sorting`,t)}function As(e,t){ks(e,t?[]:io(e.initialState.sorting??[]))}function js(e){e.atoms.sorting&&(e.options.autoResetAll??e.options.autoResetSorting??!1)&&As(e)}function Ms(){return e=>vo({feature:`coreRowModelsFeature`,table:e,fnName:`table.getCoreRowModel`,memoDeps:()=>[e.options.data],fn:()=>Ps(e,e.options.data),onAfterUpdate:_o(()=>{Ss(e),Ts(e),js(e),xs(e)})})}function Ns(e,t,n,r=0,i){let a=[];for(let o=0;o<n.length;o++){let s=n[o],c=vs(e,e.getRowId(s,o,i),s,o,r,void 0,i?.id);t.flatRows.push(c),t.rowsById[c.id]=c,a.push(c),e.options.getSubRows&&(c.originalSubRows=e.options.getSubRows(s,o),c.originalSubRows?.length&&(c.subRows=Ns(e,t,c.originalSubRows,r+1,c)))}return a}function Ps(e,t){let n={rows:[],flatRows:[],rowsById:ao()};return n.rows=Ns(e,n,t),n}function Fs(e){return e._rowModels.coreRowModel||(e._rowModels.coreRowModel=e.options.features.coreRowModel?.(e)??Ms()(e)),e._rowModels.coreRowModel()}function Is(e){return e.getCoreRowModel()}function Ls(e){return e._rowModels.filteredRowModel||(e._rowModels.filteredRowModel=e.options.features.filteredRowModel?.(e)),e.options.manualFiltering||!e._rowModels.filteredRowModel?e.getPreFilteredRowModel():e._rowModels.filteredRowModel()}function Rs(e){return e.getFilteredRowModel()}function zs(e){return e._rowModels.groupedRowModel||(e._rowModels.groupedRowModel=e.options.features.groupedRowModel?.(e)),e.options.manualGrouping||!e._rowModels.groupedRowModel?e.getPreGroupedRowModel():e._rowModels.groupedRowModel()}function Bs(e){return e.getGroupedRowModel()}function Vs(e){return e._rowModels.sortedRowModel||(e._rowModels.sortedRowModel=e.options.features.sortedRowModel?.(e)),e.options.manualSorting||!e._rowModels.sortedRowModel?e.getPreSortedRowModel():e._rowModels.sortedRowModel()}function Hs(e){return e.getSortedRowModel()}function Us(e){return e._rowModels.expandedRowModel||(e._rowModels.expandedRowModel=e.options.features.expandedRowModel?.(e)),e.options.manualExpanding||!e._rowModels.expandedRowModel?e.getPreExpandedRowModel():e._rowModels.expandedRowModel()}function Ws(e){return e.getExpandedRowModel()}function Gs(e){return e._rowModels.paginatedRowModel||(e._rowModels.paginatedRowModel=e.options.features.paginatedRowModel?.(e)),e.options.manualPagination||!e._rowModels.paginatedRowModel?e.getPrePaginatedRowModel():e._rowModels.paginatedRowModel()}function Ks(e){return e.getPaginatedRowModel()}var qs={constructTableAPIs:e=>{bo(`coreRowModelsFeature`,e,{table_getCoreRowModel:{fn:()=>Fs(e)},table_getPreFilteredRowModel:{fn:()=>Is(e)},table_getFilteredRowModel:{fn:()=>Ls(e)},table_getPreGroupedRowModel:{fn:()=>Rs(e)},table_getGroupedRowModel:{fn:()=>zs(e)},table_getPreSortedRowModel:{fn:()=>Bs(e)},table_getSortedRowModel:{fn:()=>Vs(e)},table_getPreExpandedRowModel:{fn:()=>Hs(e)},table_getExpandedRowModel:{fn:()=>Us(e)},table_getPrePaginatedRowModel:{fn:()=>Ws(e)},table_getPaginatedRowModel:{fn:()=>Gs(e)},table_getRowModel:{fn:()=>Ks(e)}})}};function Js(e){if(!e._cellPrototype){e._cellPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignCellPrototype?.(e._cellPrototype,e)}return e._cellPrototype}function Ys(e,t,n){let r=Js(n),i=Object.create(r);i.column=e,i.id=`${t.id}_${e.id}`,i.row=t;let a=n._cellInstanceInitFns;for(let e=0;e<a.length;e++)a[e](i);return i}function Xs(e){let t=e.table.getRowsInDisplayOrder(),n=e._displayIndexCache;return t[n]===e?n:-1}function Zs(e){let t=e.getPrePaginatedRowModel().rows;if(e.options.paginateExpandedRows===!1){let e=[],n=t=>{t._displayIndexCache=e.length,e.push(t),t.subRows.length&&t.getIsExpanded?.()&&t.subRows.forEach(n)};return t.forEach(n),e}for(let e=0;e<t.length;e++)t[e]._displayIndexCache=e;return t}function Qs(e,t){if(oo(e._valuesCache,t))return e._valuesCache[t];let n=e.table.getColumn(t);if(n?.accessorFn)return e._valuesCache[t]=n.accessorFn(e.original,e.index),e._valuesCache[t]}function $s(e,t){if(oo(e._uniqueValuesCache,t))return e._uniqueValuesCache[t];let n=e.table.getColumn(t);if(n?.accessorFn)return n.columnDef.getUniqueValues?(e._uniqueValuesCache[t]=n.columnDef.getUniqueValues(e.original,e.index),e._uniqueValuesCache[t]):(e._uniqueValuesCache[t]=[e.getValue(t)],e._uniqueValuesCache[t])}function ec(e,t){return e.getValue(t)??e.table.options.renderFallbackValue}function tc(e){return ho(e.subRows,e=>e.subRows)}function nc(e){let t=e.getCoreRowModel().flatRows,n=0;for(let e=0;e<t.length;e++)n=Math.max(n,t[e].depth);return n}function rc(e){if(e.parentId)return e.table.getCoreRowModel().rowsById[e.parentId]??e.table.getRow(e.parentId,!0)}function ic(e){let t=[],n=e;for(;;){let e=n.getParentRow();if(!e)break;t.push(e),n=e}return t.reverse()}function ac(e){let t=e.table.getAllLeafColumns(),n=e._cellsCache;n||=e._cellsCache=new WeakMap;let r=Array(t.length);for(let i=0;i<t.length;i++){let a=t[i],o=n.get(a);o||(o=Ys(a,e,e.table),n.set(a,o)),r[i]=o}return r}function oc(e){let t=ao(),n=e.getAllCells();for(let e=0;e<n.length;e++){let r=n[e];t[r.column.id]=r}return t}function sc(e,t,n,r){return t.options.getRowId?.(e,n,r)??(r?`${r.id}.${n}`:String(n))}function cc(e,t,n){let r=(n?e.getPrePaginatedRowModel():e.getRowModel()).rowsById[t];if(!r&&(r=e.getCoreRowModel().rowsById[t],!r))throw Error();return r}var lc={assignRowPrototype:(e,t)=>{xo(`coreRowsFeature`,e,t,{row_getDisplayIndex:{fn:e=>Xs(e)},row_getAllCellsByColumnId:{fn:e=>oc(e),memoDeps:e=>[e.getAllCells()]},row_getAllCells:{fn:e=>ac(e),memoDeps:e=>[e.table.getAllLeafColumns()]},row_getLeafRows:{fn:e=>tc(e),memoDeps:e=>[e.subRows]},row_getParentRow:{fn:e=>rc(e)},row_getParentRows:{fn:e=>ic(e)},row_getUniqueValues:{fn:(e,t)=>$s(e,t)},row_getValue:{fn:(e,t)=>Qs(e,t)},row_renderValue:{fn:(e,t)=>ec(e,t)}})},constructTableAPIs:e=>{bo(`coreRowsFeature`,e,{table_getRowsInDisplayOrder:{fn:()=>Zs(e),memoDeps:()=>[e.getPrePaginatedRowModel().rows,e.options.paginateExpandedRows,e.options.paginateExpandedRows===!1?e.atoms.expanded?.get():void 0]},table_getRowId:{fn:(t,n,r)=>sc(t,e,n,r)},table_getRow:{fn:(t,n)=>cc(e,t,n)},table_getMaxSubRowDepth:{fn:()=>nc(e),memoDeps:()=>[e.getCoreRowModel()]}})}};function uc(e,t,n=(e,t)=>e===t){let r=t===void 0?e.options.state:t;e._reactivity.batch(()=>{if(r)for(let t in r){let i=e.baseAtoms[t];if(!i)continue;let a=r[t],o=a===void 0?e.initialState[t]:a;n(e._reactivity.untrack(()=>i.get()),o)||i.set(()=>o)}})}function dc(e,t,n=(e,t)=>e===t){e._reactivity.batch(()=>{uc(e,t,n),e._reactivity.commit?.()})}function fc(e){let t=io(e.initialState);e._reactivity.batch(()=>{let n=Object.keys(t);for(let r=0;r<n.length;r++){let i=n[r];e.baseAtoms[i].set(t[i])}});let n=Object.values(e._features);for(let t=0;t<n.length;t++)n[t].resetTableInstanceData?.(e)}function pc(e,t){let{features:n,atoms:r,initialState:i}=e.options;if(!e.options.mergeOptions)return{...e.options,...t,features:n,atoms:r,initialState:i};let a=e.options.mergeOptions(e.options,t),o={...Object.getOwnPropertyDescriptors(a)};return Object.defineProperties(Object.create(Object.getPrototypeOf(a)),{...o,features:{value:n,enumerable:!0,configurable:!0,writable:!0},atoms:{value:r,enumerable:!0,configurable:!0,writable:!0},initialState:{value:i,enumerable:!0,configurable:!0,writable:!0}})}function mc(e,t,n){let r=pc(e,ro(t,e.options));e.optionsStore?e.optionsStore.set(()=>r):e.options=r,n?.syncExternalState!==!1&&dc(e,r.state??null)}var hc={coreCellsFeature:Eo,coreColumnsFeature:cs,coreHeadersFeature:gs,coreRowModelsFeature:qs,coreRowsFeature:lc,coreTablesFeature:{constructTableAPIs:e=>{bo(`coreTablesFeature`,e,{table_reset:{fn:()=>fc(e)},table_setOptions:{fn:t=>mc(e,t)}})}}};function gc(){return{accessor:(e,t)=>typeof e==`function`?{...t,accessorFn:e}:{...t,accessorKey:e},columns:e=>e,display:e=>e,group:e=>e}}function _c(e,t={}){return Object.values(e).forEach(e=>{t=e.getInitialState?.(t)??t}),io(t)}function vc(e){let t=e.features.coreReactivityFeature,{aggregationFns:n,columnMeta:r,coreRowModel:i,expandedRowModel:a,facetedMinMaxValues:o,facetedRowModel:s,facetedUniqueValues:c,filterFns:l,filterMeta:u,filteredRowModel:d,groupedRowModel:f,paginatedRowModel:p,sortFns:m,sortedRowModel:h,tableMeta:g,..._}=e.features,v={_cellInstanceInitFns:[],_columnInstanceInitFns:[],_features:{...hc,..._},_headerGroupInstanceInitFns:[],_headerInstanceInitFns:[],_reactivity:t,_rowInstanceInitFns:[],_rowModelFns:{aggregationFns:n,filterFns:l,sortFns:m},_rowModels:{},atoms:{},baseAtoms:{}},y=Object.values(v._features),b={...y.reduce((e,t)=>Object.assign(e,t.getDefaultTableOptions?.(v)),{}),...e};if(t.wrapExternalAtoms&&b.atoms)for(let[e,n]of Object.entries(b.atoms)){let r=n,i=t.createWritableAtom(r.get(),{debugName:`externalAtom/${e}`});b.atoms[e]=i;let a=!1,o=r.subscribe(e=>{a||i.set(e)}),s=i.subscribe(e=>{a=!0,r.set(e),a=!1});t.addSubscription(o),t.addSubscription(s)}t.createOptionsStore?(v.optionsStore=t.createWritableAtom(b,{debugName:`table/optionsStore`}),Object.defineProperty(v,"options",{configurable:!0,enumerable:!0,get(){return v.optionsStore.get()},set(e){v.optionsStore.set(()=>e)}})):v.options=b,v.initialState=_c(v._features,v.options.initialState);let x=Object.keys(v.initialState);for(let e=0;e<x.length;e++){let n=x[e];v.baseAtoms[n]=t.createWritableAtom(v.initialState[n],{debugName:`table/baseAtoms/${n}`}),v.atoms[n]=t.createReadonlyAtom(()=>{let e=v.options,t=e.atoms?.[n],r=t?t.get():v.baseAtoms[n].get();if(t)return r;let i=e.state;if(i&&oo(i,n)){let e=i[n];return e===void 0?v.initialState[n]:e}return r},{debugName:`table/atoms/${n}`})}uc(v),v.store=$a(t.createReadonlyAtom(()=>{let e={};for(let t=0;t<x.length;t++){let n=x[t];e[n]=v.atoms[n].get()}return e},{compare:Wa,debugName:`table/store`}));for(let e=0;e<y.length;e++){let t=y[e];t.initTableInstanceData?.(v),t.initCellInstanceData&&v._cellInstanceInitFns.push(t.initCellInstanceData.bind(t)),t.initColumnInstanceData&&v._columnInstanceInitFns.push(t.initColumnInstanceData.bind(t)),t.initHeaderGroupInstanceData&&v._headerGroupInstanceInitFns.push(t.initHeaderGroupInstanceData.bind(t)),t.initHeaderInstanceData&&v._headerInstanceInitFns.push(t.initHeaderInstanceData.bind(t)),t.initRowInstanceData&&v._rowInstanceInitFns.push(t.initRowInstanceData.bind(t)),t.constructTableAPIs?.(v)}return v}function yc(){return ao()}function bc(){return{size:150,minSize:20,maxSize:2**53-1}}function xc(e){let t=bc(),n=e.table.atoms.columnSizing?.get(),r=n&&oo(n,e.id)?n[e.id]:void 0;return Math.min(Math.max(e.columnDef.minSize??t.minSize,r??e.columnDef.size??t.size),e.columnDef.maxSize??t.maxSize)}function Sc(e){let t=ao(),n=ao(),r=Array(e.length),i=0;for(let n=0;n<e.length;n++){let a=e[n],o=So(a,`getSize`,xc);r[n]=o,t[a.id]=i,i+=o}let a=0;for(let t=e.length-1;t>=0;t--)n[e[t].id]=a,a+=r[t];return{starts:t,afters:n}}function Cc(e){return{all:Sc(zo(e)),center:Sc(zo(e,`center`)),start:Sc(zo(e,`start`)),end:Sc(zo(e,`end`))}}function wc(e){return e===`start`?`start`:e===`end`?`end`:e===`center`?`center`:`all`}function Tc(e,t){return So(e.table,`getColumnOffsets`,Cc)[wc(t)].starts[e.id]??0}function Ec(e,t){return So(e.table,`getColumnOffsets`,Cc)[wc(t)].afters[e.id]??0}function Dc(e){jc(e.table,t=>{let n=ao(),r=Object.keys(t);for(let i=0;i<r.length;i++){let a=r[i];a!==e.id&&(n[a]=t[a])}return n})}function Oc(e){if(!e.subHeaders.length)return xc(e.column);let t=0;for(let n=0;n<e.subHeaders.length;n++)t+=Oc(e.subHeaders[n]);return t}function kc(e){return Oc(e)}function Ac(e){if(e.index>0){let t=e.headerGroup?.headers[e.index-1];if(t)return So(t,`getStart`,Ac)+So(t,`getSize`,kc)}return 0}function jc(e,t){e.options.onColumnSizingChange?.(t)}function Mc(e,t){jc(e,t?ao():Object.assign(ao(),io(e.initialState.columnSizing??{})))}function Nc(e){return e.getHeaderGroups()[0]?.headers.reduce((e,t)=>e+kc(t),0)??0}function Pc(e){return So(e,`getStartHeaderGroups`,Ao)[0]?.headers.reduce((e,t)=>e+kc(t),0)??0}function Fc(e){return So(e,`getCenterHeaderGroups`,Mo)[0]?.headers.reduce((e,t)=>e+kc(t),0)??0}function Ic(e){return So(e,`getEndHeaderGroups`,jo)[0]?.headers.reduce((e,t)=>e+kc(t),0)??0}function Lc(){return{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}}function Rc(e){return(e.columnDef.enableResizing??!0)&&(e.table.options.enableColumnResizing??!0)}function zc(e){return e.table.atoms.columnResizing?.get()?.isResizingColumn===e.id}function Bc(e,t){let n=e.table.getColumn(e.column.id),r=Rc(n);return i=>{if(!r||Gc(i)&&i.touches.length>1)return;let a=kc(e),o=e.getLeafHeaders().map(e=>[e.column.id,xc(e.column)]),s=Gc(i)?Math.round(i.touches[0].clientX):i.clientX,c=ao(),l=(e,t)=>{if(typeof t!=`number`)return;let r=n.table,i=r.options.columnResizeMode===`onChange`||e===`end`;r._reactivity.batch(()=>{Vc(r,e=>{let n=r.options.columnResizeDirection===`rtl`?-1:1,a=(t-(e.startOffset??0))*n,o=e.startSize??0,s=Math.max(o>0?a/o:0,-.999999);if(i){let t=e.columnSizingStart;for(let e=0;e<t.length;e++){let n=t[e],r=n[1];c[n[0]]=Math.round(Math.max(r>0?r+r*s:a/t.length,0)*100)/100}}return{...e,deltaOffset:a,deltaPercentage:s}}),i&&jc(r,e=>Object.assign(ao(),e,c))})},u=null,d=!1,f,p=()=>{d?(d=!1,l(`move`,f),u=requestAnimationFrame(p)):u=null},m=e=>{if(f=e,typeof requestAnimationFrame!=`function`){l(`move`,e);return}if(u!==null){d=!0;return}l(`move`,e),u=requestAnimationFrame(p)},h=e=>{u!==null&&(cancelAnimationFrame(u),u=null,d=!1),n.table._reactivity.batch(()=>{l(`end`,e??f),Vc(n.table,e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))})},g=t||(typeof document<`u`?document:null),_={moveHandler:e=>m(e.clientX),upHandler:e=>{g?.removeEventListener(`mousemove`,_.moveHandler),g?.removeEventListener(`mouseup`,_.upHandler),h(e.clientX)}},v={moveHandler:e=>(e.cancelable&&(e.preventDefault(),e.stopPropagation()),m(e.touches[0].clientX),!1),upHandler:e=>{y(),e.cancelable&&(e.preventDefault(),e.stopPropagation()),h(e.touches[0]?.clientX)},cancelHandler:()=>{y(),h()}},y=()=>{g?.removeEventListener(`touchmove`,v.moveHandler),g?.removeEventListener(`touchend`,v.upHandler),g?.removeEventListener(`touchcancel`,v.cancelHandler)},b=Wc()?{passive:!1}:!1;Gc(i)?(g?.addEventListener(`touchmove`,v.moveHandler,b),g?.addEventListener(`touchend`,v.upHandler,b),g?.addEventListener(`touchcancel`,v.cancelHandler,b)):(g?.addEventListener(`mousemove`,_.moveHandler,b),g?.addEventListener(`mouseup`,_.upHandler,b)),Vc(n.table,e=>({...e,startOffset:s,startSize:a,deltaOffset:0,deltaPercentage:0,columnSizingStart:o,isResizingColumn:n.id}))}}function Vc(e,t){e.options.onColumnResizingChange?.(t)}function Hc(e,t){Vc(e,t?Lc():io(e.initialState.columnResizing??Lc()))}var Uc=null;function Wc(){if(typeof Uc==`boolean`)return Uc;let e=!1;try{let t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener(`test`,n,t),window.removeEventListener(`test`,n)}catch{e=!1}return Uc=e,Uc}function Gc(e){return e.type===`touchstart`}var Kc={getInitialState:e=>({columnResizing:Lc(),...e}),getDefaultTableOptions:e=>({columnResizeMode:`onEnd`,columnResizeDirection:`ltr`,onColumnResizingChange:so(`columnResizing`,e)}),assignColumnPrototype:(e,t)=>{xo(`columnResizingFeature`,e,t,{column_getCanResize:{fn:e=>Rc(e)},column_getIsResizing:{fn:e=>zc(e)}})},assignHeaderPrototype:(e,t)=>{xo(`columnResizingFeature`,e,t,{header_getResizeHandler:{fn:(e,t)=>Bc(e,t)}})},constructTableAPIs:e=>{bo(`columnResizingFeature`,e,{table_setColumnResizing:{fn:t=>Vc(e,t)},table_resetHeaderSizeInfo:{fn:t=>Hc(e,t)}})}},qc={getInitialState:e=>({columnSizing:yc(),...e}),getDefaultColumnDef:()=>bc(),getDefaultTableOptions:e=>({onColumnSizingChange:so(`columnSizing`,e)}),assignColumnPrototype:(e,t)=>{xo(`columnSizingFeature`,e,t,{column_getSize:{fn:e=>xc(e),memoDeps:e=>[t.options.columns,t.atoms.columnSizing?.get()?.[e.id]]},column_getStart:{fn:(e,t)=>Tc(e,t)},column_getAfter:{fn:(e,t)=>Ec(e,t)},column_resetSize:{fn:e=>Dc(e)}})},assignHeaderPrototype:(e,t)=>{xo(`columnSizingFeature`,e,t,{header_getSize:{fn:e=>kc(e),memoDeps:e=>[t.options.columns,e.column.columns.length>0?t.atoms.columnSizing?.get():t.atoms.columnSizing?.get()?.[e.column.id]]},header_getStart:{fn:e=>Ac(e),memoDeps:()=>[t.options.columns,t.atoms.columnSizing?.get(),t.atoms.columnOrder?.get(),t.atoms.columnPinning?.get(),t.atoms.columnVisibility?.get(),t.atoms.grouping?.get(),t.options.groupedColumnMode]}})},constructTableAPIs:e=>{bo(`columnSizingFeature`,e,{table_getColumnOffsets:{fn:()=>Cc(e),memoDeps:()=>[e.options.columns,e.atoms.columnSizing?.get(),e.atoms.columnOrder?.get(),e.atoms.columnPinning?.get(),e.atoms.columnVisibility?.get(),e.atoms.grouping?.get(),e.options.groupedColumnMode]},table_setColumnSizing:{fn:t=>jc(e,t)},table_resetColumnSizing:{fn:t=>Mc(e,t)},table_getTotalSize:{fn:()=>Nc(e),memoDeps:()=>[e.atoms.columnSizing?.get(),e.getHeaderGroups()]},table_getStartTotalSize:{fn:()=>Pc(e),memoDeps:()=>[e.atoms.columnSizing?.get(),e.getHeaderGroups()]},table_getCenterTotalSize:{fn:()=>Fc(e),memoDeps:()=>[e.atoms.columnSizing?.get(),e.getHeaderGroups()]},table_getEndTotalSize:{fn:()=>Ic(e),memoDeps:()=>[e.atoms.columnSizing?.get(),e.getHeaderGroups()]}})}},Jc=typeof window>`u`?v.useEffect:v.useLayoutEffect;function Yc(e,t){let[{table:n,rootSource:r}]=(0,v.useState)(()=>{let t=vc({...e,features:{coreReactivityFeature:no(),...e.features}});return t.Subscribe=(e=>Qa({...e,source:e.source??t.store})),t.FlexRender=Ta,{table:t,rootSource:to(t.store,Wa)}}),i=n;mc(i,t=>({...t,...e}),{syncExternalState:!1});let a=i.options.state,o=r.get(),s=Za(r,t,{compare:Wa});return Jc(()=>{r.markCommitted(o),dc(i,a??null,Wa)}),(0,v.useMemo)(()=>({...n,options:e,state:s}),[n,e,s])}var Xc=h();function Zc(e){return typeof e==`object`?e.key:e}function Qc(e,t){let n=e.length;return new Proxy(e,{get(e,r,i){if(typeof r==`string`){let i=r.charCodeAt(0);if(i>=48&&i<=57){let i=+r;if(Number.isInteger(i)&&i>=0&&i<n){let n=e[i];if(typeof n!=`object`){let r=t[i*2];n=e[i]={index:i,key:n,start:r,size:t[i*2+1],end:r+t[i*2+1],lane:0}}return n}}if(r===`length`)return n}return Reflect.get(e,r,i)}})}function $c(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function el(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var tl=(e,t)=>Math.abs(e-t)<1.01,nl=(e,t,n)=>{let r;return Object.assign(function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)},{cancel:()=>{e.clearTimeout(r)}})},rl,il=()=>{if(rl!==void 0)return rl;if(typeof navigator>`u`)return rl=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return rl=!0;let e=navigator.maxTouchPoints;return rl=navigator.platform===`MacIntel`&&e!==void 0&&e>0},al=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},ol=e=>e,sl=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},cl=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(al(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(al(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},ll={passive:!0},ul=typeof window>`u`||`onscrollend`in window,dl=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&ul,o=0,s=a?null:nl(i,()=>t(n(r),!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,ll),a&&r.addEventListener(`scrollend`,u,ll),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u),s?.cancel()}},fl=(e,t)=>dl(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),pl=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},ml=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})};function hl(e,t,n,r){if(t===0)return!1;let i=r(0),a=new Set,o=0;for(;o<e;){let e=n(o);if(e===i)break;a.add(e),o++}let s=e-o;if(s===0||s>=t)return!1;for(let e=0;e<s;e++)if(r(e)!==n(o+e))return!1;for(let e=s;e<t;e++)if(a.has(r(e)))return!1;return!0}var gl=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this._clampedAdjustment=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.isIndexInRange(n)&&this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:ol,rangeExtractor:sl,onChange:()=>{},measureElement:pl,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=this._singleLaneMeasurements?.items??s,l=e=>Zc(c[e]),u=e>0?l(0):null,d=e>0?l(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==u||t.getItemKey(o-1)!==d)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>0&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==d)&&(o>e||hl(e,o,l,t.getItemKey))&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:a,getItemKey:c}=this.options,l=0;for(;l<a&&c(l)!==e;)l++;if(l<a){let e=n[l];if(e){let n=Math.max(0,e.start+t);!i&&n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=$c(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.isScrolling=!1,this.scrollDirection=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._clampedAdjustment=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.targetWindow=this.scrollElement&&`ownerDocument`in this.scrollElement?this.scrollElement.ownerDocument.defaultView:this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&this._intendedScrollOffset===null&&e===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this._clampedAdjustment!==null&&Math.abs(e-this._clampedAdjustment.maxAtWrite)>=1.5&&(this._clampedAdjustment=null),this.scrollAdjustments=0;let n=this.getScrollOffset();this.scrollDirection=t?n===e?this.scrollDirection:n<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,il()&&this.targetWindow!=null&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,ll),e.addEventListener(`touchend`,n,ll),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(il()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this.scrollState?.behavior===`smooth`&&!tl(this.getScrollOffset()-i,this.scrollState.lastTargetOffset)||this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}this._retryClampedAdjustment()},this._retryClampedAdjustment=()=>{if(this._clampedAdjustment===null||!this.scrollElement||!this.options.enabled)return;let{target:e,maxAtWrite:t}=this._clampedAdjustment,n=this.getMaxScrollOffset();n>t+.5&&(this._clampedAdjustment=e>n+.5?{target:e,maxAtWrite:n}:null,this._scrollToOffset(e,{adjustments:void 0,behavior:void 0}))},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;if(this._iosDeferredAdjustment<0&&e>=t-1){this._iosDeferredAdjustment=0;return}let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=$c(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.isIndexInRange=e=>e>=0&&e<this.options.count,this.getMeasurements=$c(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s},c)=>{let l=this.itemSizeCache;if(!i)return this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=e*2,a=this._singleLaneMeasurements?.flat;if(!a||a.length<i){let e=new Float64Array(i);a&&u>0&&e.set(a.subarray(0,u*2)),a=e}let o=u===0?Array(e):this._singleLaneMeasurements.items.slice(),c;if(u===0)c=t+n;else{let e=u-1;c=a[e*2]+a[e*2+1]+s}for(let t=u;t<e;t++){let e=r(t);o[t]=e;let n=l.get(e),i=typeof n==`number`?n:this.options.estimateSize(t);a[t*2]=c,a[t*2+1]=i,c+=i+s}this._singleLaneMeasurements={flat:a,items:o};let d=Qc(o,a);return this.measurementsCache=d,d}let d=this.measurementsCache.slice(0,u),f=Array(a).fill(void 0),p=new Float64Array(a),m=0;for(let e=0;e<u;e++){let t=d[e];t&&(f[t.lane]===void 0&&m++,f[t.lane]=e,p[t.lane]=t.end)}for(let i=u;i<e;i++){let e=r(i),c=this.laneAssignments.get(i),u,h,g=o===`estimate`||l.has(e);if(c!==void 0&&this.options.lanes>1){u=c;let e=f[u],r=e===void 0?void 0:d[e];h=r?r.end+s:t+n}else if(m===a){let e=0,t=p[0],n=f[0];for(let r=1;r<a;r++){let i=p[r];(i<t||i===t&&f[r]<n)&&(e=r,t=i,n=f[r])}u=e,h=t+s,g&&this.laneAssignments.set(i,u)}else u=i%this.options.lanes,h=t+n,g&&this.laneAssignments.set(i,u);let _=l.get(e),v=typeof _==`number`?_:this.options.estimateSize(i),y=h+v;d[i]={index:i,start:h,size:v,end:y,key:e,lane:u},f[u]===void 0&&m++,f[u]=i,p[u]=y}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=$c(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=yl(e,t,n,r,r===1&&this._singleLaneMeasurements!==null?this._singleLaneMeasurements.flat:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=$c(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e);if(!this.isIndexInRange(t))return;let n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(!this.isIndexInRange(e))return;let n,r,i,a=this._singleLaneMeasurements?.flat;if(this.options.lanes===1&&a!=null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=this.itemSizeCache.get(i)??n,s=t-o;if(s!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,c=a?this.getTotalSize():0,l=this.getScrollOffset()+this.scrollAdjustments,u=this.itemSizeCache.has(i)?r+o<=l&&this.scrollDirection!==`backward`:r<l,d=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?u:this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},s,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++;let f=!1;a?f=this.applyScrollAdjustment(this.getTotalSize()-c):d&&(f=this.applyScrollAdjustment(s)),this.notify(f),this._retryClampedAdjustment()}},this.getVirtualItems=$c(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._singleLaneMeasurements?.flat,r=this.options.lanes===1&&n!=null;return el(t[_l(0,t.length-1,r?e=>n[e*2]:e=>el(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`){if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t]}if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0;let r=this.getOffsetForAlignment(e,t),i=this.now();this.scrollState={index:null,align:t,behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0,e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:`start`,behavior:t,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._singleLaneMeasurements?.flat;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){if(e===0)return!1;if(il()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded))return this._iosDeferredAdjustment+=e,!1;{let n=this.getScrollOffset()+this.scrollAdjustments+e,r=this.scrollElement,i=r!==null&&(`scrollHeight`in r||`document`in r)?this.getMaxScrollOffset():null;return this._clampedAdjustment=i!==null&&n>i+.5?{target:n,maxAtWrite:i}:null,this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0}}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&tl(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},_l=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function vl(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function yl(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=vl(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=_l(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var bl=typeof document<`u`?v.useLayoutEffect:v.useEffect;function xl({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=v.useReducer(e=>e+1,0)[1],a=v.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=v.useRef(!1),s=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}},c=e=>{let t=a.current;if(!t.enabled||!t.container)return;s(e);let n=!!e.options.horizontal,r=t.mode===`transform`,i=n?`left`:`top`,o=e.options.scrollMargin,c=e.getVirtualItems();for(let a of c){let s=a.start-o,c=e.elementsCache.get(a.key);c&&t.lastPositions.get(c)!==s&&(t.lastPositions.set(c,s),r?c.style.transform=n?`translate3d(${s}px, 0, 0)`:`translate3d(0, ${s}px, 0)`:c.style[i]=`${s}px`)}},l={...r,onChange:(t,n)=>{var s;let l=a.current,u=!0;if(l.enabled){c(t);let e=t.range,n=l.prevRange;u=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,u&&(l.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}u&&(e&&n&&!o.current?(0,Xc.flushSync)(i):i()),(s=r.onChange)==null||s.call(r,t,n)}},[u]=v.useState(()=>{let e=new gl(l),t=e.measureElement;return e.measureElement=e=>{o.current=!0;try{t(e)}finally{o.current=!1}},Object.assign(e,{containerRef:t=>{let n=a.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return u.setOptions(l),bl(()=>u._didMount(),[]),bl(()=>(s(u),u._willUpdate())),bl(()=>{c(u)}),u}function Sl(e){return xl({observeElementRect:cl,observeElementOffset:fl,scrollToFn:ml,...e})}var Cl=`fcm.columnSizing.v1`,wl=1200;function Tl(e){if(!e||typeof e!=`object`||Array.isArray(e))return{};let t={};for(let[n,r]of Object.entries(e))typeof r==`number`&&Number.isFinite(r)&&r>0&&(t[n]=r);return t}function El(e,t=24,n=wl){let r={};for(let[i,a]of Object.entries(e||{}))typeof a==`number`&&Number.isFinite(a)&&(r[i]=Math.max(t,Math.min(n,Math.round(a))));return r}function Dl(e,t,n){return{...e||{},...t||{},...n||{}}}function Ol(e,t){if(!e||!t)return!1;for(let n of Object.keys(e))if(e[n]!==t[n])return!0;return!1}function kl(e,t,n={}){if(!e||typeof e.getItem!=`function`)return n;let r;try{r=e.getItem(t)}catch{return n}if(!r)return n;let i;try{i=JSON.parse(r)}catch{return n}return Tl(i)}function Al(e,t,n){if(!e||typeof e.setItem!=`function`)return!1;try{return e.setItem(t,JSON.stringify(n)),!0}catch{return!1}}function jl(e,t){if(!e||typeof e.removeItem!=`function`)return!1;try{return e.removeItem(t),!0}catch{return!1}}function Ml(e){let t=(0,v.useRef)(e);t.current=e;let[n,r]=(0,v.useState)(()=>typeof window>`u`?{...e}:Dl(e,kl(window.localStorage,Cl,{}),{})),i=(0,v.useRef)(n);return i.current=n,(0,v.useEffect)(()=>{if(typeof window<`u`&&window.localStorage){if(!Ol(n,t.current)){jl(window.localStorage,Cl);return}Al(window.localStorage,Cl,n)}},[n]),(0,v.useEffect)(()=>{if(typeof window>`u`||!window.addEventListener)return;let e=e=>{if(e.key!==`fcm.columnSizing.v1`)return;let n=kl(window.localStorage,Cl,{});r(e=>Dl(t.current,n,e))};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[]),{columnSizing:n,setColumnSizing:(0,v.useCallback)(e=>{r(t=>{let n=typeof e==`function`?e(t):e;return{...t,...El(n)}})},[]),resetColumnSizing:(0,v.useCallback)(()=>{r({...t.current})},[]),hasCustomSizing:Ol(n,t.current)}}var Nl={mood:`_mood_f9he5_1`},Pl={Perfect:`🟩`,Normal:`🟢`,Spiky:`🟡`,Slow:`🟠`,"Very Slow":`🔴`,Overloaded:`🔥`,Unstable:`🟥`,"Not Active":`⚫`,Pending:`⏳`,Usable:`🟠`};function Fl({verdict:e}){let t=Pl[e]||`❔`;return(0,F.jsx)(`span`,{className:Nl.mood,children:t})}var Il={badge:`_badge_16bbt_1`,tier_splus:`_tier_splus_16bbt_11`,tier_s:`_tier_s_16bbt_11`,tier_aplus:`_tier_aplus_16bbt_13`,tier_a:`_tier_a_16bbt_13`,tier_aminus:`_tier_aminus_16bbt_15`,tier_bplus:`_tier_bplus_16bbt_16`,tier_b:`_tier_b_16bbt_16`,tier_c:`_tier_c_16bbt_18`};function Ll({tier:e}){let t=e.replace(`+`,`plus`).replace(`-`,`minus`).toLowerCase();return(0,F.jsx)(`span`,{className:`${Il.badge} ${Il[`tier_${t}`]}`,children:e})}var Rl={dot:`_dot_729ui_1`,up:`_up_729ui_9`,down:`_down_729ui_10`,timeout:`_timeout_729ui_11`,pending:`_pending_729ui_12`,pulse:`_pulse_729ui_1`,notInSet:`_notInSet_729ui_16`};function zl({status:e,inRouterSet:t=!0}){let n=e===`up`?Rl.up:e===`timeout`?Rl.timeout:e===`down`?Rl.down:e===`pending`&&!t?Rl.notInSet:Rl.pending;return(0,F.jsx)(`span`,{className:`${Rl.dot} ${n}`})}var Bl={cell:`_cell_ptyq8_1`,value:`_value_ptyq8_10`,fast:`_fast_ptyq8_11`,medium:`_medium_ptyq8_12`,slow:`_slow_ptyq8_13`,none:`_none_ptyq8_14`,spinner:`_spinner_ptyq8_26`,pingRing:`_pingRing_ptyq8_1`,pingPulse:`_pingPulse_ptyq8_1`};function Vl(e){return e==null||e===1/0?Bl.none:e<500?Bl.fast:e<1500?Bl.medium:Bl.slow}function Hl({ms:e,isPinging:t}){return e==null?(0,F.jsx)(`span`,{className:`${Bl.cell} ${Bl.none}`,children:t?(0,F.jsx)(`span`,{className:Bl.spinner,title:`Testing…`}):`—`}):(0,F.jsxs)(`span`,{className:`${Bl.cell} ${Vl(e)}`,children:[(0,F.jsx)(`span`,{className:Bl.value,children:e}),t&&(0,F.jsx)(`span`,{className:Bl.spinner})]})}var Ul={wrapper:`_wrapper_1t2v0_7`,key:`_key_1t2v0_17`,slash:`_slash_1t2v0_24`};function Wl({size:e=14,title:t=`No API key configured`}){let n=Math.max(1,Math.round(e*.07));return(0,F.jsxs)(`span`,{className:Ul.wrapper,style:{width:`${e}px`,height:`${e}px`},role:`img`,"aria-label":t,title:t,children:[(0,F.jsx)(br,{size:e,stroke:1.5,className:Ul.key}),(0,F.jsx)(`svg`,{className:Ul.slash,width:e+n*2,height:e+n*2,viewBox:`0 0 ${e+n*2} ${e+n*2}`,"aria-hidden":`true`,focusable:`false`,children:(0,F.jsx)(`line`,{x1:n+1,y1:n+1,x2:n+e-1,y2:n+e-1,stroke:`var(--color-danger, #ff4444)`,strokeWidth:`1.1`,strokeLinecap:`round`})})]})}var Gl={cell:`_cell_8296g_7`,up:`_up_8296g_19`,warning:`_warning_8296g_20`,error:`_error_8296g_21`,errorBold:`_errorBold_8296g_22`,dim:`_dim_8296g_23`,notInSet:`_notInSet_8296g_26`,noKey:`_noKey_8296g_33`,noKeyText:`_noKeyText_8296g_43`},Kl=12,ql=1.8,Jl={success:`var(--color-success, #00ff88)`,warning:`var(--color-warning, #ffaa00)`,danger:`var(--color-danger, #ff4444)`,dim:`var(--color-text-dim, #444)`},Yl={404:`health.http404`,410:`health.http410`,429:`health.http429`,500:`health.http500`,502:`health.http502`,503:`health.http503`,504:`health.http504`},Xl={429:{Icon:pr,color:Jl.danger},404:{Icon:sr,color:Jl.danger},500:{Icon:Ln,color:Jl.danger},502:{Icon:jr,color:Jl.danger},503:{Icon:nr,color:Jl.danger},504:{Icon:tr,color:Jl.danger}};function Zl(e,t,n,r){return e===`noauth`?r(`dashboard.noKeyShort`):e===`auth_error`?r(`dashboard.authFailShort`):e===`pending`?r(n?`common.wait`:`dashboard.notInSet`):e===`timeout`?r(`filters.health.timeout`).toUpperCase():e===`down`?Yl[t]?r(Yl[t]):t?r(`health.httpError`,{code:t}):r(`common.error`).toUpperCase():e===`up`?r(`dashboard.upShort`).toUpperCase():`?`}function Ql(e,t){return e===`noauth`?Gl.noKey:e===`up`?Gl.up:e===`down`?Gl.error:e===`timeout`?Gl.warning:e===`auth_error`?Gl.errorBold:e===`pending`?t?Gl.warning:Gl.notInSet:Gl.dim}function $l({status:e,httpCode:t,inRouterSet:n=!0}){let{t:r}=pi(),i=Zl(e,t,n,r),a=Ql(e,n),o=e===`noauth`,s=e===`pending`&&!n,c=null,l=null;return e===`up`?(c=qn,l=Jl.success):e===`timeout`?(c=vr,l=Jl.warning):s?(c=$n,l=Jl.dim):e===`pending`?(c=yr,l=Jl.warning):e===`auth_error`?(c=wr,l=Jl.danger):e===`down`&&Xl[t]?(c=Xl[t].Icon,l=Xl[t].color):e===`down`&&(c=Un,l=Jl.danger),(0,F.jsxs)(`span`,{className:`${Gl.cell} ${a}`,children:[o?(0,F.jsx)(Wl,{size:15,title:r(`dashboard.noApiKey`)}):c?(0,F.jsx)(c,{size:Kl,stroke:ql,style:{color:l,flexShrink:0},"aria-hidden":`true`}):null,(0,F.jsx)(`span`,{className:o?Gl.noKeyText:void 0,children:i})]})}var eu={cell:`_cell_8z2ea_1`,bar:`_bar_8z2ea_2`,fill:`_fill_8z2ea_3`,high:`_high_8z2ea_4`,mid:`_mid_8z2ea_5`,low:`_low_8z2ea_6`,value:`_value_8z2ea_7`,none:`_none_8z2ea_8`};function tu({score:e}){if(e==null||e<0)return(0,F.jsx)(`span`,{className:eu.none,children:`—`});let t=e>=70?`high`:e>=40?`mid`:`low`;return(0,F.jsxs)(`div`,{className:eu.cell,children:[(0,F.jsx)(`div`,{className:eu.bar,children:(0,F.jsx)(`div`,{className:`${eu.fill} ${eu[t]}`,style:{width:`${e}%`}})}),(0,F.jsx)(`span`,{className:eu.value,children:e})]})}var nu={badge:`_badge_5z8g9_5`,emoji:`_emoji_5z8g9_16`,text:`_text_5z8g9_17`,perfect:`_perfect_5z8g9_20`,normal:`_normal_5z8g9_21`,slow:`_slow_5z8g9_22`,spiky:`_spiky_5z8g9_23`,veryslow:`_veryslow_5z8g9_24`,overloaded:`_overloaded_5z8g9_25`,unstable:`_unstable_5z8g9_26`,notactive:`_notactive_5z8g9_27`,pending:`_pending_5z8g9_28`},ru={Perfect:{emoji:`🟩`,key:`filters.verdict.perfect`,cls:`perfect`},Normal:{emoji:`🟢`,key:`filters.verdict.normal`,cls:`normal`},Spiky:{emoji:`🟡`,key:`filters.verdict.spiky`,cls:`spiky`},Slow:{emoji:`🟠`,key:`filters.verdict.slow`,cls:`slow`},"Very Slow":{emoji:`🔴`,key:`filters.verdict.verySlow`,cls:`veryslow`},Overloaded:{emoji:`🔥`,key:`filters.verdict.overloaded`,cls:`overloaded`},Unstable:{emoji:`🟥`,key:`filters.verdict.unstable`,cls:`unstable`},"Not Active":{emoji:`⚫`,key:`filters.verdict.notActive`,cls:`notactive`},Pending:{emoji:`⏳`,key:`filters.verdict.pending`,cls:`pending`}},iu={emoji:`❔`,key:`filters.verdict.pending`,cls:`pending`};function au({verdict:e,httpCode:t}){let{t:n}=pi(),r=e?ru[e]||{emoji:`❔`,label:e,cls:`pending`}:iu;return(0,F.jsxs)(`span`,{className:`${nu.badge} ${nu[r.cls]}`,children:[(0,F.jsx)(`span`,{className:nu.emoji,children:r.emoji}),(0,F.jsx)(`span`,{className:nu.text,children:r.key?n(r.key):r.label})]})}function ou(e,t){return typeof window>`u`||!window.document?.documentElement?t:getComputedStyle(document.documentElement).getPropertyValue(e).trim()||t}function su(e){return e<500?ou(`--color-success`,`#00ff88`):e<1500?ou(`--color-warning`,`#ffaa00`):ou(`--color-danger`,`#ff4444`)}function cu({history:e}){return(0,v.useMemo)(()=>{if(!e||e.length<2)return null;let t=e.filter(e=>e.code===`200`||e.code===`401`);if(t.length<2)return null;let n=t.map(e=>e.ms),r=Math.max(...n,1),i=Math.min(...n,0),a=r-i||1,o=80/(n.length-1),s=n.map((e,t)=>{let n=t*o,r=22-(e-i)/a*18-2;return`${n.toFixed(1)},${r.toFixed(1)}`}).join(` `),c=n[n.length-1],l=su(c),u=((n.length-1)*o).toFixed(1),d=(22-(c-i)/a*18-2).toFixed(1);return(0,F.jsxs)(`svg`,{className:`sparkline-svg`,width:80,height:22,viewBox:`0 0 80 22`,children:[(0,F.jsx)(`polyline`,{fill:`none`,stroke:l,strokeWidth:`1.5`,strokeLinejoin:`round`,strokeLinecap:`round`,points:s,opacity:`0.85`}),(0,F.jsx)(`circle`,{cx:u,cy:d,r:`2.5`,fill:l})]})},[e])||null}var V={cell:`_cell_c8a3q_1`,value:`_value_c8a3q_13`,fast:`_fast_c8a3q_14`,medium:`_medium_c8a3q_15`,slow:`_slow_c8a3q_16`,dim:`_dim_c8a3q_17`,running:`_running_c8a3q_18`,badge:`_badge_c8a3q_19`,runningCell:`_runningCell_c8a3q_22`,benchmarkSpinner:`_benchmarkSpinner_c8a3q_34`,benchSpin:`_benchSpin_c8a3q_1`,benchPulse:`_benchPulse_c8a3q_1`};function lu(e,t){if(t)return{text:`RUN`,badge:``};if(!e||!e.ok)return{text:e?.code||`—`,badge:``};let n=e.totalMs/1e3,r=e.retries>0?`↻${e.retries}`:``;return{text:n>=10?`${n.toFixed(0)}s`:`${n.toFixed(1)}s`,badge:r}}function uu({result:e,isRunning:t}){let{text:n,badge:r}=lu(e,t),i=e?.ok?V.fast:e?V.slow:V.dim;return(0,F.jsx)(`span`,{className:`${V.cell} ${t?V.runningCell:``}`,children:t?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:V.benchmarkSpinner}),(0,F.jsx)(`span`,{className:`${V.value} ${V.running}`,children:n})]}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:`${V.value} ${i}`,children:n}),r&&(0,F.jsx)(`span`,{className:V.badge,children:r})]})})}var du={cell:`_cell_1bcec_1`,value:`_value_1bcec_13`,fast:`_fast_1bcec_14`,slow:`_slow_1bcec_15`,dim:`_dim_1bcec_16`,running:`_running_1bcec_17`,badge:`_badge_1bcec_18`,runningCell:`_runningCell_1bcec_21`,miniSpinner:`_miniSpinner_1bcec_29`,miniSpin:`_miniSpin_1bcec_29`};function fu(e,t){if(t)return{text:`…`,badge:``};if(!e||!e.ok)return{text:`—`,badge:``};let n=e.retries>0?`↻${e.retries}`:``;return{text:String(Math.round(e.tokensPerSecond??0)),badge:n}}function pu({result:e,isRunning:t}){let{text:n,badge:r}=fu(e,t),i=e?.ok?du.fast:e?du.slow:du.dim;return(0,F.jsx)(`span`,{className:`${du.cell} ${t?du.runningCell:``}`,children:t?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:du.miniSpinner}),(0,F.jsx)(`span`,{className:`${du.value} ${du.running}`,children:n})]}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:`${du.value} ${i}`,children:n}),r&&(0,F.jsx)(`span`,{className:du.badge,children:r})]})})}var mu={button:`_button_5uv8q_2`,icon:`_icon_5uv8q_24`};function hu({model:e,toolMode:t=`opencode`,onLaunch:n,variant:r=`default`,disabled:i=!1}){let{t:a}=pi(),o=_n(t),s=`${o.emoji} ${o.label}`,c=r===`icon`?a(`dashboard.installEndpoint`):a(`dashboard.installEndpointInTool`,{tool:s});return(0,F.jsxs)(`button`,{type:`button`,className:`${mu.button} ${mu[r]||``}`,disabled:i||!e,onClick:t=>{t.stopPropagation(),e&&n?.(e)},title:e?a(`dashboard.installModelEndpoint`,{model:e.label,tool:o.label}):a(`dashboard.selectModelFirst`),"aria-label":e?a(`dashboard.installModelEndpoint`,{model:e.label,tool:o.label}):a(`dashboard.installSelectedModelEndpoint`),children:[(0,F.jsx)(Ar,{size:r===`icon`?13:14,stroke:1.8}),r!==`icon`&&(0,F.jsx)(`span`,{children:c})]})}var gu={nvidia:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`none`},groq:{telemetryType:`header`,supportsEndpoint:!1,usageDisplay:`percent`,resetCadence:`daily`},cerebras:{telemetryType:`header`,supportsEndpoint:!1,usageDisplay:`percent`,resetCadence:`daily`},sambanova:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},"github-models":{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},mistral:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`monthly`},scaleway:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},googleai:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`daily`},codestral:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`daily`},qwen:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},ovhcloud:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},openrouter:{telemetryType:`endpoint`,supportsEndpoint:!0,usageDisplay:`percent`,resetCadence:`unknown`},cloudflare:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`daily`},zai:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`none`},"opencode-zen":{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},kilo:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},llm7:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`rolling`},routeway:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},novita:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},"ollama-cloud":{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`rolling`},pollinations:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`daily`},siliconflow:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`daily`},requesty:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`daily`},orcarouter:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},"vercel-gateway":{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`monthly`},onomeo:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`daily`}},_u={telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`};function vu(e){return gu[e]??_u}function yu(e){return vu(e).usageDisplay===`percent`}var H={root:`_root_1fq95_12`,transcript:`_transcript_1fq95_21`,full:`_full_1fq95_30`,mini:`_mini_1fq95_34`,empty:`_empty_1fq95_40`,emptyIcon:`_emptyIcon_1fq95_57`,emptyTitle:`_emptyTitle_1fq95_62`,emptyHint:`_emptyHint_1fq95_72`,suggestions:`_suggestions_1fq95_93`,message:`_message_1fq95_102`,msgIn:`_msgIn_1fq95_1`,user:`_user_1fq95_120`,assistant:`_assistant_1fq95_125`,bubbleRow:`_bubbleRow_1fq95_130`,role:`_role_1fq95_137`,copyBtn:`_copyBtn_1fq95_145`,bubble:`_bubble_1fq95_130`,typing:`_typing_1fq95_192`,codeBlock:`_codeBlock_1fq95_198`,cursor:`_cursor_1fq95_211`,blink:`_blink_1fq95_1`,meta:`_meta_1fq95_227`,metaChip:`_metaChip_1fq95_242`,target:`_target_1fq95_255`,modelChip:`_modelChip_1fq95_261`,latencyChip:`_latencyChip_1fq95_266`,tpsChip:`_tpsChip_1fq95_271`,errorChip:`_errorChip_1fq95_276`,inputBar:`_inputBar_1fq95_282`,input:`_input_1fq95_282`,sendBtn:`_sendBtn_1fq95_333`,stopBtn:`_stopBtn_1fq95_334`,spin:`_spin_1fq95_376`};function bu(e){if(!e)return null;let t=e.indexOf(`/`);return t<=0?{provider:e,model:``}:{provider:e.slice(0,t),model:e.slice(t+1)}}function xu(e){return!e||typeof e!=`object`?typeof e==`string`?e:null:typeof e.error==`string`?e.error:e.error&&typeof e.error==`object`&&typeof e.error.message==`string`?e.error.message:typeof e.message==`string`?e.message:null}function Su(e){return e?e.split(/(```[\s\S]*?```)/g).map((e,t)=>{let n=e.match(/^```([a-zA-Z0-9_-]+)?\n?([\s\S]*?)```$/);return n?(0,F.jsx)(`pre`,{className:H.codeBlock,children:(0,F.jsx)(`code`,{children:n[2].replace(/\n$/,``)})},t):(0,F.jsx)(`span`,{children:e},t)}):null}function Cu(e){return Number.isFinite(e)?(Math.round(e*10)/10).toFixed(1):`—`}var wu=(0,v.forwardRef)(function({model:e,disabled:t=!1,variant:n=`mini`,stream:r=!0,placeholder:i,targetLabel:a,suggestions:o=[],emptyTitle:s,emptyHint:c,emptyIcon:l,children:u,onTurnComplete:d},f){let{t:p}=pi(),[m,h]=(0,v.useState)([]),[g,_]=(0,v.useState)(``),[y,b]=(0,v.useState)(!1),[x,S]=(0,v.useState)(null),C=(0,v.useRef)(null),w=(0,v.useRef)(null),T=(0,v.useRef)(null),ee=(0,v.useRef)([]);(0,v.useImperativeHandle)(f,()=>({clear:()=>{C.current&&=(C.current.abort(),null),b(!1),h([])},focus:()=>w.current?.focus(),getMessages:()=>ee.current}),[]),(0,v.useEffect)(()=>{ee.current=m},[m]),(0,v.useEffect)(()=>{if(typeof d!=`function`)return;let e=m[m.length-1];if(!e||e.pending||!(e.role===`assistant`&&(e.meta||e.error||e.aborted)))return;let t=m.reduce((e,t)=>e+(t.meta?.tokens||0),0);d({count:m.length,totalTokens:t,lastMeta:e.meta})},[m,d]),(0,v.useEffect)(()=>{let e=T.current;e&&(e.scrollTop=e.scrollHeight)},[m,y]);let E=(0,v.useCallback)(()=>{C.current&&=(C.current.abort(),null),b(!1)},[]),te=(0,v.useCallback)(async n=>{let i=(typeof n==`string`?n:g).trim();if(!i||y||t)return;_(``);let o=a||(e===`fcm`?`fcm`:e),s={id:`u-${Date.now()}`,role:`user`,content:i,ts:Date.now(),target:o},c=`a-${Date.now()}`,l={id:c,role:`assistant`,content:``,pending:!0},u=[...m,s];h([...u,l]),b(!0);let d=new AbortController;C.current=d;let f=Date.now(),p=e=>h(t=>t.map(t=>t.id===c?{...t,...e}:t)),v=null,x=t=>(v=t.headers.get(`x-fcm-router-model`)||(e===`fcm`?null:e),bu(v)||{provider:e,model:``}),S={model:e||`fcm`,messages:u.map(({role:e,content:t})=>({role:e,content:t})),stream:r,temperature:.7};try{let e=await fetch(`/api/playground/chat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(S),signal:d.signal});if(!e.ok){p({pending:!1,error:xu(await e.json().catch(()=>null))||`Request failed (${e.status})`});return}if(r){let t=e.body?.getReader();if(!t)throw Error(`No stream reader available`);let n=new TextDecoder,r=``,i=``,a=x(e),o=0,s=!!v;for(;;){let{value:e,done:c}=await t.read();if(c)break;r+=n.decode(e,{stream:!0});let l=r.split(/\n\n/);r=l.pop()||``;for(let e of l){let t=e.split(/\n/);for(let e of t){if(!e.startsWith(`data:`))continue;let t=e.slice(5).trim();if(t!==`[DONE]`)try{let e=JSON.parse(t),n=e?.choices?.[0]?.delta?.content;typeof n==`string`&&n&&(i+=n,p({content:i,pending:!1}));let r=e?.usage;r&&(typeof r.completion_tokens==`number`?o=r.completion_tokens:typeof r.total_tokens==`number`&&(o=r.total_tokens)),!s&&e?.x_routed_via&&(a={provider:e.x_routed_via,model:e.x_routed_model||``},s=!0)}catch{}}}}let c=Date.now()-f,l=o>0&&c>0?o/(c/1e3):null;p({pending:!1,meta:{provider:a.provider,model:a.model,latencyMs:c,tokens:o,tps:l}})}else{let t=await e.json().catch(()=>null),n=t?.choices?.[0]?.message?.content||``,r=t?.usage||{},i=typeof r.completion_tokens==`number`?r.completion_tokens:r.total_tokens||0,a=x(e),o=Date.now()-f,s=i>0&&o>0?i/(o/1e3):null;p({pending:!1,content:n,meta:{provider:a.provider,model:a.model,latencyMs:o,tokens:i,tps:s}})}}catch(e){e?.name===`AbortError`?p({pending:!1,aborted:!0}):p({pending:!1,error:e?.message||String(e)})}finally{b(!1),C.current=null}},[g,y,t,m,e,r,a,d]),D=(0,v.useCallback)(e=>{(e.key===`Enter`&&!e.shiftKey&&n===`full`||e.key===`Enter`&&n===`mini`)&&(e.preventDefault(),te())},[te,n]),O=(0,v.useCallback)(async(e,t)=>{try{await navigator.clipboard.writeText(t||``),S(e),setTimeout(()=>S(null),1500)}catch{}},[]),ne=(0,v.useCallback)(e=>{if(_(e.target.value),n===`full`){let t=e.target;t.style.height=`auto`,t.style.height=`${Math.min(t.scrollHeight,180)}px`}},[n]),re=n===`full`?H.full:H.mini;return(0,F.jsxs)(`div`,{className:`${H.root} ${re}`,children:[u,(0,F.jsx)(`div`,{className:H.transcript,ref:T,children:m.length===0?(0,F.jsxs)(`div`,{className:H.empty,children:[l&&(0,F.jsx)(`div`,{className:H.emptyIcon,children:l}),s&&(0,F.jsx)(`div`,{className:H.emptyTitle,children:s}),c&&(0,F.jsx)(`div`,{className:H.emptyHint,children:c}),o.length>0&&(0,F.jsx)(`div`,{className:H.suggestions,children:o.map(e=>(0,F.jsx)(`button`,{className:H.chip,onClick:()=>void te(e),type:`button`,children:e},e))})]}):m.map((e,t)=>(0,F.jsxs)(`div`,{className:`${H.message} ${H[e.role]||``}`,children:[(0,F.jsxs)(`div`,{className:H.bubbleRow,children:[(0,F.jsx)(`span`,{className:H.role,children:e.role}),e.role===`assistant`&&e.content&&(0,F.jsx)(`button`,{className:H.copyBtn,onClick:()=>O(t,e.content),title:p(`playground.copyReply`),type:`button`,children:x===t?(0,F.jsx)(Kn,{size:11}):(0,F.jsx)(ir,{size:11})})]}),(0,F.jsx)(`div`,{className:H.bubble,children:e.role===`assistant`?(0,F.jsxs)(F.Fragment,{children:[e.content?Su(e.content):null,y&&t===m.length-1&&e.pending&&!e.aborted&&(0,F.jsx)(`span`,{className:H.cursor}),!e.content&&e.pending&&(0,F.jsx)(`span`,{className:H.typing,children:`…`})]}):e.content}),e.role===`user`&&e.target&&(0,F.jsx)(`div`,{className:H.meta,children:(0,F.jsxs)(`span`,{className:`${H.metaChip} ${H.target}`,title:p(`playground.addressedModel`),children:[(0,F.jsx)(Wn,{size:11}),e.target]})}),e.role===`assistant`&&!e.pending&&e.meta&&(0,F.jsxs)(`div`,{className:H.meta,children:[e.meta.provider&&(0,F.jsxs)(`span`,{className:`${H.metaChip} ${H.modelChip}`,title:p(`playground.servedModel`),children:[(0,F.jsx)(Wn,{size:11}),e.meta.provider,e.meta.model?`/${e.meta.model}`:``]}),e.meta.latencyMs!=null&&(0,F.jsxs)(`span`,{className:`${H.metaChip} ${H.latencyChip}`,title:p(`playground.responseTime`),children:[(0,F.jsx)(tr,{size:11}),Math.round(e.meta.latencyMs),`ms`]}),e.meta.tokens>0&&(0,F.jsxs)(`span`,{className:H.metaChip,title:p(`playground.completionTokens`),children:[e.meta.tokens,` tok`]}),e.meta.tps!=null&&e.meta.tps>0&&(0,F.jsxs)(`span`,{className:`${H.metaChip} ${H.tpsChip}`,title:p(`playground.tokensPerSecond`),children:[(0,F.jsx)(Pr,{size:11}),Cu(e.meta.tps),` t/s`]})]}),e.role===`assistant`&&e.error&&(0,F.jsx)(`div`,{className:H.meta,children:(0,F.jsxs)(`span`,{className:`${H.metaChip} ${H.errorChip}`,title:`Error`,children:[(0,F.jsx)(Rn,{size:11}),e.error]})}),e.role===`assistant`&&e.aborted&&!e.error&&(0,F.jsx)(`div`,{className:H.meta,children:(0,F.jsx)(`span`,{className:H.metaChip,children:p(`playground.stopped`)})})]},e.id||t))}),(0,F.jsxs)(`div`,{className:H.inputBar,children:[(0,F.jsx)(`textarea`,{ref:w,className:H.input,placeholder:i||p(n===`full`?`playground.fullPlaceholder`:`playground.miniPlaceholder`),value:g,onChange:ne,onKeyDown:D,disabled:t,rows:1}),y?(0,F.jsxs)(`button`,{className:H.stopBtn,onClick:E,title:p(`playground.stopGenerating`),type:`button`,children:[(0,F.jsx)(Cr,{size:14,className:H.spin}),n===`full`?p(`playground.stop`):``]}):(0,F.jsxs)(`button`,{className:H.sendBtn,onClick:()=>void te(),disabled:t||!g.trim(),title:p(`playground.send`),type:`button`,children:[(0,F.jsx)(Lr,{size:14}),n===`full`?p(`playground.send`):``]})]})]})}),U={row:`_row_15axt_10`,slideDown:`_slideDown_15axt_1`,grid:`_grid_15axt_29`,col:`_col_15axt_37`,colTitle:`_colTitle_15axt_43`,statGrid:`_statGrid_15axt_53`,statItem:`_statItem_15axt_59`,statLabel:`_statLabel_15axt_65`,statValue:`_statValue_15axt_73`,infoActions:`_infoActions_15axt_82`,favBtn:`_favBtn_15axt_90`,favBtnActive:`_favBtnActive_15axt_109`,playgroundHeader:`_playgroundHeader_15axt_119`,playgroundWrap:`_playgroundWrap_15axt_128`,inputRow:`_inputRow_15axt_135`,inputField:`_inputField_15axt_140`,sendBtn:`_sendBtn_15axt_163`,responseArea:`_responseArea_15axt_188`,responsePlaceholder:`_responsePlaceholder_15axt_205`,benchBtn:`_benchBtn_15axt_211`,metricsGrid:`_metricsGrid_15axt_244`,metricCard:`_metricCard_15axt_250`,metricLabel:`_metricLabel_15axt_260`,metricValue:`_metricValue_15axt_268`,streamText:`_streamText_15axt_275`,progressBar:`_progressBar_15axt_291`,progressFill:`_progressFill_15axt_299`,sweHigh:`_sweHigh_15axt_307`,sweMid:`_sweMid_15axt_308`,sweLow:`_sweLow_15axt_309`,pingFast:`_pingFast_15axt_314`,pingMedium:`_pingMedium_15axt_315`,pingSlow:`_pingSlow_15axt_316`,pingNone:`_pingNone_15axt_317`,noKeyBanner:`_noKeyBanner_15axt_323`,noKeyIcon:`_noKeyIcon_15axt_336`,spinning:`_spinning_15axt_342`,spin:`_spin_15axt_342`};function Tu({label:e,children:t}){return(0,F.jsxs)(`div`,{className:U.statItem,children:[(0,F.jsx)(`span`,{className:U.statLabel,children:e}),(0,F.jsx)(`span`,{className:U.statValue,children:t})]})}function Eu({model:e,favorites:t,onBenchmark:n,onLaunch:r,onToast:i,toolMode:a=`opencode`,onSetToolMode:o,onCycleToolMode:s,onOpenFallback:c}){let{t:l}=pi(),[u,d]=(0,v.useState)(`idle`),[f,p]=(0,v.useState)({latency:null,tokens:null,tps:null}),[m,h]=(0,v.useState)(``),[g,_]=(0,v.useState)(0),y=(0,v.useRef)(null);if(!e)return null;let b=t?.isFavorite(e)??!1,x=Bt(e.avg),S=x.cls||Vt(e.avg),C=(0,v.useCallback)(async()=>{if(u===`running`)return;d(`running`),p({latency:null,tokens:null,tps:null}),h(``),_(0),y.current&&y.current.abort();let t=new AbortController;y.current=t;try{let n=await fetch(`/api/benchmark-stream`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providerKey:e.providerKey,modelId:e.modelId}),signal:t.signal});if(!n.ok){let e=await n.text().catch(()=>`HTTP ${n.status}`);d(`error`),h(`Error: ${e}`);return}let r=n.body.getReader(),i=new TextDecoder,a=``,o=``;for(;;){let{done:e,value:t}=await r.read();if(e)break;a+=i.decode(t,{stream:!0});let n=a.split(`
35
35
  `);a=n.pop()||``;for(let e of n){let t=e.trim();if(t&&!t.startsWith(`event: `)&&t.startsWith(`data: `)){let e=t.slice(6).trim();try{let t=JSON.parse(e),n=t.type||t.event;n===`token`||t.token!==void 0?(t.text&&(o+=t.text,h(o)),t.totalMs!=null&&p(e=>({...e,latency:(t.totalMs/1e3).toFixed(2)})),t.tokens!=null&&(p(e=>({...e,tokens:t.tokens})),_(Math.min(100,Math.round(t.tokens/140*100)))),t.tps!=null&&p(e=>({...e,tps:t.tps.toFixed(1)}))):n===`done`?(t.totalMs!=null&&p(e=>({...e,latency:(t.totalMs/1e3).toFixed(2)})),t.outputTokens!=null&&p(e=>({...e,tokens:t.outputTokens})),t.tokensPerSecond!=null&&p(e=>({...e,tps:t.tokensPerSecond.toFixed(1)})),_(100),d(`done`)):n===`error`&&(d(`error`),h(t.message||t.error||`Unknown error`))}catch{}}}}}catch(e){e.name!==`AbortError`&&(d(`error`),h(`Error: ${e.message}`))}finally{u===`running`&&d(`done`),y.current=null}},[u,e.providerKey,e.modelId]);return e.hasApiKey?(0,F.jsx)(`div`,{className:U.row,children:(0,F.jsxs)(`div`,{className:U.grid,children:[(0,F.jsxs)(`div`,{className:U.col,children:[(0,F.jsxs)(`div`,{className:U.colTitle,children:[`📊 `,l(`modelDetail.modelInfo`)]}),(0,F.jsxs)(`div`,{className:U.statGrid,children:[(0,F.jsx)(Tu,{label:l(`dashboard.tier`),children:(0,F.jsx)(Ll,{tier:e.tier})}),(0,F.jsx)(Tu,{label:`SWE-bench`,children:(0,F.jsx)(`span`,{className:U[zt(e.sweScore)],children:e.sweScore||`—`})}),(0,F.jsx)(Tu,{label:l(`dashboard.context`),children:e.ctx||`—`}),(0,F.jsx)(Tu,{label:l(`dashboard.provider`),children:e.origin}),(0,F.jsxs)(Tu,{label:l(`dashboard.status`),children:[(0,F.jsx)(zl,{status:e.status}),(0,F.jsx)(`span`,{style:{fontSize:11},children:{up:l(`dashboard.working`),down:l(`dashboard.down`),timeout:l(`filters.health.timeout`),noauth:l(`filters.health.noKey`),auth_error:l(`filters.health.authError`),pending:l(`dashboard.pending`)}[e.status]||e.status})]}),(0,F.jsx)(Tu,{label:l(`dashboard.avgPingShort`),children:(0,F.jsx)(`span`,{className:U[S],children:x.text})}),(0,F.jsx)(Tu,{label:l(`dashboard.stability`),children:(0,F.jsx)(tu,{score:e.stability})}),(0,F.jsx)(Tu,{label:l(`dashboard.verdict`),children:(0,F.jsx)(au,{verdict:e.verdict,httpCode:e.httpCode})}),(0,F.jsx)(Tu,{label:l(`dashboard.uptime`),children:e.uptime>0?`${e.uptime}%`:`—`})]}),(0,F.jsxs)(`div`,{className:U.infoActions,children:[t&&(0,F.jsxs)(`button`,{className:`${U.favBtn} ${b?U.favBtnActive:``}`,onClick:()=>t.toggle(e),title:l(b?`dashboard.unfavoriteModelTitle`:`dashboard.favoriteModelTitle`,{model:e.label}),children:[b?(0,F.jsx)(Xr,{size:13,stroke:1.5}):(0,F.jsx)(Br,{size:13,stroke:1.5}),(0,F.jsx)(`span`,{children:l(b?`dashboard.favorited`:`dashboard.favorite`)})]}),r&&(0,F.jsx)(hu,{model:e,toolMode:a,onLaunch:r,variant:`default`})]})]}),(0,F.jsxs)(`div`,{className:U.col,children:[(0,F.jsxs)(`div`,{className:U.playgroundHeader,children:[`💬 `,l(`modelDetail.miniPlayground`,{model:e.label})]}),(0,F.jsx)(`div`,{className:U.playgroundWrap,children:(0,F.jsx)(wu,{model:`${e.providerKey}/${e.modelId}`,variant:`mini`,disabled:!e.hasApiKey,placeholder:l(`modelDetail.playgroundPlaceholder`),emptyTitle:l(`modelDetail.testModel`,{model:e.label}),emptyHint:l(`modelDetail.playgroundEmptyHint`)})})]}),(0,F.jsxs)(`div`,{className:U.col,children:[(0,F.jsxs)(`button`,{className:U.benchBtn,onClick:C,disabled:u===`running`,title:l(u===`running`?`modelDetail.runningBenchmark`:`modelDetail.testAiLatency`),children:[u===`running`?(0,F.jsx)(Cr,{size:13,stroke:1.8,className:U.spinning}):(0,F.jsx)(Yr,{size:13,stroke:1.8}),(0,F.jsx)(`span`,{children:l(u===`running`?`modelDetail.running`:`modelDetail.testAiLatency`)})]}),(0,F.jsxs)(`div`,{className:U.metricsGrid,children:[(0,F.jsxs)(`div`,{className:U.metricCard,children:[(0,F.jsx)(`span`,{className:U.metricLabel,children:l(`dashboard.latency`)}),(0,F.jsx)(`span`,{className:U.metricValue,children:f.latency==null?`—`:`${f.latency}s`})]}),(0,F.jsxs)(`div`,{className:U.metricCard,children:[(0,F.jsx)(`span`,{className:U.metricLabel,children:l(`modelDetail.tokens`)}),(0,F.jsx)(`span`,{className:U.metricValue,children:f.tokens==null?`—`:f.tokens})]}),(0,F.jsxs)(`div`,{className:U.metricCard,children:[(0,F.jsx)(`span`,{className:U.metricLabel,children:`TPS`}),(0,F.jsx)(`span`,{className:U.metricValue,children:f.tps==null?`—`:f.tps})]}),(0,F.jsxs)(`div`,{className:U.metricCard,children:[(0,F.jsx)(`span`,{className:U.metricLabel,children:l(`dashboard.status`)}),(0,F.jsxs)(`span`,{className:U.metricValue,children:[u===`idle`&&`⏳`,u===`running`&&`⚡`,u===`done`&&`✅`,u===`error`&&`❌`]})]})]}),(0,F.jsx)(`div`,{className:U.progressBar,children:(0,F.jsx)(`div`,{className:U.progressFill,style:{width:`${g}%`}})}),(0,F.jsx)(`div`,{className:U.streamText,children:m||(0,F.jsx)(`span`,{className:U.responsePlaceholder,children:l(`modelDetail.generatedText`)})})]})]})}):(0,F.jsx)(`div`,{className:U.row,children:(0,F.jsxs)(`div`,{className:U.noKeyBanner,children:[(0,F.jsx)(`span`,{className:U.noKeyIcon,children:`🔒`}),(0,F.jsx)(`span`,{children:l(`modelDetail.noApiKey`,{provider:e.origin})})]})})}var W={container:`_container_3g32t_8`,scrollInner:`_scrollInner_3g32t_19`,table:`_table_3g32t_41`,th:`_th_3g32t_50`,thInner:`_thInner_3g32t_79`,thLabel:`_thLabel_3g32t_87`,resizeHandle:`_resizeHandle_3g32t_101`,resizeHandleActive:`_resizeHandleActive_3g32t_126`,resizeToolbar:`_resizeToolbar_3g32t_147`,resizeToolbarHint:`_resizeToolbarHint_3g32t_159`,resizeResetButton:`_resizeResetButton_3g32t_170`,sortIcon:`_sortIcon_3g32t_199`,sortIconActive:`_sortIconActive_3g32t_200`,td:`_td_3g32t_203`,rank1:`_rank1_3g32t_227`,rank2:`_rank2_3g32t_228`,rank3:`_rank3_3g32t_229`,rankNum:`_rankNum_3g32t_232`,swe:`_swe_3g32t_240`,sweHigh:`_sweHigh_3g32t_241`,sweMid:`_sweMid_3g32t_242`,sweLow:`_sweLow_3g32t_243`,ctx:`_ctx_3g32t_245`,ping:`_ping_3g32t_247`,pingFast:`_pingFast_3g32t_248`,pingMedium:`_pingMedium_3g32t_249`,pingSlow:`_pingSlow_3g32t_250`,pingNone:`_pingNone_3g32t_251`,uptime:`_uptime_3g32t_260`,quota:`_quota_3g32t_262`,quotaGood:`_quotaGood_3g32t_267`,quotaWarn:`_quotaWarn_3g32t_268`,quotaBad:`_quotaBad_3g32t_269`,quotaNA:`_quotaNA_3g32t_270`,quotaNone:`_quotaNone_3g32t_271`,modelCell:`_modelCell_3g32t_274`,modelMeta:`_modelMeta_3g32t_275`,modelHeader:`_modelHeader_3g32t_276`,modelName:`_modelName_3g32t_277`,modelId:`_modelId_3g32t_278`,benchRow:`_benchRow_3g32t_289`,benchRowPulse:`_benchRowPulse_3g32t_1`,empty:`_empty_3g32t_307`,favBtn:`_favBtn_3g32t_310`,favBtnActive:`_favBtnActive_3g32t_325`,aiLatencyWrap:`_aiLatencyWrap_3g32t_337`,aiLatencyRunning:`_aiLatencyRunning_3g32t_348`,aiLatencyPlay:`_aiLatencyPlay_3g32t_350`,incompatible:`_incompatible_3g32t_359`,unusable:`_unusable_3g32t_377`,notInSetRow:`_notInSetRow_3g32t_386`,launchCell:`_launchCell_3g32t_394`,expandedRow:`_expandedRow_3g32t_407`,expandRowWrapper:`_expandRowWrapper_3g32t_436`,expandRowCell:`_expandRowCell_3g32t_439`},Du=gc(),Ou=new Set([`mood`,`idx`,`tier`,`sweScore`,`ctx`,`label`,`origin`,`latestPing`,`avg`,`condition`,`verdict`,`stability`,`uptime`,`aiLatency`,`tps`,`quota`,`trend`]);function ku({row:e}){return(0,F.jsx)(Fl,{verdict:e.original.verdict})}function Au({row:e}){let{t}=pi(),n=e.original,r=!n.hasApiKey&&!n.cliOnly;return(0,F.jsxs)(`div`,{className:W.modelCell,children:[(0,F.jsx)(zl,{status:n.status,inRouterSet:n.inRouterSet}),(0,F.jsxs)(`div`,{className:W.modelMeta,children:[(0,F.jsxs)(`div`,{className:W.modelHeader,children:[(0,F.jsx)(`span`,{className:W.modelName,children:n.label}),r&&(0,F.jsx)(Wl,{size:14,title:t(`dashboard.noApiKeyState`)})]}),(0,F.jsx)(`div`,{className:W.modelId,children:n.modelId})]})]})}function ju({model:e,favorites:t,isFavorite:n}){let{t:r}=pi();return(0,F.jsx)(`button`,{className:W.favBtn+(n?` `+W.favBtnActive:``),onClick:n=>{n.stopPropagation(),t.toggle(e)},title:r(n?`dashboard.unfavoriteModelTitle`:`dashboard.favoriteModelTitle`,{model:e.label}),"aria-label":r(n?`dashboard.unfavoriteModelTitle`:`dashboard.favoriteModelTitle`,{model:e.label}),"aria-pressed":n,children:n?(0,F.jsx)(Xr,{size:14,stroke:1.5}):(0,F.jsx)(Br,{size:14,stroke:1.5})})}function Mu({row:e}){let t=e.original,n=zt(t.sweScore);return(0,F.jsx)(`span`,{className:`${W.swe} ${W[n]}`,children:t.sweScore||`—`})}function Nu({row:e}){return(0,F.jsx)(`span`,{className:W.ctx,children:e.original.ctx||`—`})}function Pu({row:e}){return(0,F.jsx)(ca,{providerKey:e.original.providerKey,origin:e.original.origin})}function Fu({row:e}){let t=e.original,n=t.pingHistory||t.pings||[],r=n.length>0?n[n.length-1]:null;return(0,F.jsx)(Hl,{ms:r?.ms??null,isPinging:!!t.isPinging})}function Iu({row:e}){let t=e.original,n=Vt(t.avg);return(0,F.jsx)(`span`,{className:`${W.ping} ${W[n]}`,children:t.avg==null||t.avg===1/0||t.avg>99e3?`—`:t.avg})}function Lu({row:e}){let t=e.original;return(0,F.jsx)($l,{status:t.status,httpCode:t.httpCode,inRouterSet:t.inRouterSet})}function Ru({row:e}){let t=e.original;return(0,F.jsx)(au,{verdict:t.verdict,httpCode:t.httpCode})}function zu({row:e}){return(0,F.jsx)(tu,{score:e.original.stability})}function Bu({row:e}){let t=e.original;return(0,F.jsx)(`span`,{className:W.uptime,children:t.uptime>0?`${t.uptime}%`:`—`})}function Vu({row:e}){let{t}=pi(),n=e.original,r=!!n.isBenchmarking;return(0,F.jsxs)(`div`,{className:`${W.aiLatencyWrap} ${r?W.aiLatencyRunning:``}`,onClick:e=>{e.stopPropagation();let t=window.__fcmRowBenchmarkHandler;typeof t==`function`&&t(n)},title:t(r?`dashboard.benchmarking`:`dashboard.clickToBenchmark`),children:[(0,F.jsx)(uu,{result:n.benchmark||null,isRunning:r}),!r&&(0,F.jsx)(`span`,{className:W.aiLatencyPlay,"aria-hidden":`true`,children:(0,F.jsx)(Yr,{size:10,stroke:1.5})})]})}function Hu({row:e}){let t=e.original;return(0,F.jsx)(pu,{result:t.benchmark||null,isRunning:!!t.isBenchmarking})}function Uu({row:e}){let t=e.original;if(!t.hasApiKey)return(0,F.jsx)(`span`,{className:`${W.quota} ${W.quotaNone}`,children:`-`});if(!yu(t.providerKey))return(0,F.jsx)(`span`,{className:`${W.quota} ${W.quotaNA}`,children:`N/A`});if(typeof t.usagePercent!=`number`||!Number.isFinite(t.usagePercent))return(0,F.jsx)(`span`,{className:`${W.quota} ${W.quotaNone}`,children:`…`});let n=Math.round(t.usagePercent),r=n>=50?W.quotaGood:n>=20?W.quotaWarn:W.quotaBad;return(0,F.jsxs)(`span`,{className:`${W.quota} ${r}`,children:[n,`%`]})}function Wu({row:e}){return(0,F.jsx)(cu,{history:e.original.pingHistory})}var Gu=({favorites:e,onBenchmarkRow:t,onSelectModel:n,onLaunch:r,toolMode:i})=>[Du.display({id:`fav`,header:`BOOKMARKS`,size:104,enableSorting:!1,cell:({row:t})=>{let n=t.original,r=e.isFavorite(n);return(0,F.jsx)(ju,{model:n,favorites:e,isFavorite:r})}}),Du.display({id:`mood`,header:`❔`,size:28,cell:ku,enableSorting:!0}),Du.accessor(`idx`,{header:`#`,size:36,enableSorting:!0,cell:({getValue:e,row:t})=>(0,F.jsx)(`span`,{className:W.rankNum,children:e()??t.index+1})}),Du.accessor(`tier`,{header:`Tier`,size:48,enableSorting:!0,cell:({getValue:e})=>(0,F.jsx)(Ll,{tier:e()})}),Du.accessor(`sweScore`,{header:`SWE%`,size:52,enableSorting:!0,cell:Mu}),Du.accessor(`ctx`,{header:`CTX`,size:48,enableSorting:!0,cell:Nu}),Du.accessor(`label`,{header:`Model`,size:200,enableSorting:!0,cell:Au}),Du.accessor(`origin`,{header:`Provider`,size:150,enableSorting:!0,cell:Pu}),Du.display({id:`latestPing`,header:`Last Ping`,size:80,cell:Fu,enableSorting:!0}),Du.accessor(`avg`,{header:`Avg`,size:72,enableSorting:!0,cell:Iu}),Du.accessor(`status`,{id:`condition`,header:`Health`,size:120,enableSorting:!0,cell:Lu}),Du.accessor(`verdict`,{header:`Verdict`,size:100,enableSorting:!0,cell:Ru}),Du.accessor(`stability`,{header:`Stability`,size:90,enableSorting:!0,cell:zu}),Du.accessor(`uptime`,{header:`Up%`,size:48,enableSorting:!0,cell:Bu}),Du.display({id:`aiLatency`,header:`AI Lat.`,size:80,cell:Vu,enableSorting:!0}),Du.display({id:`tps`,header:`TPS`,size:48,cell:Hu,enableSorting:!0}),Du.display({id:`quota`,header:`Quota`,size:64,cell:Uu,enableSorting:!0}),Du.display({id:`trend`,header:`Trend`,size:96,cell:Wu,enableSorting:!0}),Du.display({id:`launch`,header:`🔌`,size:42,enableSorting:!1,cell:({row:e})=>(0,F.jsx)(`div`,{className:W.launchCell,children:(0,F.jsx)(hu,{model:e.original,toolMode:i,onLaunch:r,variant:`icon`})})})],Ku=Gu({favorites:{isFavorite:()=>!1,toggle:()=>{}},onBenchmarkRow:null,onSelectModel:null,onLaunch:null,toolMode:`opencode`}).reduce((e,t)=>{let n=t.id??t.accessorKey;return n&&(e[n]=t.size??80),e},{}),qu=Object.freeze({fav:`dashboard.favorites`,tier:`dashboard.tier`,sweScore:`dashboard.swe`,ctx:`dashboard.context`,label:`dashboard.model`,origin:`dashboard.provider`,latestPing:`dashboard.lastPing`,avg:`dashboard.average`,condition:`dashboard.health`,verdict:`dashboard.verdict`,stability:`dashboard.stability`,uptime:`dashboard.uptime`,aiLatency:`dashboard.aiLatency`,tps:`dashboard.tps`,quota:`dashboard.quota`,trend:`dashboard.trend`});function Ju({filtered:e,onSelectModel:t,onBenchmarkRow:n,onLaunch:r,favorites:i,sortColumn:a,sortDirection:o,onSort:s,toolMode:c=null,onToast:l,onSetToolMode:u,onCycleToolMode:d,onOpenFallback:f}){let{t:p}=pi(),[m,h]=(0,v.useState)(null),g=(0,v.useRef)(null),_=(0,v.useCallback)(e=>{let t=`${e.providerKey}/${e.modelId}`;h(e=>e===t?null:t)},[]),y=(0,v.useMemo)(()=>{let t=e.filter(e=>e.status===`up`&&e.avg!=null&&e.avg!==1/0&&e.avg<99e3);return new Set([...t].sort((e,t)=>e.avg-t.avg).slice(0,3).map(e=>e.modelId))},[e]);(0,v.useEffect)(()=>{if(typeof n!=`function`){window.__fcmRowBenchmarkHandler=null;return}return window.__fcmRowBenchmarkHandler=n,()=>{window.__fcmRowBenchmarkHandler===n&&(window.__fcmRowBenchmarkHandler=null)}},[n]);let b=(0,v.useMemo)(()=>Gu({favorites:i,onBenchmarkRow:n,onSelectModel:t,onLaunch:r,toolMode:c}),[i,n,t,r,c]),{columnSizing:x,setColumnSizing:S,resetColumnSizing:C,hasCustomSizing:w}=Ml(Ku),T=Yc({data:e,columns:b,features:{coreRowModel:Ms(),columnSizingFeature:qc,columnResizingFeature:Kc},columnResizeMode:`onChange`,state:{columnSizing:x},onColumnSizingChange:S}),ee=T.getRowModel().rows,E=(0,v.useMemo)(()=>{let e=[];for(let t of ee){let n=t.original,r=`${n.providerKey}/${n.modelId}`;e.push({type:`row`,row:t,key:r}),m===r&&e.push({type:`expand`,row:t,key:`${r}__expand`})}return e},[ee,m]),te=Sl({count:E.length,getScrollElement:()=>g.current,estimateSize:e=>E[e]?.type===`expand`?260:47,overscan:10,getItemKey:e=>E[e].key}),D=te.getVirtualItems(),O=te.getTotalSize(),ne=D.length?Math.max(0,D[0].start):0,re=D.length?D[D.length-1]:null,ie=re?Math.max(0,O-re.end):0,ae=(0,v.useMemo)(()=>T.getAllColumns().reduce((e,t)=>e+t.getSize(),0),[x]),k=!!T.state.columnResizing?.isResizingColumn;return(0,v.useEffect)(()=>{if(typeof document<`u`)return k?document.body.classList.add(`col-resizing`):document.body.classList.remove(`col-resizing`),()=>{document.body.classList.remove(`col-resizing`)}},[k]),ee.length===0?(0,F.jsx)(`div`,{className:W.empty,children:p(`dashboard.noModels`)}):(0,F.jsxs)(`div`,{className:W.container,children:[w&&(0,F.jsxs)(`div`,{className:W.resizeToolbar,children:[(0,F.jsxs)(`span`,{className:W.resizeToolbarHint,children:[`📐 `,p(`dashboard.customColumnWidths`),` · `,p(`dashboard.totalWidth`),` `,(0,F.jsxs)(`strong`,{children:[Math.round(ae),`px`]})]}),(0,F.jsxs)(`button`,{type:`button`,className:W.resizeResetButton,onClick:C,title:p(`dashboard.restoreColumnWidths`),children:[`↺ `,p(`dashboard.resetColumns`)]})]}),(0,F.jsx)(`div`,{className:W.scrollInner,ref:g,children:(0,F.jsxs)(`table`,{className:W.table,style:w?{minWidth:`${ae}px`}:void 0,children:[(0,F.jsx)(`thead`,{children:T.getHeaderGroups().map(e=>(0,F.jsx)(`tr`,{children:e.headers.map(e=>{let t=e.column,n=Ou.has(t.id),r=t.getIsResizing?.()===!0,i=`${e.getSize()}px`,c=qu[t.id]?p(qu[t.id]):String(t.columnDef.header);return(0,F.jsx)(`th`,{className:W.th,onClick:n?()=>s(e.id):void 0,style:{width:i,minWidth:i,maxWidth:i,cursor:n?`pointer`:`default`},title:p(`dashboard.sortColumn`,{column:c}),children:(0,F.jsxs)(`div`,{className:W.thInner,children:[(0,F.jsxs)(`span`,{className:W.thLabel,children:[qu[t.id]?c:wa(t.columnDef.header,e.getContext()),n&&(0,F.jsx)(`span`,{className:a===t.id?W.sortIconActive:W.sortIcon,children:a===t.id?o===`asc`?`↑`:`↓`:`⇅`})]}),(0,F.jsx)(`span`,{className:`${W.resizeHandle} ${r?W.resizeHandleActive:``}`,onClick:e=>e.stopPropagation(),onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler(),onDoubleClick:()=>{S(e=>({...e,[t.id]:Ku[t.id]}))},title:p(`dashboard.resizeColumn`,{column:c}),role:`separator`,"aria-orientation":`vertical`,"aria-label":p(`dashboard.resizeColumnAria`,{column:c})})]})},e.id)})},e.id))}),(0,F.jsxs)(`tbody`,{children:[ne>0&&(0,F.jsx)(`tr`,{"aria-hidden":`true`,style:{height:ne},children:(0,F.jsx)(`td`,{style:{height:ne,padding:0,border:0}})}),D.map(e=>{let t=E[e.index];if(t.type===`expand`)return(0,F.jsx)(`tr`,{className:W.expandRowWrapper,"data-index":e.index,ref:te.measureElement,children:(0,F.jsx)(`td`,{colSpan:t.row.getAllCells().length,className:W.expandRowCell,children:(0,F.jsx)(Eu,{model:t.row.original,favorites:i,onBenchmark:n,onLaunch:r,onToast:l,toolMode:c,onSetToolMode:u,onCycleToolMode:d,onOpenFallback:f})})},t.key);let a=t.row,o=a.original,s=m===t.key,p=[...y].indexOf(o.modelId),h=[];return p>=0&&h.push(W[`rank${p+1}`]),o.isBenchmarking&&h.push(W.benchRow),s&&h.push(W.expandedRow),c&&(yn(o.providerKey).includes(c)||h.push(W.incompatible)),(o.status===`noauth`||o.status===`auth_error`)&&h.push(W.unusable),o.status===`pending`&&o.inRouterSet===!1&&h.push(W.notInSetRow),(0,F.jsx)(`tr`,{className:h.join(` `),onClick:()=>_(o),"data-index":e.index,ref:te.measureElement,children:a.getAllCells().map(e=>{let t=`${e.column.getSize()}px`;return(0,F.jsx)(`td`,{className:W.td,style:{width:t,minWidth:t,maxWidth:t},children:wa(e.column.columnDef.cell,e.getContext())},e.id)})},t.key)}),ie>0&&(0,F.jsx)(`tr`,{"aria-hidden":`true`,style:{height:ie},children:(0,F.jsx)(`td`,{style:{height:ie,padding:0,border:0}})})]})]})})]})}function Yu(e,t,n){let r=new Blob([e],{type:n}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=t,a.click(),URL.revokeObjectURL(i)}var Xu={overlay:`_overlay_1e3f5_1`,fadeIn:`_fadeIn_1e3f5_1`,modal:`_modal_1e3f5_18`,modalSlideIn:`_modalSlideIn_1e3f5_1`,modalHeader:`_modalHeader_1e3f5_33`,modalTitle:`_modalTitle_1e3f5_40`,modalClose:`_modalClose_1e3f5_45`,modalBody:`_modalBody_1e3f5_57`,options:`_options_1e3f5_60`,option:`_option_1e3f5_60`,optionIcon:`_optionIcon_1e3f5_84`,optionText:`_optionText_1e3f5_88`,optionLabel:`_optionLabel_1e3f5_89`,optionDesc:`_optionDesc_1e3f5_94`};function Zu({models:e,onClose:t,onToast:n}){return e?(0,F.jsx)(`div`,{className:Xu.overlay,onClick:e=>e.target===e.currentTarget&&t(),children:(0,F.jsxs)(`div`,{className:Xu.modal,children:[(0,F.jsxs)(`div`,{className:Xu.modalHeader,children:[(0,F.jsxs)(`h2`,{className:Xu.modalTitle,children:[(0,F.jsx)(Gr,{size:20,stroke:1.5,style:{marginRight:8,verticalAlign:`middle`}}),`Export Data`]}),(0,F.jsx)(`button`,{className:Xu.modalClose,onClick:t,children:`×`})]}),(0,F.jsx)(`div`,{className:Xu.modalBody,children:(0,F.jsxs)(`div`,{className:Xu.options,children:[(0,F.jsxs)(`button`,{className:Xu.option,onClick:()=>{Yu(JSON.stringify(e,null,2),`free-coding-models-export.json`,`application/json`),n?.(`Exported as JSON`,`success`),t()},children:[(0,F.jsx)(`span`,{className:Xu.optionIcon,children:(0,F.jsx)(Gn,{size:20,stroke:1.5})}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{className:Xu.optionLabel,children:`Export as JSON`}),(0,F.jsx)(`span`,{className:Xu.optionDesc,children:`Full model data with all metrics`})]})]}),(0,F.jsxs)(`button`,{className:Xu.option,onClick:()=>{let r=[`Rank`,`Tier`,`Model`,`Provider`,`SWE%`,`Context`,`LatestPing`,`AvgPing`,`Stability`,`Verdict`,`Uptime`],i=e.map((e,t)=>[t+1,e.tier,e.label,e.origin,e.sweScore||``,e.ctx||``,e.latestPing||``,e.avg===1/0?``:e.avg,e.stability||``,e.verdict||``,e.uptime||``].join(`,`));Yu([r.join(`,`),...i].join(`
36
36
  `),`free-coding-models-export.csv`,`text/csv`),n?.(`Exported as CSV`,`success`),t()},children:[(0,F.jsx)(`span`,{className:Xu.optionIcon,children:(0,F.jsx)(dr,{size:20,stroke:1.5})}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{className:Xu.optionLabel,children:`Export as CSV`}),(0,F.jsx)(`span`,{className:Xu.optionDesc,children:`Spreadsheet-compatible format`})]})]}),(0,F.jsxs)(`button`,{className:Xu.option,onClick:async()=>{let r=e.filter(e=>e.status===`up`),i=`free-coding-models Dashboard Export\nTotal: ${e.length} | Online: ${r.length}\n\n`+r.slice(0,20).map((e,t)=>`${t+1}. ${e.label} [${e.tier}] — ${e.avg===1/0?`N/A`:e.avg+`ms`} (${e.origin})`).join(`
37
- `);await navigator.clipboard.writeText(i),n?.(`Copied to clipboard`,`success`),t()},children:[(0,F.jsx)(`span`,{className:Xu.optionIcon,children:(0,F.jsx)(er,{size:20,stroke:1.5})}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{className:Xu.optionLabel,children:`Copy to Clipboard`}),(0,F.jsx)(`span`,{className:Xu.optionDesc,children:`Copy model summary as text`})]})]})]})})]})}):null}var G={page:`_page_1847y_1`,pageHeader:`_pageHeader_1847y_5`,pageTitle:`_pageTitle_1847y_9`,pageSubtitle:`_pageSubtitle_1847y_15`,loading:`_loading_1847y_30`,featureSection:`_featureSection_1847y_37`,sectionHeading:`_sectionHeading_1847y_44`,featureGrid:`_featureGrid_1847y_52`,featureRow:`_featureRow_1847y_57`,featureLabel:`_featureLabel_1847y_67`,featureTitle:`_featureTitle_1847y_79`,featureDesc:`_featureDesc_1847y_85`,featureActions:`_featureActions_1847y_91`,select:`_select_1847y_96`,toggleSwitch:`_toggleSwitch_1847y_110`,toggleSlider:`_toggleSlider_1847y_122`,smallBtn:`_smallBtn_1847y_148`,notice:`_notice_1847y_166`,testBadge:`_testBadge_1847y_178`,test_ok:`_test_ok_1847y_191`,test_auth_error:`_test_auth_error_1847y_192`,test_rate_limited:`_test_rate_limited_1847y_193`,test_no_callable_model:`_test_no_callable_model_1847y_194`,test_fail:`_test_fail_1847y_195`,test_missing_key:`_test_missing_key_1847y_196`,test_pending:`_test_pending_1847y_197`,testSpinner:`_testSpinner_1847y_199`,spin:`_spin_1847y_1`,toolbar:`_toolbar_1847y_210`,toolbarSearch:`_toolbarSearch_1847y_218`,toolbarActions:`_toolbarActions_1847y_250`,toolbarBtn:`_toolbarBtn_1847y_255`,providers:`_providers_1847y_276`,card:`_card_1847y_282`,cardHeader:`_cardHeader_1847y_295`,cardIcon:`_cardIcon_1847y_308`,cardInfo:`_cardInfo_1847y_320`,cardName:`_cardName_1847y_325`,cardMeta:`_cardMeta_1847y_330`,cardStatus:`_cardStatus_1847y_336`,statusConfigured:`_statusConfigured_1847y_344`,statusMissing:`_statusMissing_1847y_349`,toggleIcon:`_toggleIcon_1847y_354`,toggleIconExpanded:`_toggleIconExpanded_1847y_361`,cardBody:`_cardBody_1847y_365`,cardExpanded:`_cardExpanded_1847y_372`,cardContent:`_cardContent_1847y_377`,keyGroup:`_keyGroup_1847y_381`,keyLabel:`_keyLabel_1847y_385`,keyDisplay:`_keyDisplay_1847y_395`,keyDisplayValue:`_keyDisplayValue_1847y_406`,keyDisplayActions:`_keyDisplayActions_1847y_414`,actionBtn:`_actionBtn_1847y_420`,actionBtnDanger:`_actionBtnDanger_1847y_438`,keyInputRow:`_keyInputRow_1847y_448`,keyInput:`_keyInput_1847y_448`,saveBtn:`_saveBtn_1847y_475`,enabledRow:`_enabledRow_1847y_495`,enabledLabel:`_enabledLabel_1847y_504`},Qu={ok:{labelKey:`settings.test.ok`,icon:Jr,className:`testOk`},auth_error:{labelKey:`settings.test.authError`,icon:br,className:`testErr`},rate_limited:{labelKey:`settings.test.rateLimited`,icon:Pr,className:`testWarn`},no_callable_model:{labelKey:`settings.test.noCallableModel`,icon:br,className:`testWarn`},fail:{labelKey:`settings.test.failed`,icon:br,className:`testErr`},missing_key:{labelKey:`settings.test.missingKey`,icon:br,className:`testNeutral`}};function $u({onToast:e,onOpenChangelog:t,onCheckForUpdate:n}){let{t:r,locale:i,locales:a,setLanguage:o}=pi(),[s,c]=(0,v.useState)(null),[l,u]=(0,v.useState)(``),[d,f]=(0,v.useState)(new Set),[p,m]=(0,v.useState)(new Set),[h,g]=(0,v.useState)({}),[_,y]=(0,v.useState)({}),[b,x]=(0,v.useState)(new Set),[S,C]=(0,v.useState)(null),w=(0,v.useCallback)(async()=>{try{let e=await(await fetch(`/api/config`)).json();c(e)}catch{e?.(r(`settings.loadFailed`),`error`)}},[e,r]);(0,v.useEffect)(()=>{w()},[w]);let T=e=>{f(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},ee=()=>{s&&f(new Set(Object.keys(s.providers)))},E=()=>f(new Set),te=e=>{m(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},D=async t=>{let n=h[t]?.trim();if(!n){e?.(r(`settings.enterApiKey`),`warning`);return}try{let i=await(await fetch(`/api/settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({apiKeys:{[t]:n}})})).json();i.success?(e?.(r(`settings.keySavedForProvider`,{provider:t}),`success`),g(e=>({...e,[t]:``})),m(e=>{let n=new Set(e);return n.delete(t),n}),await w(),f(e=>new Set(e).add(t))):e?.(i.error||r(`settings.keySaveFailed`),`error`)}catch{e?.(r(`settings.networkSaveFailed`),`error`)}},O=async t=>{if(confirm(r(`settings.confirmDeleteKey`,{provider:t})))try{let n=await(await fetch(`/api/settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({apiKeys:{[t]:``}})})).json();n.success?(e?.(r(`settings.keyRemovedForProvider`,{provider:t}),`info`),m(e=>{let n=new Set(e);return n.delete(t),n}),await w()):e?.(n.error||r(`settings.keyRemoveFailed`),`error`)}catch{e?.(r(`settings.networkDeleteFailed`),`error`)}},ne=async(t,n)=>{try{let i=await(await fetch(`/api/settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providers:{[t]:{enabled:n}}})})).json();i.success?e?.(r(n?`settings.providerEnabled`:`settings.providerDisabled`,{provider:t}),`success`):e?.(i.error||r(`settings.toggleFailed`),`error`)}catch{e?.(r(`settings.networkError`),`error`)}},re=(0,v.useCallback)(async t=>{if(!b.has(t)){x(e=>new Set(e).add(t)),y(e=>({...e,[t]:{outcome:`pending`}}));try{let n=await fetch(`/api/key/${encodeURIComponent(t)}/test`,{method:`POST`}),i=await n.json().catch(()=>({}));if(n.ok){y(e=>({...e,[t]:i}));let n=Qu[i.outcome]||Qu.fail;e?.(r(`settings.keyTestResult`,{provider:t,result:r(n.labelKey),code:i.code?` (HTTP ${i.code})`:``}),i.outcome===`ok`?`success`:`info`)}else y(e=>({...e,[t]:{outcome:`fail`,detail:i.error||`HTTP `+n.status}})),e?.(r(`settings.keyTestError`,{provider:t,error:i.error||n.statusText}),`error`)}catch(n){y(e=>({...e,[t]:{outcome:`fail`,detail:n.message}})),e?.(r(`settings.keyTestError`,{provider:t,error:n.message}),`error`)}finally{x(e=>{let n=new Set(e);return n.delete(t),n})}}},[b,e,r]),ie=(0,v.useCallback)(async(t,n)=>{try{let i=await(await fetch(`/api/settings/feature`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n===void 0?{feature:t}:{feature:t,value:n})})).json();i.success?(await w(),e?.(r(`settings.settingUpdated`),`success`)):e?.(i.error||r(`settings.featureUpdateFailed`),`error`)}catch{e?.(r(`settings.networkError`),`error`)}},[e,r]),ae=(0,v.useCallback)(async t=>{try{let n=await(await fetch(`/api/shell-env/toggle`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({enabled:t})})).json();n.success?(await w(),e?.(r(n.enabled?`settings.shellExportEnabled`:`settings.shellExportDisabled`),`success`)):e?.(n.error||r(`settings.shellToggleFailed`),`error`)}catch{e?.(r(`settings.networkError`),`error`)}},[e,r]),k=(0,v.useCallback)(async()=>{if(confirm(r(`settings.confirmLegacyCleanup`)))try{let t=await(await fetch(`/api/legacy-cleanup`,{method:`POST`})).json(),n=(t.removedFiles?.length||0)+(t.updatedFiles?.length||0);t.changed?(C(r(`settings.legacyCleanupComplete`,{count:n,errors:t.errors.length})),e?.(r(`settings.legacyCleanupToast`,{count:n}),`success`)):(C(r(`settings.legacyNone`)),e?.(r(`settings.legacyNone`),`info`)),await w()}catch(t){e?.(r(`settings.legacyCleanupFailed`,{error:t.message}),`error`)}},[e,r]),oe=(0,v.useCallback)(()=>{n?.()},[n]);if(!s)return(0,F.jsx)(`div`,{className:G.page,children:(0,F.jsx)(`div`,{className:G.loading,children:r(`settings.loading`)})});let se=Object.entries(s.providers).filter(([,e])=>{if(!l)return!0;let t=l.toLowerCase();return`${e.name} ${e.displayName||``} ${e.billingNote||``}`.toLowerCase().includes(t)}).sort((e,t)=>e[1].name.localeCompare(t[1].name));return(0,F.jsxs)(`div`,{className:G.page,children:[(0,F.jsxs)(`div`,{className:G.pageHeader,children:[(0,F.jsxs)(`h1`,{className:G.pageTitle,children:[(0,F.jsx)(Rr,{size:24,stroke:1.5,style:{marginRight:8,verticalAlign:`middle`}}),r(`settings.title`)]}),(0,F.jsxs)(`p`,{className:G.pageSubtitle,children:[r(`settings.subtitle`),` `,(0,F.jsx)(`code`,{children:`~/.free-coding-models.json`})]})]}),s&&(0,F.jsxs)(`section`,{className:G.featureSection,children:[(0,F.jsxs)(`h2`,{className:G.sectionHeading,children:[`⚙️ `,r(`settings.global`)]}),(0,F.jsxs)(`div`,{className:G.featureGrid,children:[(0,F.jsxs)(`div`,{className:G.featureRow,children:[(0,F.jsx)(`div`,{className:G.featureLabel,children:(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:G.featureTitle,children:r(`settings.language`)}),(0,F.jsx)(`div`,{className:G.featureDesc,children:r(`settings.language.description`)})]})}),(0,F.jsx)(`select`,{className:G.select,value:i,onChange:async t=>{await o(t.target.value)?c(e=>e&&{...e,settings:{...e.settings,language:t.target.value}}):e?.(r(`settings.languageSaveFailed`),`error`)},"aria-label":r(`settings.language`),children:a.map(e=>(0,F.jsx)(`option`,{value:e.value,children:r(e.labelKey)},e.value))})]}),(0,F.jsxs)(`div`,{className:G.featureRow,children:[(0,F.jsxs)(`div`,{className:G.featureLabel,children:[(0,F.jsx)(Vr,{size:16,stroke:1.5}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:G.featureTitle,children:r(`settings.theme`)}),(0,F.jsx)(`div`,{className:G.featureDesc,children:r(`settings.theme.description`)})]})]}),(0,F.jsxs)(`select`,{className:G.select,value:s.settings?.theme||`auto`,onChange:e=>ie(`theme`,e.target.value),children:[(0,F.jsx)(`option`,{value:`auto`,children:r(`settings.theme.auto`)}),(0,F.jsx)(`option`,{value:`dark`,children:r(`settings.theme.dark`)}),(0,F.jsx)(`option`,{value:`light`,children:r(`settings.theme.light`)})]})]}),(0,F.jsxs)(`div`,{className:G.featureRow,children:[(0,F.jsxs)(`div`,{className:G.featureLabel,children:[(0,F.jsx)(Br,{size:16,stroke:1.5}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:G.featureTitle,children:r(`settings.favoritesPinned`)}),(0,F.jsx)(`div`,{className:G.featureDesc,children:r(`settings.favoritesPinned.description`)})]})]}),(0,F.jsxs)(`label`,{className:G.toggleSwitch,children:[(0,F.jsx)(`input`,{type:`checkbox`,checked:!!s.settings?.favoritesPinnedAndSticky,onChange:e=>ie(`favoritesPinnedAndSticky`,e.target.checked)}),(0,F.jsx)(`span`,{className:G.toggleSlider})]})]}),(0,F.jsxs)(`div`,{className:G.featureRow,children:[(0,F.jsxs)(`div`,{className:G.featureLabel,children:[(0,F.jsx)(Wn,{size:16,stroke:1.5}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:G.featureTitle,children:r(`settings.startupSpeedTest`)}),(0,F.jsx)(`div`,{className:G.featureDesc,children:r(`settings.startupSpeedTest.description`)})]})]}),(0,F.jsxs)(`label`,{className:G.toggleSwitch,children:[(0,F.jsx)(`input`,{type:`checkbox`,checked:!!s.settings?.runAiSpeedTestOnStartup,onChange:e=>ie(`runAiSpeedTestOnStartup`,e.target.checked)}),(0,F.jsx)(`span`,{className:G.toggleSlider})]})]}),(0,F.jsxs)(`div`,{className:G.featureRow,children:[(0,F.jsxs)(`div`,{className:G.featureLabel,children:[(0,F.jsx)(Qn,{size:16,stroke:1.5}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:G.featureTitle,children:r(`settings.shellEnv`)}),(0,F.jsx)(`div`,{className:G.featureDesc,children:r(`settings.shellEnv.description`)})]})]}),(0,F.jsxs)(`label`,{className:G.toggleSwitch,children:[(0,F.jsx)(`input`,{type:`checkbox`,checked:!!s.settings?.shellEnvEnabled,onChange:e=>ae(e.target.checked)}),(0,F.jsx)(`span`,{className:G.toggleSlider})]})]}),(0,F.jsxs)(`div`,{className:G.featureRow,children:[(0,F.jsxs)(`div`,{className:G.featureLabel,children:[(0,F.jsx)(or,{size:16,stroke:1.5}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:G.featureTitle,children:r(`settings.checkUpdates`)}),(0,F.jsx)(`div`,{className:G.featureDesc,children:r(`settings.checkUpdates.description`)})]})]}),(0,F.jsxs)(`div`,{className:G.featureActions,children:[(0,F.jsx)(`button`,{className:G.smallBtn,onClick:oe,children:r(`settings.checkNow`)}),(0,F.jsxs)(`button`,{className:G.smallBtn,onClick:()=>t?.(null),children:[(0,F.jsx)(_r,{size:13,stroke:1.5}),` `,r(`nav.changelog`)]})]})]}),(0,F.jsxs)(`div`,{className:G.featureRow,children:[(0,F.jsxs)(`div`,{className:G.featureLabel,children:[(0,F.jsx)(Pr,{size:16,stroke:1.5}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:G.featureTitle,children:r(`settings.cleanupLegacy`)}),(0,F.jsx)(`div`,{className:G.featureDesc,children:r(`settings.cleanupLegacy.description`)})]})]}),(0,F.jsx)(`button`,{className:G.smallBtn,onClick:k,children:r(`settings.runCleanup`)})]})]}),S&&(0,F.jsx)(`div`,{className:G.notice,children:S})]}),(0,F.jsxs)(`div`,{className:G.toolbar,children:[(0,F.jsxs)(`div`,{className:G.toolbarSearch,children:[(0,F.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,children:[(0,F.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,F.jsx)(`line`,{x1:`21`,y1:`21`,x2:`16.65`,y2:`16.65`})]}),(0,F.jsx)(`input`,{type:`text`,placeholder:r(`settings.searchProviders`),value:l,onChange:e=>u(e.target.value),autoComplete:`off`})]}),(0,F.jsxs)(`div`,{className:G.toolbarActions,children:[(0,F.jsx)(`button`,{className:G.toolbarBtn,onClick:ee,children:r(`settings.expandAll`)}),(0,F.jsx)(`button`,{className:G.toolbarBtn,onClick:E,children:r(`settings.collapseAll`)})]})]}),(0,F.jsx)(`div`,{className:G.providers,children:se.map(([e,t])=>{let n=d.has(e),i=p.has(e);return(0,F.jsxs)(`div`,{className:`${G.card} ${n?G.cardExpanded:``}`,children:[(0,F.jsxs)(`div`,{className:G.cardHeader,onClick:()=>T(e),children:[(0,F.jsx)(`div`,{className:G.cardIcon,children:(0,F.jsx)(jr,{size:20,stroke:1.5})}),(0,F.jsxs)(`div`,{className:G.cardInfo,children:[(0,F.jsx)(`div`,{className:G.cardName,children:t.displayName||t.name}),(0,F.jsxs)(`div`,{className:G.cardMeta,children:[r(`settings.providersCount`,{count:t.modelCount}),` · `,e,t.billingNote?` · ${t.billingNote}`:``]})]}),(0,F.jsx)(`span`,{className:`${G.cardStatus} ${t.hasKey?G.statusConfigured:G.statusMissing}`,children:t.hasKey?(0,F.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:4},children:[(0,F.jsx)(Qn,{size:14,stroke:1.5}),` `,r(`dashboard.working`)]}):(0,F.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:4},children:[(0,F.jsx)(br,{size:14,stroke:1.5}),` `,r(`filters.health.noKey`)]})}),(0,F.jsx)(`span`,{className:`${G.toggleIcon} ${n?G.toggleIconExpanded:``}`,children:`▼`})]}),(0,F.jsx)(`div`,{className:G.cardBody,children:(0,F.jsxs)(`div`,{className:G.cardContent,children:[t.hasKey&&_[e]&&(0,F.jsx)(`div`,{className:`${G.testBadge} ${G[`test_${_[e].outcome}`]||``}`,children:(()=>{let t=Qu[_[e].outcome]||Qu.fail,n=t.icon;return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(n,{size:12,stroke:1.5}),(0,F.jsxs)(`span`,{children:[r(`settings.lastTest`),`: `,r(t.labelKey),_[e].code?` (HTTP ${_[e].code})`:``]})]})})()}),t.hasKey&&(0,F.jsxs)(`div`,{className:G.keyGroup,children:[(0,F.jsx)(`label`,{className:G.keyLabel,children:r(`settings.currentApiKey`)}),(0,F.jsxs)(`div`,{className:G.keyDisplay,children:[(0,F.jsx)(`span`,{className:G.keyDisplayValue,children:i?t.maskedKey||`••••••••`:Ut(t.maskedKey||``)}),(0,F.jsxs)(`div`,{className:G.keyDisplayActions,children:[(0,F.jsx)(`button`,{className:G.actionBtn,onClick:()=>te(e),title:r(i?`settings.hideKey`:`settings.revealKey`),"aria-label":r(i?`settings.hideKey`:`settings.revealKey`),children:i?(0,F.jsx)(lr,{size:14,stroke:1.5}):(0,F.jsx)(ur,{size:14,stroke:1.5})}),(0,F.jsxs)(`button`,{className:G.actionBtn,onClick:()=>re(e),disabled:b.has(e),title:r(`settings.testKeyHint`),"aria-label":r(`settings.testKeyForProvider`,{provider:e}),children:[b.has(e)?(0,F.jsx)(`span`,{className:G.testSpinner}):(0,F.jsx)(Wn,{size:14,stroke:1.5}),b.has(e)?r(`settings.testing`):r(`settings.testKey`)]}),(0,F.jsx)(`button`,{className:`${G.actionBtn} ${G.actionBtnDanger}`,onClick:()=>O(e),title:r(`settings.deleteKey`),"aria-label":r(`settings.deleteKey`),children:(0,F.jsx)(Ur,{size:14,stroke:1.5})})]})]})]}),(0,F.jsxs)(`div`,{className:G.keyGroup,children:[(0,F.jsxs)(`label`,{className:G.keyLabel,children:[t.hasKey?r(`settings.updateApiKey`):r(`settings.addApiKey`),t.billingNote?` 💰 ${t.billingNote}`:``]}),(0,F.jsxs)(`div`,{className:G.keyInputRow,children:[(0,F.jsx)(`input`,{type:`password`,className:G.keyInput,placeholder:r(`settings.apiKeyPlaceholder`),"aria-label":r(`settings.apiKeyForProvider`,{provider:e}),value:h[e]||``,onChange:t=>g(n=>({...n,[e]:t.target.value})),autoComplete:`off`}),(0,F.jsx)(`button`,{className:G.saveBtn,onClick:()=>D(e),children:t.hasKey?r(`common.update`):r(`common.save`)})]})]}),(0,F.jsxs)(`div`,{className:G.enabledRow,children:[(0,F.jsx)(`span`,{className:G.enabledLabel,children:r(`settings.providerEnabledLabel`)}),(0,F.jsxs)(`label`,{className:G.toggleSwitch,children:[(0,F.jsx)(`input`,{type:`checkbox`,defaultChecked:t.enabled!==!1,onChange:t=>ne(e,t.target.checked)}),(0,F.jsx)(`span`,{className:G.toggleSlider})]})]})]})})]},e)})})]})}function ed(){let[e,t]=(0,v.useState)(null),[n,r]=(0,v.useState)(!0),i=(0,v.useCallback)(async()=>{r(!0);try{let e=await(await fetch(`/api/router/tokens`)).json();t(td(e))}catch{t(null)}finally{r(!1)}},[]);return(0,v.useEffect)(()=>{i()},[i]),{data:e,loading:n,refresh:i}}function td(e){if(!e)return null;let t=e.daily||{},n=e.all_time||{},r=[],i=new Date;for(let e=6;e>=0;e--){let n=new Date(i);n.setDate(n.getDate()-e);let a=n.toISOString().slice(0,10),o=t[a]||{total_tokens:0,requests:0};r.push({date:a,label:n.toLocaleDateString(`en`,{weekday:`short`}),totalTokens:o.total_tokens||0,requests:o.requests||0})}let a={};for(let e of Object.values(t)){let t=e.by_model||{};for(let[e,n]of Object.entries(t))a[e]||(a[e]={total:0,requests:0}),a[e].total+=n.total||0,a[e].requests+=n.requests||0}let o=Object.entries(a).sort((e,t)=>t[1].total-e[1].total).slice(0,10).map(([e,t])=>({key:e,...t})),s={};for(let[e,t]of Object.entries(a)){let n=e.split(`/`)[0];s[n]||(s[n]={total:0,requests:0}),s[n].total+=t.total,s[n].requests+=t.requests}let c=Object.entries(s).sort((e,t)=>t[1].total-e[1].total).slice(0,10).map(([e,t])=>({key:e,...t})),l=t[i.toISOString().slice(0,10)]||{};return{today:{totalTokens:l.total_tokens||0,promptTokens:l.prompt_tokens||0,completionTokens:l.completion_tokens||0,requests:l.requests||0},allTime:{totalTokens:n.total_tokens||0,promptTokens:n.prompt_tokens||0,completionTokens:n.completion_tokens||0,requests:n.requests||0},sevenDays:r,topModels:o,topProviders:c,hasData:n.total_tokens>0||Object.keys(t).length>0}}var K={card:`_card_1m2zx_1`,cardTitle:`_cardTitle_1m2zx_5`,empty:`_empty_1m2zx_14`,summaryGrid:`_summaryGrid_1m2zx_22`,summaryCard:`_summaryCard_1m2zx_29`,summaryLabel:`_summaryLabel_1m2zx_39`,summaryValue:`_summaryValue_1m2zx_47`,summarySub:`_summarySub_1m2zx_53`,chart:`_chart_1m2zx_59`,chartBar:`_chartBar_1m2zx_67`,chartFill:`_chartFill_1m2zx_77`,chartLabel:`_chartLabel_1m2zx_85`,topList:`_topList_1m2zx_92`,topRow:`_topRow_1m2zx_98`,topKey:`_topKey_1m2zx_106`,topVal:`_topVal_1m2zx_115`,topReq:`_topReq_1m2zx_121`};function q(e){return typeof e!=`number`||!Number.isFinite(e)?`0`:e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(Math.round(e))}function nd(){let{t:e}=pi(),{data:t,loading:n}=ed();if(n)return(0,F.jsxs)(`div`,{className:K.card,children:[(0,F.jsx)(`h3`,{className:K.cardTitle,children:e(`analytics.tokenUsage`)}),(0,F.jsx)(`div`,{className:K.empty,children:e(`analytics.loading`)})]});if(!t||!t.hasData)return(0,F.jsxs)(`div`,{className:K.card,children:[(0,F.jsx)(`h3`,{className:K.cardTitle,children:e(`analytics.tokenUsage`)}),(0,F.jsx)(`div`,{className:K.empty,children:e(`analytics.noTokenData`)})]});let r=Math.max(...t.sevenDays.map(e=>e.totalTokens),1);return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`div`,{className:K.summaryGrid,children:[(0,F.jsxs)(`div`,{className:K.summaryCard,children:[(0,F.jsx)(`span`,{className:K.summaryLabel,children:e(`analytics.today`)}),(0,F.jsx)(`span`,{className:K.summaryValue,children:q(t.today.totalTokens)}),(0,F.jsx)(`span`,{className:K.summarySub,children:e(`analytics.requests`,{count:t.today.requests})})]}),(0,F.jsxs)(`div`,{className:K.summaryCard,children:[(0,F.jsx)(`span`,{className:K.summaryLabel,children:e(`analytics.allTime`)}),(0,F.jsx)(`span`,{className:K.summaryValue,children:q(t.allTime.totalTokens)}),(0,F.jsx)(`span`,{className:K.summarySub,children:e(`analytics.requests`,{count:t.allTime.requests})})]})]}),(0,F.jsxs)(`div`,{className:K.card,children:[(0,F.jsx)(`h3`,{className:K.cardTitle,children:e(`analytics.sevenDayUsage`)}),(0,F.jsx)(`div`,{className:K.chart,children:t.sevenDays.map(t=>(0,F.jsxs)(`div`,{className:K.chartBar,children:[(0,F.jsx)(`div`,{className:K.chartFill,style:{height:`${Math.max(2,t.totalTokens/r*100)}%`},title:`${t.date}: ${e(`analytics.tokens`,{count:q(t.totalTokens)})}`}),(0,F.jsx)(`span`,{className:K.chartLabel,children:t.label})]},t.date))})]}),t.topModels.length>0&&(0,F.jsxs)(`div`,{className:K.card,children:[(0,F.jsx)(`h3`,{className:K.cardTitle,children:e(`analytics.topModels`)}),(0,F.jsx)(`div`,{className:K.topList,children:t.topModels.map(t=>(0,F.jsxs)(`div`,{className:K.topRow,children:[(0,F.jsx)(`span`,{className:K.topKey,children:t.key}),(0,F.jsx)(`span`,{className:K.topVal,children:e(`analytics.tokens`,{count:q(t.total)})}),(0,F.jsx)(`span`,{className:K.topReq,children:e(`analytics.requestsShort`,{count:t.requests})})]},t.key))})]}),t.topProviders.length>0&&(0,F.jsxs)(`div`,{className:K.card,children:[(0,F.jsx)(`h3`,{className:K.cardTitle,children:e(`analytics.topProviders`)}),(0,F.jsx)(`div`,{className:K.topList,children:t.topProviders.map(t=>(0,F.jsxs)(`div`,{className:K.topRow,children:[(0,F.jsx)(`span`,{className:K.topKey,children:t.key}),(0,F.jsx)(`span`,{className:K.topVal,children:e(`analytics.tokens`,{count:q(t.total)})}),(0,F.jsx)(`span`,{className:K.topReq,children:e(`analytics.requestsShort`,{count:t.requests})})]},t.key))})]})]})}var J={page:`_page_1n8f8_1`,pageHeader:`_pageHeader_1n8f8_5`,pageTitle:`_pageTitle_1n8f8_9`,pageSubtitle:`_pageSubtitle_1n8f8_15`,grid:`_grid_1n8f8_21`,card:`_card_1n8f8_27`,cardWide:`_cardWide_1n8f8_36`,cardTitle:`_cardTitle_1n8f8_40`,cardBody:`_cardBody_1n8f8_46`,empty:`_empty_1n8f8_49`,healthItem:`_healthItem_1n8f8_55`,healthName:`_healthName_1n8f8_67`,healthBar:`_healthBar_1n8f8_74`,healthFill:`_healthFill_1n8f8_82`,healthPct:`_healthPct_1n8f8_89`,pctFast:`_pctFast_1n8f8_97`,pctMedium:`_pctMedium_1n8f8_98`,pctSlow:`_pctSlow_1n8f8_99`,leaderItem:`_leaderItem_1n8f8_105`,leaderRank:`_leaderRank_1n8f8_117`,rank1:`_rank1_1n8f8_131`,rank2:`_rank2_1n8f8_132`,rank3:`_rank3_1n8f8_133`,leaderName:`_leaderName_1n8f8_135`,leaderLatency:`_leaderLatency_1n8f8_145`,tierItem:`_tierItem_1n8f8_153`,tierBadge:`_tierBadge_1n8f8_160`,tierBar:`_tierBar_1n8f8_165`,tierFill:`_tierFill_1n8f8_173`,tierCount:`_tierCount_1n8f8_179`};function rd(e,t){return typeof window>`u`||!window.document?.documentElement?t:getComputedStyle(document.documentElement).getPropertyValue(e).trim()||t}var id={"S+":`--tier-splus`,S:`--tier-s`,"A+":`--tier-aplus`,A:`--tier-a`,"A-":`--tier-aminus`,"B+":`--tier-bplus`,B:`--tier-b`,C:`--tier-c`},ad={"S+":`#ffd700`,S:`#ff8c00`,"A+":`#00c8ff`,A:`#3ddc84`,"A-":`#7ecf7e`,"B+":`#a8a8c8`,B:`#808098`,C:`#606078`};function od(e){return rd(id[e],ad[e])}var sd=[`S+`,`S`,`A+`,`A`,`A-`,`B+`,`B`,`C`];function cd({models:e}){let{t}=pi(),n=(0,v.useMemo)(()=>{let t={};return e.forEach(e=>{t[e.origin]||(t[e.origin]={total:0,online:0,key:e.providerKey}),t[e.origin].total++,e.status===`up`&&t[e.origin].online++}),Object.entries(t).sort((e,t)=>t[1].online/t[1].total-e[1].online/e[1].total)},[e]),r=(0,v.useMemo)(()=>[...e.filter(e=>e.status===`up`&&e.avg!==1/0&&e.avg<99e3)].sort((e,t)=>e.avg-t.avg).slice(0,10),[e]),i=(0,v.useMemo)(()=>{let t={};e.forEach(e=>{t[e.tier]=(t[e.tier]||0)+1});let n=Math.max(...Object.values(t),1);return sd.map(e=>({tier:e,count:t[e]||0,pct:(t[e]||0)/n*100}))},[e]);return(0,F.jsxs)(`div`,{className:J.page,children:[(0,F.jsxs)(`div`,{className:J.pageHeader,children:[(0,F.jsxs)(`h1`,{className:J.pageTitle,children:[(0,F.jsx)(In,{size:24,stroke:1.5,style:{marginRight:8,verticalAlign:`middle`}}),t(`analytics.title`)]}),(0,F.jsx)(`p`,{className:J.pageSubtitle,children:t(`analytics.subtitle`)})]}),(0,F.jsxs)(`div`,{className:J.grid,children:[(0,F.jsxs)(`div`,{className:`${J.card} ${J.cardWide}`,children:[(0,F.jsx)(`h3`,{className:J.cardTitle,children:t(`analytics.providerHealth`)}),(0,F.jsx)(`div`,{className:J.cardBody,children:n.length===0?(0,F.jsx)(`div`,{className:J.empty,children:t(`analytics.waiting`)}):n.map(([e,t])=>{let n=t.total>0?Math.round(t.online/t.total*100):0,r=n>70?J.pctFast:n>30?J.pctMedium:J.pctSlow;return(0,F.jsxs)(`div`,{className:J.healthItem,children:[(0,F.jsx)(`span`,{className:J.healthName,children:e}),(0,F.jsx)(`div`,{className:J.healthBar,children:(0,F.jsx)(`div`,{className:J.healthFill,style:{width:`${n}%`}})}),(0,F.jsxs)(`span`,{className:`${J.healthPct} ${r}`,children:[n,`%`]})]},e)})})]}),(0,F.jsxs)(`div`,{className:J.card,children:[(0,F.jsxs)(`h3`,{className:J.cardTitle,style:{display:`flex`,alignItems:`center`,gap:6},children:[(0,F.jsx)(Wr,{size:16,stroke:1.5}),t(`analytics.fastestModels`)]}),(0,F.jsx)(`div`,{className:J.cardBody,children:r.length===0?(0,F.jsx)(`div`,{className:J.empty,children:t(`analytics.waitingPings`)}):r.map((e,t)=>{let n=t<3?J[`rank${t+1}`]:``;return(0,F.jsxs)(`div`,{className:J.leaderItem,children:[(0,F.jsx)(`div`,{className:`${J.leaderRank} ${n}`,children:t+1}),(0,F.jsx)(`span`,{className:J.leaderName,children:e.label}),(0,F.jsxs)(`span`,{className:J.leaderLatency,children:[e.avg,`ms`]})]},e.modelId)})})]}),(0,F.jsxs)(`div`,{className:J.card,children:[(0,F.jsx)(`h3`,{className:J.cardTitle,children:t(`analytics.tierDistribution`)}),(0,F.jsx)(`div`,{className:J.cardBody,children:i.map(({tier:e,count:t,pct:n})=>(0,F.jsxs)(`div`,{className:J.tierItem,children:[(0,F.jsx)(`div`,{className:J.tierBadge,children:(0,F.jsx)(Ll,{tier:e})}),(0,F.jsx)(`div`,{className:J.tierBar,children:(0,F.jsx)(`div`,{className:J.tierFill,style:{width:`${n}%`,background:od(e)}})}),(0,F.jsx)(`span`,{className:J.tierCount,children:t})]},e))})]})]}),(0,F.jsx)(nd,{})]})}var ld={nvidia:{name:`NVIDIA NIM`,url:`https://integrate.api.nvidia.com/v1/chat/completions`,quota:`Free · 1000 req/month`,quotaCode:`free`,models:[[`moonshotai/kimi-k3`,`Kimi K3`,`S+`,`76.8%`,`1M`],[`z-ai/glm-5.3-flash`,`GLM-5.3-Flash`,`S+`,`-`,`1M`],[`z-ai/glm-5.3`,`GLM 5.3`,`S+`,`-`,`1M`],[`nvidia/nemotron-3-ultra-550b-a55b`,`Nemotron 3 Ultra`,`S+`,`71.9%`,`1M`],[`poolside/laguna-xs-2.1`,`Laguna XS 2.1`,`S+`,`70.9%`,`262k`],[`meta/muse-glimmer-30b`,`Muse Glimmer 30B`,`B+`,`-`,`131k`],[`nvidia/nemotron-3-super-120b-a12b`,`Nemotron 3 Super`,`S`,`60.5%`,`1M`],[`nvidia/nemotron-3-nano-omni-30b-a3b-reasoning`,`Nemotron 3 Omni`,`A+`,`52.0%`,`262k`],[`nvidia/nemotron-3.5-lightning-30b-a3b`,`Nemotron 3.5 Lightning 30B`,`A+`,`52.8%`,`1M`],[`deepseek-ai/deepseek-v4.1-flash`,`DeepSeek V4.1 Flash`,`S+`,`-`,`1M`],[`openai/gpt-oss-20b`,`GPT OSS 20B`,`A+`,`50.3%`,`131k`],[`google/gemma-4-31b-it`,`Gemma 4 31B`,`A+`,`52.0%`,`262k`],[`google/diffusiongemma-26b-a4b-it`,`DiffusionGemma 26B`,`B+`,`-`,`262k`]]},groq:{name:`Groq`,url:`https://api.groq.com/openai/v1/chat/completions`,quota:`Free · ~30-50 RPM per model`,quotaCode:`free`,models:[[`openai/gpt-oss-120b`,`GPT OSS 120B`,`S`,`62.4%`,`131k`],[`openai/gpt-oss-20b`,`GPT OSS 20B`,`A+`,`60.7%`,`131k`],[`qwen/qwen3.8-27b`,`Qwen3.8 27B`,`A+`,`-`,`131k`]]},cerebras:{name:`Cerebras`,url:`https://api.cerebras.ai/v1/chat/completions`,quota:`Free · generous dev tier`,quotaCode:`free`,models:[[`gpt-oss-120b`,`GPT OSS 120B`,`S`,`62.4%`,`65k`],[`qwen-3.8-27b`,`Qwen 3.8 27B`,`A+`,`-`,`64k`]]},googleai:{name:`Google AI`,url:`https://generativelanguage.googleapis.com/v1beta/openai/chat/completions`,quota:`Free · Gemini quotas vary by model`,quotaCode:`free`,models:[[`gemini-3.8-flash`,`Gemini 3.8 Flash`,`S+`,`-`,`1M`],[`gemini-3.7-flash`,`Gemini 3.7 Flash`,`S+`,`-`,`1M`],[`gemini-3.6-flash`,`Gemini 3.6 Flash`,`S+`,`-`,`1M`],[`gemini-3.5-flash`,`Gemini 3.5 Flash`,`S+`,`78.0%`,`1M`],[`gemini-3.5-flash-lite`,`Gemini 3.5 Flash Lite`,`S`,`-`,`1M`],[`gemini-3.1-flash-lite`,`Gemini 3.1 Flash Lite`,`S`,`62.8%`,`1M`],[`gemini-2.5-flash`,`Gemini 2.5 Flash`,`A+`,`54.0%`,`1M`],[`gemini-2.5-flash-lite`,`Gemini 2.5 Flash Lite`,`A`,`42.6%`,`1M`],[`gemini-3-flash-preview`,`Gemini 3 Flash Preview`,`S+`,`78.0%`,`1M`],[`gemini-2.5-pro`,`Gemini 2.5 Pro`,`S`,`63.8%`,`1M`]]},mistral:{name:`Mistral LP`,url:`https://api.mistral.ai/v1/chat/completions`,quota:`Free Experiment plan`,quotaCode:`free`,models:[[`mistral-medium-3-5`,`Mistral Medium 3.5`,`S+`,`77.6%`,`256k`],[`mistral-small-2603`,`Mistral Small 4`,`A`,`48.0%`,`256k`],[`ministral-14b-2512`,`Ministral 3 14B`,`B+`,`-`,`256k`],[`ministral-8b-2512`,`Ministral 3 8B`,`B`,`-`,`256k`],[`labs-leanstral-1-5-1`,`Leanstral 1.5.1`,`B`,`-`,`256k`],[`ministral-3b-2512`,`Ministral 3 3B`,`B`,`-`,`131k`],[`mistral-code-latest`,`Mistral Code`,`A`,`-`,`256k`],[`mistral-code-fim-latest`,`Mistral Code FIM`,`A`,`-`,`256k`],[`mistral-vibe-cli-latest`,`Mistral Vibe CLI`,`A`,`-`,`256k`]]},cloudflare:{name:`Cloudflare AI`,url:`https://api.cloudflare.com/client/v4/accounts/{$CLOUDFLARE_ACCOUNT_ID}/ai/v1/chat/completions`,quota:`Free · 10k neurons/day`,quotaCode:`limited`,models:[[`@cf/zai-org/glm-4.7-flash`,`GLM-4.7-Flash`,`A+`,`59.2%`,`131k`],[`@cf/openai/gpt-oss-120b`,`GPT OSS 120B`,`S`,`62.0%`,`128k`],[`@cf/nvidia/nemotron-3-120b-a12b`,`Nemotron 3 Super`,`S`,`60.5%`,`256k`],[`@cf/qwen/qwen3-30b-a3b-fp8`,`Qwen3 30B MoE`,`B`,`25.2%`,`32k`],[`@cf/qwen/qwen2.5-coder-32b-instruct`,`Qwen2.5 Coder 32B`,`A`,`45.7%`,`32k`],[`@cf/openai/gpt-oss-20b`,`GPT OSS 20B`,`A+`,`50.3%`,`128k`],[`@cf/meta/llama-3.3-70b-instruct-fp8-fast`,`Llama 3.3 70B`,`B`,`22.0%`,`24k`],[`@cf/google/gemma-4-26b-a4b-it`,`Gemma 4 26B MoE`,`A-`,`38.0%`,`256k`],[`@cf/qwen/qwen3.8-27b`,`Qwen3.8 27B`,`A-`,`-`,`262k`],[`@cf/mistralai/mistral-small-3.1-24b-instruct`,`Mistral Small 3.1`,`B+`,`30.0%`,`128k`],[`@cf/ibm-granite/granite-4.0-h-micro`,`Granite 4.0 Micro`,`B+`,`30.0%`,`131k`],[`@cf/aisingapore/gemma-sea-lion-v4-27b-it`,`Gemma SEA-LION V4 27B`,`B+`,`-`,`128k`]]},openrouter:{name:`OpenRouter`,url:`https://openrouter.ai/api/v1/chat/completions`,quota:`50 free req/day · 1000 with $10 credit`,quotaCode:`limited`,models:[[`nvidia/nemotron-3-ultra-550b-a55b:free`,`Nemotron 3 Ultra`,`S+`,`71.9%`,`1M`],[`poolside/laguna-xs-2.1:free`,`Poolside Laguna XS 2.1`,`S+`,`70.9%`,`262k`],[`poolside/laguna-s-2.1:free`,`Poolside Laguna S 2.1`,`S+`,`-`,`262k`],[`cohere/north-mini-code:free`,`North Mini Code`,`S`,`-`,`256k`],[`nvidia/nemotron-3-super-120b-a12b:free`,`Nemotron 3 Super`,`S`,`60.5%`,`262k`],[`inclusionai/ling-3.1-flash`,`Ling 3.1 Flash`,`S`,`-`,`262k`],[`nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free`,`Nemotron 3 Omni`,`A+`,`52.0%`,`256k`],[`google/gemma-4-31b-it:free`,`Gemma 4 31B`,`A+`,`52.0%`,`262k`],[`google/gemma-4-26b-a4b-it:free`,`Gemma 4 26B MoE`,`A`,`38.0%`,`262k`],[`liquid/lfm-2.5-2.6b:free`,`LiquidAI LFM2.5-2.6B`,`C`,`-`,`64k`],[`nvidia/nemotron-3.5-lightning:free`,`NVIDIA Nemotron 3.5 Lightning`,`B+`,`-`,`1M`],[`thinkingmachines/inkling:free`,`Inkling`,`B+`,`-`,`1M`],[`apodex/apodex-1.1-mini:free`,`Apodex 1.1 Mini`,`B+`,`-`,`262k`],[`openrouter/free`,`Free Models Router`,`A`,`-`,`200k`],[`thinkingmachines/inkling-small:free`,`Inkling Small`,`B`,`-`,`1M`],[`dots-studio/dots-3-note-preview:free`,`Dots 3 Note Preview`,`B`,`-`,`512k`]]},sambanova:{name:`SambaNova`,url:`https://api.sambanova.ai/v1/chat/completions`,quota:`Small dev tier · light use`,quotaCode:`limited`,models:[[`DeepSeek-V3.1`,`DeepSeek V3.1`,`S`,`66.0%`,`131k`],[`DeepSeek-V3.2`,`DeepSeek V3.2`,`S+`,`70.0%`,`32k`],[`gpt-oss-120b`,`GPT OSS 120B`,`S`,`62.4%`,`131k`],[`gemma-4-31B-it`,`Gemma 4 31B`,`A+`,`52.0%`,`131k`],[`Meta-Llama-3.3-70B-Instruct`,`Llama 3.3 70B`,`B`,`22.0%`,`131k`]]},ovhcloud:{name:`OVHcloud AI`,url:`https://oai.endpoints.kepler.ai.cloud.ovh.net/v1/chat/completions`,quota:`Free sandbox · 2 RPM no key · 400 RPM with key`,quotaCode:`free`,models:[[`Qwen3.5-397B-A17B`,`Qwen3.5 397B MoE`,`S+`,`76.4%`,`262k`],[`Qwen3.6-27B`,`Qwen3.6 27B`,`S+`,`77.2%`,`262k`],[`gpt-oss-120b`,`GPT OSS 120B`,`S`,`62.4%`,`131k`],[`gpt-oss-20b`,`GPT OSS 20B`,`A+`,`50.3%`,`131k`],[`Meta-Llama-3_3-70B-Instruct`,`Llama 3.3 70B`,`B`,`22.0%`,`131k`],[`Mistral-Small-3.2-24B-Instruct-2506`,`Mistral Small 3.2 24B`,`B+`,`20.0%`,`131k`],[`Qwen3.5-9B`,`Qwen3.5 9B`,`B+`,`30.0%`,`262k`],[`Qwen2.5-VL-72B-Instruct`,`Qwen2.5-VL 72B`,`S`,`-`,`32k`],[`Qwen3-Embedding-8B`,`Qwen3 Embedding 8B`,`B`,`-`,`32k`],[`bge-m3`,`BGE M3`,`B`,`-`,`8k`],[`bge-multilingual-gemma2`,`BGE Multilingual Gemma2`,`B`,`-`,`8k`],[`Qwen3Guard-Gen-8B`,`Qwen3Guard Gen 8B (moderation, beta)`,`C`,`-`,`32k`],[`Qwen3Guard-Gen-0.6B`,`Qwen3Guard Gen 0.6B (moderation, beta)`,`C`,`-`,`32k`],[`Qwen3.8-27B`,`Qwen3.8 27B`,`A+`,`-`,`262k`]]},codestral:{name:`Codestral`,url:`https://api.mistral.ai/v1/chat/completions`,quota:`Free · 30 req/min, 2000/day`,quotaCode:`free`,models:[[`codestral-2508`,`Codestral`,`A`,`40.0%`,`256k`]]},zai:{name:`ZAI`,url:`https://api.z.ai/api/coding/paas/v4/chat/completions`,quota:`Free · Flash models only`,quotaCode:`free`,models:[[`zai/glm-5.3-flash`,`GLM-5.3-Flash`,`S+`,`-`,`1M`]]},scaleway:{name:`Scaleway`,url:`https://api.scaleway.ai/v1/chat/completions`,quota:`1M free tokens`,quotaCode:`limited`,models:[[`glm-5.2`,`GLM 5.2`,`S+`,`82.8%`,`256k`],[`deepseek-v4-flash-0731`,`DeepSeek V4 Flash`,`S+`,`-`,`256k`],[`qwen3.5-397b-a17b`,`Qwen3.5 400B VLM`,`S+`,`76.2%`,`250k`],[`gpt-oss-120b`,`GPT OSS 120B`,`S`,`62.4%`,`128k`],[`mistral-medium-3.5-128b`,`Mistral Medium 3.5 128B`,`S+`,`77.6%`,`180k`],[`qwen3.6-35b-a3b`,`Qwen3.6 35B MoE`,`S+`,`73.4%`,`256k`],[`gemma-4-26b-a4b-it`,`Gemma 4 26B MoE`,`A+`,`-`,`256k`],[`qwen3-235b-a22b-instruct-2507`,`Qwen3 235B`,`A`,`45.2%`,`250k`],[`qwen3.8-27b`,`Qwen3.8 27B`,`A+`,`-`,`256k`],[`llama-3.3-70b-instruct`,`Llama 3.3 70B`,`B`,`22.0%`,`100k`],[`mistral-small-3.2-24b-instruct-2506`,`Mistral Small 3.2`,`B`,`20.0%`,`128k`]]},qwen:{name:`Alibaba DashScope`,url:`https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions`,quota:`1M tokens/model · 90 days (Singapore)`,quotaCode:`limited`,models:[[`qwen3.7-max`,`Qwen3.7 Max`,`S+`,`80.4%`,`1M`],[`qwen3.6-plus`,`Qwen3.6 Plus`,`S+`,`78.8%`,`1M`],[`qwen3.7-plus`,`Qwen3.7 Plus`,`S+`,`-`,`1M`],[`qwen3.8-max`,`Qwen3.8 Max`,`S+`,`-`,`1M`],[`qwen3.8-2.4t-a95b`,`Qwen3.8 2.4T A95B`,`S+`,`-`,`1M`],[`qwen3.8-max-0902`,`Qwen3.8 Max 0902`,`S+`,`-`,`1M`],[`qwen3.5-plus`,`Qwen3.5 Plus`,`S+`,`80.0%`,`1M`],[`qwen3.8-27b`,`Qwen3.8 27B`,`S`,`-`,`1M`],[`qwen3.7-flash`,`Qwen3.7 Flash`,`A+`,`-`,`1M`],[`qwen3.6-flash`,`Qwen3.6 Flash`,`A+`,`60.0%`,`1M`],[`qwen3.5-flash`,`Qwen3.5 Flash`,`S`,`64.4%`,`1M`],[`qwen3-coder-flash`,`Qwen3 Coder Flash`,`A+`,`55.0%`,`1M`],[`qwen3-vl-plus`,`Qwen3 VL Plus`,`A+`,`-`,`256k`],[`qwen3.5-397b-a17b`,`Qwen3.5 397B A17B`,`S+`,`76.2%`,`256k`],[`qwen3.5-122b-a10b`,`Qwen3.5 122B A10B`,`S+`,`72.0%`,`256k`],[`qwen3.5-35b-a3b`,`Qwen3.5 35B A3B`,`S`,`69.2%`,`256k`],[`qwen3.8-flash`,`Qwen3.8 Flash`,`A+`,`-`,`1M`],[`qwen3.5-27b`,`Qwen3.5 27B`,`S+`,`72.4%`,`256k`],[`qwen3.5-omni-plus`,`Qwen3.5 Omni Plus`,`B+`,`-`,`256k`],[`qwen3.8-omni-flash`,`Qwen3.8 Omni Flash`,`B+`,`-`,`1M`],[`qwen3.6-27b`,`Qwen3.6 27B`,`B+`,`-`,`256k`],[`qwen3.6-35b-a3b`,`Qwen3.6 35B A3B`,`B+`,`-`,`256k`]]},"opencode-zen":{name:`OpencodeZen`,url:`https://opencode.ai/zen/v1/chat/completions`,quota:`Free · Zen key required`,quotaCode:`free`,models:[[`big-pickle`,`Big Pickle`,`S+`,`72.0%`,`200k`],[`mimo-v2.6-flash-free`,`MiMo-V2.6 Flash Free`,`S+`,`-`,`200k`],[`step-5-preview-free`,`Step 5 Preview Free`,`A+`,`-`,`200k`],[`ling-3.1-flash-free`,`Ling 3.1 Flash Free`,`B+`,`-`,`262k`],[`nemotron-3-ultra-free`,`Nemotron 3 Ultra Free`,`S+`,`71.9%`,`1M`],[`nemotron-3.5-lightning-free`,`Nemotron 3.5 Lightning Free`,`S+`,`-`,`262k`],[`ling-3.0-flash-fin-free`,`Ling 3.0 Flash Fin Free`,`B+`,`-`,`262k`],[`muse-spark-1.3-contributor-free`,`Muse Spark 1.3 Contributor Free`,`S+`,`-`,`1M`],[`jev-1.13-free`,`Jev 1.13 Free`,`B+`,`-`,`200k`],[`space-bunny-free`,`Space Bunny Free`,`S+`,`-`,`1M`],[`longcat-2.5-preview-free`,`LongCat 2.5 Preview Free`,`A+`,`-`,`1M`]],zenOnly:!0},kilo:{name:`Kilo`,url:`https://api.kilo.ai/api/gateway/chat/completions`,quota:`Free · no key needed`,quotaCode:`free`,models:[[`kilo-auto/free`,`Kilo Auto Free`,`A+`,`-`,`256k`],[`thinkingmachines/inkling-small:free`,`Thinking Machines Inkling Small (free)`,`S+`,`80.2%`,`1M`],[`stepfun/step-5-preview-free`,`StepFun Step 5 Preview (free)`,`S`,`-`,`1M`],[`poolside/laguna-s-2.1:free`,`Poolside Laguna S 2.1 (free)`,`A+`,`-`,`262k`],[`nvidia/nemotron-3-ultra-550b-a55b:free`,`NVIDIA Nemotron 3 Ultra (free)`,`A+`,`-`,`1M`],[`cohere/north-mini-code:free`,`Cohere North Mini Code (free)`,`A-`,`-`,`256k`],[`nvidia/nemotron-3-super-120b-a12b:free`,`NVIDIA Nemotron 3 Super (free)`,`A-`,`-`,`262k`],[`poolside/laguna-xs-2.1:free`,`Poolside Laguna XS 2.1 (free)`,`B+`,`-`,`262k`],[`nvidia/nemotron-3.5-lightning:free`,`NVIDIA Nemotron 3.5 Lightning (free)`,`B+`,`-`,`1M`],[`dots-studio/dots-3-note-preview:free`,`Dots Studio Dots3-Note Preview (free)`,`B+`,`-`,`512k`],[`openrouter/free`,`OpenRouter Free Models Router`,`B`,`-`,`-`],[`liquid/lfm-2.5-2.6b:free`,`LFM2.5-2.6B (free)`,`C`,`-`,`64k`],[`inclusionai/ling-3.1-flash`,`Ling 3.1 Flash (free)`,`A-`,`-`,`262k`],[`nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free`,`NVIDIA Nemotron 3 Nano Omni (free)`,`A+`,`-`,`256k`],[`stealth/glyph-cluster`,`Glyph Cluster (stealth, free)`,`A+`,`-`,`256k`]],noKeyNeeded:!0},llm7:{name:`LLM7`,url:`https://api.llm7.io/v1/chat/completions`,quota:`Free · no key needed`,quotaCode:`limited`,models:[[`GLM-5.3-Flash`,`GLM 5.3 Flash`,`S+`,`-`,`400k`],[`DeepSeek-V4-Flash-0731`,`DeepSeek V4 Flash 0731`,`S+`,`79.0%`,`400k`],[`kimi-k2.7-code`,`Kimi K2.7 Code`,`A`,`-`,`256k`],[`kimi-k2.6`,`Kimi K2.6`,`A`,`-`,`262k`],[`mistral-Nemo-Instruct-2407`,`Mistral Nemo 12B Instruct`,`A-`,`-`,`128k`],[`gpt-oss:20b`,`GPT-OSS 20B`,`B+`,`-`,`128k`],[`nemotron-3-nano:30b`,`Nemotron 3 Nano 30B`,`B+`,`-`,`1M`],[`codestral-latest`,`Codestral Latest`,`A`,`40.0%`,`32k`]],noKeyNeeded:!0},routeway:{name:`Routeway`,url:`https://api.routeway.ai/v1/chat/completions`,quota:`Free :free models only`,quotaCode:`free`,models:[[`deepseek-v4-flash:free`,`DeepSeek V4 Flash`,`S+`,`79.0%`,`42k`],[`minimax-m2.7:free`,`MiniMax M2.7`,`S+`,`78.0%`,`42k`],[`muse-glimmer-30b:free`,`Muse Glimmer 30B`,`B+`,`-`,`131k`],[`gemma-4-26b-a4b-it-chimerax:free`,`Gemma 4 26B A4B ChimeraX`,`B+`,`-`,`62k`],[`gemma-4-26b-a4b-it-darksoul:free`,`Gemma 4 26B A4B Darksoul`,`B+`,`-`,`62k`],[`gemma-4-26b-a4b-it-luminous:free`,`Gemma 4 26B A4B Luminous`,`B+`,`-`,`62k`],[`gemma-4-26b-a4b-it-moonlight:free`,`Gemma 4 26B A4B Moonlight`,`B+`,`-`,`62k`],[`gemma-4-26b-a4b-it-musica:free`,`Gemma 4 26B A4B Musica`,`B+`,`-`,`62k`],[`gemma-4-26b-a4b-it-meromero:free`,`Gemma 4 26B A4B Meromero`,`B+`,`-`,`62k`]]},novita:{name:`Novita AI`,url:`https://api.novita.ai/openai/v1/chat/completions`,quota:`Free tier is back · 5 zero-price models · 2026-09-29`,quotaCode:`limited`,models:[[`zai-org/glm-5.3-flash`,`GLM 5.3 Flash`,`A`,`-`,`1M`],[`qwen/qwen3.8-flash`,`Qwen3.8 Flash`,`A-`,`-`,`1M`],[`inclusionai/ling-3.0-flash-sante`,`Ling 3.0 Flash Sante`,`B+`,`-`,`262k`],[`inclusionai/ling-3.1-flash`,`Ling 3.1 Flash`,`A`,`-`,`262k`],[`dev/glm46`,`GLM 4.6 (dev)`,`A`,`-`,`256k`],[`inclusionai/ling-3.0-flash`,`Ling 3.0 Flash`,`B+`,`-`,`262k`],[`zai-org/glm-4.7-flash`,`GLM 4.7 Flash`,`B+`,`-`,`200k`],[`minimax/minimax-m2.7`,`MiniMax M2.7`,`A-`,`-`,`200k`]]},pollinations:{name:`Pollinations AI`,url:`https://gen.pollinations.ai/v1/chat/completions`,quota:`Free · daily Pollen grants · key at enter.pollinations.ai`,quotaCode:`free`,models:[[`glm-5.3`,`Z.ai GLM-5.3`,`S+`,`-`,`1M`],[`kimi`,`Moonshot Kimi K2.6`,`S+`,`80.2%`,`262k`],[`minimax`,`MiniMax M3`,`S+`,`80.5%`,`524k`],[`moonshotai/kimi-k3`,`Moonshot Kimi K3`,`S+`,`76.8%`,`1M`],[`openai/gpt-5.5`,`OpenAI GPT-5.5`,`S+`,`-`,`1M`],[`openai/gpt-6-astra`,`OpenAI GPT-6 Astra`,`S+`,`-`,`1M`],[`z-ai/glm-5.3-flash`,`Z.ai GLM-5.3 Flash`,`S+`,`-`,`1M`],[`qwen-coder`,`Qwen3 Coder 30B`,`A+`,`51.6%`,`262k`],[`deepseek`,`DeepSeek V4 Flash`,`S+`,`79.0%`,`1M`],[`openai`,`OpenAI GPT-5.4 Nano`,`B+`,`-`,`400k`],[`openai/gpt-5.6-luna`,`OpenAI GPT-5.6 Luna`,`S`,`-`,`1M`],[`deepseek/deepseek-v4.1-flash`,`DeepSeek V4.1 Flash`,`A+`,`-`,`1M`],[`gpt-oss`,`GPT OSS 20B`,`A+`,`50.3%`,`131k`],[`openai/gpt-6-sol`,`OpenAI GPT-6 Sol`,`S+`,`-`,`1M`],[`openai/gpt-5.3-codex`,`OpenAI GPT-5.3 Codex`,`S+`,`-`,`400k`],[`openai/gpt-6-luna`,`OpenAI GPT-6 Luna`,`S`,`-`,`1M`],[`z-ai/glm-5.2`,`Z.ai GLM-5.2`,`S`,`-`,`1M`],[`openai/gpt-5.4-mini`,`OpenAI GPT-5.4 Mini`,`A+`,`-`,`400k`],[`x-ai/grok-4.20`,`xAI Grok 4.20`,`A+`,`-`,`262k`],[`amazon/nova-2-lite-v1`,`Amazon Nova 2 Lite`,`B+`,`-`,`1M`],[`openai/gpt-6.1-sol`,`OpenAI GPT-6.1 Sol`,`S+`,`-`,`1M`],[`x-ai/grok-4.7`,`xAI Grok 4.7`,`S`,`-`,`500k`],[`stepfun/step-5-preview`,`StepFun Step 5 Preview`,`A+`,`-`,`1M`],[`nemotron-3.5-lightning`,`Nemotron 3.5 Lightning`,`B+`,`-`,`262k`]]},siliconflow:{name:`SiliconFlow`,url:`https://api.siliconflow.cn/v1/chat/completions`,quota:`Free · 3 models @ $0 · 1000 RPM`,quotaCode:`free`,models:[[`XingChenAGI/Xing4.0-29B`,`Xing4.0 29B`,`A-`,`-`,`256k`]]},requesty:{name:`Requesty`,url:`https://router.requesty.ai/v1/chat/completions`,quota:`Free · 200 req/day · no card`,quotaCode:`free`,models:[[`nvidia/nemotron-3-ultra-550b-a55b`,`Nemotron 3 Ultra`,`S+`,`71.9%`,`1M`],[`poolside/laguna-xs.2`,`Laguna XS.2`,`S+`,`70.9%`,`32k`],[`nvidia/nemotron-3-super-120b-a12b`,`Nemotron 3 Super`,`S`,`60.5%`,`1M`],[`poolside/laguna-m.1`,`Laguna M.1`,`S`,`-`,`32k`],[`google/gemma-4-31b-it`,`Gemma 4 31B`,`A+`,`52.0%`,`262k`],[`nvidia/nemotron-3-nano-omni-30b-a3b-reasoning`,`Nemotron 3 Omni`,`A+`,`52.0%`,`131k`],[`nvidia/nemotron-3-nano-30b-a3b`,`Nemotron Nano 30B`,`A-`,`38.8%`,`262k`],[`nvidia/nemotron-3.5-lightning-30b-a3b`,`Nemotron 3.5 Lightning`,`B+`,`-`,`1M`],[`mistral/leanstral-1-5`,`Leanstral 1.5`,`B`,`-`,`262k`],[`novita/inclusionai/ling-3.0-tiny`,`Ling 3.0 Tiny`,`B`,`-`,`262k`],[`novita/inclusionai/ling-3.1-flash`,`Ling 3.1 Flash`,`B+`,`-`,`262k`],[`nvidia/muse-glimmer-30b`,`Muse Glimmer 30B`,`C`,`-`,`131k`]]},orcarouter:{name:`OrcaRouter`,url:`https://api.orcarouter.ai/v1/chat/completions`,quota:`Free · 5 $0 models + router · 10 rpm · 50 req/day`,quotaCode:`free`,models:[[`deepseek/deepseek-v4-flash-free`,`DeepSeek V4 Flash (Free)`,`S+`,`79.0%`,`1M`],[`tencent/hy3-free`,`Tencent Hy3 (Free)`,`S`,`-`,`256k`],[`orcarouter/free`,`OrcaRouter Free (difficulty-routed)`,`S`,`-`,`-`],[`z-ai/glm-5.3-flash-free`,`GLM-5.3 Flash (Free)`,`A+`,`-`,`1M`],[`tencent/hy4-preview-free`,`Tencent Hy4 Preview (Free)`,`S`,`-`,`1M`],[`orca/orcaverify-text1.0-free`,`OrcaVerify Text 1.0 (Free)`,`C`,`-`,`-`]]},"vercel-gateway":{name:`Vercel AI Gateway`,url:`https://ai-gateway.vercel.sh/v1/chat/completions`,quota:`Free · $5 credits/30 days + $0 models · no card`,quotaCode:`limited`,models:[[`poolside/laguna-s-2.1-free`,`Laguna S 2.1 (Free)`,`S+`,`-`,`256k`],[`inclusionai/ling-3.1-flash-free`,`Ling 3.1 Flash (Free)`,`B+`,`-`,`262k`],[`stealth/glyph-cluster`,`Glyph Cluster (stealth)`,`B`,`-`,`256k`]]},"ollama-cloud":{name:`Ollama Cloud`,url:`https://ollama.com/v1/chat/completions`,quota:`Free plan · session + weekly caps`,quotaCode:`free`,models:[[`nemotron-3-ultra`,`Nemotron 3 Ultra`,`S+`,`71.9%`,`256k`],[`glm-5.2`,`GLM 5.2`,`S+`,`82.8%`,`976k`],[`minimax-m2.7`,`MiniMax M2.7`,`S+`,`78.0%`,`200k`],[`minimax-m3`,`MiniMax M3`,`S+`,`78.4%`,`512k`],[`kimi-k2.6`,`Kimi K2.6`,`S+`,`80.2%`,`256k`],[`deepseek-v4-pro:0813`,`DeepSeek V4 Pro`,`S+`,`80.6%`,`1M`],[`glm-5.3`,`GLM 5.3`,`S+`,`-`,`1M`],[`deepseek-v4.1-flash`,`DeepSeek V4.1 Flash`,`S+`,`-`,`1M`],[`kimi-k2.7-code`,`Kimi K2.7 Code`,`S`,`60.4%`,`256k`],[`gpt-oss:120b`,`GPT OSS 120B`,`S`,`62.4%`,`128k`],[`nemotron-3-super`,`Nemotron 3 Super`,`S`,`60.5%`,`256k`],[`kimi-k3`,`Kimi K3`,`S+`,`76.8%`,`1M`],[`glm-5.3-flash`,`GLM 5.3 Flash`,`S`,`-`,`1M`],[`gemma4:31b`,`Gemma 4 31B`,`A+`,`52.0%`,`256k`],[`gpt-oss:20b`,`GPT OSS 20B`,`A+`,`50.3%`,`128k`],[`mistral-large-3:675b`,`Mistral Large 3 675B Cloud`,`A+`,`-`,`256k`],[`mistral-large-4`,`Mistral Large 4`,`A+`,`-`,`1M`],[`nemotron-3-nano:30b`,`Nemotron 3 Nano 30B`,`A-`,`38.8%`,`1M`]]},onomeo:{name:`onomeo`,url:`https://onomeo.com/v1/chat/completions`,quota:`Free models, no credits · 12 RPM · 60 req/5h`,quotaCode:`limited`,models:[[`deepseek-v4-flash`,`DeepSeek V4 Flash`,`S+`,`79.0%`,`1M`],[`glm-5.2`,`GLM 5.2`,`S+`,`82.8%`,`1M`],[`gemini-3.8-flash`,`Gemini 3.8 Flash`,`S+`,`-`,`1M`],[`gemini-3.7-flash`,`Gemini 3.7 Flash`,`S+`,`-`,`1M`],[`gemini-3.6-flash`,`Gemini 3.6 Flash`,`S+`,`-`,`1M`],[`gemini-3.5-flash`,`Gemini 3.5 Flash`,`S+`,`78.0%`,`1M`],[`gemini-3.1-flash-lite`,`Gemini 3.1 Flash Lite`,`S`,`62.8%`,`1M`],[`gpt-oss-20b`,`GPT OSS 20B`,`A+`,`50.3%`,`131k`],[`glm-5.3-flash`,`GLM-5.3 Flash`,`A+`,`-`,`1M`],[`glm-4.7-flash`,`GLM 4.7 Flash`,`A+`,`59.2%`,`200k`],[`gemini-3.5-flash-lite`,`Gemini 3.5 Flash Lite`,`S`,`-`,`1M`],[`codestral-latest`,`Codestral Latest`,`A`,`40.0%`,`256k`],[`glm-4.5-flash`,`GLM 4.5 Flash`,`A`,`-`,`131k`],[`glm-4.6v-flash`,`GLM 4.6V Flash`,`A`,`-`,`128k`],[`ministral-14b-latest`,`Ministral 3 14B`,`A`,`-`,`262k`],[`muse-glimmer-30b`,`Muse Glimmer 30B`,`A`,`-`,`131k`],[`minimax-m2.7`,`MiniMax M2.7`,`A+`,`-`,`205k`],[`stealth/space-bunny-alpha`,`Space Bunny Alpha`,`A`,`-`,`1M`],[`hy4-preview`,`Hunyuan 4 Preview`,`A-`,`-`,`1M`]]}},ud=[],dd=new Date().toISOString().split(`T`)[0];for(let[e,t]of Object.entries(ld))if(t&&t.models)for(let n of t.models){let[t,r,i,a,o,s,c]=n;c&&dd>c||ud.push([t,r,i,a,o,e,s||null])}var fd=10,pd=(e=0)=>t=>`\u001B[${t+e}m`,md=(e=0)=>t=>`\u001B[${38+e};5;${t}m`,hd=(e=0)=>(t,n,r)=>`\u001B[${38+e};2;${t};${n};${r}m`,gd={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(gd.modifier);var _d=Object.keys(gd.color),vd=Object.keys(gd.bgColor);[..._d,...vd];function yd(){let e=new Map;for(let[t,n]of Object.entries(gd)){for(let[t,r]of Object.entries(n))gd[t]={open:`\u001B[${r[0]}m`,close:`\u001B[${r[1]}m`},n[t]=gd[t],e.set(r[0],r[1]);Object.defineProperty(gd,t,{value:n,enumerable:!1})}return Object.defineProperty(gd,"codes",{value:e,enumerable:!1}),gd.color.close=`\x1B[39m`,gd.bgColor.close=`\x1B[49m`,gd.color.ansi=pd(),gd.color.ansi256=md(),gd.color.ansi16m=hd(),gd.bgColor.ansi=pd(fd),gd.bgColor.ansi256=md(fd),gd.bgColor.ansi16m=hd(fd),Object.defineProperties(gd,{rgbToAnsi256:{value(e,t,n){return e===t&&t===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(e){let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[n]=t;n.length===3&&(n=[...n].map(e=>e+e).join(``));let r=Number.parseInt(n,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:e=>gd.rgbToAnsi256(...gd.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,n,r;if(e>=232)t=((e-232)*10+8)/255,n=t,r=t;else{e-=16;let i=e%36;t=Math.floor(e/36)/5,n=Math.floor(i/6)/5,r=i%6/5}let i=Math.max(t,n,r)*2;if(i===0)return 30;let a=30+(Math.round(r)<<2|Math.round(n)<<1|Math.round(t));return i===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,t,n)=>gd.ansi256ToAnsi(gd.rgbToAnsi256(e,t,n)),enumerable:!1},hexToAnsi:{value:e=>gd.ansi256ToAnsi(gd.hexToAnsi256(e)),enumerable:!1}}),gd}var bd=yd(),xd=(()=>{if(!(`navigator`in globalThis))return 0;if(globalThis.navigator.userAgentData){let e=navigator.userAgentData.brands.find(({brand:e})=>e===`Chromium`);if(e&&e.version>93)return 3}return+!!/\b(Chrome|Chromium)\//.test(globalThis.navigator.userAgent)})(),Sd=xd!==0&&{level:xd,hasBasic:!0,has256:xd>=2,has16m:xd>=3},Cd={stdout:Sd,stderr:Sd};function wd(e,t,n){let r=e.indexOf(t);if(r===-1)return e;let i=t.length,a=0,o=``;do o+=e.slice(a,r)+t+n,a=r+i,r=e.indexOf(t,a);while(r!==-1);return o+=e.slice(a),o}function Td(e,t,n,r){let i=0,a=``;do{let o=e[r-1]===`\r`;a+=e.slice(i,o?r-1:r)+t+(o?`\r
37
+ `);await navigator.clipboard.writeText(i),n?.(`Copied to clipboard`,`success`),t()},children:[(0,F.jsx)(`span`,{className:Xu.optionIcon,children:(0,F.jsx)(er,{size:20,stroke:1.5})}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{className:Xu.optionLabel,children:`Copy to Clipboard`}),(0,F.jsx)(`span`,{className:Xu.optionDesc,children:`Copy model summary as text`})]})]})]})})]})}):null}var G={page:`_page_1847y_1`,pageHeader:`_pageHeader_1847y_5`,pageTitle:`_pageTitle_1847y_9`,pageSubtitle:`_pageSubtitle_1847y_15`,loading:`_loading_1847y_30`,featureSection:`_featureSection_1847y_37`,sectionHeading:`_sectionHeading_1847y_44`,featureGrid:`_featureGrid_1847y_52`,featureRow:`_featureRow_1847y_57`,featureLabel:`_featureLabel_1847y_67`,featureTitle:`_featureTitle_1847y_79`,featureDesc:`_featureDesc_1847y_85`,featureActions:`_featureActions_1847y_91`,select:`_select_1847y_96`,toggleSwitch:`_toggleSwitch_1847y_110`,toggleSlider:`_toggleSlider_1847y_122`,smallBtn:`_smallBtn_1847y_148`,notice:`_notice_1847y_166`,testBadge:`_testBadge_1847y_178`,test_ok:`_test_ok_1847y_191`,test_auth_error:`_test_auth_error_1847y_192`,test_rate_limited:`_test_rate_limited_1847y_193`,test_no_callable_model:`_test_no_callable_model_1847y_194`,test_fail:`_test_fail_1847y_195`,test_missing_key:`_test_missing_key_1847y_196`,test_pending:`_test_pending_1847y_197`,testSpinner:`_testSpinner_1847y_199`,spin:`_spin_1847y_1`,toolbar:`_toolbar_1847y_210`,toolbarSearch:`_toolbarSearch_1847y_218`,toolbarActions:`_toolbarActions_1847y_250`,toolbarBtn:`_toolbarBtn_1847y_255`,providers:`_providers_1847y_276`,card:`_card_1847y_282`,cardHeader:`_cardHeader_1847y_295`,cardIcon:`_cardIcon_1847y_308`,cardInfo:`_cardInfo_1847y_320`,cardName:`_cardName_1847y_325`,cardMeta:`_cardMeta_1847y_330`,cardStatus:`_cardStatus_1847y_336`,statusConfigured:`_statusConfigured_1847y_344`,statusMissing:`_statusMissing_1847y_349`,toggleIcon:`_toggleIcon_1847y_354`,toggleIconExpanded:`_toggleIconExpanded_1847y_361`,cardBody:`_cardBody_1847y_365`,cardExpanded:`_cardExpanded_1847y_372`,cardContent:`_cardContent_1847y_377`,keyGroup:`_keyGroup_1847y_381`,keyLabel:`_keyLabel_1847y_385`,keyDisplay:`_keyDisplay_1847y_395`,keyDisplayValue:`_keyDisplayValue_1847y_406`,keyDisplayActions:`_keyDisplayActions_1847y_414`,actionBtn:`_actionBtn_1847y_420`,actionBtnDanger:`_actionBtnDanger_1847y_438`,keyInputRow:`_keyInputRow_1847y_448`,keyInput:`_keyInput_1847y_448`,saveBtn:`_saveBtn_1847y_475`,enabledRow:`_enabledRow_1847y_495`,enabledLabel:`_enabledLabel_1847y_504`},Qu={ok:{labelKey:`settings.test.ok`,icon:Jr,className:`testOk`},auth_error:{labelKey:`settings.test.authError`,icon:br,className:`testErr`},rate_limited:{labelKey:`settings.test.rateLimited`,icon:Pr,className:`testWarn`},no_callable_model:{labelKey:`settings.test.noCallableModel`,icon:br,className:`testWarn`},fail:{labelKey:`settings.test.failed`,icon:br,className:`testErr`},missing_key:{labelKey:`settings.test.missingKey`,icon:br,className:`testNeutral`}};function $u({onToast:e,onOpenChangelog:t,onCheckForUpdate:n}){let{t:r,locale:i,locales:a,setLanguage:o}=pi(),[s,c]=(0,v.useState)(null),[l,u]=(0,v.useState)(``),[d,f]=(0,v.useState)(new Set),[p,m]=(0,v.useState)(new Set),[h,g]=(0,v.useState)({}),[_,y]=(0,v.useState)({}),[b,x]=(0,v.useState)(new Set),[S,C]=(0,v.useState)(null),w=(0,v.useCallback)(async()=>{try{let e=await(await fetch(`/api/config`)).json();c(e)}catch{e?.(r(`settings.loadFailed`),`error`)}},[e,r]);(0,v.useEffect)(()=>{w()},[w]);let T=e=>{f(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},ee=()=>{s&&f(new Set(Object.keys(s.providers)))},E=()=>f(new Set),te=e=>{m(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},D=async t=>{let n=h[t]?.trim();if(!n){e?.(r(`settings.enterApiKey`),`warning`);return}try{let i=await(await fetch(`/api/settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({apiKeys:{[t]:n}})})).json();i.success?(e?.(r(`settings.keySavedForProvider`,{provider:t}),`success`),g(e=>({...e,[t]:``})),m(e=>{let n=new Set(e);return n.delete(t),n}),await w(),f(e=>new Set(e).add(t))):e?.(i.error||r(`settings.keySaveFailed`),`error`)}catch{e?.(r(`settings.networkSaveFailed`),`error`)}},O=async t=>{if(confirm(r(`settings.confirmDeleteKey`,{provider:t})))try{let n=await(await fetch(`/api/settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({apiKeys:{[t]:``}})})).json();n.success?(e?.(r(`settings.keyRemovedForProvider`,{provider:t}),`info`),m(e=>{let n=new Set(e);return n.delete(t),n}),await w()):e?.(n.error||r(`settings.keyRemoveFailed`),`error`)}catch{e?.(r(`settings.networkDeleteFailed`),`error`)}},ne=async(t,n)=>{try{let i=await(await fetch(`/api/settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providers:{[t]:{enabled:n}}})})).json();i.success?e?.(r(n?`settings.providerEnabled`:`settings.providerDisabled`,{provider:t}),`success`):e?.(i.error||r(`settings.toggleFailed`),`error`)}catch{e?.(r(`settings.networkError`),`error`)}},re=(0,v.useCallback)(async t=>{if(!b.has(t)){x(e=>new Set(e).add(t)),y(e=>({...e,[t]:{outcome:`pending`}}));try{let n=await fetch(`/api/key/${encodeURIComponent(t)}/test`,{method:`POST`}),i=await n.json().catch(()=>({}));if(n.ok){y(e=>({...e,[t]:i}));let n=Qu[i.outcome]||Qu.fail;e?.(r(`settings.keyTestResult`,{provider:t,result:r(n.labelKey),code:i.code?` (HTTP ${i.code})`:``}),i.outcome===`ok`?`success`:`info`)}else y(e=>({...e,[t]:{outcome:`fail`,detail:i.error||`HTTP `+n.status}})),e?.(r(`settings.keyTestError`,{provider:t,error:i.error||n.statusText}),`error`)}catch(n){y(e=>({...e,[t]:{outcome:`fail`,detail:n.message}})),e?.(r(`settings.keyTestError`,{provider:t,error:n.message}),`error`)}finally{x(e=>{let n=new Set(e);return n.delete(t),n})}}},[b,e,r]),ie=(0,v.useCallback)(async(t,n)=>{try{let i=await(await fetch(`/api/settings/feature`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n===void 0?{feature:t}:{feature:t,value:n})})).json();i.success?(await w(),e?.(r(`settings.settingUpdated`),`success`)):e?.(i.error||r(`settings.featureUpdateFailed`),`error`)}catch{e?.(r(`settings.networkError`),`error`)}},[e,r]),ae=(0,v.useCallback)(async t=>{try{let n=await(await fetch(`/api/shell-env/toggle`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({enabled:t})})).json();n.success?(await w(),e?.(r(n.enabled?`settings.shellExportEnabled`:`settings.shellExportDisabled`),`success`)):e?.(n.error||r(`settings.shellToggleFailed`),`error`)}catch{e?.(r(`settings.networkError`),`error`)}},[e,r]),k=(0,v.useCallback)(async()=>{if(confirm(r(`settings.confirmLegacyCleanup`)))try{let t=await(await fetch(`/api/legacy-cleanup`,{method:`POST`})).json(),n=(t.removedFiles?.length||0)+(t.updatedFiles?.length||0);t.changed?(C(r(`settings.legacyCleanupComplete`,{count:n,errors:t.errors.length})),e?.(r(`settings.legacyCleanupToast`,{count:n}),`success`)):(C(r(`settings.legacyNone`)),e?.(r(`settings.legacyNone`),`info`)),await w()}catch(t){e?.(r(`settings.legacyCleanupFailed`,{error:t.message}),`error`)}},[e,r]),oe=(0,v.useCallback)(()=>{n?.()},[n]);if(!s)return(0,F.jsx)(`div`,{className:G.page,children:(0,F.jsx)(`div`,{className:G.loading,children:r(`settings.loading`)})});let se=Object.entries(s.providers).filter(([,e])=>{if(!l)return!0;let t=l.toLowerCase();return`${e.name} ${e.displayName||``} ${e.billingNote||``}`.toLowerCase().includes(t)}).sort((e,t)=>e[1].name.localeCompare(t[1].name));return(0,F.jsxs)(`div`,{className:G.page,children:[(0,F.jsxs)(`div`,{className:G.pageHeader,children:[(0,F.jsxs)(`h1`,{className:G.pageTitle,children:[(0,F.jsx)(Rr,{size:24,stroke:1.5,style:{marginRight:8,verticalAlign:`middle`}}),r(`settings.title`)]}),(0,F.jsxs)(`p`,{className:G.pageSubtitle,children:[r(`settings.subtitle`),` `,(0,F.jsx)(`code`,{children:`~/.free-coding-models.json`})]})]}),s&&(0,F.jsxs)(`section`,{className:G.featureSection,children:[(0,F.jsxs)(`h2`,{className:G.sectionHeading,children:[`⚙️ `,r(`settings.global`)]}),(0,F.jsxs)(`div`,{className:G.featureGrid,children:[(0,F.jsxs)(`div`,{className:G.featureRow,children:[(0,F.jsx)(`div`,{className:G.featureLabel,children:(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:G.featureTitle,children:r(`settings.language`)}),(0,F.jsx)(`div`,{className:G.featureDesc,children:r(`settings.language.description`)})]})}),(0,F.jsx)(`select`,{className:G.select,value:i,onChange:async t=>{await o(t.target.value)?c(e=>e&&{...e,settings:{...e.settings,language:t.target.value}}):e?.(r(`settings.languageSaveFailed`),`error`)},"aria-label":r(`settings.language`),children:a.map(e=>(0,F.jsx)(`option`,{value:e.value,children:r(e.labelKey)},e.value))})]}),(0,F.jsxs)(`div`,{className:G.featureRow,children:[(0,F.jsxs)(`div`,{className:G.featureLabel,children:[(0,F.jsx)(Vr,{size:16,stroke:1.5}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:G.featureTitle,children:r(`settings.theme`)}),(0,F.jsx)(`div`,{className:G.featureDesc,children:r(`settings.theme.description`)})]})]}),(0,F.jsxs)(`select`,{className:G.select,value:s.settings?.theme||`auto`,onChange:e=>ie(`theme`,e.target.value),children:[(0,F.jsx)(`option`,{value:`auto`,children:r(`settings.theme.auto`)}),(0,F.jsx)(`option`,{value:`dark`,children:r(`settings.theme.dark`)}),(0,F.jsx)(`option`,{value:`light`,children:r(`settings.theme.light`)})]})]}),(0,F.jsxs)(`div`,{className:G.featureRow,children:[(0,F.jsxs)(`div`,{className:G.featureLabel,children:[(0,F.jsx)(Br,{size:16,stroke:1.5}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:G.featureTitle,children:r(`settings.favoritesPinned`)}),(0,F.jsx)(`div`,{className:G.featureDesc,children:r(`settings.favoritesPinned.description`)})]})]}),(0,F.jsxs)(`label`,{className:G.toggleSwitch,children:[(0,F.jsx)(`input`,{type:`checkbox`,checked:!!s.settings?.favoritesPinnedAndSticky,onChange:e=>ie(`favoritesPinnedAndSticky`,e.target.checked)}),(0,F.jsx)(`span`,{className:G.toggleSlider})]})]}),(0,F.jsxs)(`div`,{className:G.featureRow,children:[(0,F.jsxs)(`div`,{className:G.featureLabel,children:[(0,F.jsx)(Wn,{size:16,stroke:1.5}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:G.featureTitle,children:r(`settings.startupSpeedTest`)}),(0,F.jsx)(`div`,{className:G.featureDesc,children:r(`settings.startupSpeedTest.description`)})]})]}),(0,F.jsxs)(`label`,{className:G.toggleSwitch,children:[(0,F.jsx)(`input`,{type:`checkbox`,checked:!!s.settings?.runAiSpeedTestOnStartup,onChange:e=>ie(`runAiSpeedTestOnStartup`,e.target.checked)}),(0,F.jsx)(`span`,{className:G.toggleSlider})]})]}),(0,F.jsxs)(`div`,{className:G.featureRow,children:[(0,F.jsxs)(`div`,{className:G.featureLabel,children:[(0,F.jsx)(Qn,{size:16,stroke:1.5}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:G.featureTitle,children:r(`settings.shellEnv`)}),(0,F.jsx)(`div`,{className:G.featureDesc,children:r(`settings.shellEnv.description`)})]})]}),(0,F.jsxs)(`label`,{className:G.toggleSwitch,children:[(0,F.jsx)(`input`,{type:`checkbox`,checked:!!s.settings?.shellEnvEnabled,onChange:e=>ae(e.target.checked)}),(0,F.jsx)(`span`,{className:G.toggleSlider})]})]}),(0,F.jsxs)(`div`,{className:G.featureRow,children:[(0,F.jsxs)(`div`,{className:G.featureLabel,children:[(0,F.jsx)(or,{size:16,stroke:1.5}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:G.featureTitle,children:r(`settings.checkUpdates`)}),(0,F.jsx)(`div`,{className:G.featureDesc,children:r(`settings.checkUpdates.description`)})]})]}),(0,F.jsxs)(`div`,{className:G.featureActions,children:[(0,F.jsx)(`button`,{className:G.smallBtn,onClick:oe,children:r(`settings.checkNow`)}),(0,F.jsxs)(`button`,{className:G.smallBtn,onClick:()=>t?.(null),children:[(0,F.jsx)(_r,{size:13,stroke:1.5}),` `,r(`nav.changelog`)]})]})]}),(0,F.jsxs)(`div`,{className:G.featureRow,children:[(0,F.jsxs)(`div`,{className:G.featureLabel,children:[(0,F.jsx)(Pr,{size:16,stroke:1.5}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:G.featureTitle,children:r(`settings.cleanupLegacy`)}),(0,F.jsx)(`div`,{className:G.featureDesc,children:r(`settings.cleanupLegacy.description`)})]})]}),(0,F.jsx)(`button`,{className:G.smallBtn,onClick:k,children:r(`settings.runCleanup`)})]})]}),S&&(0,F.jsx)(`div`,{className:G.notice,children:S})]}),(0,F.jsxs)(`div`,{className:G.toolbar,children:[(0,F.jsxs)(`div`,{className:G.toolbarSearch,children:[(0,F.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,children:[(0,F.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,F.jsx)(`line`,{x1:`21`,y1:`21`,x2:`16.65`,y2:`16.65`})]}),(0,F.jsx)(`input`,{type:`text`,placeholder:r(`settings.searchProviders`),value:l,onChange:e=>u(e.target.value),autoComplete:`off`})]}),(0,F.jsxs)(`div`,{className:G.toolbarActions,children:[(0,F.jsx)(`button`,{className:G.toolbarBtn,onClick:ee,children:r(`settings.expandAll`)}),(0,F.jsx)(`button`,{className:G.toolbarBtn,onClick:E,children:r(`settings.collapseAll`)})]})]}),(0,F.jsx)(`div`,{className:G.providers,children:se.map(([e,t])=>{let n=d.has(e),i=p.has(e);return(0,F.jsxs)(`div`,{className:`${G.card} ${n?G.cardExpanded:``}`,children:[(0,F.jsxs)(`div`,{className:G.cardHeader,onClick:()=>T(e),children:[(0,F.jsx)(`div`,{className:G.cardIcon,children:(0,F.jsx)(jr,{size:20,stroke:1.5})}),(0,F.jsxs)(`div`,{className:G.cardInfo,children:[(0,F.jsx)(`div`,{className:G.cardName,children:t.displayName||t.name}),(0,F.jsxs)(`div`,{className:G.cardMeta,children:[r(`settings.providersCount`,{count:t.modelCount}),` · `,e,t.billingNote?` · ${t.billingNote}`:``]})]}),(0,F.jsx)(`span`,{className:`${G.cardStatus} ${t.hasKey?G.statusConfigured:G.statusMissing}`,children:t.hasKey?(0,F.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:4},children:[(0,F.jsx)(Qn,{size:14,stroke:1.5}),` `,r(`dashboard.working`)]}):(0,F.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:4},children:[(0,F.jsx)(br,{size:14,stroke:1.5}),` `,r(`filters.health.noKey`)]})}),(0,F.jsx)(`span`,{className:`${G.toggleIcon} ${n?G.toggleIconExpanded:``}`,children:`▼`})]}),(0,F.jsx)(`div`,{className:G.cardBody,children:(0,F.jsxs)(`div`,{className:G.cardContent,children:[t.hasKey&&_[e]&&(0,F.jsx)(`div`,{className:`${G.testBadge} ${G[`test_${_[e].outcome}`]||``}`,children:(()=>{let t=Qu[_[e].outcome]||Qu.fail,n=t.icon;return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(n,{size:12,stroke:1.5}),(0,F.jsxs)(`span`,{children:[r(`settings.lastTest`),`: `,r(t.labelKey),_[e].code?` (HTTP ${_[e].code})`:``]})]})})()}),t.hasKey&&(0,F.jsxs)(`div`,{className:G.keyGroup,children:[(0,F.jsx)(`label`,{className:G.keyLabel,children:r(`settings.currentApiKey`)}),(0,F.jsxs)(`div`,{className:G.keyDisplay,children:[(0,F.jsx)(`span`,{className:G.keyDisplayValue,children:i?t.maskedKey||`••••••••`:Ut(t.maskedKey||``)}),(0,F.jsxs)(`div`,{className:G.keyDisplayActions,children:[(0,F.jsx)(`button`,{className:G.actionBtn,onClick:()=>te(e),title:r(i?`settings.hideKey`:`settings.revealKey`),"aria-label":r(i?`settings.hideKey`:`settings.revealKey`),children:i?(0,F.jsx)(lr,{size:14,stroke:1.5}):(0,F.jsx)(ur,{size:14,stroke:1.5})}),(0,F.jsxs)(`button`,{className:G.actionBtn,onClick:()=>re(e),disabled:b.has(e),title:r(`settings.testKeyHint`),"aria-label":r(`settings.testKeyForProvider`,{provider:e}),children:[b.has(e)?(0,F.jsx)(`span`,{className:G.testSpinner}):(0,F.jsx)(Wn,{size:14,stroke:1.5}),b.has(e)?r(`settings.testing`):r(`settings.testKey`)]}),(0,F.jsx)(`button`,{className:`${G.actionBtn} ${G.actionBtnDanger}`,onClick:()=>O(e),title:r(`settings.deleteKey`),"aria-label":r(`settings.deleteKey`),children:(0,F.jsx)(Ur,{size:14,stroke:1.5})})]})]})]}),(0,F.jsxs)(`div`,{className:G.keyGroup,children:[(0,F.jsxs)(`label`,{className:G.keyLabel,children:[t.hasKey?r(`settings.updateApiKey`):r(`settings.addApiKey`),t.billingNote?` 💰 ${t.billingNote}`:``]}),(0,F.jsxs)(`div`,{className:G.keyInputRow,children:[(0,F.jsx)(`input`,{type:`password`,className:G.keyInput,placeholder:r(`settings.apiKeyPlaceholder`),"aria-label":r(`settings.apiKeyForProvider`,{provider:e}),value:h[e]||``,onChange:t=>g(n=>({...n,[e]:t.target.value})),autoComplete:`off`}),(0,F.jsx)(`button`,{className:G.saveBtn,onClick:()=>D(e),children:t.hasKey?r(`common.update`):r(`common.save`)})]})]}),(0,F.jsxs)(`div`,{className:G.enabledRow,children:[(0,F.jsx)(`span`,{className:G.enabledLabel,children:r(`settings.providerEnabledLabel`)}),(0,F.jsxs)(`label`,{className:G.toggleSwitch,children:[(0,F.jsx)(`input`,{type:`checkbox`,defaultChecked:t.enabled!==!1,onChange:t=>ne(e,t.target.checked)}),(0,F.jsx)(`span`,{className:G.toggleSlider})]})]})]})})]},e)})})]})}function ed(){let[e,t]=(0,v.useState)(null),[n,r]=(0,v.useState)(!0),i=(0,v.useCallback)(async()=>{r(!0);try{let e=await(await fetch(`/api/router/tokens`)).json();t(td(e))}catch{t(null)}finally{r(!1)}},[]);return(0,v.useEffect)(()=>{i()},[i]),{data:e,loading:n,refresh:i}}function td(e){if(!e)return null;let t=e.daily||{},n=e.all_time||{},r=[],i=new Date;for(let e=6;e>=0;e--){let n=new Date(i);n.setDate(n.getDate()-e);let a=n.toISOString().slice(0,10),o=t[a]||{total_tokens:0,requests:0};r.push({date:a,label:n.toLocaleDateString(`en`,{weekday:`short`}),totalTokens:o.total_tokens||0,requests:o.requests||0})}let a={};for(let e of Object.values(t)){let t=e.by_model||{};for(let[e,n]of Object.entries(t))a[e]||(a[e]={total:0,requests:0}),a[e].total+=n.total||0,a[e].requests+=n.requests||0}let o=Object.entries(a).sort((e,t)=>t[1].total-e[1].total).slice(0,10).map(([e,t])=>({key:e,...t})),s={};for(let[e,t]of Object.entries(a)){let n=e.split(`/`)[0];s[n]||(s[n]={total:0,requests:0}),s[n].total+=t.total,s[n].requests+=t.requests}let c=Object.entries(s).sort((e,t)=>t[1].total-e[1].total).slice(0,10).map(([e,t])=>({key:e,...t})),l=t[i.toISOString().slice(0,10)]||{};return{today:{totalTokens:l.total_tokens||0,promptTokens:l.prompt_tokens||0,completionTokens:l.completion_tokens||0,requests:l.requests||0},allTime:{totalTokens:n.total_tokens||0,promptTokens:n.prompt_tokens||0,completionTokens:n.completion_tokens||0,requests:n.requests||0},sevenDays:r,topModels:o,topProviders:c,hasData:n.total_tokens>0||Object.keys(t).length>0}}var K={card:`_card_1m2zx_1`,cardTitle:`_cardTitle_1m2zx_5`,empty:`_empty_1m2zx_14`,summaryGrid:`_summaryGrid_1m2zx_22`,summaryCard:`_summaryCard_1m2zx_29`,summaryLabel:`_summaryLabel_1m2zx_39`,summaryValue:`_summaryValue_1m2zx_47`,summarySub:`_summarySub_1m2zx_53`,chart:`_chart_1m2zx_59`,chartBar:`_chartBar_1m2zx_67`,chartFill:`_chartFill_1m2zx_77`,chartLabel:`_chartLabel_1m2zx_85`,topList:`_topList_1m2zx_92`,topRow:`_topRow_1m2zx_98`,topKey:`_topKey_1m2zx_106`,topVal:`_topVal_1m2zx_115`,topReq:`_topReq_1m2zx_121`};function q(e){return typeof e!=`number`||!Number.isFinite(e)?`0`:e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(Math.round(e))}function nd(){let{t:e}=pi(),{data:t,loading:n}=ed();if(n)return(0,F.jsxs)(`div`,{className:K.card,children:[(0,F.jsx)(`h3`,{className:K.cardTitle,children:e(`analytics.tokenUsage`)}),(0,F.jsx)(`div`,{className:K.empty,children:e(`analytics.loading`)})]});if(!t||!t.hasData)return(0,F.jsxs)(`div`,{className:K.card,children:[(0,F.jsx)(`h3`,{className:K.cardTitle,children:e(`analytics.tokenUsage`)}),(0,F.jsx)(`div`,{className:K.empty,children:e(`analytics.noTokenData`)})]});let r=Math.max(...t.sevenDays.map(e=>e.totalTokens),1);return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`div`,{className:K.summaryGrid,children:[(0,F.jsxs)(`div`,{className:K.summaryCard,children:[(0,F.jsx)(`span`,{className:K.summaryLabel,children:e(`analytics.today`)}),(0,F.jsx)(`span`,{className:K.summaryValue,children:q(t.today.totalTokens)}),(0,F.jsx)(`span`,{className:K.summarySub,children:e(`analytics.requests`,{count:t.today.requests})})]}),(0,F.jsxs)(`div`,{className:K.summaryCard,children:[(0,F.jsx)(`span`,{className:K.summaryLabel,children:e(`analytics.allTime`)}),(0,F.jsx)(`span`,{className:K.summaryValue,children:q(t.allTime.totalTokens)}),(0,F.jsx)(`span`,{className:K.summarySub,children:e(`analytics.requests`,{count:t.allTime.requests})})]})]}),(0,F.jsxs)(`div`,{className:K.card,children:[(0,F.jsx)(`h3`,{className:K.cardTitle,children:e(`analytics.sevenDayUsage`)}),(0,F.jsx)(`div`,{className:K.chart,children:t.sevenDays.map(t=>(0,F.jsxs)(`div`,{className:K.chartBar,children:[(0,F.jsx)(`div`,{className:K.chartFill,style:{height:`${Math.max(2,t.totalTokens/r*100)}%`},title:`${t.date}: ${e(`analytics.tokens`,{count:q(t.totalTokens)})}`}),(0,F.jsx)(`span`,{className:K.chartLabel,children:t.label})]},t.date))})]}),t.topModels.length>0&&(0,F.jsxs)(`div`,{className:K.card,children:[(0,F.jsx)(`h3`,{className:K.cardTitle,children:e(`analytics.topModels`)}),(0,F.jsx)(`div`,{className:K.topList,children:t.topModels.map(t=>(0,F.jsxs)(`div`,{className:K.topRow,children:[(0,F.jsx)(`span`,{className:K.topKey,children:t.key}),(0,F.jsx)(`span`,{className:K.topVal,children:e(`analytics.tokens`,{count:q(t.total)})}),(0,F.jsx)(`span`,{className:K.topReq,children:e(`analytics.requestsShort`,{count:t.requests})})]},t.key))})]}),t.topProviders.length>0&&(0,F.jsxs)(`div`,{className:K.card,children:[(0,F.jsx)(`h3`,{className:K.cardTitle,children:e(`analytics.topProviders`)}),(0,F.jsx)(`div`,{className:K.topList,children:t.topProviders.map(t=>(0,F.jsxs)(`div`,{className:K.topRow,children:[(0,F.jsx)(`span`,{className:K.topKey,children:t.key}),(0,F.jsx)(`span`,{className:K.topVal,children:e(`analytics.tokens`,{count:q(t.total)})}),(0,F.jsx)(`span`,{className:K.topReq,children:e(`analytics.requestsShort`,{count:t.requests})})]},t.key))})]})]})}var J={page:`_page_1n8f8_1`,pageHeader:`_pageHeader_1n8f8_5`,pageTitle:`_pageTitle_1n8f8_9`,pageSubtitle:`_pageSubtitle_1n8f8_15`,grid:`_grid_1n8f8_21`,card:`_card_1n8f8_27`,cardWide:`_cardWide_1n8f8_36`,cardTitle:`_cardTitle_1n8f8_40`,cardBody:`_cardBody_1n8f8_46`,empty:`_empty_1n8f8_49`,healthItem:`_healthItem_1n8f8_55`,healthName:`_healthName_1n8f8_67`,healthBar:`_healthBar_1n8f8_74`,healthFill:`_healthFill_1n8f8_82`,healthPct:`_healthPct_1n8f8_89`,pctFast:`_pctFast_1n8f8_97`,pctMedium:`_pctMedium_1n8f8_98`,pctSlow:`_pctSlow_1n8f8_99`,leaderItem:`_leaderItem_1n8f8_105`,leaderRank:`_leaderRank_1n8f8_117`,rank1:`_rank1_1n8f8_131`,rank2:`_rank2_1n8f8_132`,rank3:`_rank3_1n8f8_133`,leaderName:`_leaderName_1n8f8_135`,leaderLatency:`_leaderLatency_1n8f8_145`,tierItem:`_tierItem_1n8f8_153`,tierBadge:`_tierBadge_1n8f8_160`,tierBar:`_tierBar_1n8f8_165`,tierFill:`_tierFill_1n8f8_173`,tierCount:`_tierCount_1n8f8_179`};function rd(e,t){return typeof window>`u`||!window.document?.documentElement?t:getComputedStyle(document.documentElement).getPropertyValue(e).trim()||t}var id={"S+":`--tier-splus`,S:`--tier-s`,"A+":`--tier-aplus`,A:`--tier-a`,"A-":`--tier-aminus`,"B+":`--tier-bplus`,B:`--tier-b`,C:`--tier-c`},ad={"S+":`#ffd700`,S:`#ff8c00`,"A+":`#00c8ff`,A:`#3ddc84`,"A-":`#7ecf7e`,"B+":`#a8a8c8`,B:`#808098`,C:`#606078`};function od(e){return rd(id[e],ad[e])}var sd=[`S+`,`S`,`A+`,`A`,`A-`,`B+`,`B`,`C`];function cd({models:e}){let{t}=pi(),n=(0,v.useMemo)(()=>{let t={};return e.forEach(e=>{t[e.origin]||(t[e.origin]={total:0,online:0,key:e.providerKey}),t[e.origin].total++,e.status===`up`&&t[e.origin].online++}),Object.entries(t).sort((e,t)=>t[1].online/t[1].total-e[1].online/e[1].total)},[e]),r=(0,v.useMemo)(()=>[...e.filter(e=>e.status===`up`&&e.avg!==1/0&&e.avg<99e3)].sort((e,t)=>e.avg-t.avg).slice(0,10),[e]),i=(0,v.useMemo)(()=>{let t={};e.forEach(e=>{t[e.tier]=(t[e.tier]||0)+1});let n=Math.max(...Object.values(t),1);return sd.map(e=>({tier:e,count:t[e]||0,pct:(t[e]||0)/n*100}))},[e]);return(0,F.jsxs)(`div`,{className:J.page,children:[(0,F.jsxs)(`div`,{className:J.pageHeader,children:[(0,F.jsxs)(`h1`,{className:J.pageTitle,children:[(0,F.jsx)(In,{size:24,stroke:1.5,style:{marginRight:8,verticalAlign:`middle`}}),t(`analytics.title`)]}),(0,F.jsx)(`p`,{className:J.pageSubtitle,children:t(`analytics.subtitle`)})]}),(0,F.jsxs)(`div`,{className:J.grid,children:[(0,F.jsxs)(`div`,{className:`${J.card} ${J.cardWide}`,children:[(0,F.jsx)(`h3`,{className:J.cardTitle,children:t(`analytics.providerHealth`)}),(0,F.jsx)(`div`,{className:J.cardBody,children:n.length===0?(0,F.jsx)(`div`,{className:J.empty,children:t(`analytics.waiting`)}):n.map(([e,t])=>{let n=t.total>0?Math.round(t.online/t.total*100):0,r=n>70?J.pctFast:n>30?J.pctMedium:J.pctSlow;return(0,F.jsxs)(`div`,{className:J.healthItem,children:[(0,F.jsx)(`span`,{className:J.healthName,children:e}),(0,F.jsx)(`div`,{className:J.healthBar,children:(0,F.jsx)(`div`,{className:J.healthFill,style:{width:`${n}%`}})}),(0,F.jsxs)(`span`,{className:`${J.healthPct} ${r}`,children:[n,`%`]})]},e)})})]}),(0,F.jsxs)(`div`,{className:J.card,children:[(0,F.jsxs)(`h3`,{className:J.cardTitle,style:{display:`flex`,alignItems:`center`,gap:6},children:[(0,F.jsx)(Wr,{size:16,stroke:1.5}),t(`analytics.fastestModels`)]}),(0,F.jsx)(`div`,{className:J.cardBody,children:r.length===0?(0,F.jsx)(`div`,{className:J.empty,children:t(`analytics.waitingPings`)}):r.map((e,t)=>{let n=t<3?J[`rank${t+1}`]:``;return(0,F.jsxs)(`div`,{className:J.leaderItem,children:[(0,F.jsx)(`div`,{className:`${J.leaderRank} ${n}`,children:t+1}),(0,F.jsx)(`span`,{className:J.leaderName,children:e.label}),(0,F.jsxs)(`span`,{className:J.leaderLatency,children:[e.avg,`ms`]})]},e.modelId)})})]}),(0,F.jsxs)(`div`,{className:J.card,children:[(0,F.jsx)(`h3`,{className:J.cardTitle,children:t(`analytics.tierDistribution`)}),(0,F.jsx)(`div`,{className:J.cardBody,children:i.map(({tier:e,count:t,pct:n})=>(0,F.jsxs)(`div`,{className:J.tierItem,children:[(0,F.jsx)(`div`,{className:J.tierBadge,children:(0,F.jsx)(Ll,{tier:e})}),(0,F.jsx)(`div`,{className:J.tierBar,children:(0,F.jsx)(`div`,{className:J.tierFill,style:{width:`${n}%`,background:od(e)}})}),(0,F.jsx)(`span`,{className:J.tierCount,children:t})]},e))})]})]}),(0,F.jsx)(nd,{})]})}var ld={nvidia:{name:`NVIDIA NIM`,url:`https://integrate.api.nvidia.com/v1/chat/completions`,quota:`Free · 1000 req/month`,quotaCode:`free`,models:[[`z-ai/glm-5.3-flash`,`GLM-5.3-Flash`,`S+`,`-`,`1M`],[`z-ai/glm-5.3`,`GLM 5.3`,`S+`,`-`,`1M`],[`nvidia/nemotron-3.5-super-vl-120b-a12b`,`Nemotron 3.5 Super VL`,`S+`,`71.07%`,`262k`],[`stepfun-ai/step-5-preview`,`Step 5 Preview`,`S`,`-`,`1M`],[`nvidia/nemotron-3-ultra-550b-a55b`,`Nemotron 3 Ultra`,`S+`,`71.9%`,`1M`],[`poolside/laguna-xs-2.1`,`Laguna XS 2.1`,`S+`,`70.9%`,`262k`],[`meta/muse-glimmer-30b`,`Muse Glimmer 30B`,`B+`,`-`,`131k`],[`nvidia/nemotron-3-super-120b-a12b`,`Nemotron 3 Super`,`S`,`60.5%`,`1M`],[`nvidia/nemotron-3-nano-omni-30b-a3b-reasoning`,`Nemotron 3 Omni`,`A+`,`52.0%`,`262k`],[`nvidia/nemotron-3.5-lightning-30b-a3b`,`Nemotron 3.5 Lightning 30B`,`A+`,`52.8%`,`1M`],[`deepseek-ai/deepseek-v4.1-flash`,`DeepSeek V4.1 Flash`,`S+`,`-`,`1M`],[`openai/gpt-oss-20b`,`GPT OSS 20B`,`A+`,`50.3%`,`131k`],[`google/gemma-4-31b-it`,`Gemma 4 31B`,`A+`,`52.0%`,`262k`],[`google/diffusiongemma-26b-a4b-it`,`DiffusionGemma 26B`,`B+`,`-`,`262k`]]},groq:{name:`Groq`,url:`https://api.groq.com/openai/v1/chat/completions`,quota:`Free · ~30-50 RPM per model`,quotaCode:`free`,models:[[`openai/gpt-oss-120b`,`GPT OSS 120B`,`S`,`62.4%`,`131k`],[`openai/gpt-oss-20b`,`GPT OSS 20B`,`A+`,`60.7%`,`131k`],[`qwen/qwen3.8-27b`,`Qwen3.8 27B`,`A+`,`-`,`131k`]]},cerebras:{name:`Cerebras`,url:`https://api.cerebras.ai/v1/chat/completions`,quota:`Free trial · $5 credits / 30 days · card required`,quotaCode:`limited`,models:[[`gpt-oss-120b`,`GPT OSS 120B`,`S`,`62.4%`,`65k`],[`qwen-3.8-27b`,`Qwen 3.8 27B`,`A+`,`-`,`64k`]]},googleai:{name:`Google AI`,url:`https://generativelanguage.googleapis.com/v1beta/openai/chat/completions`,quota:`Free · Gemini quotas vary by model`,quotaCode:`free`,models:[[`gemini-3.8-flash`,`Gemini 3.8 Flash`,`S+`,`-`,`1M`],[`gemini-3.7-flash`,`Gemini 3.7 Flash`,`S+`,`-`,`1M`],[`gemini-3.6-flash`,`Gemini 3.6 Flash`,`S+`,`-`,`1M`],[`gemini-3.5-flash`,`Gemini 3.5 Flash`,`S+`,`78.0%`,`1M`],[`gemini-3.5-flash-lite`,`Gemini 3.5 Flash Lite`,`S`,`-`,`1M`],[`gemini-3.1-flash-lite`,`Gemini 3.1 Flash Lite`,`S`,`62.8%`,`1M`],[`gemini-2.5-flash`,`Gemini 2.5 Flash`,`A+`,`54.0%`,`1M`],[`gemini-2.5-flash-lite`,`Gemini 2.5 Flash Lite`,`A`,`42.6%`,`1M`],[`gemini-3-flash-preview`,`Gemini 3 Flash Preview`,`S+`,`78.0%`,`1M`],[`gemini-2.5-pro`,`Gemini 2.5 Pro`,`S`,`63.8%`,`1M`]]},mistral:{name:`Mistral LP`,url:`https://api.mistral.ai/v1/chat/completions`,quota:`Free Experiment plan`,quotaCode:`free`,models:[[`mistral-medium-3-5`,`Mistral Medium 3.5`,`S+`,`77.6%`,`256k`],[`mistral-small-2603`,`Mistral Small 4`,`A`,`48.0%`,`256k`],[`ministral-14b-2512`,`Ministral 3 14B`,`B+`,`-`,`256k`],[`ministral-8b-2512`,`Ministral 3 8B`,`B`,`-`,`256k`],[`ministral-3b-2512`,`Ministral 3 3B`,`B`,`-`,`128k`],[`mistral-code-latest`,`Mistral Code`,`A`,`-`,`256k`],[`mistral-code-fim-latest`,`Mistral Code FIM`,`A`,`-`,`256k`],[`mistral-vibe-cli-latest`,`Mistral Vibe CLI`,`A`,`-`,`256k`]]},cloudflare:{name:`Cloudflare AI`,url:`https://api.cloudflare.com/client/v4/accounts/{$CLOUDFLARE_ACCOUNT_ID}/ai/v1/chat/completions`,quota:`Free · 10k neurons/day`,quotaCode:`limited`,models:[[`@cf/zai-org/glm-4.7-flash`,`GLM-4.7-Flash`,`A+`,`59.2%`,`131k`],[`@cf/openai/gpt-oss-120b`,`GPT OSS 120B`,`S`,`62.0%`,`128k`],[`@cf/nvidia/nemotron-3-120b-a12b`,`Nemotron 3 Super`,`S`,`60.5%`,`256k`],[`@cf/qwen/qwen3-30b-a3b-fp8`,`Qwen3 30B MoE`,`B`,`25.2%`,`32k`],[`@cf/qwen/qwen2.5-coder-32b-instruct`,`Qwen2.5 Coder 32B`,`A`,`45.7%`,`32k`],[`@cf/openai/gpt-oss-20b`,`GPT OSS 20B`,`A+`,`50.3%`,`128k`],[`@cf/meta/llama-3.3-70b-instruct-fp8-fast`,`Llama 3.3 70B`,`B`,`22.0%`,`24k`],[`@cf/google/gemma-4-26b-a4b-it`,`Gemma 4 26B MoE`,`A-`,`38.0%`,`256k`],[`@cf/qwen/qwen3.8-27b`,`Qwen3.8 27B`,`A-`,`-`,`262k`],[`@cf/mistralai/mistral-small-3.1-24b-instruct`,`Mistral Small 3.1`,`B+`,`30.0%`,`128k`],[`@cf/ibm-granite/granite-4.0-h-micro`,`Granite 4.0 Micro`,`B+`,`30.0%`,`131k`],[`@cf/aisingapore/gemma-sea-lion-v4-27b-it`,`Gemma SEA-LION V4 27B`,`B+`,`-`,`128k`]]},openrouter:{name:`OpenRouter`,url:`https://openrouter.ai/api/v1/chat/completions`,quota:`50 free req/day · 1000 with $10 credit`,quotaCode:`limited`,models:[[`nvidia/nemotron-3-ultra-550b-a55b:free`,`Nemotron 3 Ultra`,`S+`,`71.9%`,`1M`],[`poolside/laguna-xs-2.1:free`,`Poolside Laguna XS 2.1`,`S+`,`70.9%`,`262k`],[`poolside/laguna-s-2.1:free`,`Poolside Laguna S 2.1`,`S+`,`-`,`262k`],[`xingchen-agi/xing4.0-29b-a4b:free`,`Xing4.0 29B A4B`,`S+`,`75.0%`,`262k`],[`cohere/north-mini-code:free`,`North Mini Code`,`S`,`-`,`256k`],[`nvidia/nemotron-3-super-120b-a12b:free`,`Nemotron 3 Super`,`S`,`60.5%`,`262k`],[`nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free`,`Nemotron 3 Omni`,`A+`,`52.0%`,`256k`],[`nvidia/nemotron-3.5-super-vl:free`,`Nemotron 3.5 Super VL`,`S+`,`71.1%`,`1M`],[`google/gemma-4-31b-it:free`,`Gemma 4 31B`,`A+`,`52.0%`,`262k`],[`google/gemma-4-26b-a4b-it:free`,`Gemma 4 26B MoE`,`A`,`38.0%`,`262k`],[`liquid/lfm-2.5-2.6b:free`,`LiquidAI LFM2.5-2.6B`,`C`,`-`,`64k`],[`nvidia/nemotron-3.5-lightning:free`,`NVIDIA Nemotron 3.5 Lightning`,`B+`,`-`,`1M`],[`thinkingmachines/inkling:free`,`Inkling`,`B+`,`-`,`1M`],[`openrouter/free`,`Free Models Router`,`A`,`-`,`200k`],[`thinkingmachines/inkling-small:free`,`Inkling Small`,`B`,`-`,`1M`],[`dots-studio/dots-3-note-preview:free`,`Dots 3 Note Preview`,`B`,`-`,`512k`]]},sambanova:{name:`SambaNova`,url:`https://api.sambanova.ai/v1/chat/completions`,quota:`Small dev tier · light use`,quotaCode:`limited`,models:[[`DeepSeek-V3.1`,`DeepSeek V3.1`,`S`,`66.0%`,`131k`],[`DeepSeek-V3.2`,`DeepSeek V3.2`,`S+`,`70.0%`,`32k`],[`gpt-oss-120b`,`GPT OSS 120B`,`S`,`62.4%`,`131k`],[`gemma-4-31B-it`,`Gemma 4 31B`,`A+`,`52.0%`,`131k`],[`Meta-Llama-3.3-70B-Instruct`,`Llama 3.3 70B`,`B`,`22.0%`,`131k`]]},ovhcloud:{name:`OVHcloud AI`,url:`https://oai.endpoints.kepler.ai.cloud.ovh.net/v1/chat/completions`,quota:`Free sandbox · 2 RPM no key · 400 RPM with key`,quotaCode:`free`,models:[[`Qwen3.5-397B-A17B`,`Qwen3.5 397B MoE`,`S+`,`76.4%`,`262k`],[`Qwen3.6-27B`,`Qwen3.6 27B`,`S+`,`77.2%`,`262k`],[`gpt-oss-120b`,`GPT OSS 120B`,`S`,`62.4%`,`131k`],[`gpt-oss-20b`,`GPT OSS 20B`,`A+`,`50.3%`,`131k`],[`Meta-Llama-3_3-70B-Instruct`,`Llama 3.3 70B`,`B`,`22.0%`,`131k`],[`Mistral-Small-3.2-24B-Instruct-2506`,`Mistral Small 3.2 24B`,`B+`,`20.0%`,`131k`,null,`2026-11-04`],[`Qwen3.5-9B`,`Qwen3.5 9B`,`B+`,`30.0%`,`262k`],[`Qwen2.5-VL-72B-Instruct`,`Qwen2.5-VL 72B`,`S`,`-`,`32k`],[`Qwen3-Embedding-8B`,`Qwen3 Embedding 8B`,`B`,`-`,`32k`],[`bge-m3`,`BGE M3`,`B`,`-`,`8k`],[`bge-multilingual-gemma2`,`BGE Multilingual Gemma2`,`B`,`-`,`8k`],[`Qwen3Guard-Gen-8B`,`Qwen3Guard Gen 8B (moderation, beta)`,`C`,`-`,`32k`],[`Qwen3Guard-Gen-0.6B`,`Qwen3Guard Gen 0.6B (moderation, beta)`,`C`,`-`,`32k`],[`Qwen3.8-27B`,`Qwen3.8 27B`,`A+`,`-`,`262k`]]},codestral:{name:`Codestral`,url:`https://api.mistral.ai/v1/chat/completions`,quota:`Free · 30 req/min, 2000/day`,quotaCode:`free`,models:[[`codestral-2508`,`Codestral`,`A`,`40.0%`,`256k`]]},scaleway:{name:`Scaleway`,url:`https://api.scaleway.ai/v1/chat/completions`,quota:`1M free tokens`,quotaCode:`limited`,models:[[`glm-5.2`,`GLM 5.2`,`S+`,`82.8%`,`256k`],[`glm-5.3`,`GLM 5.3`,`S+`,`-`,`256k`],[`deepseek-v4-flash-0731`,`DeepSeek V4 Flash`,`S+`,`-`,`256k`],[`deepseek-v4.1-flash`,`DeepSeek V4.1 Flash`,`S+`,`-`,`256k`],[`qwen3.5-397b-a17b`,`Qwen3.5 400B VLM`,`S+`,`76.2%`,`250k`],[`gpt-oss-120b`,`GPT OSS 120B`,`S`,`62.4%`,`128k`],[`mistral-medium-3.5-128b`,`Mistral Medium 3.5 128B`,`S+`,`77.6%`,`180k`],[`qwen3.6-35b-a3b`,`Qwen3.6 35B MoE`,`S+`,`73.4%`,`256k`],[`qwen3-coder-30b-a3b-instruct`,`Qwen3 Coder 30B`,`A+`,`51.6%`,`128k`],[`gemma-4-26b-a4b-it`,`Gemma 4 26B MoE`,`A+`,`-`,`256k`],[`qwen3-235b-a22b-instruct-2507`,`Qwen3 235B`,`A`,`45.2%`,`250k`],[`qwen3.8-27b`,`Qwen3.8 27B`,`A+`,`-`,`256k`],[`llama-3.3-70b-instruct`,`Llama 3.3 70B`,`B`,`22.0%`,`100k`],[`mistral-small-3.2-24b-instruct-2506`,`Mistral Small 3.2`,`B`,`20.0%`,`128k`]]},qwen:{name:`Alibaba DashScope`,url:`https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions`,quota:`1M tokens/model · 90 days (Singapore)`,quotaCode:`limited`,models:[[`qwen3.7-max`,`Qwen3.7 Max`,`S+`,`80.4%`,`1M`],[`qwen3.6-plus`,`Qwen3.6 Plus`,`S+`,`78.8%`,`1M`],[`qwen3.7-plus`,`Qwen3.7 Plus`,`S+`,`-`,`1M`],[`qwen3.8-max`,`Qwen3.8 Max`,`S+`,`-`,`1M`],[`qwen3.8-2.4t-a95b`,`Qwen3.8 2.4T A95B`,`S+`,`-`,`1M`],[`qwen3.8-max-0902`,`Qwen3.8 Max 0902`,`S+`,`-`,`1M`],[`qwen3.5-plus`,`Qwen3.5 Plus`,`S+`,`80.0%`,`1M`],[`qwen3.8-27b`,`Qwen3.8 27B`,`S`,`-`,`1M`],[`qwen3.7-flash`,`Qwen3.7 Flash`,`A+`,`-`,`1M`],[`qwen3.6-flash`,`Qwen3.6 Flash`,`A+`,`60.0%`,`1M`],[`qwen3.5-flash`,`Qwen3.5 Flash`,`S`,`64.4%`,`1M`],[`qwen3-coder-flash`,`Qwen3 Coder Flash`,`A+`,`55.0%`,`1M`],[`qwen3-vl-plus`,`Qwen3 VL Plus`,`A+`,`-`,`256k`],[`qwen3.5-397b-a17b`,`Qwen3.5 397B A17B`,`S+`,`76.2%`,`256k`],[`qwen3.5-122b-a10b`,`Qwen3.5 122B A10B`,`S+`,`72.0%`,`256k`],[`qwen3.5-35b-a3b`,`Qwen3.5 35B A3B`,`S`,`69.2%`,`256k`],[`qwen3.8-flash`,`Qwen3.8 Flash`,`A+`,`-`,`1M`],[`qwen3.5-27b`,`Qwen3.5 27B`,`S+`,`72.4%`,`256k`],[`qwen3.5-omni-plus`,`Qwen3.5 Omni Plus`,`B+`,`-`,`256k`],[`qwen3.8-omni-flash`,`Qwen3.8 Omni Flash`,`B+`,`-`,`1M`],[`qwen3.6-27b`,`Qwen3.6 27B`,`B+`,`-`,`256k`],[`qwen3.6-35b-a3b`,`Qwen3.6 35B A3B`,`B+`,`-`,`256k`]]},"opencode-zen":{name:`OpencodeZen`,url:`https://opencode.ai/zen/v1/chat/completions`,quota:`Free · Zen key required`,quotaCode:`free`,models:[[`big-pickle`,`Big Pickle`,`S+`,`72.0%`,`200k`],[`mimo-v2.6-flash-free`,`MiMo-V2.6 Flash Free`,`S+`,`-`,`200k`],[`nemotron-3-ultra-free`,`Nemotron 3 Ultra Free`,`S+`,`71.9%`,`1M`],[`nemotron-3.5-lightning-free`,`Nemotron 3.5 Lightning Free`,`S+`,`-`,`262k`],[`jev-1.13-free`,`Jev 1.13 Free`,`B+`,`-`,`200k`],[`space-bunny-free`,`Space Bunny Free`,`S+`,`-`,`1M`],[`longcat-2.5-preview-free`,`LongCat 2.5 Preview Free`,`A+`,`-`,`1M`],[`beam-free`,`Beam Free`,`S+`,`80.9%`,`1M`],[`exo-free`,`Exo Free`,`S+`,`-`,`1M`],[`nemotron-3.5-super-vl-free`,`Nemotron 3.5 Super VL Free`,`S+`,`71.1%`,`1M`],[`deepseek-v4.1-flash-free`,`DeepSeek V4.1 Flash Free`,`S+`,`-`,`200k`],[`glm-5.3-flash-free`,`GLM 5.3 Flash Free`,`A+`,`-`,`200k`]],zenOnly:!0},kilo:{name:`Kilo`,url:`https://api.kilo.ai/api/gateway/chat/completions`,quota:`Free · no key needed`,quotaCode:`free`,models:[[`kilo-auto/free`,`Kilo Auto Free`,`A+`,`-`,`256k`],[`thinkingmachines/inkling-small:free`,`Thinking Machines Inkling Small (free)`,`S+`,`80.2%`,`1M`],[`reflection/beam-free`,`Reflection Beam 1.0 (free)`,`S+`,`80.9%`,`1M`],[`poolside/laguna-s-2.1:free`,`Poolside Laguna S 2.1 (free)`,`A+`,`-`,`262k`],[`nvidia/nemotron-3-ultra-550b-a55b:free`,`NVIDIA Nemotron 3 Ultra (free)`,`A+`,`-`,`1M`],[`nvidia/nemotron-3.5-super-vl:free`,`NVIDIA Nemotron 3.5 Super VL (free)`,`S+`,`71.1%`,`1M`],[`xingchen-agi/xing4.0-29b-a4b:free`,`XingChen Xing4.0 29B (free)`,`S+`,`75.0%`,`262k`],[`cohere/north-mini-code:free`,`Cohere North Mini Code (free)`,`A-`,`-`,`256k`],[`nvidia/nemotron-3-super-120b-a12b:free`,`NVIDIA Nemotron 3 Super (free)`,`A-`,`-`,`262k`],[`poolside/laguna-xs-2.1:free`,`Poolside Laguna XS 2.1 (free)`,`B+`,`-`,`262k`],[`nvidia/nemotron-3.5-lightning:free`,`NVIDIA Nemotron 3.5 Lightning (free)`,`B+`,`-`,`1M`],[`dots-studio/dots-3-note-preview:free`,`Dots Studio Dots3-Note Preview (free)`,`B+`,`-`,`512k`],[`openrouter/free`,`OpenRouter Free Models Router`,`B`,`-`,`200k`],[`liquid/lfm-2.5-2.6b:free`,`LFM2.5-2.6B (free)`,`C`,`-`,`64k`],[`nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free`,`NVIDIA Nemotron 3 Nano Omni (free)`,`A+`,`-`,`256k`],[`stealth/glyph-cluster`,`Glyph Cluster (stealth, free)`,`A+`,`-`,`256k`]],noKeyNeeded:!0},llm7:{name:`LLM7`,url:`https://api.llm7.io/v1/chat/completions`,quota:`Free · no key needed`,quotaCode:`limited`,models:[[`GLM-5.3-Flash`,`GLM 5.3 Flash`,`S+`,`-`,`400k`],[`DeepSeek-V4-Flash-0731`,`DeepSeek V4 Flash 0731`,`S+`,`79.0%`,`400k`],[`kimi-k2.7-code`,`Kimi K2.7 Code`,`A`,`-`,`256k`],[`kimi-k2.6`,`Kimi K2.6`,`A`,`-`,`256k`],[`mistral-Nemo-Instruct-2407`,`Mistral Nemo 12B Instruct`,`A-`,`-`,`128k`],[`gpt-oss:20b`,`GPT-OSS 20B`,`B+`,`-`,`128k`],[`minimax-m2.7`,`MiniMax M2.7`,`S+`,`78.0%`,`180k`],[`nemotron-3-nano:30b`,`Nemotron 3 Nano 30B`,`B+`,`-`,`1M`],[`codestral-latest`,`Codestral Latest`,`A`,`40.0%`,`32k`]],noKeyNeeded:!0},routeway:{name:`Routeway`,url:`https://api.routeway.ai/v1/chat/completions`,quota:`Free :free models only`,quotaCode:`free`,models:[[`deepseek-v4-flash:free`,`DeepSeek V4 Flash`,`S+`,`79.0%`,`42k`],[`minimax-m2.7:free`,`MiniMax M2.7`,`S+`,`78.0%`,`42k`],[`muse-glimmer-30b:free`,`Muse Glimmer 30B`,`B+`,`-`,`131k`],[`gemma-4-26b-a4b-it-chimerax:free`,`Gemma 4 26B A4B ChimeraX`,`B+`,`-`,`62k`],[`gemma-4-26b-a4b-it-darksoul:free`,`Gemma 4 26B A4B Darksoul`,`B+`,`-`,`62k`],[`gemma-4-26b-a4b-it-luminous:free`,`Gemma 4 26B A4B Luminous`,`B+`,`-`,`62k`],[`gemma-4-26b-a4b-it-moonlight:free`,`Gemma 4 26B A4B Moonlight`,`B+`,`-`,`62k`],[`gemma-4-26b-a4b-it-musica:free`,`Gemma 4 26B A4B Musica`,`B+`,`-`,`62k`],[`gemma-4-26b-a4b-it-meromero:free`,`Gemma 4 26B A4B Meromero`,`B+`,`-`,`62k`]]},novita:{name:`Novita AI`,url:`https://api.novita.ai/openai/v1/chat/completions`,quota:`Free tier shrank · 2 zero-price models left`,quotaCode:`limited`,models:[[`dev/glm46`,`GLM 4.6 (dev)`,`A`,`-`,`256k`],[`apodex/apodex-1.1-mini`,`Apodex 1.1 Mini`,`B+`,`-`,`262k`]]},pollinations:{name:`Pollinations AI`,url:`https://gen.pollinations.ai/v1/chat/completions`,quota:`Free · daily Pollen grants · key at enter.pollinations.ai`,quotaCode:`free`,models:[[`glm-5.3`,`Z.ai GLM-5.3`,`S+`,`-`,`1M`],[`kimi`,`Moonshot Kimi K2.6`,`S+`,`80.2%`,`262k`],[`minimax`,`MiniMax M3`,`S+`,`80.5%`,`524k`],[`moonshotai/kimi-k3`,`Moonshot Kimi K3`,`S+`,`76.8%`,`1M`],[`openai/gpt-5.5`,`OpenAI GPT-5.5`,`S+`,`-`,`1M`],[`openai/gpt-6-astra`,`OpenAI GPT-6 Astra`,`S+`,`-`,`1M`],[`z-ai/glm-5.3-flash`,`Z.ai GLM-5.3 Flash`,`S+`,`-`,`1M`],[`deepseek`,`DeepSeek V4 Flash`,`S+`,`79.0%`,`1M`],[`openai`,`OpenAI GPT-5.4 Nano`,`B+`,`-`,`400k`],[`openai/gpt-5.6-luna`,`OpenAI GPT-5.6 Luna`,`S`,`-`,`1M`],[`deepseek/deepseek-v4.1-flash`,`DeepSeek V4.1 Flash`,`A+`,`-`,`1M`],[`gpt-oss`,`GPT OSS 20B`,`A+`,`50.3%`,`128k`],[`openai/gpt-6-sol`,`OpenAI GPT-6 Sol`,`S+`,`-`,`1M`],[`openai/gpt-5.3-codex`,`OpenAI GPT-5.3 Codex`,`S+`,`-`,`400k`],[`openai/gpt-6-luna`,`OpenAI GPT-6 Luna`,`S`,`-`,`1M`],[`openai/gpt-5.4-mini`,`OpenAI GPT-5.4 Mini`,`A+`,`-`,`400k`],[`x-ai/grok-4.20`,`xAI Grok 4.20`,`A+`,`-`,`256k`],[`openai/gpt-6.1-sol`,`OpenAI GPT-6.1 Sol`,`S+`,`-`,`1M`],[`qwen/qwen3.8-2.4t-a95b`,`Qwen3.8 2.4T A95B`,`A+`,`-`,`256k`],[`x-ai/grok-4.6`,`xAI Grok 4.6`,`A+`,`-`,`200k`],[`openai/gpt-5.4`,`OpenAI GPT-5.4`,`S`,`-`,`1M`],[`x-ai/grok-4.3`,`xAI Grok 4.3`,`B+`,`-`,`200k`],[`nvidia/nemotron-3-ultra`,`NVIDIA Nemotron 3 Ultra`,`S+`,`71.9%`,`256k`],[`mistralai/mistral-large-3`,`Mistral Large 3`,`A+`,`-`,`256k`],[`nemotron-3.5-lightning`,`Nemotron 3.5 Lightning`,`B+`,`-`,`256k`]]},siliconflow:{name:`SiliconFlow`,url:`https://api.siliconflow.cn/v1/chat/completions`,quota:`Free · 3 models @ $0 · 1000 RPM`,quotaCode:`free`,models:[[`XingChenAGI/Xing4.0-29B`,`Xing4.0 29B`,`A-`,`-`,`256k`]]},requesty:{name:`Requesty`,url:`https://router.requesty.ai/v1/chat/completions`,quota:`Free · 200 req/day · no card`,quotaCode:`free`,models:[[`nvidia/nemotron-3-ultra-550b-a55b`,`Nemotron 3 Ultra`,`S+`,`71.9%`,`1M`],[`poolside/laguna-xs.2`,`Laguna XS.2`,`S+`,`70.9%`,`32k`],[`nvidia/nemotron-3-super-120b-a12b`,`Nemotron 3 Super`,`S`,`60.5%`,`1M`],[`poolside/laguna-m.1`,`Laguna M.1`,`S`,`-`,`32k`],[`google/gemma-4-31b-it`,`Gemma 4 31B`,`A+`,`52.0%`,`256k`],[`nvidia/nemotron-3-nano-omni-30b-a3b-reasoning`,`Nemotron 3 Omni`,`A+`,`52.0%`,`128k`],[`nvidia/nemotron-3-nano-30b-a3b`,`Nemotron Nano 30B`,`A-`,`38.8%`,`256k`],[`nvidia/nemotron-3.5-lightning-30b-a3b`,`Nemotron 3.5 Lightning`,`B+`,`-`,`1M`],[`mistral/leanstral-1-5`,`Leanstral 1.5`,`B`,`-`,`256k`],[`novita/inclusionai/ling-3.0-tiny`,`Ling 3.0 Tiny`,`B`,`-`,`256k`],[`novita/ling-3.1-flash`,`Ling 3.1 Flash`,`B+`,`-`,`256k`],[`nvidia/muse-glimmer-30b`,`Muse Glimmer 30B`,`C`,`-`,`128k`]]},orcarouter:{name:`OrcaRouter`,url:`https://api.orcarouter.ai/v1/chat/completions`,quota:`Free · 5 $0 models + router · 10 rpm · 50 req/day`,quotaCode:`free`,models:[[`deepseek/deepseek-v4-flash-free`,`DeepSeek V4 Flash (Free)`,`S+`,`79.0%`,`1M`],[`tencent/hy3-free`,`Tencent Hy3 (Free)`,`S`,`-`,`256k`],[`orcarouter/free`,`OrcaRouter Free (difficulty-routed)`,`S`,`-`,`-`],[`z-ai/glm-5.3-flash-free`,`GLM-5.3 Flash (Free)`,`A+`,`-`,`1M`],[`tencent/hy4-preview-free`,`Tencent Hy4 Preview (Free)`,`S`,`-`,`1M`],[`orca/orcaverify-text1.0-free`,`OrcaVerify Text 1.0 (Free)`,`C`,`-`,`-`]]},"vercel-gateway":{name:`Vercel AI Gateway`,url:`https://ai-gateway.vercel.sh/v1/chat/completions`,quota:`Free · $5 credits/30 days + $0 models · no card`,quotaCode:`limited`,models:[[`poolside/laguna-s-2.1-free`,`Laguna S 2.1 (Free)`,`S+`,`-`,`256k`],[`reflection/beam-free`,`Beam 1.0 (Free)`,`S+`,`80.9%`,`1M`],[`nvidia/nemotron-3.5-lightning-free`,`Nemotron 3.5 Lightning (Free)`,`A+`,`54.3%`,`1M`],[`stealth/glyph-cluster`,`Glyph Cluster (stealth)`,`B`,`-`,`256k`],[`stealth/cat-jam`,`Cat Jam (stealth)`,`B+`,`-`,`1M`]]},"ollama-cloud":{name:`Ollama Cloud`,url:`https://ollama.com/v1/chat/completions`,quota:`Free plan · session + weekly caps`,quotaCode:`free`,models:[[`nemotron-3-ultra`,`Nemotron 3 Ultra`,`S+`,`71.9%`,`256k`],[`glm-5.2`,`GLM 5.2`,`S+`,`82.8%`,`1M`],[`minimax-m2.7`,`MiniMax M2.7`,`S+`,`78.0%`,`192k`],[`minimax-m3`,`MiniMax M3`,`S+`,`78.4%`,`512k`],[`kimi-k2.6`,`Kimi K2.6`,`S+`,`80.2%`,`256k`],[`deepseek-v4-pro:0813`,`DeepSeek V4 Pro`,`S+`,`80.6%`,`1M`],[`glm-5.3`,`GLM 5.3`,`S+`,`-`,`1M`],[`deepseek-v4.1-flash`,`DeepSeek V4.1 Flash`,`S+`,`-`,`1M`],[`kimi-k2.7-code`,`Kimi K2.7 Code`,`S`,`60.4%`,`256k`],[`gpt-oss:120b`,`GPT OSS 120B`,`S`,`62.4%`,`128k`],[`nemotron-3-super`,`Nemotron 3 Super`,`S`,`60.5%`,`256k`],[`kimi-k3`,`Kimi K3`,`S+`,`76.8%`,`1M`],[`glm-5.3-flash`,`GLM 5.3 Flash`,`S`,`-`,`1M`],[`gemma4:31b`,`Gemma 4 31B`,`A+`,`52.0%`,`256k`],[`gpt-oss:20b`,`GPT OSS 20B`,`A+`,`50.3%`,`128k`],[`mistral-large-3:675b`,`Mistral Large 3 675B Cloud`,`A+`,`-`,`256k`],[`mistral-large-4`,`Mistral Large 4`,`A+`,`-`,`1M`],[`nemotron-3-nano:30b`,`Nemotron 3 Nano 30B`,`A-`,`38.8%`,`256k`],[`beam`,`Beam`,`S+`,`81.6%`,`1M`]]},onomeo:{name:`onomeo`,url:`https://onomeo.com/v1/chat/completions`,quota:`Free models, no credits · 12 RPM · 30 req/5h`,quotaCode:`limited`,models:[[`deepseek-v4-flash`,`DeepSeek V4 Flash`,`S+`,`79.0%`,`1M`],[`glm-5.2`,`GLM 5.2`,`S+`,`82.8%`,`1M`],[`gemini-3.7-flash`,`Gemini 3.7 Flash`,`S+`,`-`,`1M`],[`gemini-3.6-flash`,`Gemini 3.6 Flash`,`S+`,`-`,`1M`],[`gemini-3.5-flash`,`Gemini 3.5 Flash`,`S+`,`78.0%`,`1M`],[`gemini-3.1-flash-lite`,`Gemini 3.1 Flash Lite`,`S`,`62.8%`,`1M`],[`gpt-oss-20b`,`GPT OSS 20B`,`A+`,`50.3%`,`131k`],[`gemini-3.5-flash-lite`,`Gemini 3.5 Flash Lite`,`S`,`-`,`1M`],[`codestral-latest`,`Codestral Latest`,`A`,`40.0%`,`256k`],[`glm-4.5-flash`,`GLM 4.5 Flash`,`A`,`-`,`131k`],[`ministral-14b-latest`,`Ministral 3 14B`,`A`,`-`,`262k`],[`muse-glimmer-30b`,`Muse Glimmer 30B`,`A`,`-`,`131k`],[`minimax-m2.7`,`MiniMax M2.7`,`A+`,`-`,`205k`],[`stealth/glyph-cluster`,`Glyph Cluster`,`A+`,`-`,`-`],[`hy4-preview`,`Hunyuan 4 Preview`,`A-`,`-`,`1M`]]}},ud=[],dd=new Date().toISOString().split(`T`)[0];for(let[e,t]of Object.entries(ld))if(t&&t.models)for(let n of t.models){let[t,r,i,a,o,s,c]=n;c&&dd>c||ud.push([t,r,i,a,o,e,s||null])}var fd=10,pd=(e=0)=>t=>`\u001B[${t+e}m`,md=(e=0)=>t=>`\u001B[${38+e};5;${t}m`,hd=(e=0)=>(t,n,r)=>`\u001B[${38+e};2;${t};${n};${r}m`,gd={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(gd.modifier);var _d=Object.keys(gd.color),vd=Object.keys(gd.bgColor);[..._d,...vd];function yd(){let e=new Map;for(let[t,n]of Object.entries(gd)){for(let[t,r]of Object.entries(n))gd[t]={open:`\u001B[${r[0]}m`,close:`\u001B[${r[1]}m`},n[t]=gd[t],e.set(r[0],r[1]);Object.defineProperty(gd,t,{value:n,enumerable:!1})}return Object.defineProperty(gd,"codes",{value:e,enumerable:!1}),gd.color.close=`\x1B[39m`,gd.bgColor.close=`\x1B[49m`,gd.color.ansi=pd(),gd.color.ansi256=md(),gd.color.ansi16m=hd(),gd.bgColor.ansi=pd(fd),gd.bgColor.ansi256=md(fd),gd.bgColor.ansi16m=hd(fd),Object.defineProperties(gd,{rgbToAnsi256:{value(e,t,n){return e===t&&t===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(e){let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[n]=t;n.length===3&&(n=[...n].map(e=>e+e).join(``));let r=Number.parseInt(n,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:e=>gd.rgbToAnsi256(...gd.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,n,r;if(e>=232)t=((e-232)*10+8)/255,n=t,r=t;else{e-=16;let i=e%36;t=Math.floor(e/36)/5,n=Math.floor(i/6)/5,r=i%6/5}let i=Math.max(t,n,r)*2;if(i===0)return 30;let a=30+(Math.round(r)<<2|Math.round(n)<<1|Math.round(t));return i===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,t,n)=>gd.ansi256ToAnsi(gd.rgbToAnsi256(e,t,n)),enumerable:!1},hexToAnsi:{value:e=>gd.ansi256ToAnsi(gd.hexToAnsi256(e)),enumerable:!1}}),gd}var bd=yd(),xd=(()=>{if(!(`navigator`in globalThis))return 0;if(globalThis.navigator.userAgentData){let e=navigator.userAgentData.brands.find(({brand:e})=>e===`Chromium`);if(e&&e.version>93)return 3}return+!!/\b(Chrome|Chromium)\//.test(globalThis.navigator.userAgent)})(),Sd=xd!==0&&{level:xd,hasBasic:!0,has256:xd>=2,has16m:xd>=3},Cd={stdout:Sd,stderr:Sd};function wd(e,t,n){let r=e.indexOf(t);if(r===-1)return e;let i=t.length,a=0,o=``;do o+=e.slice(a,r)+t+n,a=r+i,r=e.indexOf(t,a);while(r!==-1);return o+=e.slice(a),o}function Td(e,t,n,r){let i=0,a=``;do{let o=e[r-1]===`\r`;a+=e.slice(i,o?r-1:r)+t+(o?`\r
38
38
  `:`
39
39
  `)+n,i=r+1,r=e.indexOf(`
40
40
  `,i)}while(r!==-1);return a+=e.slice(i),a}var{stdout:Ed,stderr:Dd}=Cd,Od=Symbol(`GENERATOR`),kd=Symbol(`STYLER`),Ad=Symbol(`IS_EMPTY`),jd=[`ansi`,`ansi`,`ansi256`,`ansi16m`],Md=Object.create(null),Nd=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let n=Ed?Ed.level:0;e.level=t.level===void 0?n:t.level},Pd=e=>{let t=(...e)=>e.join(` `);return Nd(t,e),Object.setPrototypeOf(t,Fd.prototype),t};function Fd(e){return Pd(e)}Object.setPrototypeOf(Fd.prototype,Function.prototype);for(let[e,t]of Object.entries(bd))Md[e]={get(){let n=zd(this,Rd(t.open,t.close,this[kd]),this[Ad]);return Object.defineProperty(this,e,{value:n}),n}};Md.visible={get(){let e=zd(this,this[kd],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var Id=(e,t,n,...r)=>e===`rgb`?t===`ansi16m`?bd[n].ansi16m(...r):t===`ansi256`?bd[n].ansi256(bd.rgbToAnsi256(...r)):bd[n].ansi(bd.rgbToAnsi(...r)):e===`hex`?Id(`rgb`,t,n,...bd.hexToRgb(...r)):bd[n][e](...r);for(let e of[`rgb`,`hex`,`ansi256`]){Md[e]={get(){let{level:t}=this;return function(...n){let r=Rd(Id(e,jd[t],`color`,...n),bd.color.close,this[kd]);return zd(this,r,this[Ad])}}};let t=`bg`+e[0].toUpperCase()+e.slice(1);Md[t]={get(){let{level:t}=this;return function(...n){let r=Rd(Id(e,jd[t],`bgColor`,...n),bd.bgColor.close,this[kd]);return zd(this,r,this[Ad])}}}}var Ld=Object.defineProperties(()=>{},{...Md,level:{enumerable:!0,get(){return this[Od].level},set(e){this[Od].level=e}}}),Rd=(e,t,n)=>{let r,i;return n===void 0?(r=e,i=t):(r=n.openAll+e,i=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:i,parent:n}},zd=(e,t,n)=>{let r=(...e)=>Bd(r,e.length===1?``+e[0]:e.join(` `));return Object.setPrototypeOf(r,Ld),r[Od]=e,r[kd]=t,r[Ad]=n,r},Bd=(e,t)=>{if(e.level<=0||!t)return e[Ad]?``:t;let n=e[kd];if(n===void 0)return t;let{openAll:r,closeAll:i}=n;if(t.includes(`\x1B`))for(;n!==void 0;)t=wd(t,n.close,n.open),n=n.parent;let a=t.indexOf(`
@@ -42,4 +42,4 @@ Error generating stack: `+e.message+`
42
42
  `,`model: fcm`,`
43
43
  `,`api_key: fcm-local`]})]}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{className:X.cardLabel,children:n(`router.v2.anthropicTools`)}),(0,F.jsxs)(`code`,{className:X.codeBlock,children:[`base_url: http://localhost:`,r?.port||19380,`
44
44
  `,`POST /v1/messages`,`
45
- `,`model: fcm (or fcm:@provider/model)`]})]})]}),(0,F.jsxs)(`p`,{className:X.dim,children:[n(`router.v2.pinOneHint`),` `,(0,F.jsxs)(`code`,{children:[`model: "fcm:@`,b[0]?.key||`provider/model`,`"`]})]})]})]})]})}var Q={overlay:`_overlay_1kxet_7`,modal:`_modal_1kxet_16`,header:`_header_1kxet_40`,headerLeft:`_headerLeft_1kxet_49`,headerTitle:`_headerTitle_1kxet_56`,headerSubtitle:`_headerSubtitle_1kxet_64`,headerActions:`_headerActions_1kxet_70`,iconBtn:`_iconBtn_1kxet_76`,modelBar:`_modelBar_1kxet_94`,modelLabel:`_modelLabel_1kxet_105`,modelSelect:`_modelSelect_1kxet_110`,presetChip:`_presetChip_1kxet_128`,prePromptToggle:`_prePromptToggle_1kxet_145`,transcript:`_transcript_1kxet_158`,chatBody:`_chatBody_1kxet_171`,empty:`_empty_1kxet_178`,emptyTitle:`_emptyTitle_1kxet_190`,emptyHint:`_emptyHint_1kxet_196`,message:`_message_1kxet_202`,msgIn:`_msgIn_1kxet_1`,user:`_user_1kxet_215`,assistant:`_assistant_1kxet_219`,system:`_system_1kxet_223`,messageRole:`_messageRole_1kxet_228`,bubble:`_bubble_1kxet_237`,codeBlock:`_codeBlock_1kxet_268`,meta:`_meta_1kxet_280`,metaChip:`_metaChip_1kxet_289`,provider:`_provider_1kxet_300`,error:`_error_1kxet_305`,cursor:`_cursor_1kxet_310`,blink:`_blink_1kxet_1`,inputBar:`_inputBar_1kxet_325`,textarea:`_textarea_1kxet_335`,sendBtn:`_sendBtn_1kxet_360`,errorBar:`_errorBar_1kxet_385`,stopBar:`_stopBar_1kxet_397`,stopBtn:`_stopBtn_1kxet_409`,daemonStartPanel:`_daemonStartPanel_1kxet_426`,daemonStartTitle:`_daemonStartTitle_1kxet_438`,daemonStartHint:`_daemonStartHint_1kxet_444`,daemonStartBtn:`_daemonStartBtn_1kxet_451`,daemonStartAlt:`_daemonStartAlt_1kxet_483`,spin:`_spin_1kxet_497`,spinAnim:`_spinAnim_1kxet_1`,fadeIn:`_fadeIn_1kxet_1`,slideUp:`_slideUp_1kxet_1`},Uf=[`Write a Python fizzbuzz with type hints`,`Explain Big O notation with three examples`,`Refactor a deeply nested for-loop into map/filter`,`Write a tiny Express endpoint that returns JSON`];function Wf({routerStatus:e,daemonRunning:t}){let{t:n}=pi();return t===!0?(0,F.jsxs)(`span`,{className:Q.metaChip,children:[(0,F.jsx)(Wn,{size:11}),n(`playground.routerOnline`)]}):t===!1?(0,F.jsxs)(`span`,{className:`${Q.metaChip} ${Q.error}`,children:[(0,F.jsx)(Rn,{size:11}),n(`playground.routerOffline`)]}):(0,F.jsxs)(`span`,{className:Q.metaChip,children:[(0,F.jsx)(Cr,{size:11,className:Q.spin}),n(`playground.checkingRouter`)]})}function Gf({onClose:e,onToast:t,models:n,routerStatus:r}){let{t:i}=pi(),[a,o]=(0,v.useState)(null),[s,c]=(0,v.useState)(!0),[l,u]=(0,v.useState)(!0),[d,f]=(0,v.useState)(``),[p,m]=(0,v.useState)(r?.running===!0||null),[h,g]=(0,v.useState)(!1),[_,y]=(0,v.useState)(5),b=(0,v.useRef)(null),x=(0,v.useRef)(null),S=(0,v.useRef)(!1),[C,w]=(0,v.useState)({count:0,totalTokens:0}),T=(0,v.useRef)(null);(0,v.useEffect)(()=>{fetch(`/api/router/preprompt`).then(e=>e.json()).then(e=>{e&&typeof e==`object`&&(u(e.enabled===!0),typeof e.text==`string`&&f(e.text))}).catch(()=>{})},[]),(0,v.useEffect)(()=>{if(a!==null)return;let e=(Array.isArray(n)?n:[]).filter(e=>e.status===`up`&&e.hasApiKey&&!e.isPinging);if(e.length>0){let t={"S+":0,S:1,"A+":2,A:3,"A-":4,"B+":5,B:6,C:7};e.sort((e,n)=>{let r=t[e.tier]??99,i=t[n.tier]??99;return r===i?(typeof e.avg==`number`?e.avg:99999)-(typeof n.avg==`number`?n.avg:99999):r-i}),o(`${e[0].providerKey}/${e[0].modelId}`);return}o(`fcm`)},[n,a]),(0,v.useEffect)(()=>{let e=!0;async function t(){try{let t=await(await fetch(`/api/router/status`)).json();if(!e)return;m(t?.running===!0)}catch{e&&m(!1)}}return t(),()=>{e=!1,b.current&&clearInterval(b.current),x.current&&clearInterval(x.current)}},[]);let ee=(0,v.useCallback)(async()=>{if(!h){b.current&&=(clearInterval(b.current),null),S.current=!0,g(!0);try{await fetch(`/api/router/start`,{method:`POST`});let e=0;await new Promise(t=>{x.current=setInterval(async()=>{e+=1;try{(await(await fetch(`/api/router/status`)).json())?.running&&(clearInterval(x.current),m(!0),g(!1),t())}catch{}e>=30&&(clearInterval(x.current),g(!1),t())},1e3)})}catch{g(!1)}}},[h]);(0,v.useEffect)(()=>{if(p!==!1||a!==`fcm`||S.current)return;let e=5;return y(5),b.current=setInterval(()=>{--e,y(e),e<=0&&(clearInterval(b.current),S.current=!0,ee())},1e3),()=>{b.current&&clearInterval(b.current)}},[p,a,ee]);let E=(0,v.useMemo)(()=>{let e=[{value:`fcm`,label:i(`playground.autoRouterRecommended`)}];if(Array.isArray(n))for(let t of n.slice(0,200)){let n=t.modelId||t.id;if(!n)continue;let r=t.label||n;e.push({value:`${t.providerKey}/${n}`,label:`${t.providerKey}/${n} (${r})`})}return e},[n,i]),te=(0,v.useCallback)(e=>{w({count:e.count,totalTokens:e.totalTokens})},[]),D=(0,v.useCallback)(()=>{T.current?.clear(),w({count:0,totalTokens:0})},[]),O=a!==`fcm`||p===!0,ne=C.count>0,re=a===`fcm`&&!ne&&p===!1&&!h,ie=a===`fcm`&&!ne&&h,ae=!re&&!ie;return(0,F.jsx)(`div`,{className:Q.overlay,onClick:t=>{t.target===t.currentTarget&&e()},children:(0,F.jsxs)(`div`,{className:Q.modal,role:`dialog`,"aria-label":i(`playground.title`),children:[(0,F.jsxs)(`div`,{className:Q.header,children:[(0,F.jsxs)(`div`,{className:Q.headerLeft,children:[(0,F.jsxs)(`div`,{className:Q.headerTitle,children:[(0,F.jsx)(Er,{size:18}),i(`playground.title`)]}),(0,F.jsx)(`div`,{className:Q.headerSubtitle,children:i(`playground.messagesTokens`,{messages:C.count,tokens:C.totalTokens})})]}),(0,F.jsxs)(`div`,{className:Q.headerActions,children:[(0,F.jsx)(`button`,{className:Q.iconBtn,onClick:D,title:i(`playground.clear`),disabled:!ne,children:(0,F.jsx)(Ur,{size:16})}),(0,F.jsx)(`button`,{className:Q.iconBtn,onClick:e,title:`${i(`common.close`)} (Esc)`,children:(0,F.jsx)(qr,{size:16})})]})]}),(0,F.jsxs)(`div`,{className:Q.modelBar,children:[(0,F.jsxs)(`span`,{className:Q.modelLabel,children:[i(`playground.model`),`:`]}),(0,F.jsx)(`select`,{className:Q.modelSelect,value:a??`fcm`,onChange:e=>o(e.target.value),disabled:!ae,children:E.map(e=>(0,F.jsx)(`option`,{value:e.value,children:e.label},e.value))}),(0,F.jsx)(`button`,{className:Q.presetChip,onClick:()=>c(e=>!e),title:i(`playground.toggleStreaming`),children:i(s?`playground.streamOn`:`playground.streamOff`)}),(0,F.jsxs)(`label`,{className:Q.prePromptToggle,title:i(`playground.prePromptHint`),children:[(0,F.jsx)(`input`,{type:`checkbox`,checked:l,onChange:e=>u(e.target.checked)}),i(`playground.persona`)]}),(0,F.jsx)(Wf,{routerStatus:r,daemonRunning:p})]}),l&&d&&(0,F.jsxs)(`div`,{className:Q.modelBar,style:{borderTop:`none`,background:`transparent`,paddingTop:4,paddingBottom:8,fontSize:11},children:[(0,F.jsxs)(`span`,{className:Q.modelLabel,style:{flexShrink:0},children:[i(`playground.persona`),`:`]}),(0,F.jsx)(`span`,{style:{opacity:.7,fontStyle:`italic`},children:d.length>160?`${d.slice(0,160)}…`:d})]}),(0,F.jsxs)(`div`,{className:Q.chatBody,children:[re?(0,F.jsxs)(`div`,{className:Q.daemonStartPanel,children:[(0,F.jsx)(Rn,{size:32,style:{color:`#fbbf24`,opacity:.8}}),(0,F.jsx)(`div`,{className:Q.daemonStartTitle,children:i(`playground.daemonStopped`)}),(0,F.jsx)(`div`,{className:Q.daemonStartHint,children:i(`playground.routerHint`)}),(0,F.jsx)(`button`,{className:Q.daemonStartBtn,onClick:ee,title:i(`playground.startDaemon`),children:h?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(Cr,{size:14,className:Q.spin}),` `,i(`playground.startingDaemon`)]}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(Or,{size:14}),` `,i(`playground.startRouter`),_>0&&!S.current?` (${i(`playground.autoStartIn`,{seconds:_})})`:``]})}),(0,F.jsxs)(`div`,{className:Q.daemonStartAlt,children:[i(`playground.runCommand`),` `,(0,F.jsx)(`code`,{children:`free-coding-models --daemon-bg`})]})]}):ie?(0,F.jsxs)(`div`,{className:Q.daemonStartPanel,children:[(0,F.jsx)(Cr,{size:32,className:Q.spin,style:{color:`var(--accent, #22c55e)`}}),(0,F.jsx)(`div`,{className:Q.daemonStartTitle,children:i(`playground.startingDaemon`)}),(0,F.jsx)(`div`,{className:Q.daemonStartHint,children:i(`playground.waitingForDaemon`)})]}):null,ae&&(0,F.jsx)(wu,{ref:T,model:a||`fcm`,variant:`full`,stream:s,disabled:!O,onTurnComplete:te,suggestions:Uf,emptyTitle:i(`playground.emptyTitle`),emptyHint:i(`playground.emptyHint`),emptyIcon:(0,F.jsx)(Er,{size:42,style:{opacity:.5}}),placeholder:i(`playground.fullPlaceholder`)})]})]})})}function Kf(){let[e,t]=(0,v.useState)([]),[n,r]=(0,v.useState)(!0),i=(0,v.useCallback)(async()=>{r(!0);try{let e=await(await fetch(`/api/installed-models`)).json();t(e.results||[])}catch{t([])}finally{r(!1)}},[]);return(0,v.useEffect)(()=>{i()},[i]),{results:e,loading:n,refresh:i,disableModel:(0,v.useCallback)(async(e,t)=>{let n=await(await fetch(`/api/installed-models/${encodeURIComponent(e)}/${encodeURIComponent(t)}/disable`,{method:`POST`})).json();return n.success&&await i(),n},[i])}}var qf={overlay:`_overlay_rvjv7_1`,modal:`_modal_rvjv7_10`,header:`_header_rvjv7_24`,title:`_title_rvjv7_32`,count:`_count_rvjv7_42`,headerActions:`_headerActions_rvjv7_51`,refreshBtn:`_refreshBtn_rvjv7_57`,closeBtn:`_closeBtn_rvjv7_71`,body:`_body_rvjv7_82`,empty:`_empty_rvjv7_88`,hint:`_hint_rvjv7_96`,toolGroup:`_toolGroup_rvjv7_102`,toolHeader:`_toolHeader_rvjv7_106`,toolEmoji:`_toolEmoji_rvjv7_113`,toolLabel:`_toolLabel_rvjv7_117`,toolCount:`_toolCount_rvjv7_123`,toolMissing:`_toolMissing_rvjv7_128`,modelList:`_modelList_rvjv7_139`,modelRow:`_modelRow_rvjv7_146`,modelIcon:`_modelIcon_rvjv7_157`,modelName:`_modelName_rvjv7_161`,modelTier:`_modelTier_rvjv7_166`,modelId:`_modelId_rvjv7_175`,disableBtn:`_disableBtn_rvjv7_185`,fadeIn:`_fadeIn_rvjv7_1`};function Jf({onClose:e,onToast:t}){let{t:n}=pi(),{results:r,loading:i,refresh:a,disableModel:o}=Kf(),s=async(e,r)=>{try{let i=await o(e,r);i.success?t?.(n(`installed.disabled`,{model:r,tool:e}),`success`):t?.(n(`installed.failed`,{error:i.error||n(`common.unknown`)}),`error`)}catch(e){t?.(n(`installed.failed`,{error:e.message}),`error`)}},c=r.reduce((e,t)=>e+t.models.length,0);return(0,F.jsx)(`div`,{className:qf.overlay,onClick:t=>t.target===t.currentTarget&&e(),children:(0,F.jsxs)(`div`,{className:qf.modal,children:[(0,F.jsxs)(`div`,{className:qf.header,children:[(0,F.jsxs)(`h2`,{className:qf.title,children:[(0,F.jsx)(hr,{size:20,stroke:1.5}),n(`installed.title`),!i&&(0,F.jsx)(`span`,{className:qf.count,children:c})]}),(0,F.jsxs)(`div`,{className:qf.headerActions,children:[(0,F.jsx)(`button`,{className:qf.refreshBtn,onClick:a,title:n(`installed.refresh`),"aria-label":n(`installed.refresh`),children:(0,F.jsx)(Pr,{size:14})}),(0,F.jsx)(`button`,{className:qf.closeBtn,onClick:e,"aria-label":`Close`,children:`✕`})]})]}),(0,F.jsxs)(`div`,{className:qf.body,children:[i&&(0,F.jsx)(`div`,{className:qf.empty,children:n(`installed.scanning`)}),!i&&c===0&&(0,F.jsxs)(`div`,{className:qf.empty,children:[n(`installed.noModels`),(0,F.jsx)(`br`,{}),(0,F.jsx)(`span`,{className:qf.hint,children:n(`installed.configureHint`)})]}),!i&&r.map(e=>(0,F.jsxs)(`div`,{className:qf.toolGroup,children:[(0,F.jsxs)(`div`,{className:qf.toolHeader,children:[(0,F.jsx)(`span`,{className:qf.toolEmoji,children:e.toolEmoji}),(0,F.jsx)(`span`,{className:qf.toolLabel,children:e.toolLabel}),(0,F.jsx)(`span`,{className:qf.toolCount,children:n(`install.modelsCount`,{count:e.models.length})}),!e.isValid&&(0,F.jsx)(`span`,{className:qf.toolMissing,children:n(`installed.notInstalled`)})]}),e.models.length>0&&(0,F.jsx)(`div`,{className:qf.modelList,children:e.models.map(t=>(0,F.jsxs)(`div`,{className:qf.modelRow,children:[(0,F.jsx)(`span`,{className:qf.modelIcon,children:t.isExternal?`🔗`:`✅`}),(0,F.jsx)(`span`,{className:qf.modelName,children:t.label}),t.tier&&t.tier!==`-`&&(0,F.jsx)(`span`,{className:qf.modelTier,children:t.tier}),(0,F.jsx)(`span`,{className:qf.modelId,title:t.modelId,children:t.modelId}),(0,F.jsx)(`button`,{className:qf.disableBtn,onClick:()=>s(e.toolMode,t.modelId),title:n(`installed.removeTitle`),children:(0,F.jsx)(Ur,{size:12})})]},`${e.toolMode}-${t.modelId}`))})]},e.toolMode))]})]})})}var $={overlay:`_overlay_1nrgq_1`,modal:`_modal_1nrgq_10`,header:`_header_1nrgq_24`,title:`_title_1nrgq_32`,closeBtn:`_closeBtn_1nrgq_42`,steps:`_steps_1nrgq_54`,step:`_step_1nrgq_54`,stepActive:`_stepActive_1nrgq_71`,stepDone:`_stepDone_1nrgq_76`,stepNum:`_stepNum_1nrgq_80`,stepLabel:`_stepLabel_1nrgq_105`,body:`_body_1nrgq_111`,stepContent:`_stepContent_1nrgq_118`,stepDesc:`_stepDesc_1nrgq_120`,loading:`_loading_1nrgq_126`,empty:`_empty_1nrgq_126`,grid:`_grid_1nrgq_134`,pickCard:`_pickCard_1nrgq_140`,pickActive:`_pickActive_1nrgq_156`,pickEmoji:`_pickEmoji_1nrgq_162`,pickLabel:`_pickLabel_1nrgq_166`,pickMeta:`_pickMeta_1nrgq_171`,scopeToggle:`_scopeToggle_1nrgq_177`,scopeBtn:`_scopeBtn_1nrgq_183`,scopeActive:`_scopeActive_1nrgq_194`,modelGrid:`_modelGrid_1nrgq_202`,modelCard:`_modelCard_1nrgq_210`,modelSelected:`_modelSelected_1nrgq_224`,modelName:`_modelName_1nrgq_230`,modelTier:`_modelTier_1nrgq_236`,allNotice:`_allNotice_1nrgq_247`,installingState:`_installingState_1nrgq_255`,installingLabel:`_installingLabel_1nrgq_265`,installingSub:`_installingSub_1nrgq_271`,spinner:`_spinner_1nrgq_276`,spin:`_spin_1nrgq_276`,doneState:`_doneState_1nrgq_280`,doneFadeIn:`_doneFadeIn_1nrgq_1`,doneTitle:`_doneTitle_1nrgq_290`,doneSub:`_doneSub_1nrgq_296`,checkCircle:`_checkCircle_1nrgq_308`,checkPop:`_checkPop_1nrgq_1`,errorDot:`_errorDot_1nrgq_320`,installPath:`_installPath_1nrgq_334`,footer:`_footer_1nrgq_363`,backBtn:`_backBtn_1nrgq_370`,nextBtn:`_nextBtn_1nrgq_384`,doneBtn:`_doneBtn_1nrgq_401`,donePop:`_donePop_1nrgq_1`,fadeIn:`_fadeIn_1nrgq_1`},Yf=[`install.step.provider`,`install.step.tool`,`install.step.models`,`install.step.install`],Xf=[`Provider`,`Tool`,`Models`,`Install`];function Zf({onClose:e,onToast:t}){let{t:n}=pi(),[r,i]=(0,v.useState)(0),[a,o]=(0,v.useState)([]),[s,c]=(0,v.useState)(null),[l,u]=(0,v.useState)([]),[d,f]=(0,v.useState)(null),[p,m]=(0,v.useState)([]),[h,g]=(0,v.useState)(`all`),[_,y]=(0,v.useState)(!1),[b,x]=(0,v.useState)(null),[S,C]=(0,v.useState)(!0),w=[{id:`opencode`,label:`OpenCode CLI`,emoji:`💻`},{id:`opencode-desktop`,label:`OpenCode Desktop`,emoji:`🖥️`},{id:`openclaw`,label:`OpenClaw`,emoji:`🦞`},{id:`crush`,label:`Crush`,emoji:`💘`},{id:`goose`,label:`Goose`,emoji:`🪿`},{id:`pi`,label:`Pi`,emoji:`π`},{id:`aider`,label:`Aider`,emoji:`🛠`},{id:`qwen`,label:`Qwen`,emoji:`🐉`},{id:`openhands`,label:`OpenHands`,emoji:`🤲`},{id:`amp`,label:`Amp`,emoji:`⚡`},{id:`forgecode`,label:`ForgeCode`,emoji:`🔥`},{id:`zcode`,label:`ZCode`,emoji:`🧊`},{id:`fcm_router`,label:`FCM Router`,emoji:`🔄`}];(0,v.useEffect)(()=>{fetch(`/api/install-endpoints/providers`).then(e=>e.json()).then(e=>{o(e.providers||[]),C(!1)}).catch(()=>C(!1))},[]),(0,v.useEffect)(()=>{s&&fetch(`/api/install-endpoints/catalog?provider=${s.providerKey}`).then(e=>e.json()).then(e=>u(e.models||[])).catch(()=>u([]))},[s]);let T=(0,v.useCallback)(e=>{m(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),ee=(0,v.useCallback)(()=>{m(l.map(e=>e.modelId)),g(`all`)},[l]);(0,v.useCallback)(()=>{m([]),g(`selected`)},[]);let E=()=>r===0?!!s:r===1?!!d:r!==2||h===`all`||p.length>0,te=async()=>{i(3),y(!0),x(null);try{let e=await(await fetch(`/api/install-endpoints/wizard`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providerKey:s.providerKey,toolMode:d,scope:h,modelIds:h===`selected`?p:[]})})).json();e.success?(x(e),t?.(`${n(`install.installed`)} ${n(`install.modelsCount`,{count:e.modelCount})} ${s.label} → ${w.find(e=>e.id===d)?.label||d}.`,`success`)):(x(null),t?.(`${n(`install.installFailed`)}: ${e.error||n(`common.unknown`)}`,`error`),i(2))}catch(e){x(null),t?.(`${n(`install.installFailed`)}: ${e.message}`,`error`),i(2)}finally{y(!1)}};return(0,F.jsx)(`div`,{className:$.overlay,onClick:t=>t.target===t.currentTarget&&e(),children:(0,F.jsxs)(`div`,{className:$.modal,children:[(0,F.jsxs)(`div`,{className:$.header,children:[(0,F.jsxs)(`h2`,{className:$.title,children:[(0,F.jsx)(jr,{size:20,stroke:1.5}),n(`install.title`)]}),(0,F.jsx)(`button`,{className:$.closeBtn,onClick:e,"aria-label":n(`common.close`),children:`✕`})]}),(0,F.jsx)(`div`,{className:$.steps,children:Xf.map((e,t)=>(0,F.jsxs)(`div`,{className:`${$.step} ${t===r?$.stepActive:t<r?$.stepDone:``}`,children:[(0,F.jsx)(`span`,{className:$.stepNum,children:t<r?(0,F.jsx)(Kn,{size:12}):t+1}),(0,F.jsx)(`span`,{className:$.stepLabel,children:n(Yf[t])})]},t))}),(0,F.jsxs)(`div`,{className:$.body,children:[r===0&&(0,F.jsxs)(`div`,{className:$.stepContent,children:[(0,F.jsx)(`p`,{className:$.stepDesc,children:n(`install.chooseProviderHint`)}),S&&(0,F.jsx)(`div`,{className:$.loading,children:n(`install.loadingProviders`)}),!S&&a.length===0&&(0,F.jsx)(`div`,{className:$.empty,children:n(`install.noProvidersConfigured`)}),(0,F.jsx)(`div`,{className:$.grid,children:a.map(e=>(0,F.jsxs)(`button`,{className:`${$.pickCard} ${s?.providerKey===e.providerKey?$.pickActive:``}`,onClick:()=>{c(e),i(1)},children:[(0,F.jsx)(`span`,{className:$.pickLabel,children:e.label}),(0,F.jsx)(`span`,{className:$.pickMeta,children:n(`install.modelsCount`,{count:e.modelCount})})]},e.providerKey))})]}),r===1&&(0,F.jsxs)(`div`,{className:$.stepContent,children:[(0,F.jsx)(`p`,{className:$.stepDesc,children:n(`install.chooseToolHint`,{provider:s?.label||``})}),(0,F.jsx)(`div`,{className:$.grid,children:w.map(e=>(0,F.jsxs)(`button`,{className:`${$.pickCard} ${d===e.id?$.pickActive:``}`,onClick:()=>{f(e.id),i(2)},children:[(0,F.jsx)(`span`,{className:$.pickEmoji,children:e.emoji}),(0,F.jsx)(`span`,{className:$.pickLabel,children:e.label})]},e.id))})]}),r===2&&(0,F.jsxs)(`div`,{className:$.stepContent,children:[(0,F.jsx)(`p`,{className:$.stepDesc,children:n(`install.chooseModelsHint`,{provider:s?.label||``,tool:w.find(e=>e.id===d)?.label||``})}),(0,F.jsxs)(`div`,{className:$.scopeToggle,children:[(0,F.jsx)(`button`,{className:`${$.scopeBtn} ${h===`all`?$.scopeActive:``}`,onClick:()=>{g(`all`),ee()},children:n(`install.scope.all`)}),(0,F.jsx)(`button`,{className:`${$.scopeBtn} ${h===`selected`?$.scopeActive:``}`,onClick:()=>g(`selected`),children:n(`install.selectModels`)})]}),h===`selected`&&(0,F.jsx)(`div`,{className:$.modelGrid,children:l.map(e=>(0,F.jsxs)(`button`,{className:`${$.modelCard} ${p.includes(e.modelId)?$.modelSelected:``}`,onClick:()=>T(e.modelId),children:[(0,F.jsx)(`span`,{className:$.modelName,children:e.label}),(0,F.jsx)(`span`,{className:$.modelTier,children:e.tier})]},e.modelId))}),h===`all`&&(0,F.jsx)(`div`,{className:$.allNotice,children:n(`install.allModelsNotice`,{count:l.length,provider:s?.label||``})})]}),r===3&&(0,F.jsxs)(`div`,{className:$.stepContent,children:[_&&(0,F.jsxs)(`div`,{className:$.installingState,children:[(0,F.jsx)(Cr,{size:32,className:$.spinner}),(0,F.jsx)(`span`,{className:$.installingLabel,children:n(`install.installingCount`,{count:h===`all`?n(`install.scope.all`).toLowerCase():p.length})}),(0,F.jsx)(`span`,{className:$.installingSub,children:n(`install.writingConfig`,{tool:w.find(e=>e.id===d)?.label||``})})]}),!_&&b&&(0,F.jsxs)(`div`,{className:$.doneState,children:[(0,F.jsx)(`div`,{className:$.checkCircle,children:(0,F.jsx)(Kn,{size:36})}),(0,F.jsx)(`h3`,{className:$.doneTitle,children:n(`install.installed`)}),(0,F.jsxs)(`p`,{className:$.doneSub,children:[b.modelCount,` model`,b.modelCount===1?``:`s`,` from `,(0,F.jsx)(`strong`,{children:s?.label}),` → `,(0,F.jsx)(`strong`,{children:b.toolLabel})]}),(0,F.jsx)(`code`,{className:$.installPath,children:b.path})]}),!_&&!b&&(0,F.jsxs)(`div`,{className:$.doneState,children:[(0,F.jsx)(`span`,{className:$.errorDot,children:`✕`}),(0,F.jsx)(`h3`,{className:$.doneTitle,children:n(`install.installFailed`)}),(0,F.jsx)(`p`,{className:$.doneSub,children:n(`install.retryHint`)})]})]})]}),(0,F.jsxs)(`div`,{className:$.footer,children:[r>0&&r<3&&(0,F.jsxs)(`button`,{className:$.backBtn,onClick:()=>{i(e=>Math.max(e-1,0))},children:[(0,F.jsx)(Yn,{size:14}),n(`common.back`)]}),r===3&&!_&&!b&&(0,F.jsxs)(`button`,{className:$.backBtn,onClick:()=>i(2),children:[(0,F.jsx)(Yn,{size:14}),n(`common.back`)]}),r<3&&(0,F.jsx)(`button`,{className:$.nextBtn,onClick:()=>{if(r===2){te();return}i(e=>Math.min(e+1,3))},disabled:!E(),children:r===2?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(jr,{size:14}),n(`install.install`)]}):(0,F.jsxs)(F.Fragment,{children:[n(`install.next`),(0,F.jsx)(Xn,{size:14})]})}),r===3&&!_&&b&&(0,F.jsxs)(`button`,{className:$.doneBtn,onClick:e,children:[(0,F.jsx)(Kn,{size:14}),n(`install.done`)]})]})]})})}var Qf={container:`_container_18l8h_1`},$f={toast:`_toast_73ezc_1`,slideIn:`_slideIn_73ezc_1`,success:`_success_73ezc_17`,error:`_error_73ezc_18`,warning:`_warning_73ezc_19`,info:`_info_73ezc_20`,icon:`_icon_73ezc_27`,message:`_message_73ezc_28`,close:`_close_73ezc_29`,exiting:`_exiting_73ezc_38`,slideOut:`_slideOut_73ezc_1`},ep={success:`✅`,error:`❌`,warning:`⚠️`,info:`ℹ️`};function tp({message:e,type:t=`info`,duration:n=3500,onDismiss:r}){let{t:i}=pi(),a=(0,v.useRef)(null);return(0,v.useEffect)(()=>(a.current=setTimeout(r,n),()=>clearTimeout(a.current)),[n,r]),(0,F.jsxs)(`div`,{className:`${$f.toast} ${$f[t]}`,children:[(0,F.jsx)(`span`,{className:$f.icon,children:ep[t]||`📌`}),(0,F.jsx)(`span`,{className:$f.message,children:e}),(0,F.jsx)(`button`,{className:$f.close,onClick:r,"aria-label":i(`common.close`),children:`×`})]})}function np({toasts:e,dismissToast:t}){return(0,F.jsx)(`div`,{className:Qf.container,children:e.map(e=>(0,F.jsx)(tp,{message:e.message,type:e.type,onDismiss:()=>t(e.id)},e.id))})}var rp=0;function ip(){let{t:e}=pi(),{models:t,connected:n,nextPingAt:r,isPinging:i,pingMode:a,globalBenchmarkRunning:o,globalBenchmarkTotal:s,globalBenchmarkCompleted:c}=Nt(),{theme:l,cycle:u}=cn(),[d,f]=(0,v.useState)(`dashboard`),[p,m]=(0,v.useState)(null),[h,g]=(0,v.useState)(!1),[_,y]=(0,v.useState)(!1),[b,x]=(0,v.useState)(null),[S,C]=(0,v.useState)(null),[w,T]=(0,v.useState)([]),ee=(0,v.useRef)(Date.now());(0,v.useEffect)(()=>{try{typeof window<`u`&&window.posthog?.capture&&window.posthog.capture(`app_web_start`,{version:`0.5.98`,timestamp:new Date().toISOString()})}catch{}},[]),(0,v.useEffect)(()=>{if(d===`router`)try{typeof window<`u`&&window.posthog?.capture&&window.posthog.capture(`app_router_start`,{version:`0.5.98`,timestamp:new Date().toISOString()})}catch{}},[d]);let E=(0,v.useCallback)((e,t=`info`)=>{let n=++rp;T(r=>[...r,{id:n,message:e,type:t}]),setTimeout(()=>{T(e=>e.filter(e=>e.id!==n))},4e3)},[]),te=(0,v.useCallback)(e=>{T(t=>t.filter(t=>t.id!==e))},[]),{filtered:D,filterTier:O,setFilterTier:ne,filterStatus:re,setFilterStatus:ie,filterProvider:ae,setFilterProvider:k,filterVerdict:oe,setFilterVerdict:se,filterHealth:ce,setFilterHealth:le,visibilityMode:ue,setVisibilityMode:de,searchQuery:fe,setSearchQuery:pe,customTextFilter:me,setCustomTextFilter:he,sortColumn:ge,sortDirection:_e,setSortColumn:ve,setSortDirection:ye,toggleSort:be,resetView:A}=rn(t),{toolMode:j,setToolMode:xe,cycleToolMode:Se}=mn({onToast:E});jn({currentView:d,setCurrentView:f,filterState:{filterTier:O,setFilterTier:ne,filterStatus:re,setFilterStatus:ie,filterProvider:ae,setFilterProvider:k,filterVerdict:oe,setFilterVerdict:se,filterHealth:ce,setFilterHealth:le,sortColumn:ge,sortDirection:_e,setSortColumn:ve,setSortDirection:ye,toggleSort:be,setSearchQuery:pe,filterState:null,searchQuery:fe},paletteOpen:_,setPaletteOpen:y,toolMode:j,setToolMode:xe});let Ce=un({models:t}),we=(0,v.useCallback)(async(e,t=null)=>{let n=t||j||`opencode`;if(e){if(!bn(e.providerKey,n)){C({model:e,toolMode:n});return}try{let t=await fetch(`/api/install-endpoint`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providerKey:e.providerKey,modelId:e.modelId,toolMode:n})}),r=await t.json().catch(()=>({}));if(t.status===422&&r.code===`incompatible_model`){C({model:e,toolMode:n});return}if(!t.ok)throw Error(r.error||`HTTP ${t.status}`);E(`Endpoint installed for ${e.label} in ${n}. Start the tool yourself.`,`success`)}catch(e){E(`Endpoint install failed: ${e.message}`,`error`)}}},[E,j]),Te=(0,v.useCallback)(async(e,t)=>{await xe(e),C(null),await we(t,e)},[we,xe]),M=(0,v.useCallback)(async e=>{Ce.isFavorite(e)||await Ce.toggle(e),await we(e)},[Ce,we]),{localVersion:Ee,latestVersion:De,updateAvailable:Oe,runUpdate:ke,checkNow:Ae,error:je}=Pn({onToast:E}),Me=(0,v.useMemo)(()=>{let e={};return t.forEach(t=>{e[t.providerKey]||(e[t.providerKey]={key:t.providerKey,name:t.origin,count:0,hasKey:!1,anyUp:!1}),e[t.providerKey].count++,t.hasApiKey&&(e[t.providerKey].hasKey=!0),t.status===`up`&&(e[t.providerKey].anyUp=!0)}),Object.values(e).sort((e,t)=>e.name.localeCompare(t.name))},[t]),Ne=(0,v.useCallback)(async()=>{if(!o)try{await fetch(`/api/global-benchmark`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({models:D.map(e=>({providerKey:e.providerKey,modelId:e.modelId}))})})}catch(e){console.error(`[Benchmark] Failed to start global benchmark:`,e.message)}},[D,o]),Pe=(0,v.useCallback)(async e=>{try{let t=await fetch(`/api/benchmark`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providerKey:e.providerKey,modelId:e.modelId})});if(!t.ok&&t.status!==202){let e=await t.json().catch(()=>({}));E(`Benchmark failed: ${e?.error||t.statusText}`,`error`)}}catch(e){console.error(`[Benchmark] per-row failed:`,e.message)}},[E]),Fe=(0,v.useCallback)(e=>{m(e),ee.current=Date.now()},[]);(0,v.useCallback)(()=>m(null),[]);let Ie=(0,v.useCallback)(async e=>{try{await fetch(`/api/ping-mode?action=${e}`,{method:`POST`})}catch{}},[]),Le=(0,v.useCallback)(e=>{e===`changelog`&&x(null),f(e),ee.current=Date.now()},[]),Re=(0,v.useCallback)(()=>{A(),pe(``),E(e(`dashboard.resetToast`),`info`)},[E,A,pe,e]),ze=(0,v.useCallback)(e=>{x(e),f(`changelog`)},[]);return(0,v.useEffect)(()=>{let e=e=>{let t=e.metaKey||e.ctrlKey;if(t&&(e.key===`k`||e.key===`K`)){e.preventDefault(),y(e=>!e);return}if(t&&(e.key===`p`||e.key===`P`)&&!e.shiftKey){e.preventDefault(),y(e=>!e);return}if(e.key===`Escape`){if(_){y(!1);return}if(S){C(null);return}if(p){m(null);return}if(h){g(!1);return}}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[_,S,p,h]),(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`div`,{className:`app-shell`,children:[(0,F.jsx)(vi,{searchQuery:fe,onSearchChange:pe,currentView:d,onNavigate:Le,onToggleTheme:u,onOpenExport:()=>g(!0),onOpenCommandPalette:()=>y(!0),onBenchmark:Ne,benchmarkRunning:o,benchmarkTotal:s,benchmarkCompleted:c,modelsCount:D.length,theme:l,onToast:E,toolMode:j,onSetToolMode:xe,onCycleToolMode:Se,updateSlot:(0,F.jsx)(mf,{updateAvailable:Oe,latestVersion:De,onRunUpdate:ke,onOpenChangelog:ze})}),(0,F.jsxs)(`div`,{className:`app-content`,children:[d===`dashboard`&&(0,F.jsxs)(`main`,{className:`view dashboardView`,children:[(0,F.jsx)(ba,{filterTier:O,setFilterTier:ne,filterStatus:re,setFilterStatus:ie,filterProvider:ae,setFilterProvider:k,filterVerdict:oe,setFilterVerdict:se,filterHealth:ce,setFilterHealth:le,visibilityMode:ue,setVisibilityMode:de,customTextFilter:me,setCustomTextFilter:he,searchQuery:fe,onSearchChange:pe,onResetView:Re,providers:Me,pingMode:a,setPingMode:Ie,nextPingAt:r,isPinging:i,globalBenchmarkRunning:o,globalBenchmarkTotal:s,globalBenchmarkCompleted:c,toolMode:j}),(0,F.jsx)(Ju,{filtered:D,onSelectModel:Fe,onBenchmarkRow:Pe,onLaunch:we,favorites:Ce,sortColumn:ge,sortDirection:_e,onSort:be,toolMode:j,onToast:E,onSetToolMode:xe,onCycleToolMode:Se,onOpenFallback:e=>C({model:e,toolMode:j})})]}),d===`settings`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)($u,{onToast:E,onOpenChangelog:e=>{x(e),Le(`changelog`)},onCheckForUpdate:()=>{Ae(),E?.(e(`update.checking`),`info`)}})}),d===`analytics`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(cd,{models:t})}),d===`router`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(Nf,{onClose:()=>Le(`dashboard`),onToast:E,favorites:Ce})}),d===`router-v2`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(Z,{onClose:()=>Le(`dashboard`),onToast:E})}),d===`playground`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(Gf,{onClose:()=>Le(`dashboard`),onToast:E,models:t,routerStatus:null})}),d===`help`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(sf,{onClose:()=>Le(`dashboard`)})}),d===`changelog`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(df,{onClose:()=>Le(`dashboard`),defaultVersion:b})}),d===`installed-models`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(Jf,{onClose:()=>Le(`dashboard`),onToast:E})}),d===`install-endpoints`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(Zf,{onClose:()=>Le(`dashboard`),onToast:E})}),d===`recommend`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(xf,{onClose:()=>Le(`dashboard`),toolMode:j,onLaunch:we,onPinAndLaunch:M,onToast:E})}),(0,F.jsx)(bi,{})]})]}),h&&(0,F.jsx)(Zu,{models:D,onClose:()=>g(!1),onToast:E}),_&&(0,F.jsx)(rf,{onClose:()=>y(!1),onNavigate:Le,onCycleTheme:u,onResetView:Re,onSetPingMode:Ie,onOpenHelp:()=>Le(`help`),onOpenChangelog:()=>{x(null),Le(`changelog`)},onOpenPlayground:()=>Le(`playground`),onExport:()=>g(!0),onRunUpdate:ke,currentView:d,theme:l,pingMode:a,models:t,updateAvailable:Oe,latestVersion:De,onToast:E}),S&&(0,F.jsx)(Cf,{request:S,models:t,onClose:()=>C(null),onSwitchToolLaunch:Te,onLaunchSimilar:e=>{C(null);let n=t.find(t=>t.providerKey===e.providerKey&&t.modelId===e.modelId)||e;we(n)}}),(0,F.jsx)(np,{toasts:w,dismissToast:te})]})}function ap(){return(0,F.jsx)(fi,{children:(0,F.jsx)(ip,{})})}(0,y.createRoot)(document.getElementById(`root`)).render((0,F.jsx)(v.StrictMode,{children:(0,F.jsx)(ap,{})}));
45
+ `,`model: fcm (or fcm:@provider/model)`]})]})]}),(0,F.jsxs)(`p`,{className:X.dim,children:[n(`router.v2.pinOneHint`),` `,(0,F.jsxs)(`code`,{children:[`model: "fcm:@`,b[0]?.key||`provider/model`,`"`]})]})]})]})]})}var Q={overlay:`_overlay_1kxet_7`,modal:`_modal_1kxet_16`,header:`_header_1kxet_40`,headerLeft:`_headerLeft_1kxet_49`,headerTitle:`_headerTitle_1kxet_56`,headerSubtitle:`_headerSubtitle_1kxet_64`,headerActions:`_headerActions_1kxet_70`,iconBtn:`_iconBtn_1kxet_76`,modelBar:`_modelBar_1kxet_94`,modelLabel:`_modelLabel_1kxet_105`,modelSelect:`_modelSelect_1kxet_110`,presetChip:`_presetChip_1kxet_128`,prePromptToggle:`_prePromptToggle_1kxet_145`,transcript:`_transcript_1kxet_158`,chatBody:`_chatBody_1kxet_171`,empty:`_empty_1kxet_178`,emptyTitle:`_emptyTitle_1kxet_190`,emptyHint:`_emptyHint_1kxet_196`,message:`_message_1kxet_202`,msgIn:`_msgIn_1kxet_1`,user:`_user_1kxet_215`,assistant:`_assistant_1kxet_219`,system:`_system_1kxet_223`,messageRole:`_messageRole_1kxet_228`,bubble:`_bubble_1kxet_237`,codeBlock:`_codeBlock_1kxet_268`,meta:`_meta_1kxet_280`,metaChip:`_metaChip_1kxet_289`,provider:`_provider_1kxet_300`,error:`_error_1kxet_305`,cursor:`_cursor_1kxet_310`,blink:`_blink_1kxet_1`,inputBar:`_inputBar_1kxet_325`,textarea:`_textarea_1kxet_335`,sendBtn:`_sendBtn_1kxet_360`,errorBar:`_errorBar_1kxet_385`,stopBar:`_stopBar_1kxet_397`,stopBtn:`_stopBtn_1kxet_409`,daemonStartPanel:`_daemonStartPanel_1kxet_426`,daemonStartTitle:`_daemonStartTitle_1kxet_438`,daemonStartHint:`_daemonStartHint_1kxet_444`,daemonStartBtn:`_daemonStartBtn_1kxet_451`,daemonStartAlt:`_daemonStartAlt_1kxet_483`,spin:`_spin_1kxet_497`,spinAnim:`_spinAnim_1kxet_1`,fadeIn:`_fadeIn_1kxet_1`,slideUp:`_slideUp_1kxet_1`},Uf=[`Write a Python fizzbuzz with type hints`,`Explain Big O notation with three examples`,`Refactor a deeply nested for-loop into map/filter`,`Write a tiny Express endpoint that returns JSON`];function Wf({routerStatus:e,daemonRunning:t}){let{t:n}=pi();return t===!0?(0,F.jsxs)(`span`,{className:Q.metaChip,children:[(0,F.jsx)(Wn,{size:11}),n(`playground.routerOnline`)]}):t===!1?(0,F.jsxs)(`span`,{className:`${Q.metaChip} ${Q.error}`,children:[(0,F.jsx)(Rn,{size:11}),n(`playground.routerOffline`)]}):(0,F.jsxs)(`span`,{className:Q.metaChip,children:[(0,F.jsx)(Cr,{size:11,className:Q.spin}),n(`playground.checkingRouter`)]})}function Gf({onClose:e,onToast:t,models:n,routerStatus:r}){let{t:i}=pi(),[a,o]=(0,v.useState)(null),[s,c]=(0,v.useState)(!0),[l,u]=(0,v.useState)(!0),[d,f]=(0,v.useState)(``),[p,m]=(0,v.useState)(r?.running===!0||null),[h,g]=(0,v.useState)(!1),[_,y]=(0,v.useState)(5),b=(0,v.useRef)(null),x=(0,v.useRef)(null),S=(0,v.useRef)(!1),[C,w]=(0,v.useState)({count:0,totalTokens:0}),T=(0,v.useRef)(null);(0,v.useEffect)(()=>{fetch(`/api/router/preprompt`).then(e=>e.json()).then(e=>{e&&typeof e==`object`&&(u(e.enabled===!0),typeof e.text==`string`&&f(e.text))}).catch(()=>{})},[]),(0,v.useEffect)(()=>{if(a!==null)return;let e=(Array.isArray(n)?n:[]).filter(e=>e.status===`up`&&e.hasApiKey&&!e.isPinging);if(e.length>0){let t={"S+":0,S:1,"A+":2,A:3,"A-":4,"B+":5,B:6,C:7};e.sort((e,n)=>{let r=t[e.tier]??99,i=t[n.tier]??99;return r===i?(typeof e.avg==`number`?e.avg:99999)-(typeof n.avg==`number`?n.avg:99999):r-i}),o(`${e[0].providerKey}/${e[0].modelId}`);return}o(`fcm`)},[n,a]),(0,v.useEffect)(()=>{let e=!0;async function t(){try{let t=await(await fetch(`/api/router/status`)).json();if(!e)return;m(t?.running===!0)}catch{e&&m(!1)}}return t(),()=>{e=!1,b.current&&clearInterval(b.current),x.current&&clearInterval(x.current)}},[]);let ee=(0,v.useCallback)(async()=>{if(!h){b.current&&=(clearInterval(b.current),null),S.current=!0,g(!0);try{await fetch(`/api/router/start`,{method:`POST`});let e=0;await new Promise(t=>{x.current=setInterval(async()=>{e+=1;try{(await(await fetch(`/api/router/status`)).json())?.running&&(clearInterval(x.current),m(!0),g(!1),t())}catch{}e>=30&&(clearInterval(x.current),g(!1),t())},1e3)})}catch{g(!1)}}},[h]);(0,v.useEffect)(()=>{if(p!==!1||a!==`fcm`||S.current)return;let e=5;return y(5),b.current=setInterval(()=>{--e,y(e),e<=0&&(clearInterval(b.current),S.current=!0,ee())},1e3),()=>{b.current&&clearInterval(b.current)}},[p,a,ee]);let E=(0,v.useMemo)(()=>{let e=[{value:`fcm`,label:i(`playground.autoRouterRecommended`)}];if(Array.isArray(n))for(let t of n.slice(0,200)){let n=t.modelId||t.id;if(!n)continue;let r=t.label||n;e.push({value:`${t.providerKey}/${n}`,label:`${t.providerKey}/${n} (${r})`})}return e},[n,i]),te=(0,v.useCallback)(e=>{w({count:e.count,totalTokens:e.totalTokens})},[]),D=(0,v.useCallback)(()=>{T.current?.clear(),w({count:0,totalTokens:0})},[]),O=a!==`fcm`||p===!0,ne=C.count>0,re=a===`fcm`&&!ne&&p===!1&&!h,ie=a===`fcm`&&!ne&&h,ae=!re&&!ie;return(0,F.jsx)(`div`,{className:Q.overlay,onClick:t=>{t.target===t.currentTarget&&e()},children:(0,F.jsxs)(`div`,{className:Q.modal,role:`dialog`,"aria-label":i(`playground.title`),children:[(0,F.jsxs)(`div`,{className:Q.header,children:[(0,F.jsxs)(`div`,{className:Q.headerLeft,children:[(0,F.jsxs)(`div`,{className:Q.headerTitle,children:[(0,F.jsx)(Er,{size:18}),i(`playground.title`)]}),(0,F.jsx)(`div`,{className:Q.headerSubtitle,children:i(`playground.messagesTokens`,{messages:C.count,tokens:C.totalTokens})})]}),(0,F.jsxs)(`div`,{className:Q.headerActions,children:[(0,F.jsx)(`button`,{className:Q.iconBtn,onClick:D,title:i(`playground.clear`),disabled:!ne,children:(0,F.jsx)(Ur,{size:16})}),(0,F.jsx)(`button`,{className:Q.iconBtn,onClick:e,title:`${i(`common.close`)} (Esc)`,children:(0,F.jsx)(qr,{size:16})})]})]}),(0,F.jsxs)(`div`,{className:Q.modelBar,children:[(0,F.jsxs)(`span`,{className:Q.modelLabel,children:[i(`playground.model`),`:`]}),(0,F.jsx)(`select`,{className:Q.modelSelect,value:a??`fcm`,onChange:e=>o(e.target.value),disabled:!ae,children:E.map(e=>(0,F.jsx)(`option`,{value:e.value,children:e.label},e.value))}),(0,F.jsx)(`button`,{className:Q.presetChip,onClick:()=>c(e=>!e),title:i(`playground.toggleStreaming`),children:i(s?`playground.streamOn`:`playground.streamOff`)}),(0,F.jsxs)(`label`,{className:Q.prePromptToggle,title:i(`playground.prePromptHint`),children:[(0,F.jsx)(`input`,{type:`checkbox`,checked:l,onChange:e=>u(e.target.checked)}),i(`playground.persona`)]}),(0,F.jsx)(Wf,{routerStatus:r,daemonRunning:p})]}),l&&d&&(0,F.jsxs)(`div`,{className:Q.modelBar,style:{borderTop:`none`,background:`transparent`,paddingTop:4,paddingBottom:8,fontSize:11},children:[(0,F.jsxs)(`span`,{className:Q.modelLabel,style:{flexShrink:0},children:[i(`playground.persona`),`:`]}),(0,F.jsx)(`span`,{style:{opacity:.7,fontStyle:`italic`},children:d.length>160?`${d.slice(0,160)}…`:d})]}),(0,F.jsxs)(`div`,{className:Q.chatBody,children:[re?(0,F.jsxs)(`div`,{className:Q.daemonStartPanel,children:[(0,F.jsx)(Rn,{size:32,style:{color:`#fbbf24`,opacity:.8}}),(0,F.jsx)(`div`,{className:Q.daemonStartTitle,children:i(`playground.daemonStopped`)}),(0,F.jsx)(`div`,{className:Q.daemonStartHint,children:i(`playground.routerHint`)}),(0,F.jsx)(`button`,{className:Q.daemonStartBtn,onClick:ee,title:i(`playground.startDaemon`),children:h?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(Cr,{size:14,className:Q.spin}),` `,i(`playground.startingDaemon`)]}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(Or,{size:14}),` `,i(`playground.startRouter`),_>0&&!S.current?` (${i(`playground.autoStartIn`,{seconds:_})})`:``]})}),(0,F.jsxs)(`div`,{className:Q.daemonStartAlt,children:[i(`playground.runCommand`),` `,(0,F.jsx)(`code`,{children:`free-coding-models --daemon-bg`})]})]}):ie?(0,F.jsxs)(`div`,{className:Q.daemonStartPanel,children:[(0,F.jsx)(Cr,{size:32,className:Q.spin,style:{color:`var(--accent, #22c55e)`}}),(0,F.jsx)(`div`,{className:Q.daemonStartTitle,children:i(`playground.startingDaemon`)}),(0,F.jsx)(`div`,{className:Q.daemonStartHint,children:i(`playground.waitingForDaemon`)})]}):null,ae&&(0,F.jsx)(wu,{ref:T,model:a||`fcm`,variant:`full`,stream:s,disabled:!O,onTurnComplete:te,suggestions:Uf,emptyTitle:i(`playground.emptyTitle`),emptyHint:i(`playground.emptyHint`),emptyIcon:(0,F.jsx)(Er,{size:42,style:{opacity:.5}}),placeholder:i(`playground.fullPlaceholder`)})]})]})})}function Kf(){let[e,t]=(0,v.useState)([]),[n,r]=(0,v.useState)(!0),i=(0,v.useCallback)(async()=>{r(!0);try{let e=await(await fetch(`/api/installed-models`)).json();t(e.results||[])}catch{t([])}finally{r(!1)}},[]);return(0,v.useEffect)(()=>{i()},[i]),{results:e,loading:n,refresh:i,disableModel:(0,v.useCallback)(async(e,t)=>{let n=await(await fetch(`/api/installed-models/${encodeURIComponent(e)}/${encodeURIComponent(t)}/disable`,{method:`POST`})).json();return n.success&&await i(),n},[i])}}var qf={overlay:`_overlay_rvjv7_1`,modal:`_modal_rvjv7_10`,header:`_header_rvjv7_24`,title:`_title_rvjv7_32`,count:`_count_rvjv7_42`,headerActions:`_headerActions_rvjv7_51`,refreshBtn:`_refreshBtn_rvjv7_57`,closeBtn:`_closeBtn_rvjv7_71`,body:`_body_rvjv7_82`,empty:`_empty_rvjv7_88`,hint:`_hint_rvjv7_96`,toolGroup:`_toolGroup_rvjv7_102`,toolHeader:`_toolHeader_rvjv7_106`,toolEmoji:`_toolEmoji_rvjv7_113`,toolLabel:`_toolLabel_rvjv7_117`,toolCount:`_toolCount_rvjv7_123`,toolMissing:`_toolMissing_rvjv7_128`,modelList:`_modelList_rvjv7_139`,modelRow:`_modelRow_rvjv7_146`,modelIcon:`_modelIcon_rvjv7_157`,modelName:`_modelName_rvjv7_161`,modelTier:`_modelTier_rvjv7_166`,modelId:`_modelId_rvjv7_175`,disableBtn:`_disableBtn_rvjv7_185`,fadeIn:`_fadeIn_rvjv7_1`};function Jf({onClose:e,onToast:t}){let{t:n}=pi(),{results:r,loading:i,refresh:a,disableModel:o}=Kf(),s=async(e,r)=>{try{let i=await o(e,r);i.success?t?.(n(`installed.disabled`,{model:r,tool:e}),`success`):t?.(n(`installed.failed`,{error:i.error||n(`common.unknown`)}),`error`)}catch(e){t?.(n(`installed.failed`,{error:e.message}),`error`)}},c=r.reduce((e,t)=>e+t.models.length,0);return(0,F.jsx)(`div`,{className:qf.overlay,onClick:t=>t.target===t.currentTarget&&e(),children:(0,F.jsxs)(`div`,{className:qf.modal,children:[(0,F.jsxs)(`div`,{className:qf.header,children:[(0,F.jsxs)(`h2`,{className:qf.title,children:[(0,F.jsx)(hr,{size:20,stroke:1.5}),n(`installed.title`),!i&&(0,F.jsx)(`span`,{className:qf.count,children:c})]}),(0,F.jsxs)(`div`,{className:qf.headerActions,children:[(0,F.jsx)(`button`,{className:qf.refreshBtn,onClick:a,title:n(`installed.refresh`),"aria-label":n(`installed.refresh`),children:(0,F.jsx)(Pr,{size:14})}),(0,F.jsx)(`button`,{className:qf.closeBtn,onClick:e,"aria-label":`Close`,children:`✕`})]})]}),(0,F.jsxs)(`div`,{className:qf.body,children:[i&&(0,F.jsx)(`div`,{className:qf.empty,children:n(`installed.scanning`)}),!i&&c===0&&(0,F.jsxs)(`div`,{className:qf.empty,children:[n(`installed.noModels`),(0,F.jsx)(`br`,{}),(0,F.jsx)(`span`,{className:qf.hint,children:n(`installed.configureHint`)})]}),!i&&r.map(e=>(0,F.jsxs)(`div`,{className:qf.toolGroup,children:[(0,F.jsxs)(`div`,{className:qf.toolHeader,children:[(0,F.jsx)(`span`,{className:qf.toolEmoji,children:e.toolEmoji}),(0,F.jsx)(`span`,{className:qf.toolLabel,children:e.toolLabel}),(0,F.jsx)(`span`,{className:qf.toolCount,children:n(`install.modelsCount`,{count:e.models.length})}),!e.isValid&&(0,F.jsx)(`span`,{className:qf.toolMissing,children:n(`installed.notInstalled`)})]}),e.models.length>0&&(0,F.jsx)(`div`,{className:qf.modelList,children:e.models.map(t=>(0,F.jsxs)(`div`,{className:qf.modelRow,children:[(0,F.jsx)(`span`,{className:qf.modelIcon,children:t.isExternal?`🔗`:`✅`}),(0,F.jsx)(`span`,{className:qf.modelName,children:t.label}),t.tier&&t.tier!==`-`&&(0,F.jsx)(`span`,{className:qf.modelTier,children:t.tier}),(0,F.jsx)(`span`,{className:qf.modelId,title:t.modelId,children:t.modelId}),(0,F.jsx)(`button`,{className:qf.disableBtn,onClick:()=>s(e.toolMode,t.modelId),title:n(`installed.removeTitle`),children:(0,F.jsx)(Ur,{size:12})})]},`${e.toolMode}-${t.modelId}`))})]},e.toolMode))]})]})})}var $={overlay:`_overlay_1nrgq_1`,modal:`_modal_1nrgq_10`,header:`_header_1nrgq_24`,title:`_title_1nrgq_32`,closeBtn:`_closeBtn_1nrgq_42`,steps:`_steps_1nrgq_54`,step:`_step_1nrgq_54`,stepActive:`_stepActive_1nrgq_71`,stepDone:`_stepDone_1nrgq_76`,stepNum:`_stepNum_1nrgq_80`,stepLabel:`_stepLabel_1nrgq_105`,body:`_body_1nrgq_111`,stepContent:`_stepContent_1nrgq_118`,stepDesc:`_stepDesc_1nrgq_120`,loading:`_loading_1nrgq_126`,empty:`_empty_1nrgq_126`,grid:`_grid_1nrgq_134`,pickCard:`_pickCard_1nrgq_140`,pickActive:`_pickActive_1nrgq_156`,pickEmoji:`_pickEmoji_1nrgq_162`,pickLabel:`_pickLabel_1nrgq_166`,pickMeta:`_pickMeta_1nrgq_171`,scopeToggle:`_scopeToggle_1nrgq_177`,scopeBtn:`_scopeBtn_1nrgq_183`,scopeActive:`_scopeActive_1nrgq_194`,modelGrid:`_modelGrid_1nrgq_202`,modelCard:`_modelCard_1nrgq_210`,modelSelected:`_modelSelected_1nrgq_224`,modelName:`_modelName_1nrgq_230`,modelTier:`_modelTier_1nrgq_236`,allNotice:`_allNotice_1nrgq_247`,installingState:`_installingState_1nrgq_255`,installingLabel:`_installingLabel_1nrgq_265`,installingSub:`_installingSub_1nrgq_271`,spinner:`_spinner_1nrgq_276`,spin:`_spin_1nrgq_276`,doneState:`_doneState_1nrgq_280`,doneFadeIn:`_doneFadeIn_1nrgq_1`,doneTitle:`_doneTitle_1nrgq_290`,doneSub:`_doneSub_1nrgq_296`,checkCircle:`_checkCircle_1nrgq_308`,checkPop:`_checkPop_1nrgq_1`,errorDot:`_errorDot_1nrgq_320`,installPath:`_installPath_1nrgq_334`,footer:`_footer_1nrgq_363`,backBtn:`_backBtn_1nrgq_370`,nextBtn:`_nextBtn_1nrgq_384`,doneBtn:`_doneBtn_1nrgq_401`,donePop:`_donePop_1nrgq_1`,fadeIn:`_fadeIn_1nrgq_1`},Yf=[`install.step.provider`,`install.step.tool`,`install.step.models`,`install.step.install`],Xf=[`Provider`,`Tool`,`Models`,`Install`];function Zf({onClose:e,onToast:t}){let{t:n}=pi(),[r,i]=(0,v.useState)(0),[a,o]=(0,v.useState)([]),[s,c]=(0,v.useState)(null),[l,u]=(0,v.useState)([]),[d,f]=(0,v.useState)(null),[p,m]=(0,v.useState)([]),[h,g]=(0,v.useState)(`all`),[_,y]=(0,v.useState)(!1),[b,x]=(0,v.useState)(null),[S,C]=(0,v.useState)(!0),w=[{id:`opencode`,label:`OpenCode CLI`,emoji:`💻`},{id:`opencode-desktop`,label:`OpenCode Desktop`,emoji:`🖥️`},{id:`openclaw`,label:`OpenClaw`,emoji:`🦞`},{id:`crush`,label:`Crush`,emoji:`💘`},{id:`goose`,label:`Goose`,emoji:`🪿`},{id:`pi`,label:`Pi`,emoji:`π`},{id:`aider`,label:`Aider`,emoji:`🛠`},{id:`qwen`,label:`Qwen`,emoji:`🐉`},{id:`openhands`,label:`OpenHands`,emoji:`🤲`},{id:`amp`,label:`Amp`,emoji:`⚡`},{id:`forgecode`,label:`ForgeCode`,emoji:`🔥`},{id:`zcode`,label:`ZCode`,emoji:`🧊`},{id:`fcm_router`,label:`FCM Router`,emoji:`🔄`}];(0,v.useEffect)(()=>{fetch(`/api/install-endpoints/providers`).then(e=>e.json()).then(e=>{o(e.providers||[]),C(!1)}).catch(()=>C(!1))},[]),(0,v.useEffect)(()=>{s&&fetch(`/api/install-endpoints/catalog?provider=${s.providerKey}`).then(e=>e.json()).then(e=>u(e.models||[])).catch(()=>u([]))},[s]);let T=(0,v.useCallback)(e=>{m(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),ee=(0,v.useCallback)(()=>{m(l.map(e=>e.modelId)),g(`all`)},[l]);(0,v.useCallback)(()=>{m([]),g(`selected`)},[]);let E=()=>r===0?!!s:r===1?!!d:r!==2||h===`all`||p.length>0,te=async()=>{i(3),y(!0),x(null);try{let e=await(await fetch(`/api/install-endpoints/wizard`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providerKey:s.providerKey,toolMode:d,scope:h,modelIds:h===`selected`?p:[]})})).json();e.success?(x(e),t?.(`${n(`install.installed`)} ${n(`install.modelsCount`,{count:e.modelCount})} ${s.label} → ${w.find(e=>e.id===d)?.label||d}.`,`success`)):(x(null),t?.(`${n(`install.installFailed`)}: ${e.error||n(`common.unknown`)}`,`error`),i(2))}catch(e){x(null),t?.(`${n(`install.installFailed`)}: ${e.message}`,`error`),i(2)}finally{y(!1)}};return(0,F.jsx)(`div`,{className:$.overlay,onClick:t=>t.target===t.currentTarget&&e(),children:(0,F.jsxs)(`div`,{className:$.modal,children:[(0,F.jsxs)(`div`,{className:$.header,children:[(0,F.jsxs)(`h2`,{className:$.title,children:[(0,F.jsx)(jr,{size:20,stroke:1.5}),n(`install.title`)]}),(0,F.jsx)(`button`,{className:$.closeBtn,onClick:e,"aria-label":n(`common.close`),children:`✕`})]}),(0,F.jsx)(`div`,{className:$.steps,children:Xf.map((e,t)=>(0,F.jsxs)(`div`,{className:`${$.step} ${t===r?$.stepActive:t<r?$.stepDone:``}`,children:[(0,F.jsx)(`span`,{className:$.stepNum,children:t<r?(0,F.jsx)(Kn,{size:12}):t+1}),(0,F.jsx)(`span`,{className:$.stepLabel,children:n(Yf[t])})]},t))}),(0,F.jsxs)(`div`,{className:$.body,children:[r===0&&(0,F.jsxs)(`div`,{className:$.stepContent,children:[(0,F.jsx)(`p`,{className:$.stepDesc,children:n(`install.chooseProviderHint`)}),S&&(0,F.jsx)(`div`,{className:$.loading,children:n(`install.loadingProviders`)}),!S&&a.length===0&&(0,F.jsx)(`div`,{className:$.empty,children:n(`install.noProvidersConfigured`)}),(0,F.jsx)(`div`,{className:$.grid,children:a.map(e=>(0,F.jsxs)(`button`,{className:`${$.pickCard} ${s?.providerKey===e.providerKey?$.pickActive:``}`,onClick:()=>{c(e),i(1)},children:[(0,F.jsx)(`span`,{className:$.pickLabel,children:e.label}),(0,F.jsx)(`span`,{className:$.pickMeta,children:n(`install.modelsCount`,{count:e.modelCount})})]},e.providerKey))})]}),r===1&&(0,F.jsxs)(`div`,{className:$.stepContent,children:[(0,F.jsx)(`p`,{className:$.stepDesc,children:n(`install.chooseToolHint`,{provider:s?.label||``})}),(0,F.jsx)(`div`,{className:$.grid,children:w.map(e=>(0,F.jsxs)(`button`,{className:`${$.pickCard} ${d===e.id?$.pickActive:``}`,onClick:()=>{f(e.id),i(2)},children:[(0,F.jsx)(`span`,{className:$.pickEmoji,children:e.emoji}),(0,F.jsx)(`span`,{className:$.pickLabel,children:e.label})]},e.id))})]}),r===2&&(0,F.jsxs)(`div`,{className:$.stepContent,children:[(0,F.jsx)(`p`,{className:$.stepDesc,children:n(`install.chooseModelsHint`,{provider:s?.label||``,tool:w.find(e=>e.id===d)?.label||``})}),(0,F.jsxs)(`div`,{className:$.scopeToggle,children:[(0,F.jsx)(`button`,{className:`${$.scopeBtn} ${h===`all`?$.scopeActive:``}`,onClick:()=>{g(`all`),ee()},children:n(`install.scope.all`)}),(0,F.jsx)(`button`,{className:`${$.scopeBtn} ${h===`selected`?$.scopeActive:``}`,onClick:()=>g(`selected`),children:n(`install.selectModels`)})]}),h===`selected`&&(0,F.jsx)(`div`,{className:$.modelGrid,children:l.map(e=>(0,F.jsxs)(`button`,{className:`${$.modelCard} ${p.includes(e.modelId)?$.modelSelected:``}`,onClick:()=>T(e.modelId),children:[(0,F.jsx)(`span`,{className:$.modelName,children:e.label}),(0,F.jsx)(`span`,{className:$.modelTier,children:e.tier})]},e.modelId))}),h===`all`&&(0,F.jsx)(`div`,{className:$.allNotice,children:n(`install.allModelsNotice`,{count:l.length,provider:s?.label||``})})]}),r===3&&(0,F.jsxs)(`div`,{className:$.stepContent,children:[_&&(0,F.jsxs)(`div`,{className:$.installingState,children:[(0,F.jsx)(Cr,{size:32,className:$.spinner}),(0,F.jsx)(`span`,{className:$.installingLabel,children:n(`install.installingCount`,{count:h===`all`?n(`install.scope.all`).toLowerCase():p.length})}),(0,F.jsx)(`span`,{className:$.installingSub,children:n(`install.writingConfig`,{tool:w.find(e=>e.id===d)?.label||``})})]}),!_&&b&&(0,F.jsxs)(`div`,{className:$.doneState,children:[(0,F.jsx)(`div`,{className:$.checkCircle,children:(0,F.jsx)(Kn,{size:36})}),(0,F.jsx)(`h3`,{className:$.doneTitle,children:n(`install.installed`)}),(0,F.jsxs)(`p`,{className:$.doneSub,children:[b.modelCount,` model`,b.modelCount===1?``:`s`,` from `,(0,F.jsx)(`strong`,{children:s?.label}),` → `,(0,F.jsx)(`strong`,{children:b.toolLabel})]}),(0,F.jsx)(`code`,{className:$.installPath,children:b.path})]}),!_&&!b&&(0,F.jsxs)(`div`,{className:$.doneState,children:[(0,F.jsx)(`span`,{className:$.errorDot,children:`✕`}),(0,F.jsx)(`h3`,{className:$.doneTitle,children:n(`install.installFailed`)}),(0,F.jsx)(`p`,{className:$.doneSub,children:n(`install.retryHint`)})]})]})]}),(0,F.jsxs)(`div`,{className:$.footer,children:[r>0&&r<3&&(0,F.jsxs)(`button`,{className:$.backBtn,onClick:()=>{i(e=>Math.max(e-1,0))},children:[(0,F.jsx)(Yn,{size:14}),n(`common.back`)]}),r===3&&!_&&!b&&(0,F.jsxs)(`button`,{className:$.backBtn,onClick:()=>i(2),children:[(0,F.jsx)(Yn,{size:14}),n(`common.back`)]}),r<3&&(0,F.jsx)(`button`,{className:$.nextBtn,onClick:()=>{if(r===2){te();return}i(e=>Math.min(e+1,3))},disabled:!E(),children:r===2?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(jr,{size:14}),n(`install.install`)]}):(0,F.jsxs)(F.Fragment,{children:[n(`install.next`),(0,F.jsx)(Xn,{size:14})]})}),r===3&&!_&&b&&(0,F.jsxs)(`button`,{className:$.doneBtn,onClick:e,children:[(0,F.jsx)(Kn,{size:14}),n(`install.done`)]})]})]})})}var Qf={container:`_container_18l8h_1`},$f={toast:`_toast_73ezc_1`,slideIn:`_slideIn_73ezc_1`,success:`_success_73ezc_17`,error:`_error_73ezc_18`,warning:`_warning_73ezc_19`,info:`_info_73ezc_20`,icon:`_icon_73ezc_27`,message:`_message_73ezc_28`,close:`_close_73ezc_29`,exiting:`_exiting_73ezc_38`,slideOut:`_slideOut_73ezc_1`},ep={success:`✅`,error:`❌`,warning:`⚠️`,info:`ℹ️`};function tp({message:e,type:t=`info`,duration:n=3500,onDismiss:r}){let{t:i}=pi(),a=(0,v.useRef)(null);return(0,v.useEffect)(()=>(a.current=setTimeout(r,n),()=>clearTimeout(a.current)),[n,r]),(0,F.jsxs)(`div`,{className:`${$f.toast} ${$f[t]}`,children:[(0,F.jsx)(`span`,{className:$f.icon,children:ep[t]||`📌`}),(0,F.jsx)(`span`,{className:$f.message,children:e}),(0,F.jsx)(`button`,{className:$f.close,onClick:r,"aria-label":i(`common.close`),children:`×`})]})}function np({toasts:e,dismissToast:t}){return(0,F.jsx)(`div`,{className:Qf.container,children:e.map(e=>(0,F.jsx)(tp,{message:e.message,type:e.type,onDismiss:()=>t(e.id)},e.id))})}var rp=0;function ip(){let{t:e}=pi(),{models:t,connected:n,nextPingAt:r,isPinging:i,pingMode:a,globalBenchmarkRunning:o,globalBenchmarkTotal:s,globalBenchmarkCompleted:c}=Nt(),{theme:l,cycle:u}=cn(),[d,f]=(0,v.useState)(`dashboard`),[p,m]=(0,v.useState)(null),[h,g]=(0,v.useState)(!1),[_,y]=(0,v.useState)(!1),[b,x]=(0,v.useState)(null),[S,C]=(0,v.useState)(null),[w,T]=(0,v.useState)([]),ee=(0,v.useRef)(Date.now());(0,v.useEffect)(()=>{try{typeof window<`u`&&window.posthog?.capture&&window.posthog.capture(`app_web_start`,{version:`0.5.99`,timestamp:new Date().toISOString()})}catch{}},[]),(0,v.useEffect)(()=>{if(d===`router`)try{typeof window<`u`&&window.posthog?.capture&&window.posthog.capture(`app_router_start`,{version:`0.5.99`,timestamp:new Date().toISOString()})}catch{}},[d]);let E=(0,v.useCallback)((e,t=`info`)=>{let n=++rp;T(r=>[...r,{id:n,message:e,type:t}]),setTimeout(()=>{T(e=>e.filter(e=>e.id!==n))},4e3)},[]),te=(0,v.useCallback)(e=>{T(t=>t.filter(t=>t.id!==e))},[]),{filtered:D,filterTier:O,setFilterTier:ne,filterStatus:re,setFilterStatus:ie,filterProvider:ae,setFilterProvider:k,filterVerdict:oe,setFilterVerdict:se,filterHealth:ce,setFilterHealth:le,visibilityMode:ue,setVisibilityMode:de,searchQuery:fe,setSearchQuery:pe,customTextFilter:me,setCustomTextFilter:he,sortColumn:ge,sortDirection:_e,setSortColumn:ve,setSortDirection:ye,toggleSort:be,resetView:A}=rn(t),{toolMode:j,setToolMode:xe,cycleToolMode:Se}=mn({onToast:E});jn({currentView:d,setCurrentView:f,filterState:{filterTier:O,setFilterTier:ne,filterStatus:re,setFilterStatus:ie,filterProvider:ae,setFilterProvider:k,filterVerdict:oe,setFilterVerdict:se,filterHealth:ce,setFilterHealth:le,sortColumn:ge,sortDirection:_e,setSortColumn:ve,setSortDirection:ye,toggleSort:be,setSearchQuery:pe,filterState:null,searchQuery:fe},paletteOpen:_,setPaletteOpen:y,toolMode:j,setToolMode:xe});let Ce=un({models:t}),we=(0,v.useCallback)(async(e,t=null)=>{let n=t||j||`opencode`;if(e){if(!bn(e.providerKey,n)){C({model:e,toolMode:n});return}try{let t=await fetch(`/api/install-endpoint`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providerKey:e.providerKey,modelId:e.modelId,toolMode:n})}),r=await t.json().catch(()=>({}));if(t.status===422&&r.code===`incompatible_model`){C({model:e,toolMode:n});return}if(!t.ok)throw Error(r.error||`HTTP ${t.status}`);E(`Endpoint installed for ${e.label} in ${n}. Start the tool yourself.`,`success`)}catch(e){E(`Endpoint install failed: ${e.message}`,`error`)}}},[E,j]),Te=(0,v.useCallback)(async(e,t)=>{await xe(e),C(null),await we(t,e)},[we,xe]),M=(0,v.useCallback)(async e=>{Ce.isFavorite(e)||await Ce.toggle(e),await we(e)},[Ce,we]),{localVersion:Ee,latestVersion:De,updateAvailable:Oe,runUpdate:ke,checkNow:Ae,error:je}=Pn({onToast:E}),Me=(0,v.useMemo)(()=>{let e={};return t.forEach(t=>{e[t.providerKey]||(e[t.providerKey]={key:t.providerKey,name:t.origin,count:0,hasKey:!1,anyUp:!1}),e[t.providerKey].count++,t.hasApiKey&&(e[t.providerKey].hasKey=!0),t.status===`up`&&(e[t.providerKey].anyUp=!0)}),Object.values(e).sort((e,t)=>e.name.localeCompare(t.name))},[t]),Ne=(0,v.useCallback)(async()=>{if(!o)try{await fetch(`/api/global-benchmark`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({models:D.map(e=>({providerKey:e.providerKey,modelId:e.modelId}))})})}catch(e){console.error(`[Benchmark] Failed to start global benchmark:`,e.message)}},[D,o]),Pe=(0,v.useCallback)(async e=>{try{let t=await fetch(`/api/benchmark`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providerKey:e.providerKey,modelId:e.modelId})});if(!t.ok&&t.status!==202){let e=await t.json().catch(()=>({}));E(`Benchmark failed: ${e?.error||t.statusText}`,`error`)}}catch(e){console.error(`[Benchmark] per-row failed:`,e.message)}},[E]),Fe=(0,v.useCallback)(e=>{m(e),ee.current=Date.now()},[]);(0,v.useCallback)(()=>m(null),[]);let Ie=(0,v.useCallback)(async e=>{try{await fetch(`/api/ping-mode?action=${e}`,{method:`POST`})}catch{}},[]),Le=(0,v.useCallback)(e=>{e===`changelog`&&x(null),f(e),ee.current=Date.now()},[]),Re=(0,v.useCallback)(()=>{A(),pe(``),E(e(`dashboard.resetToast`),`info`)},[E,A,pe,e]),ze=(0,v.useCallback)(e=>{x(e),f(`changelog`)},[]);return(0,v.useEffect)(()=>{let e=e=>{let t=e.metaKey||e.ctrlKey;if(t&&(e.key===`k`||e.key===`K`)){e.preventDefault(),y(e=>!e);return}if(t&&(e.key===`p`||e.key===`P`)&&!e.shiftKey){e.preventDefault(),y(e=>!e);return}if(e.key===`Escape`){if(_){y(!1);return}if(S){C(null);return}if(p){m(null);return}if(h){g(!1);return}}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[_,S,p,h]),(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`div`,{className:`app-shell`,children:[(0,F.jsx)(vi,{searchQuery:fe,onSearchChange:pe,currentView:d,onNavigate:Le,onToggleTheme:u,onOpenExport:()=>g(!0),onOpenCommandPalette:()=>y(!0),onBenchmark:Ne,benchmarkRunning:o,benchmarkTotal:s,benchmarkCompleted:c,modelsCount:D.length,theme:l,onToast:E,toolMode:j,onSetToolMode:xe,onCycleToolMode:Se,updateSlot:(0,F.jsx)(mf,{updateAvailable:Oe,latestVersion:De,onRunUpdate:ke,onOpenChangelog:ze})}),(0,F.jsxs)(`div`,{className:`app-content`,children:[d===`dashboard`&&(0,F.jsxs)(`main`,{className:`view dashboardView`,children:[(0,F.jsx)(ba,{filterTier:O,setFilterTier:ne,filterStatus:re,setFilterStatus:ie,filterProvider:ae,setFilterProvider:k,filterVerdict:oe,setFilterVerdict:se,filterHealth:ce,setFilterHealth:le,visibilityMode:ue,setVisibilityMode:de,customTextFilter:me,setCustomTextFilter:he,searchQuery:fe,onSearchChange:pe,onResetView:Re,providers:Me,pingMode:a,setPingMode:Ie,nextPingAt:r,isPinging:i,globalBenchmarkRunning:o,globalBenchmarkTotal:s,globalBenchmarkCompleted:c,toolMode:j}),(0,F.jsx)(Ju,{filtered:D,onSelectModel:Fe,onBenchmarkRow:Pe,onLaunch:we,favorites:Ce,sortColumn:ge,sortDirection:_e,onSort:be,toolMode:j,onToast:E,onSetToolMode:xe,onCycleToolMode:Se,onOpenFallback:e=>C({model:e,toolMode:j})})]}),d===`settings`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)($u,{onToast:E,onOpenChangelog:e=>{x(e),Le(`changelog`)},onCheckForUpdate:()=>{Ae(),E?.(e(`update.checking`),`info`)}})}),d===`analytics`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(cd,{models:t})}),d===`router`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(Nf,{onClose:()=>Le(`dashboard`),onToast:E,favorites:Ce})}),d===`router-v2`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(Z,{onClose:()=>Le(`dashboard`),onToast:E})}),d===`playground`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(Gf,{onClose:()=>Le(`dashboard`),onToast:E,models:t,routerStatus:null})}),d===`help`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(sf,{onClose:()=>Le(`dashboard`)})}),d===`changelog`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(df,{onClose:()=>Le(`dashboard`),defaultVersion:b})}),d===`installed-models`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(Jf,{onClose:()=>Le(`dashboard`),onToast:E})}),d===`install-endpoints`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(Zf,{onClose:()=>Le(`dashboard`),onToast:E})}),d===`recommend`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(xf,{onClose:()=>Le(`dashboard`),toolMode:j,onLaunch:we,onPinAndLaunch:M,onToast:E})}),(0,F.jsx)(bi,{})]})]}),h&&(0,F.jsx)(Zu,{models:D,onClose:()=>g(!1),onToast:E}),_&&(0,F.jsx)(rf,{onClose:()=>y(!1),onNavigate:Le,onCycleTheme:u,onResetView:Re,onSetPingMode:Ie,onOpenHelp:()=>Le(`help`),onOpenChangelog:()=>{x(null),Le(`changelog`)},onOpenPlayground:()=>Le(`playground`),onExport:()=>g(!0),onRunUpdate:ke,currentView:d,theme:l,pingMode:a,models:t,updateAvailable:Oe,latestVersion:De,onToast:E}),S&&(0,F.jsx)(Cf,{request:S,models:t,onClose:()=>C(null),onSwitchToolLaunch:Te,onLaunchSimilar:e=>{C(null);let n=t.find(t=>t.providerKey===e.providerKey&&t.modelId===e.modelId)||e;we(n)}}),(0,F.jsx)(np,{toasts:w,dismissToast:te})]})}function ap(){return(0,F.jsx)(fi,{children:(0,F.jsx)(ip,{})})}(0,y.createRoot)(document.getElementById(`root`)).render((0,F.jsx)(v.StrictMode,{children:(0,F.jsx)(ap,{})}));