From 4485e570a25e652bc02c953a7e013e4590ccc956 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A2=A8=E6=A2=93=E6=9F=92?= <1787882683@qq.com> Date: Thu, 20 Nov 2025 11:10:24 +0800 Subject: [PATCH] upload WebUI 0.11.5 Beta.0a6f11a DashBoard after Build Files commit hash : 0a6f11a6fe16a18ce9dbf59453e82e72b6291ac9 --- webui/dist/assets/charts-DU5SeejN.js | 65 +++++++++ webui/dist/assets/icons-DnP4c9nr.js | 1 + webui/dist/assets/index-3Oy1uh5z.js | 157 --------------------- webui/dist/assets/index-D2uz_15W.css | 1 + webui/dist/assets/index-DgvN-P_n.js | 48 +++++++ webui/dist/assets/index-_P1Qkw5e.css | 1 - webui/dist/assets/react-vendor-Dtc2IqVY.js | 1 + webui/dist/assets/router-BWgTyY51.js | 2 + webui/dist/assets/ui-vendor-nTGLnMlb.js | 45 ++++++ webui/dist/index.html | 9 +- 10 files changed, 170 insertions(+), 160 deletions(-) create mode 100644 webui/dist/assets/charts-DU5SeejN.js create mode 100644 webui/dist/assets/icons-DnP4c9nr.js delete mode 100644 webui/dist/assets/index-3Oy1uh5z.js create mode 100644 webui/dist/assets/index-D2uz_15W.css create mode 100644 webui/dist/assets/index-DgvN-P_n.js delete mode 100644 webui/dist/assets/index-_P1Qkw5e.css create mode 100644 webui/dist/assets/react-vendor-Dtc2IqVY.js create mode 100644 webui/dist/assets/router-BWgTyY51.js create mode 100644 webui/dist/assets/ui-vendor-nTGLnMlb.js diff --git a/webui/dist/assets/charts-DU5SeejN.js b/webui/dist/assets/charts-DU5SeejN.js new file mode 100644 index 00000000..4b6aaf32 --- /dev/null +++ b/webui/dist/assets/charts-DU5SeejN.js @@ -0,0 +1,65 @@ +import{r as N,R as S,i as Qt}from"./router-BWgTyY51.js";import{c as vi,g as oe}from"./react-vendor-Dtc2IqVY.js";function zb(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t-1}return Ho=t,Ho}var Ko,Op;function PO(){if(Op)return Ko;Op=1;var e=ja();function t(r,n){var i=this.__data__,a=e(i,r);return a<0?(++this.size,i.push([r,n])):i[a][1]=n,this}return Ko=t,Ko}var Go,_p;function Ma(){if(_p)return Go;_p=1;var e=OO(),t=_O(),r=AO(),n=SO(),i=PO();function a(o){var u=-1,c=o==null?0:o.length;for(this.clear();++u0?1:-1},Gt=function(t){return er(t)&&t.indexOf("%")===t.length-1},q=function(t){return XO(t)&&!oi(t)},YO=function(t){return Y(t)},Ae=function(t){return q(t)||er(t)},ZO=0,Zr=function(t){var r=++ZO;return"".concat(t||"").concat(r)},Ie=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!q(t)&&!er(t))return n;var a;if(Gt(t)){var o=t.indexOf("%");a=r*parseFloat(t.slice(0,o))/100}else a=+t;return oi(a)&&(a=n),i&&a>r&&(a=r),a},Mt=function(t){if(!t)return null;var r=Object.keys(t);return r&&r.length?t[r[0]]:null},JO=function(t){if(!Array.isArray(t))return!1;for(var r=t.length,n={},i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function a_(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function ml(e){"@babel/helpers - typeof";return ml=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ml(e)}var Zp={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart",contextmenu:"onContextMenu",dblclick:"onDoubleClick"},bt=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},Jp=null,bu=null,Kf=function e(t){if(t===Jp&&Array.isArray(bu))return bu;var r=[];return N.Children.forEach(t,function(n){Y(n)||(HO.isFragment(n)?r=r.concat(e(n.props.children)):r.push(n))}),bu=r,Jp=t,r};function Ke(e,t){var r=[],n=[];return Array.isArray(t)?n=t.map(function(i){return bt(i)}):n=[bt(t)],Kf(e).forEach(function(i){var a=He(i,"type.displayName")||He(i,"type.name");n.indexOf(a)!==-1&&r.push(i)}),r}function We(e,t){var r=Ke(e,t);return r&&r[0]}var Qp=function(t){if(!t||!t.props)return!1;var r=t.props,n=r.width,i=r.height;return!(!q(n)||n<=0||!q(i)||i<=0)},o_=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],u_=function(t){return t&&t.type&&er(t.type)&&o_.indexOf(t.type)>=0},c_=function(t){return t&&ml(t)==="object"&&"clipDot"in t},s_=function(t,r,n,i){var a,o=(a=gu?.[i])!==null&&a!==void 0?a:[];return r.startsWith("data-")||!X(t)&&(i&&o.includes(r)||t_.includes(r))||n&&Hf.includes(r)},H=function(t,r,n){if(!t||typeof t=="function"||typeof t=="boolean")return null;var i=t;if(N.isValidElement(t)&&(i=t.props),!Yr(i))return null;var a={};return Object.keys(i).forEach(function(o){var u;s_((u=i)===null||u===void 0?void 0:u[o],o,r,n)&&(a[o]=i[o])}),a},gl=function e(t,r){if(t===r)return!0;var n=N.Children.count(t);if(n!==N.Children.count(r))return!1;if(n===0)return!0;if(n===1)return ed(Array.isArray(t)?t[0]:t,Array.isArray(r)?r[0]:r);for(var i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function d_(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function xl(e){var t=e.children,r=e.width,n=e.height,i=e.viewBox,a=e.className,o=e.style,u=e.title,c=e.desc,s=p_(e,h_),f=i||{width:r,height:n,x:0,y:0},l=J("recharts-surface",a);return S.createElement("svg",bl({},H(s,!0,"svg"),{className:l,width:r,height:n,style:o,viewBox:"".concat(f.x," ").concat(f.y," ").concat(f.width," ").concat(f.height)}),S.createElement("title",null,u),S.createElement("desc",null,c),t)}var v_=["children","className"];function wl(){return wl=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function m_(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var te=S.forwardRef(function(e,t){var r=e.children,n=e.className,i=y_(e,v_),a=J("recharts-layer",n);return S.createElement("g",wl({className:a},H(i,!0),{ref:t}),r)}),it=function(t,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),a=2;aa?0:a+r),n=n>a?a:n,n<0&&(n+=a),a=r>n?0:n-r>>>0,r>>>=0;for(var o=Array(a);++i=a?r:e(r,n,i)}return wu=t,wu}var Ou,id;function Zb(){if(id)return Ou;id=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",i=t+r+n,a="\\ufe0e\\ufe0f",o="\\u200d",u=RegExp("["+o+e+i+a+"]");function c(s){return u.test(s)}return Ou=c,Ou}var _u,ad;function x_(){if(ad)return _u;ad=1;function e(t){return t.split("")}return _u=e,_u}var Au,od;function w_(){if(od)return Au;od=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",i=t+r+n,a="\\ufe0e\\ufe0f",o="["+e+"]",u="["+i+"]",c="\\ud83c[\\udffb-\\udfff]",s="(?:"+u+"|"+c+")",f="[^"+e+"]",l="(?:\\ud83c[\\udde6-\\uddff]){2}",h="[\\ud800-\\udbff][\\udc00-\\udfff]",d="\\u200d",y=s+"?",v="["+a+"]?",p="(?:"+d+"(?:"+[f,l,h].join("|")+")"+v+y+")*",g=v+y+p,x="(?:"+[f+u+"?",u,l,h,o].join("|")+")",w=RegExp(c+"(?="+c+")|"+x+g,"g");function O(m){return m.match(w)||[]}return Au=O,Au}var Su,ud;function O_(){if(ud)return Su;ud=1;var e=x_(),t=Zb(),r=w_();function n(i){return t(i)?r(i):e(i)}return Su=n,Su}var Pu,cd;function __(){if(cd)return Pu;cd=1;var e=b_(),t=Zb(),r=O_(),n=Gb();function i(a){return function(o){o=n(o);var u=t(o)?r(o):void 0,c=u?u[0]:o.charAt(0),s=u?e(u,1).join(""):o.slice(1);return c[a]()+s}}return Pu=i,Pu}var Tu,sd;function A_(){if(sd)return Tu;sd=1;var e=__(),t=e("toUpperCase");return Tu=t,Tu}var S_=A_();const Ia=oe(S_);function se(e){return function(){return e}}const Jb=Math.cos,Ci=Math.sin,at=Math.sqrt,Ii=Math.PI,ka=2*Ii,Ol=Math.PI,_l=2*Ol,Ut=1e-6,P_=_l-Ut;function Qb(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return Qb;const r=10**t;return function(n){this._+=n[0];for(let i=1,a=n.length;iUt)if(!(Math.abs(l*c-s*f)>Ut)||!a)this._append`L${this._x1=t},${this._y1=r}`;else{let d=n-o,y=i-u,v=c*c+s*s,p=d*d+y*y,g=Math.sqrt(v),x=Math.sqrt(h),w=a*Math.tan((Ol-Math.acos((v+h-p)/(2*g*x)))/2),O=w/x,m=w/g;Math.abs(O-1)>Ut&&this._append`L${t+O*f},${r+O*l}`,this._append`A${a},${a},0,0,${+(l*d>f*y)},${this._x1=t+m*c},${this._y1=r+m*s}`}}arc(t,r,n,i,a,o){if(t=+t,r=+r,n=+n,o=!!o,n<0)throw new Error(`negative radius: ${n}`);let u=n*Math.cos(i),c=n*Math.sin(i),s=t+u,f=r+c,l=1^o,h=o?i-a:a-i;this._x1===null?this._append`M${s},${f}`:(Math.abs(this._x1-s)>Ut||Math.abs(this._y1-f)>Ut)&&this._append`L${s},${f}`,n&&(h<0&&(h=h%_l+_l),h>P_?this._append`A${n},${n},0,1,${l},${t-u},${r-c}A${n},${n},0,1,${l},${this._x1=s},${this._y1=f}`:h>Ut&&this._append`A${n},${n},0,${+(h>=Ol)},${l},${this._x1=t+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(t,r,n,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}}function Gf(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new E_(t)}function Vf(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function e0(e){this._context=e}e0.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Ra(e){return new e0(e)}function t0(e){return e[0]}function r0(e){return e[1]}function n0(e,t){var r=se(!0),n=null,i=Ra,a=null,o=Gf(u);e=typeof e=="function"?e:e===void 0?t0:se(e),t=typeof t=="function"?t:t===void 0?r0:se(t);function u(c){var s,f=(c=Vf(c)).length,l,h=!1,d;for(n==null&&(a=i(d=o())),s=0;s<=f;++s)!(s=d;--y)u.point(w[y],O[y]);u.lineEnd(),u.areaEnd()}g&&(w[h]=+e(p,h,l),O[h]=+t(p,h,l),u.point(n?+n(p,h,l):w[h],r?+r(p,h,l):O[h]))}if(x)return u=null,x+""||null}function f(){return n0().defined(i).curve(o).context(a)}return s.x=function(l){return arguments.length?(e=typeof l=="function"?l:se(+l),n=null,s):e},s.x0=function(l){return arguments.length?(e=typeof l=="function"?l:se(+l),s):e},s.x1=function(l){return arguments.length?(n=l==null?null:typeof l=="function"?l:se(+l),s):n},s.y=function(l){return arguments.length?(t=typeof l=="function"?l:se(+l),r=null,s):t},s.y0=function(l){return arguments.length?(t=typeof l=="function"?l:se(+l),s):t},s.y1=function(l){return arguments.length?(r=l==null?null:typeof l=="function"?l:se(+l),s):r},s.lineX0=s.lineY0=function(){return f().x(e).y(t)},s.lineY1=function(){return f().x(e).y(r)},s.lineX1=function(){return f().x(n).y(t)},s.defined=function(l){return arguments.length?(i=typeof l=="function"?l:se(!!l),s):i},s.curve=function(l){return arguments.length?(o=l,a!=null&&(u=o(a)),s):o},s.context=function(l){return arguments.length?(l==null?a=u=null:u=o(a=l),s):a},s}class i0{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}}function j_(e){return new i0(e,!0)}function M_(e){return new i0(e,!1)}const Xf={draw(e,t){const r=at(t/Ii);e.moveTo(r,0),e.arc(0,0,r,0,ka)}},$_={draw(e,t){const r=at(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}},a0=at(1/3),C_=a0*2,I_={draw(e,t){const r=at(t/C_),n=r*a0;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}},k_={draw(e,t){const r=at(t),n=-r/2;e.rect(n,n,r,r)}},R_=.8908130915292852,o0=Ci(Ii/10)/Ci(7*Ii/10),D_=Ci(ka/10)*o0,N_=-Jb(ka/10)*o0,q_={draw(e,t){const r=at(t*R_),n=D_*r,i=N_*r;e.moveTo(0,-r),e.lineTo(n,i);for(let a=1;a<5;++a){const o=ka*a/5,u=Jb(o),c=Ci(o);e.lineTo(c*r,-u*r),e.lineTo(u*n-c*i,c*n+u*i)}e.closePath()}},Eu=at(3),L_={draw(e,t){const r=-at(t/(Eu*3));e.moveTo(0,r*2),e.lineTo(-Eu*r,-r),e.lineTo(Eu*r,-r),e.closePath()}},Ge=-.5,Ve=at(3)/2,Al=1/at(12),B_=(Al/2+1)*3,F_={draw(e,t){const r=at(t/B_),n=r/2,i=r*Al,a=n,o=r*Al+r,u=-a,c=o;e.moveTo(n,i),e.lineTo(a,o),e.lineTo(u,c),e.lineTo(Ge*n-Ve*i,Ve*n+Ge*i),e.lineTo(Ge*a-Ve*o,Ve*a+Ge*o),e.lineTo(Ge*u-Ve*c,Ve*u+Ge*c),e.lineTo(Ge*n+Ve*i,Ge*i-Ve*n),e.lineTo(Ge*a+Ve*o,Ge*o-Ve*a),e.lineTo(Ge*u+Ve*c,Ge*c-Ve*u),e.closePath()}};function W_(e,t){let r=null,n=Gf(i);e=typeof e=="function"?e:se(e||Xf),t=typeof t=="function"?t:se(t===void 0?64:+t);function i(){let a;if(r||(r=a=n()),e.apply(this,arguments).draw(r,+t.apply(this,arguments)),a)return r=null,a+""||null}return i.type=function(a){return arguments.length?(e=typeof a=="function"?a:se(a),i):e},i.size=function(a){return arguments.length?(t=typeof a=="function"?a:se(+a),i):t},i.context=function(a){return arguments.length?(r=a??null,i):r},i}function ki(){}function Ri(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function u0(e){this._context=e}u0.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Ri(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Ri(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function z_(e){return new u0(e)}function c0(e){this._context=e}c0.prototype={areaStart:ki,areaEnd:ki,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:Ri(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function U_(e){return new c0(e)}function s0(e){this._context=e}s0.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:Ri(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function H_(e){return new s0(e)}function l0(e){this._context=e}l0.prototype={areaStart:ki,areaEnd:ki,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function K_(e){return new l0(e)}function ld(e){return e<0?-1:1}function fd(e,t,r){var n=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(n||i<0&&-0),o=(r-e._y1)/(i||n<0&&-0),u=(a*i+o*n)/(n+i);return(ld(a)+ld(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(u))||0}function hd(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function ju(e,t,r){var n=e._x0,i=e._y0,a=e._x1,o=e._y1,u=(a-n)/3;e._context.bezierCurveTo(n+u,i+u*t,a-u,o-u*r,a,o)}function Di(e){this._context=e}Di.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:ju(this,this._t0,hd(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,ju(this,hd(this,r=fd(this,e,t)),r);break;default:ju(this,this._t0,r=fd(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function f0(e){this._context=new h0(e)}(f0.prototype=Object.create(Di.prototype)).point=function(e,t){Di.prototype.point.call(this,t,e)};function h0(e){this._context=e}h0.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,i,a){this._context.bezierCurveTo(t,e,n,r,a,i)}};function G_(e){return new Di(e)}function V_(e){return new f0(e)}function p0(e){this._context=e}p0.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=pd(e),i=pd(t),a=0,o=1;o=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[r-1]=(e[r]+i[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function Y_(e){return new Da(e,.5)}function Z_(e){return new Da(e,0)}function J_(e){return new Da(e,1)}function Ar(e,t){if((o=e.length)>1)for(var r=1,n,i,a=e[t[0]],o,u=a.length;r=0;)r[t]=t;return r}function Q_(e,t){return e[t]}function e1(e){const t=[];return t.key=e,t}function t1(){var e=se([]),t=Sl,r=Ar,n=Q_;function i(a){var o=Array.from(e.apply(this,arguments),e1),u,c=o.length,s=-1,f;for(const l of a)for(u=0,++s;u0){for(var r,n,i=0,a=e[0].length,o;i0){for(var r=0,n=e[t[0]],i,a=n.length;r0)||!((a=(i=e[t[0]]).length)>0))){for(var r=0,n=1,i,a,o;n=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function l1(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var d0={symbolCircle:Xf,symbolCross:$_,symbolDiamond:I_,symbolSquare:k_,symbolStar:q_,symbolTriangle:L_,symbolWye:F_},f1=Math.PI/180,h1=function(t){var r="symbol".concat(Ia(t));return d0[r]||Xf},p1=function(t,r,n){if(r==="area")return t;switch(n){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var i=18*f1;return 1.25*t*t*(Math.tan(i)-Math.tan(i*2)*Math.pow(Math.tan(i),2))}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},d1=function(t,r){d0["symbol".concat(Ia(t))]=r},Yf=function(t){var r=t.type,n=r===void 0?"circle":r,i=t.size,a=i===void 0?64:i,o=t.sizeType,u=o===void 0?"area":o,c=s1(t,a1),s=vd(vd({},c),{},{type:n,size:a,sizeType:u}),f=function(){var p=h1(n),g=W_().type(p).size(p1(a,u,n));return g()},l=s.className,h=s.cx,d=s.cy,y=H(s,!0);return h===+h&&d===+d&&a===+a?S.createElement("path",Pl({},y,{className:J("recharts-symbols",l),transform:"translate(".concat(h,", ").concat(d,")"),d:f()})):null};Yf.registerSymbol=d1;function Sr(e){"@babel/helpers - typeof";return Sr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Sr(e)}function Tl(){return Tl=Object.assign?Object.assign.bind():function(e){for(var t=1;t`);var x=d.inactive?s:d.color;return S.createElement("li",Tl({className:p,style:l,key:"legend-item-".concat(y)},tr(n.props,d,y)),S.createElement(xl,{width:o,height:o,viewBox:f,style:h},n.renderIcon(d)),S.createElement("span",{className:"recharts-legend-item-text",style:{color:x}},v?v(g,d,y):g))})}},{key:"render",value:function(){var n=this.props,i=n.payload,a=n.layout,o=n.align;if(!i||!i.length)return null;var u={padding:0,margin:0,textAlign:a==="horizontal"?o:"left"};return S.createElement("ul",{className:"recharts-default-legend",style:u},this.renderItems())}}])})(N.PureComponent);Sn(Zf,"displayName","Legend");Sn(Zf,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var Mu,md;function A1(){if(md)return Mu;md=1;var e=Ma();function t(){this.__data__=new e,this.size=0}return Mu=t,Mu}var $u,gd;function S1(){if(gd)return $u;gd=1;function e(t){var r=this.__data__,n=r.delete(t);return this.size=r.size,n}return $u=e,$u}var Cu,bd;function P1(){if(bd)return Cu;bd=1;function e(t){return this.__data__.get(t)}return Cu=e,Cu}var Iu,xd;function T1(){if(xd)return Iu;xd=1;function e(t){return this.__data__.has(t)}return Iu=e,Iu}var ku,wd;function E1(){if(wd)return ku;wd=1;var e=Ma(),t=Ff(),r=Wf(),n=200;function i(a,o){var u=this.__data__;if(u instanceof e){var c=u.__data__;if(!t||c.lengthd))return!1;var v=l.get(o),p=l.get(u);if(v&&p)return v==u&&p==o;var g=-1,x=!0,w=c&i?new e:void 0;for(l.set(o,u),l.set(u,o);++g-1&&n%1==0&&n-1&&r%1==0&&r<=e}return rc=t,rc}var nc,Hd;function F1(){if(Hd)return nc;Hd=1;var e=St(),t=th(),r=Pt(),n="[object Arguments]",i="[object Array]",a="[object Boolean]",o="[object Date]",u="[object Error]",c="[object Function]",s="[object Map]",f="[object Number]",l="[object Object]",h="[object RegExp]",d="[object Set]",y="[object String]",v="[object WeakMap]",p="[object ArrayBuffer]",g="[object DataView]",x="[object Float32Array]",w="[object Float64Array]",O="[object Int8Array]",m="[object Int16Array]",b="[object Int32Array]",_="[object Uint8Array]",A="[object Uint8ClampedArray]",T="[object Uint16Array]",M="[object Uint32Array]",P={};P[x]=P[w]=P[O]=P[m]=P[b]=P[_]=P[A]=P[T]=P[M]=!0,P[n]=P[i]=P[p]=P[a]=P[g]=P[o]=P[u]=P[c]=P[s]=P[f]=P[l]=P[h]=P[d]=P[y]=P[v]=!1;function E(j){return r(j)&&t(j.length)&&!!P[e(j)]}return nc=E,nc}var ic,Kd;function A0(){if(Kd)return ic;Kd=1;function e(t){return function(r){return t(r)}}return ic=e,ic}var vn={exports:{}};vn.exports;var Gd;function W1(){return Gd||(Gd=1,(function(e,t){var r=Ub(),n=t&&!t.nodeType&&t,i=n&&!0&&e&&!e.nodeType&&e,a=i&&i.exports===n,o=a&&r.process,u=(function(){try{var c=i&&i.require&&i.require("util").types;return c||o&&o.binding&&o.binding("util")}catch{}})();e.exports=u})(vn,vn.exports)),vn.exports}var ac,Vd;function S0(){if(Vd)return ac;Vd=1;var e=F1(),t=A0(),r=W1(),n=r&&r.isTypedArray,i=n?t(n):e;return ac=i,ac}var oc,Xd;function z1(){if(Xd)return oc;Xd=1;var e=q1(),t=Qf(),r=qe(),n=_0(),i=eh(),a=S0(),o=Object.prototype,u=o.hasOwnProperty;function c(s,f){var l=r(s),h=!l&&t(s),d=!l&&!h&&n(s),y=!l&&!h&&!d&&a(s),v=l||h||d||y,p=v?e(s.length,String):[],g=p.length;for(var x in s)(f||u.call(s,x))&&!(v&&(x=="length"||d&&(x=="offset"||x=="parent")||y&&(x=="buffer"||x=="byteLength"||x=="byteOffset")||i(x,g)))&&p.push(x);return p}return oc=c,oc}var uc,Yd;function U1(){if(Yd)return uc;Yd=1;var e=Object.prototype;function t(r){var n=r&&r.constructor,i=typeof n=="function"&&n.prototype||e;return r===i}return uc=t,uc}var cc,Zd;function P0(){if(Zd)return cc;Zd=1;function e(t,r){return function(n){return t(r(n))}}return cc=e,cc}var sc,Jd;function H1(){if(Jd)return sc;Jd=1;var e=P0(),t=e(Object.keys,Object);return sc=t,sc}var lc,Qd;function K1(){if(Qd)return lc;Qd=1;var e=U1(),t=H1(),r=Object.prototype,n=r.hasOwnProperty;function i(a){if(!e(a))return t(a);var o=[];for(var u in Object(a))n.call(a,u)&&u!="constructor"&&o.push(u);return o}return lc=i,lc}var fc,ev;function ui(){if(ev)return fc;ev=1;var e=Lf(),t=th();function r(n){return n!=null&&t(n.length)&&!e(n)}return fc=r,fc}var hc,tv;function Na(){if(tv)return hc;tv=1;var e=z1(),t=K1(),r=ui();function n(i){return r(i)?e(i):t(i)}return hc=n,hc}var pc,rv;function G1(){if(rv)return pc;rv=1;var e=k1(),t=N1(),r=Na();function n(i){return e(i,r,t)}return pc=n,pc}var dc,nv;function V1(){if(nv)return dc;nv=1;var e=G1(),t=1,r=Object.prototype,n=r.hasOwnProperty;function i(a,o,u,c,s,f){var l=u&t,h=e(a),d=h.length,y=e(o),v=y.length;if(d!=v&&!l)return!1;for(var p=d;p--;){var g=h[p];if(!(l?g in o:n.call(o,g)))return!1}var x=f.get(a),w=f.get(o);if(x&&w)return x==o&&w==a;var O=!0;f.set(a,o),f.set(o,a);for(var m=l;++p-1}return Bc=t,Bc}var Fc,Mv;function dA(){if(Mv)return Fc;Mv=1;function e(t,r,n){for(var i=-1,a=t==null?0:t.length;++i=o){var g=s?null:i(c);if(g)return a(g);y=!1,h=n,p=new e}else p=s?[]:v;e:for(;++l=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function jA(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function MA(e){return e.value}function $A(e,t){if(S.isValidElement(e))return S.cloneElement(e,t);if(typeof e=="function")return S.createElement(e,t);t.ref;var r=EA(t,xA);return S.createElement(Zf,r)}var qv=1,wr=(function(e){function t(){var r;wA(this,t);for(var n=arguments.length,i=new Array(n),a=0;aqv||Math.abs(i.height-this.lastBoundingBox.height)>qv)&&(this.lastBoundingBox.width=i.width,this.lastBoundingBox.height=i.height,n&&n(i)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,n&&n(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?pt({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(n){var i=this.props,a=i.layout,o=i.align,u=i.verticalAlign,c=i.margin,s=i.chartWidth,f=i.chartHeight,l,h;if(!n||(n.left===void 0||n.left===null)&&(n.right===void 0||n.right===null))if(o==="center"&&a==="vertical"){var d=this.getBBoxSnapshot();l={left:((s||0)-d.width)/2}}else l=o==="right"?{right:c&&c.right||0}:{left:c&&c.left||0};if(!n||(n.top===void 0||n.top===null)&&(n.bottom===void 0||n.bottom===null))if(u==="middle"){var y=this.getBBoxSnapshot();h={top:((f||0)-y.height)/2}}else h=u==="bottom"?{bottom:c&&c.bottom||0}:{top:c&&c.top||0};return pt(pt({},l),h)}},{key:"render",value:function(){var n=this,i=this.props,a=i.content,o=i.width,u=i.height,c=i.wrapperStyle,s=i.payloadUniqBy,f=i.payload,l=pt(pt({position:"absolute",width:o||"auto",height:u||"auto"},this.getDefaultPosition(c)),c);return S.createElement("div",{className:"recharts-legend-wrapper",style:l,ref:function(d){n.wrapperNode=d}},$A(a,pt(pt({},this.props),{},{payload:$0(f,s,MA)})))}}],[{key:"getWithHeight",value:function(n,i){var a=pt(pt({},this.defaultProps),n.props),o=a.layout;return o==="vertical"&&q(n.props.height)?{height:n.props.height}:o==="horizontal"?{width:n.props.width||i}:null}}])})(N.PureComponent);qa(wr,"displayName","Legend");qa(wr,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var Kc,Lv;function CA(){if(Lv)return Kc;Lv=1;var e=ai(),t=Qf(),r=qe(),n=e?e.isConcatSpreadable:void 0;function i(a){return r(a)||t(a)||!!(n&&a&&a[n])}return Kc=i,Kc}var Gc,Bv;function k0(){if(Bv)return Gc;Bv=1;var e=O0(),t=CA();function r(n,i,a,o,u){var c=-1,s=n.length;for(a||(a=t),u||(u=[]);++c0&&a(f)?i>1?r(f,i-1,a,o,u):e(u,f):o||(u[u.length]=f)}return u}return Gc=r,Gc}var Vc,Fv;function IA(){if(Fv)return Vc;Fv=1;function e(t){return function(r,n,i){for(var a=-1,o=Object(r),u=i(r),c=u.length;c--;){var s=u[t?c:++a];if(n(o[s],s,o)===!1)break}return r}}return Vc=e,Vc}var Xc,Wv;function kA(){if(Wv)return Xc;Wv=1;var e=IA(),t=e();return Xc=t,Xc}var Yc,zv;function R0(){if(zv)return Yc;zv=1;var e=kA(),t=Na();function r(n,i){return n&&e(n,i,t)}return Yc=r,Yc}var Zc,Uv;function RA(){if(Uv)return Zc;Uv=1;var e=ui();function t(r,n){return function(i,a){if(i==null)return i;if(!e(i))return r(i,a);for(var o=i.length,u=n?o:-1,c=Object(i);(n?u--:++un||u&&c&&f&&!s&&!l||a&&c&&f||!i&&f||!o)return 1;if(!a&&!u&&!l&&r=s)return f;var l=i[a];return f*(l=="desc"?-1:1)}}return r.index-n.index}return rs=t,rs}var ns,Yv;function LA(){if(Yv)return ns;Yv=1;var e=zf(),t=Uf(),r=ht(),n=D0(),i=DA(),a=A0(),o=qA(),u=Jr(),c=qe();function s(f,l,h){l.length?l=e(l,function(v){return c(v)?function(p){return t(p,v.length===1?v[0]:v)}:v}):l=[u];var d=-1;l=e(l,a(r));var y=n(f,function(v,p,g){var x=e(l,function(w){return w(v)});return{criteria:x,index:++d,value:v}});return i(y,function(v,p){return o(v,p,h)})}return ns=s,ns}var is,Zv;function BA(){if(Zv)return is;Zv=1;function e(t,r,n){switch(n.length){case 0:return t.call(r);case 1:return t.call(r,n[0]);case 2:return t.call(r,n[0],n[1]);case 3:return t.call(r,n[0],n[1],n[2])}return t.apply(r,n)}return is=e,is}var as,Jv;function FA(){if(Jv)return as;Jv=1;var e=BA(),t=Math.max;function r(n,i,a){return i=t(i===void 0?n.length-1:i,0),function(){for(var o=arguments,u=-1,c=t(o.length-i,0),s=Array(c);++u0){if(++a>=e)return arguments[0]}else a=0;return i.apply(void 0,arguments)}}return ss=n,ss}var ls,ny;function HA(){if(ny)return ls;ny=1;var e=zA(),t=UA(),r=t(e);return ls=r,ls}var fs,iy;function KA(){if(iy)return fs;iy=1;var e=Jr(),t=FA(),r=HA();function n(i,a){return r(t(i,a,e),i+"")}return fs=n,fs}var hs,ay;function La(){if(ay)return hs;ay=1;var e=Bf(),t=ui(),r=eh(),n=It();function i(a,o,u){if(!n(u))return!1;var c=typeof o;return(c=="number"?t(u)&&r(o,u.length):c=="string"&&o in u)?e(u[o],a):!1}return hs=i,hs}var ps,oy;function GA(){if(oy)return ps;oy=1;var e=k0(),t=LA(),r=KA(),n=La(),i=r(function(a,o){if(a==null)return[];var u=o.length;return u>1&&n(a,o[0],o[1])?o=[]:u>2&&n(o[0],o[1],o[2])&&(o=[o[0]]),t(a,e(o,1),[])});return ps=i,ps}var VA=GA();const ih=oe(VA);function Pn(e){"@babel/helpers - typeof";return Pn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pn(e)}function Ml(){return Ml=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=t.x),"".concat(an,"-left"),q(r)&&t&&q(t.x)&&r=t.y),"".concat(an,"-top"),q(n)&&t&&q(t.y)&&nv?Math.max(f,c[n]):Math.max(l,c[n])}function sS(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function lS(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTopLeft,i=e.position,a=e.reverseDirection,o=e.tooltipBox,u=e.useTranslate3d,c=e.viewBox,s,f,l;return o.height>0&&o.width>0&&r?(f=sy({allowEscapeViewBox:t,coordinate:r,key:"x",offsetTopLeft:n,position:i,reverseDirection:a,tooltipDimension:o.width,viewBox:c,viewBoxDimension:c.width}),l=sy({allowEscapeViewBox:t,coordinate:r,key:"y",offsetTopLeft:n,position:i,reverseDirection:a,tooltipDimension:o.height,viewBox:c,viewBoxDimension:c.height}),s=sS({translateX:f,translateY:l,useTranslate3d:u})):s=uS,{cssProperties:s,cssClasses:cS({translateX:f,translateY:l,coordinate:r})}}function Tr(e){"@babel/helpers - typeof";return Tr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Tr(e)}function ly(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function fy(e){for(var t=1;thy||Math.abs(n.height-this.state.lastBoundingBox.height)>hy)&&this.setState({lastBoundingBox:{width:n.width,height:n.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var n,i;this.props.active&&this.updateBBox(),this.state.dismissed&&(((n=this.props.coordinate)===null||n===void 0?void 0:n.x)!==this.state.dismissedAtCoordinate.x||((i=this.props.coordinate)===null||i===void 0?void 0:i.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var n=this,i=this.props,a=i.active,o=i.allowEscapeViewBox,u=i.animationDuration,c=i.animationEasing,s=i.children,f=i.coordinate,l=i.hasPayload,h=i.isAnimationActive,d=i.offset,y=i.position,v=i.reverseDirection,p=i.useTranslate3d,g=i.viewBox,x=i.wrapperStyle,w=lS({allowEscapeViewBox:o,coordinate:f,offsetTopLeft:d,position:y,reverseDirection:v,tooltipBox:this.state.lastBoundingBox,useTranslate3d:p,viewBox:g}),O=w.cssClasses,m=w.cssProperties,b=fy(fy({transition:h&&a?"transform ".concat(u,"ms ").concat(c):void 0},m),{},{pointerEvents:"none",visibility:!this.state.dismissed&&a&&l?"visible":"hidden",position:"absolute",top:0,left:0},x);return S.createElement("div",{tabIndex:-1,className:O,style:b,ref:function(A){n.wrapperNode=A}},s)}}])})(N.PureComponent),xS=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},or={isSsr:xS()};function Er(e){"@babel/helpers - typeof";return Er=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Er(e)}function py(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function dy(e){for(var t=1;t0;return S.createElement(bS,{allowEscapeViewBox:o,animationDuration:u,animationEasing:c,isAnimationActive:h,active:a,coordinate:f,hasPayload:b,offset:d,position:p,reverseDirection:g,useTranslate3d:x,viewBox:w,wrapperStyle:O},MS(s,dy(dy({},this.props),{},{payload:m})))}}])})(N.PureComponent);ah(dt,"displayName","Tooltip");ah(dt,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!or.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var vs,vy;function $S(){if(vy)return vs;vy=1;var e=ft(),t=function(){return e.Date.now()};return vs=t,vs}var ys,yy;function CS(){if(yy)return ys;yy=1;var e=/\s/;function t(r){for(var n=r.length;n--&&e.test(r.charAt(n)););return n}return ys=t,ys}var ms,my;function IS(){if(my)return ms;my=1;var e=CS(),t=/^\s+/;function r(n){return n&&n.slice(0,e(n)+1).replace(t,"")}return ms=r,ms}var gs,gy;function W0(){if(gy)return gs;gy=1;var e=IS(),t=It(),r=Xr(),n=NaN,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,o=/^0o[0-7]+$/i,u=parseInt;function c(s){if(typeof s=="number")return s;if(r(s))return n;if(t(s)){var f=typeof s.valueOf=="function"?s.valueOf():s;s=t(f)?f+"":f}if(typeof s!="string")return s===0?s:+s;s=e(s);var l=a.test(s);return l||o.test(s)?u(s.slice(2),l?2:8):i.test(s)?n:+s}return gs=c,gs}var bs,by;function kS(){if(by)return bs;by=1;var e=It(),t=$S(),r=W0(),n="Expected a function",i=Math.max,a=Math.min;function o(u,c,s){var f,l,h,d,y,v,p=0,g=!1,x=!1,w=!0;if(typeof u!="function")throw new TypeError(n);c=r(c)||0,e(s)&&(g=!!s.leading,x="maxWait"in s,h=x?i(r(s.maxWait)||0,c):h,w="trailing"in s?!!s.trailing:w);function O(j){var C=f,$=l;return f=l=void 0,p=j,d=u.apply($,C),d}function m(j){return p=j,y=setTimeout(A,c),g?O(j):d}function b(j){var C=j-v,$=j-p,k=c-C;return x?a(k,h-$):k}function _(j){var C=j-v,$=j-p;return v===void 0||C>=c||C<0||x&&$>=h}function A(){var j=t();if(_(j))return T(j);y=setTimeout(A,b(j))}function T(j){return y=void 0,w&&f?O(j):(f=l=void 0,d)}function M(){y!==void 0&&clearTimeout(y),p=0,f=v=l=y=void 0}function P(){return y===void 0?d:T(t())}function E(){var j=t(),C=_(j);if(f=arguments,l=this,v=j,C){if(y===void 0)return m(v);if(x)return clearTimeout(y),y=setTimeout(A,c),O(v)}return y===void 0&&(y=setTimeout(A,c)),d}return E.cancel=M,E.flush=P,E}return bs=o,bs}var xs,xy;function RS(){if(xy)return xs;xy=1;var e=kS(),t=It(),r="Expected a function";function n(i,a,o){var u=!0,c=!0;if(typeof i!="function")throw new TypeError(r);return t(o)&&(u="leading"in o?!!o.leading:u,c="trailing"in o?!!o.trailing:c),e(i,a,{leading:u,maxWait:a,trailing:c})}return xs=n,xs}var DS=RS();const z0=oe(DS);function En(e){"@babel/helpers - typeof";return En=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},En(e)}function wy(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function gi(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&(j=z0(j,v,{trailing:!0,leading:!1}));var C=new ResizeObserver(j),$=m.current.getBoundingClientRect(),k=$.width,R=$.height;return P(k,R),C.observe(m.current),function(){C.disconnect()}},[P,v]);var E=N.useMemo(function(){var j=T.containerWidth,C=T.containerHeight;if(j<0||C<0)return null;it(Gt(o)||Gt(c),`The width(%s) and height(%s) are both fixed numbers, + maybe you don't need to use a ResponsiveContainer.`,o,c),it(!r||r>0,"The aspect(%s) must be greater than zero.",r);var $=Gt(o)?j:o,k=Gt(c)?C:c;r&&r>0&&($?k=$/r:k&&($=k*r),h&&k>h&&(k=h)),it($>0||k>0,`The width(%s) and height(%s) of chart should be greater than 0, + please check the style of container, or the props width(%s) and height(%s), + or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the + height and width.`,$,k,o,c,f,l,r);var R=!Array.isArray(d)&&bt(d.type).endsWith("Chart");return S.Children.map(d,function(L){return S.isValidElement(L)?N.cloneElement(L,gi({width:$,height:k},R?{style:gi({height:"100%",width:"100%",maxHeight:k,maxWidth:$},L.props.style)}:{})):L})},[r,d,c,h,l,f,T,o]);return S.createElement("div",{id:p?"".concat(p):void 0,className:J("recharts-responsive-container",g),style:gi(gi({},O),{},{width:o,height:c,minWidth:f,minHeight:l,maxHeight:h}),ref:m},E)}),oh=function(t){return null};oh.displayName="Cell";function jn(e){"@babel/helpers - typeof";return jn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jn(e)}function _y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function kl(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||or.isSsr)return{width:0,height:0};var n=YS(r),i=JSON.stringify({text:t,copyStyle:n});if(fr.widthCache[i])return fr.widthCache[i];try{var a=document.getElementById(Ay);a||(a=document.createElement("span"),a.setAttribute("id",Ay),a.setAttribute("aria-hidden","true"),document.body.appendChild(a));var o=kl(kl({},XS),n);Object.assign(a.style,o),a.textContent="".concat(t);var u=a.getBoundingClientRect(),c={width:u.width,height:u.height};return fr.widthCache[i]=c,++fr.cacheCount>VS&&(fr.cacheCount=0,fr.widthCache={}),c}catch{return{width:0,height:0}}},ZS=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function Mn(e){"@babel/helpers - typeof";return Mn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mn(e)}function Fi(e,t){return tP(e)||eP(e,t)||QS(e,t)||JS()}function JS(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function QS(e,t){if(e){if(typeof e=="string")return Sy(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Sy(e,t)}}function Sy(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function vP(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function $y(e,t){return bP(e)||gP(e,t)||mP(e,t)||yP()}function yP(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mP(e,t){if(e){if(typeof e=="string")return Cy(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Cy(e,t)}}function Cy(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&arguments[0]!==void 0?arguments[0]:[];return $.reduce(function(k,R){var L=R.word,B=R.width,U=k[k.length-1];if(U&&(i==null||a||U.width+B+nR.width?k:R})};if(!f)return d;for(var v="…",p=function($){var k=l.slice(0,$),R=G0({breakAll:s,style:c,children:k+v}).wordsWithComputedWidth,L=h(R),B=L.length>o||y(L).width>Number(i);return[B,L]},g=0,x=l.length-1,w=0,O;g<=x&&w<=l.length-1;){var m=Math.floor((g+x)/2),b=m-1,_=p(b),A=$y(_,2),T=A[0],M=A[1],P=p(m),E=$y(P,1),j=E[0];if(!T&&!j&&(g=m+1),T&&j&&(x=m-1),!T&&j){O=M;break}w++}return O||d},Iy=function(t){var r=Y(t)?[]:t.toString().split(K0);return[{words:r}]},wP=function(t){var r=t.width,n=t.scaleToFit,i=t.children,a=t.style,o=t.breakAll,u=t.maxLines;if((r||n)&&!or.isSsr){var c,s,f=G0({breakAll:o,children:i,style:a});if(f){var l=f.wordsWithComputedWidth,h=f.spaceWidth;c=l,s=h}else return Iy(i);return xP({breakAll:o,children:i,maxLines:u,style:a},c,s,r,n)}return Iy(i)},ky="#808080",rr=function(t){var r=t.x,n=r===void 0?0:r,i=t.y,a=i===void 0?0:i,o=t.lineHeight,u=o===void 0?"1em":o,c=t.capHeight,s=c===void 0?"0.71em":c,f=t.scaleToFit,l=f===void 0?!1:f,h=t.textAnchor,d=h===void 0?"start":h,y=t.verticalAnchor,v=y===void 0?"end":y,p=t.fill,g=p===void 0?ky:p,x=My(t,pP),w=N.useMemo(function(){return wP({breakAll:x.breakAll,children:x.children,maxLines:x.maxLines,scaleToFit:l,style:x.style,width:x.width})},[x.breakAll,x.children,x.maxLines,l,x.style,x.width]),O=x.dx,m=x.dy,b=x.angle,_=x.className,A=x.breakAll,T=My(x,dP);if(!Ae(n)||!Ae(a))return null;var M=n+(q(O)?O:0),P=a+(q(m)?m:0),E;switch(v){case"start":E=ws("calc(".concat(s,")"));break;case"middle":E=ws("calc(".concat((w.length-1)/2," * -").concat(u," + (").concat(s," / 2))"));break;default:E=ws("calc(".concat(w.length-1," * -").concat(u,")"));break}var j=[];if(l){var C=w[0].width,$=x.width;j.push("scale(".concat((q($)?$/C:1)/C,")"))}return b&&j.push("rotate(".concat(b,", ").concat(M,", ").concat(P,")")),j.length&&(T.transform=j.join(" ")),S.createElement("text",Rl({},H(T,!0),{x:M,y:P,className:J("recharts-text",_),textAnchor:d,fill:g.includes("url")?ky:g}),w.map(function(k,R){var L=k.words.join(A?"":" ");return S.createElement("tspan",{x:M,dy:R===0?E:u,key:"".concat(L,"-").concat(R)},L)}))};function Ct(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function OP(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function uh(e){let t,r,n;e.length!==2?(t=Ct,r=(u,c)=>Ct(e(u),c),n=(u,c)=>e(u)-c):(t=e===Ct||e===OP?e:_P,r=e,n=e);function i(u,c,s=0,f=u.length){if(s>>1;r(u[l],c)<0?s=l+1:f=l}while(s>>1;r(u[l],c)<=0?s=l+1:f=l}while(ss&&n(u[l-1],c)>-n(u[l],c)?l-1:l}return{left:i,center:o,right:a}}function _P(){return 0}function V0(e){return e===null?NaN:+e}function*AP(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const SP=uh(Ct),ci=SP.right;uh(V0).center;class Ry extends Map{constructor(t,r=EP){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(const[n,i]of t)this.set(n,i)}get(t){return super.get(Dy(this,t))}has(t){return super.has(Dy(this,t))}set(t,r){return super.set(PP(this,t),r)}delete(t){return super.delete(TP(this,t))}}function Dy({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):r}function PP({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function TP({_intern:e,_key:t},r){const n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function EP(e){return e!==null&&typeof e=="object"?e.valueOf():e}function jP(e=Ct){if(e===Ct)return X0;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{const n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function X0(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const MP=Math.sqrt(50),$P=Math.sqrt(10),CP=Math.sqrt(2);function Wi(e,t,r){const n=(t-e)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),o=a>=MP?10:a>=$P?5:a>=CP?2:1;let u,c,s;return i<0?(s=Math.pow(10,-i)/o,u=Math.round(e*s),c=Math.round(t*s),u/st&&--c,s=-s):(s=Math.pow(10,i)*o,u=Math.round(e/s),c=Math.round(t/s),u*st&&--c),c0))return[];if(e===t)return[e];const n=t=i))return[];const u=a-i+1,c=new Array(u);if(n)if(o<0)for(let s=0;s=n)&&(r=n);return r}function qy(e,t){let r;for(const n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);return r}function Y0(e,t,r=0,n=1/0,i){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(e.length-1,n)),!(r<=t&&t<=n))return e;for(i=i===void 0?X0:jP(i);n>r;){if(n-r>600){const c=n-r+1,s=t-r+1,f=Math.log(c),l=.5*Math.exp(2*f/3),h=.5*Math.sqrt(f*l*(c-l)/c)*(s-c/2<0?-1:1),d=Math.max(r,Math.floor(t-s*l/c+h)),y=Math.min(n,Math.floor(t+(c-s)*l/c+h));Y0(e,t,d,y,i)}const a=e[t];let o=r,u=n;for(on(e,r,t),i(e[n],a)>0&&on(e,r,n);o0;)--u}i(e[r],a)===0?on(e,r,u):(++u,on(e,u,n)),u<=t&&(r=u+1),t<=u&&(n=u-1)}return e}function on(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function IP(e,t,r){if(e=Float64Array.from(AP(e)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return qy(e);if(t>=1)return Ny(e);var n,i=(n-1)*t,a=Math.floor(i),o=Ny(Y0(e,a).subarray(0,a+1)),u=qy(e.subarray(a+1));return o+(u-o)*(i-a)}}function kP(e,t,r=V0){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,i=(n-1)*t,a=Math.floor(i),o=+r(e[a],a,e),u=+r(e[a+1],a+1,e);return o+(u-o)*(i-a)}}function RP(e,t,r){e=+e,t=+t,r=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((t-e)/r))|0,a=new Array(i);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?xi(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?xi(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=NP.exec(e))?new Ne(t[1],t[2],t[3],1):(t=qP.exec(e))?new Ne(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=LP.exec(e))?xi(t[1],t[2],t[3],t[4]):(t=BP.exec(e))?xi(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=FP.exec(e))?Hy(t[1],t[2]/100,t[3]/100,1):(t=WP.exec(e))?Hy(t[1],t[2]/100,t[3]/100,t[4]):Ly.hasOwnProperty(e)?Wy(Ly[e]):e==="transparent"?new Ne(NaN,NaN,NaN,0):null}function Wy(e){return new Ne(e>>16&255,e>>8&255,e&255,1)}function xi(e,t,r,n){return n<=0&&(e=t=r=NaN),new Ne(e,t,r,n)}function HP(e){return e instanceof si||(e=kn(e)),e?(e=e.rgb(),new Ne(e.r,e.g,e.b,e.opacity)):new Ne}function Bl(e,t,r,n){return arguments.length===1?HP(e):new Ne(e,t,r,n??1)}function Ne(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}sh(Ne,Bl,J0(si,{brighter(e){return e=e==null?zi:Math.pow(zi,e),new Ne(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Cn:Math.pow(Cn,e),new Ne(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Ne(Zt(this.r),Zt(this.g),Zt(this.b),Ui(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:zy,formatHex:zy,formatHex8:KP,formatRgb:Uy,toString:Uy}));function zy(){return`#${Vt(this.r)}${Vt(this.g)}${Vt(this.b)}`}function KP(){return`#${Vt(this.r)}${Vt(this.g)}${Vt(this.b)}${Vt((isNaN(this.opacity)?1:this.opacity)*255)}`}function Uy(){const e=Ui(this.opacity);return`${e===1?"rgb(":"rgba("}${Zt(this.r)}, ${Zt(this.g)}, ${Zt(this.b)}${e===1?")":`, ${e})`}`}function Ui(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Zt(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Vt(e){return e=Zt(e),(e<16?"0":"")+e.toString(16)}function Hy(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new nt(e,t,r,n)}function Q0(e){if(e instanceof nt)return new nt(e.h,e.s,e.l,e.opacity);if(e instanceof si||(e=kn(e)),!e)return new nt;if(e instanceof nt)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=NaN,u=a-i,c=(a+i)/2;return u?(t===a?o=(r-n)/u+(r0&&c<1?0:o,new nt(o,u,c,e.opacity)}function GP(e,t,r,n){return arguments.length===1?Q0(e):new nt(e,t,r,n??1)}function nt(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}sh(nt,GP,J0(si,{brighter(e){return e=e==null?zi:Math.pow(zi,e),new nt(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Cn:Math.pow(Cn,e),new nt(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new Ne(Os(e>=240?e-240:e+120,i,n),Os(e,i,n),Os(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new nt(Ky(this.h),wi(this.s),wi(this.l),Ui(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Ui(this.opacity);return`${e===1?"hsl(":"hsla("}${Ky(this.h)}, ${wi(this.s)*100}%, ${wi(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ky(e){return e=(e||0)%360,e<0?e+360:e}function wi(e){return Math.max(0,Math.min(1,e||0))}function Os(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const lh=e=>()=>e;function VP(e,t){return function(r){return e+r*t}}function XP(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function YP(e){return(e=+e)==1?ex:function(t,r){return r-t?XP(t,r,e):lh(isNaN(t)?r:t)}}function ex(e,t){var r=t-e;return r?VP(e,r):lh(isNaN(e)?t:e)}const Gy=(function e(t){var r=YP(t);function n(i,a){var o=r((i=Bl(i)).r,(a=Bl(a)).r),u=r(i.g,a.g),c=r(i.b,a.b),s=ex(i.opacity,a.opacity);return function(f){return i.r=o(f),i.g=u(f),i.b=c(f),i.opacity=s(f),i+""}}return n.gamma=e,n})(1);function ZP(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),i;return function(a){for(i=0;ir&&(a=t.slice(r,a),u[o]?u[o]+=a:u[++o]=a),(n=n[0])===(i=i[0])?u[o]?u[o]+=i:u[++o]=i:(u[++o]=null,c.push({i:o,x:Hi(n,i)})),r=_s.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function cT(e,t,r){var n=e[0],i=e[1],a=t[0],o=t[1];return i2?sT:cT,c=s=null,l}function l(h){return h==null||isNaN(h=+h)?a:(c||(c=u(e.map(n),t,r)))(n(o(h)))}return l.invert=function(h){return o(i((s||(s=u(t,e.map(n),Hi)))(h)))},l.domain=function(h){return arguments.length?(e=Array.from(h,Ki),f()):e.slice()},l.range=function(h){return arguments.length?(t=Array.from(h),f()):t.slice()},l.rangeRound=function(h){return t=Array.from(h),r=fh,f()},l.clamp=function(h){return arguments.length?(o=h?!0:ke,f()):o!==ke},l.interpolate=function(h){return arguments.length?(r=h,f()):r},l.unknown=function(h){return arguments.length?(a=h,l):a},function(h,d){return n=h,i=d,f()}}function hh(){return Ba()(ke,ke)}function lT(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Gi(e,t){if((r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var r,n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function jr(e){return e=Gi(Math.abs(e)),e?e[1]:NaN}function fT(e,t){return function(r,n){for(var i=r.length,a=[],o=0,u=e[0],c=0;i>0&&u>0&&(c+u+1>n&&(u=Math.max(1,n-c)),a.push(r.substring(i-=u,i+u)),!((c+=u+1)>n));)u=e[o=(o+1)%e.length];return a.reverse().join(t)}}function hT(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var pT=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Rn(e){if(!(t=pT.exec(e)))throw new Error("invalid format: "+e);var t;return new ph({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Rn.prototype=ph.prototype;function ph(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}ph.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function dT(e){e:for(var t=e.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(i+1):e}var tx;function vT(e,t){var r=Gi(e,t);if(!r)return e+"";var n=r[0],i=r[1],a=i-(tx=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=n.length;return a===o?n:a>o?n+new Array(a-o+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+Gi(e,Math.max(0,t+a-1))[0]}function Xy(e,t){var r=Gi(e,t);if(!r)return e+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const Yy={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:lT,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>Xy(e*100,t),r:Xy,s:vT,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Zy(e){return e}var Jy=Array.prototype.map,Qy=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function yT(e){var t=e.grouping===void 0||e.thousands===void 0?Zy:fT(Jy.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",a=e.numerals===void 0?Zy:hT(Jy.call(e.numerals,String)),o=e.percent===void 0?"%":e.percent+"",u=e.minus===void 0?"−":e.minus+"",c=e.nan===void 0?"NaN":e.nan+"";function s(l){l=Rn(l);var h=l.fill,d=l.align,y=l.sign,v=l.symbol,p=l.zero,g=l.width,x=l.comma,w=l.precision,O=l.trim,m=l.type;m==="n"?(x=!0,m="g"):Yy[m]||(w===void 0&&(w=12),O=!0,m="g"),(p||h==="0"&&d==="=")&&(p=!0,h="0",d="=");var b=v==="$"?r:v==="#"&&/[boxX]/.test(m)?"0"+m.toLowerCase():"",_=v==="$"?n:/[%p]/.test(m)?o:"",A=Yy[m],T=/[defgprs%]/.test(m);w=w===void 0?6:/[gprs]/.test(m)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function M(P){var E=b,j=_,C,$,k;if(m==="c")j=A(P)+j,P="";else{P=+P;var R=P<0||1/P<0;if(P=isNaN(P)?c:A(Math.abs(P),w),O&&(P=dT(P)),R&&+P==0&&y!=="+"&&(R=!1),E=(R?y==="("?y:u:y==="-"||y==="("?"":y)+E,j=(m==="s"?Qy[8+tx/3]:"")+j+(R&&y==="("?")":""),T){for(C=-1,$=P.length;++C<$;)if(k=P.charCodeAt(C),48>k||k>57){j=(k===46?i+P.slice(C+1):P.slice(C))+j,P=P.slice(0,C);break}}}x&&!p&&(P=t(P,1/0));var L=E.length+P.length+j.length,B=L>1)+E+P+j+B.slice(L);break;default:P=B+E+P+j;break}return a(P)}return M.toString=function(){return l+""},M}function f(l,h){var d=s((l=Rn(l),l.type="f",l)),y=Math.max(-8,Math.min(8,Math.floor(jr(h)/3)))*3,v=Math.pow(10,-y),p=Qy[8+y/3];return function(g){return d(v*g)+p}}return{format:s,formatPrefix:f}}var Oi,dh,rx;mT({thousands:",",grouping:[3],currency:["$",""]});function mT(e){return Oi=yT(e),dh=Oi.format,rx=Oi.formatPrefix,Oi}function gT(e){return Math.max(0,-jr(Math.abs(e)))}function bT(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(jr(t)/3)))*3-jr(Math.abs(e)))}function xT(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,jr(t)-jr(e))+1}function nx(e,t,r,n){var i=ql(e,t,r),a;switch(n=Rn(n??",f"),n.type){case"s":{var o=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(a=bT(i,o))&&(n.precision=a),rx(n,o)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=xT(i,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=gT(i))&&(n.precision=a-(n.type==="%")*2);break}}return dh(n)}function kt(e){var t=e.domain;return e.ticks=function(r){var n=t();return Dl(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var i=t();return nx(i[0],i[i.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),i=0,a=n.length-1,o=n[i],u=n[a],c,s,f=10;for(u0;){if(s=Nl(o,u,r),s===c)return n[i]=o,n[a]=u,t(n);if(s>0)o=Math.floor(o/s)*s,u=Math.ceil(u/s)*s;else if(s<0)o=Math.ceil(o*s)/s,u=Math.floor(u*s)/s;else break;c=s}return e},e}function Vi(){var e=hh();return e.copy=function(){return li(e,Vi())},Qe.apply(e,arguments),kt(e)}function ix(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,Ki),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return ix(e).unknown(t)},e=arguments.length?Array.from(e,Ki):[0,1],kt(r)}function ax(e,t){e=e.slice();var r=0,n=e.length-1,i=e[r],a=e[n],o;return aMath.pow(e,t)}function ST(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function rm(e){return(t,r)=>-e(-t,r)}function vh(e){const t=e(em,tm),r=t.domain;let n=10,i,a;function o(){return i=ST(n),a=AT(n),r()[0]<0?(i=rm(i),a=rm(a),e(wT,OT)):e(em,tm),t}return t.base=function(u){return arguments.length?(n=+u,o()):n},t.domain=function(u){return arguments.length?(r(u),o()):r()},t.ticks=u=>{const c=r();let s=c[0],f=c[c.length-1];const l=f0){for(;h<=d;++h)for(y=1;yf)break;g.push(v)}}else for(;h<=d;++h)for(y=n-1;y>=1;--y)if(v=h>0?y/a(-h):y*a(h),!(vf)break;g.push(v)}g.length*2{if(u==null&&(u=10),c==null&&(c=n===10?"s":","),typeof c!="function"&&(!(n%1)&&(c=Rn(c)).precision==null&&(c.trim=!0),c=dh(c)),u===1/0)return c;const s=Math.max(1,n*u/t.ticks().length);return f=>{let l=f/a(Math.round(i(f)));return l*nr(ax(r(),{floor:u=>a(Math.floor(i(u))),ceil:u=>a(Math.ceil(i(u)))})),t}function ox(){const e=vh(Ba()).domain([1,10]);return e.copy=()=>li(e,ox()).base(e.base()),Qe.apply(e,arguments),e}function nm(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function im(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function yh(e){var t=1,r=e(nm(t),im(t));return r.constant=function(n){return arguments.length?e(nm(t=+n),im(t)):t},kt(r)}function ux(){var e=yh(Ba());return e.copy=function(){return li(e,ux()).constant(e.constant())},Qe.apply(e,arguments)}function am(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function PT(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function TT(e){return e<0?-e*e:e*e}function mh(e){var t=e(ke,ke),r=1;function n(){return r===1?e(ke,ke):r===.5?e(PT,TT):e(am(r),am(1/r))}return t.exponent=function(i){return arguments.length?(r=+i,n()):r},kt(t)}function gh(){var e=mh(Ba());return e.copy=function(){return li(e,gh()).exponent(e.exponent())},Qe.apply(e,arguments),e}function ET(){return gh.apply(null,arguments).exponent(.5)}function om(e){return Math.sign(e)*e*e}function jT(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function cx(){var e=hh(),t=[0,1],r=!1,n;function i(a){var o=jT(e(a));return isNaN(o)?n:r?Math.round(o):o}return i.invert=function(a){return e.invert(om(a))},i.domain=function(a){return arguments.length?(e.domain(a),i):e.domain()},i.range=function(a){return arguments.length?(e.range((t=Array.from(a,Ki)).map(om)),i):t.slice()},i.rangeRound=function(a){return i.range(a).round(!0)},i.round=function(a){return arguments.length?(r=!!a,i):r},i.clamp=function(a){return arguments.length?(e.clamp(a),i):e.clamp()},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return cx(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},Qe.apply(i,arguments),kt(i)}function sx(){var e=[],t=[],r=[],n;function i(){var o=0,u=Math.max(1,t.length);for(r=new Array(u-1);++o0?r[u-1]:e[0],u=r?[n[r-1],t]:[n[s-1],n[s]]},o.unknown=function(c){return arguments.length&&(a=c),o},o.thresholds=function(){return n.slice()},o.copy=function(){return lx().domain([e,t]).range(i).unknown(a)},Qe.apply(kt(o),arguments)}function fx(){var e=[.5],t=[0,1],r,n=1;function i(a){return a!=null&&a<=a?t[ci(e,a,0,n)]:r}return i.domain=function(a){return arguments.length?(e=Array.from(a),n=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(a){return arguments.length?(t=Array.from(a),n=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(a){var o=t.indexOf(a);return[e[o-1],e[o]]},i.unknown=function(a){return arguments.length?(r=a,i):r},i.copy=function(){return fx().domain(e).range(t).unknown(r)},Qe.apply(i,arguments)}const As=new Date,Ss=new Date;function Se(e,t,r,n){function i(a){return e(a=arguments.length===0?new Date:new Date(+a)),a}return i.floor=a=>(e(a=new Date(+a)),a),i.ceil=a=>(e(a=new Date(a-1)),t(a,1),e(a),a),i.round=a=>{const o=i(a),u=i.ceil(a);return a-o(t(a=new Date(+a),o==null?1:Math.floor(o)),a),i.range=(a,o,u)=>{const c=[];if(a=i.ceil(a),u=u==null?1:Math.floor(u),!(a0))return c;let s;do c.push(s=new Date(+a)),t(a,u),e(a);while(sSe(o=>{if(o>=o)for(;e(o),!a(o);)o.setTime(o-1)},(o,u)=>{if(o>=o)if(u<0)for(;++u<=0;)for(;t(o,-1),!a(o););else for(;--u>=0;)for(;t(o,1),!a(o););}),r&&(i.count=(a,o)=>(As.setTime(+a),Ss.setTime(+o),e(As),e(Ss),Math.floor(r(As,Ss))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?o=>n(o)%a===0:o=>i.count(0,o)%a===0):i)),i}const Xi=Se(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Xi.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Se(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Xi);Xi.range;const yt=1e3,Ze=yt*60,mt=Ze*60,Ot=mt*24,bh=Ot*7,um=Ot*30,Ps=Ot*365,Xt=Se(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*yt)},(e,t)=>(t-e)/yt,e=>e.getUTCSeconds());Xt.range;const xh=Se(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*yt)},(e,t)=>{e.setTime(+e+t*Ze)},(e,t)=>(t-e)/Ze,e=>e.getMinutes());xh.range;const wh=Se(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Ze)},(e,t)=>(t-e)/Ze,e=>e.getUTCMinutes());wh.range;const Oh=Se(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*yt-e.getMinutes()*Ze)},(e,t)=>{e.setTime(+e+t*mt)},(e,t)=>(t-e)/mt,e=>e.getHours());Oh.range;const _h=Se(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*mt)},(e,t)=>(t-e)/mt,e=>e.getUTCHours());_h.range;const fi=Se(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Ze)/Ot,e=>e.getDate()-1);fi.range;const Fa=Se(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Ot,e=>e.getUTCDate()-1);Fa.range;const hx=Se(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Ot,e=>Math.floor(e/Ot));hx.range;function ur(e){return Se(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*Ze)/bh)}const Wa=ur(0),Yi=ur(1),MT=ur(2),$T=ur(3),Mr=ur(4),CT=ur(5),IT=ur(6);Wa.range;Yi.range;MT.range;$T.range;Mr.range;CT.range;IT.range;function cr(e){return Se(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/bh)}const za=cr(0),Zi=cr(1),kT=cr(2),RT=cr(3),$r=cr(4),DT=cr(5),NT=cr(6);za.range;Zi.range;kT.range;RT.range;$r.range;DT.range;NT.range;const Ah=Se(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());Ah.range;const Sh=Se(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());Sh.range;const _t=Se(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());_t.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Se(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});_t.range;const At=Se(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());At.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Se(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});At.range;function px(e,t,r,n,i,a){const o=[[Xt,1,yt],[Xt,5,5*yt],[Xt,15,15*yt],[Xt,30,30*yt],[a,1,Ze],[a,5,5*Ze],[a,15,15*Ze],[a,30,30*Ze],[i,1,mt],[i,3,3*mt],[i,6,6*mt],[i,12,12*mt],[n,1,Ot],[n,2,2*Ot],[r,1,bh],[t,1,um],[t,3,3*um],[e,1,Ps]];function u(s,f,l){const h=fp).right(o,h);if(d===o.length)return e.every(ql(s/Ps,f/Ps,l));if(d===0)return Xi.every(Math.max(ql(s,f,l),1));const[y,v]=o[h/o[d-1][2]53)return null;"w"in D||(D.w=1),"Z"in D?(ee=Es(un(D.y,0,1)),be=ee.getUTCDay(),ee=be>4||be===0?Zi.ceil(ee):Zi(ee),ee=Fa.offset(ee,(D.V-1)*7),D.y=ee.getUTCFullYear(),D.m=ee.getUTCMonth(),D.d=ee.getUTCDate()+(D.w+6)%7):(ee=Ts(un(D.y,0,1)),be=ee.getDay(),ee=be>4||be===0?Yi.ceil(ee):Yi(ee),ee=fi.offset(ee,(D.V-1)*7),D.y=ee.getFullYear(),D.m=ee.getMonth(),D.d=ee.getDate()+(D.w+6)%7)}else("W"in D||"U"in D)&&("w"in D||(D.w="u"in D?D.u%7:"W"in D?1:0),be="Z"in D?Es(un(D.y,0,1)).getUTCDay():Ts(un(D.y,0,1)).getDay(),D.m=0,D.d="W"in D?(D.w+6)%7+D.W*7-(be+5)%7:D.w+D.U*7-(be+6)%7);return"Z"in D?(D.H+=D.Z/100|0,D.M+=D.Z%100,Es(D)):Ts(D)}}function A(F,Z,Q,D){for(var de=0,ee=Z.length,be=Q.length,xe,De;de=be)return-1;if(xe=Z.charCodeAt(de++),xe===37){if(xe=Z.charAt(de++),De=m[xe in cm?Z.charAt(de++):xe],!De||(D=De(F,Q,D))<0)return-1}else if(xe!=Q.charCodeAt(D++))return-1}return D}function T(F,Z,Q){var D=s.exec(Z.slice(Q));return D?(F.p=f.get(D[0].toLowerCase()),Q+D[0].length):-1}function M(F,Z,Q){var D=d.exec(Z.slice(Q));return D?(F.w=y.get(D[0].toLowerCase()),Q+D[0].length):-1}function P(F,Z,Q){var D=l.exec(Z.slice(Q));return D?(F.w=h.get(D[0].toLowerCase()),Q+D[0].length):-1}function E(F,Z,Q){var D=g.exec(Z.slice(Q));return D?(F.m=x.get(D[0].toLowerCase()),Q+D[0].length):-1}function j(F,Z,Q){var D=v.exec(Z.slice(Q));return D?(F.m=p.get(D[0].toLowerCase()),Q+D[0].length):-1}function C(F,Z,Q){return A(F,t,Z,Q)}function $(F,Z,Q){return A(F,r,Z,Q)}function k(F,Z,Q){return A(F,n,Z,Q)}function R(F){return o[F.getDay()]}function L(F){return a[F.getDay()]}function B(F){return c[F.getMonth()]}function U(F){return u[F.getMonth()]}function G(F){return i[+(F.getHours()>=12)]}function W(F){return 1+~~(F.getMonth()/3)}function V(F){return o[F.getUTCDay()]}function fe(F){return a[F.getUTCDay()]}function ye(F){return c[F.getUTCMonth()]}function Le(F){return u[F.getUTCMonth()]}function qt(F){return i[+(F.getUTCHours()>=12)]}function Re(F){return 1+~~(F.getUTCMonth()/3)}return{format:function(F){var Z=b(F+="",w);return Z.toString=function(){return F},Z},parse:function(F){var Z=_(F+="",!1);return Z.toString=function(){return F},Z},utcFormat:function(F){var Z=b(F+="",O);return Z.toString=function(){return F},Z},utcParse:function(F){var Z=_(F+="",!0);return Z.toString=function(){return F},Z}}}var cm={"-":"",_:" ",0:"0"},Ee=/^\s*\d+/,zT=/^%/,UT=/[\\^$*+?|[\]().{}]/g;function re(e,t,r){var n=e<0?"-":"",i=(n?-e:e)+"",a=i.length;return n+(a[t.toLowerCase(),r]))}function KT(e,t,r){var n=Ee.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function GT(e,t,r){var n=Ee.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function VT(e,t,r){var n=Ee.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function XT(e,t,r){var n=Ee.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function YT(e,t,r){var n=Ee.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function sm(e,t,r){var n=Ee.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function lm(e,t,r){var n=Ee.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function ZT(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function JT(e,t,r){var n=Ee.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function QT(e,t,r){var n=Ee.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function fm(e,t,r){var n=Ee.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function eE(e,t,r){var n=Ee.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function hm(e,t,r){var n=Ee.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function tE(e,t,r){var n=Ee.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function rE(e,t,r){var n=Ee.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function nE(e,t,r){var n=Ee.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function iE(e,t,r){var n=Ee.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function aE(e,t,r){var n=zT.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function oE(e,t,r){var n=Ee.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function uE(e,t,r){var n=Ee.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function pm(e,t){return re(e.getDate(),t,2)}function cE(e,t){return re(e.getHours(),t,2)}function sE(e,t){return re(e.getHours()%12||12,t,2)}function lE(e,t){return re(1+fi.count(_t(e),e),t,3)}function dx(e,t){return re(e.getMilliseconds(),t,3)}function fE(e,t){return dx(e,t)+"000"}function hE(e,t){return re(e.getMonth()+1,t,2)}function pE(e,t){return re(e.getMinutes(),t,2)}function dE(e,t){return re(e.getSeconds(),t,2)}function vE(e){var t=e.getDay();return t===0?7:t}function yE(e,t){return re(Wa.count(_t(e)-1,e),t,2)}function vx(e){var t=e.getDay();return t>=4||t===0?Mr(e):Mr.ceil(e)}function mE(e,t){return e=vx(e),re(Mr.count(_t(e),e)+(_t(e).getDay()===4),t,2)}function gE(e){return e.getDay()}function bE(e,t){return re(Yi.count(_t(e)-1,e),t,2)}function xE(e,t){return re(e.getFullYear()%100,t,2)}function wE(e,t){return e=vx(e),re(e.getFullYear()%100,t,2)}function OE(e,t){return re(e.getFullYear()%1e4,t,4)}function _E(e,t){var r=e.getDay();return e=r>=4||r===0?Mr(e):Mr.ceil(e),re(e.getFullYear()%1e4,t,4)}function AE(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+re(t/60|0,"0",2)+re(t%60,"0",2)}function dm(e,t){return re(e.getUTCDate(),t,2)}function SE(e,t){return re(e.getUTCHours(),t,2)}function PE(e,t){return re(e.getUTCHours()%12||12,t,2)}function TE(e,t){return re(1+Fa.count(At(e),e),t,3)}function yx(e,t){return re(e.getUTCMilliseconds(),t,3)}function EE(e,t){return yx(e,t)+"000"}function jE(e,t){return re(e.getUTCMonth()+1,t,2)}function ME(e,t){return re(e.getUTCMinutes(),t,2)}function $E(e,t){return re(e.getUTCSeconds(),t,2)}function CE(e){var t=e.getUTCDay();return t===0?7:t}function IE(e,t){return re(za.count(At(e)-1,e),t,2)}function mx(e){var t=e.getUTCDay();return t>=4||t===0?$r(e):$r.ceil(e)}function kE(e,t){return e=mx(e),re($r.count(At(e),e)+(At(e).getUTCDay()===4),t,2)}function RE(e){return e.getUTCDay()}function DE(e,t){return re(Zi.count(At(e)-1,e),t,2)}function NE(e,t){return re(e.getUTCFullYear()%100,t,2)}function qE(e,t){return e=mx(e),re(e.getUTCFullYear()%100,t,2)}function LE(e,t){return re(e.getUTCFullYear()%1e4,t,4)}function BE(e,t){var r=e.getUTCDay();return e=r>=4||r===0?$r(e):$r.ceil(e),re(e.getUTCFullYear()%1e4,t,4)}function FE(){return"+0000"}function vm(){return"%"}function ym(e){return+e}function mm(e){return Math.floor(+e/1e3)}var hr,gx,bx;WE({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function WE(e){return hr=WT(e),gx=hr.format,hr.parse,bx=hr.utcFormat,hr.utcParse,hr}function zE(e){return new Date(e)}function UE(e){return e instanceof Date?+e:+new Date(+e)}function Ph(e,t,r,n,i,a,o,u,c,s){var f=hh(),l=f.invert,h=f.domain,d=s(".%L"),y=s(":%S"),v=s("%I:%M"),p=s("%I %p"),g=s("%a %d"),x=s("%b %d"),w=s("%B"),O=s("%Y");function m(b){return(c(b)t(i/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(i,a)=>IP(e,a/n))},r.copy=function(){return _x(t).domain(e)},Tt.apply(r,arguments)}function Ha(){var e=0,t=.5,r=1,n=1,i,a,o,u,c,s=ke,f,l=!1,h;function d(v){return isNaN(v=+v)?h:(v=.5+((v=+f(v))-a)*(n*vr}return Ms=e,Ms}var $s,wm;function XE(){if(wm)return $s;wm=1;var e=Ka(),t=Tx(),r=Jr();function n(i){return i&&i.length?e(i,r,t):void 0}return $s=n,$s}var YE=XE();const Ga=oe(YE);var Cs,Om;function Ex(){if(Om)return Cs;Om=1;function e(t,r){return te.e^a.s<0?1:-1;for(n=a.d.length,i=e.d.length,t=0,r=ne.d[t]^a.s<0?1:-1;return n===i?0:n>i^a.s<0?1:-1};z.decimalPlaces=z.dp=function(){var e=this,t=e.d.length-1,r=(t-e.e)*he;if(t=e.d[t],t)for(;t%10==0;t/=10)r--;return r<0?0:r};z.dividedBy=z.div=function(e){return xt(this,new this.constructor(e))};z.dividedToIntegerBy=z.idiv=function(e){var t=this,r=t.constructor;return ue(xt(t,new r(e),0,1),r.precision)};z.equals=z.eq=function(e){return!this.cmp(e)};z.exponent=function(){return ge(this)};z.greaterThan=z.gt=function(e){return this.cmp(e)>0};z.greaterThanOrEqualTo=z.gte=function(e){return this.cmp(e)>=0};z.isInteger=z.isint=function(){return this.e>this.d.length-2};z.isNegative=z.isneg=function(){return this.s<0};z.isPositive=z.ispos=function(){return this.s>0};z.isZero=function(){return this.s===0};z.lessThan=z.lt=function(e){return this.cmp(e)<0};z.lessThanOrEqualTo=z.lte=function(e){return this.cmp(e)<1};z.logarithm=z.log=function(e){var t,r=this,n=r.constructor,i=n.precision,a=i+5;if(e===void 0)e=new n(10);else if(e=new n(e),e.s<1||e.eq(Ue))throw Error(Je+"NaN");if(r.s<1)throw Error(Je+(r.s?"NaN":"-Infinity"));return r.eq(Ue)?new n(0):(pe=!1,t=xt(Dn(r,a),Dn(e,a),a),pe=!0,ue(t,i))};z.minus=z.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?Cx(t,e):Mx(t,(e.s=-e.s,e))};z.modulo=z.mod=function(e){var t,r=this,n=r.constructor,i=n.precision;if(e=new n(e),!e.s)throw Error(Je+"NaN");return r.s?(pe=!1,t=xt(r,e,0,1).times(e),pe=!0,r.minus(t)):ue(new n(r),i)};z.naturalExponential=z.exp=function(){return $x(this)};z.naturalLogarithm=z.ln=function(){return Dn(this)};z.negated=z.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};z.plus=z.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?Mx(t,e):Cx(t,(e.s=-e.s,e))};z.precision=z.sd=function(e){var t,r,n,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Jt+e);if(t=ge(i)+1,n=i.d.length-1,r=n*he+1,n=i.d[n],n){for(;n%10==0;n/=10)r--;for(n=i.d[0];n>=10;n/=10)r++}return e&&t>r?t:r};z.squareRoot=z.sqrt=function(){var e,t,r,n,i,a,o,u=this,c=u.constructor;if(u.s<1){if(!u.s)return new c(0);throw Error(Je+"NaN")}for(e=ge(u),pe=!1,i=Math.sqrt(+u),i==0||i==1/0?(t=ot(u.d),(t.length+e)%2==0&&(t+="0"),i=Math.sqrt(t),e=tn((e+1)/2)-(e<0||e%2),i==1/0?t="5e"+e:(t=i.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new c(t)):n=new c(i.toString()),r=c.precision,i=o=r+3;;)if(a=n,n=a.plus(xt(u,a,o+2)).times(.5),ot(a.d).slice(0,o)===(t=ot(n.d)).slice(0,o)){if(t=t.slice(o-3,o+1),i==o&&t=="4999"){if(ue(a,r+1,0),a.times(a).eq(u)){n=a;break}}else if(t!="9999")break;o+=4}return pe=!0,ue(n,r)};z.times=z.mul=function(e){var t,r,n,i,a,o,u,c,s,f=this,l=f.constructor,h=f.d,d=(e=new l(e)).d;if(!f.s||!e.s)return new l(0);for(e.s*=f.s,r=f.e+e.e,c=h.length,s=d.length,c=0;){for(t=0,i=c+n;i>n;)u=a[i]+d[n]*h[i-n-1]+t,a[i--]=u%Pe|0,t=u/Pe|0;a[i]=(a[i]+t)%Pe|0}for(;!a[--o];)a.pop();return t?++r:a.shift(),e.d=a,e.e=r,pe?ue(e,l.precision):e};z.toDecimalPlaces=z.todp=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(st(e,0,en),t===void 0?t=n.rounding:st(t,0,8),ue(r,e+ge(r)+1,t))};z.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=nr(n,!0):(st(e,0,en),t===void 0?t=i.rounding:st(t,0,8),n=ue(new i(n),e+1,t),r=nr(n,!0,e+1)),r};z.toFixed=function(e,t){var r,n,i=this,a=i.constructor;return e===void 0?nr(i):(st(e,0,en),t===void 0?t=a.rounding:st(t,0,8),n=ue(new a(i),e+ge(i)+1,t),r=nr(n.abs(),!1,e+ge(n)+1),i.isneg()&&!i.isZero()?"-"+r:r)};z.toInteger=z.toint=function(){var e=this,t=e.constructor;return ue(new t(e),ge(e)+1,t.rounding)};z.toNumber=function(){return+this};z.toPower=z.pow=function(e){var t,r,n,i,a,o,u=this,c=u.constructor,s=12,f=+(e=new c(e));if(!e.s)return new c(Ue);if(u=new c(u),!u.s){if(e.s<1)throw Error(Je+"Infinity");return u}if(u.eq(Ue))return u;if(n=c.precision,e.eq(Ue))return ue(u,n);if(t=e.e,r=e.d.length-1,o=t>=r,a=u.s,o){if((r=f<0?-f:f)<=jx){for(i=new c(Ue),t=Math.ceil(n/he+4),pe=!1;r%2&&(i=i.times(u),Em(i.d,t)),r=tn(r/2),r!==0;)u=u.times(u),Em(u.d,t);return pe=!0,e.s<0?new c(Ue).div(i):ue(i,n)}}else if(a<0)throw Error(Je+"NaN");return a=a<0&&e.d[Math.max(t,r)]&1?-1:1,u.s=1,pe=!1,i=e.times(Dn(u,n+s)),pe=!0,i=$x(i),i.s=a,i};z.toPrecision=function(e,t){var r,n,i=this,a=i.constructor;return e===void 0?(r=ge(i),n=nr(i,r<=a.toExpNeg||r>=a.toExpPos)):(st(e,1,en),t===void 0?t=a.rounding:st(t,0,8),i=ue(new a(i),e,t),r=ge(i),n=nr(i,e<=r||r<=a.toExpNeg,e)),n};z.toSignificantDigits=z.tosd=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(st(e,1,en),t===void 0?t=n.rounding:st(t,0,8)),ue(new n(r),e,t)};z.toString=z.valueOf=z.val=z.toJSON=z[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=ge(e),r=e.constructor;return nr(e,t<=r.toExpNeg||t>=r.toExpPos)};function Mx(e,t){var r,n,i,a,o,u,c,s,f=e.constructor,l=f.precision;if(!e.s||!t.s)return t.s||(t=new f(e)),pe?ue(t,l):t;if(c=e.d,s=t.d,o=e.e,i=t.e,c=c.slice(),a=o-i,a){for(a<0?(n=c,a=-a,u=s.length):(n=s,i=o,u=c.length),o=Math.ceil(l/he),u=o>u?o+1:u+1,a>u&&(a=u,n.length=1),n.reverse();a--;)n.push(0);n.reverse()}for(u=c.length,a=s.length,u-a<0&&(a=u,n=s,s=c,c=n),r=0;a;)r=(c[--a]=c[a]+s[a]+r)/Pe|0,c[a]%=Pe;for(r&&(c.unshift(r),++i),u=c.length;c[--u]==0;)c.pop();return t.d=c,t.e=i,pe?ue(t,l):t}function st(e,t,r){if(e!==~~e||er)throw Error(Jt+e)}function ot(e){var t,r,n,i=e.length-1,a="",o=e[0];if(i>0){for(a+=o,t=1;to?1:-1;else for(u=c=0;ui[u]?1:-1;break}return c}function r(n,i,a){for(var o=0;a--;)n[a]-=o,o=n[a]1;)n.shift()}return function(n,i,a,o){var u,c,s,f,l,h,d,y,v,p,g,x,w,O,m,b,_,A,T=n.constructor,M=n.s==i.s?1:-1,P=n.d,E=i.d;if(!n.s)return new T(n);if(!i.s)throw Error(Je+"Division by zero");for(c=n.e-i.e,_=E.length,m=P.length,d=new T(M),y=d.d=[],s=0;E[s]==(P[s]||0);)++s;if(E[s]>(P[s]||0)&&--c,a==null?x=a=T.precision:o?x=a+(ge(n)-ge(i))+1:x=a,x<0)return new T(0);if(x=x/he+2|0,s=0,_==1)for(f=0,E=E[0],x++;(s1&&(E=e(E,f),P=e(P,f),_=E.length,m=P.length),O=_,v=P.slice(0,_),p=v.length;p<_;)v[p++]=0;A=E.slice(),A.unshift(0),b=E[0],E[1]>=Pe/2&&++b;do f=0,u=t(E,v,_,p),u<0?(g=v[0],_!=p&&(g=g*Pe+(v[1]||0)),f=g/b|0,f>1?(f>=Pe&&(f=Pe-1),l=e(E,f),h=l.length,p=v.length,u=t(l,v,h,p),u==1&&(f--,r(l,_16)throw Error(jh+ge(e));if(!e.s)return new f(Ue);for(pe=!1,u=l,o=new f(.03125);e.abs().gte(.1);)e=e.times(o),s+=5;for(n=Math.log(Ht(2,s))/Math.LN10*2+5|0,u+=n,r=i=a=new f(Ue),f.precision=u;;){if(i=ue(i.times(e),u),r=r.times(++c),o=a.plus(xt(i,r,u)),ot(o.d).slice(0,u)===ot(a.d).slice(0,u)){for(;s--;)a=ue(a.times(a),u);return f.precision=l,t==null?(pe=!0,ue(a,l)):a}a=o}}function ge(e){for(var t=e.e*he,r=e.d[0];r>=10;r/=10)t++;return t}function Ns(e,t,r){if(t>e.LN10.sd())throw pe=!0,r&&(e.precision=r),Error(Je+"LN10 precision limit exceeded");return ue(new e(e.LN10),t)}function jt(e){for(var t="";e--;)t+="0";return t}function Dn(e,t){var r,n,i,a,o,u,c,s,f,l=1,h=10,d=e,y=d.d,v=d.constructor,p=v.precision;if(d.s<1)throw Error(Je+(d.s?"NaN":"-Infinity"));if(d.eq(Ue))return new v(0);if(t==null?(pe=!1,s=p):s=t,d.eq(10))return t==null&&(pe=!0),Ns(v,s);if(s+=h,v.precision=s,r=ot(y),n=r.charAt(0),a=ge(d),Math.abs(a)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)d=d.times(e),r=ot(d.d),n=r.charAt(0),l++;a=ge(d),n>1?(d=new v("0."+r),a++):d=new v(n+"."+r.slice(1))}else return c=Ns(v,s+2,p).times(a+""),d=Dn(new v(n+"."+r.slice(1)),s-h).plus(c),v.precision=p,t==null?(pe=!0,ue(d,p)):d;for(u=o=d=xt(d.minus(Ue),d.plus(Ue),s),f=ue(d.times(d),s),i=3;;){if(o=ue(o.times(f),s),c=u.plus(xt(o,new v(i),s)),ot(c.d).slice(0,s)===ot(u.d).slice(0,s))return u=u.times(2),a!==0&&(u=u.plus(Ns(v,s+2,p).times(a+""))),u=xt(u,new v(l),s),v.precision=p,t==null?(pe=!0,ue(u,p)):u;u=c,i+=2}}function Tm(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;)++n;for(i=t.length;t.charCodeAt(i-1)===48;)--i;if(t=t.slice(n,i),t){if(i-=n,r=r-n-1,e.e=tn(r/he),e.d=[],n=(r+1)%he,r<0&&(n+=he),nJi||e.e<-Ji))throw Error(jh+r)}else e.s=0,e.e=0,e.d=[0];return e}function ue(e,t,r){var n,i,a,o,u,c,s,f,l=e.d;for(o=1,a=l[0];a>=10;a/=10)o++;if(n=t-o,n<0)n+=he,i=t,s=l[f=0];else{if(f=Math.ceil((n+1)/he),a=l.length,f>=a)return e;for(s=a=l[f],o=1;a>=10;a/=10)o++;n%=he,i=n-he+o}if(r!==void 0&&(a=Ht(10,o-i-1),u=s/a%10|0,c=t<0||l[f+1]!==void 0||s%a,c=r<4?(u||c)&&(r==0||r==(e.s<0?3:2)):u>5||u==5&&(r==4||c||r==6&&(n>0?i>0?s/Ht(10,o-i):0:l[f-1])%10&1||r==(e.s<0?8:7))),t<1||!l[0])return c?(a=ge(e),l.length=1,t=t-a-1,l[0]=Ht(10,(he-t%he)%he),e.e=tn(-t/he)||0):(l.length=1,l[0]=e.e=e.s=0),e;if(n==0?(l.length=f,a=1,f--):(l.length=f+1,a=Ht(10,he-n),l[f]=i>0?(s/Ht(10,o-i)%Ht(10,i)|0)*a:0),c)for(;;)if(f==0){(l[0]+=a)==Pe&&(l[0]=1,++e.e);break}else{if(l[f]+=a,l[f]!=Pe)break;l[f--]=0,a=1}for(n=l.length;l[--n]===0;)l.pop();if(pe&&(e.e>Ji||e.e<-Ji))throw Error(jh+ge(e));return e}function Cx(e,t){var r,n,i,a,o,u,c,s,f,l,h=e.constructor,d=h.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new h(e),pe?ue(t,d):t;if(c=e.d,l=t.d,n=t.e,s=e.e,c=c.slice(),o=s-n,o){for(f=o<0,f?(r=c,o=-o,u=l.length):(r=l,n=s,u=c.length),i=Math.max(Math.ceil(d/he),u)+2,o>i&&(o=i,r.length=1),r.reverse(),i=o;i--;)r.push(0);r.reverse()}else{for(i=c.length,u=l.length,f=i0;--i)c[u++]=0;for(i=l.length;i>o;){if(c[--i]0?a=a.charAt(0)+"."+a.slice(1)+jt(n):o>1&&(a=a.charAt(0)+"."+a.slice(1)),a=a+(i<0?"e":"e+")+i):i<0?(a="0."+jt(-i-1)+a,r&&(n=r-o)>0&&(a+=jt(n))):i>=o?(a+=jt(i+1-o),r&&(n=r-i-1)>0&&(a=a+"."+jt(n))):((n=i+1)0&&(i+1===o&&(a+="."),a+=jt(n))),e.s<0?"-"+a:a}function Em(e,t){if(e.length>t)return e.length=t,!0}function Ix(e){var t,r,n;function i(a){var o=this;if(!(o instanceof i))return new i(a);if(o.constructor=i,a instanceof i){o.s=a.s,o.e=a.e,o.d=(a=a.d)?a.slice():a;return}if(typeof a=="number"){if(a*0!==0)throw Error(Jt+a);if(a>0)o.s=1;else if(a<0)a=-a,o.s=-1;else{o.s=0,o.e=0,o.d=[0];return}if(a===~~a&&a<1e7){o.e=0,o.d=[a];return}return Tm(o,a.toString())}else if(typeof a!="string")throw Error(Jt+a);if(a.charCodeAt(0)===45?(a=a.slice(1),o.s=-1):o.s=1,oj.test(a))Tm(o,a);else throw Error(Jt+a)}if(i.prototype=z,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=Ix,i.config=i.set=uj,e===void 0&&(e={}),e)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=i[t+1]&&n<=i[t+2])this[r]=n;else throw Error(Jt+r+": "+n);if((n=e[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(Jt+r+": "+n);return this}var Mh=Ix(aj);Ue=new Mh(1);const ae=Mh;function cj(e){return hj(e)||fj(e)||lj(e)||sj()}function sj(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function lj(e,t){if(e){if(typeof e=="string")return zl(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return zl(e,t)}}function fj(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function hj(e){if(Array.isArray(e))return zl(e)}function zl(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=t?r.apply(void 0,i):e(t-o,jm(function(){for(var u=arguments.length,c=new Array(u),s=0;se.length)&&(t=e.length);for(var r=0,n=new Array(t);r"u"||!(Symbol.iterator in Object(e)))){var r=[],n=!0,i=!1,a=void 0;try{for(var o=e[Symbol.iterator](),u;!(n=(u=o.next()).done)&&(r.push(u.value),!(t&&r.length===t));n=!0);}catch(c){i=!0,a=c}finally{try{!n&&o.return!=null&&o.return()}finally{if(i)throw a}}return r}}function Tj(e){if(Array.isArray(e))return e}function qx(e){var t=Nn(e,2),r=t[0],n=t[1],i=r,a=n;return r>n&&(i=n,a=r),[i,a]}function Lx(e,t,r){if(e.lte(0))return new ae(0);var n=Ya.getDigitCount(e.toNumber()),i=new ae(10).pow(n),a=e.div(i),o=n!==1?.05:.1,u=new ae(Math.ceil(a.div(o).toNumber())).add(r).mul(o),c=u.mul(i);return t?c:new ae(Math.ceil(c))}function Ej(e,t,r){var n=1,i=new ae(e);if(!i.isint()&&r){var a=Math.abs(e);a<1?(n=new ae(10).pow(Ya.getDigitCount(e)-1),i=new ae(Math.floor(i.div(n).toNumber())).mul(n)):a>1&&(i=new ae(Math.floor(e)))}else e===0?i=new ae(Math.floor((t-1)/2)):r||(i=new ae(Math.floor(e)));var o=Math.floor((t-1)/2),u=yj(vj(function(c){return i.add(new ae(c-o).mul(n)).toNumber()}),Ul);return u(0,t)}function Bx(e,t,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(r-1)))return{step:new ae(0),tickMin:new ae(0),tickMax:new ae(0)};var a=Lx(new ae(t).sub(e).div(r-1),n,i),o;e<=0&&t>=0?o=new ae(0):(o=new ae(e).add(t).div(2),o=o.sub(new ae(o).mod(a)));var u=Math.ceil(o.sub(e).div(a).toNumber()),c=Math.ceil(new ae(t).sub(o).div(a).toNumber()),s=u+c+1;return s>r?Bx(e,t,r,n,i+1):(s0?c+(r-s):c,u=t>0?u:u+(r-s)),{step:a,tickMin:o.sub(new ae(u).mul(a)),tickMax:o.add(new ae(c).mul(a))})}function jj(e){var t=Nn(e,2),r=t[0],n=t[1],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=Math.max(i,2),u=qx([r,n]),c=Nn(u,2),s=c[0],f=c[1];if(s===-1/0||f===1/0){var l=f===1/0?[s].concat(Kl(Ul(0,i-1).map(function(){return 1/0}))):[].concat(Kl(Ul(0,i-1).map(function(){return-1/0})),[f]);return r>n?Hl(l):l}if(s===f)return Ej(s,i,a);var h=Bx(s,f,o,a),d=h.step,y=h.tickMin,v=h.tickMax,p=Ya.rangeStep(y,v.add(new ae(.1).mul(d)),d);return r>n?Hl(p):p}function Mj(e,t){var r=Nn(e,2),n=r[0],i=r[1],a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=qx([n,i]),u=Nn(o,2),c=u[0],s=u[1];if(c===-1/0||s===1/0)return[n,i];if(c===s)return[c];var f=Math.max(t,2),l=Lx(new ae(s).sub(c).div(f-1),a,0),h=[].concat(Kl(Ya.rangeStep(new ae(c),new ae(s).sub(new ae(.99).mul(l)),l)),[s]);return n>i?Hl(h):h}var $j=Dx(jj),Cj=Dx(Mj),Ij=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function Cr(e){"@babel/helpers - typeof";return Cr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Cr(e)}function Qi(){return Qi=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Bj(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Fj(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Wj(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0,o=-1,u=(r=n?.length)!==null&&r!==void 0?r:0;if(u<=1)return 0;if(a&&a.axisType==="angleAxis"&&Math.abs(Math.abs(a.range[1]-a.range[0])-360)<=1e-6)for(var c=a.range,s=0;s0?i[s-1].coordinate:i[u-1].coordinate,l=i[s].coordinate,h=s>=u-1?i[0].coordinate:i[s+1].coordinate,d=void 0;if(Ce(l-f)!==Ce(h-l)){var y=[];if(Ce(h-l)===Ce(c[1]-c[0])){d=h;var v=l+c[1]-c[0];y[0]=Math.min(v,(v+f)/2),y[1]=Math.max(v,(v+f)/2)}else{d=f;var p=h+c[1]-c[0];y[0]=Math.min(l,(p+l)/2),y[1]=Math.max(l,(p+l)/2)}var g=[Math.min(l,(d+l)/2),Math.max(l,(d+l)/2)];if(t>g[0]&&t<=g[1]||t>=y[0]&&t<=y[1]){o=i[s].index;break}}else{var x=Math.min(f,h),w=Math.max(f,h);if(t>(x+l)/2&&t<=(w+l)/2){o=i[s].index;break}}}else for(var O=0;O0&&O(n[O].coordinate+n[O-1].coordinate)/2&&t<=(n[O].coordinate+n[O+1].coordinate)/2||O===u-1&&t>(n[O].coordinate+n[O-1].coordinate)/2){o=n[O].index;break}return o},$h=function(t){var r,n=t,i=n.type.displayName,a=(r=t.type)!==null&&r!==void 0&&r.defaultProps?ve(ve({},t.type.defaultProps),t.props):t.props,o=a.stroke,u=a.fill,c;switch(i){case"Line":c=o;break;case"Area":case"Radar":c=o&&o!=="none"?o:u;break;default:c=u;break}return c},aM=function(t){var r=t.barSize,n=t.totalSize,i=t.stackGroups,a=i===void 0?{}:i;if(!a)return{};for(var o={},u=Object.keys(a),c=0,s=u.length;c=0});if(g&&g.length){var x=g[0].type.defaultProps,w=x!==void 0?ve(ve({},x),g[0].props):g[0].props,O=w.barSize,m=w[p];o[m]||(o[m]=[]);var b=Y(O)?r:O;o[m].push({item:g[0],stackList:g.slice(1),barSize:Y(b)?void 0:Ie(b,n,0)})}}return o},oM=function(t){var r=t.barGap,n=t.barCategoryGap,i=t.bandSize,a=t.sizeList,o=a===void 0?[]:a,u=t.maxBarSize,c=o.length;if(c<1)return null;var s=Ie(r,i,0,!0),f,l=[];if(o[0].barSize===+o[0].barSize){var h=!1,d=i/c,y=o.reduce(function(O,m){return O+m.barSize||0},0);y+=(c-1)*s,y>=i&&(y-=(c-1)*s,s=0),y>=i&&d>0&&(h=!0,d*=.9,y=c*d);var v=(i-y)/2>>0,p={offset:v-s,size:0};f=o.reduce(function(O,m){var b={item:m.item,position:{offset:p.offset+p.size+s,size:h?d:m.barSize}},_=[].concat(Cm(O),[b]);return p=_[_.length-1].position,m.stackList&&m.stackList.length&&m.stackList.forEach(function(A){_.push({item:A,position:p})}),_},l)}else{var g=Ie(n,i,0,!0);i-2*g-(c-1)*s<=0&&(s=0);var x=(i-2*g-(c-1)*s)/c;x>1&&(x>>=0);var w=u===+u?Math.min(x,u):x;f=o.reduce(function(O,m,b){var _=[].concat(Cm(O),[{item:m.item,position:{offset:g+(x+s)*b+(x-w)/2,size:w}}]);return m.stackList&&m.stackList.length&&m.stackList.forEach(function(A){_.push({item:A,position:_[_.length-1].position})}),_},l)}return f},uM=function(t,r,n,i){var a=n.children,o=n.width,u=n.margin,c=o-(u.left||0)-(u.right||0),s=Ux({children:a,legendWidth:c});if(s){var f=i||{},l=f.width,h=f.height,d=s.align,y=s.verticalAlign,v=s.layout;if((v==="vertical"||v==="horizontal"&&y==="middle")&&d!=="center"&&q(t[d]))return ve(ve({},t),{},_r({},d,t[d]+(l||0)));if((v==="horizontal"||v==="vertical"&&d==="center")&&y!=="middle"&&q(t[y]))return ve(ve({},t),{},_r({},y,t[y]+(h||0)))}return t},cM=function(t,r,n){return Y(r)?!0:t==="horizontal"?r==="yAxis":t==="vertical"||n==="x"?r==="xAxis":n==="y"?r==="yAxis":!0},Hx=function(t,r,n,i,a){var o=r.props.children,u=Ke(o,pi).filter(function(s){return cM(i,a,s.props.direction)});if(u&&u.length){var c=u.map(function(s){return s.props.dataKey});return t.reduce(function(s,f){var l=_e(f,n);if(Y(l))return s;var h=Array.isArray(l)?[Va(l),Ga(l)]:[l,l],d=c.reduce(function(y,v){var p=_e(f,v,0),g=h[0]-Math.abs(Array.isArray(p)?p[0]:p),x=h[1]+Math.abs(Array.isArray(p)?p[1]:p);return[Math.min(g,y[0]),Math.max(x,y[1])]},[1/0,-1/0]);return[Math.min(d[0],s[0]),Math.max(d[1],s[1])]},[1/0,-1/0])}return null},sM=function(t,r,n,i,a){var o=r.map(function(u){return Hx(t,u,n,a,i)}).filter(function(u){return!Y(u)});return o&&o.length?o.reduce(function(u,c){return[Math.min(u[0],c[0]),Math.max(u[1],c[1])]},[1/0,-1/0]):null},Kx=function(t,r,n,i,a){var o=r.map(function(c){var s=c.props.dataKey;return n==="number"&&s&&Hx(t,c,s,i)||bn(t,s,n,a)});if(n==="number")return o.reduce(function(c,s){return[Math.min(c[0],s[0]),Math.max(c[1],s[1])]},[1/0,-1/0]);var u={};return o.reduce(function(c,s){for(var f=0,l=s.length;f=2?Ce(u[0]-u[1])*2*s:s,r&&(t.ticks||t.niceTicks)){var f=(t.ticks||t.niceTicks).map(function(l){var h=a?a.indexOf(l):l;return{coordinate:i(h)+s,value:l,offset:s}});return f.filter(function(l){return!oi(l.coordinate)})}return t.isCategorical&&t.categoricalDomain?t.categoricalDomain.map(function(l,h){return{coordinate:i(l)+s,value:l,index:h,offset:s}}):i.ticks&&!n?i.ticks(t.tickCount).map(function(l){return{coordinate:i(l)+s,value:l,offset:s}}):i.domain().map(function(l,h){return{coordinate:i(l)+s,value:a?a[l]:l,index:h,offset:s}})},qs=new WeakMap,_i=function(t,r){if(typeof r!="function")return t;qs.has(t)||qs.set(t,new WeakMap);var n=qs.get(t);if(n.has(r))return n.get(r);var i=function(){t.apply(void 0,arguments),r.apply(void 0,arguments)};return n.set(r,i),i},Xx=function(t,r,n){var i=t.scale,a=t.type,o=t.layout,u=t.axisType;if(i==="auto")return o==="radial"&&u==="radiusAxis"?{scale:$n(),realScaleType:"band"}:o==="radial"&&u==="angleAxis"?{scale:Vi(),realScaleType:"linear"}:a==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!n)?{scale:gn(),realScaleType:"point"}:a==="category"?{scale:$n(),realScaleType:"band"}:{scale:Vi(),realScaleType:"linear"};if(er(i)){var c="scale".concat(Ia(i));return{scale:(gm[c]||gn)(),realScaleType:gm[c]?c:"point"}}return X(i)?{scale:i}:{scale:gn(),realScaleType:"point"}},km=1e-4,Yx=function(t){var r=t.domain();if(!(!r||r.length<=2)){var n=r.length,i=t.range(),a=Math.min(i[0],i[1])-km,o=Math.max(i[0],i[1])+km,u=t(r[0]),c=t(r[n-1]);(uo||co)&&t.domain([r[0],r[n-1]])}},lM=function(t,r){if(!t)return null;for(var n=0,i=t.length;ni)&&(a[1]=i),a[0]>i&&(a[0]=i),a[1]=0?(t[u][n][0]=a,t[u][n][1]=a+c,a=t[u][n][1]):(t[u][n][0]=o,t[u][n][1]=o+c,o=t[u][n][1])}},pM=function(t){var r=t.length;if(!(r<=0))for(var n=0,i=t[0].length;n=0?(t[o][n][0]=a,t[o][n][1]=a+u,a=t[o][n][1]):(t[o][n][0]=0,t[o][n][1]=0)}},dM={sign:hM,expand:r1,none:Ar,silhouette:n1,wiggle:i1,positive:pM},vM=function(t,r,n){var i=r.map(function(u){return u.props.dataKey}),a=dM[n],o=t1().keys(i).value(function(u,c){return+_e(u,c,0)}).order(Sl).offset(a);return o(t)},yM=function(t,r,n,i,a,o){if(!t)return null;var u=o?r.reverse():r,c={},s=u.reduce(function(l,h){var d,y=(d=h.type)!==null&&d!==void 0&&d.defaultProps?ve(ve({},h.type.defaultProps),h.props):h.props,v=y.stackId,p=y.hide;if(p)return l;var g=y[n],x=l[g]||{hasStack:!1,stackGroups:{}};if(Ae(v)){var w=x.stackGroups[v]||{numericAxisId:n,cateAxisId:i,items:[]};w.items.push(h),x.hasStack=!0,x.stackGroups[v]=w}else x.stackGroups[Zr("_stackId_")]={numericAxisId:n,cateAxisId:i,items:[h]};return ve(ve({},l),{},_r({},g,x))},c),f={};return Object.keys(s).reduce(function(l,h){var d=s[h];if(d.hasStack){var y={};d.stackGroups=Object.keys(d.stackGroups).reduce(function(v,p){var g=d.stackGroups[p];return ve(ve({},v),{},_r({},p,{numericAxisId:n,cateAxisId:i,items:g.items,stackedData:vM(t,g.items,a)}))},y)}return ve(ve({},l),{},_r({},h,d))},f)},Zx=function(t,r){var n=r.realScaleType,i=r.type,a=r.tickCount,o=r.originalDomain,u=r.allowDecimals,c=n||r.scale;if(c!=="auto"&&c!=="linear")return null;if(a&&i==="number"&&o&&(o[0]==="auto"||o[1]==="auto")){var s=t.domain();if(!s.length)return null;var f=$j(s,a,u);return t.domain([Va(f),Ga(f)]),{niceTicks:f}}if(a&&i==="number"){var l=t.domain(),h=Cj(l,a,u);return{niceTicks:h}}return null};function Rm(e){var t=e.axis,r=e.ticks,n=e.bandSize,i=e.entry,a=e.index,o=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Y(i[t.dataKey])){var u=Mi(r,"value",i[t.dataKey]);if(u)return u.coordinate+n/2}return r[a]?r[a].coordinate+n/2:null}var c=_e(i,Y(o)?t.dataKey:o);return Y(c)?null:t.scale(c)}var Dm=function(t){var r=t.axis,n=t.ticks,i=t.offset,a=t.bandSize,o=t.entry,u=t.index;if(r.type==="category")return n[u]?n[u].coordinate+i:null;var c=_e(o,r.dataKey,r.domain[u]);return Y(c)?null:r.scale(c)-a/2+i},mM=function(t){var r=t.numericAxis,n=r.scale.domain();if(r.type==="number"){var i=Math.min(n[0],n[1]),a=Math.max(n[0],n[1]);return i<=0&&a>=0?0:a<0?a:i}return n[0]},gM=function(t,r){var n,i=(n=t.type)!==null&&n!==void 0&&n.defaultProps?ve(ve({},t.type.defaultProps),t.props):t.props,a=i.stackId;if(Ae(a)){var o=r[a];if(o){var u=o.items.indexOf(t);return u>=0?o.stackedData[u]:null}}return null},bM=function(t){return t.reduce(function(r,n){return[Va(n.concat([r[0]]).filter(q)),Ga(n.concat([r[1]]).filter(q))]},[1/0,-1/0])},Jx=function(t,r,n){return Object.keys(t).reduce(function(i,a){var o=t[a],u=o.stackedData,c=u.reduce(function(s,f){var l=bM(f.slice(r,n+1));return[Math.min(s[0],l[0]),Math.max(s[1],l[1])]},[1/0,-1/0]);return[Math.min(c[0],i[0]),Math.max(c[1],i[1])]},[1/0,-1/0]).map(function(i){return i===1/0||i===-1/0?0:i})},Nm=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,qm=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Yl=function(t,r,n){if(X(t))return t(r,n);if(!Array.isArray(t))return r;var i=[];if(q(t[0]))i[0]=n?t[0]:Math.min(t[0],r[0]);else if(Nm.test(t[0])){var a=+Nm.exec(t[0])[1];i[0]=r[0]-a}else X(t[0])?i[0]=t[0](r[0]):i[0]=r[0];if(q(t[1]))i[1]=n?t[1]:Math.max(t[1],r[1]);else if(qm.test(t[1])){var o=+qm.exec(t[1])[1];i[1]=r[1]+o}else X(t[1])?i[1]=t[1](r[1]):i[1]=r[1];return i},ta=function(t,r,n){if(t&&t.scale&&t.scale.bandwidth){var i=t.scale.bandwidth();if(!n||i>0)return i}if(t&&r&&r.length>=2){for(var a=ih(r,function(l){return l.coordinate}),o=1/0,u=1,c=a.length;ue.length)&&(t=e.length);for(var r=0,n=new Array(t);r2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},EM=function(t,r,n,i,a){var o=t.width,u=t.height,c=t.startAngle,s=t.endAngle,f=Ie(t.cx,o,o/2),l=Ie(t.cy,u,u/2),h=tw(o,u,n),d=Ie(t.innerRadius,h,0),y=Ie(t.outerRadius,h,h*.8),v=Object.keys(r);return v.reduce(function(p,g){var x=r[g],w=x.domain,O=x.reversed,m;if(Y(x.range))i==="angleAxis"?m=[c,s]:i==="radiusAxis"&&(m=[d,y]),O&&(m=[m[1],m[0]]);else{m=x.range;var b=m,_=OM(b,2);c=_[0],s=_[1]}var A=Xx(x,a),T=A.realScaleType,M=A.scale;M.domain(w).range(m),Yx(M);var P=Zx(M,vt(vt({},x),{},{realScaleType:T})),E=vt(vt(vt({},x),P),{},{range:m,radius:y,realScaleType:T,scale:M,cx:f,cy:l,innerRadius:d,outerRadius:y,startAngle:c,endAngle:s});return vt(vt({},p),{},ew({},g,E))},{})},jM=function(t,r){var n=t.x,i=t.y,a=r.x,o=r.y;return Math.sqrt(Math.pow(n-a,2)+Math.pow(i-o,2))},MM=function(t,r){var n=t.x,i=t.y,a=r.cx,o=r.cy,u=jM({x:n,y:i},{x:a,y:o});if(u<=0)return{radius:u};var c=(n-a)/u,s=Math.acos(c);return i>o&&(s=2*Math.PI-s),{radius:u,angle:TM(s),angleInRadian:s}},$M=function(t){var r=t.startAngle,n=t.endAngle,i=Math.floor(r/360),a=Math.floor(n/360),o=Math.min(i,a);return{startAngle:r-o*360,endAngle:n-o*360}},CM=function(t,r){var n=r.startAngle,i=r.endAngle,a=Math.floor(n/360),o=Math.floor(i/360),u=Math.min(a,o);return t+u*360},Wm=function(t,r){var n=t.x,i=t.y,a=MM({x:n,y:i},r),o=a.radius,u=a.angle,c=r.innerRadius,s=r.outerRadius;if(os)return!1;if(o===0)return!0;var f=$M(r),l=f.startAngle,h=f.endAngle,d=u,y;if(l<=h){for(;d>h;)d-=360;for(;d=l&&d<=h}else{for(;d>l;)d-=360;for(;d=h&&d<=l}return y?vt(vt({},r),{},{radius:o,angle:CM(d,r)}):null},rw=function(t){return!N.isValidElement(t)&&!X(t)&&typeof t!="boolean"?t.className:""};function Fn(e){"@babel/helpers - typeof";return Fn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fn(e)}var IM=["offset"];function kM(e){return qM(e)||NM(e)||DM(e)||RM()}function RM(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function DM(e,t){if(e){if(typeof e=="string")return Zl(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Zl(e,t)}}function NM(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function qM(e){if(Array.isArray(e))return Zl(e)}function Zl(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function BM(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function zm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Oe(e){for(var t=1;t=0?1:-1,w,O;i==="insideStart"?(w=d+x*o,O=v):i==="insideEnd"?(w=y-x*o,O=!v):i==="end"&&(w=y+x*o,O=v),O=g<=0?O:!O;var m=le(s,f,p,w),b=le(s,f,p,w+(O?1:-1)*359),_="M".concat(m.x,",").concat(m.y,` + A`).concat(p,",").concat(p,",0,1,").concat(O?0:1,`, + `).concat(b.x,",").concat(b.y),A=Y(t.id)?Zr("recharts-radial-line-"):t.id;return S.createElement("text",Wn({},n,{dominantBaseline:"central",className:J("recharts-radial-bar-label",u)}),S.createElement("defs",null,S.createElement("path",{id:A,d:_})),S.createElement("textPath",{xlinkHref:"#".concat(A)},r))},GM=function(t){var r=t.viewBox,n=t.offset,i=t.position,a=r,o=a.cx,u=a.cy,c=a.innerRadius,s=a.outerRadius,f=a.startAngle,l=a.endAngle,h=(f+l)/2;if(i==="outside"){var d=le(o,u,s+n,h),y=d.x,v=d.y;return{x:y,y:v,textAnchor:y>=o?"start":"end",verticalAnchor:"middle"}}if(i==="center")return{x:o,y:u,textAnchor:"middle",verticalAnchor:"middle"};if(i==="centerTop")return{x:o,y:u,textAnchor:"middle",verticalAnchor:"start"};if(i==="centerBottom")return{x:o,y:u,textAnchor:"middle",verticalAnchor:"end"};var p=(c+s)/2,g=le(o,u,p,h),x=g.x,w=g.y;return{x,y:w,textAnchor:"middle",verticalAnchor:"middle"}},VM=function(t){var r=t.viewBox,n=t.parentViewBox,i=t.offset,a=t.position,o=r,u=o.x,c=o.y,s=o.width,f=o.height,l=f>=0?1:-1,h=l*i,d=l>0?"end":"start",y=l>0?"start":"end",v=s>=0?1:-1,p=v*i,g=v>0?"end":"start",x=v>0?"start":"end";if(a==="top"){var w={x:u+s/2,y:c-l*i,textAnchor:"middle",verticalAnchor:d};return Oe(Oe({},w),n?{height:Math.max(c-n.y,0),width:s}:{})}if(a==="bottom"){var O={x:u+s/2,y:c+f+h,textAnchor:"middle",verticalAnchor:y};return Oe(Oe({},O),n?{height:Math.max(n.y+n.height-(c+f),0),width:s}:{})}if(a==="left"){var m={x:u-p,y:c+f/2,textAnchor:g,verticalAnchor:"middle"};return Oe(Oe({},m),n?{width:Math.max(m.x-n.x,0),height:f}:{})}if(a==="right"){var b={x:u+s+p,y:c+f/2,textAnchor:x,verticalAnchor:"middle"};return Oe(Oe({},b),n?{width:Math.max(n.x+n.width-b.x,0),height:f}:{})}var _=n?{width:s,height:f}:{};return a==="insideLeft"?Oe({x:u+p,y:c+f/2,textAnchor:x,verticalAnchor:"middle"},_):a==="insideRight"?Oe({x:u+s-p,y:c+f/2,textAnchor:g,verticalAnchor:"middle"},_):a==="insideTop"?Oe({x:u+s/2,y:c+h,textAnchor:"middle",verticalAnchor:y},_):a==="insideBottom"?Oe({x:u+s/2,y:c+f-h,textAnchor:"middle",verticalAnchor:d},_):a==="insideTopLeft"?Oe({x:u+p,y:c+h,textAnchor:x,verticalAnchor:y},_):a==="insideTopRight"?Oe({x:u+s-p,y:c+h,textAnchor:g,verticalAnchor:y},_):a==="insideBottomLeft"?Oe({x:u+p,y:c+f-h,textAnchor:x,verticalAnchor:d},_):a==="insideBottomRight"?Oe({x:u+s-p,y:c+f-h,textAnchor:g,verticalAnchor:d},_):Yr(a)&&(q(a.x)||Gt(a.x))&&(q(a.y)||Gt(a.y))?Oe({x:u+Ie(a.x,s),y:c+Ie(a.y,f),textAnchor:"end",verticalAnchor:"end"},_):Oe({x:u+s/2,y:c+f/2,textAnchor:"middle",verticalAnchor:"middle"},_)},XM=function(t){return"cx"in t&&q(t.cx)};function Te(e){var t=e.offset,r=t===void 0?5:t,n=LM(e,IM),i=Oe({offset:r},n),a=i.viewBox,o=i.position,u=i.value,c=i.children,s=i.content,f=i.className,l=f===void 0?"":f,h=i.textBreakAll;if(!a||Y(u)&&Y(c)&&!N.isValidElement(s)&&!X(s))return null;if(N.isValidElement(s))return N.cloneElement(s,i);var d;if(X(s)){if(d=N.createElement(s,i),N.isValidElement(d))return d}else d=UM(i);var y=XM(a),v=H(i,!0);if(y&&(o==="insideStart"||o==="insideEnd"||o==="end"))return KM(i,d,v);var p=y?GM(i):VM(i);return S.createElement(rr,Wn({className:J("recharts-label",l)},v,p,{breakAll:h}),d)}Te.displayName="Label";var nw=function(t){var r=t.cx,n=t.cy,i=t.angle,a=t.startAngle,o=t.endAngle,u=t.r,c=t.radius,s=t.innerRadius,f=t.outerRadius,l=t.x,h=t.y,d=t.top,y=t.left,v=t.width,p=t.height,g=t.clockWise,x=t.labelViewBox;if(x)return x;if(q(v)&&q(p)){if(q(l)&&q(h))return{x:l,y:h,width:v,height:p};if(q(d)&&q(y))return{x:d,y,width:v,height:p}}return q(l)&&q(h)?{x:l,y:h,width:0,height:0}:q(r)&&q(n)?{cx:r,cy:n,startAngle:a||i||0,endAngle:o||i||0,innerRadius:s||0,outerRadius:f||c||u||0,clockWise:g}:t.viewBox?t.viewBox:{}},YM=function(t,r){return t?t===!0?S.createElement(Te,{key:"label-implicit",viewBox:r}):Ae(t)?S.createElement(Te,{key:"label-implicit",viewBox:r,value:t}):N.isValidElement(t)?t.type===Te?N.cloneElement(t,{key:"label-implicit",viewBox:r}):S.createElement(Te,{key:"label-implicit",content:t,viewBox:r}):X(t)?S.createElement(Te,{key:"label-implicit",content:t,viewBox:r}):Yr(t)?S.createElement(Te,Wn({viewBox:r},t,{key:"label-implicit"})):null:null},ZM=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&n&&!t.label)return null;var i=t.children,a=nw(t),o=Ke(i,Te).map(function(c,s){return N.cloneElement(c,{viewBox:r||a,key:"label-".concat(s)})});if(!n)return o;var u=YM(t.label,r||a);return[u].concat(kM(o))};Te.parseViewBox=nw;Te.renderCallByParent=ZM;var Ls,Um;function JM(){if(Um)return Ls;Um=1;function e(t){var r=t==null?0:t.length;return r?t[r-1]:void 0}return Ls=e,Ls}var QM=JM();const e$=oe(QM);function zn(e){"@babel/helpers - typeof";return zn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zn(e)}var t$=["valueAccessor"],r$=["data","dataKey","clockWise","id","textBreakAll"];function n$(e){return u$(e)||o$(e)||a$(e)||i$()}function i$(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function a$(e,t){if(e){if(typeof e=="string")return Jl(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Jl(e,t)}}function o$(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function u$(e){if(Array.isArray(e))return Jl(e)}function Jl(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function f$(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var h$=function(t){return Array.isArray(t.value)?e$(t.value):t.value};function wt(e){var t=e.valueAccessor,r=t===void 0?h$:t,n=Gm(e,t$),i=n.data,a=n.dataKey,o=n.clockWise,u=n.id,c=n.textBreakAll,s=Gm(n,r$);return!i||!i.length?null:S.createElement(te,{className:"recharts-label-list"},i.map(function(f,l){var h=Y(a)?r(f,l):_e(f&&f.payload,a),d=Y(u)?{}:{id:"".concat(u,"-").concat(l)};return S.createElement(Te,na({},H(f,!0),s,d,{parentViewBox:f.parentViewBox,value:h,textBreakAll:c,viewBox:Te.parseViewBox(Y(o)?f:Km(Km({},f),{},{clockWise:o})),key:"label-".concat(l),index:l}))}))}wt.displayName="LabelList";function p$(e,t){return e?e===!0?S.createElement(wt,{key:"labelList-implicit",data:t}):S.isValidElement(e)||X(e)?S.createElement(wt,{key:"labelList-implicit",data:t,content:e}):Yr(e)?S.createElement(wt,na({data:t},e,{key:"labelList-implicit"})):null:null}function d$(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&r&&!e.label)return null;var n=e.children,i=Ke(n,wt).map(function(o,u){return N.cloneElement(o,{data:t,key:"labelList-".concat(u)})});if(!r)return i;var a=p$(e.label,t);return[a].concat(n$(i))}wt.renderCallByParent=d$;function Un(e){"@babel/helpers - typeof";return Un=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Un(e)}function Ql(){return Ql=Object.assign?Object.assign.bind():function(e){for(var t=1;t180),",").concat(+(o>s),`, + `).concat(l.x,",").concat(l.y,` + `);if(i>0){var d=le(r,n,i,o),y=le(r,n,i,s);h+="L ".concat(y.x,",").concat(y.y,` + A `).concat(i,",").concat(i,`,0, + `).concat(+(Math.abs(c)>180),",").concat(+(o<=s),`, + `).concat(d.x,",").concat(d.y," Z")}else h+="L ".concat(r,",").concat(n," Z");return h},b$=function(t){var r=t.cx,n=t.cy,i=t.innerRadius,a=t.outerRadius,o=t.cornerRadius,u=t.forceCornerRadius,c=t.cornerIsExternal,s=t.startAngle,f=t.endAngle,l=Ce(f-s),h=Ai({cx:r,cy:n,radius:a,angle:s,sign:l,cornerRadius:o,cornerIsExternal:c}),d=h.circleTangency,y=h.lineTangency,v=h.theta,p=Ai({cx:r,cy:n,radius:a,angle:f,sign:-l,cornerRadius:o,cornerIsExternal:c}),g=p.circleTangency,x=p.lineTangency,w=p.theta,O=c?Math.abs(s-f):Math.abs(s-f)-v-w;if(O<0)return u?"M ".concat(y.x,",").concat(y.y,` + a`).concat(o,",").concat(o,",0,0,1,").concat(o*2,`,0 + a`).concat(o,",").concat(o,",0,0,1,").concat(-o*2,`,0 + `):iw({cx:r,cy:n,innerRadius:i,outerRadius:a,startAngle:s,endAngle:f});var m="M ".concat(y.x,",").concat(y.y,` + A`).concat(o,",").concat(o,",0,0,").concat(+(l<0),",").concat(d.x,",").concat(d.y,` + A`).concat(a,",").concat(a,",0,").concat(+(O>180),",").concat(+(l<0),",").concat(g.x,",").concat(g.y,` + A`).concat(o,",").concat(o,",0,0,").concat(+(l<0),",").concat(x.x,",").concat(x.y,` + `);if(i>0){var b=Ai({cx:r,cy:n,radius:i,angle:s,sign:l,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),_=b.circleTangency,A=b.lineTangency,T=b.theta,M=Ai({cx:r,cy:n,radius:i,angle:f,sign:-l,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),P=M.circleTangency,E=M.lineTangency,j=M.theta,C=c?Math.abs(s-f):Math.abs(s-f)-T-j;if(C<0&&o===0)return"".concat(m,"L").concat(r,",").concat(n,"Z");m+="L".concat(E.x,",").concat(E.y,` + A`).concat(o,",").concat(o,",0,0,").concat(+(l<0),",").concat(P.x,",").concat(P.y,` + A`).concat(i,",").concat(i,",0,").concat(+(C>180),",").concat(+(l>0),",").concat(_.x,",").concat(_.y,` + A`).concat(o,",").concat(o,",0,0,").concat(+(l<0),",").concat(A.x,",").concat(A.y,"Z")}else m+="L".concat(r,",").concat(n,"Z");return m},x$={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},aw=function(t){var r=Xm(Xm({},x$),t),n=r.cx,i=r.cy,a=r.innerRadius,o=r.outerRadius,u=r.cornerRadius,c=r.forceCornerRadius,s=r.cornerIsExternal,f=r.startAngle,l=r.endAngle,h=r.className;if(o0&&Math.abs(f-l)<360?p=b$({cx:n,cy:i,innerRadius:a,outerRadius:o,cornerRadius:Math.min(v,y/2),forceCornerRadius:c,cornerIsExternal:s,startAngle:f,endAngle:l}):p=iw({cx:n,cy:i,innerRadius:a,outerRadius:o,startAngle:f,endAngle:l}),S.createElement("path",Ql({},H(r,!0),{className:d,d:p,role:"img"}))};function Hn(e){"@babel/helpers - typeof";return Hn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hn(e)}function ef(){return ef=Object.assign?Object.assign.bind():function(e){for(var t=1;t0;)if(!r.equals(e[n],t[n],n,n,e,t,r))return!1;return!0}function L$(e,t){return sr(e.getTime(),t.getTime())}function B$(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function F$(e,t){return e===t}function og(e,t,r){var n=e.size;if(n!==t.size)return!1;if(!n)return!0;for(var i=new Array(n),a=e.entries(),o,u,c=0;(o=a.next())&&!o.done;){for(var s=t.entries(),f=!1,l=0;(u=s.next())&&!u.done;){if(i[l]){l++;continue}var h=o.value,d=u.value;if(r.equals(h[0],d[0],c,l,e,t,r)&&r.equals(h[1],d[1],h[0],d[0],e,t,r)){f=i[l]=!0;break}l++}if(!f)return!1;c++}return!0}var W$=sr;function z$(e,t,r){var n=ag(e),i=n.length;if(ag(t).length!==i)return!1;for(;i-- >0;)if(!ow(e,t,r,n[i]))return!1;return!0}function hn(e,t,r){var n=ng(e),i=n.length;if(ng(t).length!==i)return!1;for(var a,o,u;i-- >0;)if(a=n[i],!ow(e,t,r,a)||(o=ig(e,a),u=ig(t,a),(o||u)&&(!o||!u||o.configurable!==u.configurable||o.enumerable!==u.enumerable||o.writable!==u.writable)))return!1;return!0}function U$(e,t){return sr(e.valueOf(),t.valueOf())}function H$(e,t){return e.source===t.source&&e.flags===t.flags}function ug(e,t,r){var n=e.size;if(n!==t.size)return!1;if(!n)return!0;for(var i=new Array(n),a=e.values(),o,u;(o=a.next())&&!o.done;){for(var c=t.values(),s=!1,f=0;(u=c.next())&&!u.done;){if(!i[f]&&r.equals(o.value,u.value,o.value,u.value,e,t,r)){s=i[f]=!0;break}f++}if(!s)return!1}return!0}function K$(e,t){var r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(e[r]!==t[r])return!1;return!0}function G$(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function ow(e,t,r,n){return(n===N$||n===D$||n===R$)&&(e.$$typeof||t.$$typeof)?!0:k$(t,n)&&r.equals(e[n],t[n],n,n,e,t,r)}var V$="[object Arguments]",X$="[object Boolean]",Y$="[object Date]",Z$="[object Error]",J$="[object Map]",Q$="[object Number]",eC="[object Object]",tC="[object RegExp]",rC="[object Set]",nC="[object String]",iC="[object URL]",aC=Array.isArray,cg=typeof ArrayBuffer<"u"&&typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView:null,sg=Object.assign,oC=Object.prototype.toString.call.bind(Object.prototype.toString);function uC(e){var t=e.areArraysEqual,r=e.areDatesEqual,n=e.areErrorsEqual,i=e.areFunctionsEqual,a=e.areMapsEqual,o=e.areNumbersEqual,u=e.areObjectsEqual,c=e.arePrimitiveWrappersEqual,s=e.areRegExpsEqual,f=e.areSetsEqual,l=e.areTypedArraysEqual,h=e.areUrlsEqual,d=e.unknownTagComparators;return function(v,p,g){if(v===p)return!0;if(v==null||p==null)return!1;var x=typeof v;if(x!==typeof p)return!1;if(x!=="object")return x==="number"?o(v,p,g):x==="function"?i(v,p,g):!1;var w=v.constructor;if(w!==p.constructor)return!1;if(w===Object)return u(v,p,g);if(aC(v))return t(v,p,g);if(cg!=null&&cg(v))return l(v,p,g);if(w===Date)return r(v,p,g);if(w===RegExp)return s(v,p,g);if(w===Map)return a(v,p,g);if(w===Set)return f(v,p,g);var O=oC(v);if(O===Y$)return r(v,p,g);if(O===tC)return s(v,p,g);if(O===J$)return a(v,p,g);if(O===rC)return f(v,p,g);if(O===eC)return typeof v.then!="function"&&typeof p.then!="function"&&u(v,p,g);if(O===iC)return h(v,p,g);if(O===Z$)return n(v,p,g);if(O===V$)return u(v,p,g);if(O===X$||O===Q$||O===nC)return c(v,p,g);if(d){var m=d[O];if(!m){var b=I$(v);b&&(m=d[b])}if(m)return m(v,p,g)}return!1}}function cC(e){var t=e.circular,r=e.createCustomConfig,n=e.strict,i={areArraysEqual:n?hn:q$,areDatesEqual:L$,areErrorsEqual:B$,areFunctionsEqual:F$,areMapsEqual:n?rg(og,hn):og,areNumbersEqual:W$,areObjectsEqual:n?hn:z$,arePrimitiveWrappersEqual:U$,areRegExpsEqual:H$,areSetsEqual:n?rg(ug,hn):ug,areTypedArraysEqual:n?hn:K$,areUrlsEqual:G$,unknownTagComparators:void 0};if(r&&(i=sg({},i,r(i))),t){var a=Pi(i.areArraysEqual),o=Pi(i.areMapsEqual),u=Pi(i.areObjectsEqual),c=Pi(i.areSetsEqual);i=sg({},i,{areArraysEqual:a,areMapsEqual:o,areObjectsEqual:u,areSetsEqual:c})}return i}function sC(e){return function(t,r,n,i,a,o,u){return e(t,r,u)}}function lC(e){var t=e.circular,r=e.comparator,n=e.createState,i=e.equals,a=e.strict;if(n)return function(c,s){var f=n(),l=f.cache,h=l===void 0?t?new WeakMap:void 0:l,d=f.meta;return r(c,s,{cache:h,equals:i,meta:d,strict:a})};if(t)return function(c,s){return r(c,s,{cache:new WeakMap,equals:i,meta:void 0,strict:a})};var o={cache:void 0,equals:i,meta:void 0,strict:a};return function(c,s){return r(c,s,o)}}var fC=Dt();Dt({strict:!0});Dt({circular:!0});Dt({circular:!0,strict:!0});Dt({createInternalComparator:function(){return sr}});Dt({strict:!0,createInternalComparator:function(){return sr}});Dt({circular:!0,createInternalComparator:function(){return sr}});Dt({circular:!0,createInternalComparator:function(){return sr},strict:!0});function Dt(e){e===void 0&&(e={});var t=e.circular,r=t===void 0?!1:t,n=e.createInternalComparator,i=e.createState,a=e.strict,o=a===void 0?!1:a,u=cC(e),c=uC(u),s=n?n(c):sC(c);return lC({circular:r,comparator:c,createState:i,equals:s,strict:o})}function hC(e){typeof requestAnimationFrame<"u"&&requestAnimationFrame(e)}function lg(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=-1,n=function i(a){r<0&&(r=a),a-r>t?(e(a),r=-1):hC(i)};requestAnimationFrame(n)}function tf(e){"@babel/helpers - typeof";return tf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},tf(e)}function pC(e){return mC(e)||yC(e)||vC(e)||dC()}function dC(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vC(e,t){if(e){if(typeof e=="string")return fg(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return fg(e,t)}}function fg(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);r1?1:g<0?0:g},v=function(g){for(var x=g>1?1:g,w=x,O=0;O<8;++O){var m=l(w)-x,b=d(w);if(Math.abs(m-x)0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,i=t.damping,a=i===void 0?8:i,o=t.dt,u=o===void 0?17:o,c=function(f,l,h){var d=-(f-l)*n,y=h*a,v=h+(d-y)*u/1e3,p=h*u/1e3+f;return Math.abs(p-l)e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function VC(e,t){if(e==null)return{};var r={},n=Object.keys(e),i,a;for(a=0;a=0)&&(r[i]=e[i]);return r}function zs(e){return JC(e)||ZC(e)||YC(e)||XC()}function XC(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function YC(e,t){if(e){if(typeof e=="string")return uf(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return uf(e,t)}}function ZC(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function JC(e){if(Array.isArray(e))return uf(e)}function uf(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ua(e){return ua=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},ua(e)}var lt=(function(e){nI(r,e);var t=iI(r);function r(n,i){var a;QC(this,r),a=t.call(this,n,i);var o=a.props,u=o.isActive,c=o.attributeName,s=o.from,f=o.to,l=o.steps,h=o.children,d=o.duration;if(a.handleStyleChange=a.handleStyleChange.bind(lf(a)),a.changeStyle=a.changeStyle.bind(lf(a)),!u||d<=0)return a.state={style:{}},typeof h=="function"&&(a.state={style:f}),sf(a);if(l&&l.length)a.state={style:l[0].style};else if(s){if(typeof h=="function")return a.state={style:s},sf(a);a.state={style:c?yn({},c,s):s}}else a.state={style:{}};return a}return tI(r,[{key:"componentDidMount",value:function(){var i=this.props,a=i.isActive,o=i.canBegin;this.mounted=!0,!(!a||!o)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(i){var a=this.props,o=a.isActive,u=a.canBegin,c=a.attributeName,s=a.shouldReAnimate,f=a.to,l=a.from,h=this.state.style;if(u){if(!o){var d={style:c?yn({},c,f):f};this.state&&h&&(c&&h[c]!==f||!c&&h!==f)&&this.setState(d);return}if(!(fC(i.to,f)&&i.canBegin&&i.isActive)){var y=!i.canBegin||!i.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var v=y||s?l:i.to;if(this.state&&h){var p={style:c?yn({},c,v):v};(c&&h[c]!==v||!c&&h!==v)&&this.setState(p)}this.runAnimation(et(et({},this.props),{},{from:v,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var i=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),i&&i()}},{key:"handleStyleChange",value:function(i){this.changeStyle(i)}},{key:"changeStyle",value:function(i){this.mounted&&this.setState({style:i})}},{key:"runJSAnimation",value:function(i){var a=this,o=i.from,u=i.to,c=i.duration,s=i.easing,f=i.begin,l=i.onAnimationEnd,h=i.onAnimationStart,d=HC(o,u,kC(s),c,this.changeStyle),y=function(){a.stopJSAnimation=d()};this.manager.start([h,f,y,c,l])}},{key:"runStepAnimation",value:function(i){var a=this,o=i.steps,u=i.begin,c=i.onAnimationStart,s=o[0],f=s.style,l=s.duration,h=l===void 0?0:l,d=function(v,p,g){if(g===0)return v;var x=p.duration,w=p.easing,O=w===void 0?"ease":w,m=p.style,b=p.properties,_=p.onAnimationEnd,A=g>0?o[g-1]:p,T=b||Object.keys(m);if(typeof O=="function"||O==="spring")return[].concat(zs(v),[a.runJSAnimation.bind(a,{from:A.style,to:m,duration:x,easing:O}),x]);var M=dg(T,x,O),P=et(et(et({},A.style),m),{},{transition:M});return[].concat(zs(v),[P,x,_]).filter(OC)};return this.manager.start([c].concat(zs(o.reduce(d,[f,Math.max(h,u)])),[i.onAnimationEnd]))}},{key:"runAnimation",value:function(i){this.manager||(this.manager=gC());var a=i.begin,o=i.duration,u=i.attributeName,c=i.to,s=i.easing,f=i.onAnimationStart,l=i.onAnimationEnd,h=i.steps,d=i.children,y=this.manager;if(this.unSubscribe=y.subscribe(this.handleStyleChange),typeof s=="function"||typeof d=="function"||s==="spring"){this.runJSAnimation(i);return}if(h.length>1){this.runStepAnimation(i);return}var v=u?yn({},u,c):c,p=dg(Object.keys(v),o,s);y.start([f,a,et(et({},v),{},{transition:p}),o,l])}},{key:"render",value:function(){var i=this.props,a=i.children;i.begin;var o=i.duration;i.attributeName,i.easing;var u=i.isActive;i.steps,i.from,i.to,i.canBegin,i.onAnimationEnd,i.shouldReAnimate,i.onAnimationReStart;var c=GC(i,KC),s=N.Children.count(a),f=this.state.style;if(typeof a=="function")return a(f);if(!u||s===0||o<=0)return a;var l=function(d){var y=d.props,v=y.style,p=v===void 0?{}:v,g=y.className,x=N.cloneElement(d,et(et({},c),{},{style:et(et({},p),f),className:g}));return x};return s===1?l(N.Children.only(a)):S.createElement("div",null,N.Children.map(a,function(h){return l(h)}))}}]),r})(N.PureComponent);lt.displayName="Animate";lt.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};lt.propTypes={from:ie.oneOfType([ie.object,ie.string]),to:ie.oneOfType([ie.object,ie.string]),attributeName:ie.string,duration:ie.number,begin:ie.number,easing:ie.oneOfType([ie.string,ie.func]),steps:ie.arrayOf(ie.shape({duration:ie.number.isRequired,style:ie.object.isRequired,easing:ie.oneOfType([ie.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),ie.func]),properties:ie.arrayOf("string"),onAnimationEnd:ie.func})),children:ie.oneOfType([ie.node,ie.func]),isActive:ie.bool,canBegin:ie.bool,onAnimationEnd:ie.func,shouldReAnimate:ie.bool,onAnimationStart:ie.func,onAnimationReStart:ie.func};function Vn(e){"@babel/helpers - typeof";return Vn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Vn(e)}function ca(){return ca=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0?1:-1,c=n>=0?1:-1,s=i>=0&&n>=0||i<0&&n<0?1:0,f;if(o>0&&a instanceof Array){for(var l=[0,0,0,0],h=0,d=4;ho?o:a[h];f="M".concat(t,",").concat(r+u*l[0]),l[0]>0&&(f+="A ".concat(l[0],",").concat(l[0],",0,0,").concat(s,",").concat(t+c*l[0],",").concat(r)),f+="L ".concat(t+n-c*l[1],",").concat(r),l[1]>0&&(f+="A ".concat(l[1],",").concat(l[1],",0,0,").concat(s,`, + `).concat(t+n,",").concat(r+u*l[1])),f+="L ".concat(t+n,",").concat(r+i-u*l[2]),l[2]>0&&(f+="A ".concat(l[2],",").concat(l[2],",0,0,").concat(s,`, + `).concat(t+n-c*l[2],",").concat(r+i)),f+="L ".concat(t+c*l[3],",").concat(r+i),l[3]>0&&(f+="A ".concat(l[3],",").concat(l[3],",0,0,").concat(s,`, + `).concat(t,",").concat(r+i-u*l[3])),f+="Z"}else if(o>0&&a===+a&&a>0){var y=Math.min(o,a);f="M ".concat(t,",").concat(r+u*y,` + A `).concat(y,",").concat(y,",0,0,").concat(s,",").concat(t+c*y,",").concat(r,` + L `).concat(t+n-c*y,",").concat(r,` + A `).concat(y,",").concat(y,",0,0,").concat(s,",").concat(t+n,",").concat(r+u*y,` + L `).concat(t+n,",").concat(r+i-u*y,` + A `).concat(y,",").concat(y,",0,0,").concat(s,",").concat(t+n-c*y,",").concat(r+i,` + L `).concat(t+c*y,",").concat(r+i,` + A `).concat(y,",").concat(y,",0,0,").concat(s,",").concat(t,",").concat(r+i-u*y," Z")}else f="M ".concat(t,",").concat(r," h ").concat(n," v ").concat(i," h ").concat(-n," Z");return f},dI=function(t,r){if(!t||!r)return!1;var n=t.x,i=t.y,a=r.x,o=r.y,u=r.width,c=r.height;if(Math.abs(u)>0&&Math.abs(c)>0){var s=Math.min(a,a+u),f=Math.max(a,a+u),l=Math.min(o,o+c),h=Math.max(o,o+c);return n>=s&&n<=f&&i>=l&&i<=h}return!1},vI={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},Ch=function(t){var r=Og(Og({},vI),t),n=N.useRef(),i=N.useState(-1),a=oI(i,2),o=a[0],u=a[1];N.useEffect(function(){if(n.current&&n.current.getTotalLength)try{var O=n.current.getTotalLength();O&&u(O)}catch{}},[]);var c=r.x,s=r.y,f=r.width,l=r.height,h=r.radius,d=r.className,y=r.animationEasing,v=r.animationDuration,p=r.animationBegin,g=r.isAnimationActive,x=r.isUpdateAnimationActive;if(c!==+c||s!==+s||f!==+f||l!==+l||f===0||l===0)return null;var w=J("recharts-rectangle",d);return x?S.createElement(lt,{canBegin:o>0,from:{width:f,height:l,x:c,y:s},to:{width:f,height:l,x:c,y:s},duration:v,animationEasing:y,isActive:x},function(O){var m=O.width,b=O.height,_=O.x,A=O.y;return S.createElement(lt,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:p,duration:v,isActive:g,easing:y},S.createElement("path",ca({},H(r,!0),{className:w,d:_g(_,A,m,b,h),ref:n})))}):S.createElement("path",ca({},H(r,!0),{className:w,d:_g(c,s,f,l,h)}))},yI=["points","className","baseLinePoints","connectNulls"];function yr(){return yr=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function gI(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Ag(e){return OI(e)||wI(e)||xI(e)||bI()}function bI(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xI(e,t){if(e){if(typeof e=="string")return ff(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ff(e,t)}}function wI(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function OI(e){if(Array.isArray(e))return ff(e)}function ff(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&arguments[0]!==void 0?arguments[0]:[],r=[[]];return t.forEach(function(n){Sg(n)?r[r.length-1].push(n):r[r.length-1].length>0&&r.push([])}),Sg(t[0])&&r[r.length-1].push(t[0]),r[r.length-1].length<=0&&(r=r.slice(0,-1)),r},wn=function(t,r){var n=_I(t);r&&(n=[n.reduce(function(a,o){return[].concat(Ag(a),Ag(o))},[])]);var i=n.map(function(a){return a.reduce(function(o,u,c){return"".concat(o).concat(c===0?"M":"L").concat(u.x,",").concat(u.y)},"")}).join("");return n.length===1?"".concat(i,"Z"):i},AI=function(t,r,n){var i=wn(t,n);return"".concat(i.slice(-1)==="Z"?i.slice(0,-1):i,"L").concat(wn(r.reverse(),n).slice(1))},SI=function(t){var r=t.points,n=t.className,i=t.baseLinePoints,a=t.connectNulls,o=mI(t,yI);if(!r||!r.length)return null;var u=J("recharts-polygon",n);if(i&&i.length){var c=o.stroke&&o.stroke!=="none",s=AI(r,i,a);return S.createElement("g",{className:u},S.createElement("path",yr({},H(o,!0),{fill:s.slice(-1)==="Z"?o.fill:"none",stroke:"none",d:s})),c?S.createElement("path",yr({},H(o,!0),{fill:"none",d:wn(r,a)})):null,c?S.createElement("path",yr({},H(o,!0),{fill:"none",d:wn(i,a)})):null)}var f=wn(r,a);return S.createElement("path",yr({},H(o,!0),{fill:f.slice(-1)==="Z"?o.fill:"none",className:u,d:f}))};function hf(){return hf=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function CI(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var II=function(t,r,n,i,a,o){return"M".concat(t,",").concat(a,"v").concat(i,"M").concat(o,",").concat(r,"h").concat(n)},kI=function(t){var r=t.x,n=r===void 0?0:r,i=t.y,a=i===void 0?0:i,o=t.top,u=o===void 0?0:o,c=t.left,s=c===void 0?0:c,f=t.width,l=f===void 0?0:f,h=t.height,d=h===void 0?0:h,y=t.className,v=$I(t,PI),p=TI({x:n,y:a,top:u,left:s,width:l,height:d},v);return!q(n)||!q(a)||!q(l)||!q(d)||!q(u)||!q(s)?null:S.createElement("path",pf({},H(p,!0),{className:J("recharts-cross",y),d:II(n,a,l,d,u,s)}))},Us,Tg;function RI(){if(Tg)return Us;Tg=1;var e=Ka(),t=Tx(),r=ht();function n(i,a){return i&&i.length?e(i,r(a,2),t):void 0}return Us=n,Us}var DI=RI();const NI=oe(DI);var Hs,Eg;function qI(){if(Eg)return Hs;Eg=1;var e=Ka(),t=ht(),r=Ex();function n(i,a){return i&&i.length?e(i,t(a,2),r):void 0}return Hs=n,Hs}var LI=qI();const BI=oe(LI);var FI=["cx","cy","angle","ticks","axisLine"],WI=["ticks","tick","angle","tickFormatter","stroke"];function kr(e){"@babel/helpers - typeof";return kr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},kr(e)}function On(){return On=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function zI(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function UI(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function $g(e,t){for(var r=0;rkg?o=i==="outer"?"start":"end":a<-kg?o=i==="outer"?"end":"start":o="middle",o}},{key:"renderAxisLine",value:function(){var n=this.props,i=n.cx,a=n.cy,o=n.radius,u=n.axisLine,c=n.axisLineType,s=zt(zt({},H(this.props,!1)),{},{fill:"none"},H(u,!1));if(c==="circle")return S.createElement(Za,Kt({className:"recharts-polar-angle-axis-line"},s,{cx:i,cy:a,r:o}));var f=this.props.ticks,l=f.map(function(h){return le(i,a,o,h.coordinate)});return S.createElement(SI,Kt({className:"recharts-polar-angle-axis-line"},s,{points:l}))}},{key:"renderTicks",value:function(){var n=this,i=this.props,a=i.ticks,o=i.tick,u=i.tickLine,c=i.tickFormatter,s=i.stroke,f=H(this.props,!1),l=H(o,!1),h=zt(zt({},f),{},{fill:"none"},H(u,!1)),d=a.map(function(y,v){var p=n.getTickLineCoord(y),g=n.getTickTextAnchor(y),x=zt(zt(zt({textAnchor:g},f),{},{stroke:"none",fill:s},l),{},{index:v,payload:y,x:p.x2,y:p.y2});return S.createElement(te,Kt({className:J("recharts-polar-angle-axis-tick",rw(o)),key:"tick-".concat(y.coordinate)},tr(n.props,y,v)),u&&S.createElement("line",Kt({className:"recharts-polar-angle-axis-tick-line"},h,p)),o&&t.renderTickItem(o,x,c?c(y.value,v):y.value))});return S.createElement(te,{className:"recharts-polar-angle-axis-ticks"},d)}},{key:"render",value:function(){var n=this.props,i=n.ticks,a=n.radius,o=n.axisLine;return a<=0||!i||!i.length?null:S.createElement(te,{className:J("recharts-polar-angle-axis",this.props.className)},o&&this.renderAxisLine(),this.renderTicks())}}],[{key:"renderTickItem",value:function(n,i,a){var o;return S.isValidElement(n)?o=S.cloneElement(n,i):X(n)?o=n(i):o=S.createElement(rr,Kt({},i,{className:"recharts-polar-angle-axis-tick-value"}),a),o}}])})(N.PureComponent);eo(to,"displayName","PolarAngleAxis");eo(to,"axisType","angleAxis");eo(to,"defaultProps",{type:"category",angleAxisId:0,scale:"auto",cx:0,cy:0,orientation:"outer",axisLine:!0,tickLine:!0,tickSize:8,tick:!0,hide:!1,allowDuplicatedCategory:!0});var Ks,Rg;function ak(){if(Rg)return Ks;Rg=1;var e=P0(),t=e(Object.getPrototypeOf,Object);return Ks=t,Ks}var Gs,Dg;function ok(){if(Dg)return Gs;Dg=1;var e=St(),t=ak(),r=Pt(),n="[object Object]",i=Function.prototype,a=Object.prototype,o=i.toString,u=a.hasOwnProperty,c=o.call(Object);function s(f){if(!r(f)||e(f)!=n)return!1;var l=t(f);if(l===null)return!0;var h=u.call(l,"constructor")&&l.constructor;return typeof h=="function"&&h instanceof h&&o.call(h)==c}return Gs=s,Gs}var uk=ok();const ck=oe(uk);var Vs,Ng;function sk(){if(Ng)return Vs;Ng=1;var e=St(),t=Pt(),r="[object Boolean]";function n(i){return i===!0||i===!1||t(i)&&e(i)==r}return Vs=n,Vs}var lk=sk();const fk=oe(lk);function Yn(e){"@babel/helpers - typeof";return Yn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Yn(e)}function fa(){return fa=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0,from:{upperWidth:0,lowerWidth:0,height:h,x:c,y:s},to:{upperWidth:f,lowerWidth:l,height:h,x:c,y:s},duration:v,animationEasing:y,isActive:g},function(w){var O=w.upperWidth,m=w.lowerWidth,b=w.height,_=w.x,A=w.y;return S.createElement(lt,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:p,duration:v,easing:y},S.createElement("path",fa({},H(r,!0),{className:x,d:Fg(_,A,O,m,b),ref:n})))}):S.createElement("g",null,S.createElement("path",fa({},H(r,!0),{className:x,d:Fg(c,s,f,l,h)})))},Ok=["option","shapeType","propTransformer","activeClassName","isActive"];function Zn(e){"@babel/helpers - typeof";return Zn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zn(e)}function _k(e,t){if(e==null)return{};var r=Ak(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Ak(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Wg(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ha(e){for(var t=1;t0?He(w,"paddingAngle",0):0;if(m){var _=ze(m.endAngle-m.startAngle,w.endAngle-w.startAngle),A=ce(ce({},w),{},{startAngle:x+b,endAngle:x+_(v)+b});p.push(A),x=A.endAngle}else{var T=w.endAngle,M=w.startAngle,P=ze(0,T-M),E=P(v),j=ce(ce({},w),{},{startAngle:x+b,endAngle:x+E+b});p.push(j),x=j.endAngle}}),S.createElement(te,null,n.renderSectorsStatically(p))})}},{key:"attachKeyboardHandlers",value:function(n){var i=this;n.onkeydown=function(a){if(!a.altKey)switch(a.key){case"ArrowLeft":{var o=++i.state.sectorToFocus%i.sectorRefs.length;i.sectorRefs[o].focus(),i.setState({sectorToFocus:o});break}case"ArrowRight":{var u=--i.state.sectorToFocus<0?i.sectorRefs.length-1:i.state.sectorToFocus%i.sectorRefs.length;i.sectorRefs[u].focus(),i.setState({sectorToFocus:u});break}case"Escape":{i.sectorRefs[i.state.sectorToFocus].blur(),i.setState({sectorToFocus:0});break}}}}},{key:"renderSectors",value:function(){var n=this.props,i=n.sectors,a=n.isAnimationActive,o=this.state.prevSectors;return a&&i&&i.length&&(!o||!hi(o,i))?this.renderSectorsWithAnimation():this.renderSectorsStatically(i)}},{key:"componentDidMount",value:function(){this.pieRef&&this.attachKeyboardHandlers(this.pieRef)}},{key:"render",value:function(){var n=this,i=this.props,a=i.hide,o=i.sectors,u=i.className,c=i.label,s=i.cx,f=i.cy,l=i.innerRadius,h=i.outerRadius,d=i.isAnimationActive,y=this.state.isAnimationFinished;if(a||!o||!o.length||!q(s)||!q(f)||!q(l)||!q(h))return null;var v=J("recharts-pie",u);return S.createElement(te,{tabIndex:this.props.rootTabIndex,className:v,ref:function(g){n.pieRef=g}},this.renderSectors(),c&&this.renderLabels(o),Te.renderCallByParent(this.props,null,!1),(!d||y)&&wt.renderCallByParent(this.props,o,!1))}}],[{key:"getDerivedStateFromProps",value:function(n,i){return i.prevIsAnimationActive!==n.isAnimationActive?{prevIsAnimationActive:n.isAnimationActive,prevAnimationId:n.animationId,curSectors:n.sectors,prevSectors:[],isAnimationFinished:!0}:n.isAnimationActive&&n.animationId!==i.prevAnimationId?{prevAnimationId:n.animationId,curSectors:n.sectors,prevSectors:i.curSectors,isAnimationFinished:!0}:n.sectors!==i.curSectors?{curSectors:n.sectors,isAnimationFinished:!0}:null}},{key:"getTextAnchor",value:function(n,i){return n>i?"start":n=360?x:x-1)*c,O=p-x*d-w,m=i.reduce(function(A,T){var M=_e(T,g,0);return A+(q(M)?M:0)},0),b;if(m>0){var _;b=i.map(function(A,T){var M=_e(A,g,0),P=_e(A,f,T),E=(q(M)?M:0)/m,j;T?j=_.endAngle+Ce(v)*c*(M!==0?1:0):j=o;var C=j+Ce(v)*((M!==0?d:0)+E*O),$=(j+C)/2,k=(y.innerRadius+y.outerRadius)/2,R=[{name:P,value:M,payload:A,dataKey:g,type:h}],L=le(y.cx,y.cy,k,$);return _=ce(ce(ce({percent:E,cornerRadius:a,name:P,tooltipPayload:R,midAngle:$,middleRadius:k,tooltipPosition:L},A),y),{},{value:_e(A,g),startAngle:j,endAngle:C,payload:A,paddingAngle:Ce(v)*c}),_})}return ce(ce({},y),{},{sectors:b,data:i})});var Xs,Kg;function Hk(){if(Kg)return Xs;Kg=1;var e=Math.ceil,t=Math.max;function r(n,i,a,o){for(var u=-1,c=t(e((i-n)/(a||1)),0),s=Array(c);c--;)s[o?c:++u]=n,n+=a;return s}return Xs=r,Xs}var Ys,Gg;function xw(){if(Gg)return Ys;Gg=1;var e=W0(),t=1/0,r=17976931348623157e292;function n(i){if(!i)return i===0?i:0;if(i=e(i),i===t||i===-t){var a=i<0?-1:1;return a*r}return i===i?i:0}return Ys=n,Ys}var Zs,Vg;function Kk(){if(Vg)return Zs;Vg=1;var e=Hk(),t=La(),r=xw();function n(i){return function(a,o,u){return u&&typeof u!="number"&&t(a,o,u)&&(o=u=void 0),a=r(a),o===void 0?(o=a,a=0):o=r(o),u=u===void 0?a0&&n.handleDrag(i.changedTouches[0])}),Fe(n,"handleDragEnd",function(){n.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var i=n.props,a=i.endIndex,o=i.onDragEnd,u=i.startIndex;o?.({endIndex:a,startIndex:u})}),n.detachDragEndListener()}),Fe(n,"handleLeaveWrapper",function(){(n.state.isTravellerMoving||n.state.isSlideMoving)&&(n.leaveTimer=window.setTimeout(n.handleDragEnd,n.props.leaveTimeOut))}),Fe(n,"handleEnterSlideOrTraveller",function(){n.setState({isTextActive:!0})}),Fe(n,"handleLeaveSlideOrTraveller",function(){n.setState({isTextActive:!1})}),Fe(n,"handleSlideDragStart",function(i){var a=eb(i)?i.changedTouches[0]:i;n.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:a.pageX}),n.attachDragEndListener()}),n.travellerDragStartHandlers={startX:n.handleTravellerDragStart.bind(n,"startX"),endX:n.handleTravellerDragStart.bind(n,"endX")},n.state={},n}return iR(t,e),eR(t,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(n){var i=n.startX,a=n.endX,o=this.state.scaleValues,u=this.props,c=u.gap,s=u.data,f=s.length-1,l=Math.min(i,a),h=Math.max(i,a),d=t.getIndexInRange(o,l),y=t.getIndexInRange(o,h);return{startIndex:d-d%c,endIndex:y===f?f:y-y%c}}},{key:"getTextOfTick",value:function(n){var i=this.props,a=i.data,o=i.tickFormatter,u=i.dataKey,c=_e(a[n],u,n);return X(o)?o(c,n):c}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(n){var i=this.state,a=i.slideMoveStartX,o=i.startX,u=i.endX,c=this.props,s=c.x,f=c.width,l=c.travellerWidth,h=c.startIndex,d=c.endIndex,y=c.onChange,v=n.pageX-a;v>0?v=Math.min(v,s+f-l-u,s+f-l-o):v<0&&(v=Math.max(v,s-o,s-u));var p=this.getIndex({startX:o+v,endX:u+v});(p.startIndex!==h||p.endIndex!==d)&&y&&y(p),this.setState({startX:o+v,endX:u+v,slideMoveStartX:n.pageX})}},{key:"handleTravellerDragStart",value:function(n,i){var a=eb(i)?i.changedTouches[0]:i;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:n,brushMoveStartX:a.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(n){var i=this.state,a=i.brushMoveStartX,o=i.movingTravellerId,u=i.endX,c=i.startX,s=this.state[o],f=this.props,l=f.x,h=f.width,d=f.travellerWidth,y=f.onChange,v=f.gap,p=f.data,g={startX:this.state.startX,endX:this.state.endX},x=n.pageX-a;x>0?x=Math.min(x,l+h-d-s):x<0&&(x=Math.max(x,l-s)),g[o]=s+x;var w=this.getIndex(g),O=w.startIndex,m=w.endIndex,b=function(){var A=p.length-1;return o==="startX"&&(u>c?O%v===0:m%v===0)||uc?m%v===0:O%v===0)||u>c&&m===A};this.setState(Fe(Fe({},o,s+x),"brushMoveStartX",n.pageX),function(){y&&b()&&y(w)})}},{key:"handleTravellerMoveKeyboard",value:function(n,i){var a=this,o=this.state,u=o.scaleValues,c=o.startX,s=o.endX,f=this.state[i],l=u.indexOf(f);if(l!==-1){var h=l+n;if(!(h===-1||h>=u.length)){var d=u[h];i==="startX"&&d>=s||i==="endX"&&d<=c||this.setState(Fe({},i,d),function(){a.props.onChange(a.getIndex({startX:a.state.startX,endX:a.state.endX}))})}}}},{key:"renderBackground",value:function(){var n=this.props,i=n.x,a=n.y,o=n.width,u=n.height,c=n.fill,s=n.stroke;return S.createElement("rect",{stroke:s,fill:c,x:i,y:a,width:o,height:u})}},{key:"renderPanorama",value:function(){var n=this.props,i=n.x,a=n.y,o=n.width,u=n.height,c=n.data,s=n.children,f=n.padding,l=N.Children.only(s);return l?S.cloneElement(l,{x:i,y:a,width:o,height:u,margin:f,compact:!0,data:c}):null}},{key:"renderTravellerLayer",value:function(n,i){var a,o,u=this,c=this.props,s=c.y,f=c.travellerWidth,l=c.height,h=c.traveller,d=c.ariaLabel,y=c.data,v=c.startIndex,p=c.endIndex,g=Math.max(n,this.props.x),x=Qs(Qs({},H(this.props,!1)),{},{x:g,y:s,width:f,height:l}),w=d||"Min value: ".concat((a=y[v])===null||a===void 0?void 0:a.name,", Max value: ").concat((o=y[p])===null||o===void 0?void 0:o.name);return S.createElement(te,{tabIndex:0,role:"slider","aria-label":w,"aria-valuenow":n,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[i],onTouchStart:this.travellerDragStartHandlers[i],onKeyDown:function(m){["ArrowLeft","ArrowRight"].includes(m.key)&&(m.preventDefault(),m.stopPropagation(),u.handleTravellerMoveKeyboard(m.key==="ArrowRight"?1:-1,i))},onFocus:function(){u.setState({isTravellerFocused:!0})},onBlur:function(){u.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},t.renderTraveller(h,x))}},{key:"renderSlide",value:function(n,i){var a=this.props,o=a.y,u=a.height,c=a.stroke,s=a.travellerWidth,f=Math.min(n,i)+s,l=Math.max(Math.abs(i-n)-s,0);return S.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:c,fillOpacity:.2,x:f,y:o,width:l,height:u})}},{key:"renderText",value:function(){var n=this.props,i=n.startIndex,a=n.endIndex,o=n.y,u=n.height,c=n.travellerWidth,s=n.stroke,f=this.state,l=f.startX,h=f.endX,d=5,y={pointerEvents:"none",fill:s};return S.createElement(te,{className:"recharts-brush-texts"},S.createElement(rr,va({textAnchor:"end",verticalAnchor:"middle",x:Math.min(l,h)-d,y:o+u/2},y),this.getTextOfTick(i)),S.createElement(rr,va({textAnchor:"start",verticalAnchor:"middle",x:Math.max(l,h)+c+d,y:o+u/2},y),this.getTextOfTick(a)))}},{key:"render",value:function(){var n=this.props,i=n.data,a=n.className,o=n.children,u=n.x,c=n.y,s=n.width,f=n.height,l=n.alwaysShowText,h=this.state,d=h.startX,y=h.endX,v=h.isTextActive,p=h.isSlideMoving,g=h.isTravellerMoving,x=h.isTravellerFocused;if(!i||!i.length||!q(u)||!q(c)||!q(s)||!q(f)||s<=0||f<=0)return null;var w=J("recharts-brush",a),O=S.Children.count(o)===1,m=Jk("userSelect","none");return S.createElement(te,{className:w,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:m},this.renderBackground(),O&&this.renderPanorama(),this.renderSlide(d,y),this.renderTravellerLayer(d,"startX"),this.renderTravellerLayer(y,"endX"),(v||p||g||x||l)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(n){var i=n.x,a=n.y,o=n.width,u=n.height,c=n.stroke,s=Math.floor(a+u/2)-1;return S.createElement(S.Fragment,null,S.createElement("rect",{x:i,y:a,width:o,height:u,fill:c,stroke:"none"}),S.createElement("line",{x1:i+1,y1:s,x2:i+o-1,y2:s,fill:"none",stroke:"#fff"}),S.createElement("line",{x1:i+1,y1:s+2,x2:i+o-1,y2:s+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(n,i){var a;return S.isValidElement(n)?a=S.cloneElement(n,i):X(n)?a=n(i):a=t.renderDefaultTraveller(i),a}},{key:"getDerivedStateFromProps",value:function(n,i){var a=n.data,o=n.width,u=n.x,c=n.travellerWidth,s=n.updateId,f=n.startIndex,l=n.endIndex;if(a!==i.prevData||s!==i.prevUpdateId)return Qs({prevData:a,prevTravellerWidth:c,prevUpdateId:s,prevX:u,prevWidth:o},a&&a.length?oR({data:a,width:o,x:u,travellerWidth:c,startIndex:f,endIndex:l}):{scale:null,scaleValues:null});if(i.scale&&(o!==i.prevWidth||u!==i.prevX||c!==i.prevTravellerWidth)){i.scale.range([u,u+o-c]);var h=i.scale.domain().map(function(d){return i.scale(d)});return{prevData:a,prevTravellerWidth:c,prevUpdateId:s,prevX:u,prevWidth:o,startX:i.scale(n.startIndex),endX:i.scale(n.endIndex),scaleValues:h}}return null}},{key:"getIndexInRange",value:function(n,i){for(var a=n.length,o=0,u=a-1;u-o>1;){var c=Math.floor((o+u)/2);n[c]>i?u=c:o=c}return i>=n[u]?u:o}}])})(N.PureComponent);Fe(qr,"displayName","Brush");Fe(qr,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var el,tb;function uR(){if(tb)return el;tb=1;var e=nh();function t(r,n){var i;return e(r,function(a,o,u){return i=n(a,o,u),!i}),!!i}return el=t,el}var tl,rb;function cR(){if(rb)return tl;rb=1;var e=b0(),t=ht(),r=uR(),n=qe(),i=La();function a(o,u,c){var s=n(o)?e:r;return c&&i(o,u,c)&&(u=void 0),s(o,t(u,3))}return tl=a,tl}var sR=cR();const lR=oe(sR);var ct=function(t,r){var n=t.alwaysShow,i=t.ifOverflow;return n&&(i="extendDomain"),i===r},rl,nb;function fR(){if(nb)return rl;nb=1;var e=N0();function t(r,n,i){n=="__proto__"&&e?e(r,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):r[n]=i}return rl=t,rl}var nl,ib;function hR(){if(ib)return nl;ib=1;var e=fR(),t=R0(),r=ht();function n(i,a){var o={};return a=r(a,3),t(i,function(u,c,s){e(o,c,a(u,c,s))}),o}return nl=n,nl}var pR=hR();const dR=oe(pR);var il,ab;function vR(){if(ab)return il;ab=1;function e(t,r){for(var n=-1,i=t==null?0:t.length;++n=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function AR(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function SR(e,t){var r=e.x,n=e.y,i=_R(e,bR),a="".concat(r),o=parseInt(a,10),u="".concat(n),c=parseInt(u,10),s="".concat(t.height||i.height),f=parseInt(s,10),l="".concat(t.width||i.width),h=parseInt(l,10);return pn(pn(pn(pn(pn({},t),i),o?{x:o}:{}),c?{y:c}:{}),{},{height:f,width:h,name:t.name,radius:t.radius})}function sb(e){return S.createElement(mw,gf({shapeType:"rectangle",propTransformer:SR,activeClassName:"recharts-active-bar"},e))}var PR=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(n,i){if(typeof t=="number")return t;var a=q(n)||YO(n);return a?t(n,i):(a||Qt(!1),r)}},TR=["value","background"],Sw;function Lr(e){"@babel/helpers - typeof";return Lr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Lr(e)}function ER(e,t){if(e==null)return{};var r=jR(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function jR(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function ma(){return ma=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&Math.abs($)0&&Math.abs(C)0&&(j=Math.min((fe||0)-(C[ye-1]||0),j))}),Number.isFinite(j)){var $=j/E,k=v.layout==="vertical"?n.height:n.width;if(v.padding==="gap"&&(_=$*k/2),v.padding==="no-gap"){var R=Ie(t.barCategoryGap,$*k),L=$*k/2;_=L-R-(L-R)/k*R}}}i==="xAxis"?A=[n.left+(w.left||0)+(_||0),n.left+n.width-(w.right||0)-(_||0)]:i==="yAxis"?A=c==="horizontal"?[n.top+n.height-(w.bottom||0),n.top+(w.top||0)]:[n.top+(w.top||0)+(_||0),n.top+n.height-(w.bottom||0)-(_||0)]:A=v.range,m&&(A=[A[1],A[0]]);var B=Xx(v,a,h),U=B.scale,G=B.realScaleType;U.domain(g).range(A),Yx(U);var W=Zx(U,tt(tt({},v),{},{realScaleType:G}));i==="xAxis"?(P=p==="top"&&!O||p==="bottom"&&O,T=n.left,M=l[b]-P*v.height):i==="yAxis"&&(P=p==="left"&&!O||p==="right"&&O,T=l[b]-P*v.width,M=n.top);var V=tt(tt(tt({},v),W),{},{realScaleType:G,x:T,y:M,scale:U,width:i==="xAxis"?n.width:v.width,height:i==="yAxis"?n.height:v.height});return V.bandSize=ta(V,W),!v.hide&&i==="xAxis"?l[b]+=(P?-1:1)*V.height:v.hide||(l[b]+=(P?-1:1)*V.width),tt(tt({},d),{},io({},y,V))},{})},Mw=function(t,r){var n=t.x,i=t.y,a=r.x,o=r.y;return{x:Math.min(n,a),y:Math.min(i,o),width:Math.abs(a-n),height:Math.abs(o-i)}},BR=function(t){var r=t.x1,n=t.y1,i=t.x2,a=t.y2;return Mw({x:r,y:n},{x:i,y:a})},$w=(function(){function e(t){NR(this,e),this.scale=t}return qR(e,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.bandAware,a=n.position;if(r!==void 0){if(a)switch(a){case"start":return this.scale(r);case"middle":{var o=this.bandwidth?this.bandwidth()/2:0;return this.scale(r)+o}case"end":{var u=this.bandwidth?this.bandwidth():0;return this.scale(r)+u}default:return this.scale(r)}if(i){var c=this.bandwidth?this.bandwidth()/2:0;return this.scale(r)+c}return this.scale(r)}}},{key:"isInRange",value:function(r){var n=this.range(),i=n[0],a=n[n.length-1];return i<=a?r>=i&&r<=a:r>=a&&r<=i}}],[{key:"create",value:function(r){return new e(r)}}])})();io($w,"EPS",1e-4);var Ih=function(t){var r=Object.keys(t).reduce(function(n,i){return tt(tt({},n),{},io({},i,$w.create(t[i])))},{});return tt(tt({},r),{},{apply:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=a.bandAware,u=a.position;return dR(i,function(c,s){return r[s].apply(c,{bandAware:o,position:u})})},isInRange:function(i){return Aw(i,function(a,o){return r[o].isInRange(a)})}})};function FR(e){return(e%180+180)%180}var WR=function(t){var r=t.width,n=t.height,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=FR(i),o=a*Math.PI/180,u=Math.atan(n/r),c=o>u&&o-1?c[s?a[f]:f]:void 0}}return ul=n,ul}var cl,vb;function UR(){if(vb)return cl;vb=1;var e=xw();function t(r){var n=e(r),i=n%1;return n===n?i?n-i:n:0}return cl=t,cl}var sl,yb;function HR(){if(yb)return sl;yb=1;var e=M0(),t=ht(),r=UR(),n=Math.max;function i(a,o,u){var c=a==null?0:a.length;if(!c)return-1;var s=u==null?0:r(u);return s<0&&(s=n(c+s,0)),e(a,t(o,3),s)}return sl=i,sl}var ll,mb;function KR(){if(mb)return ll;mb=1;var e=zR(),t=HR(),r=e(t);return ll=r,ll}var GR=KR();const VR=oe(GR);var XR=Kb();const YR=oe(XR);var ZR=YR(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return["l",e.left,"t",e.top,"w",e.width,"h",e.height].join("")}),kh=N.createContext(void 0),Rh=N.createContext(void 0),Cw=N.createContext(void 0),Iw=N.createContext({}),kw=N.createContext(void 0),Rw=N.createContext(0),Dw=N.createContext(0),gb=function(t){var r=t.state,n=r.xAxisMap,i=r.yAxisMap,a=r.offset,o=t.clipPathId,u=t.children,c=t.width,s=t.height,f=ZR(a);return S.createElement(kh.Provider,{value:n},S.createElement(Rh.Provider,{value:i},S.createElement(Iw.Provider,{value:a},S.createElement(Cw.Provider,{value:f},S.createElement(kw.Provider,{value:o},S.createElement(Rw.Provider,{value:s},S.createElement(Dw.Provider,{value:c},u)))))))},JR=function(){return N.useContext(kw)},Nw=function(t){var r=N.useContext(kh);r==null&&Qt(!1);var n=r[t];return n==null&&Qt(!1),n},QR=function(){var t=N.useContext(kh);return Mt(t)},eD=function(){var t=N.useContext(Rh),r=VR(t,function(n){return Aw(n.domain,Number.isFinite)});return r||Mt(t)},qw=function(t){var r=N.useContext(Rh);r==null&&Qt(!1);var n=r[t];return n==null&&Qt(!1),n},tD=function(){var t=N.useContext(Cw);return t},rD=function(){return N.useContext(Iw)},Dh=function(){return N.useContext(Dw)},Nh=function(){return N.useContext(Rw)};function Br(e){"@babel/helpers - typeof";return Br=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Br(e)}function nD(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function iD(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);re*i)return!1;var a=r();return e*(t-e*a/2-n)>=0&&e*(t+e*a/2-i)<=0}function LD(e,t){return Hw(e,t+1)}function BD(e,t,r,n,i){for(var a=(n||[]).slice(),o=t.start,u=t.end,c=0,s=1,f=o,l=function(){var y=n?.[c];if(y===void 0)return{v:Hw(n,s)};var v=c,p,g=function(){return p===void 0&&(p=r(y,v)),p},x=y.coordinate,w=c===0||Oa(e,x,g,f,u);w||(c=0,f=o,s+=1),w&&(f=x+e*(g()/2+i),c+=s)},h;s<=a.length;)if(h=l(),h)return h.v;return[]}function ri(e){"@babel/helpers - typeof";return ri=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ri(e)}function Pb(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Me(e){for(var t=1;t0?d.coordinate-p*e:d.coordinate})}else a[h]=d=Me(Me({},d),{},{tickCoord:d.coordinate});var g=Oa(e,d.tickCoord,v,u,c);g&&(c=d.tickCoord-e*(v()/2+i),a[h]=Me(Me({},d),{},{isShow:!0}))},f=o-1;f>=0;f--)s(f);return a}function HD(e,t,r,n,i,a){var o=(n||[]).slice(),u=o.length,c=t.start,s=t.end;if(a){var f=n[u-1],l=r(f,u-1),h=e*(f.coordinate+e*l/2-s);o[u-1]=f=Me(Me({},f),{},{tickCoord:h>0?f.coordinate-h*e:f.coordinate});var d=Oa(e,f.tickCoord,function(){return l},c,s);d&&(s=f.tickCoord-e*(l/2+i),o[u-1]=Me(Me({},f),{},{isShow:!0}))}for(var y=a?u-1:u,v=function(x){var w=o[x],O,m=function(){return O===void 0&&(O=r(w,x)),O};if(x===0){var b=e*(w.coordinate-e*m()/2-c);o[x]=w=Me(Me({},w),{},{tickCoord:b<0?w.coordinate-b*e:w.coordinate})}else o[x]=w=Me(Me({},w),{},{tickCoord:w.coordinate});var _=Oa(e,w.tickCoord,m,c,s);_&&(c=w.tickCoord+e*(m()/2+i),o[x]=Me(Me({},w),{},{isShow:!0}))},p=0;p=2?Ce(i[1].coordinate-i[0].coordinate):1,g=qD(a,p,d);return c==="equidistantPreserveStart"?BD(p,g,v,i,o):(c==="preserveStart"||c==="preserveStartEnd"?h=HD(p,g,v,i,o,c==="preserveStartEnd"):h=UD(p,g,v,i,o),h.filter(function(x){return x.isShow}))}var KD=["viewBox"],GD=["viewBox"],VD=["ticks"];function zr(e){"@babel/helpers - typeof";return zr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zr(e)}function gr(){return gr=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function XD(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function YD(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Eb(e,t){for(var r=0;r0?c(this.props):c(d)),o<=0||u<=0||!y||!y.length?null:S.createElement(te,{className:J("recharts-cartesian-axis",s),ref:function(p){n.layerReference=p}},a&&this.renderAxisLine(),this.renderTicks(y,this.state.fontSize,this.state.letterSpacing),Te.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(n,i,a){var o,u=J(i.className,"recharts-cartesian-axis-tick-value");return S.isValidElement(n)?o=S.cloneElement(n,we(we({},i),{},{className:u})):X(n)?o=n(we(we({},i),{},{className:u})):o=S.createElement(rr,gr({},i,{className:"recharts-cartesian-axis-tick-value"}),a),o}}])})(N.Component);Fh(nn,"displayName","CartesianAxis");Fh(nn,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var nN=["x1","y1","x2","y2","key"],iN=["offset"];function ir(e){"@babel/helpers - typeof";return ir=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ir(e)}function jb(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function $e(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function cN(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var sN=function(t){var r=t.fill;if(!r||r==="none")return null;var n=t.fillOpacity,i=t.x,a=t.y,o=t.width,u=t.height,c=t.ry;return S.createElement("rect",{x:i,y:a,ry:c,width:o,height:u,stroke:"none",fill:r,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function Vw(e,t){var r;if(S.isValidElement(e))r=S.cloneElement(e,t);else if(X(e))r=e(t);else{var n=t.x1,i=t.y1,a=t.x2,o=t.y2,u=t.key,c=Mb(t,nN),s=H(c,!1);s.offset;var f=Mb(s,iN);r=S.createElement("line",Yt({},f,{x1:n,y1:i,x2:a,y2:o,fill:"none",key:u}))}return r}function lN(e){var t=e.x,r=e.width,n=e.horizontal,i=n===void 0?!0:n,a=e.horizontalPoints;if(!i||!a||!a.length)return null;var o=a.map(function(u,c){var s=$e($e({},e),{},{x1:t,y1:u,x2:t+r,y2:u,key:"line-".concat(c),index:c});return Vw(i,s)});return S.createElement("g",{className:"recharts-cartesian-grid-horizontal"},o)}function fN(e){var t=e.y,r=e.height,n=e.vertical,i=n===void 0?!0:n,a=e.verticalPoints;if(!i||!a||!a.length)return null;var o=a.map(function(u,c){var s=$e($e({},e),{},{x1:u,y1:t,x2:u,y2:t+r,key:"line-".concat(c),index:c});return Vw(i,s)});return S.createElement("g",{className:"recharts-cartesian-grid-vertical"},o)}function hN(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,i=e.y,a=e.width,o=e.height,u=e.horizontalPoints,c=e.horizontal,s=c===void 0?!0:c;if(!s||!t||!t.length)return null;var f=u.map(function(h){return Math.round(h+i-i)}).sort(function(h,d){return h-d});i!==f[0]&&f.unshift(0);var l=f.map(function(h,d){var y=!f[d+1],v=y?i+o-h:f[d+1]-h;if(v<=0)return null;var p=d%t.length;return S.createElement("rect",{key:"react-".concat(d),y:h,x:n,height:v,width:a,stroke:"none",fill:t[p],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return S.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},l)}function pN(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,i=e.fillOpacity,a=e.x,o=e.y,u=e.width,c=e.height,s=e.verticalPoints;if(!r||!n||!n.length)return null;var f=s.map(function(h){return Math.round(h+a-a)}).sort(function(h,d){return h-d});a!==f[0]&&f.unshift(0);var l=f.map(function(h,d){var y=!f[d+1],v=y?a+u-h:f[d+1]-h;if(v<=0)return null;var p=d%n.length;return S.createElement("rect",{key:"react-".concat(d),x:h,y:o,width:v,height:c,stroke:"none",fill:n[p],fillOpacity:i,className:"recharts-cartesian-grid-bg"})});return S.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},l)}var dN=function(t,r){var n=t.xAxis,i=t.width,a=t.height,o=t.offset;return Vx(Bh($e($e($e({},nn.defaultProps),n),{},{ticks:gt(n,!0),viewBox:{x:0,y:0,width:i,height:a}})),o.left,o.left+o.width,r)},vN=function(t,r){var n=t.yAxis,i=t.width,a=t.height,o=t.offset;return Vx(Bh($e($e($e({},nn.defaultProps),n),{},{ticks:gt(n,!0),viewBox:{x:0,y:0,width:i,height:a}})),o.top,o.top+o.height,r)},pr={horizontal:!0,vertical:!0,stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function yN(e){var t,r,n,i,a,o,u=Dh(),c=Nh(),s=rD(),f=$e($e({},e),{},{stroke:(t=e.stroke)!==null&&t!==void 0?t:pr.stroke,fill:(r=e.fill)!==null&&r!==void 0?r:pr.fill,horizontal:(n=e.horizontal)!==null&&n!==void 0?n:pr.horizontal,horizontalFill:(i=e.horizontalFill)!==null&&i!==void 0?i:pr.horizontalFill,vertical:(a=e.vertical)!==null&&a!==void 0?a:pr.vertical,verticalFill:(o=e.verticalFill)!==null&&o!==void 0?o:pr.verticalFill,x:q(e.x)?e.x:s.left,y:q(e.y)?e.y:s.top,width:q(e.width)?e.width:s.width,height:q(e.height)?e.height:s.height}),l=f.x,h=f.y,d=f.width,y=f.height,v=f.syncWithTicks,p=f.horizontalValues,g=f.verticalValues,x=QR(),w=eD();if(!q(d)||d<=0||!q(y)||y<=0||!q(l)||l!==+l||!q(h)||h!==+h)return null;var O=f.verticalCoordinatesGenerator||dN,m=f.horizontalCoordinatesGenerator||vN,b=f.horizontalPoints,_=f.verticalPoints;if((!b||!b.length)&&X(m)){var A=p&&p.length,T=m({yAxis:w?$e($e({},w),{},{ticks:A?p:w.ticks}):void 0,width:u,height:c,offset:s},A?!0:v);it(Array.isArray(T),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(ir(T),"]")),Array.isArray(T)&&(b=T)}if((!_||!_.length)&&X(O)){var M=g&&g.length,P=O({xAxis:x?$e($e({},x),{},{ticks:M?g:x.ticks}):void 0,width:u,height:c,offset:s},M?!0:v);it(Array.isArray(P),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(ir(P),"]")),Array.isArray(P)&&(_=P)}return S.createElement("g",{className:"recharts-cartesian-grid"},S.createElement(sN,{fill:f.fill,fillOpacity:f.fillOpacity,x:f.x,y:f.y,width:f.width,height:f.height,ry:f.ry}),S.createElement(lN,Yt({},f,{offset:s,horizontalPoints:b,xAxis:x,yAxis:w})),S.createElement(fN,Yt({},f,{offset:s,verticalPoints:_,xAxis:x,yAxis:w})),S.createElement(hN,Yt({},f,{horizontalPoints:b})),S.createElement(pN,Yt({},f,{verticalPoints:_})))}yN.displayName="CartesianGrid";var mN=["type","layout","connectNulls","ref"],gN=["key"];function Ur(e){"@babel/helpers - typeof";return Ur=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ur(e)}function $b(e,t){if(e==null)return{};var r=bN(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function bN(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function _n(){return _n=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);rl){d=[].concat(dr(c.slice(0,y)),[l-v]);break}var p=d.length%2===0?[0,h]:[h];return[].concat(dr(t.repeat(c,f)),dr(d),p).map(function(g){return"".concat(g,"px")}).join(", ")}),rt(r,"id",Zr("recharts-line-")),rt(r,"pathRef",function(o){r.mainCurve=o}),rt(r,"handleAnimationEnd",function(){r.setState({isAnimationFinished:!0}),r.props.onAnimationEnd&&r.props.onAnimationEnd()}),rt(r,"handleAnimationStart",function(){r.setState({isAnimationFinished:!1}),r.props.onAnimationStart&&r.props.onAnimationStart()}),r}return jN(t,e),SN(t,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var n=this.getTotalLength();this.setState({totalLength:n})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var n=this.getTotalLength();n!==this.state.totalLength&&this.setState({totalLength:n})}}},{key:"getTotalLength",value:function(){var n=this.mainCurve;try{return n&&n.getTotalLength&&n.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(n,i){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var a=this.props,o=a.points,u=a.xAxis,c=a.yAxis,s=a.layout,f=a.children,l=Ke(f,pi);if(!l)return null;var h=function(v,p){return{x:v.x,y:v.y,value:v.value,errorVal:_e(v.payload,p)}},d={clipPath:n?"url(#clipPath-".concat(i,")"):null};return S.createElement(te,d,l.map(function(y){return S.cloneElement(y,{key:"bar-".concat(y.props.dataKey),data:o,xAxis:u,yAxis:c,layout:s,dataPointFormatter:h})}))}},{key:"renderDots",value:function(n,i,a){var o=this.props.isAnimationActive;if(o&&!this.state.isAnimationFinished)return null;var u=this.props,c=u.dot,s=u.points,f=u.dataKey,l=H(this.props,!1),h=H(c,!0),d=s.map(function(v,p){var g=Be(Be(Be({key:"dot-".concat(p),r:3},l),h),{},{index:p,cx:v.x,cy:v.y,value:v.value,dataKey:f,payload:v.payload,points:s});return t.renderDotItem(c,g)}),y={clipPath:n?"url(#clipPath-".concat(i?"":"dots-").concat(a,")"):null};return S.createElement(te,_n({className:"recharts-line-dots",key:"dots"},y),d)}},{key:"renderCurveStatically",value:function(n,i,a,o){var u=this.props,c=u.type,s=u.layout,f=u.connectNulls;u.ref;var l=$b(u,mN),h=Be(Be(Be({},H(l,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:i?"url(#clipPath-".concat(a,")"):null,points:n},o),{},{type:c,layout:s,connectNulls:f});return S.createElement(ia,_n({},h,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(n,i){var a=this,o=this.props,u=o.points,c=o.strokeDasharray,s=o.isAnimationActive,f=o.animationBegin,l=o.animationDuration,h=o.animationEasing,d=o.animationId,y=o.animateNewValues,v=o.width,p=o.height,g=this.state,x=g.prevPoints,w=g.totalLength;return S.createElement(lt,{begin:f,duration:l,isActive:s,easing:h,from:{t:0},to:{t:1},key:"line-".concat(d),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(O){var m=O.t;if(x){var b=x.length/u.length,_=u.map(function(E,j){var C=Math.floor(j*b);if(x[C]){var $=x[C],k=ze($.x,E.x),R=ze($.y,E.y);return Be(Be({},E),{},{x:k(m),y:R(m)})}if(y){var L=ze(v*2,E.x),B=ze(p/2,E.y);return Be(Be({},E),{},{x:L(m),y:B(m)})}return Be(Be({},E),{},{x:E.x,y:E.y})});return a.renderCurveStatically(_,n,i)}var A=ze(0,w),T=A(m),M;if(c){var P="".concat(c).split(/[,\s]+/gim).map(function(E){return parseFloat(E)});M=a.getStrokeDasharray(T,w,P)}else M=a.generateSimpleStrokeDasharray(w,T);return a.renderCurveStatically(u,n,i,{strokeDasharray:M})})}},{key:"renderCurve",value:function(n,i){var a=this.props,o=a.points,u=a.isAnimationActive,c=this.state,s=c.prevPoints,f=c.totalLength;return u&&o&&o.length&&(!s&&f>0||!hi(s,o))?this.renderCurveWithAnimation(n,i):this.renderCurveStatically(o,n,i)}},{key:"render",value:function(){var n,i=this.props,a=i.hide,o=i.dot,u=i.points,c=i.className,s=i.xAxis,f=i.yAxis,l=i.top,h=i.left,d=i.width,y=i.height,v=i.isAnimationActive,p=i.id;if(a||!u||!u.length)return null;var g=this.state.isAnimationFinished,x=u.length===1,w=J("recharts-line",c),O=s&&s.allowDataOverflow,m=f&&f.allowDataOverflow,b=O||m,_=Y(p)?this.id:p,A=(n=H(o,!1))!==null&&n!==void 0?n:{r:3,strokeWidth:2},T=A.r,M=T===void 0?3:T,P=A.strokeWidth,E=P===void 0?2:P,j=c_(o)?o:{},C=j.clipDot,$=C===void 0?!0:C,k=M*2+E;return S.createElement(te,{className:w},O||m?S.createElement("defs",null,S.createElement("clipPath",{id:"clipPath-".concat(_)},S.createElement("rect",{x:O?h:h-d/2,y:m?l:l-y/2,width:O?d:d*2,height:m?y:y*2})),!$&&S.createElement("clipPath",{id:"clipPath-dots-".concat(_)},S.createElement("rect",{x:h-k/2,y:l-k/2,width:d+k,height:y+k}))):null,!x&&this.renderCurve(b,_),this.renderErrorBar(b,_),(x||o)&&this.renderDots(b,$,_),(!v||g)&&wt.renderCallByParent(this.props,u))}}],[{key:"getDerivedStateFromProps",value:function(n,i){return n.animationId!==i.prevAnimationId?{prevAnimationId:n.animationId,curPoints:n.points,prevPoints:i.curPoints}:n.points!==i.curPoints?{curPoints:n.points}:null}},{key:"repeat",value:function(n,i){for(var a=n.length%2!==0?[].concat(dr(n),[0]):n,o=[],u=0;ue.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function b2(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function x2(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function w2(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r0?o:t&&t.length&&q(i)&&q(a)?t.slice(i,a+1):[]};function sO(e){return e==="number"?[0,"auto"]:void 0}var Nf=function(t,r,n,i){var a=t.graphicalItems,o=t.tooltipAxis,u=ho(r,t);return n<0||!a||!a.length||n>=u.length?null:a.reduce(function(c,s){var f,l=(f=s.props.data)!==null&&f!==void 0?f:r;l&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=n&&(l=l.slice(t.dataStartIndex,t.dataEndIndex+1));var h;if(o.dataKey&&!o.allowDuplicatedCategory){var d=l===void 0?u:l;h=Mi(d,o.dataKey,i)}else h=l&&l[n]||u[n];return h?[].concat(Vr(c),[Qx(s,h)]):c},[])},Bb=function(t,r,n,i){var a=i||{x:t.chartX,y:t.chartY},o=I2(a,n),u=t.orderedTooltipTicks,c=t.tooltipAxis,s=t.tooltipTicks,f=iM(o,u,s,c);if(f>=0&&s){var l=s[f]&&s[f].value,h=Nf(t,r,f,l),d=k2(n,u,f,a);return{activeTooltipIndex:f,activeLabel:l,activePayload:h,activeCoordinate:d}}return null},R2=function(t,r){var n=r.axes,i=r.graphicalItems,a=r.axisType,o=r.axisIdKey,u=r.stackGroups,c=r.dataStartIndex,s=r.dataEndIndex,f=t.layout,l=t.children,h=t.stackOffset,d=Gx(f,a);return n.reduce(function(y,v){var p,g=v.type.defaultProps!==void 0?I(I({},v.type.defaultProps),v.props):v.props,x=g.type,w=g.dataKey,O=g.allowDataOverflow,m=g.allowDuplicatedCategory,b=g.scale,_=g.ticks,A=g.includeHidden,T=g[o];if(y[T])return y;var M=ho(t.data,{graphicalItems:i.filter(function(W){var V,fe=o in W.props?W.props[o]:(V=W.type.defaultProps)===null||V===void 0?void 0:V[o];return fe===T}),dataStartIndex:c,dataEndIndex:s}),P=M.length,E,j,C;u2(g.domain,O,x)&&(E=Yl(g.domain,null,O),d&&(x==="number"||b!=="auto")&&(C=bn(M,w,"category")));var $=sO(x);if(!E||E.length===0){var k,R=(k=g.domain)!==null&&k!==void 0?k:$;if(w){if(E=bn(M,w,x),x==="category"&&d){var L=JO(E);m&&L?(j=E,E=da(0,P)):m||(E=Lm(R,E,v).reduce(function(W,V){return W.indexOf(V)>=0?W:[].concat(Vr(W),[V])},[]))}else if(x==="category")m?E=E.filter(function(W){return W!==""&&!Y(W)}):E=Lm(R,E,v).reduce(function(W,V){return W.indexOf(V)>=0||V===""||Y(V)?W:[].concat(Vr(W),[V])},[]);else if(x==="number"){var B=sM(M,i.filter(function(W){var V,fe,ye=o in W.props?W.props[o]:(V=W.type.defaultProps)===null||V===void 0?void 0:V[o],Le="hide"in W.props?W.props.hide:(fe=W.type.defaultProps)===null||fe===void 0?void 0:fe.hide;return ye===T&&(A||!Le)}),w,a,f);B&&(E=B)}d&&(x==="number"||b!=="auto")&&(C=bn(M,w,"category"))}else d?E=da(0,P):u&&u[T]&&u[T].hasStack&&x==="number"?E=h==="expand"?[0,1]:Jx(u[T].stackGroups,c,s):E=Kx(M,i.filter(function(W){var V=o in W.props?W.props[o]:W.type.defaultProps[o],fe="hide"in W.props?W.props.hide:W.type.defaultProps.hide;return V===T&&(A||!fe)}),x,f,!0);if(x==="number")E=kf(l,E,T,a,_),R&&(E=Yl(R,E,O));else if(x==="category"&&R){var U=R,G=E.every(function(W){return U.indexOf(W)>=0});G&&(E=U)}}return I(I({},y),{},K({},T,I(I({},g),{},{axisType:a,domain:E,categoricalDomain:C,duplicateDomain:j,originalDomain:(p=g.domain)!==null&&p!==void 0?p:$,isCategorical:d,layout:f})))},{})},D2=function(t,r){var n=r.graphicalItems,i=r.Axis,a=r.axisType,o=r.axisIdKey,u=r.stackGroups,c=r.dataStartIndex,s=r.dataEndIndex,f=t.layout,l=t.children,h=ho(t.data,{graphicalItems:n,dataStartIndex:c,dataEndIndex:s}),d=h.length,y=Gx(f,a),v=-1;return n.reduce(function(p,g){var x=g.type.defaultProps!==void 0?I(I({},g.type.defaultProps),g.props):g.props,w=x[o],O=sO("number");if(!p[w]){v++;var m;return y?m=da(0,d):u&&u[w]&&u[w].hasStack?(m=Jx(u[w].stackGroups,c,s),m=kf(l,m,w,a)):(m=Yl(O,Kx(h,n.filter(function(b){var _,A,T=o in b.props?b.props[o]:(_=b.type.defaultProps)===null||_===void 0?void 0:_[o],M="hide"in b.props?b.props.hide:(A=b.type.defaultProps)===null||A===void 0?void 0:A.hide;return T===w&&!M}),"number",f),i.defaultProps.allowDataOverflow),m=kf(l,m,w,a)),I(I({},p),{},K({},w,I(I({axisType:a},i.defaultProps),{},{hide:!0,orientation:He($2,"".concat(a,".").concat(v%2),null),domain:m,originalDomain:O,isCategorical:y,layout:f})))}return p},{})},N2=function(t,r){var n=r.axisType,i=n===void 0?"xAxis":n,a=r.AxisComp,o=r.graphicalItems,u=r.stackGroups,c=r.dataStartIndex,s=r.dataEndIndex,f=t.children,l="".concat(i,"Id"),h=Ke(f,a),d={};return h&&h.length?d=R2(t,{axes:h,graphicalItems:o,axisType:i,axisIdKey:l,stackGroups:u,dataStartIndex:c,dataEndIndex:s}):o&&o.length&&(d=D2(t,{Axis:a,graphicalItems:o,axisType:i,axisIdKey:l,stackGroups:u,dataStartIndex:c,dataEndIndex:s})),d},q2=function(t){var r=Mt(t),n=gt(r,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:ih(n,function(i){return i.coordinate}),tooltipAxis:r,tooltipAxisBandSize:ta(r,n)}},Fb=function(t){var r=t.children,n=t.defaultShowTooltip,i=We(r,qr),a=0,o=0;return t.data&&t.data.length!==0&&(o=t.data.length-1),i&&i.props&&(i.props.startIndex>=0&&(a=i.props.startIndex),i.props.endIndex>=0&&(o=i.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:a,dataEndIndex:o,activeTooltipIndex:-1,isTooltipActive:!!n}},L2=function(t){return!t||!t.length?!1:t.some(function(r){var n=bt(r&&r.type);return n&&n.indexOf("Bar")>=0})},Wb=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},B2=function(t,r){var n=t.props,i=t.graphicalItems,a=t.xAxisMap,o=a===void 0?{}:a,u=t.yAxisMap,c=u===void 0?{}:u,s=n.width,f=n.height,l=n.children,h=n.margin||{},d=We(l,qr),y=We(l,wr),v=Object.keys(c).reduce(function(m,b){var _=c[b],A=_.orientation;return!_.mirror&&!_.hide?I(I({},m),{},K({},A,m[A]+_.width)):m},{left:h.left||0,right:h.right||0}),p=Object.keys(o).reduce(function(m,b){var _=o[b],A=_.orientation;return!_.mirror&&!_.hide?I(I({},m),{},K({},A,He(m,"".concat(A))+_.height)):m},{top:h.top||0,bottom:h.bottom||0}),g=I(I({},p),v),x=g.bottom;d&&(g.bottom+=d.props.height||qr.defaultProps.height),y&&r&&(g=uM(g,i,n,r));var w=s-g.left-g.right,O=f-g.top-g.bottom;return I(I({brushBottom:x},g),{},{width:Math.max(w,0),height:Math.max(O,0)})},F2=function(t,r){if(r==="xAxis")return t[r].width;if(r==="yAxis")return t[r].height},Wh=function(t){var r=t.chartName,n=t.GraphicalChild,i=t.defaultTooltipEventType,a=i===void 0?"axis":i,o=t.validateTooltipEventTypes,u=o===void 0?["axis"]:o,c=t.axisComponents,s=t.legendContent,f=t.formatAxisMap,l=t.defaultProps,h=function(g,x){var w=x.graphicalItems,O=x.stackGroups,m=x.offset,b=x.updateId,_=x.dataStartIndex,A=x.dataEndIndex,T=g.barSize,M=g.layout,P=g.barGap,E=g.barCategoryGap,j=g.maxBarSize,C=Wb(M),$=C.numericAxisName,k=C.cateAxisName,R=L2(w),L=[];return w.forEach(function(B,U){var G=ho(g.data,{graphicalItems:[B],dataStartIndex:_,dataEndIndex:A}),W=B.type.defaultProps!==void 0?I(I({},B.type.defaultProps),B.props):B.props,V=W.dataKey,fe=W.maxBarSize,ye=W["".concat($,"Id")],Le=W["".concat(k,"Id")],qt={},Re=c.reduce(function(Lt,Bt){var po=x["".concat(Bt.axisType,"Map")],zh=W["".concat(Bt.axisType,"Id")];po&&po[zh]||Bt.axisType==="zAxis"||Qt(!1);var Uh=po[zh];return I(I({},Lt),{},K(K({},Bt.axisType,Uh),"".concat(Bt.axisType,"Ticks"),gt(Uh)))},qt),F=Re[k],Z=Re["".concat(k,"Ticks")],Q=O&&O[ye]&&O[ye].hasStack&&gM(B,O[ye].stackGroups),D=bt(B.type).indexOf("Bar")>=0,de=ta(F,Z),ee=[],be=R&&aM({barSize:T,stackGroups:O,totalSize:F2(Re,k)});if(D){var xe,De,Et=Y(fe)?j:fe,lr=(xe=(De=ta(F,Z,!0))!==null&&De!==void 0?De:Et)!==null&&xe!==void 0?xe:0;ee=oM({barGap:P,barCategoryGap:E,bandSize:lr!==de?lr:de,sizeList:be[Le],maxBarSize:Et}),lr!==de&&(ee=ee.map(function(Lt){return I(I({},Lt),{},{position:I(I({},Lt.position),{},{offset:Lt.position.offset-lr/2})})}))}var di=B&&B.type&&B.type.getComposedData;di&&L.push({props:I(I({},di(I(I({},Re),{},{displayedData:G,props:g,dataKey:V,item:B,bandSize:de,barPosition:ee,offset:m,stackedData:Q,layout:M,dataStartIndex:_,dataEndIndex:A}))),{},K(K(K({key:B.key||"item-".concat(U)},$,Re[$]),k,Re[k]),"animationId",b)),childIndex:f_(B,g.children),item:B})}),L},d=function(g,x){var w=g.props,O=g.dataStartIndex,m=g.dataEndIndex,b=g.updateId;if(!Qp({props:w}))return null;var _=w.children,A=w.layout,T=w.stackOffset,M=w.data,P=w.reverseStackOrder,E=Wb(A),j=E.numericAxisName,C=E.cateAxisName,$=Ke(_,n),k=yM(M,$,"".concat(j,"Id"),"".concat(C,"Id"),T,P),R=c.reduce(function(W,V){var fe="".concat(V.axisType,"Map");return I(I({},W),{},K({},fe,N2(w,I(I({},V),{},{graphicalItems:$,stackGroups:V.axisType===j&&k,dataStartIndex:O,dataEndIndex:m}))))},{}),L=B2(I(I({},R),{},{props:w,graphicalItems:$}),x?.legendBBox);Object.keys(R).forEach(function(W){R[W]=f(w,R[W],L,W.replace("Map",""),r)});var B=R["".concat(C,"Map")],U=q2(B),G=h(w,I(I({},R),{},{dataStartIndex:O,dataEndIndex:m,updateId:b,graphicalItems:$,stackGroups:k,offset:L}));return I(I({formattedGraphicalItems:G,graphicalItems:$,offset:L,stackGroups:k},U),R)},y=(function(p){function g(x){var w,O,m;return x2(this,g),m=_2(this,g,[x]),K(m,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),K(m,"accessibilityManager",new o2),K(m,"handleLegendBBoxUpdate",function(b){if(b){var _=m.state,A=_.dataStartIndex,T=_.dataEndIndex,M=_.updateId;m.setState(I({legendBBox:b},d({props:m.props,dataStartIndex:A,dataEndIndex:T,updateId:M},I(I({},m.state),{},{legendBBox:b}))))}}),K(m,"handleReceiveSyncEvent",function(b,_,A){if(m.props.syncId===b){if(A===m.eventEmitterSymbol&&typeof m.props.syncMethod!="function")return;m.applySyncEvent(_)}}),K(m,"handleBrushChange",function(b){var _=b.startIndex,A=b.endIndex;if(_!==m.state.dataStartIndex||A!==m.state.dataEndIndex){var T=m.state.updateId;m.setState(function(){return I({dataStartIndex:_,dataEndIndex:A},d({props:m.props,dataStartIndex:_,dataEndIndex:A,updateId:T},m.state))}),m.triggerSyncEvent({dataStartIndex:_,dataEndIndex:A})}}),K(m,"handleMouseEnter",function(b){var _=m.getMouseInfo(b);if(_){var A=I(I({},_),{},{isTooltipActive:!0});m.setState(A),m.triggerSyncEvent(A);var T=m.props.onMouseEnter;X(T)&&T(A,b)}}),K(m,"triggeredAfterMouseMove",function(b){var _=m.getMouseInfo(b),A=_?I(I({},_),{},{isTooltipActive:!0}):{isTooltipActive:!1};m.setState(A),m.triggerSyncEvent(A);var T=m.props.onMouseMove;X(T)&&T(A,b)}),K(m,"handleItemMouseEnter",function(b){m.setState(function(){return{isTooltipActive:!0,activeItem:b,activePayload:b.tooltipPayload,activeCoordinate:b.tooltipPosition||{x:b.cx,y:b.cy}}})}),K(m,"handleItemMouseLeave",function(){m.setState(function(){return{isTooltipActive:!1}})}),K(m,"handleMouseMove",function(b){b.persist(),m.throttleTriggeredAfterMouseMove(b)}),K(m,"handleMouseLeave",function(b){m.throttleTriggeredAfterMouseMove.cancel();var _={isTooltipActive:!1};m.setState(_),m.triggerSyncEvent(_);var A=m.props.onMouseLeave;X(A)&&A(_,b)}),K(m,"handleOuterEvent",function(b){var _=l_(b),A=He(m.props,"".concat(_));if(_&&X(A)){var T,M;/.*touch.*/i.test(_)?M=m.getMouseInfo(b.changedTouches[0]):M=m.getMouseInfo(b),A((T=M)!==null&&T!==void 0?T:{},b)}}),K(m,"handleClick",function(b){var _=m.getMouseInfo(b);if(_){var A=I(I({},_),{},{isTooltipActive:!0});m.setState(A),m.triggerSyncEvent(A);var T=m.props.onClick;X(T)&&T(A,b)}}),K(m,"handleMouseDown",function(b){var _=m.props.onMouseDown;if(X(_)){var A=m.getMouseInfo(b);_(A,b)}}),K(m,"handleMouseUp",function(b){var _=m.props.onMouseUp;if(X(_)){var A=m.getMouseInfo(b);_(A,b)}}),K(m,"handleTouchMove",function(b){b.changedTouches!=null&&b.changedTouches.length>0&&m.throttleTriggeredAfterMouseMove(b.changedTouches[0])}),K(m,"handleTouchStart",function(b){b.changedTouches!=null&&b.changedTouches.length>0&&m.handleMouseDown(b.changedTouches[0])}),K(m,"handleTouchEnd",function(b){b.changedTouches!=null&&b.changedTouches.length>0&&m.handleMouseUp(b.changedTouches[0])}),K(m,"handleDoubleClick",function(b){var _=m.props.onDoubleClick;if(X(_)){var A=m.getMouseInfo(b);_(A,b)}}),K(m,"handleContextMenu",function(b){var _=m.props.onContextMenu;if(X(_)){var A=m.getMouseInfo(b);_(A,b)}}),K(m,"triggerSyncEvent",function(b){m.props.syncId!==void 0&&pl.emit(dl,m.props.syncId,b,m.eventEmitterSymbol)}),K(m,"applySyncEvent",function(b){var _=m.props,A=_.layout,T=_.syncMethod,M=m.state.updateId,P=b.dataStartIndex,E=b.dataEndIndex;if(b.dataStartIndex!==void 0||b.dataEndIndex!==void 0)m.setState(I({dataStartIndex:P,dataEndIndex:E},d({props:m.props,dataStartIndex:P,dataEndIndex:E,updateId:M},m.state)));else if(b.activeTooltipIndex!==void 0){var j=b.chartX,C=b.chartY,$=b.activeTooltipIndex,k=m.state,R=k.offset,L=k.tooltipTicks;if(!R)return;if(typeof T=="function")$=T(L,b);else if(T==="value"){$=-1;for(var B=0;B=0){var Q,D;if(j.dataKey&&!j.allowDuplicatedCategory){var de=typeof j.dataKey=="function"?Z:"payload.".concat(j.dataKey.toString());Q=Mi(B,de,$),D=U&&G&&Mi(G,de,$)}else Q=B?.[C],D=U&&G&&G[C];if(Le||ye){var ee=b.props.activeIndex!==void 0?b.props.activeIndex:C;return[N.cloneElement(b,I(I(I({},T.props),Re),{},{activeIndex:ee})),null,null]}if(!Y(Q))return[F].concat(Vr(m.renderActivePoints({item:T,activePoint:Q,basePoint:D,childIndex:C,isRange:U})))}else{var be,xe=(be=m.getItemByXY(m.state.activeCoordinate))!==null&&be!==void 0?be:{graphicalItem:F},De=xe.graphicalItem,Et=De.item,lr=Et===void 0?b:Et,di=De.childIndex,Lt=I(I(I({},T.props),Re),{},{activeIndex:di});return[N.cloneElement(lr,Lt),null,null]}return U?[F,null,null]:[F,null]}),K(m,"renderCustomized",function(b,_,A){return N.cloneElement(b,I(I({key:"recharts-customized-".concat(A)},m.props),m.state))}),K(m,"renderMap",{CartesianGrid:{handler:Ei,once:!0},ReferenceArea:{handler:m.renderReferenceElement},ReferenceLine:{handler:Ei},ReferenceDot:{handler:m.renderReferenceElement},XAxis:{handler:Ei},YAxis:{handler:Ei},Brush:{handler:m.renderBrush,once:!0},Bar:{handler:m.renderGraphicChild},Line:{handler:m.renderGraphicChild},Area:{handler:m.renderGraphicChild},Radar:{handler:m.renderGraphicChild},RadialBar:{handler:m.renderGraphicChild},Scatter:{handler:m.renderGraphicChild},Pie:{handler:m.renderGraphicChild},Funnel:{handler:m.renderGraphicChild},Tooltip:{handler:m.renderCursor,once:!0},PolarGrid:{handler:m.renderPolarGrid,once:!0},PolarAngleAxis:{handler:m.renderPolarAxis},PolarRadiusAxis:{handler:m.renderPolarAxis},Customized:{handler:m.renderCustomized}}),m.clipPathId="".concat((w=x.id)!==null&&w!==void 0?w:Zr("recharts"),"-clip"),m.throttleTriggeredAfterMouseMove=z0(m.triggeredAfterMouseMove,(O=x.throttleDelay)!==null&&O!==void 0?O:1e3/60),m.state={},m}return P2(g,p),O2(g,[{key:"componentDidMount",value:function(){var w,O;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(w=this.props.margin.left)!==null&&w!==void 0?w:0,top:(O=this.props.margin.top)!==null&&O!==void 0?O:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var w=this.props,O=w.children,m=w.data,b=w.height,_=w.layout,A=We(O,dt);if(A){var T=A.props.defaultIndex;if(!(typeof T!="number"||T<0||T>this.state.tooltipTicks.length-1)){var M=this.state.tooltipTicks[T]&&this.state.tooltipTicks[T].value,P=Nf(this.state,m,T,M),E=this.state.tooltipTicks[T].coordinate,j=(this.state.offset.top+b)/2,C=_==="horizontal",$=C?{x:E,y:j}:{y:E,x:j},k=this.state.formattedGraphicalItems.find(function(L){var B=L.item;return B.type.name==="Scatter"});k&&($=I(I({},$),k.props.points[T].tooltipPosition),P=k.props.points[T].tooltipPayload);var R={activeTooltipIndex:T,isTooltipActive:!0,activeLabel:M,activePayload:P,activeCoordinate:$};this.setState(R),this.renderCursor(A),this.accessibilityManager.setIndex(T)}}}},{key:"getSnapshotBeforeUpdate",value:function(w,O){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==O.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==w.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==w.margin){var m,b;this.accessibilityManager.setDetails({offset:{left:(m=this.props.margin.left)!==null&&m!==void 0?m:0,top:(b=this.props.margin.top)!==null&&b!==void 0?b:0}})}return null}},{key:"componentDidUpdate",value:function(w){gl([We(w.children,dt)],[We(this.props.children,dt)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var w=We(this.props.children,dt);if(w&&typeof w.props.shared=="boolean"){var O=w.props.shared?"axis":"item";return u.indexOf(O)>=0?O:a}return a}},{key:"getMouseInfo",value:function(w){if(!this.container)return null;var O=this.container,m=O.getBoundingClientRect(),b=ZS(m),_={chartX:Math.round(w.pageX-b.left),chartY:Math.round(w.pageY-b.top)},A=m.width/O.offsetWidth||1,T=this.inRange(_.chartX,_.chartY,A);if(!T)return null;var M=this.state,P=M.xAxisMap,E=M.yAxisMap,j=this.getTooltipEventType(),C=Bb(this.state,this.props.data,this.props.layout,T);if(j!=="axis"&&P&&E){var $=Mt(P).scale,k=Mt(E).scale,R=$&&$.invert?$.invert(_.chartX):null,L=k&&k.invert?k.invert(_.chartY):null;return I(I({},_),{},{xValue:R,yValue:L},C)}return C?I(I({},_),C):null}},{key:"inRange",value:function(w,O){var m=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,b=this.props.layout,_=w/m,A=O/m;if(b==="horizontal"||b==="vertical"){var T=this.state.offset,M=_>=T.left&&_<=T.left+T.width&&A>=T.top&&A<=T.top+T.height;return M?{x:_,y:A}:null}var P=this.state,E=P.angleAxisMap,j=P.radiusAxisMap;if(E&&j){var C=Mt(E);return Wm({x:_,y:A},C)}return null}},{key:"parseEventsOfWrapper",value:function(){var w=this.props.children,O=this.getTooltipEventType(),m=We(w,dt),b={};m&&O==="axis"&&(m.props.trigger==="click"?b={onClick:this.handleClick}:b={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var _=$i(this.props,this.handleOuterEvent);return I(I({},_),b)}},{key:"addListener",value:function(){pl.on(dl,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){pl.removeListener(dl,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(w,O,m){for(var b=this.state.formattedGraphicalItems,_=0,A=b.length;_t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),M=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,c,o)=>o?o.toUpperCase():c.toLowerCase()),d=t=>{const a=M(t);return a.charAt(0).toUpperCase()+a.slice(1)},r=(...t)=>t.filter((a,c,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===c).join(" ").trim(),m=t=>{for(const a in t)if(a.startsWith("aria-")||a==="role"||a==="title")return!0};var v={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const x=n.forwardRef(({color:t="currentColor",size:a=24,strokeWidth:c=2,absoluteStrokeWidth:o,className:y="",children:s,iconNode:k,...h},i)=>n.createElement("svg",{ref:i,...v,width:a,height:a,stroke:t,strokeWidth:o?Number(c)*24/Number(a):c,className:r("lucide",y),...!s&&!m(h)&&{"aria-hidden":"true"},...h},[...k.map(([l,p])=>n.createElement(l,p)),...Array.isArray(s)?s:[s]]));const e=(t,a)=>{const c=n.forwardRef(({className:o,...y},s)=>n.createElement(x,{ref:s,iconNode:a,className:r(`lucide-${_(d(t))}`,`lucide-${t}`,o),...y}));return c.displayName=d(t),c};const u=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],D1=e("activity",u);const g=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],T1=e("arrow-left",g);const $=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],F1=e("arrow-right",$);const N=[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],O1=e("ban",N);const f=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],I1=e("book-open",f);const w=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],K1=e("bot",w);const z=[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]],W1=e("boxes",z);const C=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],Q1=e("calendar",C);const q=[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]],X1=e("chart-column",q);const b=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],G1=e("check",b);const A=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],J1=e("chevron-down",A);const j=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],Y1=e("chevron-left",j);const V=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],e2=e("chevron-right",V);const H=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],a2=e("chevron-up",H);const L=[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]],t2=e("chevrons-left",L);const S=[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]],c2=e("chevrons-right",S);const P=[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]],o2=e("chevrons-up-down",P);const R=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],s2=e("circle-alert",R);const U=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],n2=e("circle-check",U);const E=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],y2=e("circle-question-mark",E);const B=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662",key:"154egf"}]],h2=e("circle-user",B);const Z=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],d2=e("circle-x",Z);const D=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],r2=e("circle",D);const T=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],k2=e("clock",T);const F=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],i2=e("copy",F);const O=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],l2=e("database",O);const I=[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]],p2=e("dollar-sign",I);const K=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],_2=e("download",K);const W=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],M2=e("external-link",W);const Q=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],m2=e("eye-off",Q);const X=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],v2=e("eye",X);const G=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["circle",{cx:"11.5",cy:"14.5",r:"2.5",key:"1bq0ko"}],["path",{d:"M13.3 16.3 15 18",key:"2quom7"}]],x2=e("file-search",G);const J=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],u2=e("file-text",J);const Y=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],g2=e("funnel",Y);const e1=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],$2=e("hash",e1);const a1=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]],N2=e("house",a1);const t1=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],f2=e("info",t1);const c1=[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]],w2=e("key",c1);const o1=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],z2=e("loader-circle",o1);const s1=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],C2=e("lock",s1);const n1=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],q2=e("log-out",n1);const y1=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],b2=e("menu",y1);const h1=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],A2=e("message-square",h1);const d1=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],j2=e("moon",d1);const r1=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]],V2=e("package",r1);const k1=[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]],H2=e("palette",k1);const i1=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],L2=e("pause",i1);const l1=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],S2=e("pencil",l1);const p1=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],P2=e("play",p1);const _1=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],R2=e("plus",_1);const M1=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],U2=e("power",M1);const m1=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],E2=e("refresh-cw",m1);const v1=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],B2=e("rotate-ccw",v1);const x1=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],Z2=e("rotate-cw",x1);const u1=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],D2=e("save",u1);const g1=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],T2=e("search",g1);const $1=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],F2=e("server",$1);const N1=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],O2=e("settings-2",N1);const f1=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],I2=e("settings",f1);const w1=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],K2=e("shield",w1);const z1=[["path",{d:"M21 4v16",key:"7j8fe9"}],["path",{d:"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",key:"zs4d6"}]],W2=e("skip-forward",z1);const C1=[["path",{d:"M10 8h4",key:"1sr2af"}],["path",{d:"M12 21v-9",key:"17s77i"}],["path",{d:"M12 8V3",key:"13r4qs"}],["path",{d:"M17 16h4",key:"h1uq16"}],["path",{d:"M19 12V3",key:"o1uvq1"}],["path",{d:"M19 21v-5",key:"qua636"}],["path",{d:"M3 14h4",key:"bcjad9"}],["path",{d:"M5 10V3",key:"cb8scm"}],["path",{d:"M5 21v-7",key:"1w1uti"}]],Q2=e("sliders-vertical",C1);const q1=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]],X2=e("smile",q1);const b1=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],G2=e("sparkles",b1);const A1=[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]],J2=e("square-pen",A1);const j1=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],Y2=e("star",j1);const V1=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],e0=e("sun",V1);const H1=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],a0=e("terminal",H1);const L1=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],t0=e("trash-2",L1);const S1=[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]],c0=e("trending-up",S1);const P1=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],o0=e("triangle-alert",P1);const R1=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],s0=e("user",R1);const U1=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],n0=e("users",U1);const E1=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],y0=e("x",E1);const B1=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],h0=e("zap",B1);export{J2 as $,D1 as A,K1 as B,k2 as C,p2 as D,m2 as E,u2 as F,t0 as G,N2 as H,f2 as I,x2 as J,w2 as K,C2 as L,A2 as M,S2 as N,t2 as O,H2 as P,Y1 as Q,E2 as R,K2 as S,c0 as T,s0 as U,e2 as V,c2 as W,y0 as X,o2 as Y,h0 as Z,g2 as _,l2 as a,O1 as a0,$2 as a1,n0 as a2,Q1 as a3,L2 as a4,P2 as a5,_2 as a6,O2 as a7,Y2 as a8,M2 as a9,V2 as aa,F2 as ab,W1 as ac,h2 as ad,X1 as ae,r2 as af,Q2 as ag,b2 as ah,I1 as ai,q2 as aj,Z2 as ak,I2 as b,o0 as c,G1 as d,i2 as e,v2 as f,n2 as g,d2 as h,B2 as i,e0 as j,j2 as k,s2 as l,y2 as m,a0 as n,G2 as o,X2 as p,W2 as q,F1 as r,T2 as s,T1 as t,J1 as u,a2 as v,z2 as w,D2 as x,U2 as y,R2 as z}; diff --git a/webui/dist/assets/index-3Oy1uh5z.js b/webui/dist/assets/index-3Oy1uh5z.js deleted file mode 100644 index 79feb3a2..00000000 --- a/webui/dist/assets/index-3Oy1uh5z.js +++ /dev/null @@ -1,157 +0,0 @@ -function QV(e,t){for(var n=0;nr[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))r(a);new MutationObserver(a=>{for(const s of a)if(s.type==="childList")for(const l of s.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function n(a){const s={};return a.integrity&&(s.integrity=a.integrity),a.referrerPolicy&&(s.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?s.credentials="include":a.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(a){if(a.ep)return;a.ep=!0;const s=n(a);fetch(a.href,s)}})();var Op=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Rt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var T0={exports:{}},Kd={};var Kk;function JV(){if(Kk)return Kd;Kk=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,a,s){var l=null;if(s!==void 0&&(l=""+s),a.key!==void 0&&(l=""+a.key),"key"in a){s={};for(var u in a)u!=="key"&&(s[u]=a[u])}else s=a;return a=s.ref,{$$typeof:e,type:r,key:l,ref:a!==void 0?a:null,props:s}}return Kd.Fragment=t,Kd.jsx=n,Kd.jsxs=n,Kd}var Xk;function eG(){return Xk||(Xk=1,T0.exports=JV()),T0.exports}var i=eG(),k0={exports:{}},Qe={};var Zk;function tG(){if(Zk)return Qe;Zk=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),l=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),f=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),g=Symbol.iterator;function x(F){return F===null||typeof F!="object"?null:(F=g&&F[g]||F["@@iterator"],typeof F=="function"?F:null)}var j={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w=Object.assign,b={};function N(F,z,K){this.props=F,this.context=z,this.refs=b,this.updater=K||j}N.prototype.isReactComponent={},N.prototype.setState=function(F,z){if(typeof F!="object"&&typeof F!="function"&&F!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,F,z,"setState")},N.prototype.forceUpdate=function(F){this.updater.enqueueForceUpdate(this,F,"forceUpdate")};function E(){}E.prototype=N.prototype;function O(F,z,K){this.props=F,this.context=z,this.refs=b,this.updater=K||j}var A=O.prototype=new E;A.constructor=O,w(A,N.prototype),A.isPureReactComponent=!0;var C=Array.isArray;function k(){}var T={H:null,A:null,T:null,S:null},M=Object.prototype.hasOwnProperty;function R(F,z,K){var ie=K.ref;return{$$typeof:e,type:F,key:z,ref:ie!==void 0?ie:null,props:K}}function L(F,z){return R(F.type,z,F.props)}function D(F){return typeof F=="object"&&F!==null&&F.$$typeof===e}function U(F){var z={"=":"=0",":":"=2"};return"$"+F.replace(/[=:]/g,function(K){return z[K]})}var V=/\/+/g;function H(F,z){return typeof F=="object"&&F!==null&&F.key!=null?U(""+F.key):z.toString(36)}function G(F){switch(F.status){case"fulfilled":return F.value;case"rejected":throw F.reason;default:switch(typeof F.status=="string"?F.then(k,k):(F.status="pending",F.then(function(z){F.status==="pending"&&(F.status="fulfilled",F.value=z)},function(z){F.status==="pending"&&(F.status="rejected",F.reason=z)})),F.status){case"fulfilled":return F.value;case"rejected":throw F.reason}}throw F}function $(F,z,K,ie,Q){var he=typeof F;(he==="undefined"||he==="boolean")&&(F=null);var ae=!1;if(F===null)ae=!0;else switch(he){case"bigint":case"string":case"number":ae=!0;break;case"object":switch(F.$$typeof){case e:case t:ae=!0;break;case m:return ae=F._init,$(ae(F._payload),z,K,ie,Q)}}if(ae)return Q=Q(F),ae=ie===""?"."+H(F,0):ie,C(Q)?(K="",ae!=null&&(K=ae.replace(V,"$&/")+"/"),$(Q,z,K,"",function(pe){return pe})):Q!=null&&(D(Q)&&(Q=L(Q,K+(Q.key==null||F&&F.key===Q.key?"":(""+Q.key).replace(V,"$&/")+"/")+ae)),z.push(Q)),1;ae=0;var we=ie===""?".":ie+":";if(C(F))for(var Y=0;Y>>1,ee=$[Z];if(0>>1;Za(K,q))iea(Q,K)?($[Z]=Q,$[ie]=q,Z=ie):($[Z]=K,$[z]=q,Z=z);else if(iea(Q,q))$[Z]=Q,$[ie]=q,Z=ie;else break e}}return I}function a($,I){var q=$.sortIndex-I.sortIndex;return q!==0?q:$.id-I.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var l=Date,u=l.now();e.unstable_now=function(){return l.now()-u}}var d=[],f=[],m=1,p=null,g=3,x=!1,j=!1,w=!1,b=!1,N=typeof setTimeout=="function"?setTimeout:null,E=typeof clearTimeout=="function"?clearTimeout:null,O=typeof setImmediate<"u"?setImmediate:null;function A($){for(var I=n(f);I!==null;){if(I.callback===null)r(f);else if(I.startTime<=$)r(f),I.sortIndex=I.expirationTime,t(d,I);else break;I=n(f)}}function C($){if(w=!1,A($),!j)if(n(d)!==null)j=!0,k||(k=!0,U());else{var I=n(f);I!==null&&G(C,I.startTime-$)}}var k=!1,T=-1,M=5,R=-1;function L(){return b?!0:!(e.unstable_now()-R$&&L());){var Z=p.callback;if(typeof Z=="function"){p.callback=null,g=p.priorityLevel;var ee=Z(p.expirationTime<=$);if($=e.unstable_now(),typeof ee=="function"){p.callback=ee,A($),I=!0;break t}p===n(d)&&r(d),A($)}else r(d);p=n(d)}if(p!==null)I=!0;else{var F=n(f);F!==null&&G(C,F.startTime-$),I=!1}}break e}finally{p=null,g=q,x=!1}I=void 0}}finally{I?U():k=!1}}}var U;if(typeof O=="function")U=function(){O(D)};else if(typeof MessageChannel<"u"){var V=new MessageChannel,H=V.port2;V.port1.onmessage=D,U=function(){H.postMessage(null)}}else U=function(){N(D,0)};function G($,I){T=N(function(){$(e.unstable_now())},I)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function($){$.callback=null},e.unstable_forceFrameRate=function($){0>$||125<$?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):M=0<$?Math.floor(1e3/$):5},e.unstable_getCurrentPriorityLevel=function(){return g},e.unstable_next=function($){switch(g){case 1:case 2:case 3:var I=3;break;default:I=g}var q=g;g=I;try{return $()}finally{g=q}},e.unstable_requestPaint=function(){b=!0},e.unstable_runWithPriority=function($,I){switch($){case 1:case 2:case 3:case 4:case 5:break;default:$=3}var q=g;g=$;try{return I()}finally{g=q}},e.unstable_scheduleCallback=function($,I,q){var Z=e.unstable_now();switch(typeof q=="object"&&q!==null?(q=q.delay,q=typeof q=="number"&&0Z?($.sortIndex=q,t(f,$),n(d)===null&&$===n(f)&&(w?(E(T),T=-1):w=!0,G(C,q-Z))):($.sortIndex=ee,t(d,$),j||x||(j=!0,k||(k=!0,U()))),$},e.unstable_shouldYield=L,e.unstable_wrapCallback=function($){var I=g;return function(){var q=g;g=I;try{return $.apply(this,arguments)}finally{g=q}}}})(R0)),R0}var eM;function rG(){return eM||(eM=1,P0.exports=nG()),P0.exports}var D0={exports:{}},cr={};var tM;function aG(){if(tM)return cr;tM=1;var e=Ah();function t(d){var f="https://react.dev/errors/"+d;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),D0.exports=aG(),D0.exports}var rM;function iG(){if(rM)return Xd;rM=1;var e=rG(),t=Ah(),n=t5();function r(o){var c="https://react.dev/errors/"+o;if(1ee||(o.current=Z[ee],Z[ee]=null,ee--)}function K(o,c){ee++,Z[ee]=o.current,o.current=c}var ie=F(null),Q=F(null),he=F(null),ae=F(null);function we(o,c){switch(K(he,c),K(Q,o),K(ie,null),c.nodeType){case 9:case 11:o=(o=c.documentElement)&&(o=o.namespaceURI)?yk(o):0;break;default:if(o=c.tagName,c=c.namespaceURI)c=yk(c),o=xk(c,o);else switch(o){case"svg":o=1;break;case"math":o=2;break;default:o=0}}z(ie),K(ie,o)}function Y(){z(ie),z(Q),z(he)}function pe(o){o.memoizedState!==null&&K(ae,o);var c=ie.current,h=xk(c,o.type);c!==h&&(K(Q,o),K(ie,h))}function je(o){Q.current===o&&(z(ie),z(Q)),ae.current===o&&(z(ae),Wd._currentValue=q)}var X,Ae;function Oe(o){if(X===void 0)try{throw Error()}catch(h){var c=h.stack.trim().match(/\n( *(at )?)/);X=c&&c[1]||"",Ae=-1)":-1S||J[v]!==ce[S]){var ve=` -`+J[v].replace(" at new "," at ");return o.displayName&&ve.includes("")&&(ve=ve.replace("",o.displayName)),ve}while(1<=v&&0<=S);break}}}finally{We=!1,Error.prepareStackTrace=h}return(h=o?o.displayName||o.name:"")?Oe(h):""}function be(o,c){switch(o.tag){case 26:case 27:case 5:return Oe(o.type);case 16:return Oe("Lazy");case 13:return o.child!==c&&c!==null?Oe("Suspense Fallback"):Oe("Suspense");case 19:return Oe("SuspenseList");case 0:case 15:return Ve(o.type,!1);case 11:return Ve(o.type.render,!1);case 1:return Ve(o.type,!0);case 31:return Oe("Activity");default:return""}}function _e(o){try{var c="",h=null;do c+=be(o,h),h=o,o=o.return;while(o);return c}catch(v){return` -Error generating stack: `+v.message+` -`+v.stack}}var rt=Object.prototype.hasOwnProperty,fn=e.unstable_scheduleCallback,Tt=e.unstable_cancelCallback,zt=e.unstable_shouldYield,at=e.unstable_requestPaint,re=e.unstable_now,Se=e.unstable_getCurrentPriorityLevel,ut=e.unstable_ImmediatePriority,Or=e.unstable_UserBlockingPriority,bs=e.unstable_NormalPriority,mx=e.unstable_LowPriority,mm=e.unstable_IdlePriority,px=e.log,vx=e.unstable_setDisableYieldValue,jo=null,wr=null;function ei(o){if(typeof px=="function"&&vx(o),wr&&typeof wr.setStrictMode=="function")try{wr.setStrictMode(jo,o)}catch{}}var lr=Math.clz32?Math.clz32:Kt,gx=Math.log,ot=Math.LN2;function Kt(o){return o>>>=0,o===0?32:31-(gx(o)/ot|0)|0}var Ge=256,Et=262144,qn=4194304;function lt(o){var c=o&42;if(c!==0)return c;switch(o&-o){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 o&261888;case 262144:case 524288:case 1048576:case 2097152:return o&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return o&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return o}}function zl(o,c,h){var v=o.pendingLanes;if(v===0)return 0;var S=0,_=o.suspendedLanes,P=o.pingedLanes;o=o.warmLanes;var B=v&134217727;return B!==0?(v=B&~_,v!==0?S=lt(v):(P&=B,P!==0?S=lt(P):h||(h=B&~o,h!==0&&(S=lt(h))))):(B=v&~_,B!==0?S=lt(B):P!==0?S=lt(P):h||(h=v&~o,h!==0&&(S=lt(h)))),S===0?0:c!==0&&c!==S&&(c&_)===0&&(_=S&-S,h=c&-c,_>=h||_===32&&(h&4194048)!==0)?c:S}function So(o,c){return(o.pendingLanes&~(o.suspendedLanes&~o.pingedLanes)&c)===0}function yx(o,c){switch(o){case 1:case 2:case 4:case 8:case 64:return c+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 c+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 Bl(){var o=qn;return qn<<=1,(qn&62914560)===0&&(qn=4194304),o}function _o(o){for(var c=[],h=0;31>h;h++)c.push(o);return c}function id(o,c){o.pendingLanes|=c,c!==268435456&&(o.suspendedLanes=0,o.pingedLanes=0,o.warmLanes=0)}function BW(o,c,h,v,S,_){var P=o.pendingLanes;o.pendingLanes=h,o.suspendedLanes=0,o.pingedLanes=0,o.warmLanes=0,o.expiredLanes&=h,o.entangledLanes&=h,o.errorRecoveryDisabledLanes&=h,o.shellSuspendCounter=0;var B=o.entanglements,J=o.expirationTimes,ce=o.hiddenUpdates;for(h=P&~h;0"u")return null;try{return o.activeElement||o.body}catch{return o.body}}var VW=/[\n"\\]/g;function ha(o){return o.replace(VW,function(c){return"\\"+c.charCodeAt(0).toString(16)+" "})}function _x(o,c,h,v,S,_,P,B){o.name="",P!=null&&typeof P!="function"&&typeof P!="symbol"&&typeof P!="boolean"?o.type=P:o.removeAttribute("type"),c!=null?P==="number"?(c===0&&o.value===""||o.value!=c)&&(o.value=""+fa(c)):o.value!==""+fa(c)&&(o.value=""+fa(c)):P!=="submit"&&P!=="reset"||o.removeAttribute("value"),c!=null?Nx(o,P,fa(c)):h!=null?Nx(o,P,fa(h)):v!=null&&o.removeAttribute("value"),S==null&&_!=null&&(o.defaultChecked=!!_),S!=null&&(o.checked=S&&typeof S!="function"&&typeof S!="symbol"),B!=null&&typeof B!="function"&&typeof B!="symbol"&&typeof B!="boolean"?o.name=""+fa(B):o.removeAttribute("name")}function f2(o,c,h,v,S,_,P,B){if(_!=null&&typeof _!="function"&&typeof _!="symbol"&&typeof _!="boolean"&&(o.type=_),c!=null||h!=null){if(!(_!=="submit"&&_!=="reset"||c!=null)){Sx(o);return}h=h!=null?""+fa(h):"",c=c!=null?""+fa(c):h,B||c===o.value||(o.value=c),o.defaultValue=c}v=v??S,v=typeof v!="function"&&typeof v!="symbol"&&!!v,o.checked=B?o.checked:!!v,o.defaultChecked=!!v,P!=null&&typeof P!="function"&&typeof P!="symbol"&&typeof P!="boolean"&&(o.name=P),Sx(o)}function Nx(o,c,h){c==="number"&&gm(o.ownerDocument)===o||o.defaultValue===""+h||(o.defaultValue=""+h)}function Vl(o,c,h,v){if(o=o.options,c){c={};for(var S=0;S"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Tx=!1;if(ki)try{var cd={};Object.defineProperty(cd,"passive",{get:function(){Tx=!0}}),window.addEventListener("test",cd,cd),window.removeEventListener("test",cd,cd)}catch{Tx=!1}var js=null,kx=null,xm=null;function x2(){if(xm)return xm;var o,c=kx,h=c.length,v,S="value"in js?js.value:js.textContent,_=S.length;for(o=0;o=fd),N2=" ",C2=!1;function O2(o,c){switch(o){case"keyup":return b7.indexOf(c.keyCode)!==-1;case"keydown":return c.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function E2(o){return o=o.detail,typeof o=="object"&&"data"in o?o.data:null}var Xl=!1;function j7(o,c){switch(o){case"compositionend":return E2(c);case"keypress":return c.which!==32?null:(C2=!0,N2);case"textInput":return o=c.data,o===N2&&C2?null:o;default:return null}}function S7(o,c){if(Xl)return o==="compositionend"||!$x&&O2(o,c)?(o=x2(),xm=kx=js=null,Xl=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!(c.ctrlKey||c.altKey||c.metaKey)||c.ctrlKey&&c.altKey){if(c.char&&1=c)return{node:h,offset:c-o};o=v}e:{for(;h;){if(h.nextSibling){h=h.nextSibling;break e}h=h.parentNode}h=void 0}h=$2(h)}}function L2(o,c){return o&&c?o===c?!0:o&&o.nodeType===3?!1:c&&c.nodeType===3?L2(o,c.parentNode):"contains"in o?o.contains(c):o.compareDocumentPosition?!!(o.compareDocumentPosition(c)&16):!1:!1}function z2(o){o=o!=null&&o.ownerDocument!=null&&o.ownerDocument.defaultView!=null?o.ownerDocument.defaultView:window;for(var c=gm(o.document);c instanceof o.HTMLIFrameElement;){try{var h=typeof c.contentWindow.location.href=="string"}catch{h=!1}if(h)o=c.contentWindow;else break;c=gm(o.document)}return c}function zx(o){var c=o&&o.nodeName&&o.nodeName.toLowerCase();return c&&(c==="input"&&(o.type==="text"||o.type==="search"||o.type==="tel"||o.type==="url"||o.type==="password")||c==="textarea"||o.contentEditable==="true")}var k7=ki&&"documentMode"in document&&11>=document.documentMode,Zl=null,Bx=null,vd=null,qx=!1;function B2(o,c,h){var v=h.window===h?h.document:h.nodeType===9?h:h.ownerDocument;qx||Zl==null||Zl!==gm(v)||(v=Zl,"selectionStart"in v&&zx(v)?v={start:v.selectionStart,end:v.selectionEnd}:(v=(v.ownerDocument&&v.ownerDocument.defaultView||window).getSelection(),v={anchorNode:v.anchorNode,anchorOffset:v.anchorOffset,focusNode:v.focusNode,focusOffset:v.focusOffset}),vd&&pd(vd,v)||(vd=v,v=fp(Bx,"onSelect"),0>=P,S-=P,ti=1<<32-lr(c)+S|h<it?(pt=Ie,Ie=null):pt=Ie.sibling;var jt=de(se,Ie,le[it],ye);if(jt===null){Ie===null&&(Ie=pt);break}o&&Ie&&jt.alternate===null&&c(se,Ie),te=_(jt,te,it),wt===null?ze=jt:wt.sibling=jt,wt=jt,Ie=pt}if(it===le.length)return h(se,Ie),vt&&Pi(se,it),ze;if(Ie===null){for(;itit?(pt=Ie,Ie=null):pt=Ie.sibling;var Hs=de(se,Ie,jt.value,ye);if(Hs===null){Ie===null&&(Ie=pt);break}o&&Ie&&Hs.alternate===null&&c(se,Ie),te=_(Hs,te,it),wt===null?ze=Hs:wt.sibling=Hs,wt=Hs,Ie=pt}if(jt.done)return h(se,Ie),vt&&Pi(se,it),ze;if(Ie===null){for(;!jt.done;it++,jt=le.next())jt=xe(se,jt.value,ye),jt!==null&&(te=_(jt,te,it),wt===null?ze=jt:wt.sibling=jt,wt=jt);return vt&&Pi(se,it),ze}for(Ie=v(Ie);!jt.done;it++,jt=le.next())jt=me(Ie,se,it,jt.value,ye),jt!==null&&(o&&jt.alternate!==null&&Ie.delete(jt.key===null?it:jt.key),te=_(jt,te,it),wt===null?ze=jt:wt.sibling=jt,wt=jt);return o&&Ie.forEach(function(ZV){return c(se,ZV)}),vt&&Pi(se,it),ze}function Ft(se,te,le,ye){if(typeof le=="object"&&le!==null&&le.type===w&&le.key===null&&(le=le.props.children),typeof le=="object"&&le!==null){switch(le.$$typeof){case x:e:{for(var ze=le.key;te!==null;){if(te.key===ze){if(ze=le.type,ze===w){if(te.tag===7){h(se,te.sibling),ye=S(te,le.props.children),ye.return=se,se=ye;break e}}else if(te.elementType===ze||typeof ze=="object"&&ze!==null&&ze.$$typeof===M&&Do(ze)===te.type){h(se,te.sibling),ye=S(te,le.props),jd(ye,le),ye.return=se,se=ye;break e}h(se,te);break}else c(se,te);te=te.sibling}le.type===w?(ye=To(le.props.children,se.mode,ye,le.key),ye.return=se,se=ye):(ye=Am(le.type,le.key,le.props,null,se.mode,ye),jd(ye,le),ye.return=se,se=ye)}return P(se);case j:e:{for(ze=le.key;te!==null;){if(te.key===ze)if(te.tag===4&&te.stateNode.containerInfo===le.containerInfo&&te.stateNode.implementation===le.implementation){h(se,te.sibling),ye=S(te,le.children||[]),ye.return=se,se=ye;break e}else{h(se,te);break}else c(se,te);te=te.sibling}ye=Yx(le,se.mode,ye),ye.return=se,se=ye}return P(se);case M:return le=Do(le),Ft(se,te,le,ye)}if(G(le))return Pe(se,te,le,ye);if(U(le)){if(ze=U(le),typeof ze!="function")throw Error(r(150));return le=ze.call(le),Fe(se,te,le,ye)}if(typeof le.then=="function")return Ft(se,te,$m(le),ye);if(le.$$typeof===O)return Ft(se,te,Mm(se,le),ye);Im(se,le)}return typeof le=="string"&&le!==""||typeof le=="number"||typeof le=="bigint"?(le=""+le,te!==null&&te.tag===6?(h(se,te.sibling),ye=S(te,le),ye.return=se,se=ye):(h(se,te),ye=Gx(le,se.mode,ye),ye.return=se,se=ye),P(se)):h(se,te)}return function(se,te,le,ye){try{wd=0;var ze=Ft(se,te,le,ye);return lc=null,ze}catch(Ie){if(Ie===oc||Ie===Rm)throw Ie;var wt=Vr(29,Ie,null,se.mode);return wt.lanes=ye,wt.return=se,wt}finally{}}}var Io=cA(!0),uA=cA(!1),Os=!1;function sb(o){o.updateQueue={baseState:o.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ob(o,c){o=o.updateQueue,c.updateQueue===o&&(c.updateQueue={baseState:o.baseState,firstBaseUpdate:o.firstBaseUpdate,lastBaseUpdate:o.lastBaseUpdate,shared:o.shared,callbacks:null})}function Es(o){return{lane:o,tag:0,payload:null,callback:null,next:null}}function As(o,c,h){var v=o.updateQueue;if(v===null)return null;if(v=v.shared,(At&2)!==0){var S=v.pending;return S===null?c.next=c:(c.next=S.next,S.next=c),v.pending=c,c=Em(o),G2(o,null,h),c}return Om(o,v,c,h),Em(o)}function Sd(o,c,h){if(c=c.updateQueue,c!==null&&(c=c.shared,(h&4194048)!==0)){var v=c.lanes;v&=o.pendingLanes,h|=v,c.lanes=h,t2(o,h)}}function lb(o,c){var h=o.updateQueue,v=o.alternate;if(v!==null&&(v=v.updateQueue,h===v)){var S=null,_=null;if(h=h.firstBaseUpdate,h!==null){do{var P={lane:h.lane,tag:h.tag,payload:h.payload,callback:null,next:null};_===null?S=_=P:_=_.next=P,h=h.next}while(h!==null);_===null?S=_=c:_=_.next=c}else S=_=c;h={baseState:v.baseState,firstBaseUpdate:S,lastBaseUpdate:_,shared:v.shared,callbacks:v.callbacks},o.updateQueue=h;return}o=h.lastBaseUpdate,o===null?h.firstBaseUpdate=c:o.next=c,h.lastBaseUpdate=c}var cb=!1;function _d(){if(cb){var o=sc;if(o!==null)throw o}}function Nd(o,c,h,v){cb=!1;var S=o.updateQueue;Os=!1;var _=S.firstBaseUpdate,P=S.lastBaseUpdate,B=S.shared.pending;if(B!==null){S.shared.pending=null;var J=B,ce=J.next;J.next=null,P===null?_=ce:P.next=ce,P=J;var ve=o.alternate;ve!==null&&(ve=ve.updateQueue,B=ve.lastBaseUpdate,B!==P&&(B===null?ve.firstBaseUpdate=ce:B.next=ce,ve.lastBaseUpdate=J))}if(_!==null){var xe=S.baseState;P=0,ve=ce=J=null,B=_;do{var de=B.lane&-536870913,me=de!==B.lane;if(me?(mt&de)===de:(v&de)===de){de!==0&&de===ic&&(cb=!0),ve!==null&&(ve=ve.next={lane:0,tag:B.tag,payload:B.payload,callback:null,next:null});e:{var Pe=o,Fe=B;de=c;var Ft=h;switch(Fe.tag){case 1:if(Pe=Fe.payload,typeof Pe=="function"){xe=Pe.call(Ft,xe,de);break e}xe=Pe;break e;case 3:Pe.flags=Pe.flags&-65537|128;case 0:if(Pe=Fe.payload,de=typeof Pe=="function"?Pe.call(Ft,xe,de):Pe,de==null)break e;xe=p({},xe,de);break e;case 2:Os=!0}}de=B.callback,de!==null&&(o.flags|=64,me&&(o.flags|=8192),me=S.callbacks,me===null?S.callbacks=[de]:me.push(de))}else me={lane:de,tag:B.tag,payload:B.payload,callback:B.callback,next:null},ve===null?(ce=ve=me,J=xe):ve=ve.next=me,P|=de;if(B=B.next,B===null){if(B=S.shared.pending,B===null)break;me=B,B=me.next,me.next=null,S.lastBaseUpdate=me,S.shared.pending=null}}while(!0);ve===null&&(J=xe),S.baseState=J,S.firstBaseUpdate=ce,S.lastBaseUpdate=ve,_===null&&(S.shared.lanes=0),Rs|=P,o.lanes=P,o.memoizedState=xe}}function dA(o,c){if(typeof o!="function")throw Error(r(191,o));o.call(c)}function fA(o,c){var h=o.callbacks;if(h!==null)for(o.callbacks=null,o=0;o_?_:8;var P=$.T,B={};$.T=B,Eb(o,!1,c,h);try{var J=S(),ce=$.S;if(ce!==null&&ce(B,J),J!==null&&typeof J=="object"&&typeof J.then=="function"){var ve=B7(J,v);Ed(o,c,ve,Zr(o))}else Ed(o,c,v,Zr(o))}catch(xe){Ed(o,c,{then:function(){},status:"rejected",reason:xe},Zr())}finally{I.p=_,P!==null&&B.types!==null&&(P.types=B.types),$.T=P}}function V7(){}function Cb(o,c,h,v){if(o.tag!==5)throw Error(r(476));var S=HA(o).queue;UA(o,S,c,q,h===null?V7:function(){return WA(o),h(v)})}function HA(o){var c=o.memoizedState;if(c!==null)return c;c={memoizedState:q,baseState:q,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ii,lastRenderedState:q},next:null};var h={};return c.next={memoizedState:h,baseState:h,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ii,lastRenderedState:h},next:null},o.memoizedState=c,o=o.alternate,o!==null&&(o.memoizedState=c),c}function WA(o){var c=HA(o);c.next===null&&(c=o.alternate.memoizedState),Ed(o,c.next.queue,{},Zr())}function Ob(){return tr(Wd)}function VA(){return _n().memoizedState}function GA(){return _n().memoizedState}function G7(o){for(var c=o.return;c!==null;){switch(c.tag){case 24:case 3:var h=Zr();o=Es(h);var v=As(c,o,h);v!==null&&(Rr(v,c,h),Sd(v,c,h)),c={cache:nb()},o.payload=c;return}c=c.return}}function Y7(o,c,h){var v=Zr();h={lane:v,revertLane:0,gesture:null,action:h,hasEagerState:!1,eagerState:null,next:null},Gm(o)?KA(c,h):(h=Wx(o,c,h,v),h!==null&&(Rr(h,o,v),XA(h,c,v)))}function YA(o,c,h){var v=Zr();Ed(o,c,h,v)}function Ed(o,c,h,v){var S={lane:v,revertLane:0,gesture:null,action:h,hasEagerState:!1,eagerState:null,next:null};if(Gm(o))KA(c,S);else{var _=o.alternate;if(o.lanes===0&&(_===null||_.lanes===0)&&(_=c.lastRenderedReducer,_!==null))try{var P=c.lastRenderedState,B=_(P,h);if(S.hasEagerState=!0,S.eagerState=B,Wr(B,P))return Om(o,c,S,0),Vt===null&&Cm(),!1}catch{}finally{}if(h=Wx(o,c,S,v),h!==null)return Rr(h,o,v),XA(h,c,v),!0}return!1}function Eb(o,c,h,v){if(v={lane:2,revertLane:s0(),gesture:null,action:v,hasEagerState:!1,eagerState:null,next:null},Gm(o)){if(c)throw Error(r(479))}else c=Wx(o,h,v,2),c!==null&&Rr(c,o,2)}function Gm(o){var c=o.alternate;return o===tt||c!==null&&c===tt}function KA(o,c){uc=Bm=!0;var h=o.pending;h===null?c.next=c:(c.next=h.next,h.next=c),o.pending=c}function XA(o,c,h){if((h&4194048)!==0){var v=c.lanes;v&=o.pendingLanes,h|=v,c.lanes=h,t2(o,h)}}var Ad={readContext:tr,use:Um,useCallback:bn,useContext:bn,useEffect:bn,useImperativeHandle:bn,useLayoutEffect:bn,useInsertionEffect:bn,useMemo:bn,useReducer:bn,useRef:bn,useState:bn,useDebugValue:bn,useDeferredValue:bn,useTransition:bn,useSyncExternalStore:bn,useId:bn,useHostTransitionStatus:bn,useFormState:bn,useActionState:bn,useOptimistic:bn,useMemoCache:bn,useCacheRefresh:bn};Ad.useEffectEvent=bn;var ZA={readContext:tr,use:Um,useCallback:function(o,c){return jr().memoizedState=[o,c===void 0?null:c],o},useContext:tr,useEffect:RA,useImperativeHandle:function(o,c,h){h=h!=null?h.concat([o]):null,Wm(4194308,4,LA.bind(null,c,o),h)},useLayoutEffect:function(o,c){return Wm(4194308,4,o,c)},useInsertionEffect:function(o,c){Wm(4,2,o,c)},useMemo:function(o,c){var h=jr();c=c===void 0?null:c;var v=o();if(Lo){ei(!0);try{o()}finally{ei(!1)}}return h.memoizedState=[v,c],v},useReducer:function(o,c,h){var v=jr();if(h!==void 0){var S=h(c);if(Lo){ei(!0);try{h(c)}finally{ei(!1)}}}else S=c;return v.memoizedState=v.baseState=S,o={pending:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:S},v.queue=o,o=o.dispatch=Y7.bind(null,tt,o),[v.memoizedState,o]},useRef:function(o){var c=jr();return o={current:o},c.memoizedState=o},useState:function(o){o=wb(o);var c=o.queue,h=YA.bind(null,tt,c);return c.dispatch=h,[o.memoizedState,h]},useDebugValue:_b,useDeferredValue:function(o,c){var h=jr();return Nb(h,o,c)},useTransition:function(){var o=wb(!1);return o=UA.bind(null,tt,o.queue,!0,!1),jr().memoizedState=o,[!1,o]},useSyncExternalStore:function(o,c,h){var v=tt,S=jr();if(vt){if(h===void 0)throw Error(r(407));h=h()}else{if(h=c(),Vt===null)throw Error(r(349));(mt&127)!==0||yA(v,c,h)}S.memoizedState=h;var _={value:h,getSnapshot:c};return S.queue=_,RA(bA.bind(null,v,_,o),[o]),v.flags|=2048,fc(9,{destroy:void 0},xA.bind(null,v,_,h,c),null),h},useId:function(){var o=jr(),c=Vt.identifierPrefix;if(vt){var h=ni,v=ti;h=(v&~(1<<32-lr(v)-1)).toString(32)+h,c="_"+c+"R_"+h,h=qm++,0<\/script>",_=_.removeChild(_.firstChild);break;case"select":_=typeof v.is=="string"?P.createElement("select",{is:v.is}):P.createElement("select"),v.multiple?_.multiple=!0:v.size&&(_.size=v.size);break;default:_=typeof v.is=="string"?P.createElement(S,{is:v.is}):P.createElement(S)}}_[Jn]=c,_[Er]=v;e:for(P=c.child;P!==null;){if(P.tag===5||P.tag===6)_.appendChild(P.stateNode);else if(P.tag!==4&&P.tag!==27&&P.child!==null){P.child.return=P,P=P.child;continue}if(P===c)break e;for(;P.sibling===null;){if(P.return===null||P.return===c)break e;P=P.return}P.sibling.return=P.return,P=P.sibling}c.stateNode=_;e:switch(rr(_,S,v),S){case"button":case"input":case"select":case"textarea":v=!!v.autoFocus;break e;case"img":v=!0;break e;default:v=!1}v&&zi(c)}}return cn(c),Fb(c,c.type,o===null?null:o.memoizedProps,c.pendingProps,h),null;case 6:if(o&&c.stateNode!=null)o.memoizedProps!==v&&zi(c);else{if(typeof v!="string"&&c.stateNode===null)throw Error(r(166));if(o=he.current,rc(c)){if(o=c.stateNode,h=c.memoizedProps,v=null,S=er,S!==null)switch(S.tag){case 27:case 5:v=S.memoizedProps}o[Jn]=c,o=!!(o.nodeValue===h||v!==null&&v.suppressHydrationWarning===!0||vk(o.nodeValue,h)),o||Ns(c,!0)}else o=hp(o).createTextNode(v),o[Jn]=c,c.stateNode=o}return cn(c),null;case 31:if(h=c.memoizedState,o===null||o.memoizedState!==null){if(v=rc(c),h!==null){if(o===null){if(!v)throw Error(r(318));if(o=c.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(r(557));o[Jn]=c}else ko(),(c.flags&128)===0&&(c.memoizedState=null),c.flags|=4;cn(c),o=!1}else h=Qx(),o!==null&&o.memoizedState!==null&&(o.memoizedState.hydrationErrors=h),o=!0;if(!o)return c.flags&256?(Yr(c),c):(Yr(c),null);if((c.flags&128)!==0)throw Error(r(558))}return cn(c),null;case 13:if(v=c.memoizedState,o===null||o.memoizedState!==null&&o.memoizedState.dehydrated!==null){if(S=rc(c),v!==null&&v.dehydrated!==null){if(o===null){if(!S)throw Error(r(318));if(S=c.memoizedState,S=S!==null?S.dehydrated:null,!S)throw Error(r(317));S[Jn]=c}else ko(),(c.flags&128)===0&&(c.memoizedState=null),c.flags|=4;cn(c),S=!1}else S=Qx(),o!==null&&o.memoizedState!==null&&(o.memoizedState.hydrationErrors=S),S=!0;if(!S)return c.flags&256?(Yr(c),c):(Yr(c),null)}return Yr(c),(c.flags&128)!==0?(c.lanes=h,c):(h=v!==null,o=o!==null&&o.memoizedState!==null,h&&(v=c.child,S=null,v.alternate!==null&&v.alternate.memoizedState!==null&&v.alternate.memoizedState.cachePool!==null&&(S=v.alternate.memoizedState.cachePool.pool),_=null,v.memoizedState!==null&&v.memoizedState.cachePool!==null&&(_=v.memoizedState.cachePool.pool),_!==S&&(v.flags|=2048)),h!==o&&h&&(c.child.flags|=8192),Qm(c,c.updateQueue),cn(c),null);case 4:return Y(),o===null&&u0(c.stateNode.containerInfo),cn(c),null;case 10:return Di(c.type),cn(c),null;case 19:if(z(Sn),v=c.memoizedState,v===null)return cn(c),null;if(S=(c.flags&128)!==0,_=v.rendering,_===null)if(S)kd(v,!1);else{if(wn!==0||o!==null&&(o.flags&128)!==0)for(o=c.child;o!==null;){if(_=zm(o),_!==null){for(c.flags|=128,kd(v,!1),o=_.updateQueue,c.updateQueue=o,Qm(c,o),c.subtreeFlags=0,o=h,h=c.child;h!==null;)Y2(h,o),h=h.sibling;return K(Sn,Sn.current&1|2),vt&&Pi(c,v.treeForkCount),c.child}o=o.sibling}v.tail!==null&&re()>rp&&(c.flags|=128,S=!0,kd(v,!1),c.lanes=4194304)}else{if(!S)if(o=zm(_),o!==null){if(c.flags|=128,S=!0,o=o.updateQueue,c.updateQueue=o,Qm(c,o),kd(v,!0),v.tail===null&&v.tailMode==="hidden"&&!_.alternate&&!vt)return cn(c),null}else 2*re()-v.renderingStartTime>rp&&h!==536870912&&(c.flags|=128,S=!0,kd(v,!1),c.lanes=4194304);v.isBackwards?(_.sibling=c.child,c.child=_):(o=v.last,o!==null?o.sibling=_:c.child=_,v.last=_)}return v.tail!==null?(o=v.tail,v.rendering=o,v.tail=o.sibling,v.renderingStartTime=re(),o.sibling=null,h=Sn.current,K(Sn,S?h&1|2:h&1),vt&&Pi(c,v.treeForkCount),o):(cn(c),null);case 22:case 23:return Yr(c),db(),v=c.memoizedState!==null,o!==null?o.memoizedState!==null!==v&&(c.flags|=8192):v&&(c.flags|=8192),v?(h&536870912)!==0&&(c.flags&128)===0&&(cn(c),c.subtreeFlags&6&&(c.flags|=8192)):cn(c),h=c.updateQueue,h!==null&&Qm(c,h.retryQueue),h=null,o!==null&&o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(h=o.memoizedState.cachePool.pool),v=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(v=c.memoizedState.cachePool.pool),v!==h&&(c.flags|=2048),o!==null&&z(Ro),null;case 24:return h=null,o!==null&&(h=o.memoizedState.cache),c.memoizedState.cache!==h&&(c.flags|=2048),Di(Nn),cn(c),null;case 25:return null;case 30:return null}throw Error(r(156,c.tag))}function J7(o,c){switch(Xx(c),c.tag){case 1:return o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 3:return Di(Nn),Y(),o=c.flags,(o&65536)!==0&&(o&128)===0?(c.flags=o&-65537|128,c):null;case 26:case 27:case 5:return je(c),null;case 31:if(c.memoizedState!==null){if(Yr(c),c.alternate===null)throw Error(r(340));ko()}return o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 13:if(Yr(c),o=c.memoizedState,o!==null&&o.dehydrated!==null){if(c.alternate===null)throw Error(r(340));ko()}return o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 19:return z(Sn),null;case 4:return Y(),null;case 10:return Di(c.type),null;case 22:case 23:return Yr(c),db(),o!==null&&z(Ro),o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 24:return Di(Nn),null;case 25:return null;default:return null}}function wT(o,c){switch(Xx(c),c.tag){case 3:Di(Nn),Y();break;case 26:case 27:case 5:je(c);break;case 4:Y();break;case 31:c.memoizedState!==null&&Yr(c);break;case 13:Yr(c);break;case 19:z(Sn);break;case 10:Di(c.type);break;case 22:case 23:Yr(c),db(),o!==null&&z(Ro);break;case 24:Di(Nn)}}function Md(o,c){try{var h=c.updateQueue,v=h!==null?h.lastEffect:null;if(v!==null){var S=v.next;h=S;do{if((h.tag&o)===o){v=void 0;var _=h.create,P=h.inst;v=_(),P.destroy=v}h=h.next}while(h!==S)}}catch(B){$t(c,c.return,B)}}function Ms(o,c,h){try{var v=c.updateQueue,S=v!==null?v.lastEffect:null;if(S!==null){var _=S.next;v=_;do{if((v.tag&o)===o){var P=v.inst,B=P.destroy;if(B!==void 0){P.destroy=void 0,S=c;var J=h,ce=B;try{ce()}catch(ve){$t(S,J,ve)}}}v=v.next}while(v!==_)}}catch(ve){$t(c,c.return,ve)}}function jT(o){var c=o.updateQueue;if(c!==null){var h=o.stateNode;try{fA(c,h)}catch(v){$t(o,o.return,v)}}}function ST(o,c,h){h.props=zo(o.type,o.memoizedProps),h.state=o.memoizedState;try{h.componentWillUnmount()}catch(v){$t(o,c,v)}}function Pd(o,c){try{var h=o.ref;if(h!==null){switch(o.tag){case 26:case 27:case 5:var v=o.stateNode;break;case 30:v=o.stateNode;break;default:v=o.stateNode}typeof h=="function"?o.refCleanup=h(v):h.current=v}}catch(S){$t(o,c,S)}}function ri(o,c){var h=o.ref,v=o.refCleanup;if(h!==null)if(typeof v=="function")try{v()}catch(S){$t(o,c,S)}finally{o.refCleanup=null,o=o.alternate,o!=null&&(o.refCleanup=null)}else if(typeof h=="function")try{h(null)}catch(S){$t(o,c,S)}else h.current=null}function _T(o){var c=o.type,h=o.memoizedProps,v=o.stateNode;try{e:switch(c){case"button":case"input":case"select":case"textarea":h.autoFocus&&v.focus();break e;case"img":h.src?v.src=h.src:h.srcSet&&(v.srcset=h.srcSet)}}catch(S){$t(o,o.return,S)}}function Ub(o,c,h){try{var v=o.stateNode;wV(v,o.type,h,c),v[Er]=c}catch(S){$t(o,o.return,S)}}function NT(o){return o.tag===5||o.tag===3||o.tag===26||o.tag===27&&zs(o.type)||o.tag===4}function Hb(o){e:for(;;){for(;o.sibling===null;){if(o.return===null||NT(o.return))return null;o=o.return}for(o.sibling.return=o.return,o=o.sibling;o.tag!==5&&o.tag!==6&&o.tag!==18;){if(o.tag===27&&zs(o.type)||o.flags&2||o.child===null||o.tag===4)continue e;o.child.return=o,o=o.child}if(!(o.flags&2))return o.stateNode}}function Wb(o,c,h){var v=o.tag;if(v===5||v===6)o=o.stateNode,c?(h.nodeType===9?h.body:h.nodeName==="HTML"?h.ownerDocument.body:h).insertBefore(o,c):(c=h.nodeType===9?h.body:h.nodeName==="HTML"?h.ownerDocument.body:h,c.appendChild(o),h=h._reactRootContainer,h!=null||c.onclick!==null||(c.onclick=Ti));else if(v!==4&&(v===27&&zs(o.type)&&(h=o.stateNode,c=null),o=o.child,o!==null))for(Wb(o,c,h),o=o.sibling;o!==null;)Wb(o,c,h),o=o.sibling}function Jm(o,c,h){var v=o.tag;if(v===5||v===6)o=o.stateNode,c?h.insertBefore(o,c):h.appendChild(o);else if(v!==4&&(v===27&&zs(o.type)&&(h=o.stateNode),o=o.child,o!==null))for(Jm(o,c,h),o=o.sibling;o!==null;)Jm(o,c,h),o=o.sibling}function CT(o){var c=o.stateNode,h=o.memoizedProps;try{for(var v=o.type,S=c.attributes;S.length;)c.removeAttributeNode(S[0]);rr(c,v,h),c[Jn]=o,c[Er]=h}catch(_){$t(o,o.return,_)}}var Bi=!1,En=!1,Vb=!1,OT=typeof WeakSet=="function"?WeakSet:Set,Un=null;function eV(o,c){if(o=o.containerInfo,h0=bp,o=z2(o),zx(o)){if("selectionStart"in o)var h={start:o.selectionStart,end:o.selectionEnd};else e:{h=(h=o.ownerDocument)&&h.defaultView||window;var v=h.getSelection&&h.getSelection();if(v&&v.rangeCount!==0){h=v.anchorNode;var S=v.anchorOffset,_=v.focusNode;v=v.focusOffset;try{h.nodeType,_.nodeType}catch{h=null;break e}var P=0,B=-1,J=-1,ce=0,ve=0,xe=o,de=null;t:for(;;){for(var me;xe!==h||S!==0&&xe.nodeType!==3||(B=P+S),xe!==_||v!==0&&xe.nodeType!==3||(J=P+v),xe.nodeType===3&&(P+=xe.nodeValue.length),(me=xe.firstChild)!==null;)de=xe,xe=me;for(;;){if(xe===o)break t;if(de===h&&++ce===S&&(B=P),de===_&&++ve===v&&(J=P),(me=xe.nextSibling)!==null)break;xe=de,de=xe.parentNode}xe=me}h=B===-1||J===-1?null:{start:B,end:J}}else h=null}h=h||{start:0,end:0}}else h=null;for(m0={focusedElem:o,selectionRange:h},bp=!1,Un=c;Un!==null;)if(c=Un,o=c.child,(c.subtreeFlags&1028)!==0&&o!==null)o.return=c,Un=o;else for(;Un!==null;){switch(c=Un,_=c.alternate,o=c.flags,c.tag){case 0:if((o&4)!==0&&(o=c.updateQueue,o=o!==null?o.events:null,o!==null))for(h=0;h title"))),rr(_,v,h),_[Jn]=o,Fn(_),v=_;break e;case"link":var P=Pk("link","href",S).get(v+(h.href||""));if(P){for(var B=0;BFt&&(P=Ft,Ft=Fe,Fe=P);var se=I2(B,Fe),te=I2(B,Ft);if(se&&te&&(me.rangeCount!==1||me.anchorNode!==se.node||me.anchorOffset!==se.offset||me.focusNode!==te.node||me.focusOffset!==te.offset)){var le=xe.createRange();le.setStart(se.node,se.offset),me.removeAllRanges(),Fe>Ft?(me.addRange(le),me.extend(te.node,te.offset)):(le.setEnd(te.node,te.offset),me.addRange(le))}}}}for(xe=[],me=B;me=me.parentNode;)me.nodeType===1&&xe.push({element:me,left:me.scrollLeft,top:me.scrollTop});for(typeof B.focus=="function"&&B.focus(),B=0;Bh?32:h,$.T=null,h=Jb,Jb=null;var _=$s,P=Wi;if(Pn=0,gc=$s=null,Wi=0,(At&6)!==0)throw Error(r(331));var B=At;if(At|=4,LT(_.current),DT(_,_.current,P,h),At=B,zd(0,!1),wr&&typeof wr.onPostCommitFiberRoot=="function")try{wr.onPostCommitFiberRoot(jo,_)}catch{}return!0}finally{I.p=S,$.T=v,nk(o,c)}}function ak(o,c,h){c=pa(h,c),c=Mb(o.stateNode,c,2),o=As(o,c,2),o!==null&&(id(o,2),ai(o))}function $t(o,c,h){if(o.tag===3)ak(o,o,h);else for(;c!==null;){if(c.tag===3){ak(c,o,h);break}else if(c.tag===1){var v=c.stateNode;if(typeof c.type.getDerivedStateFromError=="function"||typeof v.componentDidCatch=="function"&&(Ds===null||!Ds.has(v))){o=pa(h,o),h=iT(2),v=As(c,h,2),v!==null&&(sT(h,v,c,o),id(v,2),ai(v));break}}c=c.return}}function r0(o,c,h){var v=o.pingCache;if(v===null){v=o.pingCache=new rV;var S=new Set;v.set(c,S)}else S=v.get(c),S===void 0&&(S=new Set,v.set(c,S));S.has(h)||(Kb=!0,S.add(h),o=lV.bind(null,o,c,h),c.then(o,o))}function lV(o,c,h){var v=o.pingCache;v!==null&&v.delete(c),o.pingedLanes|=o.suspendedLanes&h,o.warmLanes&=~h,Vt===o&&(mt&h)===h&&(wn===4||wn===3&&(mt&62914560)===mt&&300>re()-np?(At&2)===0&&yc(o,0):Xb|=h,vc===mt&&(vc=0)),ai(o)}function ik(o,c){c===0&&(c=Bl()),o=Ao(o,c),o!==null&&(id(o,c),ai(o))}function cV(o){var c=o.memoizedState,h=0;c!==null&&(h=c.retryLane),ik(o,h)}function uV(o,c){var h=0;switch(o.tag){case 31:case 13:var v=o.stateNode,S=o.memoizedState;S!==null&&(h=S.retryLane);break;case 19:v=o.stateNode;break;case 22:v=o.stateNode._retryCache;break;default:throw Error(r(314))}v!==null&&v.delete(c),ik(o,h)}function dV(o,c){return fn(o,c)}var cp=null,bc=null,a0=!1,up=!1,i0=!1,Ls=0;function ai(o){o!==bc&&o.next===null&&(bc===null?cp=bc=o:bc=bc.next=o),up=!0,a0||(a0=!0,hV())}function zd(o,c){if(!i0&&up){i0=!0;do for(var h=!1,v=cp;v!==null;){if(o!==0){var S=v.pendingLanes;if(S===0)var _=0;else{var P=v.suspendedLanes,B=v.pingedLanes;_=(1<<31-lr(42|o)+1)-1,_&=S&~(P&~B),_=_&201326741?_&201326741|1:_?_|2:0}_!==0&&(h=!0,ck(v,_))}else _=mt,_=zl(v,v===Vt?_:0,v.cancelPendingCommit!==null||v.timeoutHandle!==-1),(_&3)===0||So(v,_)||(h=!0,ck(v,_));v=v.next}while(h);i0=!1}}function fV(){sk()}function sk(){up=a0=!1;var o=0;Ls!==0&&SV()&&(o=Ls);for(var c=re(),h=null,v=cp;v!==null;){var S=v.next,_=ok(v,c);_===0?(v.next=null,h===null?cp=S:h.next=S,S===null&&(bc=h)):(h=v,(o!==0||(_&3)!==0)&&(up=!0)),v=S}Pn!==0&&Pn!==5||zd(o),Ls!==0&&(Ls=0)}function ok(o,c){for(var h=o.suspendedLanes,v=o.pingedLanes,S=o.expirationTimes,_=o.pendingLanes&-62914561;0<_;){var P=31-lr(_),B=1<B)break;var ve=J.transferSize,xe=J.initiatorType;ve&&gk(xe)&&(J=J.responseEnd,P+=ve*(J"u"?null:document;function Ak(o,c,h){var v=wc;if(v&&typeof c=="string"&&c){var S=ha(c);S='link[rel="'+o+'"][href="'+S+'"]',typeof h=="string"&&(S+='[crossorigin="'+h+'"]'),Ek.has(S)||(Ek.add(S),o={rel:o,crossOrigin:h,href:c},v.querySelector(S)===null&&(c=v.createElement("link"),rr(c,"link",o),Fn(c),v.head.appendChild(c)))}}function MV(o){Vi.D(o),Ak("dns-prefetch",o,null)}function PV(o,c){Vi.C(o,c),Ak("preconnect",o,c)}function RV(o,c,h){Vi.L(o,c,h);var v=wc;if(v&&o&&c){var S='link[rel="preload"][as="'+ha(c)+'"]';c==="image"&&h&&h.imageSrcSet?(S+='[imagesrcset="'+ha(h.imageSrcSet)+'"]',typeof h.imageSizes=="string"&&(S+='[imagesizes="'+ha(h.imageSizes)+'"]')):S+='[href="'+ha(o)+'"]';var _=S;switch(c){case"style":_=jc(o);break;case"script":_=Sc(o)}wa.has(_)||(o=p({rel:"preload",href:c==="image"&&h&&h.imageSrcSet?void 0:o,as:c},h),wa.set(_,o),v.querySelector(S)!==null||c==="style"&&v.querySelector(Ud(_))||c==="script"&&v.querySelector(Hd(_))||(c=v.createElement("link"),rr(c,"link",o),Fn(c),v.head.appendChild(c)))}}function DV(o,c){Vi.m(o,c);var h=wc;if(h&&o){var v=c&&typeof c.as=="string"?c.as:"script",S='link[rel="modulepreload"][as="'+ha(v)+'"][href="'+ha(o)+'"]',_=S;switch(v){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":_=Sc(o)}if(!wa.has(_)&&(o=p({rel:"modulepreload",href:o},c),wa.set(_,o),h.querySelector(S)===null)){switch(v){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(h.querySelector(Hd(_)))return}v=h.createElement("link"),rr(v,"link",o),Fn(v),h.head.appendChild(v)}}}function $V(o,c,h){Vi.S(o,c,h);var v=wc;if(v&&o){var S=Hl(v).hoistableStyles,_=jc(o);c=c||"default";var P=S.get(_);if(!P){var B={loading:0,preload:null};if(P=v.querySelector(Ud(_)))B.loading=5;else{o=p({rel:"stylesheet",href:o,"data-precedence":c},h),(h=wa.get(_))&&w0(o,h);var J=P=v.createElement("link");Fn(J),rr(J,"link",o),J._p=new Promise(function(ce,ve){J.onload=ce,J.onerror=ve}),J.addEventListener("load",function(){B.loading|=1}),J.addEventListener("error",function(){B.loading|=2}),B.loading|=4,pp(P,c,v)}P={type:"stylesheet",instance:P,count:1,state:B},S.set(_,P)}}}function IV(o,c){Vi.X(o,c);var h=wc;if(h&&o){var v=Hl(h).hoistableScripts,S=Sc(o),_=v.get(S);_||(_=h.querySelector(Hd(S)),_||(o=p({src:o,async:!0},c),(c=wa.get(S))&&j0(o,c),_=h.createElement("script"),Fn(_),rr(_,"link",o),h.head.appendChild(_)),_={type:"script",instance:_,count:1,state:null},v.set(S,_))}}function LV(o,c){Vi.M(o,c);var h=wc;if(h&&o){var v=Hl(h).hoistableScripts,S=Sc(o),_=v.get(S);_||(_=h.querySelector(Hd(S)),_||(o=p({src:o,async:!0,type:"module"},c),(c=wa.get(S))&&j0(o,c),_=h.createElement("script"),Fn(_),rr(_,"link",o),h.head.appendChild(_)),_={type:"script",instance:_,count:1,state:null},v.set(S,_))}}function Tk(o,c,h,v){var S=(S=he.current)?mp(S):null;if(!S)throw Error(r(446));switch(o){case"meta":case"title":return null;case"style":return typeof h.precedence=="string"&&typeof h.href=="string"?(c=jc(h.href),h=Hl(S).hoistableStyles,v=h.get(c),v||(v={type:"style",instance:null,count:0,state:null},h.set(c,v)),v):{type:"void",instance:null,count:0,state:null};case"link":if(h.rel==="stylesheet"&&typeof h.href=="string"&&typeof h.precedence=="string"){o=jc(h.href);var _=Hl(S).hoistableStyles,P=_.get(o);if(P||(S=S.ownerDocument||S,P={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},_.set(o,P),(_=S.querySelector(Ud(o)))&&!_._p&&(P.instance=_,P.state.loading=5),wa.has(o)||(h={rel:"preload",as:"style",href:h.href,crossOrigin:h.crossOrigin,integrity:h.integrity,media:h.media,hrefLang:h.hrefLang,referrerPolicy:h.referrerPolicy},wa.set(o,h),_||zV(S,o,h,P.state))),c&&v===null)throw Error(r(528,""));return P}if(c&&v!==null)throw Error(r(529,""));return null;case"script":return c=h.async,h=h.src,typeof h=="string"&&c&&typeof c!="function"&&typeof c!="symbol"?(c=Sc(h),h=Hl(S).hoistableScripts,v=h.get(c),v||(v={type:"script",instance:null,count:0,state:null},h.set(c,v)),v):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,o))}}function jc(o){return'href="'+ha(o)+'"'}function Ud(o){return'link[rel="stylesheet"]['+o+"]"}function kk(o){return p({},o,{"data-precedence":o.precedence,precedence:null})}function zV(o,c,h,v){o.querySelector('link[rel="preload"][as="style"]['+c+"]")?v.loading=1:(c=o.createElement("link"),v.preload=c,c.addEventListener("load",function(){return v.loading|=1}),c.addEventListener("error",function(){return v.loading|=2}),rr(c,"link",h),Fn(c),o.head.appendChild(c))}function Sc(o){return'[src="'+ha(o)+'"]'}function Hd(o){return"script[async]"+o}function Mk(o,c,h){if(c.count++,c.instance===null)switch(c.type){case"style":var v=o.querySelector('style[data-href~="'+ha(h.href)+'"]');if(v)return c.instance=v,Fn(v),v;var S=p({},h,{"data-href":h.href,"data-precedence":h.precedence,href:null,precedence:null});return v=(o.ownerDocument||o).createElement("style"),Fn(v),rr(v,"style",S),pp(v,h.precedence,o),c.instance=v;case"stylesheet":S=jc(h.href);var _=o.querySelector(Ud(S));if(_)return c.state.loading|=4,c.instance=_,Fn(_),_;v=kk(h),(S=wa.get(S))&&w0(v,S),_=(o.ownerDocument||o).createElement("link"),Fn(_);var P=_;return P._p=new Promise(function(B,J){P.onload=B,P.onerror=J}),rr(_,"link",v),c.state.loading|=4,pp(_,h.precedence,o),c.instance=_;case"script":return _=Sc(h.src),(S=o.querySelector(Hd(_)))?(c.instance=S,Fn(S),S):(v=h,(S=wa.get(_))&&(v=p({},h),j0(v,S)),o=o.ownerDocument||o,S=o.createElement("script"),Fn(S),rr(S,"link",v),o.head.appendChild(S),c.instance=S);case"void":return null;default:throw Error(r(443,c.type))}else c.type==="stylesheet"&&(c.state.loading&4)===0&&(v=c.instance,c.state.loading|=4,pp(v,h.precedence,o));return c.instance}function pp(o,c,h){for(var v=h.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),S=v.length?v[v.length-1]:null,_=S,P=0;P title"):null)}function BV(o,c,h){if(h===1||c.itemProp!=null)return!1;switch(o){case"meta":case"title":return!0;case"style":if(typeof c.precedence!="string"||typeof c.href!="string"||c.href==="")break;return!0;case"link":if(typeof c.rel!="string"||typeof c.href!="string"||c.href===""||c.onLoad||c.onError)break;switch(c.rel){case"stylesheet":return o=c.disabled,typeof c.precedence=="string"&&o==null;default:return!0}case"script":if(c.async&&typeof c.async!="function"&&typeof c.async!="symbol"&&!c.onLoad&&!c.onError&&c.src&&typeof c.src=="string")return!0}return!1}function Dk(o){return!(o.type==="stylesheet"&&(o.state.loading&3)===0)}function qV(o,c,h,v){if(h.type==="stylesheet"&&(typeof v.media!="string"||matchMedia(v.media).matches!==!1)&&(h.state.loading&4)===0){if(h.instance===null){var S=jc(v.href),_=c.querySelector(Ud(S));if(_){c=_._p,c!==null&&typeof c=="object"&&typeof c.then=="function"&&(o.count++,o=gp.bind(o),c.then(o,o)),h.state.loading|=4,h.instance=_,Fn(_);return}_=c.ownerDocument||c,v=kk(v),(S=wa.get(S))&&w0(v,S),_=_.createElement("link"),Fn(_);var P=_;P._p=new Promise(function(B,J){P.onload=B,P.onerror=J}),rr(_,"link",v),h.instance=_}o.stylesheets===null&&(o.stylesheets=new Map),o.stylesheets.set(h,c),(c=h.state.preload)&&(h.state.loading&3)===0&&(o.count++,h=gp.bind(o),c.addEventListener("load",h),c.addEventListener("error",h))}}var S0=0;function FV(o,c){return o.stylesheets&&o.count===0&&xp(o,o.stylesheets),0S0?50:800)+c);return o.unsuspend=h,function(){o.unsuspend=null,clearTimeout(v),clearTimeout(S)}}:null}function gp(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)xp(this,this.stylesheets);else if(this.unsuspend){var o=this.unsuspend;this.unsuspend=null,o()}}}var yp=null;function xp(o,c){o.stylesheets=null,o.unsuspend!==null&&(o.count++,yp=new Map,c.forEach(UV,o),yp=null,gp.call(o))}function UV(o,c){if(!(c.state.loading&4)){var h=yp.get(o);if(h)var v=h.get(null);else{h=new Map,yp.set(o,h);for(var S=o.querySelectorAll("link[data-precedence],style[data-precedence]"),_=0;_"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),M0.exports=iG(),M0.exports}var oG=sG();const x_=new WeakMap,lG=new WeakMap,yv={current:[]};let $0=!1,Sf=0;const mf=new Set,Ep=new Map;function n5(e){for(const t of e){if(yv.current.includes(t))continue;yv.current.push(t),t.recompute();const n=lG.get(t);if(n)for(const r of n){const a=x_.get(r);a?.length&&n5(a)}}}function cG(e){const t={prevVal:e.prevState,currentVal:e.state};for(const n of e.listeners)n(t)}function uG(e){const t={prevVal:e.prevState,currentVal:e.state};for(const n of e.listeners)n(t)}function r5(e){if(Sf>0&&!Ep.has(e)&&Ep.set(e,e.prevState),mf.add(e),!(Sf>0)&&!$0)try{for($0=!0;mf.size>0;){const t=Array.from(mf);mf.clear();for(const n of t){const r=Ep.get(n)??n.prevState;n.prevState=r,cG(n)}for(const n of t){const r=x_.get(n);r&&(yv.current.push(n),n5(r))}for(const n of t){const r=x_.get(n);if(r)for(const a of r)uG(a)}}}finally{$0=!1,yv.current=[],Ep.clear()}}function _f(e){Sf++;try{e()}finally{if(Sf--,Sf===0){const t=mf.values().next().value;t&&r5(t)}}}function dG(e){return typeof e=="function"}class fG{constructor(t,n){this.listeners=new Set,this.subscribe=r=>{var a,s;this.listeners.add(r);const l=(s=(a=this.options)==null?void 0:a.onSubscribe)==null?void 0:s.call(a,r,this);return()=>{this.listeners.delete(r),l?.()}},this.prevState=t,this.state=t,this.options=n}setState(t){var n,r,a;this.prevState=this.state,(n=this.options)!=null&&n.updateFn?this.state=this.options.updateFn(this.prevState)(t):dG(t)?this.state=t(this.prevState):this.state=t,(a=(r=this.options)==null?void 0:r.onUpdate)==null||a.call(r),r5(this)}}const Js="__TSR_index",iM="popstate",sM="beforeunload";function hG(e){let t=e.getLocation();const n=new Set,r=l=>{t=e.getLocation(),n.forEach(u=>u({location:t,action:l}))},a=l=>{e.notifyOnIndexChange??!0?r(l):t=e.getLocation()},s=async({task:l,navigateOpts:u,...d})=>{if(u?.ignoreBlocker??!1){l();return}const m=e.getBlockers?.()??[],p=d.type==="PUSH"||d.type==="REPLACE";if(typeof document<"u"&&m.length&&p)for(const g of m){const x=xv(d.path,d.state);if(await g.blockerFn({currentLocation:t,nextLocation:x,action:d.type})){e.onBlocked?.();return}}l()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:l=>(n.add(l),()=>{n.delete(l)}),push:(l,u,d)=>{const f=t.state[Js];u=oM(f+1,u),s({task:()=>{e.pushState(l,u),r({type:"PUSH"})},navigateOpts:d,type:"PUSH",path:l,state:u})},replace:(l,u,d)=>{const f=t.state[Js];u=oM(f,u),s({task:()=>{e.replaceState(l,u),r({type:"REPLACE"})},navigateOpts:d,type:"REPLACE",path:l,state:u})},go:(l,u)=>{s({task:()=>{e.go(l),a({type:"GO",index:l})},navigateOpts:u,type:"GO"})},back:l=>{s({task:()=>{e.back(l?.ignoreBlocker??!1),a({type:"BACK"})},navigateOpts:l,type:"BACK"})},forward:l=>{s({task:()=>{e.forward(l?.ignoreBlocker??!1),a({type:"FORWARD"})},navigateOpts:l,type:"FORWARD"})},canGoBack:()=>t.state[Js]!==0,createHref:l=>e.createHref(l),block:l=>{if(!e.setBlockers)return()=>{};const u=e.getBlockers?.()??[];return e.setBlockers([...u,l]),()=>{const d=e.getBlockers?.()??[];e.setBlockers?.(d.filter(f=>f!==l))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r}}function oM(e,t){t||(t={});const n=kC();return{...t,key:n,__TSR_key:n,[Js]:e}}function mG(e){const t=typeof document<"u"?window:void 0,n=t.history.pushState,r=t.history.replaceState;let a=[];const s=()=>a,l=M=>a=M,u=(M=>M),d=(()=>xv(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){const M=kC();t.history.replaceState({[Js]:0,key:M,__TSR_key:M},"")}let f=d(),m,p=!1,g=!1,x=!1,j=!1;const w=()=>f;let b,N;const E=()=>{b&&(T._ignoreSubscribers=!0,(b.isPush?t.history.pushState:t.history.replaceState)(b.state,"",b.href),T._ignoreSubscribers=!1,b=void 0,N=void 0,m=void 0)},O=(M,R,L)=>{const D=u(R);N||(m=f),f=xv(R,L),b={href:D,state:L,isPush:b?.isPush||M==="push"},N||(N=Promise.resolve().then(()=>E()))},A=M=>{f=d(),T.notify({type:M})},C=async()=>{if(g){g=!1;return}const M=d(),R=M.state[Js]-f.state[Js],L=R===1,D=R===-1,U=!L&&!D||p;p=!1;const V=U?"GO":D?"BACK":"FORWARD",H=U?{type:"GO",index:R}:{type:D?"BACK":"FORWARD"};if(x)x=!1;else{const G=s();if(typeof document<"u"&&G.length){for(const $ of G)if(await $.blockerFn({currentLocation:f,nextLocation:M,action:V})){g=!0,t.history.go(1),T.notify(H);return}}}f=d(),T.notify(H)},k=M=>{if(j){j=!1;return}let R=!1;const L=s();if(typeof document<"u"&&L.length)for(const D of L){const U=D.enableBeforeUnload??!0;if(U===!0){R=!0;break}if(typeof U=="function"&&U()===!0){R=!0;break}}if(R)return M.preventDefault(),M.returnValue=""},T=hG({getLocation:w,getLength:()=>t.history.length,pushState:(M,R)=>O("push",M,R),replaceState:(M,R)=>O("replace",M,R),back:M=>(M&&(x=!0),j=!0,t.history.back()),forward:M=>{M&&(x=!0),j=!0,t.history.forward()},go:M=>{p=!0,t.history.go(M)},createHref:M=>u(M),flush:E,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(sM,k,{capture:!0}),t.removeEventListener(iM,C)},onBlocked:()=>{m&&f!==m&&(f=m)},getBlockers:s,setBlockers:l,notifyOnIndexChange:!1});return t.addEventListener(sM,k,{capture:!0}),t.addEventListener(iM,C),t.history.pushState=function(...M){const R=n.apply(t.history,M);return T._ignoreSubscribers||A("PUSH"),R},t.history.replaceState=function(...M){const R=r.apply(t.history,M);return T._ignoreSubscribers||A("REPLACE"),R},T}function xv(e,t){const n=e.indexOf("#"),r=e.indexOf("?"),a=kC();return{href:e,pathname:e.substring(0,n>0?r>0?Math.min(n,r):n:r>0?r:e.length),hash:n>-1?e.substring(n):"",search:r>-1?e.slice(r,n===-1?void 0:n):"",state:t||{[Js]:0,key:a,__TSR_key:a}}}function kC(){return(Math.random()+1).toString(36).substring(7)}function b_(e){return e[e.length-1]}function pG(e){return typeof e=="function"}function nl(e,t){return pG(e)?e(t):e}const vG=Object.prototype.hasOwnProperty;function Ca(e,t){if(e===t)return e;const n=t,r=uM(e)&&uM(n);if(!r&&!(bv(e)&&bv(n)))return n;const a=r?e:lM(e);if(!a)return n;const s=r?n:lM(n);if(!s)return n;const l=a.length,u=s.length,d=r?new Array(u):{};let f=0;for(let m=0;m"u")return!0;const n=t.prototype;return!(!cM(n)||!n.hasOwnProperty("isPrototypeOf"))}function cM(e){return Object.prototype.toString.call(e)==="[object Object]"}function uM(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function rl(e,t,n){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let r=0,a=e.length;ra||!rl(e[l],t[l],n)))return!1;return a===s}return!1}function nu(e){let t,n;const r=new Promise((a,s)=>{t=a,n=s});return r.status="pending",r.resolve=a=>{r.status="resolved",r.value=a,t(a),e?.(a)},r.reject=a=>{r.status="rejected",n(a)},r}function eo(e){return!!(e&&typeof e=="object"&&typeof e.then=="function")}const gG=Array.from(new Map([["%","%25"],["\\","%5C"]]).values());function dM(e,t=gG){function n(a,s,l=0){for(let u=l;u{try{return decodeURI(u)}catch{return u}})}}if(e===""||!/%[0-9A-Fa-f]{2}/g.test(e))return e;const r=e.replaceAll(/%[0-9a-f]{2}/g,a=>a.toUpperCase());return n(r,t)}var yG="Invariant failed";function vr(e,t){if(!e)throw new Error(yG)}const vi=0,dl=1,ru=2,au=3;function rs(e){return MC(e.filter(t=>t!==void 0).join("/"))}function MC(e){return e.replace(/\/{2,}/g,"/")}function PC(e){return e==="/"?e:e.replace(/^\/{1,}/,"")}function to(e){return e==="/"?e:e.replace(/\/{1,}$/,"")}function sv(e){return to(PC(e))}function wv(e,t){return e?.endsWith("/")&&e!=="/"&&e!==`${t}/`?e.slice(0,-1):e}function xG(e,t,n){return wv(e,n)===wv(t,n)}function bG(e){const{type:t,value:n}=e;if(t===vi)return n;const{prefixSegment:r,suffixSegment:a}=e;if(t===dl){const s=n.substring(1);if(r&&a)return`${r}{$${s}}${a}`;if(r)return`${r}{$${s}}`;if(a)return`{$${s}}${a}`}if(t===au){const s=n.substring(1);return r&&a?`${r}{-$${s}}${a}`:r?`${r}{-$${s}}`:a?`{-$${s}}${a}`:`{-$${s}}`}if(t===ru){if(r&&a)return`${r}{$}${a}`;if(r)return`${r}{$}`;if(a)return`{$}${a}`}return n}function wG({base:e,to:t,trailingSlash:n="never",parseCache:r}){let a=iu(e,r).slice();const s=iu(t,r);a.length>1&&b_(a)?.value==="/"&&a.pop();for(let d=0,f=s.length;d1&&(b_(a).value==="/"?n==="never"&&a.pop():n==="always"&&a.push({type:vi,value:"/"}));const l=a.map(bG);return rs(l)}const iu=(e,t)=>{if(!e)return[];const n=t?.get(e);if(n)return n;const r=OG(e);return t?.set(e,r),r},jG=/^\$.{1,}$/,SG=/^(.*?)\{(\$[a-zA-Z_$][a-zA-Z0-9_$]*)\}(.*)$/,_G=/^(.*?)\{-(\$[a-zA-Z_$][a-zA-Z0-9_$]*)\}(.*)$/,NG=/^\$$/,CG=/^(.*?)\{\$\}(.*)$/;function OG(e){e=MC(e);const t=[];if(e.slice(0,1)==="/"&&(e=e.substring(1),t.push({type:vi,value:"/"})),!e)return t;const n=e.split("/").filter(Boolean);return t.push(...n.map(r=>{const a=r.match(CG);if(a){const u=a[1],d=a[2];return{type:ru,value:"$",prefixSegment:u||void 0,suffixSegment:d||void 0}}const s=r.match(_G);if(s){const u=s[1],d=s[2],f=s[3];return{type:au,value:d,prefixSegment:u||void 0,suffixSegment:f||void 0}}const l=r.match(SG);if(l){const u=l[1],d=l[2],f=l[3];return{type:dl,value:""+d,prefixSegment:u||void 0,suffixSegment:f||void 0}}if(jG.test(r)){const u=r.substring(1);return{type:dl,value:"$"+u,prefixSegment:void 0,suffixSegment:void 0}}return NG.test(r)?{type:ru,value:"$",prefixSegment:void 0,suffixSegment:void 0}:{type:vi,value:r}})),e.slice(-1)==="/"&&(e=e.substring(1),t.push({type:vi,value:"/"})),t}function I0({path:e,params:t,decodeCharMap:n,parseCache:r}){const a=iu(e,r);function s(f){const m=t[f],p=typeof m=="string";return f==="*"||f==="_splat"?p?encodeURI(m):m:p?EG(m,n):m}let l=!1;const u={},d=rs(a.map(f=>{if(f.type===vi)return f.value;if(f.type===ru){u._splat=t._splat,u["*"]=t._splat;const m=f.prefixSegment||"",p=f.suffixSegment||"";if(!t._splat)return l=!0,m||p?`${m}${p}`:void 0;const g=s("_splat");return`${m}${g}${p}`}if(f.type===dl){const m=f.value.substring(1);!l&&!(m in t)&&(l=!0),u[m]=t[m];const p=f.prefixSegment||"",g=f.suffixSegment||"";return`${p}${s(m)??"undefined"}${g}`}if(f.type===au){const m=f.value.substring(1),p=f.prefixSegment||"",g=f.suffixSegment||"";return!(m in t)||t[m]==null?p||g?`${p}${g}`:void 0:(u[m]=t[m],`${p}${s(m)??""}${g}`)}return f.value}));return{usedParams:u,interpolatedPath:d,isMissingParams:l}}function EG(e,t){let n=encodeURIComponent(e);if(t)for(const[r,a]of t)n=n.replaceAll(r,a);return n}function w_(e,t,n){const r=AG(e,t,n);if(!(t.to&&!r))return r??{}}function AG(e,{to:t,fuzzy:n,caseSensitive:r},a){const s=t,l=iu(e.startsWith("/")?e:`/${e}`,a),u=iu(s.startsWith("/")?s:`/${s}`,a),d={};return TG(l,u,d,n,r)?d:void 0}function TG(e,t,n,r,a){let s=0,l=0;for(;sw.value)));p&&j.startsWith(p)&&(j=j.slice(p.length)),g&&j.endsWith(g)&&(j=j.slice(0,j.length-g.length)),m=j}else m=decodeURI(rs(f.map(p=>p.value)));return n["*"]=m,n._splat=m,!0}if(d.type===vi){if(d.value==="/"&&!u?.value){l++;continue}if(u){if(a){if(d.value!==u.value)return!1}else if(d.value.toLowerCase()!==u.value.toLowerCase())return!1;s++,l++;continue}else return!1}if(d.type===dl){if(!u||u.value==="/")return!1;let f="",m=!1;if(d.prefixSegment||d.suffixSegment){const p=d.prefixSegment||"",g=d.suffixSegment||"",x=u.value;if(p&&!x.startsWith(p)||g&&!x.endsWith(g))return!1;let j=x;p&&j.startsWith(p)&&(j=j.slice(p.length)),g&&j.endsWith(g)&&(j=j.slice(0,j.length-g.length)),f=decodeURIComponent(j),m=!0}else f=decodeURIComponent(u.value),m=!0;m&&(n[d.value.substring(1)]=f,s++),l++;continue}if(d.type===au){if(!u){l++;continue}if(u.value==="/"){l++;continue}let f="",m=!1;if(d.prefixSegment||d.suffixSegment){const p=d.prefixSegment||"",g=d.suffixSegment||"",x=u.value;if((!p||x.startsWith(p))&&(!g||x.endsWith(g))){let j=x;p&&j.startsWith(p)&&(j=j.slice(p.length)),g&&j.endsWith(g)&&(j=j.slice(0,j.length-g.length)),f=decodeURIComponent(j),m=!0}}else{let p=!0;for(let g=l+1;g=t.length)return n["**"]=rs(e.slice(s).map(f=>f.value)),!!r&&t[t.length-1]?.value!=="/";if(l=e.length){for(let f=l;f{if(r.isRoot||!r.path)return;const s=PC(r.fullPath);let l=iu(s),u=0;for(;l.length>u+1&&l[u]?.value==="/";)u++;u>0&&(l=l.slice(u));let d=0,f=!1;const m=l.map((p,g)=>{if(p.value==="/")return kG;if(p.type===vi)return MG;let x;p.type===dl?x=PG:p.type===au?(x=RG,d++):x=DG;for(let j=g+1;j{const s=Math.min(r.scores.length,a.scores.length);for(let l=0;la.parsed[l].value?1:-1;return r.index-a.index}).map((r,a)=>(r.child.rank=a,r.child))}function qG({routeTree:e,initRoute:t}){const n={},r={},a=l=>{l.forEach((u,d)=>{t?.(u,d);const f=n[u.id];if(vr(!f,`Duplicate routes found with id: ${String(u.id)}`),n[u.id]=u,!u.isRoot&&u.path){const p=to(u.fullPath);(!r[p]||u.fullPath.endsWith("/"))&&(r[p]=u)}const m=u.children;m?.length&&a(m)})};a([e]);const s=BG(Object.values(n));return{routesById:n,routesByPath:r,flatRoutes:s}}function Ga(e){return!!e?.isNotFound}function FG(){try{if(typeof window<"u"&&typeof window.sessionStorage=="object")return window.sessionStorage}catch{}}const jv="tsr-scroll-restoration-v1_3",UG=(e,t)=>{let n;return(...r)=>{n||(n=setTimeout(()=>{e(...r),n=null},t))}};function HG(){const e=FG();if(!e)return null;const t=e.getItem(jv);let n=t?JSON.parse(t):{};return{state:n,set:r=>(n=nl(r,n)||n,e.setItem(jv,JSON.stringify(n)))}}const Ap=HG(),j_=e=>e.state.__TSR_key||e.href;function WG(e){const t=[];let n;for(;n=e.parentNode;)t.push(`${e.tagName}:nth-child(${Array.prototype.indexOf.call(n.children,e)+1})`),e=n;return`${t.reverse().join(" > ")}`.toLowerCase()}let Sv=!1;function a5({storageKey:e,key:t,behavior:n,shouldScrollRestoration:r,scrollToTopSelectors:a,location:s}){let l;try{l=JSON.parse(sessionStorage.getItem(e)||"{}")}catch(f){console.error(f);return}const u=t||window.history.state?.__TSR_key,d=l[u];Sv=!0;e:{if(r&&d&&Object.keys(d).length>0){for(const p in d){const g=d[p];if(p==="window")window.scrollTo({top:g.scrollY,left:g.scrollX,behavior:n});else if(p){const x=document.querySelector(p);x&&(x.scrollLeft=g.scrollX,x.scrollTop=g.scrollY)}}break e}const f=(s??window.location).hash.split("#",2)[1];if(f){const p=window.history.state?.__hashScrollIntoViewOptions??!0;if(p){const g=document.getElementById(f);g&&g.scrollIntoView(p)}break e}const m={top:0,left:0,behavior:n};if(window.scrollTo(m),a)for(const p of a){if(p==="window")continue;const g=typeof p=="function"?p():document.querySelector(p);g&&g.scrollTo(m)}}Sv=!1}function VG(e,t){if(!Ap&&!e.isServer||((e.options.scrollRestoration??!1)&&(e.isScrollRestoring=!0),e.isServer||e.isScrollRestorationSetup||!Ap))return;e.isScrollRestorationSetup=!0,Sv=!1;const r=e.options.getScrollRestorationKey||j_;window.history.scrollRestoration="manual";const a=s=>{if(Sv||!e.isScrollRestoring)return;let l="";if(s.target===document||s.target===window)l="window";else{const d=s.target.getAttribute("data-scroll-restoration-id");d?l=`[data-scroll-restoration-id="${d}"]`:l=WG(s.target)}const u=r(e.state.location);Ap.set(d=>{const f=d[u]||={},m=f[l]||={};if(l==="window")m.scrollX=window.scrollX||0,m.scrollY=window.scrollY||0;else if(l){const p=document.querySelector(l);p&&(m.scrollX=p.scrollLeft||0,m.scrollY=p.scrollTop||0)}return d})};typeof document<"u"&&document.addEventListener("scroll",UG(a,100),!0),e.subscribe("onRendered",s=>{const l=r(s.toLocation);if(!e.resetNextScroll){e.resetNextScroll=!0;return}typeof e.options.scrollRestoration=="function"&&!e.options.scrollRestoration({location:e.latestLocation})||(a5({storageKey:jv,key:l,behavior:e.options.scrollRestorationBehavior,shouldScrollRestoration:e.isScrollRestoring,scrollToTopSelectors:e.options.scrollToTopSelectors,location:e.history.location}),e.isScrollRestoring&&Ap.set(u=>(u[l]||={},u)))})}function GG(e){if(typeof document<"u"&&document.querySelector){const t=e.state.location.state.__hashScrollIntoViewOptions??!0;if(t&&e.state.location.hash!==""){const n=document.getElementById(e.state.location.hash);n&&n.scrollIntoView(t)}}}function YG(e,t=String){const n=new URLSearchParams;for(const r in e){const a=e[r];a!==void 0&&n.set(r,t(a))}return n.toString()}function L0(e){return e?e==="false"?!1:e==="true"?!0:+e*0===0&&+e+""===e?+e:e:""}function KG(e){const t=new URLSearchParams(e),n={};for(const[r,a]of t.entries()){const s=n[r];s==null?n[r]=L0(a):Array.isArray(s)?s.push(L0(a)):n[r]=[s,L0(a)]}return n}const XG=QG(JSON.parse),ZG=JG(JSON.stringify,JSON.parse);function QG(e){return t=>{t[0]==="?"&&(t=t.substring(1));const n=KG(t);for(const r in n){const a=n[r];if(typeof a=="string")try{n[r]=e(a)}catch{}}return n}}function JG(e,t){const n=typeof t=="function";function r(a){if(typeof a=="object"&&a!==null)try{return e(a)}catch{}else if(n&&typeof a=="string")try{return t(a),e(a)}catch{}return a}return a=>{const s=YG(a,r);return s?`?${s}`:""}}const na="__root__";function i5(e){if(e.statusCode=e.statusCode||e.code||307,!e.reloadDocument&&typeof e.href=="string")try{new URL(e.href),e.reloadDocument=!0}catch{}const t=new Headers(e.headers);e.href&&t.get("Location")===null&&t.set("Location",e.href);const n=new Response(null,{status:e.statusCode,headers:t});if(n.options=e,e.throw)throw n;return n}function di(e){return e instanceof Response&&!!e.options}function eY(e){const t=new Map;let n,r;const a=s=>{s.next&&(s.prev?(s.prev.next=s.next,s.next.prev=s.prev,s.next=void 0,r&&(r.next=s,s.prev=r)):(s.next.prev=void 0,n=s.next,s.next=void 0,r&&(s.prev=r,r.next=s)),r=s)};return{get(s){const l=t.get(s);if(l)return a(l),l.value},set(s,l){if(t.size>=e&&n){const d=n;t.delete(d.key),d.next&&(n=d.next,d.next.prev=void 0),d===r&&(r=void 0)}const u=t.get(s);if(u)u.value=l,a(u);else{const d={key:s,value:l,prev:r};r&&(r.next=d),r=d,n||(n=d),t.set(s,d)}}}}const ov=e=>{if(!e.rendered)return e.rendered=!0,e.onReady?.()},Fg=(e,t)=>!!(e.preload&&!e.router.state.matches.some(n=>n.id===t)),s5=(e,t)=>{const n=e.router.routesById[t.routeId??""]??e.router.routeTree;!n.options.notFoundComponent&&e.router.options?.defaultNotFoundComponent&&(n.options.notFoundComponent=e.router.options.defaultNotFoundComponent),vr(n.options.notFoundComponent);const r=e.matches.find(a=>a.routeId===n.id);vr(r,"Could not find match for route: "+n.id),e.updateMatch(r.id,a=>({...a,status:"notFound",error:t,isFetching:!1})),t.routerCode==="BEFORE_LOAD"&&n.parentRoute&&(t.routeId=n.parentRoute.id,s5(e,t))},Xs=(e,t,n)=>{if(!(!di(n)&&!Ga(n))){if(di(n)&&n.redirectHandled&&!n.options.reloadDocument)throw n;if(t){t._nonReactive.beforeLoadPromise?.resolve(),t._nonReactive.loaderPromise?.resolve(),t._nonReactive.beforeLoadPromise=void 0,t._nonReactive.loaderPromise=void 0;const r=di(n)?"redirected":"notFound";t._nonReactive.error=n,e.updateMatch(t.id,a=>({...a,status:r,isFetching:!1,error:n})),Ga(n)&&!n.routeId&&(n.routeId=t.routeId),t._nonReactive.loadPromise?.resolve()}throw di(n)?(e.rendered=!0,n.options._fromLocation=e.location,n.redirectHandled=!0,n=e.router.resolveRedirect(n),n):(s5(e,n),n)}},o5=(e,t)=>{const n=e.router.getMatch(t);return!!(!e.router.isServer&&n._nonReactive.dehydrated||e.router.isServer&&n.ssr===!1)},Zd=(e,t,n,r)=>{const{id:a,routeId:s}=e.matches[t],l=e.router.looseRoutesById[s];if(n instanceof Promise)throw n;n.routerCode=r,e.firstBadMatchIndex??=t,Xs(e,e.router.getMatch(a),n);try{l.options.onError?.(n)}catch(u){n=u,Xs(e,e.router.getMatch(a),n)}e.updateMatch(a,u=>(u._nonReactive.beforeLoadPromise?.resolve(),u._nonReactive.beforeLoadPromise=void 0,u._nonReactive.loadPromise?.resolve(),{...u,error:n,status:"error",isFetching:!1,updatedAt:Date.now(),abortController:new AbortController}))},tY=(e,t,n,r)=>{const a=e.router.getMatch(t),s=e.matches[n-1]?.id,l=s?e.router.getMatch(s):void 0;if(e.router.isShell()){a.ssr=r.id===na;return}if(l?.ssr===!1){a.ssr=!1;return}const u=x=>x===!0&&l?.ssr==="data-only"?"data-only":x,d=e.router.options.defaultSsr??!0;if(r.options.ssr===void 0){a.ssr=u(d);return}if(typeof r.options.ssr!="function"){a.ssr=u(r.options.ssr);return}const{search:f,params:m}=a,p={search:Tp(f,a.searchError),params:Tp(m,a.paramsError),location:e.location,matches:e.matches.map(x=>({index:x.index,pathname:x.pathname,fullPath:x.fullPath,staticData:x.staticData,id:x.id,routeId:x.routeId,search:Tp(x.search,x.searchError),params:Tp(x.params,x.paramsError),ssr:x.ssr}))},g=r.options.ssr(p);if(eo(g))return g.then(x=>{a.ssr=u(x??d)});a.ssr=u(g??d)},l5=(e,t,n,r)=>{if(r._nonReactive.pendingTimeout!==void 0)return;const a=n.options.pendingMs??e.router.options.defaultPendingMs;if(!!(e.onReady&&!e.router.isServer&&!Fg(e,t)&&(n.options.loader||n.options.beforeLoad||d5(n))&&typeof a=="number"&&a!==1/0&&(n.options.pendingComponent??e.router.options?.defaultPendingComponent))){const l=setTimeout(()=>{ov(e)},a);r._nonReactive.pendingTimeout=l}},nY=(e,t,n)=>{const r=e.router.getMatch(t);if(!r._nonReactive.beforeLoadPromise&&!r._nonReactive.loaderPromise)return;l5(e,t,n,r);const a=()=>{const s=e.router.getMatch(t);s.preload&&(s.status==="redirected"||s.status==="notFound")&&Xs(e,s,s.error)};return r._nonReactive.beforeLoadPromise?r._nonReactive.beforeLoadPromise.then(a):a()},rY=(e,t,n,r)=>{const a=e.router.getMatch(t),s=a._nonReactive.loadPromise;a._nonReactive.loadPromise=nu(()=>{s?.resolve()});const{paramsError:l,searchError:u}=a;l&&Zd(e,n,l,"PARSE_PARAMS"),u&&Zd(e,n,u,"VALIDATE_SEARCH"),l5(e,t,r,a);const d=new AbortController,f=e.matches[n-1]?.id,g={...(f?e.router.getMatch(f):void 0)?.context??e.router.options.context??void 0,...a.__routeContext};let x=!1;const j=()=>{x||(x=!0,e.updateMatch(t,T=>({...T,isFetching:"beforeLoad",fetchCount:T.fetchCount+1,abortController:d,context:g})))},w=()=>{a._nonReactive.beforeLoadPromise?.resolve(),a._nonReactive.beforeLoadPromise=void 0,e.updateMatch(t,T=>({...T,isFetching:!1}))};if(!r.options.beforeLoad){_f(()=>{j(),w()});return}a._nonReactive.beforeLoadPromise=nu();const{search:b,params:N,cause:E}=a,O=Fg(e,t),A={search:b,abortController:d,params:N,preload:O,context:g,location:e.location,navigate:T=>e.router.navigate({...T,_fromLocation:e.location}),buildLocation:e.router.buildLocation,cause:O?"preload":E,matches:e.matches,...e.router.options.additionalContext},C=T=>{if(T===void 0){_f(()=>{j(),w()});return}(di(T)||Ga(T))&&(j(),Zd(e,n,T,"BEFORE_LOAD")),_f(()=>{j(),e.updateMatch(t,M=>({...M,__beforeLoadContext:T,context:{...M.context,...T}})),w()})};let k;try{if(k=r.options.beforeLoad(A),eo(k))return j(),k.catch(T=>{Zd(e,n,T,"BEFORE_LOAD")}).then(C)}catch(T){j(),Zd(e,n,T,"BEFORE_LOAD")}C(k)},aY=(e,t)=>{const{id:n,routeId:r}=e.matches[t],a=e.router.looseRoutesById[r],s=()=>{if(e.router.isServer){const d=tY(e,n,t,a);if(eo(d))return d.then(u)}return u()},l=()=>rY(e,n,t,a),u=()=>{if(o5(e,n))return;const d=nY(e,n,a);return eo(d)?d.then(l):l()};return s()},Nf=(e,t,n)=>{const r=e.router.getMatch(t);if(!r||!n.options.head&&!n.options.scripts&&!n.options.headers)return;const a={matches:e.matches,match:r,params:r.params,loaderData:r.loaderData};return Promise.all([n.options.head?.(a),n.options.scripts?.(a),n.options.headers?.(a)]).then(([s,l,u])=>{const d=s?.meta,f=s?.links,m=s?.scripts,p=s?.styles;return{meta:d,links:f,headScripts:m,headers:u,scripts:l,styles:p}})},c5=(e,t,n,r)=>{const a=e.matchPromises[n-1],{params:s,loaderDeps:l,abortController:u,cause:d}=e.router.getMatch(t);let f=e.router.options.context??{};for(let p=0;p<=n;p++){const g=e.matches[p];if(!g)continue;const x=e.router.getMatch(g.id);x&&(f={...f,...x.__routeContext??{},...x.__beforeLoadContext??{}})}const m=Fg(e,t);return{params:s,deps:l,preload:!!m,parentMatchPromise:a,abortController:u,context:f,location:e.location,navigate:p=>e.router.navigate({...p,_fromLocation:e.location}),cause:m?"preload":d,route:r,...e.router.options.additionalContext}},pM=async(e,t,n,r)=>{try{const a=e.router.getMatch(t);try{(!e.router.isServer||a.ssr===!0)&&u5(r);const s=r.options.loader?.(c5(e,t,n,r)),l=r.options.loader&&eo(s);if(!!(l||r._lazyPromise||r._componentsPromise||r.options.head||r.options.scripts||r.options.headers||a._nonReactive.minPendingPromise)&&e.updateMatch(t,p=>({...p,isFetching:"loader"})),r.options.loader){const p=l?await s:s;Xs(e,e.router.getMatch(t),p),p!==void 0&&e.updateMatch(t,g=>({...g,loaderData:p}))}r._lazyPromise&&await r._lazyPromise;const d=Nf(e,t,r),f=d?await d:void 0,m=a._nonReactive.minPendingPromise;m&&await m,r._componentsPromise&&await r._componentsPromise,e.updateMatch(t,p=>({...p,error:void 0,status:"success",isFetching:!1,updatedAt:Date.now(),...f}))}catch(s){let l=s;const u=a._nonReactive.minPendingPromise;u&&await u,Ga(s)&&await r.options.notFoundComponent?.preload?.(),Xs(e,e.router.getMatch(t),s);try{r.options.onError?.(s)}catch(m){l=m,Xs(e,e.router.getMatch(t),m)}const d=Nf(e,t,r),f=d?await d:void 0;e.updateMatch(t,m=>({...m,error:l,status:"error",isFetching:!1,...f}))}}catch(a){const s=e.router.getMatch(t);if(s){const l=Nf(e,t,r);if(l){const u=await l;e.updateMatch(t,d=>({...d,...u}))}s._nonReactive.loaderPromise=void 0}Xs(e,s,a)}},iY=async(e,t)=>{const{id:n,routeId:r}=e.matches[t];let a=!1,s=!1;const l=e.router.looseRoutesById[r];if(o5(e,n)){if(e.router.isServer){const f=Nf(e,n,l);if(f){const m=await f;e.updateMatch(n,p=>({...p,...m}))}return e.router.getMatch(n)}}else{const f=e.router.getMatch(n);if(f._nonReactive.loaderPromise){if(f.status==="success"&&!e.sync&&!f.preload)return f;await f._nonReactive.loaderPromise;const m=e.router.getMatch(n),p=m._nonReactive.error||m.error;p&&Xs(e,m,p)}else{const m=Date.now()-f.updatedAt,p=Fg(e,n),g=p?l.options.preloadStaleTime??e.router.options.defaultPreloadStaleTime??3e4:l.options.staleTime??e.router.options.defaultStaleTime??0,x=l.options.shouldReload,j=typeof x=="function"?x(c5(e,n,t,l)):x,w=!!p&&!e.router.state.matches.some(O=>O.id===n),b=e.router.getMatch(n);b._nonReactive.loaderPromise=nu(),w!==b.preload&&e.updateMatch(n,O=>({...O,preload:w}));const{status:N,invalid:E}=b;if(a=N==="success"&&(E||(j??m>g)),!(p&&l.options.preload===!1))if(a&&!e.sync)s=!0,(async()=>{try{await pM(e,n,t,l);const O=e.router.getMatch(n);O._nonReactive.loaderPromise?.resolve(),O._nonReactive.loadPromise?.resolve(),O._nonReactive.loaderPromise=void 0}catch(O){di(O)&&await e.router.navigate(O.options)}})();else if(N!=="success"||a&&e.sync)await pM(e,n,t,l);else{const O=Nf(e,n,l);if(O){const A=await O;e.updateMatch(n,C=>({...C,...A}))}}}}const u=e.router.getMatch(n);s||(u._nonReactive.loaderPromise?.resolve(),u._nonReactive.loadPromise?.resolve()),clearTimeout(u._nonReactive.pendingTimeout),u._nonReactive.pendingTimeout=void 0,s||(u._nonReactive.loaderPromise=void 0),u._nonReactive.dehydrated=void 0;const d=s?u.isFetching:!1;return d!==u.isFetching||u.invalid!==!1?(e.updateMatch(n,f=>({...f,isFetching:d,invalid:!1})),e.router.getMatch(n)):u};async function vM(e){const t=Object.assign(e,{matchPromises:[]});!t.router.isServer&&t.router.state.matches.some(n=>n._forcePending)&&ov(t);try{for(let a=0;a{const{id:n,...r}=t.options;Object.assign(e.options,r),e._lazyLoaded=!0,e._lazyPromise=void 0}):e._lazyLoaded=!0),!e._componentsLoaded&&e._componentsPromise===void 0){const t=()=>{const n=[];for(const r of f5){const a=e.options[r]?.preload;a&&n.push(a())}if(n.length)return Promise.all(n).then(()=>{e._componentsLoaded=!0,e._componentsPromise=void 0});e._componentsLoaded=!0,e._componentsPromise=void 0};e._componentsPromise=e._lazyPromise?e._lazyPromise.then(t):t()}return e._componentsPromise}function Tp(e,t){return t?{status:"error",error:t}:{status:"success",value:e}}function d5(e){for(const t of f5)if(e.options[t]?.preload)return!0;return!1}const f5=["component","errorComponent","pendingComponent","notFoundComponent"];function sY(e){return{input:({url:t})=>{for(const n of e)t=h5(n,t);return t},output:({url:t})=>{for(let n=e.length-1;n>=0;n--)t=m5(e[n],t);return t}}}function oY(e){const t=sv(e.basepath),n=`/${t}`,r=`${n}/`,a=e.caseSensitive?n:n.toLowerCase(),s=e.caseSensitive?r:r.toLowerCase();return{input:({url:l})=>{const u=e.caseSensitive?l.pathname:l.pathname.toLowerCase();return u===a?l.pathname="/":u.startsWith(s)&&(l.pathname=l.pathname.slice(n.length)),l},output:({url:l})=>(l.pathname=rs(["/",t,l.pathname]),l)}}function h5(e,t){const n=e?.input?.({url:t});if(n){if(typeof n=="string")return new URL(n);if(n instanceof URL)return n}return t}function m5(e,t){const n=e?.output?.({url:t});if(n){if(typeof n=="string")return new URL(n);if(n instanceof URL)return n}return t}function al(e){const t=e.resolvedLocation,n=e.location,r=t?.pathname!==n.pathname,a=t?.href!==n.href,s=t?.hash!==n.hash;return{fromLocation:t,toLocation:n,pathChanged:r,hrefChanged:a,hashChanged:s}}class lY{constructor(t){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this.resetNextScroll=!0,this.shouldViewTransition=void 0,this.isViewTransitionTypesSupported=void 0,this.subscribers=new Set,this.isScrollRestoring=!1,this.isScrollRestorationSetup=!1,this.startTransition=n=>n(),this.update=n=>{n.notFoundRoute&&console.warn("The notFoundRoute API is deprecated and will be removed in the next major version. See https://tanstack.com/router/v1/docs/framework/react/guide/not-found-errors#migrating-from-notfoundroute for more info.");const r=this.options,a=this.basepath??r?.basepath??"/",s=this.basepath===void 0,l=r?.rewrite;this.options={...r,...n},this.isServer=this.options.isServer??typeof document>"u",this.pathParamsDecodeCharMap=this.options.pathParamsAllowedCharacters?new Map(this.options.pathParamsAllowedCharacters.map(g=>[encodeURIComponent(g),g])):void 0,(!this.history||this.options.history&&this.options.history!==this.history)&&(this.options.history?this.history=this.options.history:this.isServer||(this.history=mG())),this.origin=this.options.origin,this.origin||(!this.isServer&&window?.origin&&window.origin!=="null"?this.origin=window.origin:this.origin="http://localhost"),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree&&(this.routeTree=this.options.routeTree,this.buildRouteTree()),!this.__store&&this.latestLocation&&(this.__store=new fG(uY(this.latestLocation),{onUpdate:()=>{this.__store.state={...this.state,cachedMatches:this.state.cachedMatches.filter(g=>!["redirected"].includes(g.status))}}}),VG(this));let u=!1;const d=this.options.basepath??"/",f=this.options.rewrite;if(s||a!==d||l!==f){this.basepath=d;const g=[];sv(d)!==""&&g.push(oY({basepath:d})),f&&g.push(f),this.rewrite=g.length===0?void 0:g.length===1?g[0]:sY(g),this.history&&this.updateLatestLocation(),u=!0}u&&this.__store&&(this.__store.state={...this.state,location:this.latestLocation}),typeof window<"u"&&"CSS"in window&&typeof window.CSS?.supports=="function"&&(this.isViewTransitionTypesSupported=window.CSS.supports("selector(:active-view-transition-type(a)"))},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{const{routesById:n,routesByPath:r,flatRoutes:a}=qG({routeTree:this.routeTree,initRoute:(l,u)=>{l.init({originalIndex:u})}});this.routesById=n,this.routesByPath=r,this.flatRoutes=a;const s=this.options.notFoundRoute;s&&(s.init({originalIndex:99999999999}),this.routesById[s.id]=s)},this.subscribe=(n,r)=>{const a={eventType:n,fn:r};return this.subscribers.add(a),()=>{this.subscribers.delete(a)}},this.emit=n=>{this.subscribers.forEach(r=>{r.eventType===n.type&&r.fn(n)})},this.parseLocation=(n,r)=>{const a=({href:d,state:f})=>{const m=new URL(d,this.origin),p=h5(this.rewrite,m),g=this.options.parseSearch(p.search),x=this.options.stringifySearch(g);p.search=x;const j=p.href.replace(p.origin,""),{pathname:w,hash:b}=p;return{href:j,publicHref:d,url:p.href,pathname:dM(w),searchStr:x,search:Ca(r?.search,g),hash:b.split("#").reverse()[0]??"",state:Ca(r?.state,f)}},s=a(n),{__tempLocation:l,__tempKey:u}=s.state;if(l&&(!u||u===this.tempLocationKey)){const d=a(l);return d.state.key=s.state.key,d.state.__TSR_key=s.state.__TSR_key,delete d.state.__tempLocation,{...d,maskedLocation:s}}return s},this.resolvePathWithBase=(n,r)=>wG({base:n,to:MC(r),trailingSlash:this.options.trailingSlash,parseCache:this.parsePathnameCache}),this.matchRoutes=(n,r,a)=>typeof n=="string"?this.matchRoutesInternal({pathname:n,search:r},a):this.matchRoutesInternal(n,r),this.parsePathnameCache=eY(1e3),this.getMatchedRoutes=(n,r)=>dY({pathname:n,routePathname:r,caseSensitive:this.options.caseSensitive,routesByPath:this.routesByPath,routesById:this.routesById,flatRoutes:this.flatRoutes,parseCache:this.parsePathnameCache}),this.cancelMatch=n=>{const r=this.getMatch(n);r&&(r.abortController.abort(),clearTimeout(r._nonReactive.pendingTimeout),r._nonReactive.pendingTimeout=void 0)},this.cancelMatches=()=>{const n=this.state.matches.filter(s=>s.status==="pending"),r=this.state.matches.filter(s=>s.isFetching==="loader");new Set([...this.state.pendingMatches??[],...n,...r]).forEach(s=>{this.cancelMatch(s.id)})},this.buildLocation=n=>{const r=(s={})=>{const l=s._fromLocation||this.pendingBuiltLocation||this.latestLocation,u=this.matchRoutes(l,{_buildLocation:!0}),d=b_(u);s.from;const f=s.unsafeRelative==="path"?l.pathname:s.from??d.fullPath,m=this.resolvePathWithBase(f,"."),p=d.search,g={...d.params},x=s.to?this.resolvePathWithBase(m,`${s.to}`):this.resolvePathWithBase(m,"."),j=s.params===!1||s.params===null?{}:(s.params??!0)===!0?g:Object.assign(g,nl(s.params,g)),w=I0({path:x,params:j,parseCache:this.parsePathnameCache}).interpolatedPath,b=this.matchRoutes(w,void 0,{_buildLocation:!0}).map(L=>this.looseRoutesById[L.routeId]);if(Object.keys(j).length>0)for(const L of b){const D=L.options.params?.stringify??L.options.stringifyParams;D&&Object.assign(j,D(j))}const N=n.leaveParams?x:dM(I0({path:x,params:j,decodeCharMap:this.pathParamsDecodeCharMap,parseCache:this.parsePathnameCache}).interpolatedPath);let E=p;if(n._includeValidateSearch&&this.options.search?.strict){const L={};b.forEach(D=>{if(D.options.validateSearch)try{Object.assign(L,S_(D.options.validateSearch,{...L,...E}))}catch{}}),E=L}E=fY({search:E,dest:s,destRoutes:b,_includeValidateSearch:n._includeValidateSearch}),E=Ca(p,E);const O=this.options.stringifySearch(E),A=s.hash===!0?l.hash:s.hash?nl(s.hash,l.hash):void 0,C=A?`#${A}`:"";let k=s.state===!0?l.state:s.state?nl(s.state,l.state):{};k=Ca(l.state,k);const T=`${N}${O}${C}`,M=new URL(T,this.origin),R=m5(this.rewrite,M);return{publicHref:R.pathname+R.search+R.hash,href:T,url:R.href,pathname:N,search:E,searchStr:O,state:k,hash:A??"",unmaskOnReload:s.unmaskOnReload}},a=(s={},l)=>{const u=r(s);let d=l?r(l):void 0;if(!d){let f={};const m=this.options.routeMasks?.find(p=>{const g=w_(u.pathname,{to:p.from,caseSensitive:!1,fuzzy:!1},this.parsePathnameCache);return g?(f=g,!0):!1});if(m){const{from:p,...g}=m;l={from:n.from,...g,params:f},d=r(l)}}return d&&(u.maskedLocation=d),u};return n.mask?a(n,{from:n.from,...n.mask}):a(n)},this.commitLocation=({viewTransition:n,ignoreBlocker:r,...a})=>{const s=()=>{const d=["key","__TSR_key","__TSR_index","__hashScrollIntoViewOptions"];d.forEach(m=>{a.state[m]=this.latestLocation.state[m]});const f=rl(a.state,this.latestLocation.state);return d.forEach(m=>{delete a.state[m]}),f},l=to(this.latestLocation.href)===to(a.href),u=this.commitLocationPromise;if(this.commitLocationPromise=nu(()=>{u?.resolve()}),l&&s())this.load();else{let{maskedLocation:d,hashScrollIntoView:f,...m}=a;d&&(m={...d,state:{...d.state,__tempKey:void 0,__tempLocation:{...m,search:m.searchStr,state:{...m.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(m.unmaskOnReload??this.options.unmaskOnReload??!1)&&(m.state.__tempKey=this.tempLocationKey)),m.state.__hashScrollIntoViewOptions=f??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=n,this.history[a.replace?"replace":"push"](m.publicHref,m.state,{ignoreBlocker:r})}return this.resetNextScroll=a.resetScroll??!0,this.history.subscribers.size||this.load(),this.commitLocationPromise},this.buildAndCommitLocation=({replace:n,resetScroll:r,hashScrollIntoView:a,viewTransition:s,ignoreBlocker:l,href:u,...d}={})=>{if(u){const p=this.history.location.state.__TSR_index,g=xv(u,{__TSR_index:n?p:p+1});d.to=g.pathname,d.search=this.options.parseSearch(g.search),d.hash=g.hash.slice(1)}const f=this.buildLocation({...d,_includeValidateSearch:!0});this.pendingBuiltLocation=f;const m=this.commitLocation({...f,viewTransition:s,replace:n,resetScroll:r,hashScrollIntoView:a,ignoreBlocker:l});return Promise.resolve().then(()=>{this.pendingBuiltLocation===f&&(this.pendingBuiltLocation=void 0)}),m},this.navigate=({to:n,reloadDocument:r,href:a,...s})=>{if(!r&&a)try{new URL(`${a}`),r=!0}catch{}return r?(a||(a=this.buildLocation({to:n,...s}).url),s.replace?window.location.replace(a):window.location.href=a,Promise.resolve()):this.buildAndCommitLocation({...s,href:a,to:n,_isNavigate:!0})},this.beforeLoad=()=>{if(this.cancelMatches(),this.updateLatestLocation(),this.isServer){const r=this.buildLocation({to:this.latestLocation.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0}),a=s=>{try{return encodeURI(decodeURI(s))}catch{return s}};if(sv(a(this.latestLocation.href))!==sv(a(r.href))){let s=r.url;throw this.origin&&s.startsWith(this.origin)&&(s=s.replace(this.origin,"")||"/"),i5({href:s})}}const n=this.matchRoutes(this.latestLocation);this.__store.setState(r=>({...r,status:"pending",statusCode:200,isLoading:!0,location:this.latestLocation,pendingMatches:n,cachedMatches:r.cachedMatches.filter(a=>!n.some(s=>s.id===a.id))}))},this.load=async n=>{let r,a,s;for(s=new Promise(u=>{this.startTransition(async()=>{try{this.beforeLoad();const d=this.latestLocation,f=this.state.resolvedLocation;this.state.redirect||this.emit({type:"onBeforeNavigate",...al({resolvedLocation:f,location:d})}),this.emit({type:"onBeforeLoad",...al({resolvedLocation:f,location:d})}),await vM({router:this,sync:n?.sync,matches:this.state.pendingMatches,location:d,updateMatch:this.updateMatch,onReady:async()=>{this.startTransition(()=>{this.startViewTransition(async()=>{let m=[],p=[],g=[];_f(()=>{this.__store.setState(x=>{const j=x.matches,w=x.pendingMatches||x.matches;return m=j.filter(b=>!w.some(N=>N.id===b.id)),p=w.filter(b=>!j.some(N=>N.id===b.id)),g=w.filter(b=>j.some(N=>N.id===b.id)),{...x,isLoading:!1,loadedAt:Date.now(),matches:w,pendingMatches:void 0,cachedMatches:[...x.cachedMatches,...m.filter(b=>b.status!=="error")]}}),this.clearExpiredCache()}),[[m,"onLeave"],[p,"onEnter"],[g,"onStay"]].forEach(([x,j])=>{x.forEach(w=>{this.looseRoutesById[w.routeId].options[j]?.(w)})})})})}})}catch(d){di(d)?(r=d,this.isServer||this.navigate({...r.options,replace:!0,ignoreBlocker:!0})):Ga(d)&&(a=d),this.__store.setState(f=>({...f,statusCode:r?r.status:a?404:f.matches.some(m=>m.status==="error")?500:200,redirect:r}))}this.latestLoadPromise===s&&(this.commitLocationPromise?.resolve(),this.latestLoadPromise=void 0,this.commitLocationPromise=void 0),u()})}),this.latestLoadPromise=s,await s;this.latestLoadPromise&&s!==this.latestLoadPromise;)await this.latestLoadPromise;let l;this.hasNotFoundMatch()?l=404:this.__store.state.matches.some(u=>u.status==="error")&&(l=500),l!==void 0&&this.__store.setState(u=>({...u,statusCode:l}))},this.startViewTransition=n=>{const r=this.shouldViewTransition??this.options.defaultViewTransition;if(delete this.shouldViewTransition,r&&typeof document<"u"&&"startViewTransition"in document&&typeof document.startViewTransition=="function"){let a;if(typeof r=="object"&&this.isViewTransitionTypesSupported){const s=this.latestLocation,l=this.state.resolvedLocation,u=typeof r.types=="function"?r.types(al({resolvedLocation:l,location:s})):r.types;if(u===!1){n();return}a={update:n,types:u}}else a=n;document.startViewTransition(a)}else n()},this.updateMatch=(n,r)=>{this.startTransition(()=>{const a=this.state.pendingMatches?.some(s=>s.id===n)?"pendingMatches":this.state.matches.some(s=>s.id===n)?"matches":this.state.cachedMatches.some(s=>s.id===n)?"cachedMatches":"";a&&this.__store.setState(s=>({...s,[a]:s[a]?.map(l=>l.id===n?r(l):l)}))})},this.getMatch=n=>{const r=a=>a.id===n;return this.state.cachedMatches.find(r)??this.state.pendingMatches?.find(r)??this.state.matches.find(r)},this.invalidate=n=>{const r=a=>n?.filter?.(a)??!0?{...a,invalid:!0,...n?.forcePending||a.status==="error"?{status:"pending",error:void 0}:void 0}:a;return this.__store.setState(a=>({...a,matches:a.matches.map(r),cachedMatches:a.cachedMatches.map(r),pendingMatches:a.pendingMatches?.map(r)})),this.shouldViewTransition=!1,this.load({sync:n?.sync})},this.resolveRedirect=n=>{if(!n.options.href){const r=this.buildLocation(n.options);let a=r.url;this.origin&&a.startsWith(this.origin)&&(a=a.replace(this.origin,"")||"/"),n.options.href=r.href,n.headers.set("Location",a)}return n.headers.get("Location")||n.headers.set("Location",n.options.href),n},this.clearCache=n=>{const r=n?.filter;r!==void 0?this.__store.setState(a=>({...a,cachedMatches:a.cachedMatches.filter(s=>!r(s))})):this.__store.setState(a=>({...a,cachedMatches:[]}))},this.clearExpiredCache=()=>{const n=r=>{const a=this.looseRoutesById[r.routeId];if(!a.options.loader)return!0;const s=(r.preload?a.options.preloadGcTime??this.options.defaultPreloadGcTime:a.options.gcTime??this.options.defaultGcTime)??300*1e3;return r.status==="error"?!0:Date.now()-r.updatedAt>=s};this.clearCache({filter:n})},this.loadRouteChunk=u5,this.preloadRoute=async n=>{const r=this.buildLocation(n);let a=this.matchRoutes(r,{throwOnError:!0,preload:!0,dest:n});const s=new Set([...this.state.matches,...this.state.pendingMatches??[]].map(u=>u.id)),l=new Set([...s,...this.state.cachedMatches.map(u=>u.id)]);_f(()=>{a.forEach(u=>{l.has(u.id)||this.__store.setState(d=>({...d,cachedMatches:[...d.cachedMatches,u]}))})});try{return a=await vM({router:this,matches:a,location:r,preload:!0,updateMatch:(u,d)=>{s.has(u)?a=a.map(f=>f.id===u?d(f):f):this.updateMatch(u,d)}}),a}catch(u){if(di(u))return u.options.reloadDocument?void 0:await this.preloadRoute({...u.options,_fromLocation:r});Ga(u)||console.error(u);return}},this.matchRoute=(n,r)=>{const a={...n,to:n.to?this.resolvePathWithBase(n.from||"",n.to):void 0,params:n.params||{},leaveParams:!0},s=this.buildLocation(a);if(r?.pending&&this.state.status!=="pending")return!1;const u=(r?.pending===void 0?!this.state.isLoading:r.pending)?this.latestLocation:this.state.resolvedLocation||this.state.location,d=w_(u.pathname,{...r,to:s.pathname},this.parsePathnameCache);return!d||n.params&&!rl(d,n.params,{partial:!0})?!1:d&&(r?.includeSearch??!0)?rl(u.search,s.search,{partial:!0})?d:!1:d},this.hasNotFoundMatch=()=>this.__store.state.matches.some(n=>n.status==="notFound"||n.globalNotFound),this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...t,caseSensitive:t.caseSensitive??!1,notFoundMode:t.notFoundMode??"fuzzy",stringifySearch:t.stringifySearch??ZG,parseSearch:t.parseSearch??XG}),typeof document<"u"&&(self.__TSR_ROUTER__=this)}isShell(){return!!this.options.isShell}isPrerendering(){return!!this.options.isPrerendering}get state(){return this.__store.state}get looseRoutesById(){return this.routesById}matchRoutesInternal(t,n){const{foundRoute:r,matchedRoutes:a,routeParams:s}=this.getMatchedRoutes(t.pathname,n?.dest?.to);let l=!1;(r?r.path!=="/"&&s["**"]:to(t.pathname))&&(this.options.notFoundRoute?a.push(this.options.notFoundRoute):l=!0);const u=(()=>{if(l){if(this.options.notFoundMode!=="root")for(let m=a.length-1;m>=0;m--){const p=a[m];if(p.children)return p.id}return na}})(),d=[],f=m=>m?.id?m.context??this.options.context??void 0:this.options.context??void 0;return a.forEach((m,p)=>{const g=d[p-1],[x,j,w]=(()=>{const U=g?.search??t.search,V=g?._strictSearch??void 0;try{const H=S_(m.options.validateSearch,{...U})??void 0;return[{...U,...H},{...V,...H},void 0]}catch(H){let G=H;if(H instanceof _v||(G=new _v(H.message,{cause:H})),n?.throwOnError)throw G;return[U,{},G]}})(),b=m.options.loaderDeps?.({search:x})??"",N=b?JSON.stringify(b):"",{interpolatedPath:E,usedParams:O}=I0({path:m.fullPath,params:s,decodeCharMap:this.pathParamsDecodeCharMap}),A=m.id+E+N,C=this.getMatch(A),k=this.state.matches.find(U=>U.routeId===m.id),T=C?._strictParams??O;let M;if(!C){const U=m.options.params?.parse??m.options.parseParams;if(U)try{Object.assign(T,U(T))}catch(V){if(M=new cY(V.message,{cause:V}),n?.throwOnError)throw M}}Object.assign(s,T);const R=k?"stay":"enter";let L;if(C)L={...C,cause:R,params:k?Ca(k.params,s):s,_strictParams:T,search:Ca(k?k.search:C.search,x),_strictSearch:j};else{const U=m.options.loader||m.options.beforeLoad||m.lazyFn||d5(m)?"pending":"success";L={id:A,index:p,routeId:m.id,params:k?Ca(k.params,s):s,_strictParams:T,pathname:E,updatedAt:Date.now(),search:k?Ca(k.search,x):x,_strictSearch:j,searchError:void 0,status:U,isFetching:!1,error:void 0,paramsError:M,__routeContext:void 0,_nonReactive:{loadPromise:nu()},__beforeLoadContext:void 0,context:{},abortController:new AbortController,fetchCount:0,cause:R,loaderDeps:k?Ca(k.loaderDeps,b):b,invalid:!1,preload:!1,links:void 0,scripts:void 0,headScripts:void 0,meta:void 0,staticData:m.options.staticData||{},fullPath:m.fullPath}}n?.preload||(L.globalNotFound=u===m.id),L.searchError=w;const D=f(g);L.context={...D,...L.__routeContext,...L.__beforeLoadContext},d.push(L)}),d.forEach((m,p)=>{const g=this.looseRoutesById[m.routeId];if(!this.getMatch(m.id)&&n?._buildLocation!==!0){const j=d[p-1],w=f(j);if(g.options.context){const b={deps:m.loaderDeps,params:m.params,context:w??{},location:t,navigate:N=>this.navigate({...N,_fromLocation:t}),buildLocation:this.buildLocation,cause:m.cause,abortController:m.abortController,preload:!!m.preload,matches:d};m.__routeContext=g.options.context(b)??void 0}m.context={...w,...m.__routeContext,...m.__beforeLoadContext}}}),d}}class _v extends Error{}class cY extends Error{}function uY(e){return{loadedAt:0,isLoading:!1,isTransitioning:!1,status:"idle",resolvedLocation:void 0,location:e,matches:[],pendingMatches:[],cachedMatches:[],statusCode:200}}function S_(e,t){if(e==null)return{};if("~standard"in e){const n=e["~standard"].validate(t);if(n instanceof Promise)throw new _v("Async validation not supported");if(n.issues)throw new _v(JSON.stringify(n.issues,void 0,2),{cause:n});return n.value}return"parse"in e?e.parse(t):typeof e=="function"?e(t):{}}function dY({pathname:e,routePathname:t,caseSensitive:n,routesByPath:r,routesById:a,flatRoutes:s,parseCache:l}){let u={};const d=to(e),f=x=>w_(d,{to:x.fullPath,caseSensitive:x.options?.caseSensitive??n,fuzzy:!0},l);let m=t!==void 0?r[t]:void 0;if(m)u=f(m);else{let x;for(const j of s){const w=f(j);if(w)if(j.path!=="/"&&w["**"])x||(x={foundRoute:j,routeParams:w});else{m=j,u=w;break}}!m&&x&&(m=x.foundRoute,u=x.routeParams)}let p=m||a[na];const g=[p];for(;p.parentRoute;)p=p.parentRoute,g.push(p);return g.reverse(),{matchedRoutes:g,routeParams:u,foundRoute:m}}function fY({search:e,dest:t,destRoutes:n,_includeValidateSearch:r}){const a=n.reduce((u,d)=>{const f=[];if("search"in d.options)d.options.search?.middlewares&&f.push(...d.options.search.middlewares);else if(d.options.preSearchFilters||d.options.postSearchFilters){const m=({search:p,next:g})=>{let x=p;"preSearchFilters"in d.options&&d.options.preSearchFilters&&(x=d.options.preSearchFilters.reduce((w,b)=>b(w),p));const j=g(x);return"postSearchFilters"in d.options&&d.options.postSearchFilters?d.options.postSearchFilters.reduce((w,b)=>b(w),j):j};f.push(m)}if(r&&d.options.validateSearch){const m=({search:p,next:g})=>{const x=g(p);try{return{...x,...S_(d.options.validateSearch,x)??void 0}}catch{return x}};f.push(m)}return u.concat(f)},[])??[],s=({search:u})=>t.search?t.search===!0?u:nl(t.search,u):{};a.push(s);const l=(u,d)=>{if(u>=a.length)return d;const f=a[u];return f({search:d,next:p=>l(u+1,p)})};return l(0,e)}const hY="Error preloading route! ☝️";class p5{constructor(t){if(this.init=n=>{this.originalIndex=n.originalIndex;const r=this.options,a=!r?.path&&!r?.id;this.parentRoute=this.options.getParentRoute?.(),a?this._path=na:this.parentRoute||vr(!1);let s=a?na:r?.path;s&&s!=="/"&&(s=PC(s));const l=r?.id||s;let u=a?na:rs([this.parentRoute.id===na?"":this.parentRoute.id,l]);s===na&&(s="/"),u!==na&&(u=rs(["/",u]));const d=u===na?"/":rs([this.parentRoute.fullPath,s]);this._path=s,this._id=u,this._fullPath=d,this._to=d},this.addChildren=n=>this._addFileChildren(n),this._addFileChildren=n=>(Array.isArray(n)&&(this.children=n),typeof n=="object"&&n!==null&&(this.children=Object.values(n)),this),this._addFileTypes=()=>this,this.updateLoader=n=>(Object.assign(this.options,n),this),this.update=n=>(Object.assign(this.options,n),this),this.lazy=n=>(this.lazyFn=n,this),this.options=t||{},this.isRoot=!t?.getParentRoute,t?.id&&t?.path)throw new Error("Route cannot have both an 'id' and a 'path' option.")}get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}}class mY extends p5{constructor(t){super(t)}}function RC(e){const t=e.errorComponent??Ug;return i.jsx(pY,{getResetKey:e.getResetKey,onCatch:e.onCatch,children:({error:n,reset:r})=>n?y.createElement(t,{error:n,reset:r}):e.children})}class pY extends y.Component{constructor(){super(...arguments),this.state={error:null}}static getDerivedStateFromProps(t){return{resetKey:t.getResetKey()}}static getDerivedStateFromError(t){return{error:t}}reset(){this.setState({error:null})}componentDidUpdate(t,n){n.error&&n.resetKey!==this.state.resetKey&&this.reset()}componentDidCatch(t,n){this.props.onCatch&&this.props.onCatch(t,n)}render(){return this.props.children({error:this.state.resetKey!==this.props.getResetKey()?null:this.state.error,reset:()=>{this.reset()}})}}function Ug({error:e}){const[t,n]=y.useState(!1);return i.jsxs("div",{style:{padding:".5rem",maxWidth:"100%"},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:".5rem"},children:[i.jsx("strong",{style:{fontSize:"1rem"},children:"Something went wrong!"}),i.jsx("button",{style:{appearance:"none",fontSize:".6em",border:"1px solid currentColor",padding:".1rem .2rem",fontWeight:"bold",borderRadius:".25rem"},onClick:()=>n(r=>!r),children:t?"Hide Error":"Show Error"})]}),i.jsx("div",{style:{height:".25rem"}}),t?i.jsx("div",{children:i.jsx("pre",{style:{fontSize:".7em",border:"1px solid red",borderRadius:".25rem",padding:".3rem",color:"red",overflow:"auto"},children:e.message?i.jsx("code",{children:e.message}):null})}):null]})}function vY({children:e,fallback:t=null}){return gY()?i.jsx(W.Fragment,{children:e}):i.jsx(W.Fragment,{children:t})}function gY(){return W.useSyncExternalStore(yY,()=>!0,()=>!1)}function yY(){return()=>{}}var z0={exports:{}},B0={},q0={exports:{}},F0={};var gM;function xY(){if(gM)return F0;gM=1;var e=Ah();function t(p,g){return p===g&&(p!==0||1/p===1/g)||p!==p&&g!==g}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,a=e.useEffect,s=e.useLayoutEffect,l=e.useDebugValue;function u(p,g){var x=g(),j=r({inst:{value:x,getSnapshot:g}}),w=j[0].inst,b=j[1];return s(function(){w.value=x,w.getSnapshot=g,d(w)&&b({inst:w})},[p,x,g]),a(function(){return d(w)&&b({inst:w}),p(function(){d(w)&&b({inst:w})})},[p]),l(x),x}function d(p){var g=p.getSnapshot;p=p.value;try{var x=g();return!n(p,x)}catch{return!0}}function f(p,g){return g()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?f:u;return F0.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,F0}var yM;function bY(){return yM||(yM=1,q0.exports=xY()),q0.exports}var xM;function wY(){if(xM)return B0;xM=1;var e=Ah(),t=bY();function n(f,m){return f===m&&(f!==0||1/f===1/m)||f!==f&&m!==m}var r=typeof Object.is=="function"?Object.is:n,a=t.useSyncExternalStore,s=e.useRef,l=e.useEffect,u=e.useMemo,d=e.useDebugValue;return B0.useSyncExternalStoreWithSelector=function(f,m,p,g,x){var j=s(null);if(j.current===null){var w={hasValue:!1,value:null};j.current=w}else w=j.current;j=u(function(){function N(k){if(!E){if(E=!0,O=k,k=g(k),x!==void 0&&w.hasValue){var T=w.value;if(x(T,k))return A=T}return A=k}if(T=A,r(O,k))return T;var M=g(k);return x!==void 0&&x(T,M)?(O=k,T):(O=k,A=M)}var E=!1,O,A,C=p===void 0?null:p;return[function(){return N(m())},C===null?void 0:function(){return N(C())}]},[m,p,g,x]);var b=a(f,j[0],j[1]);return l(function(){w.hasValue=!0,w.value=b},[b]),d(b),b},B0}var bM;function jY(){return bM||(bM=1,z0.exports=wY()),z0.exports}var SY=jY();function _Y(e,t=r=>r,n={}){const r=n.equal??NY;return SY.useSyncExternalStoreWithSelector(e.subscribe,()=>e.state,()=>e.state,t,r)}function NY(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,a]of e)if(!t.has(r)||!Object.is(a,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();const n=wM(e);if(n.length!==wM(t).length)return!1;for(let r=0;r"u"?U0:window.__TSR_ROUTER_CONTEXT__?window.__TSR_ROUTER_CONTEXT__:(window.__TSR_ROUTER_CONTEXT__=U0,U0)}function Fr(e){const t=y.useContext(v5());return e?.warn,t}function Cr(e){const t=Fr({warn:e?.router===void 0}),n=e?.router||t,r=y.useRef(void 0);return _Y(n.__store,a=>{if(e?.select){if(e.structuralSharing??n.options.defaultStructuralSharing){const s=Ca(r.current,e.select(a));return r.current=s,s}return e.select(a)}return a})}const Hg=y.createContext(void 0),CY=y.createContext(void 0);function bi(e){const t=y.useContext(e.from?CY:Hg);return Cr({select:r=>{const a=r.matches.find(s=>e.from?e.from===s.routeId:s.id===t);if(vr(!((e.shouldThrow??!0)&&!a),`Could not find ${e.from?`an active match from "${e.from}"`:"a nearest match!"}`),a!==void 0)return e.select?e.select(a):a},structuralSharing:e.structuralSharing})}function DC(e){return bi({from:e.from,strict:e.strict,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.loaderData):t.loaderData})}function $C(e){const{select:t,...n}=e;return bi({...n,select:r=>t?t(r.loaderDeps):r.loaderDeps})}function IC(e){return bi({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{const n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}function LC(e){return bi({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function ua(e){const t=Fr();return y.useCallback(n=>t.navigate({...n,from:n.from??e?.from}),[e?.from,t])}var Nl=t5();const OY=Rt(Nl),kp=typeof window<"u"?y.useLayoutEffect:y.useEffect;function H0(e){const t=y.useRef({value:e,prev:null}),n=t.current.value;return e!==n&&(t.current={value:e,prev:n}),t.current.prev}function EY(e,t,n={},r={}){y.useEffect(()=>{if(!e.current||r.disabled||typeof IntersectionObserver!="function")return;const a=new IntersectionObserver(([s])=>{t(s)},n);return a.observe(e.current),()=>{a.disconnect()}},[t,n,r.disabled,e])}function AY(e){const t=y.useRef(null);return y.useImperativeHandle(e,()=>t.current,[]),t}function TY(e,t){const n=Fr(),[r,a]=y.useState(!1),s=y.useRef(!1),l=AY(t),{activeProps:u,inactiveProps:d,activeOptions:f,to:m,preload:p,preloadDelay:g,hashScrollIntoView:x,replace:j,startTransition:w,resetScroll:b,viewTransition:N,children:E,target:O,disabled:A,style:C,className:k,onClick:T,onFocus:M,onMouseEnter:R,onMouseLeave:L,onTouchStart:D,ignoreBlocker:U,params:V,search:H,hash:G,state:$,mask:I,reloadDocument:q,unsafeRelative:Z,from:ee,_fromLocation:F,...z}=e,K=Cr({select:at=>at.location.search,structuralSharing:!0}),ie=e.from,Q=y.useMemo(()=>({...e,from:ie}),[n,K,ie,e._fromLocation,e.hash,e.to,e.search,e.params,e.state,e.mask,e.unsafeRelative]),he=y.useMemo(()=>n.buildLocation({...Q}),[n,Q]),ae=y.useMemo(()=>{if(A)return;let at=he.maskedLocation?he.maskedLocation.url:he.url,re=!1;return n.origin&&(at.startsWith(n.origin)?at=n.history.createHref(at.replace(n.origin,""))||"/":re=!0),{href:at,external:re}},[A,he.maskedLocation,he.url,n.origin,n.history]),we=y.useMemo(()=>{if(ae?.external)return ae.href;try{return new URL(m),m}catch{}},[m,ae]),Y=e.reloadDocument||we?!1:p??n.options.defaultPreload,pe=g??n.options.defaultPreloadDelay??0,je=Cr({select:at=>{if(we)return!1;if(f?.exact){if(!xG(at.location.pathname,he.pathname,n.basepath))return!1}else{const re=wv(at.location.pathname,n.basepath),Se=wv(he.pathname,n.basepath);if(!(re.startsWith(Se)&&(re.length===Se.length||re[Se.length]==="/")))return!1}return(f?.includeSearch??!0)&&!rl(at.location.search,he.search,{partial:!f?.exact,ignoreUndefined:!f?.explicitUndefined})?!1:f?.includeHash?at.location.hash===he.hash:!0}}),X=y.useCallback(()=>{n.preloadRoute({...Q}).catch(at=>{console.warn(at),console.warn(hY)})},[n,Q]),Ae=y.useCallback(at=>{at?.isIntersecting&&X()},[X]);EY(l,Ae,DY,{disabled:!!A||Y!=="viewport"}),y.useEffect(()=>{s.current||!A&&Y==="render"&&(X(),s.current=!0)},[A,X,Y]);const Oe=at=>{const re=at.currentTarget.getAttribute("target"),Se=O!==void 0?O:re;if(!A&&!$Y(at)&&!at.defaultPrevented&&(!Se||Se==="_self")&&at.button===0){at.preventDefault(),Nl.flushSync(()=>{a(!0)});const ut=n.subscribe("onResolved",()=>{ut(),a(!1)});n.navigate({...Q,replace:j,resetScroll:b,hashScrollIntoView:x,startTransition:w,viewTransition:N,ignoreBlocker:U})}};if(we)return{...z,ref:l,href:we,...E&&{children:E},...O&&{target:O},...A&&{disabled:A},...C&&{style:C},...k&&{className:k},...T&&{onClick:T},...M&&{onFocus:M},...R&&{onMouseEnter:R},...L&&{onMouseLeave:L},...D&&{onTouchStart:D}};const We=at=>{A||Y&&X()},Ve=We,be=at=>{if(!(A||!Y))if(!pe)X();else{const re=at.target;if(Qd.has(re))return;const Se=setTimeout(()=>{Qd.delete(re),X()},pe);Qd.set(re,Se)}},_e=at=>{if(A||!Y||!pe)return;const re=at.target,Se=Qd.get(re);Se&&(clearTimeout(Se),Qd.delete(re))},rt=je?nl(u,{})??kY:W0,fn=je?W0:nl(d,{})??W0,Tt=[k,rt.className,fn.className].filter(Boolean).join(" "),zt=(C||rt.style||fn.style)&&{...C,...rt.style,...fn.style};return{...z,...rt,...fn,href:ae?.href,ref:l,onClick:Jd([T,Oe]),onFocus:Jd([M,We]),onMouseEnter:Jd([R,be]),onMouseLeave:Jd([L,_e]),onTouchStart:Jd([D,Ve]),disabled:!!A,target:O,...zt&&{style:zt},...Tt&&{className:Tt},...A&&MY,...je&&PY,...r&&RY}}const W0={},kY={className:"active"},MY={role:"link","aria-disabled":!0},PY={"data-status":"active","aria-current":"page"},RY={"data-transitioning":"transitioning"},Qd=new WeakMap,DY={rootMargin:"100px"},Jd=e=>t=>{for(const n of e)if(n){if(t.defaultPrevented)return;n(t)}},zC=y.forwardRef((e,t)=>{const{_asChild:n,...r}=e,{type:a,ref:s,...l}=TY(r,t),u=typeof r.children=="function"?r.children({isActive:l["data-status"]==="active"}):r.children;return n===void 0&&delete l.disabled,y.createElement(n||"a",{...l,ref:s},u)});function $Y(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}class IY extends p5{constructor(t){super(t),this.useMatch=n=>bi({select:n?.select,from:this.id,structuralSharing:n?.structuralSharing}),this.useRouteContext=n=>bi({...n,from:this.id,select:r=>n?.select?n.select(r.context):r.context}),this.useSearch=n=>LC({select:n?.select,structuralSharing:n?.structuralSharing,from:this.id}),this.useParams=n=>IC({select:n?.select,structuralSharing:n?.structuralSharing,from:this.id}),this.useLoaderDeps=n=>$C({...n,from:this.id}),this.useLoaderData=n=>DC({...n,from:this.id}),this.useNavigate=()=>ua({from:this.fullPath}),this.Link=W.forwardRef((n,r)=>i.jsx(zC,{ref:r,from:this.fullPath,...n})),this.$$typeof=Symbol.for("react.memo")}}function or(e){return new IY(e)}class LY extends mY{constructor(t){super(t),this.useMatch=n=>bi({select:n?.select,from:this.id,structuralSharing:n?.structuralSharing}),this.useRouteContext=n=>bi({...n,from:this.id,select:r=>n?.select?n.select(r.context):r.context}),this.useSearch=n=>LC({select:n?.select,structuralSharing:n?.structuralSharing,from:this.id}),this.useParams=n=>IC({select:n?.select,structuralSharing:n?.structuralSharing,from:this.id}),this.useLoaderDeps=n=>$C({...n,from:this.id}),this.useLoaderData=n=>DC({...n,from:this.id}),this.useNavigate=()=>ua({from:this.fullPath}),this.Link=W.forwardRef((n,r)=>i.jsx(zC,{ref:r,from:this.fullPath,...n})),this.$$typeof=Symbol.for("react.memo")}}function zY(e){return new LY(e)}function jM(e){return typeof e=="object"?new SM(e,{silent:!0}).createRoute(e):new SM(e,{silent:!0}).createRoute}class SM{constructor(t,n){this.path=t,this.createRoute=r=>{this.silent;const a=or(r);return a.isRoot=!1,a},this.silent=n?.silent}}class _M{constructor(t){this.useMatch=n=>bi({select:n?.select,from:this.options.id,structuralSharing:n?.structuralSharing}),this.useRouteContext=n=>bi({from:this.options.id,select:r=>n?.select?n.select(r.context):r.context}),this.useSearch=n=>LC({select:n?.select,structuralSharing:n?.structuralSharing,from:this.options.id}),this.useParams=n=>IC({select:n?.select,structuralSharing:n?.structuralSharing,from:this.options.id}),this.useLoaderDeps=n=>$C({...n,from:this.options.id}),this.useLoaderData=n=>DC({...n,from:this.options.id}),this.useNavigate=()=>{const n=Fr();return ua({from:n.routesById[this.options.id].fullPath})},this.options=t,this.$$typeof=Symbol.for("react.memo")}}function NM(e){return typeof e=="object"?new _M(e):t=>new _M({id:e,...t})}function BY(){const e=Fr(),t=y.useRef({router:e,mounted:!1}),[n,r]=y.useState(!1),{hasPendingMatches:a,isLoading:s}=Cr({select:p=>({isLoading:p.isLoading,hasPendingMatches:p.matches.some(g=>g.status==="pending")}),structuralSharing:!0}),l=H0(s),u=s||n||a,d=H0(u),f=s||a,m=H0(f);return e.startTransition=p=>{r(!0),y.startTransition(()=>{p(),r(!1)})},y.useEffect(()=>{const p=e.history.subscribe(e.load),g=e.buildLocation({to:e.latestLocation.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});return to(e.latestLocation.href)!==to(g.href)&&e.commitLocation({...g,replace:!0}),()=>{p()}},[e,e.history]),kp(()=>{if(typeof window<"u"&&e.ssr||t.current.router===e&&t.current.mounted)return;t.current={router:e,mounted:!0},(async()=>{try{await e.load()}catch(g){console.error(g)}})()},[e]),kp(()=>{l&&!s&&e.emit({type:"onLoad",...al(e.state)})},[l,e,s]),kp(()=>{m&&!f&&e.emit({type:"onBeforeRouteMount",...al(e.state)})},[f,m,e]),kp(()=>{d&&!u&&(e.emit({type:"onResolved",...al(e.state)}),e.__store.setState(p=>({...p,status:"idle",resolvedLocation:p.location})),GG(e))},[u,d,e]),null}function qY(e){const t=Cr({select:n=>`not-found-${n.location.pathname}-${n.status}`});return i.jsx(RC,{getResetKey:()=>t,onCatch:(n,r)=>{if(Ga(n))e.onCatch?.(n,r);else throw n},errorComponent:({error:n})=>{if(Ga(n))return e.fallback?.(n);throw n},children:e.children})}function FY(){return i.jsx("p",{children:"Not Found"})}function Dc(e){return i.jsx(i.Fragment,{children:e.children})}function g5(e,t,n){return t.options.notFoundComponent?i.jsx(t.options.notFoundComponent,{data:n}):e.options.defaultNotFoundComponent?i.jsx(e.options.defaultNotFoundComponent,{data:n}):i.jsx(FY,{})}function UY({children:e}){const t=Fr();return t.isServer?i.jsx("script",{nonce:t.options.ssr?.nonce,className:"$tsr",dangerouslySetInnerHTML:{__html:[e].filter(Boolean).join(` -`)+";$_TSR.c()"}}):null}function HY(){const e=Fr();if(!e.isScrollRestoring||!e.isServer||typeof e.options.scrollRestoration=="function"&&!e.options.scrollRestoration({location:e.latestLocation}))return null;const n=(e.options.getScrollRestorationKey||j_)(e.latestLocation),r=n!==j_(e.latestLocation)?n:void 0,a={storageKey:jv,shouldScrollRestoration:!0};return r&&(a.key=r),i.jsx(UY,{children:`(${a5.toString()})(${JSON.stringify(a)})`})}const y5=y.memo(function({matchId:t}){const n=Fr(),r=Cr({select:N=>{const E=N.matches.find(O=>O.id===t);return vr(E),{routeId:E.routeId,ssr:E.ssr,_displayPending:E._displayPending}},structuralSharing:!0}),a=n.routesById[r.routeId],s=a.options.pendingComponent??n.options.defaultPendingComponent,l=s?i.jsx(s,{}):null,u=a.options.errorComponent??n.options.defaultErrorComponent,d=a.options.onCatch??n.options.defaultOnCatch,f=a.isRoot?a.options.notFoundComponent??n.options.notFoundRoute?.options.component:a.options.notFoundComponent,m=r.ssr===!1||r.ssr==="data-only",p=(!a.isRoot||a.options.wrapInSuspense||m)&&(a.options.wrapInSuspense??s??(a.options.errorComponent?.preload||m))?y.Suspense:Dc,g=u?RC:Dc,x=f?qY:Dc,j=Cr({select:N=>N.loadedAt}),w=Cr({select:N=>{const E=N.matches.findIndex(O=>O.id===t);return N.matches[E-1]?.routeId}}),b=a.isRoot?a.options.shellComponent??Dc:Dc;return i.jsxs(b,{children:[i.jsx(Hg.Provider,{value:t,children:i.jsx(p,{fallback:l,children:i.jsx(g,{getResetKey:()=>j,errorComponent:u||Ug,onCatch:(N,E)=>{if(Ga(N))throw N;d?.(N,E)},children:i.jsx(x,{fallback:N=>{if(!f||N.routeId&&N.routeId!==r.routeId||!N.routeId&&!a.isRoot)throw N;return y.createElement(f,N)},children:m||r._displayPending?i.jsx(vY,{fallback:l,children:i.jsx(CM,{matchId:t})}):i.jsx(CM,{matchId:t})})})})}),w===na&&n.options.scrollRestoration?i.jsxs(i.Fragment,{children:[i.jsx(WY,{}),i.jsx(HY,{})]}):null]})});function WY(){const e=Fr(),t=y.useRef(void 0);return i.jsx("script",{suppressHydrationWarning:!0,ref:n=>{n&&(t.current===void 0||t.current.href!==e.latestLocation.href)&&(e.emit({type:"onRendered",...al(e.state)}),t.current=e.latestLocation)}},e.latestLocation.state.__TSR_key)}const CM=y.memo(function({matchId:t}){const n=Fr(),{match:r,key:a,routeId:s}=Cr({select:d=>{const f=d.matches.find(j=>j.id===t),m=f.routeId,g=(n.routesById[m].options.remountDeps??n.options.defaultRemountDeps)?.({routeId:m,loaderDeps:f.loaderDeps,params:f._strictParams,search:f._strictSearch});return{key:g?JSON.stringify(g):void 0,routeId:m,match:{id:f.id,status:f.status,error:f.error,_forcePending:f._forcePending,_displayPending:f._displayPending}}},structuralSharing:!0}),l=n.routesById[s],u=y.useMemo(()=>{const d=l.options.component??n.options.defaultComponent;return d?i.jsx(d,{},a):i.jsx(BC,{})},[a,l.options.component,n.options.defaultComponent]);if(r._displayPending)throw n.getMatch(r.id)?._nonReactive.displayPendingPromise;if(r._forcePending)throw n.getMatch(r.id)?._nonReactive.minPendingPromise;if(r.status==="pending"){const d=l.options.pendingMinMs??n.options.defaultPendingMinMs;if(d){const f=n.getMatch(r.id);if(f&&!f._nonReactive.minPendingPromise&&!n.isServer){const m=nu();f._nonReactive.minPendingPromise=m,setTimeout(()=>{m.resolve(),f._nonReactive.minPendingPromise=void 0},d)}}throw n.getMatch(r.id)?._nonReactive.loadPromise}if(r.status==="notFound")return vr(Ga(r.error)),g5(n,l,r.error);if(r.status==="redirected")throw vr(di(r.error)),n.getMatch(r.id)?._nonReactive.loadPromise;if(r.status==="error"){if(n.isServer){const d=(l.options.errorComponent??n.options.defaultErrorComponent)||Ug;return i.jsx(d,{error:r.error,reset:void 0,info:{componentStack:""}})}throw r.error}return u}),BC=y.memo(function(){const t=Fr(),n=y.useContext(Hg),r=Cr({select:f=>f.matches.find(m=>m.id===n)?.routeId}),a=t.routesById[r],s=Cr({select:f=>{const p=f.matches.find(g=>g.id===n);return vr(p),p.globalNotFound}}),l=Cr({select:f=>{const m=f.matches,p=m.findIndex(g=>g.id===n);return m[p+1]?.id}}),u=t.options.defaultPendingComponent?i.jsx(t.options.defaultPendingComponent,{}):null;if(s)return g5(t,a,void 0);if(!l)return null;const d=i.jsx(y5,{matchId:l});return r===na?i.jsx(y.Suspense,{fallback:u,children:d}):d});function VY(){const e=Fr(),n=e.routesById[na].options.pendingComponent??e.options.defaultPendingComponent,r=n?i.jsx(n,{}):null,a=e.isServer||typeof document<"u"&&e.ssr?Dc:y.Suspense,s=i.jsxs(a,{fallback:r,children:[!e.isServer&&i.jsx(BY,{}),i.jsx(GY,{})]});return e.options.InnerWrap?i.jsx(e.options.InnerWrap,{children:s}):s}function GY(){const e=Fr(),t=Cr({select:a=>a.matches[0]?.id}),n=Cr({select:a=>a.loadedAt}),r=t?i.jsx(y5,{matchId:t}):null;return i.jsx(Hg.Provider,{value:t,children:e.options.disableGlobalCatchBoundary?r:i.jsx(RC,{getResetKey:()=>n,errorComponent:Ug,onCatch:a=>{a.message||a.toString()},children:r})})}function YY(){const e=Fr();return Cr({select:t=>[t.location.href,t.resolvedLocation?.href,t.status],structuralSharing:!0}),y.useCallback(t=>{const{pending:n,caseSensitive:r,fuzzy:a,includeSearch:s,...l}=t;return e.matchRoute(l,{pending:n,caseSensitive:r,fuzzy:a,includeSearch:s})},[e])}const KY=e=>new XY(e);class XY extends lY{constructor(t){super(t)}}typeof globalThis<"u"?(globalThis.createFileRoute=jM,globalThis.createLazyFileRoute=NM):typeof window<"u"&&(window.createFileRoute=jM,window.createLazyFileRoute=NM);function ZY({router:e,children:t,...n}){Object.keys(n).length>0&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});const r=v5(),a=i.jsx(r.Provider,{value:e,children:t});return e.options.Wrap?i.jsx(e.options.Wrap,{children:a}):a}function QY({router:e,...t}){return i.jsx(ZY,{router:e,...t,children:i.jsx(VY,{})})}function x5(e,t){return function(){return e.apply(t,arguments)}}const{toString:JY}=Object.prototype,{getPrototypeOf:qC}=Object,{iterator:Wg,toStringTag:b5}=Symbol,Vg=(e=>t=>{const n=JY.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Za=e=>(e=e.toLowerCase(),t=>Vg(t)===e),Gg=e=>t=>typeof t===e,{isArray:zu}=Array,su=Gg("undefined");function Th(e){return e!==null&&!su(e)&&e.constructor!==null&&!su(e.constructor)&&Ir(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const w5=Za("ArrayBuffer");function eK(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&w5(e.buffer),t}const tK=Gg("string"),Ir=Gg("function"),j5=Gg("number"),kh=e=>e!==null&&typeof e=="object",nK=e=>e===!0||e===!1,lv=e=>{if(Vg(e)!=="object")return!1;const t=qC(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(b5 in e)&&!(Wg in e)},rK=e=>{if(!kh(e)||Th(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},aK=Za("Date"),iK=Za("File"),sK=Za("Blob"),oK=Za("FileList"),lK=e=>kh(e)&&Ir(e.pipe),cK=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Ir(e.append)&&((t=Vg(e))==="formdata"||t==="object"&&Ir(e.toString)&&e.toString()==="[object FormData]"))},uK=Za("URLSearchParams"),[dK,fK,hK,mK]=["ReadableStream","Request","Response","Headers"].map(Za),pK=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Mh(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,a;if(typeof e!="object"&&(e=[e]),zu(e))for(r=0,a=e.length;r0;)if(a=n[r],t===a.toLowerCase())return a;return null}const Xo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,_5=e=>!su(e)&&e!==Xo;function __(){const{caseless:e,skipUndefined:t}=_5(this)&&this||{},n={},r=(a,s)=>{const l=e&&S5(n,s)||s;lv(n[l])&&lv(a)?n[l]=__(n[l],a):lv(a)?n[l]=__({},a):zu(a)?n[l]=a.slice():(!t||!su(a))&&(n[l]=a)};for(let a=0,s=arguments.length;a(Mh(t,(a,s)=>{n&&Ir(a)?e[s]=x5(a,n):e[s]=a},{allOwnKeys:r}),e),gK=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),yK=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},xK=(e,t,n,r)=>{let a,s,l;const u={};if(t=t||{},e==null)return t;do{for(a=Object.getOwnPropertyNames(e),s=a.length;s-- >0;)l=a[s],(!r||r(l,e,t))&&!u[l]&&(t[l]=e[l],u[l]=!0);e=n!==!1&&qC(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},bK=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},wK=e=>{if(!e)return null;if(zu(e))return e;let t=e.length;if(!j5(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},jK=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&qC(Uint8Array)),SK=(e,t)=>{const r=(e&&e[Wg]).call(e);let a;for(;(a=r.next())&&!a.done;){const s=a.value;t.call(e,s[0],s[1])}},_K=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},NK=Za("HTMLFormElement"),CK=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,a){return r.toUpperCase()+a}),OM=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),OK=Za("RegExp"),N5=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};Mh(n,(a,s)=>{let l;(l=t(a,s,e))!==!1&&(r[s]=l||a)}),Object.defineProperties(e,r)},EK=e=>{N5(e,(t,n)=>{if(Ir(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(Ir(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},AK=(e,t)=>{const n={},r=a=>{a.forEach(s=>{n[s]=!0})};return zu(e)?r(e):r(String(e).split(t)),n},TK=()=>{},kK=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function MK(e){return!!(e&&Ir(e.append)&&e[b5]==="FormData"&&e[Wg])}const PK=e=>{const t=new Array(10),n=(r,a)=>{if(kh(r)){if(t.indexOf(r)>=0)return;if(Th(r))return r;if(!("toJSON"in r)){t[a]=r;const s=zu(r)?[]:{};return Mh(r,(l,u)=>{const d=n(l,a+1);!su(d)&&(s[u]=d)}),t[a]=void 0,s}}return r};return n(e,0)},RK=Za("AsyncFunction"),DK=e=>e&&(kh(e)||Ir(e))&&Ir(e.then)&&Ir(e.catch),C5=((e,t)=>e?setImmediate:t?((n,r)=>(Xo.addEventListener("message",({source:a,data:s})=>{a===Xo&&s===n&&r.length&&r.shift()()},!1),a=>{r.push(a),Xo.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",Ir(Xo.postMessage)),$K=typeof queueMicrotask<"u"?queueMicrotask.bind(Xo):typeof process<"u"&&process.nextTick||C5,IK=e=>e!=null&&Ir(e[Wg]),fe={isArray:zu,isArrayBuffer:w5,isBuffer:Th,isFormData:cK,isArrayBufferView:eK,isString:tK,isNumber:j5,isBoolean:nK,isObject:kh,isPlainObject:lv,isEmptyObject:rK,isReadableStream:dK,isRequest:fK,isResponse:hK,isHeaders:mK,isUndefined:su,isDate:aK,isFile:iK,isBlob:sK,isRegExp:OK,isFunction:Ir,isStream:lK,isURLSearchParams:uK,isTypedArray:jK,isFileList:oK,forEach:Mh,merge:__,extend:vK,trim:pK,stripBOM:gK,inherits:yK,toFlatObject:xK,kindOf:Vg,kindOfTest:Za,endsWith:bK,toArray:wK,forEachEntry:SK,matchAll:_K,isHTMLForm:NK,hasOwnProperty:OM,hasOwnProp:OM,reduceDescriptors:N5,freezeMethods:EK,toObjectSet:AK,toCamelCase:CK,noop:TK,toFiniteNumber:kK,findKey:S5,global:Xo,isContextDefined:_5,isSpecCompliantForm:MK,toJSONObject:PK,isAsyncFn:RK,isThenable:DK,setImmediate:C5,asap:$K,isIterable:IK};function nt(e,t,n,r,a){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),a&&(this.response=a,this.status=a.status?a.status:null)}fe.inherits(nt,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:fe.toJSONObject(this.config),code:this.code,status:this.status}}});const O5=nt.prototype,E5={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{E5[e]={value:e}});Object.defineProperties(nt,E5);Object.defineProperty(O5,"isAxiosError",{value:!0});nt.from=(e,t,n,r,a,s)=>{const l=Object.create(O5);fe.toFlatObject(e,l,function(m){return m!==Error.prototype},f=>f!=="isAxiosError");const u=e&&e.message?e.message:"Error",d=t==null&&e?e.code:t;return nt.call(l,u,d,n,r,a),e&&l.cause==null&&Object.defineProperty(l,"cause",{value:e,configurable:!0}),l.name=e&&e.name||"Error",s&&Object.assign(l,s),l};const LK=null;function N_(e){return fe.isPlainObject(e)||fe.isArray(e)}function A5(e){return fe.endsWith(e,"[]")?e.slice(0,-2):e}function EM(e,t,n){return e?e.concat(t).map(function(a,s){return a=A5(a),!n&&s?"["+a+"]":a}).join(n?".":""):t}function zK(e){return fe.isArray(e)&&!e.some(N_)}const BK=fe.toFlatObject(fe,{},null,function(t){return/^is[A-Z]/.test(t)});function Yg(e,t,n){if(!fe.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=fe.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(w,b){return!fe.isUndefined(b[w])});const r=n.metaTokens,a=n.visitor||m,s=n.dots,l=n.indexes,d=(n.Blob||typeof Blob<"u"&&Blob)&&fe.isSpecCompliantForm(t);if(!fe.isFunction(a))throw new TypeError("visitor must be a function");function f(j){if(j===null)return"";if(fe.isDate(j))return j.toISOString();if(fe.isBoolean(j))return j.toString();if(!d&&fe.isBlob(j))throw new nt("Blob is not supported. Use a Buffer instead.");return fe.isArrayBuffer(j)||fe.isTypedArray(j)?d&&typeof Blob=="function"?new Blob([j]):Buffer.from(j):j}function m(j,w,b){let N=j;if(j&&!b&&typeof j=="object"){if(fe.endsWith(w,"{}"))w=r?w:w.slice(0,-2),j=JSON.stringify(j);else if(fe.isArray(j)&&zK(j)||(fe.isFileList(j)||fe.endsWith(w,"[]"))&&(N=fe.toArray(j)))return w=A5(w),N.forEach(function(O,A){!(fe.isUndefined(O)||O===null)&&t.append(l===!0?EM([w],A,s):l===null?w:w+"[]",f(O))}),!1}return N_(j)?!0:(t.append(EM(b,w,s),f(j)),!1)}const p=[],g=Object.assign(BK,{defaultVisitor:m,convertValue:f,isVisitable:N_});function x(j,w){if(!fe.isUndefined(j)){if(p.indexOf(j)!==-1)throw Error("Circular reference detected in "+w.join("."));p.push(j),fe.forEach(j,function(N,E){(!(fe.isUndefined(N)||N===null)&&a.call(t,N,fe.isString(E)?E.trim():E,w,g))===!0&&x(N,w?w.concat(E):[E])}),p.pop()}}if(!fe.isObject(e))throw new TypeError("data must be an object");return x(e),t}function AM(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function FC(e,t){this._pairs=[],e&&Yg(e,this,t)}const T5=FC.prototype;T5.append=function(t,n){this._pairs.push([t,n])};T5.toString=function(t){const n=t?function(r){return t.call(this,r,AM)}:AM;return this._pairs.map(function(a){return n(a[0])+"="+n(a[1])},"").join("&")};function qK(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function k5(e,t,n){if(!t)return e;const r=n&&n.encode||qK;fe.isFunction(n)&&(n={serialize:n});const a=n&&n.serialize;let s;if(a?s=a(t,n):s=fe.isURLSearchParams(t)?t.toString():new FC(t,n).toString(r),s){const l=e.indexOf("#");l!==-1&&(e=e.slice(0,l)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}class TM{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){fe.forEach(this.handlers,function(r){r!==null&&t(r)})}}const M5={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},FK=typeof URLSearchParams<"u"?URLSearchParams:FC,UK=typeof FormData<"u"?FormData:null,HK=typeof Blob<"u"?Blob:null,WK={isBrowser:!0,classes:{URLSearchParams:FK,FormData:UK,Blob:HK},protocols:["http","https","file","blob","url","data"]},UC=typeof window<"u"&&typeof document<"u",C_=typeof navigator=="object"&&navigator||void 0,VK=UC&&(!C_||["ReactNative","NativeScript","NS"].indexOf(C_.product)<0),GK=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",YK=UC&&window.location.href||"http://localhost",KK=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:UC,hasStandardBrowserEnv:VK,hasStandardBrowserWebWorkerEnv:GK,navigator:C_,origin:YK},Symbol.toStringTag,{value:"Module"})),hr={...KK,...WK};function XK(e,t){return Yg(e,new hr.classes.URLSearchParams,{visitor:function(n,r,a,s){return hr.isNode&&fe.isBuffer(n)?(this.append(r,n.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)},...t})}function ZK(e){return fe.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function QK(e){const t={},n=Object.keys(e);let r;const a=n.length;let s;for(r=0;r=n.length;return l=!l&&fe.isArray(a)?a.length:l,d?(fe.hasOwnProp(a,l)?a[l]=[a[l],r]:a[l]=r,!u):((!a[l]||!fe.isObject(a[l]))&&(a[l]=[]),t(n,r,a[l],s)&&fe.isArray(a[l])&&(a[l]=QK(a[l])),!u)}if(fe.isFormData(e)&&fe.isFunction(e.entries)){const n={};return fe.forEachEntry(e,(r,a)=>{t(ZK(r),a,n,0)}),n}return null}function JK(e,t,n){if(fe.isString(e))try{return(t||JSON.parse)(e),fe.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const Ph={transitional:M5,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",a=r.indexOf("application/json")>-1,s=fe.isObject(t);if(s&&fe.isHTMLForm(t)&&(t=new FormData(t)),fe.isFormData(t))return a?JSON.stringify(P5(t)):t;if(fe.isArrayBuffer(t)||fe.isBuffer(t)||fe.isStream(t)||fe.isFile(t)||fe.isBlob(t)||fe.isReadableStream(t))return t;if(fe.isArrayBufferView(t))return t.buffer;if(fe.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let u;if(s){if(r.indexOf("application/x-www-form-urlencoded")>-1)return XK(t,this.formSerializer).toString();if((u=fe.isFileList(t))||r.indexOf("multipart/form-data")>-1){const d=this.env&&this.env.FormData;return Yg(u?{"files[]":t}:t,d&&new d,this.formSerializer)}}return s||a?(n.setContentType("application/json",!1),JK(t)):t}],transformResponse:[function(t){const n=this.transitional||Ph.transitional,r=n&&n.forcedJSONParsing,a=this.responseType==="json";if(fe.isResponse(t)||fe.isReadableStream(t))return t;if(t&&fe.isString(t)&&(r&&!this.responseType||a)){const l=!(n&&n.silentJSONParsing)&&a;try{return JSON.parse(t,this.parseReviver)}catch(u){if(l)throw u.name==="SyntaxError"?nt.from(u,nt.ERR_BAD_RESPONSE,this,null,this.response):u}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:hr.classes.FormData,Blob:hr.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};fe.forEach(["delete","get","head","post","put","patch"],e=>{Ph.headers[e]={}});const eX=fe.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),tX=e=>{const t={};let n,r,a;return e&&e.split(` -`).forEach(function(l){a=l.indexOf(":"),n=l.substring(0,a).trim().toLowerCase(),r=l.substring(a+1).trim(),!(!n||t[n]&&eX[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},kM=Symbol("internals");function ef(e){return e&&String(e).trim().toLowerCase()}function cv(e){return e===!1||e==null?e:fe.isArray(e)?e.map(cv):String(e)}function nX(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const rX=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function V0(e,t,n,r,a){if(fe.isFunction(r))return r.call(this,t,n);if(a&&(t=n),!!fe.isString(t)){if(fe.isString(r))return t.indexOf(r)!==-1;if(fe.isRegExp(r))return r.test(t)}}function aX(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function iX(e,t){const n=fe.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(a,s,l){return this[r].call(this,t,a,s,l)},configurable:!0})})}let Lr=class{constructor(t){t&&this.set(t)}set(t,n,r){const a=this;function s(u,d,f){const m=ef(d);if(!m)throw new Error("header name must be a non-empty string");const p=fe.findKey(a,m);(!p||a[p]===void 0||f===!0||f===void 0&&a[p]!==!1)&&(a[p||d]=cv(u))}const l=(u,d)=>fe.forEach(u,(f,m)=>s(f,m,d));if(fe.isPlainObject(t)||t instanceof this.constructor)l(t,n);else if(fe.isString(t)&&(t=t.trim())&&!rX(t))l(tX(t),n);else if(fe.isObject(t)&&fe.isIterable(t)){let u={},d,f;for(const m of t){if(!fe.isArray(m))throw TypeError("Object iterator must return a key-value pair");u[f=m[0]]=(d=u[f])?fe.isArray(d)?[...d,m[1]]:[d,m[1]]:m[1]}l(u,n)}else t!=null&&s(n,t,r);return this}get(t,n){if(t=ef(t),t){const r=fe.findKey(this,t);if(r){const a=this[r];if(!n)return a;if(n===!0)return nX(a);if(fe.isFunction(n))return n.call(this,a,r);if(fe.isRegExp(n))return n.exec(a);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=ef(t),t){const r=fe.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||V0(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let a=!1;function s(l){if(l=ef(l),l){const u=fe.findKey(r,l);u&&(!n||V0(r,r[u],u,n))&&(delete r[u],a=!0)}}return fe.isArray(t)?t.forEach(s):s(t),a}clear(t){const n=Object.keys(this);let r=n.length,a=!1;for(;r--;){const s=n[r];(!t||V0(this,this[s],s,t,!0))&&(delete this[s],a=!0)}return a}normalize(t){const n=this,r={};return fe.forEach(this,(a,s)=>{const l=fe.findKey(r,s);if(l){n[l]=cv(a),delete n[s];return}const u=t?aX(s):String(s).trim();u!==s&&delete n[s],n[u]=cv(a),r[u]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return fe.forEach(this,(r,a)=>{r!=null&&r!==!1&&(n[a]=t&&fe.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` -`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(a=>r.set(a)),r}static accessor(t){const r=(this[kM]=this[kM]={accessors:{}}).accessors,a=this.prototype;function s(l){const u=ef(l);r[u]||(iX(a,l),r[u]=!0)}return fe.isArray(t)?t.forEach(s):s(t),this}};Lr.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);fe.reduceDescriptors(Lr.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});fe.freezeMethods(Lr);function G0(e,t){const n=this||Ph,r=t||n,a=Lr.from(r.headers);let s=r.data;return fe.forEach(e,function(u){s=u.call(n,s,a.normalize(),t?t.status:void 0)}),a.normalize(),s}function R5(e){return!!(e&&e.__CANCEL__)}function Bu(e,t,n){nt.call(this,e??"canceled",nt.ERR_CANCELED,t,n),this.name="CanceledError"}fe.inherits(Bu,nt,{__CANCEL__:!0});function D5(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new nt("Request failed with status code "+n.status,[nt.ERR_BAD_REQUEST,nt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function sX(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function oX(e,t){e=e||10;const n=new Array(e),r=new Array(e);let a=0,s=0,l;return t=t!==void 0?t:1e3,function(d){const f=Date.now(),m=r[s];l||(l=f),n[a]=d,r[a]=f;let p=s,g=0;for(;p!==a;)g+=n[p++],p=p%e;if(a=(a+1)%e,a===s&&(s=(s+1)%e),f-l{n=m,a=null,s&&(clearTimeout(s),s=null),e(...f)};return[(...f)=>{const m=Date.now(),p=m-n;p>=r?l(f,m):(a=f,s||(s=setTimeout(()=>{s=null,l(a)},r-p)))},()=>a&&l(a)]}const Nv=(e,t,n=3)=>{let r=0;const a=oX(50,250);return lX(s=>{const l=s.loaded,u=s.lengthComputable?s.total:void 0,d=l-r,f=a(d),m=l<=u;r=l;const p={loaded:l,total:u,progress:u?l/u:void 0,bytes:d,rate:f||void 0,estimated:f&&u&&m?(u-l)/f:void 0,event:s,lengthComputable:u!=null,[t?"download":"upload"]:!0};e(p)},n)},MM=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},PM=e=>(...t)=>fe.asap(()=>e(...t)),cX=hr.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,hr.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(hr.origin),hr.navigator&&/(msie|trident)/i.test(hr.navigator.userAgent)):()=>!0,uX=hr.hasStandardBrowserEnv?{write(e,t,n,r,a,s,l){if(typeof document>"u")return;const u=[`${e}=${encodeURIComponent(t)}`];fe.isNumber(n)&&u.push(`expires=${new Date(n).toUTCString()}`),fe.isString(r)&&u.push(`path=${r}`),fe.isString(a)&&u.push(`domain=${a}`),s===!0&&u.push("secure"),fe.isString(l)&&u.push(`SameSite=${l}`),document.cookie=u.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function dX(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function fX(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function $5(e,t,n){let r=!dX(t);return e&&(r||n==!1)?fX(e,t):t}const RM=e=>e instanceof Lr?{...e}:e;function fl(e,t){t=t||{};const n={};function r(f,m,p,g){return fe.isPlainObject(f)&&fe.isPlainObject(m)?fe.merge.call({caseless:g},f,m):fe.isPlainObject(m)?fe.merge({},m):fe.isArray(m)?m.slice():m}function a(f,m,p,g){if(fe.isUndefined(m)){if(!fe.isUndefined(f))return r(void 0,f,p,g)}else return r(f,m,p,g)}function s(f,m){if(!fe.isUndefined(m))return r(void 0,m)}function l(f,m){if(fe.isUndefined(m)){if(!fe.isUndefined(f))return r(void 0,f)}else return r(void 0,m)}function u(f,m,p){if(p in t)return r(f,m);if(p in e)return r(void 0,f)}const d={url:s,method:s,data:s,baseURL:l,transformRequest:l,transformResponse:l,paramsSerializer:l,timeout:l,timeoutMessage:l,withCredentials:l,withXSRFToken:l,adapter:l,responseType:l,xsrfCookieName:l,xsrfHeaderName:l,onUploadProgress:l,onDownloadProgress:l,decompress:l,maxContentLength:l,maxBodyLength:l,beforeRedirect:l,transport:l,httpAgent:l,httpsAgent:l,cancelToken:l,socketPath:l,responseEncoding:l,validateStatus:u,headers:(f,m,p)=>a(RM(f),RM(m),p,!0)};return fe.forEach(Object.keys({...e,...t}),function(m){const p=d[m]||a,g=p(e[m],t[m],m);fe.isUndefined(g)&&p!==u||(n[m]=g)}),n}const I5=e=>{const t=fl({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:a,xsrfCookieName:s,headers:l,auth:u}=t;if(t.headers=l=Lr.from(l),t.url=k5($5(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),u&&l.set("Authorization","Basic "+btoa((u.username||"")+":"+(u.password?unescape(encodeURIComponent(u.password)):""))),fe.isFormData(n)){if(hr.hasStandardBrowserEnv||hr.hasStandardBrowserWebWorkerEnv)l.setContentType(void 0);else if(fe.isFunction(n.getHeaders)){const d=n.getHeaders(),f=["content-type","content-length"];Object.entries(d).forEach(([m,p])=>{f.includes(m.toLowerCase())&&l.set(m,p)})}}if(hr.hasStandardBrowserEnv&&(r&&fe.isFunction(r)&&(r=r(t)),r||r!==!1&&cX(t.url))){const d=a&&s&&uX.read(s);d&&l.set(a,d)}return t},hX=typeof XMLHttpRequest<"u",mX=hX&&function(e){return new Promise(function(n,r){const a=I5(e);let s=a.data;const l=Lr.from(a.headers).normalize();let{responseType:u,onUploadProgress:d,onDownloadProgress:f}=a,m,p,g,x,j;function w(){x&&x(),j&&j(),a.cancelToken&&a.cancelToken.unsubscribe(m),a.signal&&a.signal.removeEventListener("abort",m)}let b=new XMLHttpRequest;b.open(a.method.toUpperCase(),a.url,!0),b.timeout=a.timeout;function N(){if(!b)return;const O=Lr.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),C={data:!u||u==="text"||u==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:O,config:e,request:b};D5(function(T){n(T),w()},function(T){r(T),w()},C),b=null}"onloadend"in b?b.onloadend=N:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(N)},b.onabort=function(){b&&(r(new nt("Request aborted",nt.ECONNABORTED,e,b)),b=null)},b.onerror=function(A){const C=A&&A.message?A.message:"Network Error",k=new nt(C,nt.ERR_NETWORK,e,b);k.event=A||null,r(k),b=null},b.ontimeout=function(){let A=a.timeout?"timeout of "+a.timeout+"ms exceeded":"timeout exceeded";const C=a.transitional||M5;a.timeoutErrorMessage&&(A=a.timeoutErrorMessage),r(new nt(A,C.clarifyTimeoutError?nt.ETIMEDOUT:nt.ECONNABORTED,e,b)),b=null},s===void 0&&l.setContentType(null),"setRequestHeader"in b&&fe.forEach(l.toJSON(),function(A,C){b.setRequestHeader(C,A)}),fe.isUndefined(a.withCredentials)||(b.withCredentials=!!a.withCredentials),u&&u!=="json"&&(b.responseType=a.responseType),f&&([g,j]=Nv(f,!0),b.addEventListener("progress",g)),d&&b.upload&&([p,x]=Nv(d),b.upload.addEventListener("progress",p),b.upload.addEventListener("loadend",x)),(a.cancelToken||a.signal)&&(m=O=>{b&&(r(!O||O.type?new Bu(null,e,b):O),b.abort(),b=null)},a.cancelToken&&a.cancelToken.subscribe(m),a.signal&&(a.signal.aborted?m():a.signal.addEventListener("abort",m)));const E=sX(a.url);if(E&&hr.protocols.indexOf(E)===-1){r(new nt("Unsupported protocol "+E+":",nt.ERR_BAD_REQUEST,e));return}b.send(s||null)})},pX=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,a;const s=function(f){if(!a){a=!0,u();const m=f instanceof Error?f:this.reason;r.abort(m instanceof nt?m:new Bu(m instanceof Error?m.message:m))}};let l=t&&setTimeout(()=>{l=null,s(new nt(`timeout ${t} of ms exceeded`,nt.ETIMEDOUT))},t);const u=()=>{e&&(l&&clearTimeout(l),l=null,e.forEach(f=>{f.unsubscribe?f.unsubscribe(s):f.removeEventListener("abort",s)}),e=null)};e.forEach(f=>f.addEventListener("abort",s));const{signal:d}=r;return d.unsubscribe=()=>fe.asap(u),d}},vX=function*(e,t){let n=e.byteLength;if(n{const a=gX(e,t);let s=0,l,u=d=>{l||(l=!0,r&&r(d))};return new ReadableStream({async pull(d){try{const{done:f,value:m}=await a.next();if(f){u(),d.close();return}let p=m.byteLength;if(n){let g=s+=p;n(g)}d.enqueue(new Uint8Array(m))}catch(f){throw u(f),f}},cancel(d){return u(d),a.return()}},{highWaterMark:2})},$M=64*1024,{isFunction:Mp}=fe,xX=(({Request:e,Response:t})=>({Request:e,Response:t}))(fe.global),{ReadableStream:IM,TextEncoder:LM}=fe.global,zM=(e,...t)=>{try{return!!e(...t)}catch{return!1}},bX=e=>{e=fe.merge.call({skipUndefined:!0},xX,e);const{fetch:t,Request:n,Response:r}=e,a=t?Mp(t):typeof fetch=="function",s=Mp(n),l=Mp(r);if(!a)return!1;const u=a&&Mp(IM),d=a&&(typeof LM=="function"?(j=>w=>j.encode(w))(new LM):async j=>new Uint8Array(await new n(j).arrayBuffer())),f=s&&u&&zM(()=>{let j=!1;const w=new n(hr.origin,{body:new IM,method:"POST",get duplex(){return j=!0,"half"}}).headers.has("Content-Type");return j&&!w}),m=l&&u&&zM(()=>fe.isReadableStream(new r("").body)),p={stream:m&&(j=>j.body)};a&&["text","arrayBuffer","blob","formData","stream"].forEach(j=>{!p[j]&&(p[j]=(w,b)=>{let N=w&&w[j];if(N)return N.call(w);throw new nt(`Response type '${j}' is not supported`,nt.ERR_NOT_SUPPORT,b)})});const g=async j=>{if(j==null)return 0;if(fe.isBlob(j))return j.size;if(fe.isSpecCompliantForm(j))return(await new n(hr.origin,{method:"POST",body:j}).arrayBuffer()).byteLength;if(fe.isArrayBufferView(j)||fe.isArrayBuffer(j))return j.byteLength;if(fe.isURLSearchParams(j)&&(j=j+""),fe.isString(j))return(await d(j)).byteLength},x=async(j,w)=>{const b=fe.toFiniteNumber(j.getContentLength());return b??g(w)};return async j=>{let{url:w,method:b,data:N,signal:E,cancelToken:O,timeout:A,onDownloadProgress:C,onUploadProgress:k,responseType:T,headers:M,withCredentials:R="same-origin",fetchOptions:L}=I5(j),D=t||fetch;T=T?(T+"").toLowerCase():"text";let U=pX([E,O&&O.toAbortSignal()],A),V=null;const H=U&&U.unsubscribe&&(()=>{U.unsubscribe()});let G;try{if(k&&f&&b!=="get"&&b!=="head"&&(G=await x(M,N))!==0){let F=new n(w,{method:"POST",body:N,duplex:"half"}),z;if(fe.isFormData(N)&&(z=F.headers.get("content-type"))&&M.setContentType(z),F.body){const[K,ie]=MM(G,Nv(PM(k)));N=DM(F.body,$M,K,ie)}}fe.isString(R)||(R=R?"include":"omit");const $=s&&"credentials"in n.prototype,I={...L,signal:U,method:b.toUpperCase(),headers:M.normalize().toJSON(),body:N,duplex:"half",credentials:$?R:void 0};V=s&&new n(w,I);let q=await(s?D(V,L):D(w,I));const Z=m&&(T==="stream"||T==="response");if(m&&(C||Z&&H)){const F={};["status","statusText","headers"].forEach(Q=>{F[Q]=q[Q]});const z=fe.toFiniteNumber(q.headers.get("content-length")),[K,ie]=C&&MM(z,Nv(PM(C),!0))||[];q=new r(DM(q.body,$M,K,()=>{ie&&ie(),H&&H()}),F)}T=T||"text";let ee=await p[fe.findKey(p,T)||"text"](q,j);return!Z&&H&&H(),await new Promise((F,z)=>{D5(F,z,{data:ee,headers:Lr.from(q.headers),status:q.status,statusText:q.statusText,config:j,request:V})})}catch($){throw H&&H(),$&&$.name==="TypeError"&&/Load failed|fetch/i.test($.message)?Object.assign(new nt("Network Error",nt.ERR_NETWORK,j,V),{cause:$.cause||$}):nt.from($,$&&$.code,j,V)}}},wX=new Map,L5=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:a}=t,s=[r,a,n];let l=s.length,u=l,d,f,m=wX;for(;u--;)d=s[u],f=m.get(d),f===void 0&&m.set(d,f=u?new Map:bX(t)),m=f;return f};L5();const HC={http:LK,xhr:mX,fetch:{get:L5}};fe.forEach(HC,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const BM=e=>`- ${e}`,jX=e=>fe.isFunction(e)||e===null||e===!1;function SX(e,t){e=fe.isArray(e)?e:[e];const{length:n}=e;let r,a;const s={};for(let l=0;l`adapter ${d} `+(f===!1?"is not supported by the environment":"is not available in the build"));let u=n?l.length>1?`since : -`+l.map(BM).join(` -`):" "+BM(l[0]):"as no adapter specified";throw new nt("There is no suitable adapter to dispatch the request "+u,"ERR_NOT_SUPPORT")}return a}const z5={getAdapter:SX,adapters:HC};function Y0(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Bu(null,e)}function qM(e){return Y0(e),e.headers=Lr.from(e.headers),e.data=G0.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),z5.getAdapter(e.adapter||Ph.adapter,e)(e).then(function(r){return Y0(e),r.data=G0.call(e,e.transformResponse,r),r.headers=Lr.from(r.headers),r},function(r){return R5(r)||(Y0(e),r&&r.response&&(r.response.data=G0.call(e,e.transformResponse,r.response),r.response.headers=Lr.from(r.response.headers))),Promise.reject(r)})}const B5="1.13.2",Kg={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Kg[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const FM={};Kg.transitional=function(t,n,r){function a(s,l){return"[Axios v"+B5+"] Transitional option '"+s+"'"+l+(r?". "+r:"")}return(s,l,u)=>{if(t===!1)throw new nt(a(l," has been removed"+(n?" in "+n:"")),nt.ERR_DEPRECATED);return n&&!FM[l]&&(FM[l]=!0,console.warn(a(l," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(s,l,u):!0}};Kg.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function _X(e,t,n){if(typeof e!="object")throw new nt("options must be an object",nt.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let a=r.length;for(;a-- >0;){const s=r[a],l=t[s];if(l){const u=e[s],d=u===void 0||l(u,s,e);if(d!==!0)throw new nt("option "+s+" must be "+d,nt.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new nt("Unknown option "+s,nt.ERR_BAD_OPTION)}}const uv={assertOptions:_X,validators:Kg},ii=uv.validators;let il=class{constructor(t){this.defaults=t||{},this.interceptors={request:new TM,response:new TM}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let a={};Error.captureStackTrace?Error.captureStackTrace(a):a=new Error;const s=a.stack?a.stack.replace(/^.+\n/,""):"";try{r.stack?s&&!String(r.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(r.stack+=` -`+s):r.stack=s}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=fl(this.defaults,n);const{transitional:r,paramsSerializer:a,headers:s}=n;r!==void 0&&uv.assertOptions(r,{silentJSONParsing:ii.transitional(ii.boolean),forcedJSONParsing:ii.transitional(ii.boolean),clarifyTimeoutError:ii.transitional(ii.boolean)},!1),a!=null&&(fe.isFunction(a)?n.paramsSerializer={serialize:a}:uv.assertOptions(a,{encode:ii.function,serialize:ii.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),uv.assertOptions(n,{baseUrl:ii.spelling("baseURL"),withXsrfToken:ii.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let l=s&&fe.merge(s.common,s[n.method]);s&&fe.forEach(["delete","get","head","post","put","patch","common"],j=>{delete s[j]}),n.headers=Lr.concat(l,s);const u=[];let d=!0;this.interceptors.request.forEach(function(w){typeof w.runWhen=="function"&&w.runWhen(n)===!1||(d=d&&w.synchronous,u.unshift(w.fulfilled,w.rejected))});const f=[];this.interceptors.response.forEach(function(w){f.push(w.fulfilled,w.rejected)});let m,p=0,g;if(!d){const j=[qM.bind(this),void 0];for(j.unshift(...u),j.push(...f),g=j.length,m=Promise.resolve(n);p{if(!r._listeners)return;let s=r._listeners.length;for(;s-- >0;)r._listeners[s](a);r._listeners=null}),this.promise.then=a=>{let s;const l=new Promise(u=>{r.subscribe(u),s=u}).then(a);return l.cancel=function(){r.unsubscribe(s)},l},t(function(s,l,u){r.reason||(r.reason=new Bu(s,l,u),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new q5(function(a){t=a}),cancel:t}}};function CX(e){return function(n){return e.apply(null,n)}}function OX(e){return fe.isObject(e)&&e.isAxiosError===!0}const O_={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(O_).forEach(([e,t])=>{O_[t]=e});function F5(e){const t=new il(e),n=x5(il.prototype.request,t);return fe.extend(n,il.prototype,t,{allOwnKeys:!0}),fe.extend(n,t,null,{allOwnKeys:!0}),n.create=function(a){return F5(fl(e,a))},n}const xn=F5(Ph);xn.Axios=il;xn.CanceledError=Bu;xn.CancelToken=NX;xn.isCancel=R5;xn.VERSION=B5;xn.toFormData=Yg;xn.AxiosError=nt;xn.Cancel=xn.CanceledError;xn.all=function(t){return Promise.all(t)};xn.spread=CX;xn.isAxiosError=OX;xn.mergeConfig=fl;xn.AxiosHeaders=Lr;xn.formToJSON=e=>P5(fe.isHTMLForm(e)?new FormData(e):e);xn.getAdapter=z5.getAdapter;xn.HttpStatusCode=O_;xn.default=xn;const{Axios:R2e,AxiosError:D2e,CanceledError:$2e,isCancel:I2e,CancelToken:L2e,VERSION:z2e,all:B2e,Cancel:q2e,isAxiosError:F2e,spread:U2e,toFormData:H2e,AxiosHeaders:W2e,HttpStatusCode:V2e,formToJSON:G2e,getAdapter:Y2e,mergeConfig:K2e}=xn;function U5(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t{const n=new Array(e.length+t.length);for(let r=0;r({classGroupId:e,validator:t}),H5=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Cv="-",UM=[],TX="arbitrary..",kX=e=>{const t=PX(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:l=>{if(l.startsWith("[")&&l.endsWith("]"))return MX(l);const u=l.split(Cv),d=u[0]===""&&u.length>1?1:0;return W5(u,d,t)},getConflictingClassGroupIds:(l,u)=>{if(u){const d=r[l],f=n[l];return d?f?EX(f,d):d:f||UM}return n[l]||UM}}},W5=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const a=e[t],s=n.nextPart.get(a);if(s){const f=W5(e,t+1,s);if(f)return f}const l=n.validators;if(l===null)return;const u=t===0?e.join(Cv):e.slice(t).join(Cv),d=l.length;for(let f=0;fe.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),r=t.slice(0,n);return r?TX+r:void 0})(),PX=e=>{const{theme:t,classGroups:n}=e;return RX(n,t)},RX=(e,t)=>{const n=H5();for(const r in e){const a=e[r];WC(a,n,r,t)}return n},WC=(e,t,n,r)=>{const a=e.length;for(let s=0;s{if(typeof e=="string"){$X(e,t,n);return}if(typeof e=="function"){IX(e,t,n,r);return}LX(e,t,n,r)},$X=(e,t,n)=>{const r=e===""?t:V5(t,e);r.classGroupId=n},IX=(e,t,n,r)=>{if(zX(e)){WC(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(AX(n,e))},LX=(e,t,n,r)=>{const a=Object.entries(e),s=a.length;for(let l=0;l{let n=e;const r=t.split(Cv),a=r.length;for(let s=0;s"isThemeGetter"in e&&e.isThemeGetter===!0,BX=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null);const a=(s,l)=>{n[s]=l,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(s){let l=n[s];if(l!==void 0)return l;if((l=r[s])!==void 0)return a(s,l),l},set(s,l){s in n?n[s]=l:a(s,l)}}},E_="!",HM=":",qX=[],WM=(e,t,n,r,a)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:a}),FX=e=>{const{prefix:t,experimentalParseClassName:n}=e;let r=a=>{const s=[];let l=0,u=0,d=0,f;const m=a.length;for(let w=0;wd?f-d:void 0;return WM(s,x,g,j)};if(t){const a=t+HM,s=r;r=l=>l.startsWith(a)?s(l.slice(a.length)):WM(qX,!1,l,void 0,!0)}if(n){const a=r;r=s=>n({className:s,parseClassName:a})}return r},UX=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,r)=>{t.set(n,1e6+r)}),n=>{const r=[];let a=[];for(let s=0;s0&&(a.sort(),r.push(...a),a=[]),r.push(l)):a.push(l)}return a.length>0&&(a.sort(),r.push(...a)),r}},HX=e=>({cache:BX(e.cacheSize),parseClassName:FX(e),sortModifiers:UX(e),...kX(e)}),WX=/\s+/,VX=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:a,sortModifiers:s}=t,l=[],u=e.trim().split(WX);let d="";for(let f=u.length-1;f>=0;f-=1){const m=u[f],{isExternal:p,modifiers:g,hasImportantModifier:x,baseClassName:j,maybePostfixModifierPosition:w}=n(m);if(p){d=m+(d.length>0?" "+d:d);continue}let b=!!w,N=r(b?j.substring(0,w):j);if(!N){if(!b){d=m+(d.length>0?" "+d:d);continue}if(N=r(j),!N){d=m+(d.length>0?" "+d:d);continue}b=!1}const E=g.length===0?"":g.length===1?g[0]:s(g).join(":"),O=x?E+E_:E,A=O+N;if(l.indexOf(A)>-1)continue;l.push(A);const C=a(N,b);for(let k=0;k0?" "+d:d)}return d},GX=(...e)=>{let t=0,n,r,a="";for(;t{if(typeof e=="string")return e;let t,n="";for(let r=0;r{let n,r,a,s;const l=d=>{const f=t.reduce((m,p)=>p(m),e());return n=HX(f),r=n.cache.get,a=n.cache.set,s=u,u(d)},u=d=>{const f=r(d);if(f)return f;const m=VX(d,n);return a(d,m),m};return s=l,(...d)=>s(GX(...d))},KX=[],Rn=e=>{const t=n=>n[e]||KX;return t.isThemeGetter=!0,t},Y5=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,K5=/^\((?:(\w[\w-]*):)?(.+)\)$/i,XX=/^\d+\/\d+$/,ZX=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,QX=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,JX=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,eZ=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,tZ=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Nc=e=>XX.test(e),ct=e=>!!e&&!Number.isNaN(Number(e)),Ws=e=>!!e&&Number.isInteger(Number(e)),K0=e=>e.endsWith("%")&&ct(e.slice(0,-1)),Gi=e=>ZX.test(e),nZ=()=>!0,rZ=e=>QX.test(e)&&!JX.test(e),X5=()=>!1,aZ=e=>eZ.test(e),iZ=e=>tZ.test(e),sZ=e=>!Re(e)&&!De(e),oZ=e=>qu(e,J5,X5),Re=e=>Y5.test(e),Fo=e=>qu(e,ez,rZ),X0=e=>qu(e,fZ,ct),VM=e=>qu(e,Z5,X5),lZ=e=>qu(e,Q5,iZ),Pp=e=>qu(e,tz,aZ),De=e=>K5.test(e),tf=e=>Fu(e,ez),cZ=e=>Fu(e,hZ),GM=e=>Fu(e,Z5),uZ=e=>Fu(e,J5),dZ=e=>Fu(e,Q5),Rp=e=>Fu(e,tz,!0),qu=(e,t,n)=>{const r=Y5.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Fu=(e,t,n=!1)=>{const r=K5.exec(e);return r?r[1]?t(r[1]):n:!1},Z5=e=>e==="position"||e==="percentage",Q5=e=>e==="image"||e==="url",J5=e=>e==="length"||e==="size"||e==="bg-size",ez=e=>e==="length",fZ=e=>e==="number",hZ=e=>e==="family-name",tz=e=>e==="shadow",mZ=()=>{const e=Rn("color"),t=Rn("font"),n=Rn("text"),r=Rn("font-weight"),a=Rn("tracking"),s=Rn("leading"),l=Rn("breakpoint"),u=Rn("container"),d=Rn("spacing"),f=Rn("radius"),m=Rn("shadow"),p=Rn("inset-shadow"),g=Rn("text-shadow"),x=Rn("drop-shadow"),j=Rn("blur"),w=Rn("perspective"),b=Rn("aspect"),N=Rn("ease"),E=Rn("animate"),O=()=>["auto","avoid","all","avoid-page","page","left","right","column"],A=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],C=()=>[...A(),De,Re],k=()=>["auto","hidden","clip","visible","scroll"],T=()=>["auto","contain","none"],M=()=>[De,Re,d],R=()=>[Nc,"full","auto",...M()],L=()=>[Ws,"none","subgrid",De,Re],D=()=>["auto",{span:["full",Ws,De,Re]},Ws,De,Re],U=()=>[Ws,"auto",De,Re],V=()=>["auto","min","max","fr",De,Re],H=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],G=()=>["start","end","center","stretch","center-safe","end-safe"],$=()=>["auto",...M()],I=()=>[Nc,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...M()],q=()=>[e,De,Re],Z=()=>[...A(),GM,VM,{position:[De,Re]}],ee=()=>["no-repeat",{repeat:["","x","y","space","round"]}],F=()=>["auto","cover","contain",uZ,oZ,{size:[De,Re]}],z=()=>[K0,tf,Fo],K=()=>["","none","full",f,De,Re],ie=()=>["",ct,tf,Fo],Q=()=>["solid","dashed","dotted","double"],he=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ae=()=>[ct,K0,GM,VM],we=()=>["","none",j,De,Re],Y=()=>["none",ct,De,Re],pe=()=>["none",ct,De,Re],je=()=>[ct,De,Re],X=()=>[Nc,"full",...M()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Gi],breakpoint:[Gi],color:[nZ],container:[Gi],"drop-shadow":[Gi],ease:["in","out","in-out"],font:[sZ],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Gi],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Gi],shadow:[Gi],spacing:["px",ct],text:[Gi],"text-shadow":[Gi],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Nc,Re,De,b]}],container:["container"],columns:[{columns:[ct,Re,De,u]}],"break-after":[{"break-after":O()}],"break-before":[{"break-before":O()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:C()}],overflow:[{overflow:k()}],"overflow-x":[{"overflow-x":k()}],"overflow-y":[{"overflow-y":k()}],overscroll:[{overscroll:T()}],"overscroll-x":[{"overscroll-x":T()}],"overscroll-y":[{"overscroll-y":T()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:R()}],"inset-x":[{"inset-x":R()}],"inset-y":[{"inset-y":R()}],start:[{start:R()}],end:[{end:R()}],top:[{top:R()}],right:[{right:R()}],bottom:[{bottom:R()}],left:[{left:R()}],visibility:["visible","invisible","collapse"],z:[{z:[Ws,"auto",De,Re]}],basis:[{basis:[Nc,"full","auto",u,...M()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ct,Nc,"auto","initial","none",Re]}],grow:[{grow:["",ct,De,Re]}],shrink:[{shrink:["",ct,De,Re]}],order:[{order:[Ws,"first","last","none",De,Re]}],"grid-cols":[{"grid-cols":L()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":U()}],"col-end":[{"col-end":U()}],"grid-rows":[{"grid-rows":L()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":U()}],"row-end":[{"row-end":U()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":V()}],"auto-rows":[{"auto-rows":V()}],gap:[{gap:M()}],"gap-x":[{"gap-x":M()}],"gap-y":[{"gap-y":M()}],"justify-content":[{justify:[...H(),"normal"]}],"justify-items":[{"justify-items":[...G(),"normal"]}],"justify-self":[{"justify-self":["auto",...G()]}],"align-content":[{content:["normal",...H()]}],"align-items":[{items:[...G(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...G(),{baseline:["","last"]}]}],"place-content":[{"place-content":H()}],"place-items":[{"place-items":[...G(),"baseline"]}],"place-self":[{"place-self":["auto",...G()]}],p:[{p:M()}],px:[{px:M()}],py:[{py:M()}],ps:[{ps:M()}],pe:[{pe:M()}],pt:[{pt:M()}],pr:[{pr:M()}],pb:[{pb:M()}],pl:[{pl:M()}],m:[{m:$()}],mx:[{mx:$()}],my:[{my:$()}],ms:[{ms:$()}],me:[{me:$()}],mt:[{mt:$()}],mr:[{mr:$()}],mb:[{mb:$()}],ml:[{ml:$()}],"space-x":[{"space-x":M()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":M()}],"space-y-reverse":["space-y-reverse"],size:[{size:I()}],w:[{w:[u,"screen",...I()]}],"min-w":[{"min-w":[u,"screen","none",...I()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[l]},...I()]}],h:[{h:["screen","lh",...I()]}],"min-h":[{"min-h":["screen","lh","none",...I()]}],"max-h":[{"max-h":["screen","lh",...I()]}],"font-size":[{text:["base",n,tf,Fo]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,De,X0]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",K0,Re]}],"font-family":[{font:[cZ,Re,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[a,De,Re]}],"line-clamp":[{"line-clamp":[ct,"none",De,X0]}],leading:[{leading:[s,...M()]}],"list-image":[{"list-image":["none",De,Re]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",De,Re]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:q()}],"text-color":[{text:q()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Q(),"wavy"]}],"text-decoration-thickness":[{decoration:[ct,"from-font","auto",De,Fo]}],"text-decoration-color":[{decoration:q()}],"underline-offset":[{"underline-offset":[ct,"auto",De,Re]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:M()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",De,Re]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",De,Re]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Z()}],"bg-repeat":[{bg:ee()}],"bg-size":[{bg:F()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Ws,De,Re],radial:["",De,Re],conic:[Ws,De,Re]},dZ,lZ]}],"bg-color":[{bg:q()}],"gradient-from-pos":[{from:z()}],"gradient-via-pos":[{via:z()}],"gradient-to-pos":[{to:z()}],"gradient-from":[{from:q()}],"gradient-via":[{via:q()}],"gradient-to":[{to:q()}],rounded:[{rounded:K()}],"rounded-s":[{"rounded-s":K()}],"rounded-e":[{"rounded-e":K()}],"rounded-t":[{"rounded-t":K()}],"rounded-r":[{"rounded-r":K()}],"rounded-b":[{"rounded-b":K()}],"rounded-l":[{"rounded-l":K()}],"rounded-ss":[{"rounded-ss":K()}],"rounded-se":[{"rounded-se":K()}],"rounded-ee":[{"rounded-ee":K()}],"rounded-es":[{"rounded-es":K()}],"rounded-tl":[{"rounded-tl":K()}],"rounded-tr":[{"rounded-tr":K()}],"rounded-br":[{"rounded-br":K()}],"rounded-bl":[{"rounded-bl":K()}],"border-w":[{border:ie()}],"border-w-x":[{"border-x":ie()}],"border-w-y":[{"border-y":ie()}],"border-w-s":[{"border-s":ie()}],"border-w-e":[{"border-e":ie()}],"border-w-t":[{"border-t":ie()}],"border-w-r":[{"border-r":ie()}],"border-w-b":[{"border-b":ie()}],"border-w-l":[{"border-l":ie()}],"divide-x":[{"divide-x":ie()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ie()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Q(),"hidden","none"]}],"divide-style":[{divide:[...Q(),"hidden","none"]}],"border-color":[{border:q()}],"border-color-x":[{"border-x":q()}],"border-color-y":[{"border-y":q()}],"border-color-s":[{"border-s":q()}],"border-color-e":[{"border-e":q()}],"border-color-t":[{"border-t":q()}],"border-color-r":[{"border-r":q()}],"border-color-b":[{"border-b":q()}],"border-color-l":[{"border-l":q()}],"divide-color":[{divide:q()}],"outline-style":[{outline:[...Q(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ct,De,Re]}],"outline-w":[{outline:["",ct,tf,Fo]}],"outline-color":[{outline:q()}],shadow:[{shadow:["","none",m,Rp,Pp]}],"shadow-color":[{shadow:q()}],"inset-shadow":[{"inset-shadow":["none",p,Rp,Pp]}],"inset-shadow-color":[{"inset-shadow":q()}],"ring-w":[{ring:ie()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:q()}],"ring-offset-w":[{"ring-offset":[ct,Fo]}],"ring-offset-color":[{"ring-offset":q()}],"inset-ring-w":[{"inset-ring":ie()}],"inset-ring-color":[{"inset-ring":q()}],"text-shadow":[{"text-shadow":["none",g,Rp,Pp]}],"text-shadow-color":[{"text-shadow":q()}],opacity:[{opacity:[ct,De,Re]}],"mix-blend":[{"mix-blend":[...he(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":he()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ct]}],"mask-image-linear-from-pos":[{"mask-linear-from":ae()}],"mask-image-linear-to-pos":[{"mask-linear-to":ae()}],"mask-image-linear-from-color":[{"mask-linear-from":q()}],"mask-image-linear-to-color":[{"mask-linear-to":q()}],"mask-image-t-from-pos":[{"mask-t-from":ae()}],"mask-image-t-to-pos":[{"mask-t-to":ae()}],"mask-image-t-from-color":[{"mask-t-from":q()}],"mask-image-t-to-color":[{"mask-t-to":q()}],"mask-image-r-from-pos":[{"mask-r-from":ae()}],"mask-image-r-to-pos":[{"mask-r-to":ae()}],"mask-image-r-from-color":[{"mask-r-from":q()}],"mask-image-r-to-color":[{"mask-r-to":q()}],"mask-image-b-from-pos":[{"mask-b-from":ae()}],"mask-image-b-to-pos":[{"mask-b-to":ae()}],"mask-image-b-from-color":[{"mask-b-from":q()}],"mask-image-b-to-color":[{"mask-b-to":q()}],"mask-image-l-from-pos":[{"mask-l-from":ae()}],"mask-image-l-to-pos":[{"mask-l-to":ae()}],"mask-image-l-from-color":[{"mask-l-from":q()}],"mask-image-l-to-color":[{"mask-l-to":q()}],"mask-image-x-from-pos":[{"mask-x-from":ae()}],"mask-image-x-to-pos":[{"mask-x-to":ae()}],"mask-image-x-from-color":[{"mask-x-from":q()}],"mask-image-x-to-color":[{"mask-x-to":q()}],"mask-image-y-from-pos":[{"mask-y-from":ae()}],"mask-image-y-to-pos":[{"mask-y-to":ae()}],"mask-image-y-from-color":[{"mask-y-from":q()}],"mask-image-y-to-color":[{"mask-y-to":q()}],"mask-image-radial":[{"mask-radial":[De,Re]}],"mask-image-radial-from-pos":[{"mask-radial-from":ae()}],"mask-image-radial-to-pos":[{"mask-radial-to":ae()}],"mask-image-radial-from-color":[{"mask-radial-from":q()}],"mask-image-radial-to-color":[{"mask-radial-to":q()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":A()}],"mask-image-conic-pos":[{"mask-conic":[ct]}],"mask-image-conic-from-pos":[{"mask-conic-from":ae()}],"mask-image-conic-to-pos":[{"mask-conic-to":ae()}],"mask-image-conic-from-color":[{"mask-conic-from":q()}],"mask-image-conic-to-color":[{"mask-conic-to":q()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Z()}],"mask-repeat":[{mask:ee()}],"mask-size":[{mask:F()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",De,Re]}],filter:[{filter:["","none",De,Re]}],blur:[{blur:we()}],brightness:[{brightness:[ct,De,Re]}],contrast:[{contrast:[ct,De,Re]}],"drop-shadow":[{"drop-shadow":["","none",x,Rp,Pp]}],"drop-shadow-color":[{"drop-shadow":q()}],grayscale:[{grayscale:["",ct,De,Re]}],"hue-rotate":[{"hue-rotate":[ct,De,Re]}],invert:[{invert:["",ct,De,Re]}],saturate:[{saturate:[ct,De,Re]}],sepia:[{sepia:["",ct,De,Re]}],"backdrop-filter":[{"backdrop-filter":["","none",De,Re]}],"backdrop-blur":[{"backdrop-blur":we()}],"backdrop-brightness":[{"backdrop-brightness":[ct,De,Re]}],"backdrop-contrast":[{"backdrop-contrast":[ct,De,Re]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ct,De,Re]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ct,De,Re]}],"backdrop-invert":[{"backdrop-invert":["",ct,De,Re]}],"backdrop-opacity":[{"backdrop-opacity":[ct,De,Re]}],"backdrop-saturate":[{"backdrop-saturate":[ct,De,Re]}],"backdrop-sepia":[{"backdrop-sepia":["",ct,De,Re]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":M()}],"border-spacing-x":[{"border-spacing-x":M()}],"border-spacing-y":[{"border-spacing-y":M()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",De,Re]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ct,"initial",De,Re]}],ease:[{ease:["linear","initial",N,De,Re]}],delay:[{delay:[ct,De,Re]}],animate:[{animate:["none",E,De,Re]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,De,Re]}],"perspective-origin":[{"perspective-origin":C()}],rotate:[{rotate:Y()}],"rotate-x":[{"rotate-x":Y()}],"rotate-y":[{"rotate-y":Y()}],"rotate-z":[{"rotate-z":Y()}],scale:[{scale:pe()}],"scale-x":[{"scale-x":pe()}],"scale-y":[{"scale-y":pe()}],"scale-z":[{"scale-z":pe()}],"scale-3d":["scale-3d"],skew:[{skew:je()}],"skew-x":[{"skew-x":je()}],"skew-y":[{"skew-y":je()}],transform:[{transform:[De,Re,"","none","gpu","cpu"]}],"transform-origin":[{origin:C()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:X()}],"translate-x":[{"translate-x":X()}],"translate-y":[{"translate-y":X()}],"translate-z":[{"translate-z":X()}],"translate-none":["translate-none"],accent:[{accent:q()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:q()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",De,Re]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":M()}],"scroll-mx":[{"scroll-mx":M()}],"scroll-my":[{"scroll-my":M()}],"scroll-ms":[{"scroll-ms":M()}],"scroll-me":[{"scroll-me":M()}],"scroll-mt":[{"scroll-mt":M()}],"scroll-mr":[{"scroll-mr":M()}],"scroll-mb":[{"scroll-mb":M()}],"scroll-ml":[{"scroll-ml":M()}],"scroll-p":[{"scroll-p":M()}],"scroll-px":[{"scroll-px":M()}],"scroll-py":[{"scroll-py":M()}],"scroll-ps":[{"scroll-ps":M()}],"scroll-pe":[{"scroll-pe":M()}],"scroll-pt":[{"scroll-pt":M()}],"scroll-pr":[{"scroll-pr":M()}],"scroll-pb":[{"scroll-pb":M()}],"scroll-pl":[{"scroll-pl":M()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",De,Re]}],fill:[{fill:["none",...q()]}],"stroke-w":[{stroke:[ct,tf,Fo,X0]}],stroke:[{stroke:["none",...q()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},pZ=YX(mZ);function ue(...e){return pZ(et(e))}const Ke=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ue("rounded-xl border bg-card text-card-foreground shadow",e),...t}));Ke.displayName="Card";const gt=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ue("flex flex-col space-y-1.5 p-6",e),...t}));gt.displayName="CardHeader";const yt=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ue("font-semibold leading-none tracking-tight",e),...t}));yt.displayName="CardTitle";const Wn=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ue("text-sm text-muted-foreground",e),...t}));Wn.displayName="CardDescription";const Pt=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ue("p-6 pt-0",e),...t}));Pt.displayName="CardContent";const nz=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ue("flex items-center p-6 pt-0",e),...t}));nz.displayName="CardFooter";function Ne(e,t,{checkForDefaultPrevented:n=!0}={}){return function(a){if(e?.(a),n===!1||!a.defaultPrevented)return t?.(a)}}function vZ(e,t){const n=y.createContext(t),r=s=>{const{children:l,...u}=s,d=y.useMemo(()=>u,Object.values(u));return i.jsx(n.Provider,{value:d,children:l})};r.displayName=e+"Provider";function a(s){const l=y.useContext(n);if(l)return l;if(t!==void 0)return t;throw new Error(`\`${s}\` must be used within \`${e}\``)}return[r,a]}function yr(e,t=[]){let n=[];function r(s,l){const u=y.createContext(l),d=n.length;n=[...n,l];const f=p=>{const{scope:g,children:x,...j}=p,w=g?.[e]?.[d]||u,b=y.useMemo(()=>j,Object.values(j));return i.jsx(w.Provider,{value:b,children:x})};f.displayName=s+"Provider";function m(p,g){const x=g?.[e]?.[d]||u,j=y.useContext(x);if(j)return j;if(l!==void 0)return l;throw new Error(`\`${p}\` must be used within \`${s}\``)}return[f,m]}const a=()=>{const s=n.map(l=>y.createContext(l));return function(u){const d=u?.[e]||s;return y.useMemo(()=>({[`__scope${e}`]:{...u,[e]:d}}),[u,d])}};return a.scopeName=e,[r,gZ(a,...t)]}function gZ(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(s){const l=r.reduce((u,{useScope:d,scopeName:f})=>{const p=d(s)[`__scope${f}`];return{...u,...p}},{});return y.useMemo(()=>({[`__scope${t.scopeName}`]:l}),[l])}};return n.scopeName=t.scopeName,n}function YM(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function zr(...e){return t=>{let n=!1;const r=e.map(a=>{const s=YM(a,t);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let a=0;a{const{children:s,...l}=r,u=y.Children.toArray(s),d=u.find(bZ);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}function yZ(e){const t=y.forwardRef((n,r)=>{const{children:a,...s}=n;if(y.isValidElement(a)){const l=jZ(a),u=wZ(s,a.props);return a.type!==y.Fragment&&(u.ref=r?zr(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var xZ=Symbol("radix.slottable");function bZ(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===xZ}function wZ(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function jZ(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Rh(e){const t=e+"CollectionProvider",[n,r]=yr(t),[a,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),l=w=>{const{scope:b,children:N}=w,E=W.useRef(null),O=W.useRef(new Map).current;return i.jsx(a,{scope:b,itemMap:O,collectionRef:E,children:N})};l.displayName=t;const u=e+"CollectionSlot",d=KM(u),f=W.forwardRef((w,b)=>{const{scope:N,children:E}=w,O=s(u,N),A=Ue(b,O.collectionRef);return i.jsx(d,{ref:A,children:E})});f.displayName=u;const m=e+"CollectionItemSlot",p="data-radix-collection-item",g=KM(m),x=W.forwardRef((w,b)=>{const{scope:N,children:E,...O}=w,A=W.useRef(null),C=Ue(b,A),k=s(m,N);return W.useEffect(()=>(k.itemMap.set(A,{ref:A,...O}),()=>void k.itemMap.delete(A))),i.jsx(g,{[p]:"",ref:C,children:E})});x.displayName=m;function j(w){const b=s(e+"CollectionConsumer",w);return W.useCallback(()=>{const E=b.collectionRef.current;if(!E)return[];const O=Array.from(E.querySelectorAll(`[${p}]`));return Array.from(b.itemMap.values()).sort((k,T)=>O.indexOf(k.ref.current)-O.indexOf(T.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:l,Slot:f,ItemSlot:x},j,r]}var Yn=globalThis?.document?y.useLayoutEffect:()=>{},SZ=TC[" useId ".trim().toString()]||(()=>{}),_Z=0;function Gn(e){const[t,n]=y.useState(SZ());return Yn(()=>{n(r=>r??String(_Z++))},[e]),t?`radix-${t}`:""}function NZ(e){const t=CZ(e),n=y.forwardRef((r,a)=>{const{children:s,...l}=r,u=y.Children.toArray(s),d=u.find(EZ);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}function CZ(e){const t=y.forwardRef((n,r)=>{const{children:a,...s}=n;if(y.isValidElement(a)){const l=TZ(a),u=AZ(s,a.props);return a.type!==y.Fragment&&(u.ref=r?zr(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var OZ=Symbol("radix.slottable");function EZ(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===OZ}function AZ(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function TZ(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var kZ=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],$e=kZ.reduce((e,t)=>{const n=NZ(`Primitive.${t}`),r=y.forwardRef((a,s)=>{const{asChild:l,...u}=a,d=l?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(d,{...u,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function VC(e,t){e&&Nl.flushSync(()=>e.dispatchEvent(t))}function yn(e){const t=y.useRef(e);return y.useEffect(()=>{t.current=e}),y.useMemo(()=>(...n)=>t.current?.(...n),[])}var MZ=TC[" useInsertionEffect ".trim().toString()]||Yn;function Ta({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[a,s,l]=PZ({defaultProp:t,onChange:n}),u=e!==void 0,d=u?e:a;{const m=y.useRef(e!==void 0);y.useEffect(()=>{const p=m.current;p!==u&&console.warn(`${r} is changing from ${p?"controlled":"uncontrolled"} to ${u?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),m.current=u},[u,r])}const f=y.useCallback(m=>{if(u){const p=RZ(m)?m(e):m;p!==e&&l.current?.(p)}else s(m)},[u,e,s,l]);return[d,f]}function PZ({defaultProp:e,onChange:t}){const[n,r]=y.useState(e),a=y.useRef(n),s=y.useRef(t);return MZ(()=>{s.current=t},[t]),y.useEffect(()=>{a.current!==n&&(s.current?.(n),a.current=n)},[n,a]),[n,r,s]}function RZ(e){return typeof e=="function"}var DZ=y.createContext(void 0);function Uu(e){const t=y.useContext(DZ);return e||t||"ltr"}var Z0="rovingFocusGroup.onEntryFocus",$Z={bubbles:!1,cancelable:!0},Dh="RovingFocusGroup",[A_,rz,IZ]=Rh(Dh),[LZ,Xg]=yr(Dh,[IZ]),[zZ,BZ]=LZ(Dh),az=y.forwardRef((e,t)=>i.jsx(A_.Provider,{scope:e.__scopeRovingFocusGroup,children:i.jsx(A_.Slot,{scope:e.__scopeRovingFocusGroup,children:i.jsx(qZ,{...e,ref:t})})}));az.displayName=Dh;var qZ=y.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:a=!1,dir:s,currentTabStopId:l,defaultCurrentTabStopId:u,onCurrentTabStopIdChange:d,onEntryFocus:f,preventScrollOnEntryFocus:m=!1,...p}=e,g=y.useRef(null),x=Ue(t,g),j=Uu(s),[w,b]=Ta({prop:l,defaultProp:u??null,onChange:d,caller:Dh}),[N,E]=y.useState(!1),O=yn(f),A=rz(n),C=y.useRef(!1),[k,T]=y.useState(0);return y.useEffect(()=>{const M=g.current;if(M)return M.addEventListener(Z0,O),()=>M.removeEventListener(Z0,O)},[O]),i.jsx(zZ,{scope:n,orientation:r,dir:j,loop:a,currentTabStopId:w,onItemFocus:y.useCallback(M=>b(M),[b]),onItemShiftTab:y.useCallback(()=>E(!0),[]),onFocusableItemAdd:y.useCallback(()=>T(M=>M+1),[]),onFocusableItemRemove:y.useCallback(()=>T(M=>M-1),[]),children:i.jsx($e.div,{tabIndex:N||k===0?-1:0,"data-orientation":r,...p,ref:x,style:{outline:"none",...e.style},onMouseDown:Ne(e.onMouseDown,()=>{C.current=!0}),onFocus:Ne(e.onFocus,M=>{const R=!C.current;if(M.target===M.currentTarget&&R&&!N){const L=new CustomEvent(Z0,$Z);if(M.currentTarget.dispatchEvent(L),!L.defaultPrevented){const D=A().filter($=>$.focusable),U=D.find($=>$.active),V=D.find($=>$.id===w),G=[U,V,...D].filter(Boolean).map($=>$.ref.current);oz(G,m)}}C.current=!1}),onBlur:Ne(e.onBlur,()=>E(!1))})})}),iz="RovingFocusGroupItem",sz=y.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:a=!1,tabStopId:s,children:l,...u}=e,d=Gn(),f=s||d,m=BZ(iz,n),p=m.currentTabStopId===f,g=rz(n),{onFocusableItemAdd:x,onFocusableItemRemove:j,currentTabStopId:w}=m;return y.useEffect(()=>{if(r)return x(),()=>j()},[r,x,j]),i.jsx(A_.ItemSlot,{scope:n,id:f,focusable:r,active:a,children:i.jsx($e.span,{tabIndex:p?0:-1,"data-orientation":m.orientation,...u,ref:t,onMouseDown:Ne(e.onMouseDown,b=>{r?m.onItemFocus(f):b.preventDefault()}),onFocus:Ne(e.onFocus,()=>m.onItemFocus(f)),onKeyDown:Ne(e.onKeyDown,b=>{if(b.key==="Tab"&&b.shiftKey){m.onItemShiftTab();return}if(b.target!==b.currentTarget)return;const N=HZ(b,m.orientation,m.dir);if(N!==void 0){if(b.metaKey||b.ctrlKey||b.altKey||b.shiftKey)return;b.preventDefault();let O=g().filter(A=>A.focusable).map(A=>A.ref.current);if(N==="last")O.reverse();else if(N==="prev"||N==="next"){N==="prev"&&O.reverse();const A=O.indexOf(b.currentTarget);O=m.loop?WZ(O,A+1):O.slice(A+1)}setTimeout(()=>oz(O))}}),children:typeof l=="function"?l({isCurrentTabStop:p,hasTabStop:w!=null}):l})})});sz.displayName=iz;var FZ={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function UZ(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function HZ(e,t,n){const r=UZ(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return FZ[r]}function oz(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function WZ(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var lz=az,cz=sz;function VZ(e,t){return y.useReducer((n,r)=>t[n][r]??n,e)}var zn=e=>{const{present:t,children:n}=e,r=GZ(t),a=typeof n=="function"?n({present:r.isPresent}):y.Children.only(n),s=Ue(r.ref,YZ(a));return typeof n=="function"||r.isPresent?y.cloneElement(a,{ref:s}):null};zn.displayName="Presence";function GZ(e){const[t,n]=y.useState(),r=y.useRef(null),a=y.useRef(e),s=y.useRef("none"),l=e?"mounted":"unmounted",[u,d]=VZ(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return y.useEffect(()=>{const f=Dp(r.current);s.current=u==="mounted"?f:"none"},[u]),Yn(()=>{const f=r.current,m=a.current;if(m!==e){const g=s.current,x=Dp(f);e?d("MOUNT"):x==="none"||f?.display==="none"?d("UNMOUNT"):d(m&&g!==x?"ANIMATION_OUT":"UNMOUNT"),a.current=e}},[e,d]),Yn(()=>{if(t){let f;const m=t.ownerDocument.defaultView??window,p=x=>{const w=Dp(r.current).includes(CSS.escape(x.animationName));if(x.target===t&&w&&(d("ANIMATION_END"),!a.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",f=m.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},g=x=>{x.target===t&&(s.current=Dp(r.current))};return t.addEventListener("animationstart",g),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{m.clearTimeout(f),t.removeEventListener("animationstart",g),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:y.useCallback(f=>{r.current=f?getComputedStyle(f):null,n(f)},[])}}function Dp(e){return e?.animationName||"none"}function YZ(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Zg="Tabs",[KZ]=yr(Zg,[Xg]),uz=Xg(),[XZ,GC]=KZ(Zg),dz=y.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,onValueChange:a,defaultValue:s,orientation:l="horizontal",dir:u,activationMode:d="automatic",...f}=e,m=Uu(u),[p,g]=Ta({prop:r,onChange:a,defaultProp:s??"",caller:Zg});return i.jsx(XZ,{scope:n,baseId:Gn(),value:p,onValueChange:g,orientation:l,dir:m,activationMode:d,children:i.jsx($e.div,{dir:m,"data-orientation":l,...f,ref:t})})});dz.displayName=Zg;var fz="TabsList",hz=y.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...a}=e,s=GC(fz,n),l=uz(n);return i.jsx(lz,{asChild:!0,...l,orientation:s.orientation,dir:s.dir,loop:r,children:i.jsx($e.div,{role:"tablist","aria-orientation":s.orientation,...a,ref:t})})});hz.displayName=fz;var mz="TabsTrigger",pz=y.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:a=!1,...s}=e,l=GC(mz,n),u=uz(n),d=yz(l.baseId,r),f=xz(l.baseId,r),m=r===l.value;return i.jsx(cz,{asChild:!0,...u,focusable:!a,active:m,children:i.jsx($e.button,{type:"button",role:"tab","aria-selected":m,"aria-controls":f,"data-state":m?"active":"inactive","data-disabled":a?"":void 0,disabled:a,id:d,...s,ref:t,onMouseDown:Ne(e.onMouseDown,p=>{!a&&p.button===0&&p.ctrlKey===!1?l.onValueChange(r):p.preventDefault()}),onKeyDown:Ne(e.onKeyDown,p=>{[" ","Enter"].includes(p.key)&&l.onValueChange(r)}),onFocus:Ne(e.onFocus,()=>{const p=l.activationMode!=="manual";!m&&!a&&p&&l.onValueChange(r)})})})});pz.displayName=mz;var vz="TabsContent",gz=y.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:a,children:s,...l}=e,u=GC(vz,n),d=yz(u.baseId,r),f=xz(u.baseId,r),m=r===u.value,p=y.useRef(m);return y.useEffect(()=>{const g=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(g)},[]),i.jsx(zn,{present:a||m,children:({present:g})=>i.jsx($e.div,{"data-state":m?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":d,hidden:!g,id:f,tabIndex:0,...l,ref:t,style:{...e.style,animationDuration:p.current?"0s":void 0},children:g&&s})})});gz.displayName=vz;function yz(e,t){return`${e}-trigger-${t}`}function xz(e,t){return`${e}-content-${t}`}var ZZ=dz,bz=hz,wz=pz,jz=gz;const hl=ZZ,ao=y.forwardRef(({className:e,...t},n)=>i.jsx(bz,{ref:n,className:ue("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...t}));ao.displayName=bz.displayName;const Lt=y.forwardRef(({className:e,...t},n)=>i.jsx(wz,{ref:n,className:ue("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all duration-300 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",e),...t}));Lt.displayName=wz.displayName;const vn=y.forwardRef(({className:e,...t},n)=>i.jsx(jz,{ref:n,className:ue("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 data-[state=active]:animate-in data-[state=active]:fade-in data-[state=active]:duration-300",e),...t}));vn.displayName=jz.displayName;function Df(e,[t,n]){return Math.min(n,Math.max(t,e))}function QZ(e,t){return y.useReducer((n,r)=>t[n][r]??n,e)}var YC="ScrollArea",[Sz]=yr(YC),[JZ,Ma]=Sz(YC),_z=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:a,scrollHideDelay:s=600,...l}=e,[u,d]=y.useState(null),[f,m]=y.useState(null),[p,g]=y.useState(null),[x,j]=y.useState(null),[w,b]=y.useState(null),[N,E]=y.useState(0),[O,A]=y.useState(0),[C,k]=y.useState(!1),[T,M]=y.useState(!1),R=Ue(t,D=>d(D)),L=Uu(a);return i.jsx(JZ,{scope:n,type:r,dir:L,scrollHideDelay:s,scrollArea:u,viewport:f,onViewportChange:m,content:p,onContentChange:g,scrollbarX:x,onScrollbarXChange:j,scrollbarXEnabled:C,onScrollbarXEnabledChange:k,scrollbarY:w,onScrollbarYChange:b,scrollbarYEnabled:T,onScrollbarYEnabledChange:M,onCornerWidthChange:E,onCornerHeightChange:A,children:i.jsx($e.div,{dir:L,...l,ref:R,style:{position:"relative","--radix-scroll-area-corner-width":N+"px","--radix-scroll-area-corner-height":O+"px",...e.style}})})});_z.displayName=YC;var Nz="ScrollAreaViewport",Cz=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,nonce:a,...s}=e,l=Ma(Nz,n),u=y.useRef(null),d=Ue(t,u,l.onViewportChange);return i.jsxs(i.Fragment,{children:[i.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),i.jsx($e.div,{"data-radix-scroll-area-viewport":"",...s,ref:d,style:{overflowX:l.scrollbarXEnabled?"scroll":"hidden",overflowY:l.scrollbarYEnabled?"scroll":"hidden",...e.style},children:i.jsx("div",{ref:l.onContentChange,style:{minWidth:"100%",display:"table"},children:r})})]})});Cz.displayName=Nz;var _i="ScrollAreaScrollbar",KC=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,a=Ma(_i,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:l}=a,u=e.orientation==="horizontal";return y.useEffect(()=>(u?s(!0):l(!0),()=>{u?s(!1):l(!1)}),[u,s,l]),a.type==="hover"?i.jsx(eQ,{...r,ref:t,forceMount:n}):a.type==="scroll"?i.jsx(tQ,{...r,ref:t,forceMount:n}):a.type==="auto"?i.jsx(Oz,{...r,ref:t,forceMount:n}):a.type==="always"?i.jsx(XC,{...r,ref:t}):null});KC.displayName=_i;var eQ=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,a=Ma(_i,e.__scopeScrollArea),[s,l]=y.useState(!1);return y.useEffect(()=>{const u=a.scrollArea;let d=0;if(u){const f=()=>{window.clearTimeout(d),l(!0)},m=()=>{d=window.setTimeout(()=>l(!1),a.scrollHideDelay)};return u.addEventListener("pointerenter",f),u.addEventListener("pointerleave",m),()=>{window.clearTimeout(d),u.removeEventListener("pointerenter",f),u.removeEventListener("pointerleave",m)}}},[a.scrollArea,a.scrollHideDelay]),i.jsx(zn,{present:n||s,children:i.jsx(Oz,{"data-state":s?"visible":"hidden",...r,ref:t})})}),tQ=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,a=Ma(_i,e.__scopeScrollArea),s=e.orientation==="horizontal",l=Jg(()=>d("SCROLL_END"),100),[u,d]=QZ("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return y.useEffect(()=>{if(u==="idle"){const f=window.setTimeout(()=>d("HIDE"),a.scrollHideDelay);return()=>window.clearTimeout(f)}},[u,a.scrollHideDelay,d]),y.useEffect(()=>{const f=a.viewport,m=s?"scrollLeft":"scrollTop";if(f){let p=f[m];const g=()=>{const x=f[m];p!==x&&(d("SCROLL"),l()),p=x};return f.addEventListener("scroll",g),()=>f.removeEventListener("scroll",g)}},[a.viewport,s,d,l]),i.jsx(zn,{present:n||u!=="hidden",children:i.jsx(XC,{"data-state":u==="hidden"?"hidden":"visible",...r,ref:t,onPointerEnter:Ne(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:Ne(e.onPointerLeave,()=>d("POINTER_LEAVE"))})})}),Oz=y.forwardRef((e,t)=>{const n=Ma(_i,e.__scopeScrollArea),{forceMount:r,...a}=e,[s,l]=y.useState(!1),u=e.orientation==="horizontal",d=Jg(()=>{if(n.viewport){const f=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=e,a=Ma(_i,e.__scopeScrollArea),s=y.useRef(null),l=y.useRef(0),[u,d]=y.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),f=Mz(u.viewport,u.content),m={...r,sizes:u,onSizesChange:d,hasThumb:f>0&&f<1,onThumbChange:g=>s.current=g,onThumbPointerUp:()=>l.current=0,onThumbPointerDown:g=>l.current=g};function p(g,x){return oQ(g,l.current,u,x)}return n==="horizontal"?i.jsx(nQ,{...m,ref:t,onThumbPositionChange:()=>{if(a.viewport&&s.current){const g=a.viewport.scrollLeft,x=XM(g,u,a.dir);s.current.style.transform=`translate3d(${x}px, 0, 0)`}},onWheelScroll:g=>{a.viewport&&(a.viewport.scrollLeft=g)},onDragScroll:g=>{a.viewport&&(a.viewport.scrollLeft=p(g,a.dir))}}):n==="vertical"?i.jsx(rQ,{...m,ref:t,onThumbPositionChange:()=>{if(a.viewport&&s.current){const g=a.viewport.scrollTop,x=XM(g,u);s.current.style.transform=`translate3d(0, ${x}px, 0)`}},onWheelScroll:g=>{a.viewport&&(a.viewport.scrollTop=g)},onDragScroll:g=>{a.viewport&&(a.viewport.scrollTop=p(g))}}):null}),nQ=y.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...a}=e,s=Ma(_i,e.__scopeScrollArea),[l,u]=y.useState(),d=y.useRef(null),f=Ue(t,d,s.onScrollbarXChange);return y.useEffect(()=>{d.current&&u(getComputedStyle(d.current))},[d]),i.jsx(Az,{"data-orientation":"horizontal",...a,ref:f,sizes:n,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Qg(n)+"px",...e.style},onThumbPointerDown:m=>e.onThumbPointerDown(m.x),onDragScroll:m=>e.onDragScroll(m.x),onWheelScroll:(m,p)=>{if(s.viewport){const g=s.viewport.scrollLeft+m.deltaX;e.onWheelScroll(g),Rz(g,p)&&m.preventDefault()}},onResize:()=>{d.current&&s.viewport&&l&&r({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:Ev(l.paddingLeft),paddingEnd:Ev(l.paddingRight)}})}})}),rQ=y.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...a}=e,s=Ma(_i,e.__scopeScrollArea),[l,u]=y.useState(),d=y.useRef(null),f=Ue(t,d,s.onScrollbarYChange);return y.useEffect(()=>{d.current&&u(getComputedStyle(d.current))},[d]),i.jsx(Az,{"data-orientation":"vertical",...a,ref:f,sizes:n,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Qg(n)+"px",...e.style},onThumbPointerDown:m=>e.onThumbPointerDown(m.y),onDragScroll:m=>e.onDragScroll(m.y),onWheelScroll:(m,p)=>{if(s.viewport){const g=s.viewport.scrollTop+m.deltaY;e.onWheelScroll(g),Rz(g,p)&&m.preventDefault()}},onResize:()=>{d.current&&s.viewport&&l&&r({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:Ev(l.paddingTop),paddingEnd:Ev(l.paddingBottom)}})}})}),[aQ,Ez]=Sz(_i),Az=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:a,onThumbChange:s,onThumbPointerUp:l,onThumbPointerDown:u,onThumbPositionChange:d,onDragScroll:f,onWheelScroll:m,onResize:p,...g}=e,x=Ma(_i,n),[j,w]=y.useState(null),b=Ue(t,R=>w(R)),N=y.useRef(null),E=y.useRef(""),O=x.viewport,A=r.content-r.viewport,C=yn(m),k=yn(d),T=Jg(p,10);function M(R){if(N.current){const L=R.clientX-N.current.left,D=R.clientY-N.current.top;f({x:L,y:D})}}return y.useEffect(()=>{const R=L=>{const D=L.target;j?.contains(D)&&C(L,A)};return document.addEventListener("wheel",R,{passive:!1}),()=>document.removeEventListener("wheel",R,{passive:!1})},[O,j,A,C]),y.useEffect(k,[r,k]),ou(j,T),ou(x.content,T),i.jsx(aQ,{scope:n,scrollbar:j,hasThumb:a,onThumbChange:yn(s),onThumbPointerUp:yn(l),onThumbPositionChange:k,onThumbPointerDown:yn(u),children:i.jsx($e.div,{...g,ref:b,style:{position:"absolute",...g.style},onPointerDown:Ne(e.onPointerDown,R=>{R.button===0&&(R.target.setPointerCapture(R.pointerId),N.current=j.getBoundingClientRect(),E.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",x.viewport&&(x.viewport.style.scrollBehavior="auto"),M(R))}),onPointerMove:Ne(e.onPointerMove,M),onPointerUp:Ne(e.onPointerUp,R=>{const L=R.target;L.hasPointerCapture(R.pointerId)&&L.releasePointerCapture(R.pointerId),document.body.style.webkitUserSelect=E.current,x.viewport&&(x.viewport.style.scrollBehavior=""),N.current=null})})})}),Ov="ScrollAreaThumb",Tz=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,a=Ez(Ov,e.__scopeScrollArea);return i.jsx(zn,{present:n||a.hasThumb,children:i.jsx(iQ,{ref:t,...r})})}),iQ=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...a}=e,s=Ma(Ov,n),l=Ez(Ov,n),{onThumbPositionChange:u}=l,d=Ue(t,p=>l.onThumbChange(p)),f=y.useRef(void 0),m=Jg(()=>{f.current&&(f.current(),f.current=void 0)},100);return y.useEffect(()=>{const p=s.viewport;if(p){const g=()=>{if(m(),!f.current){const x=lQ(p,u);f.current=x,u()}};return u(),p.addEventListener("scroll",g),()=>p.removeEventListener("scroll",g)}},[s.viewport,m,u]),i.jsx($e.div,{"data-state":l.hasThumb?"visible":"hidden",...a,ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:Ne(e.onPointerDownCapture,p=>{const x=p.target.getBoundingClientRect(),j=p.clientX-x.left,w=p.clientY-x.top;l.onThumbPointerDown({x:j,y:w})}),onPointerUp:Ne(e.onPointerUp,l.onThumbPointerUp)})});Tz.displayName=Ov;var ZC="ScrollAreaCorner",kz=y.forwardRef((e,t)=>{const n=Ma(ZC,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?i.jsx(sQ,{...e,ref:t}):null});kz.displayName=ZC;var sQ=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,a=Ma(ZC,n),[s,l]=y.useState(0),[u,d]=y.useState(0),f=!!(s&&u);return ou(a.scrollbarX,()=>{const m=a.scrollbarX?.offsetHeight||0;a.onCornerHeightChange(m),d(m)}),ou(a.scrollbarY,()=>{const m=a.scrollbarY?.offsetWidth||0;a.onCornerWidthChange(m),l(m)}),f?i.jsx($e.div,{...r,ref:t,style:{width:s,height:u,position:"absolute",right:a.dir==="ltr"?0:void 0,left:a.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function Ev(e){return e?parseInt(e,10):0}function Mz(e,t){const n=e/t;return isNaN(n)?0:n}function Qg(e){const t=Mz(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function oQ(e,t,n,r="ltr"){const a=Qg(n),s=a/2,l=t||s,u=a-l,d=n.scrollbar.paddingStart+l,f=n.scrollbar.size-n.scrollbar.paddingEnd-u,m=n.content-n.viewport,p=r==="ltr"?[0,m]:[m*-1,0];return Pz([d,f],p)(e)}function XM(e,t,n="ltr"){const r=Qg(t),a=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-a,l=t.content-t.viewport,u=s-r,d=n==="ltr"?[0,l]:[l*-1,0],f=Df(e,d);return Pz([0,l],[0,u])(f)}function Pz(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function Rz(e,t){return e>0&&e{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function a(){const s={left:e.scrollLeft,top:e.scrollTop},l=n.left!==s.left,u=n.top!==s.top;(l||u)&&t(),n=s,r=window.requestAnimationFrame(a)})(),()=>window.cancelAnimationFrame(r)};function Jg(e,t){const n=yn(e),r=y.useRef(0);return y.useEffect(()=>()=>window.clearTimeout(r.current),[]),y.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function ou(e,t){const n=yn(t);Yn(()=>{let r=0;if(e){const a=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return a.observe(e),()=>{window.cancelAnimationFrame(r),a.unobserve(e)}}},[e,n])}var Dz=_z,cQ=Cz,uQ=kz;const Gt=y.forwardRef(({className:e,children:t,...n},r)=>i.jsxs(Dz,{ref:r,className:ue("relative overflow-hidden",e),...n,children:[i.jsx(cQ,{className:"h-full w-full rounded-[inherit]",children:t}),i.jsx($z,{}),i.jsx(uQ,{})]}));Gt.displayName=Dz.displayName;const $z=y.forwardRef(({className:e,orientation:t="vertical",...n},r)=>i.jsx(KC,{ref:r,orientation:t,className:ue("flex touch-none select-none transition-colors",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...n,children:i.jsx(Tz,{className:"relative flex-1 rounded-full bg-border"})}));$z.displayName=KC.displayName;function ZM({className:e,...t}){return i.jsx("div",{className:ue("animate-pulse rounded-md bg-primary/10",e),...t})}function dQ(e,t=[]){let n=[];function r(s,l){const u=y.createContext(l);u.displayName=s+"Context";const d=n.length;n=[...n,l];const f=p=>{const{scope:g,children:x,...j}=p,w=g?.[e]?.[d]||u,b=y.useMemo(()=>j,Object.values(j));return i.jsx(w.Provider,{value:b,children:x})};f.displayName=s+"Provider";function m(p,g){const x=g?.[e]?.[d]||u,j=y.useContext(x);if(j)return j;if(l!==void 0)return l;throw new Error(`\`${p}\` must be used within \`${s}\``)}return[f,m]}const a=()=>{const s=n.map(l=>y.createContext(l));return function(u){const d=u?.[e]||s;return y.useMemo(()=>({[`__scope${e}`]:{...u,[e]:d}}),[u,d])}};return a.scopeName=e,[r,fQ(a,...t)]}function fQ(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(s){const l=r.reduce((u,{useScope:d,scopeName:f})=>{const p=d(s)[`__scope${f}`];return{...u,...p}},{});return y.useMemo(()=>({[`__scope${t.scopeName}`]:l}),[l])}};return n.scopeName=t.scopeName,n}var hQ=Symbol.for("react.lazy"),Av=TC[" use ".trim().toString()];function mQ(e){return typeof e=="object"&&e!==null&&"then"in e}function Iz(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===hQ&&"_payload"in e&&mQ(e._payload)}function $h(e){const t=vQ(e),n=y.forwardRef((r,a)=>{let{children:s,...l}=r;Iz(s)&&typeof Av=="function"&&(s=Av(s._payload));const u=y.Children.toArray(s),d=u.find(yQ);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}var pQ=$h("Slot");function vQ(e){const t=y.forwardRef((n,r)=>{let{children:a,...s}=n;if(Iz(a)&&typeof Av=="function"&&(a=Av(a._payload)),y.isValidElement(a)){const l=bQ(a),u=xQ(s,a.props);return a.type!==y.Fragment&&(u.ref=r?zr(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var gQ=Symbol("radix.slottable");function yQ(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===gQ}function xQ(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function bQ(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var wQ=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Lz=wQ.reduce((e,t)=>{const n=$h(`Primitive.${t}`),r=y.forwardRef((a,s)=>{const{asChild:l,...u}=a,d=l?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(d,{...u,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),QC="Progress",JC=100,[jQ]=dQ(QC),[SQ,_Q]=jQ(QC),zz=y.forwardRef((e,t)=>{const{__scopeProgress:n,value:r=null,max:a,getValueLabel:s=NQ,...l}=e;(a||a===0)&&!QM(a)&&console.error(CQ(`${a}`,"Progress"));const u=QM(a)?a:JC;r!==null&&!JM(r,u)&&console.error(OQ(`${r}`,"Progress"));const d=JM(r,u)?r:null,f=Tv(d)?s(d,u):void 0;return i.jsx(SQ,{scope:n,value:d,max:u,children:i.jsx(Lz.div,{"aria-valuemax":u,"aria-valuemin":0,"aria-valuenow":Tv(d)?d:void 0,"aria-valuetext":f,role:"progressbar","data-state":Fz(d,u),"data-value":d??void 0,"data-max":u,...l,ref:t})})});zz.displayName=QC;var Bz="ProgressIndicator",qz=y.forwardRef((e,t)=>{const{__scopeProgress:n,...r}=e,a=_Q(Bz,n);return i.jsx(Lz.div,{"data-state":Fz(a.value,a.max),"data-value":a.value??void 0,"data-max":a.max,...r,ref:t})});qz.displayName=Bz;function NQ(e,t){return`${Math.round(e/t*100)}%`}function Fz(e,t){return e==null?"indeterminate":e===t?"complete":"loading"}function Tv(e){return typeof e=="number"}function QM(e){return Tv(e)&&!isNaN(e)&&e>0}function JM(e,t){return Tv(e)&&!isNaN(e)&&e<=t&&e>=0}function CQ(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${JC}\`.`}function OQ(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be: - - a positive number - - less than the value passed to \`max\` (or ${JC} if no \`max\` prop is set) - - \`null\` or \`undefined\` if the progress is indeterminate. - -Defaulting to \`null\`.`}var Uz=zz,EQ=qz;const Ih=y.forwardRef(({className:e,value:t,...n},r)=>i.jsx(Uz,{ref:r,className:ue("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",e),...n,children:i.jsx(EQ,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})}));Ih.displayName=Uz.displayName;var Q0,eP;function Ur(){if(eP)return Q0;eP=1;var e=Array.isArray;return Q0=e,Q0}var J0,tP;function Hz(){if(tP)return J0;tP=1;var e=typeof Op=="object"&&Op&&Op.Object===Object&&Op;return J0=e,J0}var ew,nP;function Ni(){if(nP)return ew;nP=1;var e=Hz(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return ew=n,ew}var tw,rP;function Lh(){if(rP)return tw;rP=1;var e=Ni(),t=e.Symbol;return tw=t,tw}var nw,aP;function AQ(){if(aP)return nw;aP=1;var e=Lh(),t=Object.prototype,n=t.hasOwnProperty,r=t.toString,a=e?e.toStringTag:void 0;function s(l){var u=n.call(l,a),d=l[a];try{l[a]=void 0;var f=!0}catch{}var m=r.call(l);return f&&(u?l[a]=d:delete l[a]),m}return nw=s,nw}var rw,iP;function TQ(){if(iP)return rw;iP=1;var e=Object.prototype,t=e.toString;function n(r){return t.call(r)}return rw=n,rw}var aw,sP;function ms(){if(sP)return aw;sP=1;var e=Lh(),t=AQ(),n=TQ(),r="[object Null]",a="[object Undefined]",s=e?e.toStringTag:void 0;function l(u){return u==null?u===void 0?a:r:s&&s in Object(u)?t(u):n(u)}return aw=l,aw}var iw,oP;function ps(){if(oP)return iw;oP=1;function e(t){return t!=null&&typeof t=="object"}return iw=e,iw}var sw,lP;function Hu(){if(lP)return sw;lP=1;var e=ms(),t=ps(),n="[object Symbol]";function r(a){return typeof a=="symbol"||t(a)&&e(a)==n}return sw=r,sw}var ow,cP;function eO(){if(cP)return ow;cP=1;var e=Ur(),t=Hu(),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/;function a(s,l){if(e(s))return!1;var u=typeof s;return u=="number"||u=="symbol"||u=="boolean"||s==null||t(s)?!0:r.test(s)||!n.test(s)||l!=null&&s in Object(l)}return ow=a,ow}var lw,uP;function fo(){if(uP)return lw;uP=1;function e(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}return lw=e,lw}var cw,dP;function tO(){if(dP)return cw;dP=1;var e=ms(),t=fo(),n="[object AsyncFunction]",r="[object Function]",a="[object GeneratorFunction]",s="[object Proxy]";function l(u){if(!t(u))return!1;var d=e(u);return d==r||d==a||d==n||d==s}return cw=l,cw}var uw,fP;function kQ(){if(fP)return uw;fP=1;var e=Ni(),t=e["__core-js_shared__"];return uw=t,uw}var dw,hP;function MQ(){if(hP)return dw;hP=1;var e=kQ(),t=(function(){var r=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""})();function n(r){return!!t&&t in r}return dw=n,dw}var fw,mP;function Wz(){if(mP)return fw;mP=1;var e=Function.prototype,t=e.toString;function n(r){if(r!=null){try{return t.call(r)}catch{}try{return r+""}catch{}}return""}return fw=n,fw}var hw,pP;function PQ(){if(pP)return hw;pP=1;var e=tO(),t=MQ(),n=fo(),r=Wz(),a=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,l=Function.prototype,u=Object.prototype,d=l.toString,f=u.hasOwnProperty,m=RegExp("^"+d.call(f).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function p(g){if(!n(g)||t(g))return!1;var x=e(g)?m:s;return x.test(r(g))}return hw=p,hw}var mw,vP;function RQ(){if(vP)return mw;vP=1;function e(t,n){return t?.[n]}return mw=e,mw}var pw,gP;function Cl(){if(gP)return pw;gP=1;var e=PQ(),t=RQ();function n(r,a){var s=t(r,a);return e(s)?s:void 0}return pw=n,pw}var vw,yP;function ey(){if(yP)return vw;yP=1;var e=Cl(),t=e(Object,"create");return vw=t,vw}var gw,xP;function DQ(){if(xP)return gw;xP=1;var e=ey();function t(){this.__data__=e?e(null):{},this.size=0}return gw=t,gw}var yw,bP;function $Q(){if(bP)return yw;bP=1;function e(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}return yw=e,yw}var xw,wP;function IQ(){if(wP)return xw;wP=1;var e=ey(),t="__lodash_hash_undefined__",n=Object.prototype,r=n.hasOwnProperty;function a(s){var l=this.__data__;if(e){var u=l[s];return u===t?void 0:u}return r.call(l,s)?l[s]:void 0}return xw=a,xw}var bw,jP;function LQ(){if(jP)return bw;jP=1;var e=ey(),t=Object.prototype,n=t.hasOwnProperty;function r(a){var s=this.__data__;return e?s[a]!==void 0:n.call(s,a)}return bw=r,bw}var ww,SP;function zQ(){if(SP)return ww;SP=1;var e=ey(),t="__lodash_hash_undefined__";function n(r,a){var s=this.__data__;return this.size+=this.has(r)?0:1,s[r]=e&&a===void 0?t:a,this}return ww=n,ww}var jw,_P;function BQ(){if(_P)return jw;_P=1;var e=DQ(),t=$Q(),n=IQ(),r=LQ(),a=zQ();function s(l){var u=-1,d=l==null?0:l.length;for(this.clear();++u-1}return Ew=t,Ew}var Aw,kP;function WQ(){if(kP)return Aw;kP=1;var e=ty();function t(n,r){var a=this.__data__,s=e(a,n);return s<0?(++this.size,a.push([n,r])):a[s][1]=r,this}return Aw=t,Aw}var Tw,MP;function ny(){if(MP)return Tw;MP=1;var e=qQ(),t=FQ(),n=UQ(),r=HQ(),a=WQ();function s(l){var u=-1,d=l==null?0:l.length;for(this.clear();++u0?1:-1},Zo=function(t){return ml(t)&&t.indexOf("%")===t.length-1},Ee=function(t){return mJ(t)&&!zh(t)},pJ=function(t){return Je(t)},Ln=function(t){return Ee(t)||ml(t)},vJ=0,Vu=function(t){var n=++vJ;return"".concat(t||"").concat(n)},_r=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Ee(t)&&!ml(t))return r;var s;if(Zo(t)){var l=t.indexOf("%");s=n*parseFloat(t.slice(0,l))/100}else s=+t;return zh(s)&&(s=r),a&&s>n&&(s=n),s},Ks=function(t){if(!t)return null;var n=Object.keys(t);return n&&n.length?t[n[0]]:null},gJ=function(t){if(!Array.isArray(t))return!1;for(var n=t.length,r={},a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function _J(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function k_(e){"@babel/helpers - typeof";return k_=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},k_(e)}var sR={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart",contextmenu:"onContextMenu",dblclick:"onDoubleClick"},as=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},oR=null,nj=null,lO=function e(t){if(t===oR&&Array.isArray(nj))return nj;var n=[];return y.Children.forEach(t,function(r){Je(r)||(uJ.isFragment(r)?n=n.concat(e(r.props.children)):n.push(r))}),nj=n,oR=t,n};function oa(e,t){var n=[],r=[];return Array.isArray(t)?r=t.map(function(a){return as(a)}):r=[as(t)],lO(e).forEach(function(a){var s=sa(a,"type.displayName")||sa(a,"type.name");r.indexOf(s)!==-1&&n.push(a)}),n}function ea(e,t){var n=oa(e,t);return n&&n[0]}var lR=function(t){if(!t||!t.props)return!1;var n=t.props,r=n.width,a=n.height;return!(!Ee(r)||r<=0||!Ee(a)||a<=0)},NJ=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],CJ=function(t){return t&&t.type&&ml(t.type)&&NJ.indexOf(t.type)>=0},OJ=function(t){return t&&k_(t)==="object"&&"clipDot"in t},EJ=function(t,n,r,a){var s,l=(s=tj?.[a])!==null&&s!==void 0?s:[];return n.startsWith("data-")||!Ye(t)&&(a&&l.includes(n)||bJ.includes(n))||r&&oO.includes(n)},qe=function(t,n,r){if(!t||typeof t=="function"||typeof t=="boolean")return null;var a=t;if(y.isValidElement(t)&&(a=t.props),!Wu(a))return null;var s={};return Object.keys(a).forEach(function(l){var u;EJ((u=a)===null||u===void 0?void 0:u[l],l,n,r)&&(s[l]=a[l])}),s},M_=function e(t,n){if(t===n)return!0;var r=y.Children.count(t);if(r!==y.Children.count(n))return!1;if(r===0)return!0;if(r===1)return cR(Array.isArray(t)?t[0]:t,Array.isArray(n)?n[0]:n);for(var a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function PJ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function R_(e){var t=e.children,n=e.width,r=e.height,a=e.viewBox,s=e.className,l=e.style,u=e.title,d=e.desc,f=MJ(e,kJ),m=a||{width:n,height:r,x:0,y:0},p=et("recharts-surface",s);return W.createElement("svg",P_({},qe(f,!0,"svg"),{className:p,width:n,height:r,style:l,viewBox:"".concat(m.x," ").concat(m.y," ").concat(m.width," ").concat(m.height)}),W.createElement("title",null,u),W.createElement("desc",null,d),t)}var RJ=["children","className"];function D_(){return D_=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function $J(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var Nt=W.forwardRef(function(e,t){var n=e.children,r=e.className,a=DJ(e,RJ),s=et("recharts-layer",r);return W.createElement("g",D_({className:s},qe(a,!0),{ref:t}),n)}),Va=function(t,n){for(var r=arguments.length,a=new Array(r>2?r-2:0),s=2;ss?0:s+n),r=r>s?s:r,r<0&&(r+=s),s=n>r?0:r-n>>>0,n>>>=0;for(var l=Array(s);++a=s?n:e(n,r,a)}return aj=t,aj}var ij,hR;function Zz(){if(hR)return ij;hR=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",a=t+n+r,s="\\ufe0e\\ufe0f",l="\\u200d",u=RegExp("["+l+e+a+s+"]");function d(f){return u.test(f)}return ij=d,ij}var sj,mR;function zJ(){if(mR)return sj;mR=1;function e(t){return t.split("")}return sj=e,sj}var oj,pR;function BJ(){if(pR)return oj;pR=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",a=t+n+r,s="\\ufe0e\\ufe0f",l="["+e+"]",u="["+a+"]",d="\\ud83c[\\udffb-\\udfff]",f="(?:"+u+"|"+d+")",m="[^"+e+"]",p="(?:\\ud83c[\\udde6-\\uddff]){2}",g="[\\ud800-\\udbff][\\udc00-\\udfff]",x="\\u200d",j=f+"?",w="["+s+"]?",b="(?:"+x+"(?:"+[m,p,g].join("|")+")"+w+j+")*",N=w+j+b,E="(?:"+[m+u+"?",u,p,g,l].join("|")+")",O=RegExp(d+"(?="+d+")|"+E+N,"g");function A(C){return C.match(O)||[]}return oj=A,oj}var lj,vR;function qJ(){if(vR)return lj;vR=1;var e=zJ(),t=Zz(),n=BJ();function r(a){return t(a)?n(a):e(a)}return lj=r,lj}var cj,gR;function FJ(){if(gR)return cj;gR=1;var e=LJ(),t=Zz(),n=qJ(),r=Gz();function a(s){return function(l){l=r(l);var u=t(l)?n(l):void 0,d=u?u[0]:l.charAt(0),f=u?e(u,1).join(""):l.slice(1);return d[s]()+f}}return cj=a,cj}var uj,yR;function UJ(){if(yR)return uj;yR=1;var e=FJ(),t=e("toUpperCase");return uj=t,uj}var HJ=UJ();const iy=Rt(HJ);function Zt(e){return function(){return e}}const Qz=Math.cos,Pv=Math.sin,Qa=Math.sqrt,Rv=Math.PI,sy=2*Rv,$_=Math.PI,I_=2*$_,Vo=1e-6,WJ=I_-Vo;function Jz(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return Jz;const n=10**t;return function(r){this._+=r[0];for(let a=1,s=r.length;aVo)if(!(Math.abs(p*d-f*m)>Vo)||!s)this._append`L${this._x1=t},${this._y1=n}`;else{let x=r-l,j=a-u,w=d*d+f*f,b=x*x+j*j,N=Math.sqrt(w),E=Math.sqrt(g),O=s*Math.tan(($_-Math.acos((w+g-b)/(2*N*E)))/2),A=O/E,C=O/N;Math.abs(A-1)>Vo&&this._append`L${t+A*m},${n+A*p}`,this._append`A${s},${s},0,0,${+(p*x>m*j)},${this._x1=t+C*d},${this._y1=n+C*f}`}}arc(t,n,r,a,s,l){if(t=+t,n=+n,r=+r,l=!!l,r<0)throw new Error(`negative radius: ${r}`);let u=r*Math.cos(a),d=r*Math.sin(a),f=t+u,m=n+d,p=1^l,g=l?a-s:s-a;this._x1===null?this._append`M${f},${m}`:(Math.abs(this._x1-f)>Vo||Math.abs(this._y1-m)>Vo)&&this._append`L${f},${m}`,r&&(g<0&&(g=g%I_+I_),g>WJ?this._append`A${r},${r},0,1,${p},${t-u},${n-d}A${r},${r},0,1,${p},${this._x1=f},${this._y1=m}`:g>Vo&&this._append`A${r},${r},0,${+(g>=$_)},${p},${this._x1=t+r*Math.cos(s)},${this._y1=n+r*Math.sin(s)}`)}rect(t,n,r,a){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+a}h${-r}Z`}toString(){return this._}}function cO(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new GJ(t)}function uO(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function eB(e){this._context=e}eB.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function oy(e){return new eB(e)}function tB(e){return e[0]}function nB(e){return e[1]}function rB(e,t){var n=Zt(!0),r=null,a=oy,s=null,l=cO(u);e=typeof e=="function"?e:e===void 0?tB:Zt(e),t=typeof t=="function"?t:t===void 0?nB:Zt(t);function u(d){var f,m=(d=uO(d)).length,p,g=!1,x;for(r==null&&(s=a(x=l())),f=0;f<=m;++f)!(f=x;--j)u.point(O[j],A[j]);u.lineEnd(),u.areaEnd()}N&&(O[g]=+e(b,g,p),A[g]=+t(b,g,p),u.point(r?+r(b,g,p):O[g],n?+n(b,g,p):A[g]))}if(E)return u=null,E+""||null}function m(){return rB().defined(a).curve(l).context(s)}return f.x=function(p){return arguments.length?(e=typeof p=="function"?p:Zt(+p),r=null,f):e},f.x0=function(p){return arguments.length?(e=typeof p=="function"?p:Zt(+p),f):e},f.x1=function(p){return arguments.length?(r=p==null?null:typeof p=="function"?p:Zt(+p),f):r},f.y=function(p){return arguments.length?(t=typeof p=="function"?p:Zt(+p),n=null,f):t},f.y0=function(p){return arguments.length?(t=typeof p=="function"?p:Zt(+p),f):t},f.y1=function(p){return arguments.length?(n=p==null?null:typeof p=="function"?p:Zt(+p),f):n},f.lineX0=f.lineY0=function(){return m().x(e).y(t)},f.lineY1=function(){return m().x(e).y(n)},f.lineX1=function(){return m().x(r).y(t)},f.defined=function(p){return arguments.length?(a=typeof p=="function"?p:Zt(!!p),f):a},f.curve=function(p){return arguments.length?(l=p,s!=null&&(u=l(s)),f):l},f.context=function(p){return arguments.length?(p==null?s=u=null:u=l(s=p),f):s},f}class aB{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}function YJ(e){return new aB(e,!0)}function KJ(e){return new aB(e,!1)}const dO={draw(e,t){const n=Qa(t/Rv);e.moveTo(n,0),e.arc(0,0,n,0,sy)}},XJ={draw(e,t){const n=Qa(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},iB=Qa(1/3),ZJ=iB*2,QJ={draw(e,t){const n=Qa(t/ZJ),r=n*iB;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},JJ={draw(e,t){const n=Qa(t),r=-n/2;e.rect(r,r,n,n)}},eee=.8908130915292852,sB=Pv(Rv/10)/Pv(7*Rv/10),tee=Pv(sy/10)*sB,nee=-Qz(sy/10)*sB,ree={draw(e,t){const n=Qa(t*eee),r=tee*n,a=nee*n;e.moveTo(0,-n),e.lineTo(r,a);for(let s=1;s<5;++s){const l=sy*s/5,u=Qz(l),d=Pv(l);e.lineTo(d*n,-u*n),e.lineTo(u*r-d*a,d*r+u*a)}e.closePath()}},dj=Qa(3),aee={draw(e,t){const n=-Qa(t/(dj*3));e.moveTo(0,n*2),e.lineTo(-dj*n,-n),e.lineTo(dj*n,-n),e.closePath()}},ja=-.5,Sa=Qa(3)/2,L_=1/Qa(12),iee=(L_/2+1)*3,see={draw(e,t){const n=Qa(t/iee),r=n/2,a=n*L_,s=r,l=n*L_+n,u=-s,d=l;e.moveTo(r,a),e.lineTo(s,l),e.lineTo(u,d),e.lineTo(ja*r-Sa*a,Sa*r+ja*a),e.lineTo(ja*s-Sa*l,Sa*s+ja*l),e.lineTo(ja*u-Sa*d,Sa*u+ja*d),e.lineTo(ja*r+Sa*a,ja*a-Sa*r),e.lineTo(ja*s+Sa*l,ja*l-Sa*s),e.lineTo(ja*u+Sa*d,ja*d-Sa*u),e.closePath()}};function oee(e,t){let n=null,r=cO(a);e=typeof e=="function"?e:Zt(e||dO),t=typeof t=="function"?t:Zt(t===void 0?64:+t);function a(){let s;if(n||(n=s=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),s)return n=null,s+""||null}return a.type=function(s){return arguments.length?(e=typeof s=="function"?s:Zt(s),a):e},a.size=function(s){return arguments.length?(t=typeof s=="function"?s:Zt(+s),a):t},a.context=function(s){return arguments.length?(n=s??null,a):n},a}function Dv(){}function $v(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function oB(e){this._context=e}oB.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:$v(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:$v(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function lee(e){return new oB(e)}function lB(e){this._context=e}lB.prototype={areaStart:Dv,areaEnd:Dv,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:$v(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function cee(e){return new lB(e)}function cB(e){this._context=e}cB.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:$v(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function uee(e){return new cB(e)}function uB(e){this._context=e}uB.prototype={areaStart:Dv,areaEnd:Dv,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function dee(e){return new uB(e)}function xR(e){return e<0?-1:1}function bR(e,t,n){var r=e._x1-e._x0,a=t-e._x1,s=(e._y1-e._y0)/(r||a<0&&-0),l=(n-e._y1)/(a||r<0&&-0),u=(s*a+l*r)/(r+a);return(xR(s)+xR(l))*Math.min(Math.abs(s),Math.abs(l),.5*Math.abs(u))||0}function wR(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function fj(e,t,n){var r=e._x0,a=e._y0,s=e._x1,l=e._y1,u=(s-r)/3;e._context.bezierCurveTo(r+u,a+u*t,s-u,l-u*n,s,l)}function Iv(e){this._context=e}Iv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:fj(this,this._t0,wR(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,fj(this,wR(this,n=bR(this,e,t)),n);break;default:fj(this,this._t0,n=bR(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function dB(e){this._context=new fB(e)}(dB.prototype=Object.create(Iv.prototype)).point=function(e,t){Iv.prototype.point.call(this,t,e)};function fB(e){this._context=e}fB.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,a,s){this._context.bezierCurveTo(t,e,r,n,s,a)}};function fee(e){return new Iv(e)}function hee(e){return new dB(e)}function hB(e){this._context=e}hB.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=jR(e),a=jR(t),s=0,l=1;l=0;--t)a[t]=(l[t]-a[t+1])/s[t];for(s[n-1]=(e[n]+a[n-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function pee(e){return new ly(e,.5)}function vee(e){return new ly(e,0)}function gee(e){return new ly(e,1)}function lu(e,t){if((l=e.length)>1)for(var n=1,r,a,s=e[t[0]],l,u=s.length;n=0;)n[t]=t;return n}function yee(e,t){return e[t]}function xee(e){const t=[];return t.key=e,t}function bee(){var e=Zt([]),t=z_,n=lu,r=yee;function a(s){var l=Array.from(e.apply(this,arguments),xee),u,d=l.length,f=-1,m;for(const p of s)for(u=0,++f;u0){for(var n,r,a=0,s=e[0].length,l;a0){for(var n=0,r=e[t[0]],a,s=r.length;n0)||!((s=(a=e[t[0]]).length)>0))){for(var n=0,r=1,a,s,l;r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Aee(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var mB={symbolCircle:dO,symbolCross:XJ,symbolDiamond:QJ,symbolSquare:JJ,symbolStar:ree,symbolTriangle:aee,symbolWye:see},Tee=Math.PI/180,kee=function(t){var n="symbol".concat(iy(t));return mB[n]||dO},Mee=function(t,n,r){if(n==="area")return t;switch(r){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var a=18*Tee;return 1.25*t*t*(Math.tan(a)-Math.tan(a*2)*Math.pow(Math.tan(a),2))}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},Pee=function(t,n){mB["symbol".concat(iy(t))]=n},fO=function(t){var n=t.type,r=n===void 0?"circle":n,a=t.size,s=a===void 0?64:a,l=t.sizeType,u=l===void 0?"area":l,d=Eee(t,_ee),f=_R(_R({},d),{},{type:r,size:s,sizeType:u}),m=function(){var b=kee(r),N=oee().type(b).size(Mee(s,u,r));return N()},p=f.className,g=f.cx,x=f.cy,j=qe(f,!0);return g===+g&&x===+x&&s===+s?W.createElement("path",B_({},j,{className:et("recharts-symbols",p),transform:"translate(".concat(g,", ").concat(x,")"),d:m()})):null};fO.registerSymbol=Pee;function cu(e){"@babel/helpers - typeof";return cu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},cu(e)}function q_(){return q_=Object.assign?Object.assign.bind():function(e){for(var t=1;t`);var E=x.inactive?f:x.color;return W.createElement("li",q_({className:b,style:p,key:"legend-item-".concat(j)},pl(r.props,x,j)),W.createElement(R_,{width:l,height:l,viewBox:m,style:g},r.renderIcon(x)),W.createElement("span",{className:"recharts-legend-item-text",style:{color:E}},w?w(N,x,j):N))})}},{key:"render",value:function(){var r=this.props,a=r.payload,s=r.layout,l=r.align;if(!a||!a.length)return null;var u={padding:0,margin:0,textAlign:s==="horizontal"?l:"left"};return W.createElement("ul",{className:"recharts-default-legend",style:u},this.renderItems())}}])})(y.PureComponent);If(hO,"displayName","Legend");If(hO,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var hj,CR;function Uee(){if(CR)return hj;CR=1;var e=ny();function t(){this.__data__=new e,this.size=0}return hj=t,hj}var mj,OR;function Hee(){if(OR)return mj;OR=1;function e(t){var n=this.__data__,r=n.delete(t);return this.size=n.size,r}return mj=e,mj}var pj,ER;function Wee(){if(ER)return pj;ER=1;function e(t){return this.__data__.get(t)}return pj=e,pj}var vj,AR;function Vee(){if(AR)return vj;AR=1;function e(t){return this.__data__.has(t)}return vj=e,vj}var gj,TR;function Gee(){if(TR)return gj;TR=1;var e=ny(),t=rO(),n=aO(),r=200;function a(s,l){var u=this.__data__;if(u instanceof e){var d=u.__data__;if(!t||d.lengthx))return!1;var w=p.get(l),b=p.get(u);if(w&&b)return w==u&&b==l;var N=-1,E=!0,O=d&a?new e:void 0;for(p.set(l,u),p.set(u,l);++N-1&&r%1==0&&r-1&&n%1==0&&n<=e}return zj=t,zj}var Bj,eD;function ste(){if(eD)return Bj;eD=1;var e=ms(),t=gO(),n=ps(),r="[object Arguments]",a="[object Array]",s="[object Boolean]",l="[object Date]",u="[object Error]",d="[object Function]",f="[object Map]",m="[object Number]",p="[object Object]",g="[object RegExp]",x="[object Set]",j="[object String]",w="[object WeakMap]",b="[object ArrayBuffer]",N="[object DataView]",E="[object Float32Array]",O="[object Float64Array]",A="[object Int8Array]",C="[object Int16Array]",k="[object Int32Array]",T="[object Uint8Array]",M="[object Uint8ClampedArray]",R="[object Uint16Array]",L="[object Uint32Array]",D={};D[E]=D[O]=D[A]=D[C]=D[k]=D[T]=D[M]=D[R]=D[L]=!0,D[r]=D[a]=D[b]=D[s]=D[N]=D[l]=D[u]=D[d]=D[f]=D[m]=D[p]=D[g]=D[x]=D[j]=D[w]=!1;function U(V){return n(V)&&t(V.length)&&!!D[e(V)]}return Bj=U,Bj}var qj,tD;function _B(){if(tD)return qj;tD=1;function e(t){return function(n){return t(n)}}return qj=e,qj}var vf={exports:{}};vf.exports;var nD;function ote(){return nD||(nD=1,(function(e,t){var n=Hz(),r=t&&!t.nodeType&&t,a=r&&!0&&e&&!e.nodeType&&e,s=a&&a.exports===r,l=s&&n.process,u=(function(){try{var d=a&&a.require&&a.require("util").types;return d||l&&l.binding&&l.binding("util")}catch{}})();e.exports=u})(vf,vf.exports)),vf.exports}var Fj,rD;function NB(){if(rD)return Fj;rD=1;var e=ste(),t=_B(),n=ote(),r=n&&n.isTypedArray,a=r?t(r):e;return Fj=a,Fj}var Uj,aD;function lte(){if(aD)return Uj;aD=1;var e=rte(),t=pO(),n=Ur(),r=SB(),a=vO(),s=NB(),l=Object.prototype,u=l.hasOwnProperty;function d(f,m){var p=n(f),g=!p&&t(f),x=!p&&!g&&r(f),j=!p&&!g&&!x&&s(f),w=p||g||x||j,b=w?e(f.length,String):[],N=b.length;for(var E in f)(m||u.call(f,E))&&!(w&&(E=="length"||x&&(E=="offset"||E=="parent")||j&&(E=="buffer"||E=="byteLength"||E=="byteOffset")||a(E,N)))&&b.push(E);return b}return Uj=d,Uj}var Hj,iD;function cte(){if(iD)return Hj;iD=1;var e=Object.prototype;function t(n){var r=n&&n.constructor,a=typeof r=="function"&&r.prototype||e;return n===a}return Hj=t,Hj}var Wj,sD;function CB(){if(sD)return Wj;sD=1;function e(t,n){return function(r){return t(n(r))}}return Wj=e,Wj}var Vj,oD;function ute(){if(oD)return Vj;oD=1;var e=CB(),t=e(Object.keys,Object);return Vj=t,Vj}var Gj,lD;function dte(){if(lD)return Gj;lD=1;var e=cte(),t=ute(),n=Object.prototype,r=n.hasOwnProperty;function a(s){if(!e(s))return t(s);var l=[];for(var u in Object(s))r.call(s,u)&&u!="constructor"&&l.push(u);return l}return Gj=a,Gj}var Yj,cD;function Bh(){if(cD)return Yj;cD=1;var e=tO(),t=gO();function n(r){return r!=null&&t(r.length)&&!e(r)}return Yj=n,Yj}var Kj,uD;function cy(){if(uD)return Kj;uD=1;var e=lte(),t=dte(),n=Bh();function r(a){return n(a)?e(a):t(a)}return Kj=r,Kj}var Xj,dD;function fte(){if(dD)return Xj;dD=1;var e=Jee(),t=nte(),n=cy();function r(a){return e(a,n,t)}return Xj=r,Xj}var Zj,fD;function hte(){if(fD)return Zj;fD=1;var e=fte(),t=1,n=Object.prototype,r=n.hasOwnProperty;function a(s,l,u,d,f,m){var p=u&t,g=e(s),x=g.length,j=e(l),w=j.length;if(x!=w&&!p)return!1;for(var b=x;b--;){var N=g[b];if(!(p?N in l:r.call(l,N)))return!1}var E=m.get(s),O=m.get(l);if(E&&O)return E==l&&O==s;var A=!0;m.set(s,l),m.set(l,s);for(var C=p;++b-1}return S1=t,S1}var _1,zD;function Pte(){if(zD)return _1;zD=1;function e(t,n,r){for(var a=-1,s=t==null?0:t.length;++a=l){var N=f?null:a(d);if(N)return s(N);j=!1,g=r,b=new e}else b=f?[]:w;e:for(;++p=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Yte(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Kte(e){return e.value}function Xte(e,t){if(W.isValidElement(e))return W.cloneElement(e,t);if(typeof e=="function")return W.createElement(e,t);t.ref;var n=Gte(t,zte);return W.createElement(hO,n)}var GD=1,sl=(function(e){function t(){var n;Bte(this,t);for(var r=arguments.length,a=new Array(r),s=0;sGD||Math.abs(a.height-this.lastBoundingBox.height)>GD)&&(this.lastBoundingBox.width=a.width,this.lastBoundingBox.height=a.height,r&&r(a)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,r&&r(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?Yi({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(r){var a=this.props,s=a.layout,l=a.align,u=a.verticalAlign,d=a.margin,f=a.chartWidth,m=a.chartHeight,p,g;if(!r||(r.left===void 0||r.left===null)&&(r.right===void 0||r.right===null))if(l==="center"&&s==="vertical"){var x=this.getBBoxSnapshot();p={left:((f||0)-x.width)/2}}else p=l==="right"?{right:d&&d.right||0}:{left:d&&d.left||0};if(!r||(r.top===void 0||r.top===null)&&(r.bottom===void 0||r.bottom===null))if(u==="middle"){var j=this.getBBoxSnapshot();g={top:((m||0)-j.height)/2}}else g=u==="bottom"?{bottom:d&&d.bottom||0}:{top:d&&d.top||0};return Yi(Yi({},p),g)}},{key:"render",value:function(){var r=this,a=this.props,s=a.content,l=a.width,u=a.height,d=a.wrapperStyle,f=a.payloadUniqBy,m=a.payload,p=Yi(Yi({position:"absolute",width:l||"auto",height:u||"auto"},this.getDefaultPosition(d)),d);return W.createElement("div",{className:"recharts-legend-wrapper",style:p,ref:function(x){r.wrapperNode=x}},Xte(s,Yi(Yi({},this.props),{},{payload:kB(m,f,Kte)})))}}],[{key:"getWithHeight",value:function(r,a){var s=Yi(Yi({},this.defaultProps),r.props),l=s.layout;return l==="vertical"&&Ee(r.props.height)?{height:r.props.height}:l==="horizontal"?{width:r.props.width||a}:null}}])})(y.PureComponent);uy(sl,"displayName","Legend");uy(sl,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var A1,YD;function Zte(){if(YD)return A1;YD=1;var e=Lh(),t=pO(),n=Ur(),r=e?e.isConcatSpreadable:void 0;function a(s){return n(s)||t(s)||!!(r&&s&&s[r])}return A1=a,A1}var T1,KD;function RB(){if(KD)return T1;KD=1;var e=jB(),t=Zte();function n(r,a,s,l,u){var d=-1,f=r.length;for(s||(s=t),u||(u=[]);++d0&&s(m)?a>1?n(m,a-1,s,l,u):e(u,m):l||(u[u.length]=m)}return u}return T1=n,T1}var k1,XD;function Qte(){if(XD)return k1;XD=1;function e(t){return function(n,r,a){for(var s=-1,l=Object(n),u=a(n),d=u.length;d--;){var f=u[t?d:++s];if(r(l[f],f,l)===!1)break}return n}}return k1=e,k1}var M1,ZD;function Jte(){if(ZD)return M1;ZD=1;var e=Qte(),t=e();return M1=t,M1}var P1,QD;function DB(){if(QD)return P1;QD=1;var e=Jte(),t=cy();function n(r,a){return r&&e(r,a,t)}return P1=n,P1}var R1,JD;function ene(){if(JD)return R1;JD=1;var e=Bh();function t(n,r){return function(a,s){if(a==null)return a;if(!e(a))return n(a,s);for(var l=a.length,u=r?l:-1,d=Object(a);(r?u--:++ur||u&&d&&m&&!f&&!p||s&&d&&m||!a&&m||!l)return 1;if(!s&&!u&&!p&&n=f)return m;var p=a[s];return m*(p=="desc"?-1:1)}}return n.index-r.index}return z1=t,z1}var B1,i4;function ane(){if(i4)return B1;i4=1;var e=iO(),t=sO(),n=Ci(),r=$B(),a=tne(),s=_B(),l=rne(),u=Gu(),d=Ur();function f(m,p,g){p.length?p=e(p,function(w){return d(w)?function(b){return t(b,w.length===1?w[0]:w)}:w}):p=[u];var x=-1;p=e(p,s(n));var j=r(m,function(w,b,N){var E=e(p,function(O){return O(w)});return{criteria:E,index:++x,value:w}});return a(j,function(w,b){return l(w,b,g)})}return B1=f,B1}var q1,s4;function ine(){if(s4)return q1;s4=1;function e(t,n,r){switch(r.length){case 0:return t.call(n);case 1:return t.call(n,r[0]);case 2:return t.call(n,r[0],r[1]);case 3:return t.call(n,r[0],r[1],r[2])}return t.apply(n,r)}return q1=e,q1}var F1,o4;function sne(){if(o4)return F1;o4=1;var e=ine(),t=Math.max;function n(r,a,s){return a=t(a===void 0?r.length-1:a,0),function(){for(var l=arguments,u=-1,d=t(l.length-a,0),f=Array(d);++u0){if(++s>=e)return arguments[0]}else s=0;return a.apply(void 0,arguments)}}return V1=r,V1}var G1,f4;function une(){if(f4)return G1;f4=1;var e=lne(),t=cne(),n=t(e);return G1=n,G1}var Y1,h4;function dne(){if(h4)return Y1;h4=1;var e=Gu(),t=sne(),n=une();function r(a,s){return n(t(a,s,e),a+"")}return Y1=r,Y1}var K1,m4;function dy(){if(m4)return K1;m4=1;var e=nO(),t=Bh(),n=vO(),r=fo();function a(s,l,u){if(!r(u))return!1;var d=typeof l;return(d=="number"?t(u)&&n(l,u.length):d=="string"&&l in u)?e(u[l],s):!1}return K1=a,K1}var X1,p4;function fne(){if(p4)return X1;p4=1;var e=RB(),t=ane(),n=dne(),r=dy(),a=n(function(s,l){if(s==null)return[];var u=l.length;return u>1&&r(s,l[0],l[1])?l=[]:u>2&&r(l[0],l[1],l[2])&&(l=[l[0]]),t(s,e(l,1),[])});return X1=a,X1}var hne=fne();const bO=Rt(hne);function Lf(e){"@babel/helpers - typeof";return Lf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Lf(e)}function H_(){return H_=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=t.x),"".concat(nf,"-left"),Ee(n)&&t&&Ee(t.x)&&n=t.y),"".concat(nf,"-top"),Ee(r)&&t&&Ee(t.y)&&rw?Math.max(m,d[r]):Math.max(p,d[r])}function Ene(e){var t=e.translateX,n=e.translateY,r=e.useTranslate3d;return{transform:r?"translate3d(".concat(t,"px, ").concat(n,"px, 0)"):"translate(".concat(t,"px, ").concat(n,"px)")}}function Ane(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.offsetTopLeft,a=e.position,s=e.reverseDirection,l=e.tooltipBox,u=e.useTranslate3d,d=e.viewBox,f,m,p;return l.height>0&&l.width>0&&n?(m=y4({allowEscapeViewBox:t,coordinate:n,key:"x",offsetTopLeft:r,position:a,reverseDirection:s,tooltipDimension:l.width,viewBox:d,viewBoxDimension:d.width}),p=y4({allowEscapeViewBox:t,coordinate:n,key:"y",offsetTopLeft:r,position:a,reverseDirection:s,tooltipDimension:l.height,viewBox:d,viewBoxDimension:d.height}),f=Ene({translateX:m,translateY:p,useTranslate3d:u})):f=Cne,{cssProperties:f,cssClasses:One({translateX:m,translateY:p,coordinate:n})}}function du(e){"@babel/helpers - typeof";return du=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},du(e)}function x4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function b4(e){for(var t=1;tw4||Math.abs(r.height-this.state.lastBoundingBox.height)>w4)&&this.setState({lastBoundingBox:{width:r.width,height:r.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var r,a;this.props.active&&this.updateBBox(),this.state.dismissed&&(((r=this.props.coordinate)===null||r===void 0?void 0:r.x)!==this.state.dismissedAtCoordinate.x||((a=this.props.coordinate)===null||a===void 0?void 0:a.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var r=this,a=this.props,s=a.active,l=a.allowEscapeViewBox,u=a.animationDuration,d=a.animationEasing,f=a.children,m=a.coordinate,p=a.hasPayload,g=a.isAnimationActive,x=a.offset,j=a.position,w=a.reverseDirection,b=a.useTranslate3d,N=a.viewBox,E=a.wrapperStyle,O=Ane({allowEscapeViewBox:l,coordinate:m,offsetTopLeft:x,position:j,reverseDirection:w,tooltipBox:this.state.lastBoundingBox,useTranslate3d:b,viewBox:N}),A=O.cssClasses,C=O.cssProperties,k=b4(b4({transition:g&&s?"transform ".concat(u,"ms ").concat(d):void 0},C),{},{pointerEvents:"none",visibility:!this.state.dismissed&&s&&p?"visible":"hidden",position:"absolute",top:0,left:0},E);return W.createElement("div",{tabIndex:-1,className:A,style:k,ref:function(M){r.wrapperNode=M}},f)}}])})(y.PureComponent),zne=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},Ol={isSsr:zne()};function fu(e){"@babel/helpers - typeof";return fu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fu(e)}function j4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function S4(e){for(var t=1;t0;return W.createElement(Lne,{allowEscapeViewBox:l,animationDuration:u,animationEasing:d,isAnimationActive:g,active:s,coordinate:m,hasPayload:k,offset:x,position:b,reverseDirection:N,useTranslate3d:E,viewBox:O,wrapperStyle:A},Kne(f,S4(S4({},this.props),{},{payload:C})))}}])})(y.PureComponent);wO(oi,"displayName","Tooltip");wO(oi,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!Ol.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var Q1,_4;function Xne(){if(_4)return Q1;_4=1;var e=Ni(),t=function(){return e.Date.now()};return Q1=t,Q1}var J1,N4;function Zne(){if(N4)return J1;N4=1;var e=/\s/;function t(n){for(var r=n.length;r--&&e.test(n.charAt(r)););return r}return J1=t,J1}var eS,C4;function Qne(){if(C4)return eS;C4=1;var e=Zne(),t=/^\s+/;function n(r){return r&&r.slice(0,e(r)+1).replace(t,"")}return eS=n,eS}var tS,O4;function FB(){if(O4)return tS;O4=1;var e=Qne(),t=fo(),n=Hu(),r=NaN,a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;function d(f){if(typeof f=="number")return f;if(n(f))return r;if(t(f)){var m=typeof f.valueOf=="function"?f.valueOf():f;f=t(m)?m+"":m}if(typeof f!="string")return f===0?f:+f;f=e(f);var p=s.test(f);return p||l.test(f)?u(f.slice(2),p?2:8):a.test(f)?r:+f}return tS=d,tS}var nS,E4;function Jne(){if(E4)return nS;E4=1;var e=fo(),t=Xne(),n=FB(),r="Expected a function",a=Math.max,s=Math.min;function l(u,d,f){var m,p,g,x,j,w,b=0,N=!1,E=!1,O=!0;if(typeof u!="function")throw new TypeError(r);d=n(d)||0,e(f)&&(N=!!f.leading,E="maxWait"in f,g=E?a(n(f.maxWait)||0,d):g,O="trailing"in f?!!f.trailing:O);function A(V){var H=m,G=p;return m=p=void 0,b=V,x=u.apply(G,H),x}function C(V){return b=V,j=setTimeout(M,d),N?A(V):x}function k(V){var H=V-w,G=V-b,$=d-H;return E?s($,g-G):$}function T(V){var H=V-w,G=V-b;return w===void 0||H>=d||H<0||E&&G>=g}function M(){var V=t();if(T(V))return R(V);j=setTimeout(M,k(V))}function R(V){return j=void 0,O&&m?A(V):(m=p=void 0,x)}function L(){j!==void 0&&clearTimeout(j),b=0,m=w=p=j=void 0}function D(){return j===void 0?x:R(t())}function U(){var V=t(),H=T(V);if(m=arguments,p=this,w=V,H){if(j===void 0)return C(w);if(E)return clearTimeout(j),j=setTimeout(M,d),A(w)}return j===void 0&&(j=setTimeout(M,d)),x}return U.cancel=L,U.flush=D,U}return nS=l,nS}var rS,A4;function ere(){if(A4)return rS;A4=1;var e=Jne(),t=fo(),n="Expected a function";function r(a,s,l){var u=!0,d=!0;if(typeof a!="function")throw new TypeError(n);return t(l)&&(u="leading"in l?!!l.leading:u,d="trailing"in l?!!l.trailing:d),e(a,s,{leading:u,maxWait:s,trailing:d})}return rS=r,rS}var tre=ere();const UB=Rt(tre);function Bf(e){"@babel/helpers - typeof";return Bf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Bf(e)}function T4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Lp(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(V=UB(V,w,{trailing:!0,leading:!1}));var H=new ResizeObserver(V),G=C.current.getBoundingClientRect(),$=G.width,I=G.height;return D($,I),H.observe(C.current),function(){H.disconnect()}},[D,w]);var U=y.useMemo(function(){var V=R.containerWidth,H=R.containerHeight;if(V<0||H<0)return null;Va(Zo(l)||Zo(d),`The width(%s) and height(%s) are both fixed numbers, - maybe you don't need to use a ResponsiveContainer.`,l,d),Va(!n||n>0,"The aspect(%s) must be greater than zero.",n);var G=Zo(l)?V:l,$=Zo(d)?H:d;n&&n>0&&(G?$=G/n:$&&(G=$*n),g&&$>g&&($=g)),Va(G>0||$>0,`The width(%s) and height(%s) of chart should be greater than 0, - please check the style of container, or the props width(%s) and height(%s), - or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,G,$,l,d,m,p,n);var I=!Array.isArray(x)&&as(x.type).endsWith("Chart");return W.Children.map(x,function(q){return W.isValidElement(q)?y.cloneElement(q,Lp({width:G,height:$},I?{style:Lp({height:"100%",width:"100%",maxHeight:$,maxWidth:G},q.props.style)}:{})):q})},[n,x,d,g,p,m,R,l]);return W.createElement("div",{id:b?"".concat(b):void 0,className:et("recharts-responsive-container",N),style:Lp(Lp({},A),{},{width:l,height:d,minWidth:m,minHeight:p,maxHeight:g}),ref:C},U)}),fy=function(t){return null};fy.displayName="Cell";function qf(e){"@babel/helpers - typeof";return qf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qf(e)}function M4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Y_(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Ol.isSsr)return{width:0,height:0};var r=vre(n),a=JSON.stringify({text:t,copyStyle:r});if(Cc.widthCache[a])return Cc.widthCache[a];try{var s=document.getElementById(P4);s||(s=document.createElement("span"),s.setAttribute("id",P4),s.setAttribute("aria-hidden","true"),document.body.appendChild(s));var l=Y_(Y_({},pre),r);Object.assign(s.style,l),s.textContent="".concat(t);var u=s.getBoundingClientRect(),d={width:u.width,height:u.height};return Cc.widthCache[a]=d,++Cc.cacheCount>mre&&(Cc.cacheCount=0,Cc.widthCache={}),d}catch{return{width:0,height:0}}},gre=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function Ff(e){"@babel/helpers - typeof";return Ff=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ff(e)}function Fv(e,t){return wre(e)||bre(e,t)||xre(e,t)||yre()}function yre(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xre(e,t){if(e){if(typeof e=="string")return R4(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return R4(e,t)}}function R4(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Dre(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function B4(e,t){return zre(e)||Lre(e,t)||Ire(e,t)||$re()}function $re(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ire(e,t){if(e){if(typeof e=="string")return q4(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return q4(e,t)}}function q4(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:[];return G.reduce(function($,I){var q=I.word,Z=I.width,ee=$[$.length-1];if(ee&&(a==null||s||ee.width+Z+rI.width?$:I})};if(!m)return x;for(var w="…",b=function(G){var $=p.slice(0,G),I=GB({breakAll:f,style:d,children:$+w}).wordsWithComputedWidth,q=g(I),Z=q.length>l||j(q).width>Number(a);return[Z,q]},N=0,E=p.length-1,O=0,A;N<=E&&O<=p.length-1;){var C=Math.floor((N+E)/2),k=C-1,T=b(k),M=B4(T,2),R=M[0],L=M[1],D=b(C),U=B4(D,1),V=U[0];if(!R&&!V&&(N=C+1),R&&V&&(E=C-1),!R&&V){A=L;break}O++}return A||x},F4=function(t){var n=Je(t)?[]:t.toString().split(VB);return[{words:n}]},qre=function(t){var n=t.width,r=t.scaleToFit,a=t.children,s=t.style,l=t.breakAll,u=t.maxLines;if((n||r)&&!Ol.isSsr){var d,f,m=GB({breakAll:l,children:a,style:s});if(m){var p=m.wordsWithComputedWidth,g=m.spaceWidth;d=p,f=g}else return F4(a);return Bre({breakAll:l,children:a,maxLines:u,style:s},d,f,n,r)}return F4(a)},U4="#808080",vl=function(t){var n=t.x,r=n===void 0?0:n,a=t.y,s=a===void 0?0:a,l=t.lineHeight,u=l===void 0?"1em":l,d=t.capHeight,f=d===void 0?"0.71em":d,m=t.scaleToFit,p=m===void 0?!1:m,g=t.textAnchor,x=g===void 0?"start":g,j=t.verticalAnchor,w=j===void 0?"end":j,b=t.fill,N=b===void 0?U4:b,E=z4(t,Pre),O=y.useMemo(function(){return qre({breakAll:E.breakAll,children:E.children,maxLines:E.maxLines,scaleToFit:p,style:E.style,width:E.width})},[E.breakAll,E.children,E.maxLines,p,E.style,E.width]),A=E.dx,C=E.dy,k=E.angle,T=E.className,M=E.breakAll,R=z4(E,Rre);if(!Ln(r)||!Ln(s))return null;var L=r+(Ee(A)?A:0),D=s+(Ee(C)?C:0),U;switch(w){case"start":U=aS("calc(".concat(f,")"));break;case"middle":U=aS("calc(".concat((O.length-1)/2," * -").concat(u," + (").concat(f," / 2))"));break;default:U=aS("calc(".concat(O.length-1," * -").concat(u,")"));break}var V=[];if(p){var H=O[0].width,G=E.width;V.push("scale(".concat((Ee(G)?G/H:1)/H,")"))}return k&&V.push("rotate(".concat(k,", ").concat(L,", ").concat(D,")")),V.length&&(R.transform=V.join(" ")),W.createElement("text",K_({},qe(R,!0),{x:L,y:D,className:et("recharts-text",T),textAnchor:x,fill:N.includes("url")?U4:N}),O.map(function($,I){var q=$.words.join(M?"":" ");return W.createElement("tspan",{x:L,dy:I===0?U:u,key:"".concat(q,"-").concat(I)},q)}))};function no(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function Fre(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function jO(e){let t,n,r;e.length!==2?(t=no,n=(u,d)=>no(e(u),d),r=(u,d)=>e(u)-d):(t=e===no||e===Fre?e:Ure,n=e,r=e);function a(u,d,f=0,m=u.length){if(f>>1;n(u[p],d)<0?f=p+1:m=p}while(f>>1;n(u[p],d)<=0?f=p+1:m=p}while(ff&&r(u[p-1],d)>-r(u[p],d)?p-1:p}return{left:a,center:l,right:s}}function Ure(){return 0}function YB(e){return e===null?NaN:+e}function*Hre(e,t){for(let n of e)n!=null&&(n=+n)>=n&&(yield n)}const Wre=jO(no),qh=Wre.right;jO(YB).center;class H4 extends Map{constructor(t,n=Yre){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(const[r,a]of t)this.set(r,a)}get(t){return super.get(W4(this,t))}has(t){return super.has(W4(this,t))}set(t,n){return super.set(Vre(this,t),n)}delete(t){return super.delete(Gre(this,t))}}function W4({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function Vre({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function Gre({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function Yre(e){return e!==null&&typeof e=="object"?e.valueOf():e}function Kre(e=no){if(e===no)return KB;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,n)=>{const r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function KB(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const Xre=Math.sqrt(50),Zre=Math.sqrt(10),Qre=Math.sqrt(2);function Uv(e,t,n){const r=(t-e)/Math.max(0,n),a=Math.floor(Math.log10(r)),s=r/Math.pow(10,a),l=s>=Xre?10:s>=Zre?5:s>=Qre?2:1;let u,d,f;return a<0?(f=Math.pow(10,-a)/l,u=Math.round(e*f),d=Math.round(t*f),u/ft&&--d,f=-f):(f=Math.pow(10,a)*l,u=Math.round(e/f),d=Math.round(t/f),u*ft&&--d),d0))return[];if(e===t)return[e];const r=t=a))return[];const u=s-a+1,d=new Array(u);if(r)if(l<0)for(let f=0;f=r)&&(n=r);return n}function G4(e,t){let n;for(const r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);return n}function XB(e,t,n=0,r=1/0,a){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(a=a===void 0?KB:Kre(a);r>n;){if(r-n>600){const d=r-n+1,f=t-n+1,m=Math.log(d),p=.5*Math.exp(2*m/3),g=.5*Math.sqrt(m*p*(d-p)/d)*(f-d/2<0?-1:1),x=Math.max(n,Math.floor(t-f*p/d+g)),j=Math.min(r,Math.floor(t+(d-f)*p/d+g));XB(e,t,x,j,a)}const s=e[t];let l=n,u=r;for(rf(e,n,t),a(e[r],s)>0&&rf(e,n,r);l0;)--u}a(e[n],s)===0?rf(e,n,u):(++u,rf(e,u,r)),u<=t&&(n=u+1),t<=u&&(r=u-1)}return e}function rf(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function Jre(e,t,n){if(e=Float64Array.from(Hre(e)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return G4(e);if(t>=1)return V4(e);var r,a=(r-1)*t,s=Math.floor(a),l=V4(XB(e,s).subarray(0,s+1)),u=G4(e.subarray(s+1));return l+(u-l)*(a-s)}}function eae(e,t,n=YB){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,a=(r-1)*t,s=Math.floor(a),l=+n(e[s],s,e),u=+n(e[s+1],s+1,e);return l+(u-l)*(a-s)}}function tae(e,t,n){e=+e,t=+t,n=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+n;for(var r=-1,a=Math.max(0,Math.ceil((t-e)/n))|0,s=new Array(a);++r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Bp(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Bp(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=rae.exec(e))?new $r(t[1],t[2],t[3],1):(t=aae.exec(e))?new $r(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=iae.exec(e))?Bp(t[1],t[2],t[3],t[4]):(t=sae.exec(e))?Bp(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=oae.exec(e))?e3(t[1],t[2]/100,t[3]/100,1):(t=lae.exec(e))?e3(t[1],t[2]/100,t[3]/100,t[4]):Y4.hasOwnProperty(e)?Z4(Y4[e]):e==="transparent"?new $r(NaN,NaN,NaN,0):null}function Z4(e){return new $r(e>>16&255,e>>8&255,e&255,1)}function Bp(e,t,n,r){return r<=0&&(e=t=n=NaN),new $r(e,t,n,r)}function dae(e){return e instanceof Fh||(e=Vf(e)),e?(e=e.rgb(),new $r(e.r,e.g,e.b,e.opacity)):new $r}function eN(e,t,n,r){return arguments.length===1?dae(e):new $r(e,t,n,r??1)}function $r(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}_O($r,eN,QB(Fh,{brighter(e){return e=e==null?Hv:Math.pow(Hv,e),new $r(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Hf:Math.pow(Hf,e),new $r(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new $r(ol(this.r),ol(this.g),ol(this.b),Wv(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Q4,formatHex:Q4,formatHex8:fae,formatRgb:J4,toString:J4}));function Q4(){return`#${Qo(this.r)}${Qo(this.g)}${Qo(this.b)}`}function fae(){return`#${Qo(this.r)}${Qo(this.g)}${Qo(this.b)}${Qo((isNaN(this.opacity)?1:this.opacity)*255)}`}function J4(){const e=Wv(this.opacity);return`${e===1?"rgb(":"rgba("}${ol(this.r)}, ${ol(this.g)}, ${ol(this.b)}${e===1?")":`, ${e})`}`}function Wv(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ol(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Qo(e){return e=ol(e),(e<16?"0":"")+e.toString(16)}function e3(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Ua(e,t,n,r)}function JB(e){if(e instanceof Ua)return new Ua(e.h,e.s,e.l,e.opacity);if(e instanceof Fh||(e=Vf(e)),!e)return new Ua;if(e instanceof Ua)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,a=Math.min(t,n,r),s=Math.max(t,n,r),l=NaN,u=s-a,d=(s+a)/2;return u?(t===s?l=(n-r)/u+(n0&&d<1?0:l,new Ua(l,u,d,e.opacity)}function hae(e,t,n,r){return arguments.length===1?JB(e):new Ua(e,t,n,r??1)}function Ua(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}_O(Ua,hae,QB(Fh,{brighter(e){return e=e==null?Hv:Math.pow(Hv,e),new Ua(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Hf:Math.pow(Hf,e),new Ua(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,a=2*n-r;return new $r(iS(e>=240?e-240:e+120,a,r),iS(e,a,r),iS(e<120?e+240:e-120,a,r),this.opacity)},clamp(){return new Ua(t3(this.h),qp(this.s),qp(this.l),Wv(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Wv(this.opacity);return`${e===1?"hsl(":"hsla("}${t3(this.h)}, ${qp(this.s)*100}%, ${qp(this.l)*100}%${e===1?")":`, ${e})`}`}}));function t3(e){return e=(e||0)%360,e<0?e+360:e}function qp(e){return Math.max(0,Math.min(1,e||0))}function iS(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const NO=e=>()=>e;function mae(e,t){return function(n){return e+n*t}}function pae(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function vae(e){return(e=+e)==1?e6:function(t,n){return n-t?pae(t,n,e):NO(isNaN(t)?n:t)}}function e6(e,t){var n=t-e;return n?mae(e,n):NO(isNaN(e)?t:e)}const n3=(function e(t){var n=vae(t);function r(a,s){var l=n((a=eN(a)).r,(s=eN(s)).r),u=n(a.g,s.g),d=n(a.b,s.b),f=e6(a.opacity,s.opacity);return function(m){return a.r=l(m),a.g=u(m),a.b=d(m),a.opacity=f(m),a+""}}return r.gamma=e,r})(1);function gae(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),a;return function(s){for(a=0;an&&(s=t.slice(n,s),u[l]?u[l]+=s:u[++l]=s),(r=r[0])===(a=a[0])?u[l]?u[l]+=a:u[++l]=a:(u[++l]=null,d.push({i:l,x:Vv(r,a)})),n=sS.lastIndex;return nt&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function Eae(e,t,n){var r=e[0],a=e[1],s=t[0],l=t[1];return a2?Aae:Eae,d=f=null,p}function p(g){return g==null||isNaN(g=+g)?s:(d||(d=u(e.map(r),t,n)))(r(l(g)))}return p.invert=function(g){return l(a((f||(f=u(t,e.map(r),Vv)))(g)))},p.domain=function(g){return arguments.length?(e=Array.from(g,Gv),m()):e.slice()},p.range=function(g){return arguments.length?(t=Array.from(g),m()):t.slice()},p.rangeRound=function(g){return t=Array.from(g),n=CO,m()},p.clamp=function(g){return arguments.length?(l=g?!0:Nr,m()):l!==Nr},p.interpolate=function(g){return arguments.length?(n=g,m()):n},p.unknown=function(g){return arguments.length?(s=g,p):s},function(g,x){return r=g,a=x,m()}}function OO(){return hy()(Nr,Nr)}function Tae(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Yv(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function hu(e){return e=Yv(Math.abs(e)),e?e[1]:NaN}function kae(e,t){return function(n,r){for(var a=n.length,s=[],l=0,u=e[0],d=0;a>0&&u>0&&(d+u+1>r&&(u=Math.max(1,r-d)),s.push(n.substring(a-=u,a+u)),!((d+=u+1)>r));)u=e[l=(l+1)%e.length];return s.reverse().join(t)}}function Mae(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var Pae=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Gf(e){if(!(t=Pae.exec(e)))throw new Error("invalid format: "+e);var t;return new EO({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Gf.prototype=EO.prototype;function EO(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}EO.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Rae(e){e:for(var t=e.length,n=1,r=-1,a;n0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(a+1):e}var t6;function Dae(e,t){var n=Yv(e,t);if(!n)return e+"";var r=n[0],a=n[1],s=a-(t6=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,l=r.length;return s===l?r:s>l?r+new Array(s-l+1).join("0"):s>0?r.slice(0,s)+"."+r.slice(s):"0."+new Array(1-s).join("0")+Yv(e,Math.max(0,t+s-1))[0]}function a3(e,t){var n=Yv(e,t);if(!n)return e+"";var r=n[0],a=n[1];return a<0?"0."+new Array(-a).join("0")+r:r.length>a+1?r.slice(0,a+1)+"."+r.slice(a+1):r+new Array(a-r.length+2).join("0")}const i3={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:Tae,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>a3(e*100,t),r:a3,s:Dae,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function s3(e){return e}var o3=Array.prototype.map,l3=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function $ae(e){var t=e.grouping===void 0||e.thousands===void 0?s3:kae(o3.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",a=e.decimal===void 0?".":e.decimal+"",s=e.numerals===void 0?s3:Mae(o3.call(e.numerals,String)),l=e.percent===void 0?"%":e.percent+"",u=e.minus===void 0?"−":e.minus+"",d=e.nan===void 0?"NaN":e.nan+"";function f(p){p=Gf(p);var g=p.fill,x=p.align,j=p.sign,w=p.symbol,b=p.zero,N=p.width,E=p.comma,O=p.precision,A=p.trim,C=p.type;C==="n"?(E=!0,C="g"):i3[C]||(O===void 0&&(O=12),A=!0,C="g"),(b||g==="0"&&x==="=")&&(b=!0,g="0",x="=");var k=w==="$"?n:w==="#"&&/[boxX]/.test(C)?"0"+C.toLowerCase():"",T=w==="$"?r:/[%p]/.test(C)?l:"",M=i3[C],R=/[defgprs%]/.test(C);O=O===void 0?6:/[gprs]/.test(C)?Math.max(1,Math.min(21,O)):Math.max(0,Math.min(20,O));function L(D){var U=k,V=T,H,G,$;if(C==="c")V=M(D)+V,D="";else{D=+D;var I=D<0||1/D<0;if(D=isNaN(D)?d:M(Math.abs(D),O),A&&(D=Rae(D)),I&&+D==0&&j!=="+"&&(I=!1),U=(I?j==="("?j:u:j==="-"||j==="("?"":j)+U,V=(C==="s"?l3[8+t6/3]:"")+V+(I&&j==="("?")":""),R){for(H=-1,G=D.length;++H$||$>57){V=($===46?a+D.slice(H+1):D.slice(H))+V,D=D.slice(0,H);break}}}E&&!b&&(D=t(D,1/0));var q=U.length+D.length+V.length,Z=q>1)+U+D+V+Z.slice(q);break;default:D=Z+U+D+V;break}return s(D)}return L.toString=function(){return p+""},L}function m(p,g){var x=f((p=Gf(p),p.type="f",p)),j=Math.max(-8,Math.min(8,Math.floor(hu(g)/3)))*3,w=Math.pow(10,-j),b=l3[8+j/3];return function(N){return x(w*N)+b}}return{format:f,formatPrefix:m}}var Fp,AO,n6;Iae({thousands:",",grouping:[3],currency:["$",""]});function Iae(e){return Fp=$ae(e),AO=Fp.format,n6=Fp.formatPrefix,Fp}function Lae(e){return Math.max(0,-hu(Math.abs(e)))}function zae(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(hu(t)/3)))*3-hu(Math.abs(e)))}function Bae(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,hu(t)-hu(e))+1}function r6(e,t,n,r){var a=Q_(e,t,n),s;switch(r=Gf(r??",f"),r.type){case"s":{var l=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(s=zae(a,l))&&(r.precision=s),n6(r,l)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(s=Bae(a,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=s-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(s=Lae(a))&&(r.precision=s-(r.type==="%")*2);break}}return AO(r)}function ho(e){var t=e.domain;return e.ticks=function(n){var r=t();return X_(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var a=t();return r6(a[0],a[a.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),a=0,s=r.length-1,l=r[a],u=r[s],d,f,m=10;for(u0;){if(f=Z_(l,u,n),f===d)return r[a]=l,r[s]=u,t(r);if(f>0)l=Math.floor(l/f)*f,u=Math.ceil(u/f)*f;else if(f<0)l=Math.ceil(l*f)/f,u=Math.floor(u*f)/f;else break;d=f}return e},e}function Kv(){var e=OO();return e.copy=function(){return Uh(e,Kv())},Pa.apply(e,arguments),ho(e)}function a6(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,Gv),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return a6(e).unknown(t)},e=arguments.length?Array.from(e,Gv):[0,1],ho(n)}function i6(e,t){e=e.slice();var n=0,r=e.length-1,a=e[n],s=e[r],l;return sMath.pow(e,t)}function Wae(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function d3(e){return(t,n)=>-e(-t,n)}function TO(e){const t=e(c3,u3),n=t.domain;let r=10,a,s;function l(){return a=Wae(r),s=Hae(r),n()[0]<0?(a=d3(a),s=d3(s),e(qae,Fae)):e(c3,u3),t}return t.base=function(u){return arguments.length?(r=+u,l()):r},t.domain=function(u){return arguments.length?(n(u),l()):n()},t.ticks=u=>{const d=n();let f=d[0],m=d[d.length-1];const p=m0){for(;g<=x;++g)for(j=1;jm)break;N.push(w)}}else for(;g<=x;++g)for(j=r-1;j>=1;--j)if(w=g>0?j/s(-g):j*s(g),!(wm)break;N.push(w)}N.length*2{if(u==null&&(u=10),d==null&&(d=r===10?"s":","),typeof d!="function"&&(!(r%1)&&(d=Gf(d)).precision==null&&(d.trim=!0),d=AO(d)),u===1/0)return d;const f=Math.max(1,r*u/t.ticks().length);return m=>{let p=m/s(Math.round(a(m)));return p*rn(i6(n(),{floor:u=>s(Math.floor(a(u))),ceil:u=>s(Math.ceil(a(u)))})),t}function s6(){const e=TO(hy()).domain([1,10]);return e.copy=()=>Uh(e,s6()).base(e.base()),Pa.apply(e,arguments),e}function f3(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function h3(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function kO(e){var t=1,n=e(f3(t),h3(t));return n.constant=function(r){return arguments.length?e(f3(t=+r),h3(t)):t},ho(n)}function o6(){var e=kO(hy());return e.copy=function(){return Uh(e,o6()).constant(e.constant())},Pa.apply(e,arguments)}function m3(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function Vae(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function Gae(e){return e<0?-e*e:e*e}function MO(e){var t=e(Nr,Nr),n=1;function r(){return n===1?e(Nr,Nr):n===.5?e(Vae,Gae):e(m3(n),m3(1/n))}return t.exponent=function(a){return arguments.length?(n=+a,r()):n},ho(t)}function PO(){var e=MO(hy());return e.copy=function(){return Uh(e,PO()).exponent(e.exponent())},Pa.apply(e,arguments),e}function Yae(){return PO.apply(null,arguments).exponent(.5)}function p3(e){return Math.sign(e)*e*e}function Kae(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function l6(){var e=OO(),t=[0,1],n=!1,r;function a(s){var l=Kae(e(s));return isNaN(l)?r:n?Math.round(l):l}return a.invert=function(s){return e.invert(p3(s))},a.domain=function(s){return arguments.length?(e.domain(s),a):e.domain()},a.range=function(s){return arguments.length?(e.range((t=Array.from(s,Gv)).map(p3)),a):t.slice()},a.rangeRound=function(s){return a.range(s).round(!0)},a.round=function(s){return arguments.length?(n=!!s,a):n},a.clamp=function(s){return arguments.length?(e.clamp(s),a):e.clamp()},a.unknown=function(s){return arguments.length?(r=s,a):r},a.copy=function(){return l6(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},Pa.apply(a,arguments),ho(a)}function c6(){var e=[],t=[],n=[],r;function a(){var l=0,u=Math.max(1,t.length);for(n=new Array(u-1);++l0?n[u-1]:e[0],u=n?[r[n-1],t]:[r[f-1],r[f]]},l.unknown=function(d){return arguments.length&&(s=d),l},l.thresholds=function(){return r.slice()},l.copy=function(){return u6().domain([e,t]).range(a).unknown(s)},Pa.apply(ho(l),arguments)}function d6(){var e=[.5],t=[0,1],n,r=1;function a(s){return s!=null&&s<=s?t[qh(e,s,0,r)]:n}return a.domain=function(s){return arguments.length?(e=Array.from(s),r=Math.min(e.length,t.length-1),a):e.slice()},a.range=function(s){return arguments.length?(t=Array.from(s),r=Math.min(e.length,t.length-1),a):t.slice()},a.invertExtent=function(s){var l=t.indexOf(s);return[e[l-1],e[l]]},a.unknown=function(s){return arguments.length?(n=s,a):n},a.copy=function(){return d6().domain(e).range(t).unknown(n)},Pa.apply(a,arguments)}const oS=new Date,lS=new Date;function Bn(e,t,n,r){function a(s){return e(s=arguments.length===0?new Date:new Date(+s)),s}return a.floor=s=>(e(s=new Date(+s)),s),a.ceil=s=>(e(s=new Date(s-1)),t(s,1),e(s),s),a.round=s=>{const l=a(s),u=a.ceil(s);return s-l(t(s=new Date(+s),l==null?1:Math.floor(l)),s),a.range=(s,l,u)=>{const d=[];if(s=a.ceil(s),u=u==null?1:Math.floor(u),!(s0))return d;let f;do d.push(f=new Date(+s)),t(s,u),e(s);while(fBn(l=>{if(l>=l)for(;e(l),!s(l);)l.setTime(l-1)},(l,u)=>{if(l>=l)if(u<0)for(;++u<=0;)for(;t(l,-1),!s(l););else for(;--u>=0;)for(;t(l,1),!s(l););}),n&&(a.count=(s,l)=>(oS.setTime(+s),lS.setTime(+l),e(oS),e(lS),Math.floor(n(oS,lS))),a.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?a.filter(r?l=>r(l)%s===0:l=>a.count(0,l)%s===0):a)),a}const Xv=Bn(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Xv.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Bn(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):Xv);Xv.range;const Qi=1e3,Ea=Qi*60,Ji=Ea*60,ls=Ji*24,RO=ls*7,v3=ls*30,cS=ls*365,Jo=Bn(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Qi)},(e,t)=>(t-e)/Qi,e=>e.getUTCSeconds());Jo.range;const DO=Bn(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Qi)},(e,t)=>{e.setTime(+e+t*Ea)},(e,t)=>(t-e)/Ea,e=>e.getMinutes());DO.range;const $O=Bn(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Ea)},(e,t)=>(t-e)/Ea,e=>e.getUTCMinutes());$O.range;const IO=Bn(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Qi-e.getMinutes()*Ea)},(e,t)=>{e.setTime(+e+t*Ji)},(e,t)=>(t-e)/Ji,e=>e.getHours());IO.range;const LO=Bn(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Ji)},(e,t)=>(t-e)/Ji,e=>e.getUTCHours());LO.range;const Hh=Bn(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Ea)/ls,e=>e.getDate()-1);Hh.range;const my=Bn(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ls,e=>e.getUTCDate()-1);my.range;const f6=Bn(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ls,e=>Math.floor(e/ls));f6.range;function El(e){return Bn(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,n)=>{t.setDate(t.getDate()+n*7)},(t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Ea)/RO)}const py=El(0),Zv=El(1),Xae=El(2),Zae=El(3),mu=El(4),Qae=El(5),Jae=El(6);py.range;Zv.range;Xae.range;Zae.range;mu.range;Qae.range;Jae.range;function Al(e){return Bn(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCDate(t.getUTCDate()+n*7)},(t,n)=>(n-t)/RO)}const vy=Al(0),Qv=Al(1),eie=Al(2),tie=Al(3),pu=Al(4),nie=Al(5),rie=Al(6);vy.range;Qv.range;eie.range;tie.range;pu.range;nie.range;rie.range;const zO=Bn(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());zO.range;const BO=Bn(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());BO.range;const cs=Bn(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());cs.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Bn(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)});cs.range;const us=Bn(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());us.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Bn(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)});us.range;function h6(e,t,n,r,a,s){const l=[[Jo,1,Qi],[Jo,5,5*Qi],[Jo,15,15*Qi],[Jo,30,30*Qi],[s,1,Ea],[s,5,5*Ea],[s,15,15*Ea],[s,30,30*Ea],[a,1,Ji],[a,3,3*Ji],[a,6,6*Ji],[a,12,12*Ji],[r,1,ls],[r,2,2*ls],[n,1,RO],[t,1,v3],[t,3,3*v3],[e,1,cS]];function u(f,m,p){const g=mb).right(l,g);if(x===l.length)return e.every(Q_(f/cS,m/cS,p));if(x===0)return Xv.every(Math.max(Q_(f,m,p),1));const[j,w]=l[g/l[x-1][2]53)return null;"w"in X||(X.w=1),"Z"in X?(Oe=dS(af(X.y,0,1)),We=Oe.getUTCDay(),Oe=We>4||We===0?Qv.ceil(Oe):Qv(Oe),Oe=my.offset(Oe,(X.V-1)*7),X.y=Oe.getUTCFullYear(),X.m=Oe.getUTCMonth(),X.d=Oe.getUTCDate()+(X.w+6)%7):(Oe=uS(af(X.y,0,1)),We=Oe.getDay(),Oe=We>4||We===0?Zv.ceil(Oe):Zv(Oe),Oe=Hh.offset(Oe,(X.V-1)*7),X.y=Oe.getFullYear(),X.m=Oe.getMonth(),X.d=Oe.getDate()+(X.w+6)%7)}else("W"in X||"U"in X)&&("w"in X||(X.w="u"in X?X.u%7:"W"in X?1:0),We="Z"in X?dS(af(X.y,0,1)).getUTCDay():uS(af(X.y,0,1)).getDay(),X.m=0,X.d="W"in X?(X.w+6)%7+X.W*7-(We+5)%7:X.w+X.U*7-(We+6)%7);return"Z"in X?(X.H+=X.Z/100|0,X.M+=X.Z%100,dS(X)):uS(X)}}function M(Y,pe,je,X){for(var Ae=0,Oe=pe.length,We=je.length,Ve,be;Ae=We)return-1;if(Ve=pe.charCodeAt(Ae++),Ve===37){if(Ve=pe.charAt(Ae++),be=C[Ve in g3?pe.charAt(Ae++):Ve],!be||(X=be(Y,je,X))<0)return-1}else if(Ve!=je.charCodeAt(X++))return-1}return X}function R(Y,pe,je){var X=f.exec(pe.slice(je));return X?(Y.p=m.get(X[0].toLowerCase()),je+X[0].length):-1}function L(Y,pe,je){var X=x.exec(pe.slice(je));return X?(Y.w=j.get(X[0].toLowerCase()),je+X[0].length):-1}function D(Y,pe,je){var X=p.exec(pe.slice(je));return X?(Y.w=g.get(X[0].toLowerCase()),je+X[0].length):-1}function U(Y,pe,je){var X=N.exec(pe.slice(je));return X?(Y.m=E.get(X[0].toLowerCase()),je+X[0].length):-1}function V(Y,pe,je){var X=w.exec(pe.slice(je));return X?(Y.m=b.get(X[0].toLowerCase()),je+X[0].length):-1}function H(Y,pe,je){return M(Y,t,pe,je)}function G(Y,pe,je){return M(Y,n,pe,je)}function $(Y,pe,je){return M(Y,r,pe,je)}function I(Y){return l[Y.getDay()]}function q(Y){return s[Y.getDay()]}function Z(Y){return d[Y.getMonth()]}function ee(Y){return u[Y.getMonth()]}function F(Y){return a[+(Y.getHours()>=12)]}function z(Y){return 1+~~(Y.getMonth()/3)}function K(Y){return l[Y.getUTCDay()]}function ie(Y){return s[Y.getUTCDay()]}function Q(Y){return d[Y.getUTCMonth()]}function he(Y){return u[Y.getUTCMonth()]}function ae(Y){return a[+(Y.getUTCHours()>=12)]}function we(Y){return 1+~~(Y.getUTCMonth()/3)}return{format:function(Y){var pe=k(Y+="",O);return pe.toString=function(){return Y},pe},parse:function(Y){var pe=T(Y+="",!1);return pe.toString=function(){return Y},pe},utcFormat:function(Y){var pe=k(Y+="",A);return pe.toString=function(){return Y},pe},utcParse:function(Y){var pe=T(Y+="",!0);return pe.toString=function(){return Y},pe}}}var g3={"-":"",_:" ",0:"0"},Qn=/^\s*\d+/,cie=/^%/,uie=/[\\^$*+?|[\]().{}]/g;function Ot(e,t,n){var r=e<0?"-":"",a=(r?-e:e)+"",s=a.length;return r+(s[t.toLowerCase(),n]))}function fie(e,t,n){var r=Qn.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function hie(e,t,n){var r=Qn.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function mie(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function pie(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function vie(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function y3(e,t,n){var r=Qn.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function x3(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function gie(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function yie(e,t,n){var r=Qn.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function xie(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function b3(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function bie(e,t,n){var r=Qn.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function w3(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function wie(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function jie(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function Sie(e,t,n){var r=Qn.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function _ie(e,t,n){var r=Qn.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Nie(e,t,n){var r=cie.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function Cie(e,t,n){var r=Qn.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function Oie(e,t,n){var r=Qn.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function j3(e,t){return Ot(e.getDate(),t,2)}function Eie(e,t){return Ot(e.getHours(),t,2)}function Aie(e,t){return Ot(e.getHours()%12||12,t,2)}function Tie(e,t){return Ot(1+Hh.count(cs(e),e),t,3)}function m6(e,t){return Ot(e.getMilliseconds(),t,3)}function kie(e,t){return m6(e,t)+"000"}function Mie(e,t){return Ot(e.getMonth()+1,t,2)}function Pie(e,t){return Ot(e.getMinutes(),t,2)}function Rie(e,t){return Ot(e.getSeconds(),t,2)}function Die(e){var t=e.getDay();return t===0?7:t}function $ie(e,t){return Ot(py.count(cs(e)-1,e),t,2)}function p6(e){var t=e.getDay();return t>=4||t===0?mu(e):mu.ceil(e)}function Iie(e,t){return e=p6(e),Ot(mu.count(cs(e),e)+(cs(e).getDay()===4),t,2)}function Lie(e){return e.getDay()}function zie(e,t){return Ot(Zv.count(cs(e)-1,e),t,2)}function Bie(e,t){return Ot(e.getFullYear()%100,t,2)}function qie(e,t){return e=p6(e),Ot(e.getFullYear()%100,t,2)}function Fie(e,t){return Ot(e.getFullYear()%1e4,t,4)}function Uie(e,t){var n=e.getDay();return e=n>=4||n===0?mu(e):mu.ceil(e),Ot(e.getFullYear()%1e4,t,4)}function Hie(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Ot(t/60|0,"0",2)+Ot(t%60,"0",2)}function S3(e,t){return Ot(e.getUTCDate(),t,2)}function Wie(e,t){return Ot(e.getUTCHours(),t,2)}function Vie(e,t){return Ot(e.getUTCHours()%12||12,t,2)}function Gie(e,t){return Ot(1+my.count(us(e),e),t,3)}function v6(e,t){return Ot(e.getUTCMilliseconds(),t,3)}function Yie(e,t){return v6(e,t)+"000"}function Kie(e,t){return Ot(e.getUTCMonth()+1,t,2)}function Xie(e,t){return Ot(e.getUTCMinutes(),t,2)}function Zie(e,t){return Ot(e.getUTCSeconds(),t,2)}function Qie(e){var t=e.getUTCDay();return t===0?7:t}function Jie(e,t){return Ot(vy.count(us(e)-1,e),t,2)}function g6(e){var t=e.getUTCDay();return t>=4||t===0?pu(e):pu.ceil(e)}function ese(e,t){return e=g6(e),Ot(pu.count(us(e),e)+(us(e).getUTCDay()===4),t,2)}function tse(e){return e.getUTCDay()}function nse(e,t){return Ot(Qv.count(us(e)-1,e),t,2)}function rse(e,t){return Ot(e.getUTCFullYear()%100,t,2)}function ase(e,t){return e=g6(e),Ot(e.getUTCFullYear()%100,t,2)}function ise(e,t){return Ot(e.getUTCFullYear()%1e4,t,4)}function sse(e,t){var n=e.getUTCDay();return e=n>=4||n===0?pu(e):pu.ceil(e),Ot(e.getUTCFullYear()%1e4,t,4)}function ose(){return"+0000"}function _3(){return"%"}function N3(e){return+e}function C3(e){return Math.floor(+e/1e3)}var Oc,y6,x6;lse({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function lse(e){return Oc=lie(e),y6=Oc.format,Oc.parse,x6=Oc.utcFormat,Oc.utcParse,Oc}function cse(e){return new Date(e)}function use(e){return e instanceof Date?+e:+new Date(+e)}function qO(e,t,n,r,a,s,l,u,d,f){var m=OO(),p=m.invert,g=m.domain,x=f(".%L"),j=f(":%S"),w=f("%I:%M"),b=f("%I %p"),N=f("%a %d"),E=f("%b %d"),O=f("%B"),A=f("%Y");function C(k){return(d(k)t(a/(e.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(a,s)=>Jre(e,s/r))},n.copy=function(){return S6(t).domain(e)},vs.apply(n,arguments)}function yy(){var e=0,t=.5,n=1,r=1,a,s,l,u,d,f=Nr,m,p=!1,g;function x(w){return isNaN(w=+w)?g:(w=.5+((w=+m(w))-s)*(r*wn}return hS=e,hS}var mS,T3;function pse(){if(T3)return mS;T3=1;var e=xy(),t=O6(),n=Gu();function r(a){return a&&a.length?e(a,n,t):void 0}return mS=r,mS}var vse=pse();const by=Rt(vse);var pS,k3;function E6(){if(k3)return pS;k3=1;function e(t,n){return te.e^s.s<0?1:-1;for(r=s.d.length,a=e.d.length,t=0,n=re.d[t]^s.s<0?1:-1;return r===a?0:r>a^s.s<0?1:-1};Me.decimalPlaces=Me.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*un;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n};Me.dividedBy=Me.div=function(e){return is(this,new this.constructor(e))};Me.dividedToIntegerBy=Me.idiv=function(e){var t=this,n=t.constructor;return Yt(is(t,new n(e),0,1),n.precision)};Me.equals=Me.eq=function(e){return!this.cmp(e)};Me.exponent=function(){return kn(this)};Me.greaterThan=Me.gt=function(e){return this.cmp(e)>0};Me.greaterThanOrEqualTo=Me.gte=function(e){return this.cmp(e)>=0};Me.isInteger=Me.isint=function(){return this.e>this.d.length-2};Me.isNegative=Me.isneg=function(){return this.s<0};Me.isPositive=Me.ispos=function(){return this.s>0};Me.isZero=function(){return this.s===0};Me.lessThan=Me.lt=function(e){return this.cmp(e)<0};Me.lessThanOrEqualTo=Me.lte=function(e){return this.cmp(e)<1};Me.logarithm=Me.log=function(e){var t,n=this,r=n.constructor,a=r.precision,s=a+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(ia))throw Error(ka+"NaN");if(n.s<1)throw Error(ka+(n.s?"NaN":"-Infinity"));return n.eq(ia)?new r(0):(mn=!1,t=is(Yf(n,s),Yf(e,s),s),mn=!0,Yt(t,a))};Me.minus=Me.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?M6(t,e):T6(t,(e.s=-e.s,e))};Me.modulo=Me.mod=function(e){var t,n=this,r=n.constructor,a=r.precision;if(e=new r(e),!e.s)throw Error(ka+"NaN");return n.s?(mn=!1,t=is(n,e,0,1).times(e),mn=!0,n.minus(t)):Yt(new r(n),a)};Me.naturalExponential=Me.exp=function(){return k6(this)};Me.naturalLogarithm=Me.ln=function(){return Yf(this)};Me.negated=Me.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};Me.plus=Me.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?T6(t,e):M6(t,(e.s=-e.s,e))};Me.precision=Me.sd=function(e){var t,n,r,a=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(ll+e);if(t=kn(a)+1,r=a.d.length-1,n=r*un+1,r=a.d[r],r){for(;r%10==0;r/=10)n--;for(r=a.d[0];r>=10;r/=10)n++}return e&&t>n?t:n};Me.squareRoot=Me.sqrt=function(){var e,t,n,r,a,s,l,u=this,d=u.constructor;if(u.s<1){if(!u.s)return new d(0);throw Error(ka+"NaN")}for(e=kn(u),mn=!1,a=Math.sqrt(+u),a==0||a==1/0?(t=fi(u.d),(t.length+e)%2==0&&(t+="0"),a=Math.sqrt(t),e=Xu((e+1)/2)-(e<0||e%2),a==1/0?t="5e"+e:(t=a.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),r=new d(t)):r=new d(a.toString()),n=d.precision,a=l=n+3;;)if(s=r,r=s.plus(is(u,s,l+2)).times(.5),fi(s.d).slice(0,l)===(t=fi(r.d)).slice(0,l)){if(t=t.slice(l-3,l+1),a==l&&t=="4999"){if(Yt(s,n+1,0),s.times(s).eq(u)){r=s;break}}else if(t!="9999")break;l+=4}return mn=!0,Yt(r,n)};Me.times=Me.mul=function(e){var t,n,r,a,s,l,u,d,f,m=this,p=m.constructor,g=m.d,x=(e=new p(e)).d;if(!m.s||!e.s)return new p(0);for(e.s*=m.s,n=m.e+e.e,d=g.length,f=x.length,d=0;){for(t=0,a=d+r;a>r;)u=s[a]+x[r]*g[a-r-1]+t,s[a--]=u%Hn|0,t=u/Hn|0;s[a]=(s[a]+t)%Hn|0}for(;!s[--l];)s.pop();return t?++n:s.shift(),e.d=s,e.e=n,mn?Yt(e,p.precision):e};Me.toDecimalPlaces=Me.todp=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(wi(e,0,Ku),t===void 0?t=r.rounding:wi(t,0,8),Yt(n,e+kn(n)+1,t))};Me.toExponential=function(e,t){var n,r=this,a=r.constructor;return e===void 0?n=gl(r,!0):(wi(e,0,Ku),t===void 0?t=a.rounding:wi(t,0,8),r=Yt(new a(r),e+1,t),n=gl(r,!0,e+1)),n};Me.toFixed=function(e,t){var n,r,a=this,s=a.constructor;return e===void 0?gl(a):(wi(e,0,Ku),t===void 0?t=s.rounding:wi(t,0,8),r=Yt(new s(a),e+kn(a)+1,t),n=gl(r.abs(),!1,e+kn(r)+1),a.isneg()&&!a.isZero()?"-"+n:n)};Me.toInteger=Me.toint=function(){var e=this,t=e.constructor;return Yt(new t(e),kn(e)+1,t.rounding)};Me.toNumber=function(){return+this};Me.toPower=Me.pow=function(e){var t,n,r,a,s,l,u=this,d=u.constructor,f=12,m=+(e=new d(e));if(!e.s)return new d(ia);if(u=new d(u),!u.s){if(e.s<1)throw Error(ka+"Infinity");return u}if(u.eq(ia))return u;if(r=d.precision,e.eq(ia))return Yt(u,r);if(t=e.e,n=e.d.length-1,l=t>=n,s=u.s,l){if((n=m<0?-m:m)<=A6){for(a=new d(ia),t=Math.ceil(r/un+4),mn=!1;n%2&&(a=a.times(u),I3(a.d,t)),n=Xu(n/2),n!==0;)u=u.times(u),I3(u.d,t);return mn=!0,e.s<0?new d(ia).div(a):Yt(a,r)}}else if(s<0)throw Error(ka+"NaN");return s=s<0&&e.d[Math.max(t,n)]&1?-1:1,u.s=1,mn=!1,a=e.times(Yf(u,r+f)),mn=!0,a=k6(a),a.s=s,a};Me.toPrecision=function(e,t){var n,r,a=this,s=a.constructor;return e===void 0?(n=kn(a),r=gl(a,n<=s.toExpNeg||n>=s.toExpPos)):(wi(e,1,Ku),t===void 0?t=s.rounding:wi(t,0,8),a=Yt(new s(a),e,t),n=kn(a),r=gl(a,e<=n||n<=s.toExpNeg,e)),r};Me.toSignificantDigits=Me.tosd=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(wi(e,1,Ku),t===void 0?t=r.rounding:wi(t,0,8)),Yt(new r(n),e,t)};Me.toString=Me.valueOf=Me.val=Me.toJSON=Me[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=kn(e),n=e.constructor;return gl(e,t<=n.toExpNeg||t>=n.toExpPos)};function T6(e,t){var n,r,a,s,l,u,d,f,m=e.constructor,p=m.precision;if(!e.s||!t.s)return t.s||(t=new m(e)),mn?Yt(t,p):t;if(d=e.d,f=t.d,l=e.e,a=t.e,d=d.slice(),s=l-a,s){for(s<0?(r=d,s=-s,u=f.length):(r=f,a=l,u=d.length),l=Math.ceil(p/un),u=l>u?l+1:u+1,s>u&&(s=u,r.length=1),r.reverse();s--;)r.push(0);r.reverse()}for(u=d.length,s=f.length,u-s<0&&(s=u,r=f,f=d,d=r),n=0;s;)n=(d[--s]=d[s]+f[s]+n)/Hn|0,d[s]%=Hn;for(n&&(d.unshift(n),++a),u=d.length;d[--u]==0;)d.pop();return t.d=d,t.e=a,mn?Yt(t,p):t}function wi(e,t,n){if(e!==~~e||en)throw Error(ll+e)}function fi(e){var t,n,r,a=e.length-1,s="",l=e[0];if(a>0){for(s+=l,t=1;tl?1:-1;else for(u=d=0;ua[u]?1:-1;break}return d}function n(r,a,s){for(var l=0;s--;)r[s]-=l,l=r[s]1;)r.shift()}return function(r,a,s,l){var u,d,f,m,p,g,x,j,w,b,N,E,O,A,C,k,T,M,R=r.constructor,L=r.s==a.s?1:-1,D=r.d,U=a.d;if(!r.s)return new R(r);if(!a.s)throw Error(ka+"Division by zero");for(d=r.e-a.e,T=U.length,C=D.length,x=new R(L),j=x.d=[],f=0;U[f]==(D[f]||0);)++f;if(U[f]>(D[f]||0)&&--d,s==null?E=s=R.precision:l?E=s+(kn(r)-kn(a))+1:E=s,E<0)return new R(0);if(E=E/un+2|0,f=0,T==1)for(m=0,U=U[0],E++;(f1&&(U=e(U,m),D=e(D,m),T=U.length,C=D.length),A=T,w=D.slice(0,T),b=w.length;b=Hn/2&&++k;do m=0,u=t(U,w,T,b),u<0?(N=w[0],T!=b&&(N=N*Hn+(w[1]||0)),m=N/k|0,m>1?(m>=Hn&&(m=Hn-1),p=e(U,m),g=p.length,b=w.length,u=t(p,w,g,b),u==1&&(m--,n(p,T16)throw Error(HO+kn(e));if(!e.s)return new m(ia);for(mn=!1,u=p,l=new m(.03125);e.abs().gte(.1);)e=e.times(l),f+=5;for(r=Math.log(Go(2,f))/Math.LN10*2+5|0,u+=r,n=a=s=new m(ia),m.precision=u;;){if(a=Yt(a.times(e),u),n=n.times(++d),l=s.plus(is(a,n,u)),fi(l.d).slice(0,u)===fi(s.d).slice(0,u)){for(;f--;)s=Yt(s.times(s),u);return m.precision=p,t==null?(mn=!0,Yt(s,p)):s}s=l}}function kn(e){for(var t=e.e*un,n=e.d[0];n>=10;n/=10)t++;return t}function bS(e,t,n){if(t>e.LN10.sd())throw mn=!0,n&&(e.precision=n),Error(ka+"LN10 precision limit exceeded");return Yt(new e(e.LN10),t)}function Ys(e){for(var t="";e--;)t+="0";return t}function Yf(e,t){var n,r,a,s,l,u,d,f,m,p=1,g=10,x=e,j=x.d,w=x.constructor,b=w.precision;if(x.s<1)throw Error(ka+(x.s?"NaN":"-Infinity"));if(x.eq(ia))return new w(0);if(t==null?(mn=!1,f=b):f=t,x.eq(10))return t==null&&(mn=!0),bS(w,f);if(f+=g,w.precision=f,n=fi(j),r=n.charAt(0),s=kn(x),Math.abs(s)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)x=x.times(e),n=fi(x.d),r=n.charAt(0),p++;s=kn(x),r>1?(x=new w("0."+n),s++):x=new w(r+"."+n.slice(1))}else return d=bS(w,f+2,b).times(s+""),x=Yf(new w(r+"."+n.slice(1)),f-g).plus(d),w.precision=b,t==null?(mn=!0,Yt(x,b)):x;for(u=l=x=is(x.minus(ia),x.plus(ia),f),m=Yt(x.times(x),f),a=3;;){if(l=Yt(l.times(m),f),d=u.plus(is(l,new w(a),f)),fi(d.d).slice(0,f)===fi(u.d).slice(0,f))return u=u.times(2),s!==0&&(u=u.plus(bS(w,f+2,b).times(s+""))),u=is(u,new w(p),f),w.precision=b,t==null?(mn=!0,Yt(u,b)):u;u=d,a+=2}}function $3(e,t){var n,r,a;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;)++r;for(a=t.length;t.charCodeAt(a-1)===48;)--a;if(t=t.slice(r,a),t){if(a-=r,n=n-r-1,e.e=Xu(n/un),e.d=[],r=(n+1)%un,n<0&&(r+=un),rJv||e.e<-Jv))throw Error(HO+n)}else e.s=0,e.e=0,e.d=[0];return e}function Yt(e,t,n){var r,a,s,l,u,d,f,m,p=e.d;for(l=1,s=p[0];s>=10;s/=10)l++;if(r=t-l,r<0)r+=un,a=t,f=p[m=0];else{if(m=Math.ceil((r+1)/un),s=p.length,m>=s)return e;for(f=s=p[m],l=1;s>=10;s/=10)l++;r%=un,a=r-un+l}if(n!==void 0&&(s=Go(10,l-a-1),u=f/s%10|0,d=t<0||p[m+1]!==void 0||f%s,d=n<4?(u||d)&&(n==0||n==(e.s<0?3:2)):u>5||u==5&&(n==4||d||n==6&&(r>0?a>0?f/Go(10,l-a):0:p[m-1])%10&1||n==(e.s<0?8:7))),t<1||!p[0])return d?(s=kn(e),p.length=1,t=t-s-1,p[0]=Go(10,(un-t%un)%un),e.e=Xu(-t/un)||0):(p.length=1,p[0]=e.e=e.s=0),e;if(r==0?(p.length=m,s=1,m--):(p.length=m+1,s=Go(10,un-r),p[m]=a>0?(f/Go(10,l-a)%Go(10,a)|0)*s:0),d)for(;;)if(m==0){(p[0]+=s)==Hn&&(p[0]=1,++e.e);break}else{if(p[m]+=s,p[m]!=Hn)break;p[m--]=0,s=1}for(r=p.length;p[--r]===0;)p.pop();if(mn&&(e.e>Jv||e.e<-Jv))throw Error(HO+kn(e));return e}function M6(e,t){var n,r,a,s,l,u,d,f,m,p,g=e.constructor,x=g.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new g(e),mn?Yt(t,x):t;if(d=e.d,p=t.d,r=t.e,f=e.e,d=d.slice(),l=f-r,l){for(m=l<0,m?(n=d,l=-l,u=p.length):(n=p,r=f,u=d.length),a=Math.max(Math.ceil(x/un),u)+2,l>a&&(l=a,n.length=1),n.reverse(),a=l;a--;)n.push(0);n.reverse()}else{for(a=d.length,u=p.length,m=a0;--a)d[u++]=0;for(a=p.length;a>l;){if(d[--a]0?s=s.charAt(0)+"."+s.slice(1)+Ys(r):l>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(a<0?"e":"e+")+a):a<0?(s="0."+Ys(-a-1)+s,n&&(r=n-l)>0&&(s+=Ys(r))):a>=l?(s+=Ys(a+1-l),n&&(r=n-a-1)>0&&(s=s+"."+Ys(r))):((r=a+1)0&&(a+1===l&&(s+="."),s+=Ys(r))),e.s<0?"-"+s:s}function I3(e,t){if(e.length>t)return e.length=t,!0}function P6(e){var t,n,r;function a(s){var l=this;if(!(l instanceof a))return new a(s);if(l.constructor=a,s instanceof a){l.s=s.s,l.e=s.e,l.d=(s=s.d)?s.slice():s;return}if(typeof s=="number"){if(s*0!==0)throw Error(ll+s);if(s>0)l.s=1;else if(s<0)s=-s,l.s=-1;else{l.s=0,l.e=0,l.d=[0];return}if(s===~~s&&s<1e7){l.e=0,l.d=[s];return}return $3(l,s.toString())}else if(typeof s!="string")throw Error(ll+s);if(s.charCodeAt(0)===45?(s=s.slice(1),l.s=-1):l.s=1,Cse.test(s))$3(l,s);else throw Error(ll+s)}if(a.prototype=Me,a.ROUND_UP=0,a.ROUND_DOWN=1,a.ROUND_CEIL=2,a.ROUND_FLOOR=3,a.ROUND_HALF_UP=4,a.ROUND_HALF_DOWN=5,a.ROUND_HALF_EVEN=6,a.ROUND_HALF_CEIL=7,a.ROUND_HALF_FLOOR=8,a.clone=P6,a.config=a.set=Ose,e===void 0&&(e={}),e)for(r=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=a[t+1]&&r<=a[t+2])this[n]=r;else throw Error(ll+n+": "+r);if((r=e[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(ll+n+": "+r);return this}var WO=P6(Nse);ia=new WO(1);const Ut=WO;function Ese(e){return Mse(e)||kse(e)||Tse(e)||Ase()}function Ase(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Tse(e,t){if(e){if(typeof e=="string")return rN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return rN(e,t)}}function kse(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function Mse(e){if(Array.isArray(e))return rN(e)}function rN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=t?n.apply(void 0,a):e(t-l,L3(function(){for(var u=arguments.length,d=new Array(u),f=0;fe.length)&&(t=e.length);for(var n=0,r=new Array(t);n"u"||!(Symbol.iterator in Object(e)))){var n=[],r=!0,a=!1,s=void 0;try{for(var l=e[Symbol.iterator](),u;!(r=(u=l.next()).done)&&(n.push(u.value),!(t&&n.length===t));r=!0);}catch(d){a=!0,s=d}finally{try{!r&&l.return!=null&&l.return()}finally{if(a)throw s}}return n}}function Gse(e){if(Array.isArray(e))return e}function L6(e){var t=Kf(e,2),n=t[0],r=t[1],a=n,s=r;return n>r&&(a=r,s=n),[a,s]}function z6(e,t,n){if(e.lte(0))return new Ut(0);var r=Sy.getDigitCount(e.toNumber()),a=new Ut(10).pow(r),s=e.div(a),l=r!==1?.05:.1,u=new Ut(Math.ceil(s.div(l).toNumber())).add(n).mul(l),d=u.mul(a);return t?d:new Ut(Math.ceil(d))}function Yse(e,t,n){var r=1,a=new Ut(e);if(!a.isint()&&n){var s=Math.abs(e);s<1?(r=new Ut(10).pow(Sy.getDigitCount(e)-1),a=new Ut(Math.floor(a.div(r).toNumber())).mul(r)):s>1&&(a=new Ut(Math.floor(e)))}else e===0?a=new Ut(Math.floor((t-1)/2)):n||(a=new Ut(Math.floor(e)));var l=Math.floor((t-1)/2),u=$se(Dse(function(d){return a.add(new Ut(d-l).mul(r)).toNumber()}),aN);return u(0,t)}function B6(e,t,n,r){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(n-1)))return{step:new Ut(0),tickMin:new Ut(0),tickMax:new Ut(0)};var s=z6(new Ut(t).sub(e).div(n-1),r,a),l;e<=0&&t>=0?l=new Ut(0):(l=new Ut(e).add(t).div(2),l=l.sub(new Ut(l).mod(s)));var u=Math.ceil(l.sub(e).div(s).toNumber()),d=Math.ceil(new Ut(t).sub(l).div(s).toNumber()),f=u+d+1;return f>n?B6(e,t,n,r,a+1):(f0?d+(n-f):d,u=t>0?u:u+(n-f)),{step:s,tickMin:l.sub(new Ut(u).mul(s)),tickMax:l.add(new Ut(d).mul(s))})}function Kse(e){var t=Kf(e,2),n=t[0],r=t[1],a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=Math.max(a,2),u=L6([n,r]),d=Kf(u,2),f=d[0],m=d[1];if(f===-1/0||m===1/0){var p=m===1/0?[f].concat(sN(aN(0,a-1).map(function(){return 1/0}))):[].concat(sN(aN(0,a-1).map(function(){return-1/0})),[m]);return n>r?iN(p):p}if(f===m)return Yse(f,a,s);var g=B6(f,m,l,s),x=g.step,j=g.tickMin,w=g.tickMax,b=Sy.rangeStep(j,w.add(new Ut(.1).mul(x)),x);return n>r?iN(b):b}function Xse(e,t){var n=Kf(e,2),r=n[0],a=n[1],s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=L6([r,a]),u=Kf(l,2),d=u[0],f=u[1];if(d===-1/0||f===1/0)return[r,a];if(d===f)return[d];var m=Math.max(t,2),p=z6(new Ut(f).sub(d).div(m-1),s,0),g=[].concat(sN(Sy.rangeStep(new Ut(d),new Ut(f).sub(new Ut(.99).mul(p)),p)),[f]);return r>a?iN(g):g}var Zse=$6(Kse),Qse=$6(Xse),Jse=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function vu(e){"@babel/helpers - typeof";return vu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vu(e)}function eg(){return eg=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function soe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function ooe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function loe(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&arguments[1]!==void 0?arguments[1]:[],a=arguments.length>2?arguments[2]:void 0,s=arguments.length>3?arguments[3]:void 0,l=-1,u=(n=r?.length)!==null&&n!==void 0?n:0;if(u<=1)return 0;if(s&&s.axisType==="angleAxis"&&Math.abs(Math.abs(s.range[1]-s.range[0])-360)<=1e-6)for(var d=s.range,f=0;f0?a[f-1].coordinate:a[u-1].coordinate,p=a[f].coordinate,g=f>=u-1?a[0].coordinate:a[f+1].coordinate,x=void 0;if(Sr(p-m)!==Sr(g-p)){var j=[];if(Sr(g-p)===Sr(d[1]-d[0])){x=g;var w=p+d[1]-d[0];j[0]=Math.min(w,(w+m)/2),j[1]=Math.max(w,(w+m)/2)}else{x=m;var b=g+d[1]-d[0];j[0]=Math.min(p,(b+p)/2),j[1]=Math.max(p,(b+p)/2)}var N=[Math.min(p,(x+p)/2),Math.max(p,(x+p)/2)];if(t>N[0]&&t<=N[1]||t>=j[0]&&t<=j[1]){l=a[f].index;break}}else{var E=Math.min(m,g),O=Math.max(m,g);if(t>(E+p)/2&&t<=(O+p)/2){l=a[f].index;break}}}else for(var A=0;A0&&A(r[A].coordinate+r[A-1].coordinate)/2&&t<=(r[A].coordinate+r[A+1].coordinate)/2||A===u-1&&t>(r[A].coordinate+r[A-1].coordinate)/2){l=r[A].index;break}return l},VO=function(t){var n,r=t,a=r.type.displayName,s=(n=t.type)!==null&&n!==void 0&&n.defaultProps?jn(jn({},t.type.defaultProps),t.props):t.props,l=s.stroke,u=s.fill,d;switch(a){case"Line":d=l;break;case"Area":case"Radar":d=l&&l!=="none"?l:u;break;default:d=u;break}return d},Noe=function(t){var n=t.barSize,r=t.totalSize,a=t.stackGroups,s=a===void 0?{}:a;if(!s)return{};for(var l={},u=Object.keys(s),d=0,f=u.length;d=0});if(N&&N.length){var E=N[0].type.defaultProps,O=E!==void 0?jn(jn({},E),N[0].props):N[0].props,A=O.barSize,C=O[b];l[C]||(l[C]=[]);var k=Je(A)?n:A;l[C].push({item:N[0],stackList:N.slice(1),barSize:Je(k)?void 0:_r(k,r,0)})}}return l},Coe=function(t){var n=t.barGap,r=t.barCategoryGap,a=t.bandSize,s=t.sizeList,l=s===void 0?[]:s,u=t.maxBarSize,d=l.length;if(d<1)return null;var f=_r(n,a,0,!0),m,p=[];if(l[0].barSize===+l[0].barSize){var g=!1,x=a/d,j=l.reduce(function(A,C){return A+C.barSize||0},0);j+=(d-1)*f,j>=a&&(j-=(d-1)*f,f=0),j>=a&&x>0&&(g=!0,x*=.9,j=d*x);var w=(a-j)/2>>0,b={offset:w-f,size:0};m=l.reduce(function(A,C){var k={item:C.item,position:{offset:b.offset+b.size+f,size:g?x:C.barSize}},T=[].concat(q3(A),[k]);return b=T[T.length-1].position,C.stackList&&C.stackList.length&&C.stackList.forEach(function(M){T.push({item:M,position:b})}),T},p)}else{var N=_r(r,a,0,!0);a-2*N-(d-1)*f<=0&&(f=0);var E=(a-2*N-(d-1)*f)/d;E>1&&(E>>=0);var O=u===+u?Math.min(E,u):E;m=l.reduce(function(A,C,k){var T=[].concat(q3(A),[{item:C.item,position:{offset:N+(E+f)*k+(E-O)/2,size:O}}]);return C.stackList&&C.stackList.length&&C.stackList.forEach(function(M){T.push({item:M,position:T[T.length-1].position})}),T},p)}return m},Ooe=function(t,n,r,a){var s=r.children,l=r.width,u=r.margin,d=l-(u.left||0)-(u.right||0),f=H6({children:s,legendWidth:d});if(f){var m=a||{},p=m.width,g=m.height,x=f.align,j=f.verticalAlign,w=f.layout;if((w==="vertical"||w==="horizontal"&&j==="middle")&&x!=="center"&&Ee(t[x]))return jn(jn({},t),{},Kc({},x,t[x]+(p||0)));if((w==="horizontal"||w==="vertical"&&x==="center")&&j!=="middle"&&Ee(t[j]))return jn(jn({},t),{},Kc({},j,t[j]+(g||0)))}return t},Eoe=function(t,n,r){return Je(n)?!0:t==="horizontal"?n==="yAxis":t==="vertical"||r==="x"?n==="xAxis":r==="y"?n==="yAxis":!0},W6=function(t,n,r,a,s){var l=n.props.children,u=oa(l,Vh).filter(function(f){return Eoe(a,s,f.props.direction)});if(u&&u.length){var d=u.map(function(f){return f.props.dataKey});return t.reduce(function(f,m){var p=In(m,r);if(Je(p))return f;var g=Array.isArray(p)?[wy(p),by(p)]:[p,p],x=d.reduce(function(j,w){var b=In(m,w,0),N=g[0]-Math.abs(Array.isArray(b)?b[0]:b),E=g[1]+Math.abs(Array.isArray(b)?b[1]:b);return[Math.min(N,j[0]),Math.max(E,j[1])]},[1/0,-1/0]);return[Math.min(x[0],f[0]),Math.max(x[1],f[1])]},[1/0,-1/0])}return null},Aoe=function(t,n,r,a,s){var l=n.map(function(u){return W6(t,u,r,s,a)}).filter(function(u){return!Je(u)});return l&&l.length?l.reduce(function(u,d){return[Math.min(u[0],d[0]),Math.max(u[1],d[1])]},[1/0,-1/0]):null},V6=function(t,n,r,a,s){var l=n.map(function(d){var f=d.props.dataKey;return r==="number"&&f&&W6(t,d,f,a)||Ef(t,f,r,s)});if(r==="number")return l.reduce(function(d,f){return[Math.min(d[0],f[0]),Math.max(d[1],f[1])]},[1/0,-1/0]);var u={};return l.reduce(function(d,f){for(var m=0,p=f.length;m=2?Sr(u[0]-u[1])*2*f:f,n&&(t.ticks||t.niceTicks)){var m=(t.ticks||t.niceTicks).map(function(p){var g=s?s.indexOf(p):p;return{coordinate:a(g)+f,value:p,offset:f}});return m.filter(function(p){return!zh(p.coordinate)})}return t.isCategorical&&t.categoricalDomain?t.categoricalDomain.map(function(p,g){return{coordinate:a(p)+f,value:p,index:g,offset:f}}):a.ticks&&!r?a.ticks(t.tickCount).map(function(p){return{coordinate:a(p)+f,value:p,offset:f}}):a.domain().map(function(p,g){return{coordinate:a(p)+f,value:s?s[p]:p,index:g,offset:f}})},wS=new WeakMap,Up=function(t,n){if(typeof n!="function")return t;wS.has(t)||wS.set(t,new WeakMap);var r=wS.get(t);if(r.has(n))return r.get(n);var a=function(){t.apply(void 0,arguments),n.apply(void 0,arguments)};return r.set(n,a),a},K6=function(t,n,r){var a=t.scale,s=t.type,l=t.layout,u=t.axisType;if(a==="auto")return l==="radial"&&u==="radiusAxis"?{scale:Uf(),realScaleType:"band"}:l==="radial"&&u==="angleAxis"?{scale:Kv(),realScaleType:"linear"}:s==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!r)?{scale:Of(),realScaleType:"point"}:s==="category"?{scale:Uf(),realScaleType:"band"}:{scale:Kv(),realScaleType:"linear"};if(ml(a)){var d="scale".concat(iy(a));return{scale:(O3[d]||Of)(),realScaleType:O3[d]?d:"point"}}return Ye(a)?{scale:a}:{scale:Of(),realScaleType:"point"}},U3=1e-4,X6=function(t){var n=t.domain();if(!(!n||n.length<=2)){var r=n.length,a=t.range(),s=Math.min(a[0],a[1])-U3,l=Math.max(a[0],a[1])+U3,u=t(n[0]),d=t(n[r-1]);(ul||dl)&&t.domain([n[0],n[r-1]])}},Toe=function(t,n){if(!t)return null;for(var r=0,a=t.length;ra)&&(s[1]=a),s[0]>a&&(s[0]=a),s[1]=0?(t[u][r][0]=s,t[u][r][1]=s+d,s=t[u][r][1]):(t[u][r][0]=l,t[u][r][1]=l+d,l=t[u][r][1])}},Poe=function(t){var n=t.length;if(!(n<=0))for(var r=0,a=t[0].length;r=0?(t[l][r][0]=s,t[l][r][1]=s+u,s=t[l][r][1]):(t[l][r][0]=0,t[l][r][1]=0)}},Roe={sign:Moe,expand:wee,none:lu,silhouette:jee,wiggle:See,positive:Poe},Doe=function(t,n,r){var a=n.map(function(u){return u.props.dataKey}),s=Roe[r],l=bee().keys(a).value(function(u,d){return+In(u,d,0)}).order(z_).offset(s);return l(t)},$oe=function(t,n,r,a,s,l){if(!t)return null;var u=l?n.reverse():n,d={},f=u.reduce(function(p,g){var x,j=(x=g.type)!==null&&x!==void 0&&x.defaultProps?jn(jn({},g.type.defaultProps),g.props):g.props,w=j.stackId,b=j.hide;if(b)return p;var N=j[r],E=p[N]||{hasStack:!1,stackGroups:{}};if(Ln(w)){var O=E.stackGroups[w]||{numericAxisId:r,cateAxisId:a,items:[]};O.items.push(g),E.hasStack=!0,E.stackGroups[w]=O}else E.stackGroups[Vu("_stackId_")]={numericAxisId:r,cateAxisId:a,items:[g]};return jn(jn({},p),{},Kc({},N,E))},d),m={};return Object.keys(f).reduce(function(p,g){var x=f[g];if(x.hasStack){var j={};x.stackGroups=Object.keys(x.stackGroups).reduce(function(w,b){var N=x.stackGroups[b];return jn(jn({},w),{},Kc({},b,{numericAxisId:r,cateAxisId:a,items:N.items,stackedData:Doe(t,N.items,s)}))},j)}return jn(jn({},p),{},Kc({},g,x))},m)},Z6=function(t,n){var r=n.realScaleType,a=n.type,s=n.tickCount,l=n.originalDomain,u=n.allowDecimals,d=r||n.scale;if(d!=="auto"&&d!=="linear")return null;if(s&&a==="number"&&l&&(l[0]==="auto"||l[1]==="auto")){var f=t.domain();if(!f.length)return null;var m=Zse(f,s,u);return t.domain([wy(m),by(m)]),{niceTicks:m}}if(s&&a==="number"){var p=t.domain(),g=Qse(p,s,u);return{niceTicks:g}}return null};function H3(e){var t=e.axis,n=e.ticks,r=e.bandSize,a=e.entry,s=e.index,l=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Je(a[t.dataKey])){var u=kv(n,"value",a[t.dataKey]);if(u)return u.coordinate+r/2}return n[s]?n[s].coordinate+r/2:null}var d=In(a,Je(l)?t.dataKey:l);return Je(d)?null:t.scale(d)}var W3=function(t){var n=t.axis,r=t.ticks,a=t.offset,s=t.bandSize,l=t.entry,u=t.index;if(n.type==="category")return r[u]?r[u].coordinate+a:null;var d=In(l,n.dataKey,n.domain[u]);return Je(d)?null:n.scale(d)-s/2+a},Ioe=function(t){var n=t.numericAxis,r=n.scale.domain();if(n.type==="number"){var a=Math.min(r[0],r[1]),s=Math.max(r[0],r[1]);return a<=0&&s>=0?0:s<0?s:a}return r[0]},Loe=function(t,n){var r,a=(r=t.type)!==null&&r!==void 0&&r.defaultProps?jn(jn({},t.type.defaultProps),t.props):t.props,s=a.stackId;if(Ln(s)){var l=n[s];if(l){var u=l.items.indexOf(t);return u>=0?l.stackedData[u]:null}}return null},zoe=function(t){return t.reduce(function(n,r){return[wy(r.concat([n[0]]).filter(Ee)),by(r.concat([n[1]]).filter(Ee))]},[1/0,-1/0])},Q6=function(t,n,r){return Object.keys(t).reduce(function(a,s){var l=t[s],u=l.stackedData,d=u.reduce(function(f,m){var p=zoe(m.slice(n,r+1));return[Math.min(f[0],p[0]),Math.max(f[1],p[1])]},[1/0,-1/0]);return[Math.min(d[0],a[0]),Math.max(d[1],a[1])]},[1/0,-1/0]).map(function(a){return a===1/0||a===-1/0?0:a})},V3=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,G3=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,uN=function(t,n,r){if(Ye(t))return t(n,r);if(!Array.isArray(t))return n;var a=[];if(Ee(t[0]))a[0]=r?t[0]:Math.min(t[0],n[0]);else if(V3.test(t[0])){var s=+V3.exec(t[0])[1];a[0]=n[0]-s}else Ye(t[0])?a[0]=t[0](n[0]):a[0]=n[0];if(Ee(t[1]))a[1]=r?t[1]:Math.max(t[1],n[1]);else if(G3.test(t[1])){var l=+G3.exec(t[1])[1];a[1]=n[1]+l}else Ye(t[1])?a[1]=t[1](n[1]):a[1]=n[1];return a},ng=function(t,n,r){if(t&&t.scale&&t.scale.bandwidth){var a=t.scale.bandwidth();if(!r||a>0)return a}if(t&&n&&n.length>=2){for(var s=bO(n,function(p){return p.coordinate}),l=1/0,u=1,d=s.length;ue.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(r.left||0)-(r.right||0)),Math.abs(n-(r.top||0)-(r.bottom||0)))/2},Yoe=function(t,n,r,a,s){var l=t.width,u=t.height,d=t.startAngle,f=t.endAngle,m=_r(t.cx,l,l/2),p=_r(t.cy,u,u/2),g=tq(l,u,r),x=_r(t.innerRadius,g,0),j=_r(t.outerRadius,g,g*.8),w=Object.keys(n);return w.reduce(function(b,N){var E=n[N],O=E.domain,A=E.reversed,C;if(Je(E.range))a==="angleAxis"?C=[d,f]:a==="radiusAxis"&&(C=[x,j]),A&&(C=[C[1],C[0]]);else{C=E.range;var k=C,T=Foe(k,2);d=T[0],f=T[1]}var M=K6(E,s),R=M.realScaleType,L=M.scale;L.domain(O).range(C),X6(L);var D=Z6(L,Xi(Xi({},E),{},{realScaleType:R})),U=Xi(Xi(Xi({},E),D),{},{range:C,radius:j,realScaleType:R,scale:L,cx:m,cy:p,innerRadius:x,outerRadius:j,startAngle:d,endAngle:f});return Xi(Xi({},b),{},eq({},N,U))},{})},Koe=function(t,n){var r=t.x,a=t.y,s=n.x,l=n.y;return Math.sqrt(Math.pow(r-s,2)+Math.pow(a-l,2))},Xoe=function(t,n){var r=t.x,a=t.y,s=n.cx,l=n.cy,u=Koe({x:r,y:a},{x:s,y:l});if(u<=0)return{radius:u};var d=(r-s)/u,f=Math.acos(d);return a>l&&(f=2*Math.PI-f),{radius:u,angle:Goe(f),angleInRadian:f}},Zoe=function(t){var n=t.startAngle,r=t.endAngle,a=Math.floor(n/360),s=Math.floor(r/360),l=Math.min(a,s);return{startAngle:n-l*360,endAngle:r-l*360}},Qoe=function(t,n){var r=n.startAngle,a=n.endAngle,s=Math.floor(r/360),l=Math.floor(a/360),u=Math.min(s,l);return t+u*360},Z3=function(t,n){var r=t.x,a=t.y,s=Xoe({x:r,y:a},n),l=s.radius,u=s.angle,d=n.innerRadius,f=n.outerRadius;if(lf)return!1;if(l===0)return!0;var m=Zoe(n),p=m.startAngle,g=m.endAngle,x=u,j;if(p<=g){for(;x>g;)x-=360;for(;x=p&&x<=g}else{for(;x>p;)x-=360;for(;x=g&&x<=p}return j?Xi(Xi({},n),{},{radius:l,angle:Qoe(x,n)}):null},nq=function(t){return!y.isValidElement(t)&&!Ye(t)&&typeof t!="boolean"?t.className:""};function Jf(e){"@babel/helpers - typeof";return Jf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Jf(e)}var Joe=["offset"];function ele(e){return ale(e)||rle(e)||nle(e)||tle()}function tle(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function nle(e,t){if(e){if(typeof e=="string")return dN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return dN(e,t)}}function rle(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function ale(e){if(Array.isArray(e))return dN(e)}function dN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function sle(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Q3(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function $n(e){for(var t=1;t=0?1:-1,O,A;a==="insideStart"?(O=x+E*l,A=w):a==="insideEnd"?(O=j-E*l,A=!w):a==="end"&&(O=j+E*l,A=w),A=N<=0?A:!A;var C=Jt(f,m,b,O),k=Jt(f,m,b,O+(A?1:-1)*359),T="M".concat(C.x,",").concat(C.y,` - A`).concat(b,",").concat(b,",0,1,").concat(A?0:1,`, - `).concat(k.x,",").concat(k.y),M=Je(t.id)?Vu("recharts-radial-line-"):t.id;return W.createElement("text",eh({},r,{dominantBaseline:"central",className:et("recharts-radial-bar-label",u)}),W.createElement("defs",null,W.createElement("path",{id:M,d:T})),W.createElement("textPath",{xlinkHref:"#".concat(M)},n))},hle=function(t){var n=t.viewBox,r=t.offset,a=t.position,s=n,l=s.cx,u=s.cy,d=s.innerRadius,f=s.outerRadius,m=s.startAngle,p=s.endAngle,g=(m+p)/2;if(a==="outside"){var x=Jt(l,u,f+r,g),j=x.x,w=x.y;return{x:j,y:w,textAnchor:j>=l?"start":"end",verticalAnchor:"middle"}}if(a==="center")return{x:l,y:u,textAnchor:"middle",verticalAnchor:"middle"};if(a==="centerTop")return{x:l,y:u,textAnchor:"middle",verticalAnchor:"start"};if(a==="centerBottom")return{x:l,y:u,textAnchor:"middle",verticalAnchor:"end"};var b=(d+f)/2,N=Jt(l,u,b,g),E=N.x,O=N.y;return{x:E,y:O,textAnchor:"middle",verticalAnchor:"middle"}},mle=function(t){var n=t.viewBox,r=t.parentViewBox,a=t.offset,s=t.position,l=n,u=l.x,d=l.y,f=l.width,m=l.height,p=m>=0?1:-1,g=p*a,x=p>0?"end":"start",j=p>0?"start":"end",w=f>=0?1:-1,b=w*a,N=w>0?"end":"start",E=w>0?"start":"end";if(s==="top"){var O={x:u+f/2,y:d-p*a,textAnchor:"middle",verticalAnchor:x};return $n($n({},O),r?{height:Math.max(d-r.y,0),width:f}:{})}if(s==="bottom"){var A={x:u+f/2,y:d+m+g,textAnchor:"middle",verticalAnchor:j};return $n($n({},A),r?{height:Math.max(r.y+r.height-(d+m),0),width:f}:{})}if(s==="left"){var C={x:u-b,y:d+m/2,textAnchor:N,verticalAnchor:"middle"};return $n($n({},C),r?{width:Math.max(C.x-r.x,0),height:m}:{})}if(s==="right"){var k={x:u+f+b,y:d+m/2,textAnchor:E,verticalAnchor:"middle"};return $n($n({},k),r?{width:Math.max(r.x+r.width-k.x,0),height:m}:{})}var T=r?{width:f,height:m}:{};return s==="insideLeft"?$n({x:u+b,y:d+m/2,textAnchor:E,verticalAnchor:"middle"},T):s==="insideRight"?$n({x:u+f-b,y:d+m/2,textAnchor:N,verticalAnchor:"middle"},T):s==="insideTop"?$n({x:u+f/2,y:d+g,textAnchor:"middle",verticalAnchor:j},T):s==="insideBottom"?$n({x:u+f/2,y:d+m-g,textAnchor:"middle",verticalAnchor:x},T):s==="insideTopLeft"?$n({x:u+b,y:d+g,textAnchor:E,verticalAnchor:j},T):s==="insideTopRight"?$n({x:u+f-b,y:d+g,textAnchor:N,verticalAnchor:j},T):s==="insideBottomLeft"?$n({x:u+b,y:d+m-g,textAnchor:E,verticalAnchor:x},T):s==="insideBottomRight"?$n({x:u+f-b,y:d+m-g,textAnchor:N,verticalAnchor:x},T):Wu(s)&&(Ee(s.x)||Zo(s.x))&&(Ee(s.y)||Zo(s.y))?$n({x:u+_r(s.x,f),y:d+_r(s.y,m),textAnchor:"end",verticalAnchor:"end"},T):$n({x:u+f/2,y:d+m/2,textAnchor:"middle",verticalAnchor:"middle"},T)},ple=function(t){return"cx"in t&&Ee(t.cx)};function Vn(e){var t=e.offset,n=t===void 0?5:t,r=ile(e,Joe),a=$n({offset:n},r),s=a.viewBox,l=a.position,u=a.value,d=a.children,f=a.content,m=a.className,p=m===void 0?"":m,g=a.textBreakAll;if(!s||Je(u)&&Je(d)&&!y.isValidElement(f)&&!Ye(f))return null;if(y.isValidElement(f))return y.cloneElement(f,a);var x;if(Ye(f)){if(x=y.createElement(f,a),y.isValidElement(x))return x}else x=ule(a);var j=ple(s),w=qe(a,!0);if(j&&(l==="insideStart"||l==="insideEnd"||l==="end"))return fle(a,x,w);var b=j?hle(a):mle(a);return W.createElement(vl,eh({className:et("recharts-label",p)},w,b,{breakAll:g}),x)}Vn.displayName="Label";var rq=function(t){var n=t.cx,r=t.cy,a=t.angle,s=t.startAngle,l=t.endAngle,u=t.r,d=t.radius,f=t.innerRadius,m=t.outerRadius,p=t.x,g=t.y,x=t.top,j=t.left,w=t.width,b=t.height,N=t.clockWise,E=t.labelViewBox;if(E)return E;if(Ee(w)&&Ee(b)){if(Ee(p)&&Ee(g))return{x:p,y:g,width:w,height:b};if(Ee(x)&&Ee(j))return{x,y:j,width:w,height:b}}return Ee(p)&&Ee(g)?{x:p,y:g,width:0,height:0}:Ee(n)&&Ee(r)?{cx:n,cy:r,startAngle:s||a||0,endAngle:l||a||0,innerRadius:f||0,outerRadius:m||d||u||0,clockWise:N}:t.viewBox?t.viewBox:{}},vle=function(t,n){return t?t===!0?W.createElement(Vn,{key:"label-implicit",viewBox:n}):Ln(t)?W.createElement(Vn,{key:"label-implicit",viewBox:n,value:t}):y.isValidElement(t)?t.type===Vn?y.cloneElement(t,{key:"label-implicit",viewBox:n}):W.createElement(Vn,{key:"label-implicit",content:t,viewBox:n}):Ye(t)?W.createElement(Vn,{key:"label-implicit",content:t,viewBox:n}):Wu(t)?W.createElement(Vn,eh({viewBox:n},t,{key:"label-implicit"})):null:null},gle=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&r&&!t.label)return null;var a=t.children,s=rq(t),l=oa(a,Vn).map(function(d,f){return y.cloneElement(d,{viewBox:n||s,key:"label-".concat(f)})});if(!r)return l;var u=vle(t.label,n||s);return[u].concat(ele(l))};Vn.parseViewBox=rq;Vn.renderCallByParent=gle;var jS,J3;function yle(){if(J3)return jS;J3=1;function e(t){var n=t==null?0:t.length;return n?t[n-1]:void 0}return jS=e,jS}var xle=yle();const ble=Rt(xle);function th(e){"@babel/helpers - typeof";return th=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},th(e)}var wle=["valueAccessor"],jle=["data","dataKey","clockWise","id","textBreakAll"];function Sle(e){return Ole(e)||Cle(e)||Nle(e)||_le()}function _le(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Nle(e,t){if(e){if(typeof e=="string")return fN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return fN(e,t)}}function Cle(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Ole(e){if(Array.isArray(e))return fN(e)}function fN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function kle(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var Mle=function(t){return Array.isArray(t.value)?ble(t.value):t.value};function ss(e){var t=e.valueAccessor,n=t===void 0?Mle:t,r=n$(e,wle),a=r.data,s=r.dataKey,l=r.clockWise,u=r.id,d=r.textBreakAll,f=n$(r,jle);return!a||!a.length?null:W.createElement(Nt,{className:"recharts-label-list"},a.map(function(m,p){var g=Je(s)?n(m,p):In(m&&m.payload,s),x=Je(u)?{}:{id:"".concat(u,"-").concat(p)};return W.createElement(Vn,ag({},qe(m,!0),f,x,{parentViewBox:m.parentViewBox,value:g,textBreakAll:d,viewBox:Vn.parseViewBox(Je(l)?m:t$(t$({},m),{},{clockWise:l})),key:"label-".concat(p),index:p}))}))}ss.displayName="LabelList";function Ple(e,t){return e?e===!0?W.createElement(ss,{key:"labelList-implicit",data:t}):W.isValidElement(e)||Ye(e)?W.createElement(ss,{key:"labelList-implicit",data:t,content:e}):Wu(e)?W.createElement(ss,ag({data:t},e,{key:"labelList-implicit"})):null:null}function Rle(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&n&&!e.label)return null;var r=e.children,a=oa(r,ss).map(function(l,u){return y.cloneElement(l,{data:t,key:"labelList-".concat(u)})});if(!n)return a;var s=Ple(e.label,t);return[s].concat(Sle(a))}ss.renderCallByParent=Rle;function nh(e){"@babel/helpers - typeof";return nh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nh(e)}function hN(){return hN=Object.assign?Object.assign.bind():function(e){for(var t=1;t180),",").concat(+(l>f),`, - `).concat(p.x,",").concat(p.y,` - `);if(a>0){var x=Jt(n,r,a,l),j=Jt(n,r,a,f);g+="L ".concat(j.x,",").concat(j.y,` - A `).concat(a,",").concat(a,`,0, - `).concat(+(Math.abs(d)>180),",").concat(+(l<=f),`, - `).concat(x.x,",").concat(x.y," Z")}else g+="L ".concat(n,",").concat(r," Z");return g},zle=function(t){var n=t.cx,r=t.cy,a=t.innerRadius,s=t.outerRadius,l=t.cornerRadius,u=t.forceCornerRadius,d=t.cornerIsExternal,f=t.startAngle,m=t.endAngle,p=Sr(m-f),g=Hp({cx:n,cy:r,radius:s,angle:f,sign:p,cornerRadius:l,cornerIsExternal:d}),x=g.circleTangency,j=g.lineTangency,w=g.theta,b=Hp({cx:n,cy:r,radius:s,angle:m,sign:-p,cornerRadius:l,cornerIsExternal:d}),N=b.circleTangency,E=b.lineTangency,O=b.theta,A=d?Math.abs(f-m):Math.abs(f-m)-w-O;if(A<0)return u?"M ".concat(j.x,",").concat(j.y,` - a`).concat(l,",").concat(l,",0,0,1,").concat(l*2,`,0 - a`).concat(l,",").concat(l,",0,0,1,").concat(-l*2,`,0 - `):aq({cx:n,cy:r,innerRadius:a,outerRadius:s,startAngle:f,endAngle:m});var C="M ".concat(j.x,",").concat(j.y,` - A`).concat(l,",").concat(l,",0,0,").concat(+(p<0),",").concat(x.x,",").concat(x.y,` - A`).concat(s,",").concat(s,",0,").concat(+(A>180),",").concat(+(p<0),",").concat(N.x,",").concat(N.y,` - A`).concat(l,",").concat(l,",0,0,").concat(+(p<0),",").concat(E.x,",").concat(E.y,` - `);if(a>0){var k=Hp({cx:n,cy:r,radius:a,angle:f,sign:p,isExternal:!0,cornerRadius:l,cornerIsExternal:d}),T=k.circleTangency,M=k.lineTangency,R=k.theta,L=Hp({cx:n,cy:r,radius:a,angle:m,sign:-p,isExternal:!0,cornerRadius:l,cornerIsExternal:d}),D=L.circleTangency,U=L.lineTangency,V=L.theta,H=d?Math.abs(f-m):Math.abs(f-m)-R-V;if(H<0&&l===0)return"".concat(C,"L").concat(n,",").concat(r,"Z");C+="L".concat(U.x,",").concat(U.y,` - A`).concat(l,",").concat(l,",0,0,").concat(+(p<0),",").concat(D.x,",").concat(D.y,` - A`).concat(a,",").concat(a,",0,").concat(+(H>180),",").concat(+(p>0),",").concat(T.x,",").concat(T.y,` - A`).concat(l,",").concat(l,",0,0,").concat(+(p<0),",").concat(M.x,",").concat(M.y,"Z")}else C+="L".concat(n,",").concat(r,"Z");return C},Ble={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},iq=function(t){var n=a$(a$({},Ble),t),r=n.cx,a=n.cy,s=n.innerRadius,l=n.outerRadius,u=n.cornerRadius,d=n.forceCornerRadius,f=n.cornerIsExternal,m=n.startAngle,p=n.endAngle,g=n.className;if(l0&&Math.abs(m-p)<360?b=zle({cx:r,cy:a,innerRadius:s,outerRadius:l,cornerRadius:Math.min(w,j/2),forceCornerRadius:d,cornerIsExternal:f,startAngle:m,endAngle:p}):b=aq({cx:r,cy:a,innerRadius:s,outerRadius:l,startAngle:m,endAngle:p}),W.createElement("path",hN({},qe(n,!0),{className:x,d:b,role:"img"}))};function rh(e){"@babel/helpers - typeof";return rh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},rh(e)}function mN(){return mN=Object.assign?Object.assign.bind():function(e){for(var t=1;t0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function ice(e,t){return Tl(e.getTime(),t.getTime())}function sce(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function oce(e,t){return e===t}function p$(e,t,n){var r=e.size;if(r!==t.size)return!1;if(!r)return!0;for(var a=new Array(r),s=e.entries(),l,u,d=0;(l=s.next())&&!l.done;){for(var f=t.entries(),m=!1,p=0;(u=f.next())&&!u.done;){if(a[p]){p++;continue}var g=l.value,x=u.value;if(n.equals(g[0],x[0],d,p,e,t,n)&&n.equals(g[1],x[1],g[0],x[0],e,t,n)){m=a[p]=!0;break}p++}if(!m)return!1;d++}return!0}var lce=Tl;function cce(e,t,n){var r=m$(e),a=r.length;if(m$(t).length!==a)return!1;for(;a-- >0;)if(!sq(e,t,n,r[a]))return!1;return!0}function uf(e,t,n){var r=f$(e),a=r.length;if(f$(t).length!==a)return!1;for(var s,l,u;a-- >0;)if(s=r[a],!sq(e,t,n,s)||(l=h$(e,s),u=h$(t,s),(l||u)&&(!l||!u||l.configurable!==u.configurable||l.enumerable!==u.enumerable||l.writable!==u.writable)))return!1;return!0}function uce(e,t){return Tl(e.valueOf(),t.valueOf())}function dce(e,t){return e.source===t.source&&e.flags===t.flags}function v$(e,t,n){var r=e.size;if(r!==t.size)return!1;if(!r)return!0;for(var a=new Array(r),s=e.values(),l,u;(l=s.next())&&!l.done;){for(var d=t.values(),f=!1,m=0;(u=d.next())&&!u.done;){if(!a[m]&&n.equals(l.value,u.value,l.value,u.value,e,t,n)){f=a[m]=!0;break}m++}if(!f)return!1}return!0}function fce(e,t){var n=e.length;if(t.length!==n)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function hce(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function sq(e,t,n,r){return(r===rce||r===nce||r===tce)&&(e.$$typeof||t.$$typeof)?!0:ece(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}var mce="[object Arguments]",pce="[object Boolean]",vce="[object Date]",gce="[object Error]",yce="[object Map]",xce="[object Number]",bce="[object Object]",wce="[object RegExp]",jce="[object Set]",Sce="[object String]",_ce="[object URL]",Nce=Array.isArray,g$=typeof ArrayBuffer<"u"&&typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView:null,y$=Object.assign,Cce=Object.prototype.toString.call.bind(Object.prototype.toString);function Oce(e){var t=e.areArraysEqual,n=e.areDatesEqual,r=e.areErrorsEqual,a=e.areFunctionsEqual,s=e.areMapsEqual,l=e.areNumbersEqual,u=e.areObjectsEqual,d=e.arePrimitiveWrappersEqual,f=e.areRegExpsEqual,m=e.areSetsEqual,p=e.areTypedArraysEqual,g=e.areUrlsEqual,x=e.unknownTagComparators;return function(w,b,N){if(w===b)return!0;if(w==null||b==null)return!1;var E=typeof w;if(E!==typeof b)return!1;if(E!=="object")return E==="number"?l(w,b,N):E==="function"?a(w,b,N):!1;var O=w.constructor;if(O!==b.constructor)return!1;if(O===Object)return u(w,b,N);if(Nce(w))return t(w,b,N);if(g$!=null&&g$(w))return p(w,b,N);if(O===Date)return n(w,b,N);if(O===RegExp)return f(w,b,N);if(O===Map)return s(w,b,N);if(O===Set)return m(w,b,N);var A=Cce(w);if(A===vce)return n(w,b,N);if(A===wce)return f(w,b,N);if(A===yce)return s(w,b,N);if(A===jce)return m(w,b,N);if(A===bce)return typeof w.then!="function"&&typeof b.then!="function"&&u(w,b,N);if(A===_ce)return g(w,b,N);if(A===gce)return r(w,b,N);if(A===mce)return u(w,b,N);if(A===pce||A===xce||A===Sce)return d(w,b,N);if(x){var C=x[A];if(!C){var k=Jle(w);k&&(C=x[k])}if(C)return C(w,b,N)}return!1}}function Ece(e){var t=e.circular,n=e.createCustomConfig,r=e.strict,a={areArraysEqual:r?uf:ace,areDatesEqual:ice,areErrorsEqual:sce,areFunctionsEqual:oce,areMapsEqual:r?d$(p$,uf):p$,areNumbersEqual:lce,areObjectsEqual:r?uf:cce,arePrimitiveWrappersEqual:uce,areRegExpsEqual:dce,areSetsEqual:r?d$(v$,uf):v$,areTypedArraysEqual:r?uf:fce,areUrlsEqual:hce,unknownTagComparators:void 0};if(n&&(a=y$({},a,n(a))),t){var s=Vp(a.areArraysEqual),l=Vp(a.areMapsEqual),u=Vp(a.areObjectsEqual),d=Vp(a.areSetsEqual);a=y$({},a,{areArraysEqual:s,areMapsEqual:l,areObjectsEqual:u,areSetsEqual:d})}return a}function Ace(e){return function(t,n,r,a,s,l,u){return e(t,n,u)}}function Tce(e){var t=e.circular,n=e.comparator,r=e.createState,a=e.equals,s=e.strict;if(r)return function(d,f){var m=r(),p=m.cache,g=p===void 0?t?new WeakMap:void 0:p,x=m.meta;return n(d,f,{cache:g,equals:a,meta:x,strict:s})};if(t)return function(d,f){return n(d,f,{cache:new WeakMap,equals:a,meta:void 0,strict:s})};var l={cache:void 0,equals:a,meta:void 0,strict:s};return function(d,f){return n(d,f,l)}}var kce=po();po({strict:!0});po({circular:!0});po({circular:!0,strict:!0});po({createInternalComparator:function(){return Tl}});po({strict:!0,createInternalComparator:function(){return Tl}});po({circular:!0,createInternalComparator:function(){return Tl}});po({circular:!0,createInternalComparator:function(){return Tl},strict:!0});function po(e){e===void 0&&(e={});var t=e.circular,n=t===void 0?!1:t,r=e.createInternalComparator,a=e.createState,s=e.strict,l=s===void 0?!1:s,u=Ece(e),d=Oce(u),f=r?r(d):Ace(d);return Tce({circular:n,comparator:d,createState:a,equals:f,strict:l})}function Mce(e){typeof requestAnimationFrame<"u"&&requestAnimationFrame(e)}function x$(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=-1,r=function a(s){n<0&&(n=s),s-n>t?(e(s),n=-1):Mce(a)};requestAnimationFrame(r)}function pN(e){"@babel/helpers - typeof";return pN=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pN(e)}function Pce(e){return Ice(e)||$ce(e)||Dce(e)||Rce()}function Rce(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Dce(e,t){if(e){if(typeof e=="string")return b$(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return b$(e,t)}}function b$(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?1:N<0?0:N},w=function(N){for(var E=N>1?1:N,O=E,A=0;A<8;++A){var C=p(O)-E,k=x(O);if(Math.abs(C-E)0&&arguments[0]!==void 0?arguments[0]:{},n=t.stiff,r=n===void 0?100:n,a=t.damping,s=a===void 0?8:a,l=t.dt,u=l===void 0?17:l,d=function(m,p,g){var x=-(m-p)*r,j=g*s,w=g+(x-j)*u/1e3,b=g*u/1e3+m;return Math.abs(b-p)e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function mue(e,t){if(e==null)return{};var n={},r=Object.keys(e),a,s;for(s=0;s=0)&&(n[a]=e[a]);return n}function CS(e){return yue(e)||gue(e)||vue(e)||pue()}function pue(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vue(e,t){if(e){if(typeof e=="string")return bN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return bN(e,t)}}function gue(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function yue(e){if(Array.isArray(e))return bN(e)}function bN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function lg(e){return lg=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},lg(e)}var ji=(function(e){Sue(n,e);var t=_ue(n);function n(r,a){var s;xue(this,n),s=t.call(this,r,a);var l=s.props,u=l.isActive,d=l.attributeName,f=l.from,m=l.to,p=l.steps,g=l.children,x=l.duration;if(s.handleStyleChange=s.handleStyleChange.bind(SN(s)),s.changeStyle=s.changeStyle.bind(SN(s)),!u||x<=0)return s.state={style:{}},typeof g=="function"&&(s.state={style:m}),jN(s);if(p&&p.length)s.state={style:p[0].style};else if(f){if(typeof g=="function")return s.state={style:f},jN(s);s.state={style:d?gf({},d,f):f}}else s.state={style:{}};return s}return wue(n,[{key:"componentDidMount",value:function(){var a=this.props,s=a.isActive,l=a.canBegin;this.mounted=!0,!(!s||!l)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(a){var s=this.props,l=s.isActive,u=s.canBegin,d=s.attributeName,f=s.shouldReAnimate,m=s.to,p=s.from,g=this.state.style;if(u){if(!l){var x={style:d?gf({},d,m):m};this.state&&g&&(d&&g[d]!==m||!d&&g!==m)&&this.setState(x);return}if(!(kce(a.to,m)&&a.canBegin&&a.isActive)){var j=!a.canBegin||!a.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var w=j||f?p:a.to;if(this.state&&g){var b={style:d?gf({},d,w):w};(d&&g[d]!==w||!d&&g!==w)&&this.setState(b)}this.runAnimation(Ia(Ia({},this.props),{},{from:w,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var a=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),a&&a()}},{key:"handleStyleChange",value:function(a){this.changeStyle(a)}},{key:"changeStyle",value:function(a){this.mounted&&this.setState({style:a})}},{key:"runJSAnimation",value:function(a){var s=this,l=a.from,u=a.to,d=a.duration,f=a.easing,m=a.begin,p=a.onAnimationEnd,g=a.onAnimationStart,x=due(l,u,eue(f),d,this.changeStyle),j=function(){s.stopJSAnimation=x()};this.manager.start([g,m,j,d,p])}},{key:"runStepAnimation",value:function(a){var s=this,l=a.steps,u=a.begin,d=a.onAnimationStart,f=l[0],m=f.style,p=f.duration,g=p===void 0?0:p,x=function(w,b,N){if(N===0)return w;var E=b.duration,O=b.easing,A=O===void 0?"ease":O,C=b.style,k=b.properties,T=b.onAnimationEnd,M=N>0?l[N-1]:b,R=k||Object.keys(C);if(typeof A=="function"||A==="spring")return[].concat(CS(w),[s.runJSAnimation.bind(s,{from:M.style,to:C,duration:E,easing:A}),E]);var L=S$(R,E,A),D=Ia(Ia(Ia({},M.style),C),{},{transition:L});return[].concat(CS(w),[D,E,T]).filter(Fce)};return this.manager.start([d].concat(CS(l.reduce(x,[m,Math.max(g,u)])),[a.onAnimationEnd]))}},{key:"runAnimation",value:function(a){this.manager||(this.manager=Lce());var s=a.begin,l=a.duration,u=a.attributeName,d=a.to,f=a.easing,m=a.onAnimationStart,p=a.onAnimationEnd,g=a.steps,x=a.children,j=this.manager;if(this.unSubscribe=j.subscribe(this.handleStyleChange),typeof f=="function"||typeof x=="function"||f==="spring"){this.runJSAnimation(a);return}if(g.length>1){this.runStepAnimation(a);return}var w=u?gf({},u,d):d,b=S$(Object.keys(w),l,f);j.start([m,s,Ia(Ia({},w),{},{transition:b}),l,p])}},{key:"render",value:function(){var a=this.props,s=a.children;a.begin;var l=a.duration;a.attributeName,a.easing;var u=a.isActive;a.steps,a.from,a.to,a.canBegin,a.onAnimationEnd,a.shouldReAnimate,a.onAnimationReStart;var d=hue(a,fue),f=y.Children.count(s),m=this.state.style;if(typeof s=="function")return s(m);if(!u||f===0||l<=0)return s;var p=function(x){var j=x.props,w=j.style,b=w===void 0?{}:w,N=j.className,E=y.cloneElement(x,Ia(Ia({},d),{},{style:Ia(Ia({},b),m),className:N}));return E};return f===1?p(y.Children.only(s)):W.createElement("div",null,y.Children.map(s,function(g){return p(g)}))}}]),n})(y.PureComponent);ji.displayName="Animate";ji.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};ji.propTypes={from:Mt.oneOfType([Mt.object,Mt.string]),to:Mt.oneOfType([Mt.object,Mt.string]),attributeName:Mt.string,duration:Mt.number,begin:Mt.number,easing:Mt.oneOfType([Mt.string,Mt.func]),steps:Mt.arrayOf(Mt.shape({duration:Mt.number.isRequired,style:Mt.object.isRequired,easing:Mt.oneOfType([Mt.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),Mt.func]),properties:Mt.arrayOf("string"),onAnimationEnd:Mt.func})),children:Mt.oneOfType([Mt.node,Mt.func]),isActive:Mt.bool,canBegin:Mt.bool,onAnimationEnd:Mt.func,shouldReAnimate:Mt.bool,onAnimationStart:Mt.func,onAnimationReStart:Mt.func};function sh(e){"@babel/helpers - typeof";return sh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},sh(e)}function cg(){return cg=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0?1:-1,d=r>=0?1:-1,f=a>=0&&r>=0||a<0&&r<0?1:0,m;if(l>0&&s instanceof Array){for(var p=[0,0,0,0],g=0,x=4;gl?l:s[g];m="M".concat(t,",").concat(n+u*p[0]),p[0]>0&&(m+="A ".concat(p[0],",").concat(p[0],",0,0,").concat(f,",").concat(t+d*p[0],",").concat(n)),m+="L ".concat(t+r-d*p[1],",").concat(n),p[1]>0&&(m+="A ".concat(p[1],",").concat(p[1],",0,0,").concat(f,`, - `).concat(t+r,",").concat(n+u*p[1])),m+="L ".concat(t+r,",").concat(n+a-u*p[2]),p[2]>0&&(m+="A ".concat(p[2],",").concat(p[2],",0,0,").concat(f,`, - `).concat(t+r-d*p[2],",").concat(n+a)),m+="L ".concat(t+d*p[3],",").concat(n+a),p[3]>0&&(m+="A ".concat(p[3],",").concat(p[3],",0,0,").concat(f,`, - `).concat(t,",").concat(n+a-u*p[3])),m+="Z"}else if(l>0&&s===+s&&s>0){var j=Math.min(l,s);m="M ".concat(t,",").concat(n+u*j,` - A `).concat(j,",").concat(j,",0,0,").concat(f,",").concat(t+d*j,",").concat(n,` - L `).concat(t+r-d*j,",").concat(n,` - A `).concat(j,",").concat(j,",0,0,").concat(f,",").concat(t+r,",").concat(n+u*j,` - L `).concat(t+r,",").concat(n+a-u*j,` - A `).concat(j,",").concat(j,",0,0,").concat(f,",").concat(t+r-d*j,",").concat(n+a,` - L `).concat(t+d*j,",").concat(n+a,` - A `).concat(j,",").concat(j,",0,0,").concat(f,",").concat(t,",").concat(n+a-u*j," Z")}else m="M ".concat(t,",").concat(n," h ").concat(r," v ").concat(a," h ").concat(-r," Z");return m},Rue=function(t,n){if(!t||!n)return!1;var r=t.x,a=t.y,s=n.x,l=n.y,u=n.width,d=n.height;if(Math.abs(u)>0&&Math.abs(d)>0){var f=Math.min(s,s+u),m=Math.max(s,s+u),p=Math.min(l,l+d),g=Math.max(l,l+d);return r>=f&&r<=m&&a>=p&&a<=g}return!1},Due={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},GO=function(t){var n=k$(k$({},Due),t),r=y.useRef(),a=y.useState(-1),s=Cue(a,2),l=s[0],u=s[1];y.useEffect(function(){if(r.current&&r.current.getTotalLength)try{var A=r.current.getTotalLength();A&&u(A)}catch{}},[]);var d=n.x,f=n.y,m=n.width,p=n.height,g=n.radius,x=n.className,j=n.animationEasing,w=n.animationDuration,b=n.animationBegin,N=n.isAnimationActive,E=n.isUpdateAnimationActive;if(d!==+d||f!==+f||m!==+m||p!==+p||m===0||p===0)return null;var O=et("recharts-rectangle",x);return E?W.createElement(ji,{canBegin:l>0,from:{width:m,height:p,x:d,y:f},to:{width:m,height:p,x:d,y:f},duration:w,animationEasing:j,isActive:E},function(A){var C=A.width,k=A.height,T=A.x,M=A.y;return W.createElement(ji,{canBegin:l>0,from:"0px ".concat(l===-1?1:l,"px"),to:"".concat(l,"px 0px"),attributeName:"strokeDasharray",begin:b,duration:w,isActive:N,easing:j},W.createElement("path",cg({},qe(n,!0),{className:O,d:M$(T,M,C,k,g),ref:r})))}):W.createElement("path",cg({},qe(n,!0),{className:O,d:M$(d,f,m,p,g)}))},$ue=["points","className","baseLinePoints","connectNulls"];function Uc(){return Uc=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Lue(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function P$(e){return Fue(e)||que(e)||Bue(e)||zue()}function zue(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bue(e,t){if(e){if(typeof e=="string")return _N(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _N(e,t)}}function que(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Fue(e){if(Array.isArray(e))return _N(e)}function _N(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:[],n=[[]];return t.forEach(function(r){R$(r)?n[n.length-1].push(r):n[n.length-1].length>0&&n.push([])}),R$(t[0])&&n[n.length-1].push(t[0]),n[n.length-1].length<=0&&(n=n.slice(0,-1)),n},Tf=function(t,n){var r=Uue(t);n&&(r=[r.reduce(function(s,l){return[].concat(P$(s),P$(l))},[])]);var a=r.map(function(s){return s.reduce(function(l,u,d){return"".concat(l).concat(d===0?"M":"L").concat(u.x,",").concat(u.y)},"")}).join("");return r.length===1?"".concat(a,"Z"):a},Hue=function(t,n,r){var a=Tf(t,r);return"".concat(a.slice(-1)==="Z"?a.slice(0,-1):a,"L").concat(Tf(n.reverse(),r).slice(1))},Wue=function(t){var n=t.points,r=t.className,a=t.baseLinePoints,s=t.connectNulls,l=Iue(t,$ue);if(!n||!n.length)return null;var u=et("recharts-polygon",r);if(a&&a.length){var d=l.stroke&&l.stroke!=="none",f=Hue(n,a,s);return W.createElement("g",{className:u},W.createElement("path",Uc({},qe(l,!0),{fill:f.slice(-1)==="Z"?l.fill:"none",stroke:"none",d:f})),d?W.createElement("path",Uc({},qe(l,!0),{fill:"none",d:Tf(n,s)})):null,d?W.createElement("path",Uc({},qe(l,!0),{fill:"none",d:Tf(a,s)})):null)}var m=Tf(n,s);return W.createElement("path",Uc({},qe(l,!0),{fill:m.slice(-1)==="Z"?l.fill:"none",className:u,d:m}))};function NN(){return NN=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Que(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var Jue=function(t,n,r,a,s,l){return"M".concat(t,",").concat(s,"v").concat(a,"M").concat(l,",").concat(n,"h").concat(r)},ede=function(t){var n=t.x,r=n===void 0?0:n,a=t.y,s=a===void 0?0:a,l=t.top,u=l===void 0?0:l,d=t.left,f=d===void 0?0:d,m=t.width,p=m===void 0?0:m,g=t.height,x=g===void 0?0:g,j=t.className,w=Zue(t,Vue),b=Gue({x:r,y:s,top:u,left:f,width:p,height:x},w);return!Ee(r)||!Ee(s)||!Ee(p)||!Ee(x)||!Ee(u)||!Ee(f)?null:W.createElement("path",CN({},qe(b,!0),{className:et("recharts-cross",j),d:Jue(r,s,p,x,u,f)}))},OS,$$;function tde(){if($$)return OS;$$=1;var e=xy(),t=O6(),n=Ci();function r(a,s){return a&&a.length?e(a,n(s,2),t):void 0}return OS=r,OS}var nde=tde();const rde=Rt(nde);var ES,I$;function ade(){if(I$)return ES;I$=1;var e=xy(),t=Ci(),n=E6();function r(a,s){return a&&a.length?e(a,t(s,2),n):void 0}return ES=r,ES}var ide=ade();const sde=Rt(ide);var ode=["cx","cy","angle","ticks","axisLine"],lde=["ticks","tick","angle","tickFormatter","stroke"];function yu(e){"@babel/helpers - typeof";return yu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yu(e)}function kf(){return kf=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function cde(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function ude(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function B$(e,t){for(var n=0;nU$?l=a==="outer"?"start":"end":s<-U$?l=a==="outer"?"end":"start":l="middle",l}},{key:"renderAxisLine",value:function(){var r=this.props,a=r.cx,s=r.cy,l=r.radius,u=r.axisLine,d=r.axisLineType,f=Wo(Wo({},qe(this.props,!1)),{},{fill:"none"},qe(u,!1));if(d==="circle")return W.createElement(_y,Ko({className:"recharts-polar-angle-axis-line"},f,{cx:a,cy:s,r:l}));var m=this.props.ticks,p=m.map(function(g){return Jt(a,s,l,g.coordinate)});return W.createElement(Wue,Ko({className:"recharts-polar-angle-axis-line"},f,{points:p}))}},{key:"renderTicks",value:function(){var r=this,a=this.props,s=a.ticks,l=a.tick,u=a.tickLine,d=a.tickFormatter,f=a.stroke,m=qe(this.props,!1),p=qe(l,!1),g=Wo(Wo({},m),{},{fill:"none"},qe(u,!1)),x=s.map(function(j,w){var b=r.getTickLineCoord(j),N=r.getTickTextAnchor(j),E=Wo(Wo(Wo({textAnchor:N},m),{},{stroke:"none",fill:f},p),{},{index:w,payload:j,x:b.x2,y:b.y2});return W.createElement(Nt,Ko({className:et("recharts-polar-angle-axis-tick",nq(l)),key:"tick-".concat(j.coordinate)},pl(r.props,j,w)),u&&W.createElement("line",Ko({className:"recharts-polar-angle-axis-tick-line"},g,b)),l&&t.renderTickItem(l,E,d?d(j.value,w):j.value))});return W.createElement(Nt,{className:"recharts-polar-angle-axis-ticks"},x)}},{key:"render",value:function(){var r=this.props,a=r.ticks,s=r.radius,l=r.axisLine;return s<=0||!a||!a.length?null:W.createElement(Nt,{className:et("recharts-polar-angle-axis",this.props.className)},l&&this.renderAxisLine(),this.renderTicks())}}],[{key:"renderTickItem",value:function(r,a,s){var l;return W.isValidElement(r)?l=W.cloneElement(r,a):Ye(r)?l=r(a):l=W.createElement(vl,Ko({},a,{className:"recharts-polar-angle-axis-tick-value"}),s),l}}])})(y.PureComponent);Oy(Ey,"displayName","PolarAngleAxis");Oy(Ey,"axisType","angleAxis");Oy(Ey,"defaultProps",{type:"category",angleAxisId:0,scale:"auto",cx:0,cy:0,orientation:"outer",axisLine:!0,tickLine:!0,tickSize:8,tick:!0,hide:!1,allowDuplicatedCategory:!0});var AS,H$;function Nde(){if(H$)return AS;H$=1;var e=CB(),t=e(Object.getPrototypeOf,Object);return AS=t,AS}var TS,W$;function Cde(){if(W$)return TS;W$=1;var e=ms(),t=Nde(),n=ps(),r="[object Object]",a=Function.prototype,s=Object.prototype,l=a.toString,u=s.hasOwnProperty,d=l.call(Object);function f(m){if(!n(m)||e(m)!=r)return!1;var p=t(m);if(p===null)return!0;var g=u.call(p,"constructor")&&p.constructor;return typeof g=="function"&&g instanceof g&&l.call(g)==d}return TS=f,TS}var Ode=Cde();const Ede=Rt(Ode);var kS,V$;function Ade(){if(V$)return kS;V$=1;var e=ms(),t=ps(),n="[object Boolean]";function r(a){return a===!0||a===!1||t(a)&&e(a)==n}return kS=r,kS}var Tde=Ade();const kde=Rt(Tde);function lh(e){"@babel/helpers - typeof";return lh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lh(e)}function fg(){return fg=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0,from:{upperWidth:0,lowerWidth:0,height:g,x:d,y:f},to:{upperWidth:m,lowerWidth:p,height:g,x:d,y:f},duration:w,animationEasing:j,isActive:N},function(O){var A=O.upperWidth,C=O.lowerWidth,k=O.height,T=O.x,M=O.y;return W.createElement(ji,{canBegin:l>0,from:"0px ".concat(l===-1?1:l,"px"),to:"".concat(l,"px 0px"),attributeName:"strokeDasharray",begin:b,duration:w,easing:j},W.createElement("path",fg({},qe(n,!0),{className:E,d:X$(T,M,A,C,k),ref:r})))}):W.createElement("g",null,W.createElement("path",fg({},qe(n,!0),{className:E,d:X$(d,f,m,p,g)})))},Fde=["option","shapeType","propTransformer","activeClassName","isActive"];function ch(e){"@babel/helpers - typeof";return ch=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ch(e)}function Ude(e,t){if(e==null)return{};var n=Hde(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Hde(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Z$(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function hg(e){for(var t=1;t0?sa(O,"paddingAngle",0):0;if(C){var T=ra(C.endAngle-C.startAngle,O.endAngle-O.startAngle),M=Xt(Xt({},O),{},{startAngle:E+k,endAngle:E+T(w)+k});b.push(M),E=M.endAngle}else{var R=O.endAngle,L=O.startAngle,D=ra(0,R-L),U=D(w),V=Xt(Xt({},O),{},{startAngle:E+k,endAngle:E+U+k});b.push(V),E=V.endAngle}}),W.createElement(Nt,null,r.renderSectorsStatically(b))})}},{key:"attachKeyboardHandlers",value:function(r){var a=this;r.onkeydown=function(s){if(!s.altKey)switch(s.key){case"ArrowLeft":{var l=++a.state.sectorToFocus%a.sectorRefs.length;a.sectorRefs[l].focus(),a.setState({sectorToFocus:l});break}case"ArrowRight":{var u=--a.state.sectorToFocus<0?a.sectorRefs.length-1:a.state.sectorToFocus%a.sectorRefs.length;a.sectorRefs[u].focus(),a.setState({sectorToFocus:u});break}case"Escape":{a.sectorRefs[a.state.sectorToFocus].blur(),a.setState({sectorToFocus:0});break}}}}},{key:"renderSectors",value:function(){var r=this.props,a=r.sectors,s=r.isAnimationActive,l=this.state.prevSectors;return s&&a&&a.length&&(!l||!Wh(l,a))?this.renderSectorsWithAnimation():this.renderSectorsStatically(a)}},{key:"componentDidMount",value:function(){this.pieRef&&this.attachKeyboardHandlers(this.pieRef)}},{key:"render",value:function(){var r=this,a=this.props,s=a.hide,l=a.sectors,u=a.className,d=a.label,f=a.cx,m=a.cy,p=a.innerRadius,g=a.outerRadius,x=a.isAnimationActive,j=this.state.isAnimationFinished;if(s||!l||!l.length||!Ee(f)||!Ee(m)||!Ee(p)||!Ee(g))return null;var w=et("recharts-pie",u);return W.createElement(Nt,{tabIndex:this.props.rootTabIndex,className:w,ref:function(N){r.pieRef=N}},this.renderSectors(),d&&this.renderLabels(l),Vn.renderCallByParent(this.props,null,!1),(!x||j)&&ss.renderCallByParent(this.props,l,!1))}}],[{key:"getDerivedStateFromProps",value:function(r,a){return a.prevIsAnimationActive!==r.isAnimationActive?{prevIsAnimationActive:r.isAnimationActive,prevAnimationId:r.animationId,curSectors:r.sectors,prevSectors:[],isAnimationFinished:!0}:r.isAnimationActive&&r.animationId!==a.prevAnimationId?{prevAnimationId:r.animationId,curSectors:r.sectors,prevSectors:a.curSectors,isAnimationFinished:!0}:r.sectors!==a.curSectors?{curSectors:r.sectors,isAnimationFinished:!0}:null}},{key:"getTextAnchor",value:function(r,a){return r>a?"start":r=360?E:E-1)*d,A=b-E*x-O,C=a.reduce(function(M,R){var L=In(R,N,0);return M+(Ee(L)?L:0)},0),k;if(C>0){var T;k=a.map(function(M,R){var L=In(M,N,0),D=In(M,m,R),U=(Ee(L)?L:0)/C,V;R?V=T.endAngle+Sr(w)*d*(L!==0?1:0):V=l;var H=V+Sr(w)*((L!==0?x:0)+U*A),G=(V+H)/2,$=(j.innerRadius+j.outerRadius)/2,I=[{name:D,value:L,payload:M,dataKey:N,type:g}],q=Jt(j.cx,j.cy,$,G);return T=Xt(Xt(Xt({percent:U,cornerRadius:s,name:D,tooltipPayload:I,midAngle:G,middleRadius:$,tooltipPosition:q},M),j),{},{value:In(M,N),startAngle:V,endAngle:H,payload:M,paddingAngle:Sr(w)*d}),T})}return Xt(Xt({},j),{},{sectors:k,data:a})});var MS,tI;function dfe(){if(tI)return MS;tI=1;var e=Math.ceil,t=Math.max;function n(r,a,s,l){for(var u=-1,d=t(e((a-r)/(s||1)),0),f=Array(d);d--;)f[l?d:++u]=r,r+=s;return f}return MS=n,MS}var PS,nI;function bq(){if(nI)return PS;nI=1;var e=FB(),t=1/0,n=17976931348623157e292;function r(a){if(!a)return a===0?a:0;if(a=e(a),a===t||a===-t){var s=a<0?-1:1;return s*n}return a===a?a:0}return PS=r,PS}var RS,rI;function ffe(){if(rI)return RS;rI=1;var e=dfe(),t=dy(),n=bq();function r(a){return function(s,l,u){return u&&typeof u!="number"&&t(s,l,u)&&(l=u=void 0),s=n(s),l===void 0?(l=s,s=0):l=n(l),u=u===void 0?s0&&r.handleDrag(a.changedTouches[0])}),Jr(r,"handleDragEnd",function(){r.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var a=r.props,s=a.endIndex,l=a.onDragEnd,u=a.startIndex;l?.({endIndex:s,startIndex:u})}),r.detachDragEndListener()}),Jr(r,"handleLeaveWrapper",function(){(r.state.isTravellerMoving||r.state.isSlideMoving)&&(r.leaveTimer=window.setTimeout(r.handleDragEnd,r.props.leaveTimeOut))}),Jr(r,"handleEnterSlideOrTraveller",function(){r.setState({isTextActive:!0})}),Jr(r,"handleLeaveSlideOrTraveller",function(){r.setState({isTextActive:!1})}),Jr(r,"handleSlideDragStart",function(a){var s=cI(a)?a.changedTouches[0]:a;r.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:s.pageX}),r.attachDragEndListener()}),r.travellerDragStartHandlers={startX:r.handleTravellerDragStart.bind(r,"startX"),endX:r.handleTravellerDragStart.bind(r,"endX")},r.state={},r}return _fe(t,e),bfe(t,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(r){var a=r.startX,s=r.endX,l=this.state.scaleValues,u=this.props,d=u.gap,f=u.data,m=f.length-1,p=Math.min(a,s),g=Math.max(a,s),x=t.getIndexInRange(l,p),j=t.getIndexInRange(l,g);return{startIndex:x-x%d,endIndex:j===m?m:j-j%d}}},{key:"getTextOfTick",value:function(r){var a=this.props,s=a.data,l=a.tickFormatter,u=a.dataKey,d=In(s[r],u,r);return Ye(l)?l(d,r):d}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(r){var a=this.state,s=a.slideMoveStartX,l=a.startX,u=a.endX,d=this.props,f=d.x,m=d.width,p=d.travellerWidth,g=d.startIndex,x=d.endIndex,j=d.onChange,w=r.pageX-s;w>0?w=Math.min(w,f+m-p-u,f+m-p-l):w<0&&(w=Math.max(w,f-l,f-u));var b=this.getIndex({startX:l+w,endX:u+w});(b.startIndex!==g||b.endIndex!==x)&&j&&j(b),this.setState({startX:l+w,endX:u+w,slideMoveStartX:r.pageX})}},{key:"handleTravellerDragStart",value:function(r,a){var s=cI(a)?a.changedTouches[0]:a;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:r,brushMoveStartX:s.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(r){var a=this.state,s=a.brushMoveStartX,l=a.movingTravellerId,u=a.endX,d=a.startX,f=this.state[l],m=this.props,p=m.x,g=m.width,x=m.travellerWidth,j=m.onChange,w=m.gap,b=m.data,N={startX:this.state.startX,endX:this.state.endX},E=r.pageX-s;E>0?E=Math.min(E,p+g-x-f):E<0&&(E=Math.max(E,p-f)),N[l]=f+E;var O=this.getIndex(N),A=O.startIndex,C=O.endIndex,k=function(){var M=b.length-1;return l==="startX"&&(u>d?A%w===0:C%w===0)||ud?C%w===0:A%w===0)||u>d&&C===M};this.setState(Jr(Jr({},l,f+E),"brushMoveStartX",r.pageX),function(){j&&k()&&j(O)})}},{key:"handleTravellerMoveKeyboard",value:function(r,a){var s=this,l=this.state,u=l.scaleValues,d=l.startX,f=l.endX,m=this.state[a],p=u.indexOf(m);if(p!==-1){var g=p+r;if(!(g===-1||g>=u.length)){var x=u[g];a==="startX"&&x>=f||a==="endX"&&x<=d||this.setState(Jr({},a,x),function(){s.props.onChange(s.getIndex({startX:s.state.startX,endX:s.state.endX}))})}}}},{key:"renderBackground",value:function(){var r=this.props,a=r.x,s=r.y,l=r.width,u=r.height,d=r.fill,f=r.stroke;return W.createElement("rect",{stroke:f,fill:d,x:a,y:s,width:l,height:u})}},{key:"renderPanorama",value:function(){var r=this.props,a=r.x,s=r.y,l=r.width,u=r.height,d=r.data,f=r.children,m=r.padding,p=y.Children.only(f);return p?W.cloneElement(p,{x:a,y:s,width:l,height:u,margin:m,compact:!0,data:d}):null}},{key:"renderTravellerLayer",value:function(r,a){var s,l,u=this,d=this.props,f=d.y,m=d.travellerWidth,p=d.height,g=d.traveller,x=d.ariaLabel,j=d.data,w=d.startIndex,b=d.endIndex,N=Math.max(r,this.props.x),E=$S($S({},qe(this.props,!1)),{},{x:N,y:f,width:m,height:p}),O=x||"Min value: ".concat((s=j[w])===null||s===void 0?void 0:s.name,", Max value: ").concat((l=j[b])===null||l===void 0?void 0:l.name);return W.createElement(Nt,{tabIndex:0,role:"slider","aria-label":O,"aria-valuenow":r,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[a],onTouchStart:this.travellerDragStartHandlers[a],onKeyDown:function(C){["ArrowLeft","ArrowRight"].includes(C.key)&&(C.preventDefault(),C.stopPropagation(),u.handleTravellerMoveKeyboard(C.key==="ArrowRight"?1:-1,a))},onFocus:function(){u.setState({isTravellerFocused:!0})},onBlur:function(){u.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},t.renderTraveller(g,E))}},{key:"renderSlide",value:function(r,a){var s=this.props,l=s.y,u=s.height,d=s.stroke,f=s.travellerWidth,m=Math.min(r,a)+f,p=Math.max(Math.abs(a-r)-f,0);return W.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:d,fillOpacity:.2,x:m,y:l,width:p,height:u})}},{key:"renderText",value:function(){var r=this.props,a=r.startIndex,s=r.endIndex,l=r.y,u=r.height,d=r.travellerWidth,f=r.stroke,m=this.state,p=m.startX,g=m.endX,x=5,j={pointerEvents:"none",fill:f};return W.createElement(Nt,{className:"recharts-brush-texts"},W.createElement(vl,vg({textAnchor:"end",verticalAnchor:"middle",x:Math.min(p,g)-x,y:l+u/2},j),this.getTextOfTick(a)),W.createElement(vl,vg({textAnchor:"start",verticalAnchor:"middle",x:Math.max(p,g)+d+x,y:l+u/2},j),this.getTextOfTick(s)))}},{key:"render",value:function(){var r=this.props,a=r.data,s=r.className,l=r.children,u=r.x,d=r.y,f=r.width,m=r.height,p=r.alwaysShowText,g=this.state,x=g.startX,j=g.endX,w=g.isTextActive,b=g.isSlideMoving,N=g.isTravellerMoving,E=g.isTravellerFocused;if(!a||!a.length||!Ee(u)||!Ee(d)||!Ee(f)||!Ee(m)||f<=0||m<=0)return null;var O=et("recharts-brush",s),A=W.Children.count(l)===1,C=yfe("userSelect","none");return W.createElement(Nt,{className:O,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:C},this.renderBackground(),A&&this.renderPanorama(),this.renderSlide(x,j),this.renderTravellerLayer(x,"startX"),this.renderTravellerLayer(j,"endX"),(w||b||N||E||p)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(r){var a=r.x,s=r.y,l=r.width,u=r.height,d=r.stroke,f=Math.floor(s+u/2)-1;return W.createElement(W.Fragment,null,W.createElement("rect",{x:a,y:s,width:l,height:u,fill:d,stroke:"none"}),W.createElement("line",{x1:a+1,y1:f,x2:a+l-1,y2:f,fill:"none",stroke:"#fff"}),W.createElement("line",{x1:a+1,y1:f+2,x2:a+l-1,y2:f+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(r,a){var s;return W.isValidElement(r)?s=W.cloneElement(r,a):Ye(r)?s=r(a):s=t.renderDefaultTraveller(a),s}},{key:"getDerivedStateFromProps",value:function(r,a){var s=r.data,l=r.width,u=r.x,d=r.travellerWidth,f=r.updateId,m=r.startIndex,p=r.endIndex;if(s!==a.prevData||f!==a.prevUpdateId)return $S({prevData:s,prevTravellerWidth:d,prevUpdateId:f,prevX:u,prevWidth:l},s&&s.length?Cfe({data:s,width:l,x:u,travellerWidth:d,startIndex:m,endIndex:p}):{scale:null,scaleValues:null});if(a.scale&&(l!==a.prevWidth||u!==a.prevX||d!==a.prevTravellerWidth)){a.scale.range([u,u+l-d]);var g=a.scale.domain().map(function(x){return a.scale(x)});return{prevData:s,prevTravellerWidth:d,prevUpdateId:f,prevX:u,prevWidth:l,startX:a.scale(r.startIndex),endX:a.scale(r.endIndex),scaleValues:g}}return null}},{key:"getIndexInRange",value:function(r,a){for(var s=r.length,l=0,u=s-1;u-l>1;){var d=Math.floor((l+u)/2);r[d]>a?u=d:l=d}return a>=r[u]?u:l}}])})(y.PureComponent);Jr(ju,"displayName","Brush");Jr(ju,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var IS,uI;function Ofe(){if(uI)return IS;uI=1;var e=xO();function t(n,r){var a;return e(n,function(s,l,u){return a=r(s,l,u),!a}),!!a}return IS=t,IS}var LS,dI;function Efe(){if(dI)return LS;dI=1;var e=xB(),t=Ci(),n=Ofe(),r=Ur(),a=dy();function s(l,u,d){var f=r(l)?e:n;return d&&a(l,u,d)&&(u=void 0),f(l,t(u,3))}return LS=s,LS}var Afe=Efe();const Tfe=Rt(Afe);var yi=function(t,n){var r=t.alwaysShow,a=t.ifOverflow;return r&&(a="extendDomain"),a===n},zS,fI;function kfe(){if(fI)return zS;fI=1;var e=IB();function t(n,r,a){r=="__proto__"&&e?e(n,r,{configurable:!0,enumerable:!0,value:a,writable:!0}):n[r]=a}return zS=t,zS}var BS,hI;function Mfe(){if(hI)return BS;hI=1;var e=kfe(),t=DB(),n=Ci();function r(a,s){var l={};return s=n(s,3),t(a,function(u,d,f){e(l,d,s(u,d,f))}),l}return BS=r,BS}var Pfe=Mfe();const Rfe=Rt(Pfe);var qS,mI;function Dfe(){if(mI)return qS;mI=1;function e(t,n){for(var r=-1,a=t==null?0:t.length;++r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Hfe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Wfe(e,t){var n=e.x,r=e.y,a=Ufe(e,zfe),s="".concat(n),l=parseInt(s,10),u="".concat(r),d=parseInt(u,10),f="".concat(t.height||a.height),m=parseInt(f,10),p="".concat(t.width||a.width),g=parseInt(p,10);return df(df(df(df(df({},t),a),l?{x:l}:{}),d?{y:d}:{}),{},{height:m,width:g,name:t.name,radius:t.radius})}function yI(e){return W.createElement(gq,kN({shapeType:"rectangle",propTransformer:Wfe,activeClassName:"recharts-active-bar"},e))}var Vfe=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(r,a){if(typeof t=="number")return t;var s=Ee(r)||pJ(r);return s?t(r,a):(s||vr(!1),n)}},Gfe=["value","background"],Nq;function Su(e){"@babel/helpers - typeof";return Su=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Su(e)}function Yfe(e,t){if(e==null)return{};var n=Kfe(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Kfe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function yg(){return yg=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&Math.abs(G)0&&Math.abs(H)0&&(V=Math.min((ie||0)-(H[Q-1]||0),V))}),Number.isFinite(V)){var G=V/U,$=w.layout==="vertical"?r.height:r.width;if(w.padding==="gap"&&(T=G*$/2),w.padding==="no-gap"){var I=_r(t.barCategoryGap,G*$),q=G*$/2;T=q-I-(q-I)/$*I}}}a==="xAxis"?M=[r.left+(O.left||0)+(T||0),r.left+r.width-(O.right||0)-(T||0)]:a==="yAxis"?M=d==="horizontal"?[r.top+r.height-(O.bottom||0),r.top+(O.top||0)]:[r.top+(O.top||0)+(T||0),r.top+r.height-(O.bottom||0)-(T||0)]:M=w.range,C&&(M=[M[1],M[0]]);var Z=K6(w,s,g),ee=Z.scale,F=Z.realScaleType;ee.domain(N).range(M),X6(ee);var z=Z6(ee,qa(qa({},w),{},{realScaleType:F}));a==="xAxis"?(D=b==="top"&&!A||b==="bottom"&&A,R=r.left,L=p[k]-D*w.height):a==="yAxis"&&(D=b==="left"&&!A||b==="right"&&A,R=p[k]-D*w.width,L=r.top);var K=qa(qa(qa({},w),z),{},{realScaleType:F,x:R,y:L,scale:ee,width:a==="xAxis"?r.width:w.width,height:a==="yAxis"?r.height:w.height});return K.bandSize=ng(K,z),!w.hide&&a==="xAxis"?p[k]+=(D?-1:1)*K.height:w.hide||(p[k]+=(D?-1:1)*K.width),qa(qa({},x),{},ky({},j,K))},{})},Tq=function(t,n){var r=t.x,a=t.y,s=n.x,l=n.y;return{x:Math.min(r,s),y:Math.min(a,l),width:Math.abs(s-r),height:Math.abs(l-a)}},she=function(t){var n=t.x1,r=t.y1,a=t.x2,s=t.y2;return Tq({x:n,y:r},{x:a,y:s})},kq=(function(){function e(t){rhe(this,e),this.scale=t}return ahe(e,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=r.bandAware,s=r.position;if(n!==void 0){if(s)switch(s){case"start":return this.scale(n);case"middle":{var l=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+l}case"end":{var u=this.bandwidth?this.bandwidth():0;return this.scale(n)+u}default:return this.scale(n)}if(a){var d=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+d}return this.scale(n)}}},{key:"isInRange",value:function(n){var r=this.range(),a=r[0],s=r[r.length-1];return a<=s?n>=a&&n<=s:n>=s&&n<=a}}],[{key:"create",value:function(n){return new e(n)}}])})();ky(kq,"EPS",1e-4);var YO=function(t){var n=Object.keys(t).reduce(function(r,a){return qa(qa({},r),{},ky({},a,kq.create(t[a])))},{});return qa(qa({},n),{},{apply:function(a){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},l=s.bandAware,u=s.position;return Rfe(a,function(d,f){return n[f].apply(d,{bandAware:l,position:u})})},isInRange:function(a){return _q(a,function(s,l){return n[l].isInRange(s)})}})};function ohe(e){return(e%180+180)%180}var lhe=function(t){var n=t.width,r=t.height,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=ohe(a),l=s*Math.PI/180,u=Math.atan(r/n),d=l>u&&l-1?d[f?s[m]:m]:void 0}}return HS=r,HS}var WS,_I;function uhe(){if(_I)return WS;_I=1;var e=bq();function t(n){var r=e(n),a=r%1;return r===r?a?r-a:r:0}return WS=t,WS}var VS,NI;function dhe(){if(NI)return VS;NI=1;var e=TB(),t=Ci(),n=uhe(),r=Math.max;function a(s,l,u){var d=s==null?0:s.length;if(!d)return-1;var f=u==null?0:n(u);return f<0&&(f=r(d+f,0)),e(s,t(l,3),f)}return VS=a,VS}var GS,CI;function fhe(){if(CI)return GS;CI=1;var e=che(),t=dhe(),n=e(t);return GS=n,GS}var hhe=fhe();const mhe=Rt(hhe);var phe=Vz();const vhe=Rt(phe);var ghe=vhe(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return["l",e.left,"t",e.top,"w",e.width,"h",e.height].join("")}),KO=y.createContext(void 0),XO=y.createContext(void 0),Mq=y.createContext(void 0),Pq=y.createContext({}),Rq=y.createContext(void 0),Dq=y.createContext(0),$q=y.createContext(0),OI=function(t){var n=t.state,r=n.xAxisMap,a=n.yAxisMap,s=n.offset,l=t.clipPathId,u=t.children,d=t.width,f=t.height,m=ghe(s);return W.createElement(KO.Provider,{value:r},W.createElement(XO.Provider,{value:a},W.createElement(Pq.Provider,{value:s},W.createElement(Mq.Provider,{value:m},W.createElement(Rq.Provider,{value:l},W.createElement(Dq.Provider,{value:f},W.createElement($q.Provider,{value:d},u)))))))},yhe=function(){return y.useContext(Rq)},Iq=function(t){var n=y.useContext(KO);n==null&&vr(!1);var r=n[t];return r==null&&vr(!1),r},xhe=function(){var t=y.useContext(KO);return Ks(t)},bhe=function(){var t=y.useContext(XO),n=mhe(t,function(r){return _q(r.domain,Number.isFinite)});return n||Ks(t)},Lq=function(t){var n=y.useContext(XO);n==null&&vr(!1);var r=n[t];return r==null&&vr(!1),r},whe=function(){var t=y.useContext(Mq);return t},jhe=function(){return y.useContext(Pq)},ZO=function(){return y.useContext($q)},QO=function(){return y.useContext(Dq)};function _u(e){"@babel/helpers - typeof";return _u=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_u(e)}function She(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _he(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne*a)return!1;var s=n();return e*(t-e*s/2-r)>=0&&e*(t+e*s/2-a)<=0}function ime(e,t){return Wq(e,t+1)}function sme(e,t,n,r,a){for(var s=(r||[]).slice(),l=t.start,u=t.end,d=0,f=1,m=l,p=function(){var j=r?.[d];if(j===void 0)return{v:Wq(r,f)};var w=d,b,N=function(){return b===void 0&&(b=n(j,w)),b},E=j.coordinate,O=d===0||Sg(e,E,N,m,u);O||(d=0,m=l,f+=1),O&&(m=E+e*(N()/2+a),d+=f)},g;f<=s.length;)if(g=p(),g)return g.v;return[]}function mh(e){"@babel/helpers - typeof";return mh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},mh(e)}function DI(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function ur(e){for(var t=1;t0?x.coordinate-b*e:x.coordinate})}else s[g]=x=ur(ur({},x),{},{tickCoord:x.coordinate});var N=Sg(e,x.tickCoord,w,u,d);N&&(d=x.tickCoord-e*(w()/2+a),s[g]=ur(ur({},x),{},{isShow:!0}))},m=l-1;m>=0;m--)f(m);return s}function dme(e,t,n,r,a,s){var l=(r||[]).slice(),u=l.length,d=t.start,f=t.end;if(s){var m=r[u-1],p=n(m,u-1),g=e*(m.coordinate+e*p/2-f);l[u-1]=m=ur(ur({},m),{},{tickCoord:g>0?m.coordinate-g*e:m.coordinate});var x=Sg(e,m.tickCoord,function(){return p},d,f);x&&(f=m.tickCoord-e*(p/2+a),l[u-1]=ur(ur({},m),{},{isShow:!0}))}for(var j=s?u-1:u,w=function(E){var O=l[E],A,C=function(){return A===void 0&&(A=n(O,E)),A};if(E===0){var k=e*(O.coordinate-e*C()/2-d);l[E]=O=ur(ur({},O),{},{tickCoord:k<0?O.coordinate-k*e:O.coordinate})}else l[E]=O=ur(ur({},O),{},{tickCoord:O.coordinate});var T=Sg(e,O.tickCoord,C,d,f);T&&(d=O.tickCoord+e*(C()/2+a),l[E]=ur(ur({},O),{},{isShow:!0}))},b=0;b=2?Sr(a[1].coordinate-a[0].coordinate):1,N=ame(s,b,x);return d==="equidistantPreserveStart"?sme(b,N,w,a,l):(d==="preserveStart"||d==="preserveStartEnd"?g=dme(b,N,w,a,l,d==="preserveStartEnd"):g=ume(b,N,w,a,l),g.filter(function(E){return E.isShow}))}var fme=["viewBox"],hme=["viewBox"],mme=["ticks"];function Ou(e){"@babel/helpers - typeof";return Ou=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ou(e)}function Wc(){return Wc=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function pme(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function vme(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function II(e,t){for(var n=0;n0?d(this.props):d(x)),l<=0||u<=0||!j||!j.length?null:W.createElement(Nt,{className:et("recharts-cartesian-axis",f),ref:function(b){r.layerReference=b}},s&&this.renderAxisLine(),this.renderTicks(j,this.state.fontSize,this.state.letterSpacing),Vn.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(r,a,s){var l,u=et(a.className,"recharts-cartesian-axis-tick-value");return W.isValidElement(r)?l=W.cloneElement(r,Dn(Dn({},a),{},{className:u})):Ye(r)?l=r(Dn(Dn({},a),{},{className:u})):l=W.createElement(vl,Wc({},a,{className:"recharts-cartesian-axis-tick-value"}),s),l}}])})(y.Component);nE(Zu,"displayName","CartesianAxis");nE(Zu,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var Sme=["x1","y1","x2","y2","key"],_me=["offset"];function yl(e){"@babel/helpers - typeof";return yl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yl(e)}function LI(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function fr(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Eme(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var Ame=function(t){var n=t.fill;if(!n||n==="none")return null;var r=t.fillOpacity,a=t.x,s=t.y,l=t.width,u=t.height,d=t.ry;return W.createElement("rect",{x:a,y:s,ry:d,width:l,height:u,stroke:"none",fill:n,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function Yq(e,t){var n;if(W.isValidElement(e))n=W.cloneElement(e,t);else if(Ye(e))n=e(t);else{var r=t.x1,a=t.y1,s=t.x2,l=t.y2,u=t.key,d=zI(t,Sme),f=qe(d,!1);f.offset;var m=zI(f,_me);n=W.createElement("line",el({},m,{x1:r,y1:a,x2:s,y2:l,fill:"none",key:u}))}return n}function Tme(e){var t=e.x,n=e.width,r=e.horizontal,a=r===void 0?!0:r,s=e.horizontalPoints;if(!a||!s||!s.length)return null;var l=s.map(function(u,d){var f=fr(fr({},e),{},{x1:t,y1:u,x2:t+n,y2:u,key:"line-".concat(d),index:d});return Yq(a,f)});return W.createElement("g",{className:"recharts-cartesian-grid-horizontal"},l)}function kme(e){var t=e.y,n=e.height,r=e.vertical,a=r===void 0?!0:r,s=e.verticalPoints;if(!a||!s||!s.length)return null;var l=s.map(function(u,d){var f=fr(fr({},e),{},{x1:u,y1:t,x2:u,y2:t+n,key:"line-".concat(d),index:d});return Yq(a,f)});return W.createElement("g",{className:"recharts-cartesian-grid-vertical"},l)}function Mme(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,a=e.y,s=e.width,l=e.height,u=e.horizontalPoints,d=e.horizontal,f=d===void 0?!0:d;if(!f||!t||!t.length)return null;var m=u.map(function(g){return Math.round(g+a-a)}).sort(function(g,x){return g-x});a!==m[0]&&m.unshift(0);var p=m.map(function(g,x){var j=!m[x+1],w=j?a+l-g:m[x+1]-g;if(w<=0)return null;var b=x%t.length;return W.createElement("rect",{key:"react-".concat(x),y:g,x:r,height:w,width:s,stroke:"none",fill:t[b],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return W.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},p)}function Pme(e){var t=e.vertical,n=t===void 0?!0:t,r=e.verticalFill,a=e.fillOpacity,s=e.x,l=e.y,u=e.width,d=e.height,f=e.verticalPoints;if(!n||!r||!r.length)return null;var m=f.map(function(g){return Math.round(g+s-s)}).sort(function(g,x){return g-x});s!==m[0]&&m.unshift(0);var p=m.map(function(g,x){var j=!m[x+1],w=j?s+u-g:m[x+1]-g;if(w<=0)return null;var b=x%r.length;return W.createElement("rect",{key:"react-".concat(x),x:g,y:l,width:w,height:d,stroke:"none",fill:r[b],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return W.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},p)}var Rme=function(t,n){var r=t.xAxis,a=t.width,s=t.height,l=t.offset;return Y6(tE(fr(fr(fr({},Zu.defaultProps),r),{},{ticks:es(r,!0),viewBox:{x:0,y:0,width:a,height:s}})),l.left,l.left+l.width,n)},Dme=function(t,n){var r=t.yAxis,a=t.width,s=t.height,l=t.offset;return Y6(tE(fr(fr(fr({},Zu.defaultProps),r),{},{ticks:es(r,!0),viewBox:{x:0,y:0,width:a,height:s}})),l.top,l.top+l.height,n)},Ec={horizontal:!0,vertical:!0,stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function yf(e){var t,n,r,a,s,l,u=ZO(),d=QO(),f=jhe(),m=fr(fr({},e),{},{stroke:(t=e.stroke)!==null&&t!==void 0?t:Ec.stroke,fill:(n=e.fill)!==null&&n!==void 0?n:Ec.fill,horizontal:(r=e.horizontal)!==null&&r!==void 0?r:Ec.horizontal,horizontalFill:(a=e.horizontalFill)!==null&&a!==void 0?a:Ec.horizontalFill,vertical:(s=e.vertical)!==null&&s!==void 0?s:Ec.vertical,verticalFill:(l=e.verticalFill)!==null&&l!==void 0?l:Ec.verticalFill,x:Ee(e.x)?e.x:f.left,y:Ee(e.y)?e.y:f.top,width:Ee(e.width)?e.width:f.width,height:Ee(e.height)?e.height:f.height}),p=m.x,g=m.y,x=m.width,j=m.height,w=m.syncWithTicks,b=m.horizontalValues,N=m.verticalValues,E=xhe(),O=bhe();if(!Ee(x)||x<=0||!Ee(j)||j<=0||!Ee(p)||p!==+p||!Ee(g)||g!==+g)return null;var A=m.verticalCoordinatesGenerator||Rme,C=m.horizontalCoordinatesGenerator||Dme,k=m.horizontalPoints,T=m.verticalPoints;if((!k||!k.length)&&Ye(C)){var M=b&&b.length,R=C({yAxis:O?fr(fr({},O),{},{ticks:M?b:O.ticks}):void 0,width:u,height:d,offset:f},M?!0:w);Va(Array.isArray(R),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(yl(R),"]")),Array.isArray(R)&&(k=R)}if((!T||!T.length)&&Ye(A)){var L=N&&N.length,D=A({xAxis:E?fr(fr({},E),{},{ticks:L?N:E.ticks}):void 0,width:u,height:d,offset:f},L?!0:w);Va(Array.isArray(D),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(yl(D),"]")),Array.isArray(D)&&(T=D)}return W.createElement("g",{className:"recharts-cartesian-grid"},W.createElement(Ame,{fill:m.fill,fillOpacity:m.fillOpacity,x:m.x,y:m.y,width:m.width,height:m.height,ry:m.ry}),W.createElement(Tme,el({},m,{offset:f,horizontalPoints:k,xAxis:E,yAxis:O})),W.createElement(kme,el({},m,{offset:f,verticalPoints:T,xAxis:E,yAxis:O})),W.createElement(Mme,el({},m,{horizontalPoints:k})),W.createElement(Pme,el({},m,{verticalPoints:T})))}yf.displayName="CartesianGrid";var $me=["type","layout","connectNulls","ref"],Ime=["key"];function Eu(e){"@babel/helpers - typeof";return Eu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Eu(e)}function BI(e,t){if(e==null)return{};var n=Lme(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Lme(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Mf(){return Mf=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);np){x=[].concat(Ac(d.slice(0,j)),[p-w]);break}var b=x.length%2===0?[0,g]:[g];return[].concat(Ac(t.repeat(d,m)),Ac(x),b).map(function(N){return"".concat(N,"px")}).join(", ")}),Fa(n,"id",Vu("recharts-line-")),Fa(n,"pathRef",function(l){n.mainCurve=l}),Fa(n,"handleAnimationEnd",function(){n.setState({isAnimationFinished:!0}),n.props.onAnimationEnd&&n.props.onAnimationEnd()}),Fa(n,"handleAnimationStart",function(){n.setState({isAnimationFinished:!1}),n.props.onAnimationStart&&n.props.onAnimationStart()}),n}return Yme(t,e),Hme(t,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var r=this.getTotalLength();this.setState({totalLength:r})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var r=this.getTotalLength();r!==this.state.totalLength&&this.setState({totalLength:r})}}},{key:"getTotalLength",value:function(){var r=this.mainCurve;try{return r&&r.getTotalLength&&r.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(r,a){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var s=this.props,l=s.points,u=s.xAxis,d=s.yAxis,f=s.layout,m=s.children,p=oa(m,Vh);if(!p)return null;var g=function(w,b){return{x:w.x,y:w.y,value:w.value,errorVal:In(w.payload,b)}},x={clipPath:r?"url(#clipPath-".concat(a,")"):null};return W.createElement(Nt,x,p.map(function(j){return W.cloneElement(j,{key:"bar-".concat(j.props.dataKey),data:l,xAxis:u,yAxis:d,layout:f,dataPointFormatter:g})}))}},{key:"renderDots",value:function(r,a,s){var l=this.props.isAnimationActive;if(l&&!this.state.isAnimationFinished)return null;var u=this.props,d=u.dot,f=u.points,m=u.dataKey,p=qe(this.props,!1),g=qe(d,!0),x=f.map(function(w,b){var N=Qr(Qr(Qr({key:"dot-".concat(b),r:3},p),g),{},{index:b,cx:w.x,cy:w.y,value:w.value,dataKey:m,payload:w.payload,points:f});return t.renderDotItem(d,N)}),j={clipPath:r?"url(#clipPath-".concat(a?"":"dots-").concat(s,")"):null};return W.createElement(Nt,Mf({className:"recharts-line-dots",key:"dots"},j),x)}},{key:"renderCurveStatically",value:function(r,a,s,l){var u=this.props,d=u.type,f=u.layout,m=u.connectNulls;u.ref;var p=BI(u,$me),g=Qr(Qr(Qr({},qe(p,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:a?"url(#clipPath-".concat(s,")"):null,points:r},l),{},{type:d,layout:f,connectNulls:m});return W.createElement(ig,Mf({},g,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(r,a){var s=this,l=this.props,u=l.points,d=l.strokeDasharray,f=l.isAnimationActive,m=l.animationBegin,p=l.animationDuration,g=l.animationEasing,x=l.animationId,j=l.animateNewValues,w=l.width,b=l.height,N=this.state,E=N.prevPoints,O=N.totalLength;return W.createElement(ji,{begin:m,duration:p,isActive:f,easing:g,from:{t:0},to:{t:1},key:"line-".concat(x),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(A){var C=A.t;if(E){var k=E.length/u.length,T=u.map(function(U,V){var H=Math.floor(V*k);if(E[H]){var G=E[H],$=ra(G.x,U.x),I=ra(G.y,U.y);return Qr(Qr({},U),{},{x:$(C),y:I(C)})}if(j){var q=ra(w*2,U.x),Z=ra(b/2,U.y);return Qr(Qr({},U),{},{x:q(C),y:Z(C)})}return Qr(Qr({},U),{},{x:U.x,y:U.y})});return s.renderCurveStatically(T,r,a)}var M=ra(0,O),R=M(C),L;if(d){var D="".concat(d).split(/[,\s]+/gim).map(function(U){return parseFloat(U)});L=s.getStrokeDasharray(R,O,D)}else L=s.generateSimpleStrokeDasharray(O,R);return s.renderCurveStatically(u,r,a,{strokeDasharray:L})})}},{key:"renderCurve",value:function(r,a){var s=this.props,l=s.points,u=s.isAnimationActive,d=this.state,f=d.prevPoints,m=d.totalLength;return u&&l&&l.length&&(!f&&m>0||!Wh(f,l))?this.renderCurveWithAnimation(r,a):this.renderCurveStatically(l,r,a)}},{key:"render",value:function(){var r,a=this.props,s=a.hide,l=a.dot,u=a.points,d=a.className,f=a.xAxis,m=a.yAxis,p=a.top,g=a.left,x=a.width,j=a.height,w=a.isAnimationActive,b=a.id;if(s||!u||!u.length)return null;var N=this.state.isAnimationFinished,E=u.length===1,O=et("recharts-line",d),A=f&&f.allowDataOverflow,C=m&&m.allowDataOverflow,k=A||C,T=Je(b)?this.id:b,M=(r=qe(l,!1))!==null&&r!==void 0?r:{r:3,strokeWidth:2},R=M.r,L=R===void 0?3:R,D=M.strokeWidth,U=D===void 0?2:D,V=OJ(l)?l:{},H=V.clipDot,G=H===void 0?!0:H,$=L*2+U;return W.createElement(Nt,{className:O},A||C?W.createElement("defs",null,W.createElement("clipPath",{id:"clipPath-".concat(T)},W.createElement("rect",{x:A?g:g-x/2,y:C?p:p-j/2,width:A?x:x*2,height:C?j:j*2})),!G&&W.createElement("clipPath",{id:"clipPath-dots-".concat(T)},W.createElement("rect",{x:g-$/2,y:p-$/2,width:x+$,height:j+$}))):null,!E&&this.renderCurve(k,T),this.renderErrorBar(k,T),(E||l)&&this.renderDots(k,G,T),(!w||N)&&ss.renderCallByParent(this.props,u))}}],[{key:"getDerivedStateFromProps",value:function(r,a){return r.animationId!==a.prevAnimationId?{prevAnimationId:r.animationId,curPoints:r.points,prevPoints:a.curPoints}:r.points!==a.curPoints?{curPoints:r.points}:null}},{key:"repeat",value:function(r,a){for(var s=r.length%2!==0?[].concat(Ac(r),[0]):r,l=[],u=0;ue.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Lpe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function zpe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Bpe(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?l:t&&t.length&&Ee(a)&&Ee(s)?t.slice(a,s+1):[]};function c8(e){return e==="number"?[0,"auto"]:void 0}var XN=function(t,n,r,a){var s=t.graphicalItems,l=t.tooltipAxis,u=$y(n,t);return r<0||!s||!s.length||r>=u.length?null:s.reduce(function(d,f){var m,p=(m=f.props.data)!==null&&m!==void 0?m:n;p&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=r&&(p=p.slice(t.dataStartIndex,t.dataEndIndex+1));var g;if(l.dataKey&&!l.allowDuplicatedCategory){var x=p===void 0?u:p;g=kv(x,l.dataKey,a)}else g=p&&p[r]||u[r];return g?[].concat(Mu(d),[J6(f,g)]):d},[])},KI=function(t,n,r,a){var s=a||{x:t.chartX,y:t.chartY},l=Qpe(s,r),u=t.orderedTooltipTicks,d=t.tooltipAxis,f=t.tooltipTicks,m=_oe(l,u,f,d);if(m>=0&&f){var p=f[m]&&f[m].value,g=XN(t,n,m,p),x=Jpe(r,u,m,s);return{activeTooltipIndex:m,activeLabel:p,activePayload:g,activeCoordinate:x}}return null},eve=function(t,n){var r=n.axes,a=n.graphicalItems,s=n.axisType,l=n.axisIdKey,u=n.stackGroups,d=n.dataStartIndex,f=n.dataEndIndex,m=t.layout,p=t.children,g=t.stackOffset,x=G6(m,s);return r.reduce(function(j,w){var b,N=w.type.defaultProps!==void 0?ge(ge({},w.type.defaultProps),w.props):w.props,E=N.type,O=N.dataKey,A=N.allowDataOverflow,C=N.allowDuplicatedCategory,k=N.scale,T=N.ticks,M=N.includeHidden,R=N[l];if(j[R])return j;var L=$y(t.data,{graphicalItems:a.filter(function(z){var K,ie=l in z.props?z.props[l]:(K=z.type.defaultProps)===null||K===void 0?void 0:K[l];return ie===R}),dataStartIndex:d,dataEndIndex:f}),D=L.length,U,V,H;Cpe(N.domain,A,E)&&(U=uN(N.domain,null,A),x&&(E==="number"||k!=="auto")&&(H=Ef(L,O,"category")));var G=c8(E);if(!U||U.length===0){var $,I=($=N.domain)!==null&&$!==void 0?$:G;if(O){if(U=Ef(L,O,E),E==="category"&&x){var q=gJ(U);C&&q?(V=U,U=pg(0,D)):C||(U=Y3(I,U,w).reduce(function(z,K){return z.indexOf(K)>=0?z:[].concat(Mu(z),[K])},[]))}else if(E==="category")C?U=U.filter(function(z){return z!==""&&!Je(z)}):U=Y3(I,U,w).reduce(function(z,K){return z.indexOf(K)>=0||K===""||Je(K)?z:[].concat(Mu(z),[K])},[]);else if(E==="number"){var Z=Aoe(L,a.filter(function(z){var K,ie,Q=l in z.props?z.props[l]:(K=z.type.defaultProps)===null||K===void 0?void 0:K[l],he="hide"in z.props?z.props.hide:(ie=z.type.defaultProps)===null||ie===void 0?void 0:ie.hide;return Q===R&&(M||!he)}),O,s,m);Z&&(U=Z)}x&&(E==="number"||k!=="auto")&&(H=Ef(L,O,"category"))}else x?U=pg(0,D):u&&u[R]&&u[R].hasStack&&E==="number"?U=g==="expand"?[0,1]:Q6(u[R].stackGroups,d,f):U=V6(L,a.filter(function(z){var K=l in z.props?z.props[l]:z.type.defaultProps[l],ie="hide"in z.props?z.props.hide:z.type.defaultProps.hide;return K===R&&(M||!ie)}),E,m,!0);if(E==="number")U=GN(p,U,R,s,T),I&&(U=uN(I,U,A));else if(E==="category"&&I){var ee=I,F=U.every(function(z){return ee.indexOf(z)>=0});F&&(U=ee)}}return ge(ge({},j),{},He({},R,ge(ge({},N),{},{axisType:s,domain:U,categoricalDomain:H,duplicateDomain:V,originalDomain:(b=N.domain)!==null&&b!==void 0?b:G,isCategorical:x,layout:m})))},{})},tve=function(t,n){var r=n.graphicalItems,a=n.Axis,s=n.axisType,l=n.axisIdKey,u=n.stackGroups,d=n.dataStartIndex,f=n.dataEndIndex,m=t.layout,p=t.children,g=$y(t.data,{graphicalItems:r,dataStartIndex:d,dataEndIndex:f}),x=g.length,j=G6(m,s),w=-1;return r.reduce(function(b,N){var E=N.type.defaultProps!==void 0?ge(ge({},N.type.defaultProps),N.props):N.props,O=E[l],A=c8("number");if(!b[O]){w++;var C;return j?C=pg(0,x):u&&u[O]&&u[O].hasStack?(C=Q6(u[O].stackGroups,d,f),C=GN(p,C,O,s)):(C=uN(A,V6(g,r.filter(function(k){var T,M,R=l in k.props?k.props[l]:(T=k.type.defaultProps)===null||T===void 0?void 0:T[l],L="hide"in k.props?k.props.hide:(M=k.type.defaultProps)===null||M===void 0?void 0:M.hide;return R===O&&!L}),"number",m),a.defaultProps.allowDataOverflow),C=GN(p,C,O,s)),ge(ge({},b),{},He({},O,ge(ge({axisType:s},a.defaultProps),{},{hide:!0,orientation:sa(Xpe,"".concat(s,".").concat(w%2),null),domain:C,originalDomain:A,isCategorical:j,layout:m})))}return b},{})},nve=function(t,n){var r=n.axisType,a=r===void 0?"xAxis":r,s=n.AxisComp,l=n.graphicalItems,u=n.stackGroups,d=n.dataStartIndex,f=n.dataEndIndex,m=t.children,p="".concat(a,"Id"),g=oa(m,s),x={};return g&&g.length?x=eve(t,{axes:g,graphicalItems:l,axisType:a,axisIdKey:p,stackGroups:u,dataStartIndex:d,dataEndIndex:f}):l&&l.length&&(x=tve(t,{Axis:s,graphicalItems:l,axisType:a,axisIdKey:p,stackGroups:u,dataStartIndex:d,dataEndIndex:f})),x},rve=function(t){var n=Ks(t),r=es(n,!1,!0);return{tooltipTicks:r,orderedTooltipTicks:bO(r,function(a){return a.coordinate}),tooltipAxis:n,tooltipAxisBandSize:ng(n,r)}},XI=function(t){var n=t.children,r=t.defaultShowTooltip,a=ea(n,ju),s=0,l=0;return t.data&&t.data.length!==0&&(l=t.data.length-1),a&&a.props&&(a.props.startIndex>=0&&(s=a.props.startIndex),a.props.endIndex>=0&&(l=a.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:s,dataEndIndex:l,activeTooltipIndex:-1,isTooltipActive:!!r}},ave=function(t){return!t||!t.length?!1:t.some(function(n){var r=as(n&&n.type);return r&&r.indexOf("Bar")>=0})},ZI=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},ive=function(t,n){var r=t.props,a=t.graphicalItems,s=t.xAxisMap,l=s===void 0?{}:s,u=t.yAxisMap,d=u===void 0?{}:u,f=r.width,m=r.height,p=r.children,g=r.margin||{},x=ea(p,ju),j=ea(p,sl),w=Object.keys(d).reduce(function(C,k){var T=d[k],M=T.orientation;return!T.mirror&&!T.hide?ge(ge({},C),{},He({},M,C[M]+T.width)):C},{left:g.left||0,right:g.right||0}),b=Object.keys(l).reduce(function(C,k){var T=l[k],M=T.orientation;return!T.mirror&&!T.hide?ge(ge({},C),{},He({},M,sa(C,"".concat(M))+T.height)):C},{top:g.top||0,bottom:g.bottom||0}),N=ge(ge({},b),w),E=N.bottom;x&&(N.bottom+=x.props.height||ju.defaultProps.height),j&&n&&(N=Ooe(N,a,r,n));var O=f-N.left-N.right,A=m-N.top-N.bottom;return ge(ge({brushBottom:E},N),{},{width:Math.max(O,0),height:Math.max(A,0)})},sve=function(t,n){if(n==="xAxis")return t[n].width;if(n==="yAxis")return t[n].height},rE=function(t){var n=t.chartName,r=t.GraphicalChild,a=t.defaultTooltipEventType,s=a===void 0?"axis":a,l=t.validateTooltipEventTypes,u=l===void 0?["axis"]:l,d=t.axisComponents,f=t.legendContent,m=t.formatAxisMap,p=t.defaultProps,g=function(N,E){var O=E.graphicalItems,A=E.stackGroups,C=E.offset,k=E.updateId,T=E.dataStartIndex,M=E.dataEndIndex,R=N.barSize,L=N.layout,D=N.barGap,U=N.barCategoryGap,V=N.maxBarSize,H=ZI(L),G=H.numericAxisName,$=H.cateAxisName,I=ave(O),q=[];return O.forEach(function(Z,ee){var F=$y(N.data,{graphicalItems:[Z],dataStartIndex:T,dataEndIndex:M}),z=Z.type.defaultProps!==void 0?ge(ge({},Z.type.defaultProps),Z.props):Z.props,K=z.dataKey,ie=z.maxBarSize,Q=z["".concat(G,"Id")],he=z["".concat($,"Id")],ae={},we=d.reduce(function(Tt,zt){var at=E["".concat(zt.axisType,"Map")],re=z["".concat(zt.axisType,"Id")];at&&at[re]||zt.axisType==="zAxis"||vr(!1);var Se=at[re];return ge(ge({},Tt),{},He(He({},zt.axisType,Se),"".concat(zt.axisType,"Ticks"),es(Se)))},ae),Y=we[$],pe=we["".concat($,"Ticks")],je=A&&A[Q]&&A[Q].hasStack&&Loe(Z,A[Q].stackGroups),X=as(Z.type).indexOf("Bar")>=0,Ae=ng(Y,pe),Oe=[],We=I&&Noe({barSize:R,stackGroups:A,totalSize:sve(we,$)});if(X){var Ve,be,_e=Je(ie)?V:ie,rt=(Ve=(be=ng(Y,pe,!0))!==null&&be!==void 0?be:_e)!==null&&Ve!==void 0?Ve:0;Oe=Coe({barGap:D,barCategoryGap:U,bandSize:rt!==Ae?rt:Ae,sizeList:We[he],maxBarSize:_e}),rt!==Ae&&(Oe=Oe.map(function(Tt){return ge(ge({},Tt),{},{position:ge(ge({},Tt.position),{},{offset:Tt.position.offset-rt/2})})}))}var fn=Z&&Z.type&&Z.type.getComposedData;fn&&q.push({props:ge(ge({},fn(ge(ge({},we),{},{displayedData:F,props:N,dataKey:K,item:Z,bandSize:Ae,barPosition:Oe,offset:C,stackedData:je,layout:L,dataStartIndex:T,dataEndIndex:M}))),{},He(He(He({key:Z.key||"item-".concat(ee)},G,we[G]),$,we[$]),"animationId",k)),childIndex:TJ(Z,N.children),item:Z})}),q},x=function(N,E){var O=N.props,A=N.dataStartIndex,C=N.dataEndIndex,k=N.updateId;if(!lR({props:O}))return null;var T=O.children,M=O.layout,R=O.stackOffset,L=O.data,D=O.reverseStackOrder,U=ZI(M),V=U.numericAxisName,H=U.cateAxisName,G=oa(T,r),$=$oe(L,G,"".concat(V,"Id"),"".concat(H,"Id"),R,D),I=d.reduce(function(z,K){var ie="".concat(K.axisType,"Map");return ge(ge({},z),{},He({},ie,nve(O,ge(ge({},K),{},{graphicalItems:G,stackGroups:K.axisType===V&&$,dataStartIndex:A,dataEndIndex:C}))))},{}),q=ive(ge(ge({},I),{},{props:O,graphicalItems:G}),E?.legendBBox);Object.keys(I).forEach(function(z){I[z]=m(O,I[z],q,z.replace("Map",""),n)});var Z=I["".concat(H,"Map")],ee=rve(Z),F=g(O,ge(ge({},I),{},{dataStartIndex:A,dataEndIndex:C,updateId:k,graphicalItems:G,stackGroups:$,offset:q}));return ge(ge({formattedGraphicalItems:F,graphicalItems:G,offset:q,stackGroups:$},ee),I)},j=(function(b){function N(E){var O,A,C;return zpe(this,N),C=Fpe(this,N,[E]),He(C,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),He(C,"accessibilityManager",new Npe),He(C,"handleLegendBBoxUpdate",function(k){if(k){var T=C.state,M=T.dataStartIndex,R=T.dataEndIndex,L=T.updateId;C.setState(ge({legendBBox:k},x({props:C.props,dataStartIndex:M,dataEndIndex:R,updateId:L},ge(ge({},C.state),{},{legendBBox:k}))))}}),He(C,"handleReceiveSyncEvent",function(k,T,M){if(C.props.syncId===k){if(M===C.eventEmitterSymbol&&typeof C.props.syncMethod!="function")return;C.applySyncEvent(T)}}),He(C,"handleBrushChange",function(k){var T=k.startIndex,M=k.endIndex;if(T!==C.state.dataStartIndex||M!==C.state.dataEndIndex){var R=C.state.updateId;C.setState(function(){return ge({dataStartIndex:T,dataEndIndex:M},x({props:C.props,dataStartIndex:T,dataEndIndex:M,updateId:R},C.state))}),C.triggerSyncEvent({dataStartIndex:T,dataEndIndex:M})}}),He(C,"handleMouseEnter",function(k){var T=C.getMouseInfo(k);if(T){var M=ge(ge({},T),{},{isTooltipActive:!0});C.setState(M),C.triggerSyncEvent(M);var R=C.props.onMouseEnter;Ye(R)&&R(M,k)}}),He(C,"triggeredAfterMouseMove",function(k){var T=C.getMouseInfo(k),M=T?ge(ge({},T),{},{isTooltipActive:!0}):{isTooltipActive:!1};C.setState(M),C.triggerSyncEvent(M);var R=C.props.onMouseMove;Ye(R)&&R(M,k)}),He(C,"handleItemMouseEnter",function(k){C.setState(function(){return{isTooltipActive:!0,activeItem:k,activePayload:k.tooltipPayload,activeCoordinate:k.tooltipPosition||{x:k.cx,y:k.cy}}})}),He(C,"handleItemMouseLeave",function(){C.setState(function(){return{isTooltipActive:!1}})}),He(C,"handleMouseMove",function(k){k.persist(),C.throttleTriggeredAfterMouseMove(k)}),He(C,"handleMouseLeave",function(k){C.throttleTriggeredAfterMouseMove.cancel();var T={isTooltipActive:!1};C.setState(T),C.triggerSyncEvent(T);var M=C.props.onMouseLeave;Ye(M)&&M(T,k)}),He(C,"handleOuterEvent",function(k){var T=AJ(k),M=sa(C.props,"".concat(T));if(T&&Ye(M)){var R,L;/.*touch.*/i.test(T)?L=C.getMouseInfo(k.changedTouches[0]):L=C.getMouseInfo(k),M((R=L)!==null&&R!==void 0?R:{},k)}}),He(C,"handleClick",function(k){var T=C.getMouseInfo(k);if(T){var M=ge(ge({},T),{},{isTooltipActive:!0});C.setState(M),C.triggerSyncEvent(M);var R=C.props.onClick;Ye(R)&&R(M,k)}}),He(C,"handleMouseDown",function(k){var T=C.props.onMouseDown;if(Ye(T)){var M=C.getMouseInfo(k);T(M,k)}}),He(C,"handleMouseUp",function(k){var T=C.props.onMouseUp;if(Ye(T)){var M=C.getMouseInfo(k);T(M,k)}}),He(C,"handleTouchMove",function(k){k.changedTouches!=null&&k.changedTouches.length>0&&C.throttleTriggeredAfterMouseMove(k.changedTouches[0])}),He(C,"handleTouchStart",function(k){k.changedTouches!=null&&k.changedTouches.length>0&&C.handleMouseDown(k.changedTouches[0])}),He(C,"handleTouchEnd",function(k){k.changedTouches!=null&&k.changedTouches.length>0&&C.handleMouseUp(k.changedTouches[0])}),He(C,"handleDoubleClick",function(k){var T=C.props.onDoubleClick;if(Ye(T)){var M=C.getMouseInfo(k);T(M,k)}}),He(C,"handleContextMenu",function(k){var T=C.props.onContextMenu;if(Ye(T)){var M=C.getMouseInfo(k);T(M,k)}}),He(C,"triggerSyncEvent",function(k){C.props.syncId!==void 0&&XS.emit(ZS,C.props.syncId,k,C.eventEmitterSymbol)}),He(C,"applySyncEvent",function(k){var T=C.props,M=T.layout,R=T.syncMethod,L=C.state.updateId,D=k.dataStartIndex,U=k.dataEndIndex;if(k.dataStartIndex!==void 0||k.dataEndIndex!==void 0)C.setState(ge({dataStartIndex:D,dataEndIndex:U},x({props:C.props,dataStartIndex:D,dataEndIndex:U,updateId:L},C.state)));else if(k.activeTooltipIndex!==void 0){var V=k.chartX,H=k.chartY,G=k.activeTooltipIndex,$=C.state,I=$.offset,q=$.tooltipTicks;if(!I)return;if(typeof R=="function")G=R(q,k);else if(R==="value"){G=-1;for(var Z=0;Z=0){var je,X;if(V.dataKey&&!V.allowDuplicatedCategory){var Ae=typeof V.dataKey=="function"?pe:"payload.".concat(V.dataKey.toString());je=kv(Z,Ae,G),X=ee&&F&&kv(F,Ae,G)}else je=Z?.[H],X=ee&&F&&F[H];if(he||Q){var Oe=k.props.activeIndex!==void 0?k.props.activeIndex:H;return[y.cloneElement(k,ge(ge(ge({},R.props),we),{},{activeIndex:Oe})),null,null]}if(!Je(je))return[Y].concat(Mu(C.renderActivePoints({item:R,activePoint:je,basePoint:X,childIndex:H,isRange:ee})))}else{var We,Ve=(We=C.getItemByXY(C.state.activeCoordinate))!==null&&We!==void 0?We:{graphicalItem:Y},be=Ve.graphicalItem,_e=be.item,rt=_e===void 0?k:_e,fn=be.childIndex,Tt=ge(ge(ge({},R.props),we),{},{activeIndex:fn});return[y.cloneElement(rt,Tt),null,null]}return ee?[Y,null,null]:[Y,null]}),He(C,"renderCustomized",function(k,T,M){return y.cloneElement(k,ge(ge({key:"recharts-customized-".concat(M)},C.props),C.state))}),He(C,"renderMap",{CartesianGrid:{handler:Yp,once:!0},ReferenceArea:{handler:C.renderReferenceElement},ReferenceLine:{handler:Yp},ReferenceDot:{handler:C.renderReferenceElement},XAxis:{handler:Yp},YAxis:{handler:Yp},Brush:{handler:C.renderBrush,once:!0},Bar:{handler:C.renderGraphicChild},Line:{handler:C.renderGraphicChild},Area:{handler:C.renderGraphicChild},Radar:{handler:C.renderGraphicChild},RadialBar:{handler:C.renderGraphicChild},Scatter:{handler:C.renderGraphicChild},Pie:{handler:C.renderGraphicChild},Funnel:{handler:C.renderGraphicChild},Tooltip:{handler:C.renderCursor,once:!0},PolarGrid:{handler:C.renderPolarGrid,once:!0},PolarAngleAxis:{handler:C.renderPolarAxis},PolarRadiusAxis:{handler:C.renderPolarAxis},Customized:{handler:C.renderCustomized}}),C.clipPathId="".concat((O=E.id)!==null&&O!==void 0?O:Vu("recharts"),"-clip"),C.throttleTriggeredAfterMouseMove=UB(C.triggeredAfterMouseMove,(A=E.throttleDelay)!==null&&A!==void 0?A:1e3/60),C.state={},C}return Wpe(N,b),qpe(N,[{key:"componentDidMount",value:function(){var O,A;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(O=this.props.margin.left)!==null&&O!==void 0?O:0,top:(A=this.props.margin.top)!==null&&A!==void 0?A:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var O=this.props,A=O.children,C=O.data,k=O.height,T=O.layout,M=ea(A,oi);if(M){var R=M.props.defaultIndex;if(!(typeof R!="number"||R<0||R>this.state.tooltipTicks.length-1)){var L=this.state.tooltipTicks[R]&&this.state.tooltipTicks[R].value,D=XN(this.state,C,R,L),U=this.state.tooltipTicks[R].coordinate,V=(this.state.offset.top+k)/2,H=T==="horizontal",G=H?{x:U,y:V}:{y:U,x:V},$=this.state.formattedGraphicalItems.find(function(q){var Z=q.item;return Z.type.name==="Scatter"});$&&(G=ge(ge({},G),$.props.points[R].tooltipPosition),D=$.props.points[R].tooltipPayload);var I={activeTooltipIndex:R,isTooltipActive:!0,activeLabel:L,activePayload:D,activeCoordinate:G};this.setState(I),this.renderCursor(M),this.accessibilityManager.setIndex(R)}}}},{key:"getSnapshotBeforeUpdate",value:function(O,A){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==A.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==O.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==O.margin){var C,k;this.accessibilityManager.setDetails({offset:{left:(C=this.props.margin.left)!==null&&C!==void 0?C:0,top:(k=this.props.margin.top)!==null&&k!==void 0?k:0}})}return null}},{key:"componentDidUpdate",value:function(O){M_([ea(O.children,oi)],[ea(this.props.children,oi)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var O=ea(this.props.children,oi);if(O&&typeof O.props.shared=="boolean"){var A=O.props.shared?"axis":"item";return u.indexOf(A)>=0?A:s}return s}},{key:"getMouseInfo",value:function(O){if(!this.container)return null;var A=this.container,C=A.getBoundingClientRect(),k=gre(C),T={chartX:Math.round(O.pageX-k.left),chartY:Math.round(O.pageY-k.top)},M=C.width/A.offsetWidth||1,R=this.inRange(T.chartX,T.chartY,M);if(!R)return null;var L=this.state,D=L.xAxisMap,U=L.yAxisMap,V=this.getTooltipEventType(),H=KI(this.state,this.props.data,this.props.layout,R);if(V!=="axis"&&D&&U){var G=Ks(D).scale,$=Ks(U).scale,I=G&&G.invert?G.invert(T.chartX):null,q=$&&$.invert?$.invert(T.chartY):null;return ge(ge({},T),{},{xValue:I,yValue:q},H)}return H?ge(ge({},T),H):null}},{key:"inRange",value:function(O,A){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,k=this.props.layout,T=O/C,M=A/C;if(k==="horizontal"||k==="vertical"){var R=this.state.offset,L=T>=R.left&&T<=R.left+R.width&&M>=R.top&&M<=R.top+R.height;return L?{x:T,y:M}:null}var D=this.state,U=D.angleAxisMap,V=D.radiusAxisMap;if(U&&V){var H=Ks(U);return Z3({x:T,y:M},H)}return null}},{key:"parseEventsOfWrapper",value:function(){var O=this.props.children,A=this.getTooltipEventType(),C=ea(O,oi),k={};C&&A==="axis"&&(C.props.trigger==="click"?k={onClick:this.handleClick}:k={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var T=Mv(this.props,this.handleOuterEvent);return ge(ge({},T),k)}},{key:"addListener",value:function(){XS.on(ZS,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){XS.removeListener(ZS,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(O,A,C){for(var k=this.state.formattedGraphicalItems,T=0,M=k.length;T");return e}const $c=y.forwardRef(({id:e,className:t,children:n,config:r,...a},s)=>{const l=y.useId(),u=`chart-${e||l.replace(/:/g,"")}`;return i.jsx(u8.Provider,{value:{config:r},children:i.jsxs("div",{"data-chart":u,ref:s,className:ue("flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none",t),...a,children:[i.jsx(uve,{id:u,config:r}),i.jsx(ure,{children:n})]})})});$c.displayName="Chart";const uve=({id:e,config:t})=>{const n=Object.entries(t).filter(([,r])=>r.theme||r.color);return n.length?i.jsx("style",{dangerouslySetInnerHTML:{__html:Object.entries(cve).map(([r,a])=>` -${a} [data-chart=${e}] { -${n.map(([s,l])=>{const u=l.theme?.[r]||l.color;return u?` --color-${s}: ${u};`:null}).join(` -`)} -} -`).join(` -`)}}):null},ff=oi,Ic=y.forwardRef(({active:e,payload:t,className:n,indicator:r="dot",hideLabel:a=!1,hideIndicator:s=!1,label:l,labelFormatter:u,labelClassName:d,formatter:f,color:m,nameKey:p,labelKey:g},x)=>{const{config:j}=d8(),w=y.useMemo(()=>{if(a||!t?.length)return null;const[N]=t,E=`${g||N?.dataKey||N?.name||"value"}`,O=ZN(j,N,E),A=!g&&typeof l=="string"?j[l]?.label||l:O?.label;return u?i.jsx("div",{className:ue("font-medium",d),children:u(A,t)}):A?i.jsx("div",{className:ue("font-medium",d),children:A}):null},[l,u,t,a,d,j,g]);if(!e||!t?.length)return null;const b=t.length===1&&r!=="dot";return i.jsxs("div",{ref:x,className:ue("grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",n),children:[b?null:w,i.jsx("div",{className:"grid gap-1.5",children:t.filter(N=>N.type!=="none").map((N,E)=>{const O=`${p||N.name||N.dataKey||"value"}`,A=ZN(j,N,O),C=m||N.payload.fill||N.color;return i.jsx("div",{className:ue("flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground",r==="dot"&&"items-center"),children:f&&N?.value!==void 0&&N.name?f(N.value,N.name,N,E,N.payload):i.jsxs(i.Fragment,{children:[A?.icon?i.jsx(A.icon,{}):!s&&i.jsx("div",{className:ue("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]",{"h-2.5 w-2.5":r==="dot","w-1":r==="line","w-0 border-[1.5px] border-dashed bg-transparent":r==="dashed","my-0.5":b&&r==="dashed"}),style:{"--color-bg":C,"--color-border":C}}),i.jsxs("div",{className:ue("flex flex-1 justify-between leading-none",b?"items-end":"items-center"),children:[i.jsxs("div",{className:"grid gap-1.5",children:[b?w:null,i.jsx("span",{className:"text-muted-foreground",children:A?.label||N.name})]}),N.value&&i.jsx("span",{className:"font-mono font-medium tabular-nums text-foreground",children:N.value.toLocaleString()})]})]})},N.dataKey)})})]})});Ic.displayName="ChartTooltip";const dve=sl,f8=y.forwardRef(({className:e,hideIcon:t=!1,payload:n,verticalAlign:r="bottom",nameKey:a},s)=>{const{config:l}=d8();return n?.length?i.jsx("div",{ref:s,className:ue("flex items-center justify-center gap-4",r==="top"?"pb-3":"pt-3",e),children:n.filter(u=>u.type!=="none").map(u=>{const d=`${a||u.dataKey||"value"}`,f=ZN(l,u,d);return i.jsxs("div",{className:ue("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),children:[f?.icon&&!t?i.jsx(f.icon,{}):i.jsx("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:u.color}}),f?.label]},u.value)})}):null});f8.displayName="ChartLegend";function ZN(e,t,n){if(typeof t!="object"||t===null)return;const r="payload"in t&&typeof t.payload=="object"&&t.payload!==null?t.payload:void 0;let a=n;return n in t&&typeof t[n]=="string"?a=t[n]:r&&n in r&&typeof r[n]=="string"&&(a=r[n]),a in e?e[a]:e[n]}const fve=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),hve=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase()),QI=e=>{const t=hve(e);return t.charAt(0).toUpperCase()+t.slice(1)},h8=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim(),mve=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0};var pve={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const vve=y.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:a="",children:s,iconNode:l,...u},d)=>y.createElement("svg",{ref:d,...pve,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:h8("lucide",a),...!s&&!mve(u)&&{"aria-hidden":"true"},...u},[...l.map(([f,m])=>y.createElement(f,m)),...Array.isArray(s)?s:[s]]));const Te=(e,t)=>{const n=y.forwardRef(({className:r,...a},s)=>y.createElement(vve,{ref:s,iconNode:t,className:h8(`lucide-${fve(QI(e))}`,`lucide-${e}`,r),...a}));return n.displayName=QI(e),n};const gve=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],yve=Te("activity",gve);const xve=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],m8=Te("arrow-left",xve);const bve=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],wve=Te("arrow-right",bve);const jve=[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],JI=Te("ban",jve);const Sve=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],_ve=Te("book-open",Sve);const Nve=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],Cve=Te("bot",Nve);const Ove=[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]],p8=Te("boxes",Ove);const Eve=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],eL=Te("calendar",Eve);const Ave=[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]],Tve=Te("chart-column",Ave);const kve=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],cl=Te("check",kve);const Mve=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],gh=Te("chevron-down",Mve);const Pve=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],Yh=Te("chevron-left",Pve);const Rve=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Kh=Te("chevron-right",Rve);const Dve=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],QN=Te("chevron-up",Dve);const $ve=[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]],aE=Te("chevrons-left",$ve);const Ive=[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]],iE=Te("chevrons-right",Ive);const Lve=[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]],zve=Te("chevrons-up-down",Lve);const Bve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],xl=Te("circle-alert",Bve);const qve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Dr=Te("circle-check",qve);const Fve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],Uve=Te("circle-question-mark",Fve);const Hve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662",key:"154egf"}]],v8=Te("circle-user",Hve);const Wve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],JN=Te("circle-x",Wve);const Vve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Gve=Te("circle",Vve);const Yve=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],ul=Te("clock",Yve);const Kve=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],eC=Te("copy",Kve);const Xve=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],Zve=Te("database",Xve);const Qve=[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]],Jve=Te("dollar-sign",Qve);const ege=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],tC=Te("download",ege);const tge=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],Pf=Te("external-link",tge);const nge=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],nC=Te("eye-off",nge);const rge=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Ya=Te("eye",rge);const age=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["circle",{cx:"11.5",cy:"14.5",r:"2.5",key:"1bq0ko"}],["path",{d:"M13.3 16.3 15 18",key:"2quom7"}]],Ag=Te("file-search",age);const ige=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],sE=Te("file-text",ige);const sge=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],rC=Te("funnel",sge);const oge=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],Tg=Te("hash",oge);const lge=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]],kg=Te("house",lge);const cge=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Pu=Te("info",cge);const uge=[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]],dge=Te("key",uge);const fge=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],yh=Te("loader-circle",fge);const hge=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],tL=Te("lock",hge);const mge=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],nL=Te("log-out",mge);const pge=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],vge=Te("menu",pge);const gge=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],Xh=Te("message-square",gge);const yge=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],aC=Te("moon",yge);const xge=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]],Mg=Te("package",xge);const bge=[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]],g8=Te("palette",bge);const wge=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],jge=Te("pause",wge);const Sge=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],Ru=Te("pencil",Sge);const _ge=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],Nge=Te("play",_ge);const Cge=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],ir=Te("plus",Cge);const Oge=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],oE=Te("power",Oge);const Ege=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],os=Te("refresh-cw",Ege);const Age=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],Tge=Te("rotate-ccw",Age);const kge=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],Mge=Te("rotate-cw",kge);const Pge=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],lE=Te("save",Pge);const Rge=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],Br=Te("search",Rge);const Dge=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],y8=Te("server",Dge);const $ge=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],Ige=Te("settings-2",$ge);const Lge=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Ha=Te("settings",Lge);const zge=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],Bge=Te("shield",zge);const qge=[["path",{d:"M21 4v16",key:"7j8fe9"}],["path",{d:"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",key:"zs4d6"}]],Fge=Te("skip-forward",qge);const Uge=[["path",{d:"M10 8h4",key:"1sr2af"}],["path",{d:"M12 21v-9",key:"17s77i"}],["path",{d:"M12 8V3",key:"13r4qs"}],["path",{d:"M17 16h4",key:"h1uq16"}],["path",{d:"M19 12V3",key:"o1uvq1"}],["path",{d:"M19 21v-5",key:"qua636"}],["path",{d:"M3 14h4",key:"bcjad9"}],["path",{d:"M5 10V3",key:"cb8scm"}],["path",{d:"M5 21v-7",key:"1w1uti"}]],Hge=Te("sliders-vertical",Uge);const Wge=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]],cE=Te("smile",Wge);const Vge=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],Gge=Te("sparkles",Vge);const Yge=[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]],Du=Te("square-pen",Yge);const Kge=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],rL=Te("star",Kge);const Xge=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],iC=Te("sun",Xge);const Zge=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],Qge=Te("terminal",Zge);const Jge=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Ct=Te("trash-2",Jge);const eye=[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]],tye=Te("trending-up",eye);const nye=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],Xc=Te("triangle-alert",nye);const rye=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],x8=Te("user",rye);const aye=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],iye=Te("users",aye);const sye=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Zh=Te("x",sye);const oye=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],xh=Te("zap",oye),aL=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,iL=et,Qu=(e,t)=>n=>{var r;if(t?.variants==null)return iL(e,n?.class,n?.className);const{variants:a,defaultVariants:s}=t,l=Object.keys(a).map(f=>{const m=n?.[f],p=s?.[f];if(m===null)return null;const g=aL(m)||aL(p);return a[f][g]}),u=n&&Object.entries(n).reduce((f,m)=>{let[p,g]=m;return g===void 0||(f[p]=g),f},{}),d=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((f,m)=>{let{class:p,className:g,...x}=m;return Object.entries(x).every(j=>{let[w,b]=j;return Array.isArray(b)?b.includes({...s,...u}[w]):{...s,...u}[w]===b})?[...f,p,g]:f},[]);return iL(e,l,d,n?.class,n?.className)},bh=Qu("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),oe=y.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...a},s)=>{const l=r?pQ:"button";return i.jsx(l,{className:ue(bh({variant:t,size:n,className:e})),ref:s,...a})});oe.displayName="Button";function lye(){const[e,t]=y.useState(null),[n,r]=y.useState(!0),[a,s]=y.useState(0),[l,u]=y.useState(24),[d,f]=y.useState(!0),[m,p]=y.useState(null),[g,x]=y.useState(!0),j=y.useCallback(async()=>{try{x(!0);const R=await xn.get("https://v1.hitokoto.cn/?c=a&c=b&c=c&c=d&c=h&c=i&c=k");p({hitokoto:R.data.hitokoto,from:R.data.from||R.data.from_who||"未知"})}catch(R){console.error("获取一言失败:",R),p({hitokoto:"人生就像一盒巧克力,你永远不知道下一颗是什么味道。",from:"阿甘正传"})}finally{x(!1)}},[]),w=y.useCallback(async()=>{try{const R=localStorage.getItem("access-token"),L=await xn.get(`/api/webui/statistics/dashboard?hours=${l}`,{headers:{Authorization:`Bearer ${R}`}});t(L.data),r(!1),s(100)}catch(R){console.error("Failed to fetch dashboard data:",R),r(!1),s(100)}},[l]);if(y.useEffect(()=>{if(!n)return;s(0);const R=setTimeout(()=>s(15),200),L=setTimeout(()=>s(30),800),D=setTimeout(()=>s(45),2e3),U=setTimeout(()=>s(60),4e3),V=setTimeout(()=>s(75),6500),H=setTimeout(()=>s(85),9e3),G=setTimeout(()=>s(92),11e3);return()=>{clearTimeout(R),clearTimeout(L),clearTimeout(D),clearTimeout(U),clearTimeout(V),clearTimeout(H),clearTimeout(G)}},[n]),y.useEffect(()=>{w(),j()},[w,j]),y.useEffect(()=>{if(!d)return;const R=setInterval(()=>{w()},3e4);return()=>clearInterval(R)},[d,w]),n||!e)return i.jsx("div",{className:"flex items-center justify-center h-[calc(100vh-200px)]",children:i.jsxs("div",{className:"text-center space-y-6 w-full max-w-md px-4",children:[i.jsx(os,{className:"h-12 w-12 animate-spin mx-auto text-primary"}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-lg font-medium",children:"加载统计数据中..."}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"正在获取麦麦运行数据"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Ih,{value:a,className:"h-2"}),i.jsxs("p",{className:"text-xs text-muted-foreground",children:[a,"%"]})]})]})});const{summary:b,model_stats:N,hourly_data:E,daily_data:O,recent_activity:A}=e,C=R=>{const L=Math.floor(R/3600),D=Math.floor(R%3600/60);return`${L}小时${D}分钟`},k=R=>new Date(R).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}),T=N.slice(0,6).map(R=>({name:R.model_name,value:R.request_count,fill:`hsl(var(--chart-${N.indexOf(R)%5+1}))`})),M={requests:{label:"请求数",color:"hsl(var(--chart-1))"},cost:{label:"花费(¥)",color:"hsl(var(--chart-2))"},tokens:{label:"Tokens",color:"hsl(var(--chart-3))"}};return i.jsx(Gt,{className:"h-full",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"实时监控面板"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"麦麦运行状态和统计数据一览"})]}),i.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[i.jsx(hl,{value:l.toString(),onValueChange:R=>u(Number(R)),children:i.jsxs(ao,{className:"grid grid-cols-3 w-full sm:w-auto",children:[i.jsx(Lt,{value:"24",children:"24小时"}),i.jsx(Lt,{value:"168",children:"7天"}),i.jsx(Lt,{value:"720",children:"30天"})]})}),i.jsxs(oe,{variant:d?"default":"outline",size:"sm",onClick:()=>f(!d),className:"gap-2",children:[i.jsx(os,{className:`h-4 w-4 ${d?"animate-spin":""}`}),i.jsx("span",{className:"hidden sm:inline",children:"自动刷新"})]}),i.jsx(oe,{variant:"outline",size:"sm",onClick:w,children:i.jsx(os,{className:"h-4 w-4"})})]})]}),i.jsxs("div",{className:"grid gap-4 grid-cols-1 xs:grid-cols-2 lg:grid-cols-4",children:[i.jsxs(Ke,{children:[i.jsxs(gt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(yt,{className:"text-sm font-medium",children:"总请求数"}),i.jsx(yve,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Pt,{children:[i.jsx("div",{className:"text-2xl font-bold",children:b.total_requests.toLocaleString()}),i.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["最近",l<48?l+"小时":Math.floor(l/24)+"天"]})]})]}),i.jsxs(Ke,{children:[i.jsxs(gt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(yt,{className:"text-sm font-medium",children:"总花费"}),i.jsx(Jve,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Pt,{children:[i.jsxs("div",{className:"text-2xl font-bold",children:["¥",b.total_cost.toFixed(2)]}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:b.cost_per_hour>0?`¥${b.cost_per_hour.toFixed(2)}/小时`:"暂无数据"})]})]}),i.jsxs(Ke,{children:[i.jsxs(gt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(yt,{className:"text-sm font-medium",children:"Token消耗"}),i.jsx(Zve,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Pt,{children:[i.jsxs("div",{className:"text-2xl font-bold",children:[(b.total_tokens/1e3).toFixed(1),"K"]}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:b.tokens_per_hour>0?`${(b.tokens_per_hour/1e3).toFixed(1)}K/小时`:"暂无数据"})]})]}),i.jsxs(Ke,{children:[i.jsxs(gt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(yt,{className:"text-sm font-medium",children:"平均响应"}),i.jsx(xh,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Pt,{children:[i.jsxs("div",{className:"text-2xl font-bold",children:[b.avg_response_time.toFixed(2),"s"]}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"API平均耗时"})]})]})]}),i.jsxs("div",{className:"grid gap-4 grid-cols-1 sm:grid-cols-3",children:[i.jsxs(Ke,{children:[i.jsxs(gt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(yt,{className:"text-sm font-medium",children:"在线时长"}),i.jsx(ul,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsx(Pt,{children:i.jsx("div",{className:"text-xl font-bold",children:C(b.online_time)})})]}),i.jsxs(Ke,{children:[i.jsxs(gt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(yt,{className:"text-sm font-medium",children:"消息处理"}),i.jsx(Xh,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Pt,{children:[i.jsx("div",{className:"text-xl font-bold",children:b.total_messages.toLocaleString()}),i.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["回复 ",b.total_replies.toLocaleString()," 条"]})]})]}),i.jsxs(Ke,{children:[i.jsxs(gt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(yt,{className:"text-sm font-medium",children:"成本效率"}),i.jsx(tye,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Pt,{children:[i.jsx("div",{className:"text-xl font-bold",children:b.total_messages>0?`¥${(b.total_cost/b.total_messages*100).toFixed(2)}`:"¥0.00"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"每100条消息"})]})]})]}),i.jsxs(hl,{defaultValue:"trends",className:"space-y-4",children:[i.jsxs(ao,{className:"grid w-full grid-cols-2 sm:grid-cols-4",children:[i.jsx(Lt,{value:"trends",children:"趋势"}),i.jsx(Lt,{value:"models",children:"模型"}),i.jsx(Lt,{value:"activity",children:"活动"}),i.jsx(Lt,{value:"daily",children:"日统计"})]}),i.jsxs(vn,{value:"trends",className:"space-y-4",children:[i.jsxs(Ke,{children:[i.jsxs(gt,{children:[i.jsx(yt,{children:"请求趋势"}),i.jsxs(Wn,{children:["最近",l,"小时的请求量变化"]})]}),i.jsx(Pt,{children:i.jsx($c,{config:M,className:"h-[300px] sm:h-[400px] w-full aspect-auto",children:i.jsxs(ove,{data:E,children:[i.jsx(yf,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),i.jsx(Qs,{dataKey:"timestamp",tickFormatter:R=>k(R),angle:-45,textAnchor:"end",height:60,stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(Zi,{stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(ff,{content:i.jsx(Ic,{labelFormatter:R=>k(R)})}),i.jsx(Gh,{type:"monotone",dataKey:"requests",stroke:"var(--color-requests)",strokeWidth:2})]})})})]}),i.jsxs("div",{className:"grid gap-4 grid-cols-1 lg:grid-cols-2",children:[i.jsxs(Ke,{children:[i.jsxs(gt,{children:[i.jsx(yt,{children:"花费趋势"}),i.jsx(Wn,{children:"API调用成本变化"})]}),i.jsx(Pt,{children:i.jsx($c,{config:M,className:"h-[250px] sm:h-[300px] w-full aspect-auto",children:i.jsxs(JS,{data:E,children:[i.jsx(yf,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),i.jsx(Qs,{dataKey:"timestamp",tickFormatter:R=>k(R),angle:-45,textAnchor:"end",height:60,stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(Zi,{stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(ff,{content:i.jsx(Ic,{labelFormatter:R=>k(R)})}),i.jsx(hi,{dataKey:"cost",fill:"var(--color-cost)"})]})})})]}),i.jsxs(Ke,{children:[i.jsxs(gt,{children:[i.jsx(yt,{children:"Token消耗"}),i.jsx(Wn,{children:"Token使用量变化"})]}),i.jsx(Pt,{children:i.jsx($c,{config:M,className:"h-[250px] sm:h-[300px] w-full aspect-auto",children:i.jsxs(JS,{data:E,children:[i.jsx(yf,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),i.jsx(Qs,{dataKey:"timestamp",tickFormatter:R=>k(R),angle:-45,textAnchor:"end",height:60,stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(Zi,{stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(ff,{content:i.jsx(Ic,{labelFormatter:R=>k(R)})}),i.jsx(hi,{dataKey:"tokens",fill:"var(--color-tokens)"})]})})})]})]})]}),i.jsx(vn,{value:"models",className:"space-y-4",children:i.jsxs("div",{className:"grid gap-4 grid-cols-1 lg:grid-cols-2",children:[i.jsxs(Ke,{children:[i.jsxs(gt,{children:[i.jsx(yt,{children:"模型请求分布"}),i.jsx(Wn,{children:"各模型使用占比"})]}),i.jsx(Pt,{children:i.jsx($c,{config:Object.fromEntries(N.slice(0,6).map((R,L)=>[R.model_name,{label:R.model_name,color:`hsl(var(--chart-${L%5+1}))`}])),className:"h-[300px] sm:h-[400px] w-full aspect-auto",children:i.jsxs(lve,{children:[i.jsx(ff,{content:i.jsx(Ic,{})}),i.jsx(gs,{data:T,cx:"50%",cy:"50%",labelLine:!1,label:({name:R,percent:L})=>`${R} ${L?(L*100).toFixed(0):0}%`,outerRadius:100,dataKey:"value",children:T.map((R,L)=>i.jsx(fy,{fill:R.fill},`cell-${L}`))})]})})})]}),i.jsxs(Ke,{children:[i.jsxs(gt,{children:[i.jsx(yt,{children:"模型详细统计"}),i.jsx(Wn,{children:"请求数、花费和性能"})]}),i.jsx(Pt,{children:i.jsx(Gt,{className:"h-[300px] sm:h-[400px]",children:i.jsx("div",{className:"space-y-3",children:N.map((R,L)=>i.jsxs("div",{className:"p-4 rounded-lg border bg-card hover:bg-accent/50 transition-colors",children:[i.jsxs("div",{className:"flex items-center justify-between mb-2",children:[i.jsx("h4",{className:"font-semibold text-sm truncate flex-1 min-w-0",children:R.model_name}),i.jsx("div",{className:"w-3 h-3 rounded-full ml-2 flex-shrink-0",style:{backgroundColor:`hsl(var(--chart-${L%5+1}))`}})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"请求数:"}),i.jsx("span",{className:"ml-1 font-medium",children:R.request_count.toLocaleString()})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"花费:"}),i.jsxs("span",{className:"ml-1 font-medium",children:["¥",R.total_cost.toFixed(2)]})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"Tokens:"}),i.jsxs("span",{className:"ml-1 font-medium",children:[(R.total_tokens/1e3).toFixed(1),"K"]})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"平均耗时:"}),i.jsxs("span",{className:"ml-1 font-medium",children:[R.avg_response_time.toFixed(2),"s"]})]})]})]},L))})})})]})]})}),i.jsx(vn,{value:"activity",children:i.jsxs(Ke,{children:[i.jsxs(gt,{children:[i.jsx(yt,{children:"最近活动"}),i.jsx(Wn,{children:"最新的API调用记录"})]}),i.jsx(Pt,{children:i.jsx(Gt,{className:"h-[400px] sm:h-[500px]",children:i.jsx("div",{className:"space-y-2",children:A.map((R,L)=>i.jsxs("div",{className:"p-3 sm:p-4 rounded-lg border bg-card hover:bg-accent/50 transition-colors",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-2 mb-2",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:"font-medium text-sm truncate",children:R.model}),i.jsx("div",{className:"text-xs text-muted-foreground",children:R.request_type})]}),i.jsx("div",{className:"text-xs text-muted-foreground flex-shrink-0",children:k(R.timestamp)})]}),i.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-2 text-xs",children:[i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"Tokens:"}),i.jsx("span",{className:"ml-1",children:R.tokens})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"花费:"}),i.jsxs("span",{className:"ml-1",children:["¥",R.cost.toFixed(4)]})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"耗时:"}),i.jsxs("span",{className:"ml-1",children:[R.time_cost.toFixed(2),"s"]})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"状态:"}),i.jsx("span",{className:`ml-1 ${R.status==="success"?"text-green-600":"text-red-600"}`,children:R.status})]})]})]},L))})})})]})}),i.jsx(vn,{value:"daily",children:i.jsxs(Ke,{children:[i.jsxs(gt,{children:[i.jsx(yt,{children:"每日统计"}),i.jsx(Wn,{children:"最近7天的数据汇总"})]}),i.jsx(Pt,{children:i.jsx($c,{config:{requests:{label:"请求数",color:"hsl(var(--chart-1))"},cost:{label:"花费(¥)",color:"hsl(var(--chart-2))"}},className:"h-[400px] sm:h-[500px] w-full aspect-auto",children:i.jsxs(JS,{data:O,children:[i.jsx(yf,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),i.jsx(Qs,{dataKey:"timestamp",tickFormatter:R=>{const L=new Date(R);return`${L.getMonth()+1}/${L.getDate()}`},stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(Zi,{yAxisId:"left",stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(Zi,{yAxisId:"right",orientation:"right",stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(ff,{content:i.jsx(Ic,{labelFormatter:R=>new Date(R).toLocaleDateString("zh-CN")})}),i.jsx(dve,{content:i.jsx(f8,{})}),i.jsx(hi,{yAxisId:"left",dataKey:"requests",fill:"var(--color-requests)"}),i.jsx(hi,{yAxisId:"right",dataKey:"cost",fill:"var(--color-cost)"})]})})})]})})]}),i.jsxs(Ke,{className:"border-2 border-primary/20",children:[i.jsx(gt,{className:"pb-3",children:i.jsx(yt,{className:"text-lg",children:"每日一言"})}),i.jsx(Pt,{children:g?i.jsxs("div",{className:"space-y-2",children:[i.jsx(ZM,{className:"h-6 w-3/4"}),i.jsx(ZM,{className:"h-4 w-1/4"})]}):m?i.jsxs("div",{className:"space-y-2",children:[i.jsxs("p",{className:"text-lg font-medium leading-relaxed italic",children:['"',m.hitokoto,'"']}),i.jsxs("p",{className:"text-sm text-muted-foreground text-right",children:["—— ",m.from]})]}):null})]})]})})}const cye={theme:"system",setTheme:()=>null},b8=y.createContext(cye),uE=()=>{const e=y.useContext(b8);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e},uye=(e,t,n)=>{const r=document.documentElement.classList.contains("no-animations");if(!document.startViewTransition||r){t(e);return}const a=n.clientX,s=n.clientY,l=Math.hypot(Math.max(a,innerWidth-a),Math.max(s,innerHeight-s));document.startViewTransition(()=>{t(e)}).ready.then(()=>{document.documentElement.animate({clipPath:[`circle(0px at ${a}px ${s}px)`,`circle(${l}px at ${a}px ${s}px)`]},{duration:500,easing:"ease-in-out",pseudoElement:"::view-transition-new(root)"})})},w8=y.createContext(void 0),j8=()=>{const e=y.useContext(w8);if(e===void 0)throw new Error("useAnimation must be used within an AnimationProvider");return e};function Iy(e){const t=y.useRef({value:e,previous:e});return y.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function Ly(e){const[t,n]=y.useState(void 0);return Yn(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(a=>{if(!Array.isArray(a)||!a.length)return;const s=a[0];let l,u;if("borderBoxSize"in s){const d=s.borderBoxSize,f=Array.isArray(d)?d[0]:d;l=f.inlineSize,u=f.blockSize}else l=e.offsetWidth,u=e.offsetHeight;n({width:l,height:u})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}var zy="Switch",[dye]=yr(zy),[fye,hye]=dye(zy),S8=y.forwardRef((e,t)=>{const{__scopeSwitch:n,name:r,checked:a,defaultChecked:s,required:l,disabled:u,value:d="on",onCheckedChange:f,form:m,...p}=e,[g,x]=y.useState(null),j=Ue(t,O=>x(O)),w=y.useRef(!1),b=g?m||!!g.closest("form"):!0,[N,E]=Ta({prop:a,defaultProp:s??!1,onChange:f,caller:zy});return i.jsxs(fye,{scope:n,checked:N,disabled:u,children:[i.jsx($e.button,{type:"button",role:"switch","aria-checked":N,"aria-required":l,"data-state":O8(N),"data-disabled":u?"":void 0,disabled:u,value:d,...p,ref:j,onClick:Ne(e.onClick,O=>{E(A=>!A),b&&(w.current=O.isPropagationStopped(),w.current||O.stopPropagation())})}),b&&i.jsx(C8,{control:g,bubbles:!w.current,name:r,value:d,checked:N,required:l,disabled:u,form:m,style:{transform:"translateX(-100%)"}})]})});S8.displayName=zy;var _8="SwitchThumb",N8=y.forwardRef((e,t)=>{const{__scopeSwitch:n,...r}=e,a=hye(_8,n);return i.jsx($e.span,{"data-state":O8(a.checked),"data-disabled":a.disabled?"":void 0,...r,ref:t})});N8.displayName=_8;var mye="SwitchBubbleInput",C8=y.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...a},s)=>{const l=y.useRef(null),u=Ue(l,s),d=Iy(n),f=Ly(t);return y.useEffect(()=>{const m=l.current;if(!m)return;const p=window.HTMLInputElement.prototype,x=Object.getOwnPropertyDescriptor(p,"checked").set;if(d!==n&&x){const j=new Event("click",{bubbles:r});x.call(m,n),m.dispatchEvent(j)}},[d,n,r]),i.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...a,tabIndex:-1,ref:u,style:{...a.style,...f,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});C8.displayName=mye;function O8(e){return e?"checked":"unchecked"}var E8=S8,pye=N8;const dt=y.forwardRef(({className:e,...t},n)=>i.jsx(E8,{className:ue("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:n,children:i.jsx(pye,{className:ue("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));dt.displayName=E8.displayName;var vye=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],gye=vye.reduce((e,t)=>{const n=$h(`Primitive.${t}`),r=y.forwardRef((a,s)=>{const{asChild:l,...u}=a,d=l?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(d,{...u,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),yye="Label",A8=y.forwardRef((e,t)=>i.jsx(gye.label,{...e,ref:t,onMouseDown:n=>{n.target.closest("button, input, select, textarea")||(e.onMouseDown?.(n),!n.defaultPrevented&&n.detail>1&&n.preventDefault())}}));A8.displayName=yye;var T8=A8;const xye=Qu("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),ne=y.forwardRef(({className:e,...t},n)=>i.jsx(T8,{ref:n,className:ue(xye(),e),...t}));ne.displayName=T8.displayName;const Ce=y.forwardRef(({className:e,type:t,...n},r)=>i.jsx("input",{type:t,className:ue("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:r,...n}));Ce.displayName="Input";const bye=1,wye=1e6;let e_=0;function jye(){return e_=(e_+1)%Number.MAX_SAFE_INTEGER,e_.toString()}const t_=new Map,sL=e=>{if(t_.has(e))return;const t=setTimeout(()=>{t_.delete(e),Rf({type:"REMOVE_TOAST",toastId:e})},wye);t_.set(e,t)},Sye=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,bye)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(n=>n.id===t.toast.id?{...n,...t.toast}:n)};case"DISMISS_TOAST":{const{toastId:n}=t;return n?sL(n):e.toasts.forEach(r=>{sL(r.id)}),{...e,toasts:e.toasts.map(r=>r.id===n||n===void 0?{...r,open:!1}:r)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(n=>n.id!==t.toastId)}}},fv=[];let hv={toasts:[]};function Rf(e){hv=Sye(hv,e),fv.forEach(t=>{t(hv)})}function _ye({...e}){const t=jye(),n=a=>Rf({type:"UPDATE_TOAST",toast:{...a,id:t}}),r=()=>Rf({type:"DISMISS_TOAST",toastId:t});return Rf({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:a=>{a||r()}}}),{id:t,dismiss:r,update:n}}function xr(){const[e,t]=y.useState(hv);return y.useEffect(()=>(fv.push(t),()=>{const n=fv.indexOf(t);n>-1&&fv.splice(n,1)}),[e]),{...e,toast:_ye,dismiss:n=>Rf({type:"DISMISS_TOAST",toastId:n})}}const Nye=[{id:"minLength",label:"长度至少 10 位",description:"Token 长度必须大于等于 10 个字符",validate:e=>e.length>=10},{id:"hasUppercase",label:"包含大写字母",description:"至少包含一个大写字母 (A-Z)",validate:e=>/[A-Z]/.test(e)},{id:"hasLowercase",label:"包含小写字母",description:"至少包含一个小写字母 (a-z)",validate:e=>/[a-z]/.test(e)},{id:"hasSpecialChar",label:"包含特殊符号",description:"至少包含一个特殊符号 (!@#$%^&*()_+-=[]{}|;:,.<>?/)",validate:e=>/[!@#$%^&*()_+\-=[\]{}|;:,.<>?/]/.test(e)}];function Cye(e){const t=Nye.map(r=>({id:r.id,label:r.label,description:r.description,passed:r.validate(e)}));return{isValid:t.every(r=>r.passed),rules:t}}const dE="0.11.5 Beta",fE="MaiBot Dashboard",Oye=`${fE} v${dE}`,Eye=(e="v")=>`${e}${dE}`;function Aye(e,t=globalThis?.document){const n=yn(e);y.useEffect(()=>{const r=a=>{a.key==="Escape"&&n(a)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var Tye="DismissableLayer",sC="dismissableLayer.update",kye="dismissableLayer.pointerDownOutside",Mye="dismissableLayer.focusOutside",oL,k8=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),kl=y.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:a,onFocusOutside:s,onInteractOutside:l,onDismiss:u,...d}=e,f=y.useContext(k8),[m,p]=y.useState(null),g=m?.ownerDocument??globalThis?.document,[,x]=y.useState({}),j=Ue(t,T=>p(T)),w=Array.from(f.layers),[b]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),N=w.indexOf(b),E=m?w.indexOf(m):-1,O=f.layersWithOutsidePointerEventsDisabled.size>0,A=E>=N,C=Rye(T=>{const M=T.target,R=[...f.branches].some(L=>L.contains(M));!A||R||(a?.(T),l?.(T),T.defaultPrevented||u?.())},g),k=Dye(T=>{const M=T.target;[...f.branches].some(L=>L.contains(M))||(s?.(T),l?.(T),T.defaultPrevented||u?.())},g);return Aye(T=>{E===f.layers.size-1&&(r?.(T),!T.defaultPrevented&&u&&(T.preventDefault(),u()))},g),y.useEffect(()=>{if(m)return n&&(f.layersWithOutsidePointerEventsDisabled.size===0&&(oL=g.body.style.pointerEvents,g.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(m)),f.layers.add(m),lL(),()=>{n&&f.layersWithOutsidePointerEventsDisabled.size===1&&(g.body.style.pointerEvents=oL)}},[m,g,n,f]),y.useEffect(()=>()=>{m&&(f.layers.delete(m),f.layersWithOutsidePointerEventsDisabled.delete(m),lL())},[m,f]),y.useEffect(()=>{const T=()=>x({});return document.addEventListener(sC,T),()=>document.removeEventListener(sC,T)},[]),i.jsx($e.div,{...d,ref:j,style:{pointerEvents:O?A?"auto":"none":void 0,...e.style},onFocusCapture:Ne(e.onFocusCapture,k.onFocusCapture),onBlurCapture:Ne(e.onBlurCapture,k.onBlurCapture),onPointerDownCapture:Ne(e.onPointerDownCapture,C.onPointerDownCapture)})});kl.displayName=Tye;var Pye="DismissableLayerBranch",M8=y.forwardRef((e,t)=>{const n=y.useContext(k8),r=y.useRef(null),a=Ue(t,r);return y.useEffect(()=>{const s=r.current;if(s)return n.branches.add(s),()=>{n.branches.delete(s)}},[n.branches]),i.jsx($e.div,{...e,ref:a})});M8.displayName=Pye;function Rye(e,t=globalThis?.document){const n=yn(e),r=y.useRef(!1),a=y.useRef(()=>{});return y.useEffect(()=>{const s=u=>{if(u.target&&!r.current){let d=function(){P8(kye,n,f,{discrete:!0})};const f={originalEvent:u};u.pointerType==="touch"?(t.removeEventListener("click",a.current),a.current=d,t.addEventListener("click",a.current,{once:!0})):d()}else t.removeEventListener("click",a.current);r.current=!1},l=window.setTimeout(()=>{t.addEventListener("pointerdown",s)},0);return()=>{window.clearTimeout(l),t.removeEventListener("pointerdown",s),t.removeEventListener("click",a.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function Dye(e,t=globalThis?.document){const n=yn(e),r=y.useRef(!1);return y.useEffect(()=>{const a=s=>{s.target&&!r.current&&P8(Mye,n,{originalEvent:s},{discrete:!1})};return t.addEventListener("focusin",a),()=>t.removeEventListener("focusin",a)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function lL(){const e=new CustomEvent(sC);document.dispatchEvent(e)}function P8(e,t,n,{discrete:r}){const a=n.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&a.addEventListener(e,t,{once:!0}),r?VC(a,s):a.dispatchEvent(s)}var $ye=kl,Iye=M8,n_="focusScope.autoFocusOnMount",r_="focusScope.autoFocusOnUnmount",cL={bubbles:!1,cancelable:!0},Lye="FocusScope",Qh=y.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:a,onUnmountAutoFocus:s,...l}=e,[u,d]=y.useState(null),f=yn(a),m=yn(s),p=y.useRef(null),g=Ue(t,w=>d(w)),x=y.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y.useEffect(()=>{if(r){let w=function(O){if(x.paused||!u)return;const A=O.target;u.contains(A)?p.current=A:Gs(p.current,{select:!0})},b=function(O){if(x.paused||!u)return;const A=O.relatedTarget;A!==null&&(u.contains(A)||Gs(p.current,{select:!0}))},N=function(O){if(document.activeElement===document.body)for(const C of O)C.removedNodes.length>0&&Gs(u)};document.addEventListener("focusin",w),document.addEventListener("focusout",b);const E=new MutationObserver(N);return u&&E.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",w),document.removeEventListener("focusout",b),E.disconnect()}}},[r,u,x.paused]),y.useEffect(()=>{if(u){dL.add(x);const w=document.activeElement;if(!u.contains(w)){const N=new CustomEvent(n_,cL);u.addEventListener(n_,f),u.dispatchEvent(N),N.defaultPrevented||(zye(Hye(R8(u)),{select:!0}),document.activeElement===w&&Gs(u))}return()=>{u.removeEventListener(n_,f),setTimeout(()=>{const N=new CustomEvent(r_,cL);u.addEventListener(r_,m),u.dispatchEvent(N),N.defaultPrevented||Gs(w??document.body,{select:!0}),u.removeEventListener(r_,m),dL.remove(x)},0)}}},[u,f,m,x]);const j=y.useCallback(w=>{if(!n&&!r||x.paused)return;const b=w.key==="Tab"&&!w.altKey&&!w.ctrlKey&&!w.metaKey,N=document.activeElement;if(b&&N){const E=w.currentTarget,[O,A]=Bye(E);O&&A?!w.shiftKey&&N===A?(w.preventDefault(),n&&Gs(O,{select:!0})):w.shiftKey&&N===O&&(w.preventDefault(),n&&Gs(A,{select:!0})):N===E&&w.preventDefault()}},[n,r,x.paused]);return i.jsx($e.div,{tabIndex:-1,...l,ref:g,onKeyDown:j})});Qh.displayName=Lye;function zye(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(Gs(r,{select:t}),document.activeElement!==n)return}function Bye(e){const t=R8(e),n=uL(t,e),r=uL(t.reverse(),e);return[n,r]}function R8(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const a=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||a?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function uL(e,t){for(const n of e)if(!qye(n,{upTo:t}))return n}function qye(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Fye(e){return e instanceof HTMLInputElement&&"select"in e}function Gs(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Fye(e)&&t&&e.select()}}var dL=Uye();function Uye(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=fL(e,t),e.unshift(t)},remove(t){e=fL(e,t),e[0]?.resume()}}}function fL(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Hye(e){return e.filter(t=>t.tagName!=="A")}var Wye="Portal",Ml=y.forwardRef((e,t)=>{const{container:n,...r}=e,[a,s]=y.useState(!1);Yn(()=>s(!0),[]);const l=n||a&&globalThis?.document?.body;return l?OY.createPortal(i.jsx($e.div,{...r,ref:t}),l):null});Ml.displayName=Wye;var a_=0;function By(){y.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??hL()),document.body.insertAdjacentElement("beforeend",e[1]??hL()),a_++,()=>{a_===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),a_--}},[])}function hL(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var li=function(){return li=Object.assign||function(t){for(var n,r=1,a=arguments.length;r"u")return lxe;var t=cxe(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},dxe=L8(),Zc="data-scroll-locked",fxe=function(e,t,n,r){var a=e.left,s=e.top,l=e.right,u=e.gap;return n===void 0&&(n="margin"),` - .`.concat(Gye,` { - overflow: hidden `).concat(r,`; - padding-right: `).concat(u,"px ").concat(r,`; - } - body[`).concat(Zc,`] { - overflow: hidden `).concat(r,`; - overscroll-behavior: contain; - `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` - padding-left: `.concat(a,`px; - padding-top: `).concat(s,`px; - padding-right: `).concat(l,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(u,"px ").concat(r,`; - `),n==="padding"&&"padding-right: ".concat(u,"px ").concat(r,";")].filter(Boolean).join(""),` - } - - .`).concat(mv,` { - right: `).concat(u,"px ").concat(r,`; - } - - .`).concat(pv,` { - margin-right: `).concat(u,"px ").concat(r,`; - } - - .`).concat(mv," .").concat(mv,` { - right: 0 `).concat(r,`; - } - - .`).concat(pv," .").concat(pv,` { - margin-right: 0 `).concat(r,`; - } - - body[`).concat(Zc,`] { - `).concat(Yye,": ").concat(u,`px; - } -`)},pL=function(){var e=parseInt(document.body.getAttribute(Zc)||"0",10);return isFinite(e)?e:0},hxe=function(){y.useEffect(function(){return document.body.setAttribute(Zc,(pL()+1).toString()),function(){var e=pL()-1;e<=0?document.body.removeAttribute(Zc):document.body.setAttribute(Zc,e.toString())}},[])},mxe=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,a=r===void 0?"margin":r;hxe();var s=y.useMemo(function(){return uxe(a)},[a]);return y.createElement(dxe,{styles:fxe(s,!t,a,n?"":"!important")})},oC=!1;if(typeof window<"u")try{var Kp=Object.defineProperty({},"passive",{get:function(){return oC=!0,!0}});window.addEventListener("test",Kp,Kp),window.removeEventListener("test",Kp,Kp)}catch{oC=!1}var Tc=oC?{passive:!1}:!1,pxe=function(e){return e.tagName==="TEXTAREA"},z8=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!pxe(e)&&n[t]==="visible")},vxe=function(e){return z8(e,"overflowY")},gxe=function(e){return z8(e,"overflowX")},vL=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var a=B8(e,r);if(a){var s=q8(e,r),l=s[1],u=s[2];if(l>u)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},yxe=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},xxe=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},B8=function(e,t){return e==="v"?vxe(t):gxe(t)},q8=function(e,t){return e==="v"?yxe(t):xxe(t)},bxe=function(e,t){return e==="h"&&t==="rtl"?-1:1},wxe=function(e,t,n,r,a){var s=bxe(e,window.getComputedStyle(t).direction),l=s*r,u=n.target,d=t.contains(u),f=!1,m=l>0,p=0,g=0;do{if(!u)break;var x=q8(e,u),j=x[0],w=x[1],b=x[2],N=w-b-s*j;(j||N)&&B8(e,u)&&(p+=N,g+=j);var E=u.parentNode;u=E&&E.nodeType===Node.DOCUMENT_FRAGMENT_NODE?E.host:E}while(!d&&u!==document.body||d&&(t.contains(u)||t===u));return(m&&Math.abs(p)<1||!m&&Math.abs(g)<1)&&(f=!0),f},Xp=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},gL=function(e){return[e.deltaX,e.deltaY]},yL=function(e){return e&&"current"in e?e.current:e},jxe=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Sxe=function(e){return` - .block-interactivity-`.concat(e,` {pointer-events: none;} - .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},_xe=0,kc=[];function Nxe(e){var t=y.useRef([]),n=y.useRef([0,0]),r=y.useRef(),a=y.useState(_xe++)[0],s=y.useState(L8)[0],l=y.useRef(e);y.useEffect(function(){l.current=e},[e]),y.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var w=Vye([e.lockRef.current],(e.shards||[]).map(yL),!0).filter(Boolean);return w.forEach(function(b){return b.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),w.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var u=y.useCallback(function(w,b){if("touches"in w&&w.touches.length===2||w.type==="wheel"&&w.ctrlKey)return!l.current.allowPinchZoom;var N=Xp(w),E=n.current,O="deltaX"in w?w.deltaX:E[0]-N[0],A="deltaY"in w?w.deltaY:E[1]-N[1],C,k=w.target,T=Math.abs(O)>Math.abs(A)?"h":"v";if("touches"in w&&T==="h"&&k.type==="range")return!1;var M=vL(T,k);if(!M)return!0;if(M?C=T:(C=T==="v"?"h":"v",M=vL(T,k)),!M)return!1;if(!r.current&&"changedTouches"in w&&(O||A)&&(r.current=C),!C)return!0;var R=r.current||C;return wxe(R,b,w,R==="h"?O:A)},[]),d=y.useCallback(function(w){var b=w;if(!(!kc.length||kc[kc.length-1]!==s)){var N="deltaY"in b?gL(b):Xp(b),E=t.current.filter(function(C){return C.name===b.type&&(C.target===b.target||b.target===C.shadowParent)&&jxe(C.delta,N)})[0];if(E&&E.should){b.cancelable&&b.preventDefault();return}if(!E){var O=(l.current.shards||[]).map(yL).filter(Boolean).filter(function(C){return C.contains(b.target)}),A=O.length>0?u(b,O[0]):!l.current.noIsolation;A&&b.cancelable&&b.preventDefault()}}},[]),f=y.useCallback(function(w,b,N,E){var O={name:w,delta:b,target:N,should:E,shadowParent:Cxe(N)};t.current.push(O),setTimeout(function(){t.current=t.current.filter(function(A){return A!==O})},1)},[]),m=y.useCallback(function(w){n.current=Xp(w),r.current=void 0},[]),p=y.useCallback(function(w){f(w.type,gL(w),w.target,u(w,e.lockRef.current))},[]),g=y.useCallback(function(w){f(w.type,Xp(w),w.target,u(w,e.lockRef.current))},[]);y.useEffect(function(){return kc.push(s),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:g}),document.addEventListener("wheel",d,Tc),document.addEventListener("touchmove",d,Tc),document.addEventListener("touchstart",m,Tc),function(){kc=kc.filter(function(w){return w!==s}),document.removeEventListener("wheel",d,Tc),document.removeEventListener("touchmove",d,Tc),document.removeEventListener("touchstart",m,Tc)}},[]);var x=e.removeScrollBar,j=e.inert;return y.createElement(y.Fragment,null,j?y.createElement(s,{styles:Sxe(a)}):null,x?y.createElement(mxe,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Cxe(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Oxe=txe(I8,Nxe);var Jh=y.forwardRef(function(e,t){return y.createElement(qy,li({},e,{ref:t,sideCar:Oxe}))});Jh.classNames=qy.classNames;var Exe=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Mc=new WeakMap,Zp=new WeakMap,Qp={},l_=0,F8=function(e){return e&&(e.host||F8(e.parentNode))},Axe=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=F8(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Txe=function(e,t,n,r){var a=Axe(t,Array.isArray(e)?e:[e]);Qp[n]||(Qp[n]=new WeakMap);var s=Qp[n],l=[],u=new Set,d=new Set(a),f=function(p){!p||u.has(p)||(u.add(p),f(p.parentNode))};a.forEach(f);var m=function(p){!p||d.has(p)||Array.prototype.forEach.call(p.children,function(g){if(u.has(g))m(g);else try{var x=g.getAttribute(r),j=x!==null&&x!=="false",w=(Mc.get(g)||0)+1,b=(s.get(g)||0)+1;Mc.set(g,w),s.set(g,b),l.push(g),w===1&&j&&Zp.set(g,!0),b===1&&g.setAttribute(n,"true"),j||g.setAttribute(r,"true")}catch(N){console.error("aria-hidden: cannot operate on ",g,N)}})};return m(t),u.clear(),l_++,function(){l.forEach(function(p){var g=Mc.get(p)-1,x=s.get(p)-1;Mc.set(p,g),s.set(p,x),g||(Zp.has(p)||p.removeAttribute(r),Zp.delete(p)),x||p.removeAttribute(n)}),l_--,l_||(Mc=new WeakMap,Mc=new WeakMap,Zp=new WeakMap,Qp={})}},Fy=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),a=Exe(e);return a?(r.push.apply(r,Array.from(a.querySelectorAll("[aria-live], script"))),Txe(r,a,n,"aria-hidden")):function(){return null}};function kxe(e){const t=Mxe(e),n=y.forwardRef((r,a)=>{const{children:s,...l}=r,u=y.Children.toArray(s),d=u.find(Rxe);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}function Mxe(e){const t=y.forwardRef((n,r)=>{const{children:a,...s}=n;if(y.isValidElement(a)){const l=$xe(a),u=Dxe(s,a.props);return a.type!==y.Fragment&&(u.ref=r?zr(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Pxe=Symbol("radix.slottable");function Rxe(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Pxe}function Dxe(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function $xe(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Uy="Dialog",[U8,H8]=yr(Uy),[Ixe,Ja]=U8(Uy),W8=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:a,onOpenChange:s,modal:l=!0}=e,u=y.useRef(null),d=y.useRef(null),[f,m]=Ta({prop:r,defaultProp:a??!1,onChange:s,caller:Uy});return i.jsx(Ixe,{scope:t,triggerRef:u,contentRef:d,contentId:Gn(),titleId:Gn(),descriptionId:Gn(),open:f,onOpenChange:m,onOpenToggle:y.useCallback(()=>m(p=>!p),[m]),modal:l,children:n})};W8.displayName=Uy;var V8="DialogTrigger",G8=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=Ja(V8,n),s=Ue(t,a.triggerRef);return i.jsx($e.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":pE(a.open),...r,ref:s,onClick:Ne(e.onClick,a.onOpenToggle)})});G8.displayName=V8;var hE="DialogPortal",[Lxe,Y8]=U8(hE,{forceMount:void 0}),K8=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:a}=e,s=Ja(hE,t);return i.jsx(Lxe,{scope:t,forceMount:n,children:y.Children.map(r,l=>i.jsx(zn,{present:n||s.open,children:i.jsx(Ml,{asChild:!0,container:a,children:l})}))})};K8.displayName=hE;var Pg="DialogOverlay",X8=y.forwardRef((e,t)=>{const n=Y8(Pg,e.__scopeDialog),{forceMount:r=n.forceMount,...a}=e,s=Ja(Pg,e.__scopeDialog);return s.modal?i.jsx(zn,{present:r||s.open,children:i.jsx(Bxe,{...a,ref:t})}):null});X8.displayName=Pg;var zxe=kxe("DialogOverlay.RemoveScroll"),Bxe=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=Ja(Pg,n);return i.jsx(Jh,{as:zxe,allowPinchZoom:!0,shards:[a.contentRef],children:i.jsx($e.div,{"data-state":pE(a.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),bl="DialogContent",Z8=y.forwardRef((e,t)=>{const n=Y8(bl,e.__scopeDialog),{forceMount:r=n.forceMount,...a}=e,s=Ja(bl,e.__scopeDialog);return i.jsx(zn,{present:r||s.open,children:s.modal?i.jsx(qxe,{...a,ref:t}):i.jsx(Fxe,{...a,ref:t})})});Z8.displayName=bl;var qxe=y.forwardRef((e,t)=>{const n=Ja(bl,e.__scopeDialog),r=y.useRef(null),a=Ue(t,n.contentRef,r);return y.useEffect(()=>{const s=r.current;if(s)return Fy(s)},[]),i.jsx(Q8,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Ne(e.onCloseAutoFocus,s=>{s.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:Ne(e.onPointerDownOutside,s=>{const l=s.detail.originalEvent,u=l.button===0&&l.ctrlKey===!0;(l.button===2||u)&&s.preventDefault()}),onFocusOutside:Ne(e.onFocusOutside,s=>s.preventDefault())})}),Fxe=y.forwardRef((e,t)=>{const n=Ja(bl,e.__scopeDialog),r=y.useRef(!1),a=y.useRef(!1);return i.jsx(Q8,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{e.onCloseAutoFocus?.(s),s.defaultPrevented||(r.current||n.triggerRef.current?.focus(),s.preventDefault()),r.current=!1,a.current=!1},onInteractOutside:s=>{e.onInteractOutside?.(s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const l=s.target;n.triggerRef.current?.contains(l)&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&a.current&&s.preventDefault()}})}),Q8=y.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:s,...l}=e,u=Ja(bl,n),d=y.useRef(null),f=Ue(t,d);return By(),i.jsxs(i.Fragment,{children:[i.jsx(Qh,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:s,children:i.jsx(kl,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":pE(u.open),...l,ref:f,onDismiss:()=>u.onOpenChange(!1)})}),i.jsxs(i.Fragment,{children:[i.jsx(Hxe,{titleId:u.titleId}),i.jsx(Vxe,{contentRef:d,descriptionId:u.descriptionId})]})]})}),mE="DialogTitle",J8=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=Ja(mE,n);return i.jsx($e.h2,{id:a.titleId,...r,ref:t})});J8.displayName=mE;var eF="DialogDescription",tF=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=Ja(eF,n);return i.jsx($e.p,{id:a.descriptionId,...r,ref:t})});tF.displayName=eF;var nF="DialogClose",rF=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=Ja(nF,n);return i.jsx($e.button,{type:"button",...r,ref:t,onClick:Ne(e.onClick,()=>a.onOpenChange(!1))})});rF.displayName=nF;function pE(e){return e?"open":"closed"}var aF="DialogTitleWarning",[Uxe,iF]=vZ(aF,{contentName:bl,titleName:mE,docsSlug:"dialog"}),Hxe=({titleId:e})=>{const t=iF(aF),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users. - -If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component. - -For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return y.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},Wxe="DialogDescriptionWarning",Vxe=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${iF(Wxe).contentName}}.`;return y.useEffect(()=>{const a=e.current?.getAttribute("aria-describedby");t&&a&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},vE=W8,sF=G8,gE=K8,Hy=X8,Wy=Z8,yE=J8,xE=tF,bE=rF;const sr=vE,oF=sF,Gxe=gE,lF=y.forwardRef(({className:e,...t},n)=>i.jsx(Hy,{ref:n,className:ue("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));lF.displayName=Hy.displayName;const Kn=y.forwardRef(({className:e,children:t,...n},r)=>i.jsxs(Gxe,{children:[i.jsx(lF,{}),i.jsxs(Wy,{ref:r,className:ue("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...n,children:[t,i.jsxs(bE,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[i.jsx(Zh,{className:"h-4 w-4"}),i.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Kn.displayName=Wy.displayName;const Xn=({className:e,...t})=>i.jsx("div",{className:ue("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});Xn.displayName="DialogHeader";const qr=({className:e,...t})=>i.jsx("div",{className:ue("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});qr.displayName="DialogFooter";const Zn=y.forwardRef(({className:e,...t},n)=>i.jsx(yE,{ref:n,className:ue("text-lg font-semibold leading-none tracking-tight",e),...t}));Zn.displayName=yE.displayName;const gr=y.forwardRef(({className:e,...t},n)=>i.jsx(xE,{ref:n,className:ue("text-sm text-muted-foreground",e),...t}));gr.displayName=xE.displayName;var Yxe=Symbol("radix.slottable");function Kxe(e){const t=({children:n})=>i.jsx(i.Fragment,{children:n});return t.displayName=`${e}.Slottable`,t.__radixId=Yxe,t}var cF="AlertDialog",[Xxe]=yr(cF,[H8]),ys=H8(),uF=e=>{const{__scopeAlertDialog:t,...n}=e,r=ys(t);return i.jsx(vE,{...r,...n,modal:!0})};uF.displayName=cF;var Zxe="AlertDialogTrigger",dF=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=ys(n);return i.jsx(sF,{...a,...r,ref:t})});dF.displayName=Zxe;var Qxe="AlertDialogPortal",fF=e=>{const{__scopeAlertDialog:t,...n}=e,r=ys(t);return i.jsx(gE,{...r,...n})};fF.displayName=Qxe;var Jxe="AlertDialogOverlay",hF=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=ys(n);return i.jsx(Hy,{...a,...r,ref:t})});hF.displayName=Jxe;var Qc="AlertDialogContent",[ebe,tbe]=Xxe(Qc),nbe=Kxe("AlertDialogContent"),mF=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,children:r,...a}=e,s=ys(n),l=y.useRef(null),u=Ue(t,l),d=y.useRef(null);return i.jsx(Uxe,{contentName:Qc,titleName:pF,docsSlug:"alert-dialog",children:i.jsx(ebe,{scope:n,cancelRef:d,children:i.jsxs(Wy,{role:"alertdialog",...s,...a,ref:u,onOpenAutoFocus:Ne(a.onOpenAutoFocus,f=>{f.preventDefault(),d.current?.focus({preventScroll:!0})}),onPointerDownOutside:f=>f.preventDefault(),onInteractOutside:f=>f.preventDefault(),children:[i.jsx(nbe,{children:r}),i.jsx(abe,{contentRef:l})]})})})});mF.displayName=Qc;var pF="AlertDialogTitle",vF=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=ys(n);return i.jsx(yE,{...a,...r,ref:t})});vF.displayName=pF;var gF="AlertDialogDescription",yF=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=ys(n);return i.jsx(xE,{...a,...r,ref:t})});yF.displayName=gF;var rbe="AlertDialogAction",xF=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=ys(n);return i.jsx(bE,{...a,...r,ref:t})});xF.displayName=rbe;var bF="AlertDialogCancel",wF=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,{cancelRef:a}=tbe(bF,n),s=ys(n),l=Ue(t,a);return i.jsx(bE,{...s,...r,ref:l})});wF.displayName=bF;var abe=({contentRef:e})=>{const t=`\`${Qc}\` requires a description for the component to be accessible for screen reader users. - -You can add a description to the \`${Qc}\` by passing a \`${gF}\` component as a child, which also benefits sighted users by adding visible context to the dialog. - -Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${Qc}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component. - -For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return y.useEffect(()=>{document.getElementById(e.current?.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null},ibe=uF,sbe=dF,obe=fF,jF=hF,SF=mF,_F=xF,NF=wF,CF=vF,OF=yF;const dn=ibe,mr=sbe,lbe=obe,EF=y.forwardRef(({className:e,...t},n)=>i.jsx(jF,{className:ue("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:n}));EF.displayName=jF.displayName;const en=y.forwardRef(({className:e,...t},n)=>i.jsxs(lbe,{children:[i.jsx(EF,{}),i.jsx(SF,{ref:n,className:ue("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...t})]}));en.displayName=SF.displayName;const tn=({className:e,...t})=>i.jsx("div",{className:ue("flex flex-col space-y-2 text-center sm:text-left",e),...t});tn.displayName="AlertDialogHeader";const nn=({className:e,...t})=>i.jsx("div",{className:ue("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});nn.displayName="AlertDialogFooter";const rn=y.forwardRef(({className:e,...t},n)=>i.jsx(CF,{ref:n,className:ue("text-lg font-semibold",e),...t}));rn.displayName=CF.displayName;const an=y.forwardRef(({className:e,...t},n)=>i.jsx(OF,{ref:n,className:ue("text-sm text-muted-foreground",e),...t}));an.displayName=OF.displayName;const sn=y.forwardRef(({className:e,...t},n)=>i.jsx(_F,{ref:n,className:ue(bh(),e),...t}));sn.displayName=_F.displayName;const on=y.forwardRef(({className:e,...t},n)=>i.jsx(NF,{ref:n,className:ue(bh({variant:"outline"}),"mt-2 sm:mt-0",e),...t}));on.displayName=NF.displayName;function cbe(){return i.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[i.jsx("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"系统设置"}),i.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理您的应用偏好设置"})]})}),i.jsxs(hl,{defaultValue:"appearance",className:"w-full",children:[i.jsxs(ao,{className:"grid w-full grid-cols-2 sm:grid-cols-4 gap-0.5 sm:gap-1 h-auto p-1",children:[i.jsxs(Lt,{value:"appearance",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[i.jsx(g8,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),i.jsx("span",{children:"外观"})]}),i.jsxs(Lt,{value:"security",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[i.jsx(Bge,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),i.jsx("span",{children:"安全"})]}),i.jsxs(Lt,{value:"other",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[i.jsx(Ha,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),i.jsx("span",{children:"其他"})]}),i.jsxs(Lt,{value:"about",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[i.jsx(Pu,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),i.jsx("span",{children:"关于"})]})]}),i.jsxs(Gt,{className:"h-[calc(100vh-240px)] sm:h-[calc(100vh-280px)] mt-4 sm:mt-6",children:[i.jsx(vn,{value:"appearance",className:"mt-0",children:i.jsx(ube,{})}),i.jsx(vn,{value:"security",className:"mt-0",children:i.jsx(dbe,{})}),i.jsx(vn,{value:"other",className:"mt-0",children:i.jsx(fbe,{})}),i.jsx(vn,{value:"about",className:"mt-0",children:i.jsx(hbe,{})})]})]})]})}function xL(e){const t=document.documentElement,r={blue:{hsl:"221.2 83.2% 53.3%",darkHsl:"217.2 91.2% 59.8%",gradient:null},purple:{hsl:"271 91% 65%",darkHsl:"270 95% 75%",gradient:null},green:{hsl:"142 71% 45%",darkHsl:"142 76% 36%",gradient:null},orange:{hsl:"25 95% 53%",darkHsl:"20 90% 48%",gradient:null},pink:{hsl:"330 81% 60%",darkHsl:"330 85% 70%",gradient:null},red:{hsl:"0 84% 60%",darkHsl:"0 90% 70%",gradient:null},"gradient-sunset":{hsl:"15 95% 60%",darkHsl:"15 95% 65%",gradient:"linear-gradient(135deg, hsl(25 95% 53%) 0%, hsl(330 81% 60%) 100%)"},"gradient-ocean":{hsl:"200 90% 55%",darkHsl:"200 90% 60%",gradient:"linear-gradient(135deg, hsl(221.2 83.2% 53.3%) 0%, hsl(189 94% 43%) 100%)"},"gradient-forest":{hsl:"150 70% 45%",darkHsl:"150 75% 40%",gradient:"linear-gradient(135deg, hsl(142 71% 45%) 0%, hsl(158 64% 52%) 100%)"},"gradient-aurora":{hsl:"310 85% 65%",darkHsl:"310 90% 70%",gradient:"linear-gradient(135deg, hsl(271 91% 65%) 0%, hsl(330 81% 60%) 100%)"},"gradient-fire":{hsl:"15 95% 55%",darkHsl:"15 95% 60%",gradient:"linear-gradient(135deg, hsl(0 84% 60%) 0%, hsl(25 95% 53%) 100%)"},"gradient-twilight":{hsl:"250 90% 60%",darkHsl:"250 95% 65%",gradient:"linear-gradient(135deg, hsl(239 84% 67%) 0%, hsl(271 91% 65%) 100%)"}}[e];if(r)t.style.setProperty("--primary",r.hsl),r.gradient?(t.style.setProperty("--primary-gradient",r.gradient),t.classList.add("has-gradient")):(t.style.removeProperty("--primary-gradient"),t.classList.remove("has-gradient"));else if(e.startsWith("#")){const a=s=>{s=s.replace("#","");const l=parseInt(s.substring(0,2),16)/255,u=parseInt(s.substring(2,4),16)/255,d=parseInt(s.substring(4,6),16)/255,f=Math.max(l,u,d),m=Math.min(l,u,d);let p=0,g=0;const x=(f+m)/2;if(f!==m){const j=f-m;switch(g=x>.5?j/(2-f-m):j/(f+m),f){case l:p=((u-d)/j+(ulocalStorage.getItem("accent-color")||"blue");y.useEffect(()=>{const f=localStorage.getItem("accent-color")||"blue";xL(f)},[]);const d=f=>{u(f),localStorage.setItem("accent-color",f),xL(f)};return i.jsxs("div",{className:"space-y-6 sm:space-y-8",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"主题模式"}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3 sm:gap-4",children:[i.jsx(c_,{value:"light",current:e,onChange:t,label:"浅色",description:"始终使用浅色主题"}),i.jsx(c_,{value:"dark",current:e,onChange:t,label:"深色",description:"始终使用深色主题"}),i.jsx(c_,{value:"system",current:e,onChange:t,label:"跟随系统",description:"根据系统设置自动切换"})]})]}),i.jsxs("div",{children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"主题色"}),i.jsxs("div",{className:"space-y-3 sm:space-y-4",children:[i.jsxs("div",{children:[i.jsx("h4",{className:"text-xs sm:text-sm font-medium mb-2 sm:mb-3",children:"单色"}),i.jsxs("div",{className:"grid grid-cols-3 sm:grid-cols-6 gap-2 sm:gap-3",children:[i.jsx(Na,{value:"blue",current:l,onChange:d,label:"蓝色",colorClass:"bg-blue-500"}),i.jsx(Na,{value:"purple",current:l,onChange:d,label:"紫色",colorClass:"bg-purple-500"}),i.jsx(Na,{value:"green",current:l,onChange:d,label:"绿色",colorClass:"bg-green-500"}),i.jsx(Na,{value:"orange",current:l,onChange:d,label:"橙色",colorClass:"bg-orange-500"}),i.jsx(Na,{value:"pink",current:l,onChange:d,label:"粉色",colorClass:"bg-pink-500"}),i.jsx(Na,{value:"red",current:l,onChange:d,label:"红色",colorClass:"bg-red-500"})]})]}),i.jsxs("div",{children:[i.jsx("h4",{className:"text-xs sm:text-sm font-medium mb-2 sm:mb-3",children:"渐变色"}),i.jsxs("div",{className:"grid grid-cols-3 sm:grid-cols-6 gap-2 sm:gap-3",children:[i.jsx(Na,{value:"gradient-sunset",current:l,onChange:d,label:"日落",colorClass:"bg-gradient-to-r from-orange-500 to-pink-500"}),i.jsx(Na,{value:"gradient-ocean",current:l,onChange:d,label:"海洋",colorClass:"bg-gradient-to-r from-blue-500 to-cyan-500"}),i.jsx(Na,{value:"gradient-forest",current:l,onChange:d,label:"森林",colorClass:"bg-gradient-to-r from-green-500 to-emerald-500"}),i.jsx(Na,{value:"gradient-aurora",current:l,onChange:d,label:"极光",colorClass:"bg-gradient-to-r from-purple-500 to-pink-500"}),i.jsx(Na,{value:"gradient-fire",current:l,onChange:d,label:"烈焰",colorClass:"bg-gradient-to-r from-red-500 to-orange-500"}),i.jsx(Na,{value:"gradient-twilight",current:l,onChange:d,label:"暮光",colorClass:"bg-gradient-to-r from-indigo-500 to-purple-500"})]})]}),i.jsxs("div",{children:[i.jsx("h4",{className:"text-xs sm:text-sm font-medium mb-2 sm:mb-3",children:"自定义颜色"}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 sm:gap-4",children:[i.jsx("div",{className:"flex-1",children:i.jsx("input",{type:"color",value:l.startsWith("#")?l:"#3b82f6",onChange:f=>d(f.target.value),className:"h-10 sm:h-12 w-full rounded-lg border-2 border-border cursor-pointer",title:"选择自定义颜色"})}),i.jsx("div",{className:"flex-1",children:i.jsx(Ce,{type:"text",value:l,onChange:f=>d(f.target.value),placeholder:"#3b82f6",className:"font-mono text-sm"})})]}),i.jsx("p",{className:"text-[10px] sm:text-xs text-muted-foreground mt-2",children:"点击色块选择颜色,或手动输入 HEX 颜色代码"})]})]})]}),i.jsxs("div",{children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"动画效果"}),i.jsxs("div",{className:"space-y-2 sm:space-y-3",children:[i.jsx("div",{className:"rounded-lg border bg-card p-3 sm:p-4",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5 flex-1",children:[i.jsx(ne,{htmlFor:"animations",className:"text-base font-medium cursor-pointer",children:"启用动画效果"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"关闭后将禁用所有过渡动画和特效,提升性能"})]}),i.jsx(dt,{id:"animations",checked:n,onCheckedChange:r})]})}),i.jsx("div",{className:"rounded-lg border bg-card p-4",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5 flex-1",children:[i.jsx(ne,{htmlFor:"waves-background",className:"text-base font-medium cursor-pointer",children:"登录页波浪背景"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"关闭后登录页将使用纯色背景,适合低性能设备"})]}),i.jsx(dt,{id:"waves-background",checked:a,onCheckedChange:s})]})})]})]})]})}function dbe(){const e=ua(),[t,n]=y.useState(""),[r,a]=y.useState(""),[s,l]=y.useState(!1),[u,d]=y.useState(!1),[f,m]=y.useState(!1),[p,g]=y.useState(!1),[x,j]=y.useState(!1),[w,b]=y.useState(!1),[N,E]=y.useState(""),[O,A]=y.useState(!1),{toast:C}=xr(),k=y.useMemo(()=>Cye(r),[r]),T=()=>localStorage.getItem("access-token")||"",M=async H=>{try{await navigator.clipboard.writeText(H),j(!0),C({title:"复制成功",description:"Token 已复制到剪贴板"}),setTimeout(()=>j(!1),2e3)}catch{C({title:"复制失败",description:"请手动复制 Token",variant:"destructive"})}},R=async()=>{if(!r.trim()){C({title:"输入错误",description:"请输入新的 Token",variant:"destructive"});return}if(!k.isValid){const H=k.rules.filter(G=>!G.passed).map(G=>G.label).join(", ");C({title:"格式错误",description:`Token 不符合要求: ${H}`,variant:"destructive"});return}m(!0);try{const H=T(),G=await fetch("/api/webui/auth/update",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${H}`},body:JSON.stringify({new_token:r.trim()})}),$=await G.json();G.ok&&$.success?(localStorage.setItem("access-token",r.trim()),a(""),t&&n(r.trim()),C({title:"更新成功",description:"Access Token 已更新,即将跳转到登录页"}),setTimeout(()=>{localStorage.removeItem("access-token"),e({to:"/auth"})},1500)):C({title:"更新失败",description:$.message||"无法更新 Token",variant:"destructive"})}catch(H){console.error("更新 Token 错误:",H),C({title:"更新失败",description:"连接服务器失败",variant:"destructive"})}finally{m(!1)}},L=async()=>{g(!0);try{const H=T(),G=await fetch("/api/webui/auth/regenerate",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${H}`}}),$=await G.json();G.ok&&$.success?(localStorage.setItem("access-token",$.token),n($.token),E($.token),b(!0),A(!1),C({title:"生成成功",description:"新的 Access Token 已生成,请及时保存"})):C({title:"生成失败",description:$.message||"无法生成新 Token",variant:"destructive"})}catch(H){console.error("生成 Token 错误:",H),C({title:"生成失败",description:"连接服务器失败",variant:"destructive"})}finally{g(!1)}},D=async()=>{try{await navigator.clipboard.writeText(N),A(!0),C({title:"复制成功",description:"Token 已复制到剪贴板"})}catch{C({title:"复制失败",description:"请手动复制 Token",variant:"destructive"})}},U=()=>{b(!1),setTimeout(()=>{E(""),A(!1)},300),setTimeout(()=>{localStorage.removeItem("access-token"),e({to:"/auth"})},500)},V=H=>{H||U()};return i.jsxs("div",{className:"space-y-4 sm:space-y-6",children:[i.jsx(sr,{open:w,onOpenChange:V,children:i.jsxs(Kn,{className:"sm:max-w-md",children:[i.jsxs(Xn,{children:[i.jsxs(Zn,{className:"flex items-center gap-2",children:[i.jsx(Xc,{className:"h-5 w-5 text-yellow-500"}),"新的 Access Token"]}),i.jsx(gr,{children:"这是您的新 Token,请立即保存。关闭此窗口后将跳转到登录页面。"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"rounded-lg border-2 border-primary/20 bg-primary/5 p-4",children:[i.jsx(ne,{className:"text-xs text-muted-foreground mb-2 block",children:"您的新 Token (64位安全令牌)"}),i.jsx("div",{className:"font-mono text-sm break-all select-all bg-background p-3 rounded border",children:N})]}),i.jsx("div",{className:"rounded-lg border border-yellow-200 dark:border-yellow-900 bg-yellow-50 dark:bg-yellow-950/30 p-3",children:i.jsxs("div",{className:"flex gap-2",children:[i.jsx(Xc,{className:"h-4 w-4 text-yellow-600 dark:text-yellow-500 flex-shrink-0 mt-0.5"}),i.jsxs("div",{className:"text-sm text-yellow-800 dark:text-yellow-300 space-y-1",children:[i.jsx("p",{className:"font-semibold",children:"重要提示"}),i.jsxs("ul",{className:"list-disc list-inside space-y-0.5 text-xs",children:[i.jsx("li",{children:"此 Token 仅显示一次,关闭后无法再查看"}),i.jsx("li",{children:"请立即复制并保存到安全的位置"}),i.jsx("li",{children:"关闭窗口后将自动跳转到登录页面"}),i.jsx("li",{children:"请使用新 Token 重新登录系统"})]})]})]})})]}),i.jsxs(qr,{className:"gap-2 sm:gap-0",children:[i.jsx(oe,{variant:"outline",onClick:D,className:"gap-2",children:O?i.jsxs(i.Fragment,{children:[i.jsx(cl,{className:"h-4 w-4 text-green-500"}),"已复制"]}):i.jsxs(i.Fragment,{children:[i.jsx(eC,{className:"h-4 w-4"}),"复制 Token"]})}),i.jsx(oe,{onClick:U,children:"我已保存,关闭"})]})]})}),i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"当前 Access Token"}),i.jsx("div",{className:"space-y-3 sm:space-y-4",children:i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"current-token",className:"text-sm",children:"您的访问令牌"}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[i.jsxs("div",{className:"relative flex-1",children:[i.jsx(Ce,{id:"current-token",type:s?"text":"password",value:t||T(),readOnly:!0,className:"pr-10 font-mono text-sm",placeholder:"点击查看按钮显示 Token"}),i.jsx("button",{onClick:()=>{t||n(T()),l(!s)},className:"absolute right-2 top-1/2 -translate-y-1/2 p-1.5 hover:bg-accent rounded",title:s?"隐藏":"显示",children:s?i.jsx(nC,{className:"h-4 w-4 text-muted-foreground"}):i.jsx(Ya,{className:"h-4 w-4 text-muted-foreground"})})]}),i.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[i.jsx(oe,{variant:"outline",size:"icon",onClick:()=>M(T()),title:"复制到剪贴板",className:"flex-shrink-0",children:x?i.jsx(cl,{className:"h-4 w-4 text-green-500"}):i.jsx(eC,{className:"h-4 w-4"})}),i.jsxs(dn,{children:[i.jsx(mr,{asChild:!0,children:i.jsxs(oe,{variant:"outline",disabled:p,className:"gap-2 flex-1 sm:flex-none",children:[i.jsx(os,{className:ue("h-4 w-4",p&&"animate-spin")}),i.jsx("span",{className:"hidden sm:inline",children:"重新生成"}),i.jsx("span",{className:"sm:hidden",children:"生成"})]})}),i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认重新生成 Token"}),i.jsx(an,{children:"这将生成一个新的 64 位安全令牌,并使当前 Token 立即失效。 您需要使用新 Token 重新登录系统。此操作不可撤销,确定要继续吗?"})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:L,children:"确认生成"})]})]})]})]})]}),i.jsx("p",{className:"text-[10px] sm:text-xs text-muted-foreground",children:"请妥善保管您的 Access Token,不要泄露给他人"})]})})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"自定义 Access Token"}),i.jsxs("div",{className:"space-y-3 sm:space-y-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"new-token",className:"text-sm",children:"新的访问令牌"}),i.jsxs("div",{className:"relative",children:[i.jsx(Ce,{id:"new-token",type:u?"text":"password",value:r,onChange:H=>a(H.target.value),className:"pr-10 font-mono text-sm",placeholder:"输入自定义 Token"}),i.jsx("button",{onClick:()=>d(!u),className:"absolute right-2 top-1/2 -translate-y-1/2 p-1.5 hover:bg-accent rounded",title:u?"隐藏":"显示",children:u?i.jsx(nC,{className:"h-4 w-4 text-muted-foreground"}):i.jsx(Ya,{className:"h-4 w-4 text-muted-foreground"})})]}),r&&i.jsxs("div",{className:"mt-3 space-y-2 p-3 rounded-lg bg-muted/50",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"Token 安全要求:"}),i.jsx("div",{className:"space-y-1.5",children:k.rules.map(H=>i.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[H.passed?i.jsx(Dr,{className:"h-4 w-4 text-green-500 flex-shrink-0"}):i.jsx(JN,{className:"h-4 w-4 text-muted-foreground flex-shrink-0"}),i.jsx("span",{className:ue(H.passed?"text-green-600 dark:text-green-400":"text-muted-foreground"),children:H.label})]},H.id))}),k.isValid&&i.jsx("div",{className:"mt-2 pt-2 border-t border-border",children:i.jsxs("div",{className:"flex items-center gap-2 text-sm text-green-600 dark:text-green-400",children:[i.jsx(cl,{className:"h-4 w-4"}),i.jsx("span",{className:"font-medium",children:"Token 格式正确,可以使用"})]})})]})]}),i.jsx(oe,{onClick:R,disabled:f||!k.isValid||!r,className:"w-full sm:w-auto",children:f?"更新中...":"更新自定义 Token"})]})]}),i.jsxs("div",{className:"rounded-lg border border-yellow-200 dark:border-yellow-900 bg-yellow-50 dark:bg-yellow-950/30 p-3 sm:p-4",children:[i.jsx("h4",{className:"text-sm sm:text-base font-semibold text-yellow-900 dark:text-yellow-200 mb-2",children:"安全提示"}),i.jsxs("ul",{className:"text-xs sm:text-sm text-yellow-800 dark:text-yellow-300 space-y-1 list-disc list-inside",children:[i.jsx("li",{children:"重新生成 Token 会创建系统随机生成的 64 位安全令牌"}),i.jsx("li",{children:"自定义 Token 必须满足所有安全要求才能使用"}),i.jsx("li",{children:"更新 Token 后,旧的 Token 将立即失效"}),i.jsx("li",{children:"请在安全的环境下查看和复制 Token"}),i.jsx("li",{children:"如果怀疑 Token 泄露,请立即重新生成或更新"}),i.jsx("li",{children:"建议使用系统生成的 Token 以获得最高安全性"})]})]})]})}function fbe(){const e=ua(),{toast:t}=xr(),[n,r]=y.useState(!1),a=async()=>{r(!0);try{const s=localStorage.getItem("access-token"),l=await fetch("/api/webui/setup/reset",{method:"POST",headers:{Authorization:`Bearer ${s}`}}),u=await l.json();l.ok&&u.success?(t({title:"重置成功",description:"即将进入初次配置向导"}),setTimeout(()=>{e({to:"/setup"})},1e3)):t({title:"重置失败",description:u.message||"无法重置配置状态",variant:"destructive"})}catch(s){console.error("重置配置状态错误:",s),t({title:"重置失败",description:"连接服务器失败",variant:"destructive"})}finally{r(!1)}};return i.jsx("div",{className:"space-y-4 sm:space-y-6",children:i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"配置向导"}),i.jsxs("div",{className:"space-y-3 sm:space-y-4",children:[i.jsx("div",{className:"space-y-2",children:i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"重新进行初次配置向导,可以帮助您重新设置系统的基础配置。"})}),i.jsxs(dn,{children:[i.jsx(mr,{asChild:!0,children:i.jsxs(oe,{variant:"outline",disabled:n,className:"gap-2",children:[i.jsx(Tge,{className:ue("h-4 w-4",n&&"animate-spin")}),"重新进行初次配置"]})}),i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认重新配置"}),i.jsx(an,{children:"这将带您重新进入初次配置向导。您可以重新设置系统的基础配置项。确定要继续吗?"})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:a,children:"确认重置"})]})]})]})]})]})})}function hbe(){return i.jsxs("div",{className:"space-y-4 sm:space-y-6",children:[i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsxs("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:["关于 ",fE]}),i.jsxs("div",{className:"space-y-2 text-xs sm:text-sm text-muted-foreground",children:[i.jsxs("p",{children:["版本: ",dE]}),i.jsx("p",{children:"麦麦(MaiBot)的现代化 Web 管理界面"})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"作者"}),i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx("p",{className:"text-sm font-medium",children:"MaiBot 核心"}),i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"Mai-with-u"})]}),i.jsxs("div",{className:"space-y-1",children:[i.jsx("p",{className:"text-sm font-medium",children:"WebUI"}),i.jsxs("p",{className:"text-xs sm:text-sm text-muted-foreground",children:["Mai-with-u ",i.jsx("a",{href:"https://github.com/DrSmoothl",target:"_blank",rel:"noopener noreferrer",className:"text-primary underline",children:"@MotricSeven"})]})]})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"技术栈"}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 text-xs sm:text-sm text-muted-foreground",children:[i.jsxs("div",{className:"space-y-1.5",children:[i.jsx("p",{className:"font-medium text-foreground",children:"前端框架"}),i.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[i.jsx("li",{children:"React 19.2.0"}),i.jsx("li",{children:"TypeScript 5.7.2"}),i.jsx("li",{children:"Vite 6.0.7"}),i.jsx("li",{children:"TanStack Router 1.94.2"})]})]}),i.jsxs("div",{className:"space-y-1.5",children:[i.jsx("p",{className:"font-medium text-foreground",children:"UI 组件"}),i.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[i.jsx("li",{children:"shadcn/ui"}),i.jsx("li",{children:"Radix UI"}),i.jsx("li",{children:"Tailwind CSS 3.4.17"}),i.jsx("li",{children:"Lucide Icons"})]})]}),i.jsxs("div",{className:"space-y-1.5",children:[i.jsx("p",{className:"font-medium text-foreground",children:"后端"}),i.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[i.jsx("li",{children:"Python 3.12+"}),i.jsx("li",{children:"FastAPI"}),i.jsx("li",{children:"Uvicorn"}),i.jsx("li",{children:"WebSocket"})]})]}),i.jsxs("div",{className:"space-y-1.5",children:[i.jsx("p",{className:"font-medium text-foreground",children:"构建工具"}),i.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[i.jsx("li",{children:"Bun / npm"}),i.jsx("li",{children:"ESLint 9.17.0"}),i.jsx("li",{children:"PostCSS"})]})]})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"开源库感谢"}),i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground mb-3",children:"本项目使用了以下优秀的开源库,感谢他们的贡献:"}),i.jsx(Gt,{className:"h-[300px] sm:h-[400px]",children:i.jsxs("div",{className:"space-y-4 pr-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"UI 框架与组件"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(pn,{name:"React",description:"用户界面构建库",license:"MIT"}),i.jsx(pn,{name:"shadcn/ui",description:"优雅的 React 组件库",license:"MIT"}),i.jsx(pn,{name:"Radix UI",description:"无样式的可访问组件库",license:"MIT"}),i.jsx(pn,{name:"Tailwind CSS",description:"实用优先的 CSS 框架",license:"MIT"}),i.jsx(pn,{name:"Lucide React",description:"精美的图标库",license:"ISC"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"路由与状态管理"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(pn,{name:"TanStack Router",description:"类型安全的路由库",license:"MIT"}),i.jsx(pn,{name:"Zustand",description:"轻量级状态管理",license:"MIT"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"表单处理"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(pn,{name:"React Hook Form",description:"高性能表单库",license:"MIT"}),i.jsx(pn,{name:"Zod",description:"TypeScript 优先的 schema 验证",license:"MIT"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"工具库"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(pn,{name:"clsx",description:"条件 className 构建工具",license:"MIT"}),i.jsx(pn,{name:"tailwind-merge",description:"Tailwind 类名合并工具",license:"MIT"}),i.jsx(pn,{name:"class-variance-authority",description:"组件变体管理",license:"Apache-2.0"}),i.jsx(pn,{name:"date-fns",description:"现代化日期处理库",license:"MIT"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"动画效果"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(pn,{name:"Framer Motion",description:"React 动画库",license:"MIT"}),i.jsx(pn,{name:"vaul",description:"抽屉组件动画",license:"MIT"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"后端框架"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(pn,{name:"FastAPI",description:"现代化 Python Web 框架",license:"MIT"}),i.jsx(pn,{name:"Uvicorn",description:"ASGI 服务器",license:"BSD-3-Clause"}),i.jsx(pn,{name:"Pydantic",description:"数据验证库",license:"MIT"}),i.jsx(pn,{name:"python-multipart",description:"文件上传支持",license:"Apache-2.0"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"开发工具"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(pn,{name:"TypeScript",description:"JavaScript 的超集",license:"Apache-2.0"}),i.jsx(pn,{name:"Vite",description:"下一代前端构建工具",license:"MIT"}),i.jsx(pn,{name:"ESLint",description:"JavaScript 代码检查工具",license:"MIT"}),i.jsx(pn,{name:"PostCSS",description:"CSS 转换工具",license:"MIT"})]})]})]})})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"开源许可"}),i.jsxs("div",{className:"space-y-3",children:[i.jsx("div",{className:"rounded-lg bg-primary/5 border border-primary/20 p-3 sm:p-4",children:i.jsxs("div",{className:"flex items-start gap-2 sm:gap-3",children:[i.jsx("div",{className:"flex-shrink-0 mt-0.5",children:i.jsx("div",{className:"rounded-md bg-primary/10 px-2 py-1",children:i.jsx("span",{className:"text-xs sm:text-sm font-bold text-primary",children:"GPLv3"})})}),i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("p",{className:"text-sm sm:text-base font-semibold text-foreground mb-1",children:"MaiBot WebUI"}),i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"本项目采用 GNU General Public License v3.0 开源许可证。 您可以自由地使用、修改和分发本软件,但必须保持相同的开源许可。"})]})]})}),i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"本项目依赖的所有开源库均遵循各自的开源许可证(MIT、Apache-2.0、BSD 等)。 感谢所有开源贡献者的无私奉献。"})]})]})]})}function pn({name:e,description:t,license:n}){return i.jsxs("div",{className:"flex items-start justify-between gap-2 rounded-lg border bg-muted/30 p-2.5 sm:p-3",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("p",{className:"font-medium text-foreground truncate",children:e}),i.jsx("p",{className:"text-muted-foreground text-xs mt-0.5",children:t})]}),i.jsx("span",{className:"inline-flex items-center rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-medium text-primary flex-shrink-0",children:n})]})}function c_({value:e,current:t,onChange:n,label:r,description:a}){const s=t===e;return i.jsxs("button",{onClick:()=>n(e),className:ue("relative rounded-lg border-2 p-3 sm:p-4 text-left transition-all","hover:border-primary/50 hover:bg-accent/50",s?"border-primary bg-accent":"border-border"),children:[s&&i.jsx("div",{className:"absolute top-2 right-2 sm:top-3 sm:right-3 h-2 w-2 rounded-full bg-primary"}),i.jsxs("div",{className:"space-y-1",children:[i.jsx("div",{className:"text-sm sm:text-base font-medium",children:r}),i.jsx("div",{className:"text-[10px] sm:text-xs text-muted-foreground",children:a})]}),i.jsxs("div",{className:"mt-2 sm:mt-3 flex gap-1",children:[e==="light"&&i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-200"}),i.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-300"}),i.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-400"})]}),e==="dark"&&i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-700"}),i.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-800"}),i.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-900"})]}),e==="system"&&i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"h-2 w-2 rounded-full bg-gradient-to-r from-slate-200 to-slate-700"}),i.jsx("div",{className:"h-2 w-2 rounded-full bg-gradient-to-r from-slate-300 to-slate-800"}),i.jsx("div",{className:"h-2 w-2 rounded-full bg-gradient-to-r from-slate-400 to-slate-900"})]})]})]})}function Na({value:e,current:t,onChange:n,label:r,colorClass:a}){const s=t===e;return i.jsxs("button",{onClick:()=>n(e),className:ue("relative rounded-lg border-2 p-2 sm:p-3 text-left transition-all","hover:border-primary/50 hover:bg-accent/50",s?"border-primary bg-accent":"border-border"),children:[s&&i.jsx("div",{className:"absolute top-1.5 right-1.5 sm:top-2 sm:right-2 h-1.5 w-1.5 sm:h-2 sm:w-2 rounded-full bg-primary"}),i.jsxs("div",{className:"flex flex-col items-center gap-1.5 sm:gap-2",children:[i.jsx("div",{className:ue("h-8 w-8 sm:h-10 sm:w-10 rounded-full",a)}),i.jsx("div",{className:"text-[10px] sm:text-xs font-medium text-center",children:r})]})]})}class mbe{grad3;p;perm;constructor(t=0){this.grad3=[[1,1,0],[-1,1,0],[1,-1,0],[-1,-1,0],[1,0,1],[-1,0,1],[1,0,-1],[-1,0,-1],[0,1,1],[0,-1,1],[0,1,-1],[0,-1,-1]],this.p=[];for(let n=0;n<256;n++)this.p[n]=Math.floor(Math.random()*256);this.perm=[];for(let n=0;n<512;n++)this.perm[n]=this.p[n&255]}dot(t,n,r){return t[0]*n+t[1]*r}mix(t,n,r){return(1-r)*t+r*n}fade(t){return t*t*t*(t*(t*6-15)+10)}perlin2(t,n){const r=Math.floor(t)&255,a=Math.floor(n)&255;t-=Math.floor(t),n-=Math.floor(n);const s=this.fade(t),l=this.fade(n),u=this.perm[r]+a,d=this.perm[u],f=this.perm[u+1],m=this.perm[r+1]+a,p=this.perm[m],g=this.perm[m+1];return this.mix(this.mix(this.dot(this.grad3[d%12],t,n),this.dot(this.grad3[p%12],t-1,n),s),this.mix(this.dot(this.grad3[f%12],t,n-1),this.dot(this.grad3[g%12],t-1,n-1),s),l)}}function pbe(){const e=y.useRef(null),t=y.useRef(null),n=y.useRef(void 0),r=y.useRef({mouse:{x:-10,y:0,lx:0,ly:0,sx:0,sy:0,v:0,vs:0,a:0,set:!1},lines:[],paths:[],noise:new mbe(Math.random()),bounding:null});return y.useEffect(()=>{const a=t.current,s=e.current;if(!a||!s)return;const l=r.current,u=()=>{const w=a.getBoundingClientRect();l.bounding=w,s.style.width=`${w.width}px`,s.style.height=`${w.height}px`},d=()=>{if(!l.bounding)return;const{width:w,height:b}=l.bounding;l.lines=[],l.paths.forEach(R=>R.remove()),l.paths=[];const N=10,E=32,O=w+200,A=b+30,C=Math.ceil(O/N),k=Math.ceil(A/E),T=(w-N*C)/2,M=(b-E*k)/2;for(let R=0;R<=C;R++){const L=[];for(let U=0;U<=k;U++){const V={x:T+N*R,y:M+E*U,wave:{x:0,y:0},cursor:{x:0,y:0,vx:0,vy:0}};L.push(V)}const D=document.createElementNS("http://www.w3.org/2000/svg","path");s.appendChild(D),l.paths.push(D),l.lines.push(L)}},f=w=>{const{lines:b,mouse:N,noise:E}=l;b.forEach(O=>{O.forEach(A=>{const C=E.perlin2((A.x+w*.0125)*.002,(A.y+w*.005)*.0015)*12;A.wave.x=Math.cos(C)*32,A.wave.y=Math.sin(C)*16;const k=A.x-N.sx,T=A.y-N.sy,M=Math.hypot(k,T),R=Math.max(175,N.vs);if(M{const N={x:w.x+w.wave.x+(b?w.cursor.x:0),y:w.y+w.wave.y+(b?w.cursor.y:0)};return N.x=Math.round(N.x*10)/10,N.y=Math.round(N.y*10)/10,N},p=()=>{const{lines:w,paths:b}=l;w.forEach((N,E)=>{let O=m(N[0],!1),A=`M ${O.x} ${O.y}`;N.forEach((C,k)=>{const T=k===N.length-1;O=m(C,!T),A+=`L ${O.x} ${O.y}`}),b[E].setAttribute("d",A)})},g=w=>{const{mouse:b}=l;b.sx+=(b.x-b.sx)*.1,b.sy+=(b.y-b.sy)*.1;const N=b.x-b.lx,E=b.y-b.ly,O=Math.hypot(N,E);b.v=O,b.vs+=(O-b.vs)*.1,b.vs=Math.min(100,b.vs),b.lx=b.x,b.ly=b.y,b.a=Math.atan2(E,N),a&&(a.style.setProperty("--x",`${b.sx}px`),a.style.setProperty("--y",`${b.sy}px`)),f(w),p(),n.current=requestAnimationFrame(g)},x=w=>{if(!l.bounding)return;const{mouse:b}=l;b.x=w.pageX-l.bounding.left,b.y=w.pageY-l.bounding.top+window.scrollY,b.set||(b.sx=b.x,b.sy=b.y,b.lx=b.x,b.ly=b.y,b.set=!0)},j=()=>{u(),d()};return u(),d(),window.addEventListener("resize",j),window.addEventListener("mousemove",x),n.current=requestAnimationFrame(g),()=>{window.removeEventListener("resize",j),window.removeEventListener("mousemove",x),n.current&&cancelAnimationFrame(n.current)}},[]),i.jsxs("div",{ref:t,className:"waves-background",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",overflow:"hidden",pointerEvents:"none"},children:[i.jsx("div",{className:"waves-cursor",style:{position:"absolute",top:0,left:0,width:"0.5rem",height:"0.5rem",background:"hsl(var(--primary) / 0.3)",borderRadius:"50%",transform:"translate3d(calc(var(--x, -0.5rem) - 50%), calc(var(--y, 50%) - 50%), 0)",willChange:"transform",pointerEvents:"none"}}),i.jsx("svg",{ref:e,style:{display:"block",width:"100%",height:"100%"},children:i.jsx("style",{children:` - path { - fill: none; - stroke: hsl(var(--primary) / 0.20); - stroke-width: 1px; - } - `})})]})}function vbe(){const e=ua();y.useEffect(()=>{localStorage.getItem("access-token")||e({to:"/auth"})},[e])}function AF(){return!!localStorage.getItem("access-token")}function gbe(){const[e,t]=y.useState(""),[n,r]=y.useState(!1),[a,s]=y.useState(""),l=ua(),{enableWavesBackground:u,setEnableWavesBackground:d}=j8(),{theme:f,setTheme:m}=uE();y.useEffect(()=>{AF()&&l({to:"/"})},[l]);const g=f==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":f,x=()=>{m(g==="dark"?"light":"dark")},j=async w=>{if(w.preventDefault(),s(""),!e.trim()){s("请输入 Access Token");return}r(!0);try{const b=await fetch("/api/webui/auth/verify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:e.trim()})}),N=await b.json();if(b.ok&&N.valid){localStorage.setItem("access-token",e.trim());const E=await fetch("/api/webui/setup/status",{method:"GET",headers:{Authorization:`Bearer ${e.trim()}`}}),O=await E.json();E.ok&&O.is_first_setup?l({to:"/setup"}):l({to:"/"})}else s(N.message||"Token 验证失败,请检查后重试")}catch(b){console.error("Token 验证错误:",b),s("连接服务器失败,请检查网络连接")}finally{r(!1)}};return i.jsxs("div",{className:"relative flex min-h-screen items-center justify-center overflow-hidden bg-background p-4",children:[u&&i.jsx(pbe,{}),i.jsxs(Ke,{className:"relative z-10 w-full max-w-md shadow-2xl backdrop-blur-xl bg-card/80 border-border/50",children:[i.jsx("button",{onClick:x,className:"absolute right-4 top-4 rounded-lg p-2 hover:bg-accent transition-colors z-10 text-foreground",title:g==="dark"?"切换到浅色模式":"切换到深色模式",children:g==="dark"?i.jsx(iC,{className:"h-5 w-5",strokeWidth:2.5,fill:"none"}):i.jsx(aC,{className:"h-5 w-5",strokeWidth:2.5,fill:"none"})}),i.jsxs(gt,{className:"space-y-4 text-center",children:[i.jsx("div",{className:"mx-auto flex h-16 w-16 items-center justify-center rounded-2xl bg-primary/10",children:i.jsx(tL,{className:"h-8 w-8 text-primary",strokeWidth:2,fill:"none"})}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(yt,{className:"text-2xl font-bold",children:"欢迎使用 MaiBot"}),i.jsx(Wn,{className:"text-base",children:"请输入您的 Access Token 以继续访问系统"})]})]}),i.jsx(Pt,{children:i.jsxs("form",{onSubmit:j,className:"space-y-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"token",className:"text-sm font-medium",children:"Access Token"}),i.jsxs("div",{className:"relative",children:[i.jsx(dge,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground",strokeWidth:2,fill:"none"}),i.jsx(Ce,{id:"token",type:"password",placeholder:"请输入您的 Access Token",value:e,onChange:w=>t(w.target.value),className:ue("pl-10",a&&"border-red-500 focus-visible:ring-red-500"),disabled:n,autoFocus:!0,autoComplete:"off"})]})]}),a&&i.jsxs("div",{className:"flex items-center gap-2 rounded-md bg-red-50 p-3 text-sm text-red-600 dark:bg-red-950/50 dark:text-red-400",children:[i.jsx(xl,{className:"h-4 w-4 flex-shrink-0",strokeWidth:2,fill:"none"}),i.jsx("span",{children:a})]}),i.jsx(oe,{type:"submit",className:"w-full",disabled:n,children:n?i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"mr-2 h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent"}),"验证中..."]}):"验证并进入"}),i.jsxs(sr,{children:[i.jsx(oF,{asChild:!0,children:i.jsxs("button",{className:"w-full text-center text-sm text-primary hover:text-primary/80 transition-colors underline-offset-4 hover:underline flex items-center justify-center gap-1",children:[i.jsx(Uve,{className:"h-4 w-4",strokeWidth:2,fill:"none"}),"我没有 Token,我该去哪里获得 Token?"]})}),i.jsxs(Kn,{className:"sm:max-w-md",children:[i.jsxs(Xn,{children:[i.jsxs(Zn,{className:"flex items-center gap-2",children:[i.jsx(tL,{className:"h-5 w-5 text-primary",strokeWidth:2,fill:"none"}),"如何获取 Access Token"]}),i.jsx(gr,{children:"Access Token 是访问 MaiBot WebUI 的唯一凭证,请按以下方式获取"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsx("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-2",children:i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx(Qge,{className:"h-5 w-5 text-primary flex-shrink-0 mt-0.5",strokeWidth:2,fill:"none"}),i.jsxs("div",{className:"flex-1 space-y-2",children:[i.jsx("h4",{className:"font-semibold text-sm",children:"方式一:查看启动日志"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"在 MaiBot 启动时,控制台会显示 WebUI Access Token。"}),i.jsxs("div",{className:"rounded bg-background p-2 font-mono text-xs",children:[i.jsx("p",{className:"text-muted-foreground",children:"🔑 WebUI Access Token: abc123..."}),i.jsx("p",{className:"text-muted-foreground",children:"💡 请使用此 Token 登录 WebUI"})]})]})]})}),i.jsx("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-2",children:i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx(sE,{className:"h-5 w-5 text-primary flex-shrink-0 mt-0.5",strokeWidth:2,fill:"none"}),i.jsxs("div",{className:"flex-1 space-y-2",children:[i.jsx("h4",{className:"font-semibold text-sm",children:"方式二:查看配置文件"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Token 保存在项目根目录的配置文件中:"}),i.jsx("div",{className:"rounded bg-background p-2 font-mono text-xs break-all",children:i.jsx("code",{className:"text-primary",children:"data/webui.json"})}),i.jsxs("p",{className:"text-xs text-muted-foreground",children:["打开此文件,复制 ",i.jsx("code",{className:"px-1 py-0.5 bg-background rounded",children:"access_token"})," 字段的值"]})]})]})}),i.jsx("div",{className:"rounded-lg border border-yellow-200 dark:border-yellow-900 bg-yellow-50 dark:bg-yellow-950/30 p-3",children:i.jsxs("div",{className:"flex gap-2",children:[i.jsx(xl,{className:"h-4 w-4 text-yellow-600 dark:text-yellow-500 flex-shrink-0 mt-0.5",strokeWidth:2,fill:"none"}),i.jsxs("div",{className:"text-sm text-yellow-800 dark:text-yellow-300 space-y-1",children:[i.jsx("p",{className:"font-semibold",children:"安全提示"}),i.jsxs("ul",{className:"list-disc list-inside space-y-0.5 text-xs",children:[i.jsx("li",{children:"请妥善保管您的 Token,不要泄露给他人"}),i.jsx("li",{children:"如需重置 Token,请在登录后前往系统设置"})]})]})]})})]})]})]}),i.jsxs(dn,{children:[i.jsx(mr,{asChild:!0,children:i.jsxs("button",{className:"w-full text-center text-sm text-muted-foreground hover:text-foreground transition-colors underline-offset-4 hover:underline flex items-center justify-center gap-1",children:[i.jsx(xh,{className:"h-4 w-4",strokeWidth:2,fill:"none"}),"我觉得这个界面很卡怎么办?"]})}),i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsxs(rn,{className:"flex items-center gap-2",children:[i.jsx(xh,{className:"h-5 w-5 text-primary",strokeWidth:2,fill:"none"}),"关闭背景动画"]}),i.jsx(an,{children:"背景动画可能会在低性能设备上造成卡顿。关闭动画可以显著提升界面流畅度。"})]}),i.jsx("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-2",children:i.jsx("p",{className:"text-sm text-muted-foreground",children:"关闭动画后,背景将变为纯色,但不影响任何功能的使用。您可以随时在系统设置中重新开启动画。"})}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:()=>d(!1),children:"关闭动画"})]})]})]})]})})]}),i.jsx("div",{className:"absolute bottom-4 left-0 right-0 text-center text-xs text-muted-foreground",children:i.jsx("p",{children:Oye})})]})}const Qt=y.forwardRef(({className:e,...t},n)=>i.jsx("textarea",{className:ue("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:n,...t}));Qt.displayName="Textarea";var ybe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],xbe=ybe.reduce((e,t)=>{const n=$h(`Primitive.${t}`),r=y.forwardRef((a,s)=>{const{asChild:l,...u}=a,d=l?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(d,{...u,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),bbe="Separator",bL="horizontal",wbe=["horizontal","vertical"],TF=y.forwardRef((e,t)=>{const{decorative:n,orientation:r=bL,...a}=e,s=jbe(r)?r:bL,u=n?{role:"none"}:{"aria-orientation":s==="vertical"?s:void 0,role:"separator"};return i.jsx(xbe.div,{"data-orientation":s,...u,...a,ref:t})});TF.displayName=bbe;function jbe(e){return wbe.includes(e)}var kF=TF;const wh=y.forwardRef(({className:e,orientation:t="horizontal",decorative:n=!0,...r},a)=>i.jsx(kF,{ref:a,decorative:n,orientation:t,className:ue("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));wh.displayName=kF.displayName;const Sbe=Qu("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function Ht({className:e,variant:t,...n}){return i.jsx("div",{className:ue(Sbe({variant:t}),e),...n})}function _be({config:e,onChange:t}){const n=a=>{a.trim()&&!e.alias_names.includes(a.trim())&&t({...e,alias_names:[...e.alias_names,a.trim()]})},r=a=>{t({...e,alias_names:e.alias_names.filter((s,l)=>l!==a)})};return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"space-y-3",children:[i.jsx(ne,{htmlFor:"qq_account",children:"QQ账号 *"}),i.jsx(Ce,{id:"qq_account",type:"number",placeholder:"请输入机器人的QQ账号",value:e.qq_account||"",onChange:a=>t({...e,qq_account:Number(a.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人登录使用的QQ账号"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(ne,{htmlFor:"nickname",children:"昵称 *"}),i.jsx(Ce,{id:"nickname",placeholder:"请输入机器人的昵称",value:e.nickname,onChange:a=>t({...e,nickname:a.target.value})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人的主要称呼名称"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(ne,{children:"别名"}),i.jsx("div",{className:"flex flex-wrap gap-2 mb-2",children:e.alias_names.map((a,s)=>i.jsxs(Ht,{variant:"secondary",className:"gap-1",children:[a,i.jsx("button",{type:"button",onClick:()=>r(s),className:"ml-1 hover:text-destructive",children:i.jsx(Zh,{className:"h-3 w-3"})})]},s))}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(Ce,{id:"alias_input",placeholder:"输入别名后按回车添加",onKeyPress:a=>{a.key==="Enter"&&(n(a.target.value),a.target.value="")}}),i.jsx(oe,{type:"button",variant:"outline",onClick:()=>{const a=document.getElementById("alias_input");a&&(n(a.value),a.value="")},children:"添加"})]}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人的其他称呼,可以添加多个"})]})]})}function Nbe({config:e,onChange:t}){return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"space-y-3",children:[i.jsx(ne,{htmlFor:"personality",children:"人格特征 *"}),i.jsx(Qt,{id:"personality",placeholder:"描述机器人的人格特质和身份特征(建议120字以内)",value:e.personality,onChange:n=>t({...e,personality:n.target.value}),rows:3}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"例如:是一个女大学生,现在在读大二,会刷贴吧"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(ne,{htmlFor:"reply_style",children:"表达风格 *"}),i.jsx(Qt,{id:"reply_style",placeholder:"描述机器人说话的表达风格、表达习惯",value:e.reply_style,onChange:n=>t({...e,reply_style:n.target.value}),rows:3}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"例如:回复平淡一些,简短一些,说中文,参考贴吧、知乎和微博的回复风格"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(ne,{htmlFor:"interest",children:"兴趣 *"}),i.jsx(Qt,{id:"interest",placeholder:"描述机器人感兴趣的话题",value:e.interest,onChange:n=>t({...e,interest:n.target.value}),rows:2}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"会影响机器人对什么话题进行回复"})]}),i.jsx(wh,{}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(ne,{htmlFor:"plan_style",children:"群聊说话规则 *"}),i.jsx(Qt,{id:"plan_style",placeholder:"机器人在群聊中的行为风格和规则",value:e.plan_style,onChange:n=>t({...e,plan_style:n.target.value}),rows:4}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"定义机器人在群聊中如何行动,例如回复频率、条件等"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(ne,{htmlFor:"private_plan_style",children:"私聊说话规则 *"}),i.jsx(Qt,{id:"private_plan_style",placeholder:"机器人在私聊中的行为风格和规则",value:e.private_plan_style,onChange:n=>t({...e,private_plan_style:n.target.value}),rows:3}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"定义机器人在私聊中的行为方式"})]})]})}function Cbe({config:e,onChange:t}){return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(ne,{htmlFor:"emoji_chance",children:"表情包激活概率"}),i.jsxs("span",{className:"text-sm text-muted-foreground",children:[(e.emoji_chance*100).toFixed(0),"%"]})]}),i.jsx(Ce,{id:"emoji_chance",type:"range",min:"0",max:"1",step:"0.1",value:e.emoji_chance,onChange:n=>t({...e,emoji_chance:Number(n.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人发送表情包的概率"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(ne,{htmlFor:"max_reg_num",children:"最大表情包数量"}),i.jsx(Ce,{id:"max_reg_num",type:"number",min:"1",max:"200",value:e.max_reg_num,onChange:n=>t({...e,max_reg_num:Number(n.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人最多保存的表情包数量"})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx(ne,{htmlFor:"do_replace",children:"达到最大数量时替换"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"开启后会删除旧表情包,关闭则不再收集新表情包"})]}),i.jsx(dt,{id:"do_replace",checked:e.do_replace,onCheckedChange:n=>t({...e,do_replace:n})})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(ne,{htmlFor:"check_interval",children:"检查间隔(分钟)"}),i.jsx(Ce,{id:"check_interval",type:"number",min:"1",max:"120",value:e.check_interval,onChange:n=>t({...e,check_interval:Number(n.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"检查表情包注册、破损、删除的时间间隔"})]}),i.jsx(wh,{}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx(ne,{htmlFor:"steal_emoji",children:"偷取表情包"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"允许机器人将一些表情包据为己有"})]}),i.jsx(dt,{id:"steal_emoji",checked:e.steal_emoji,onCheckedChange:n=>t({...e,steal_emoji:n})})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx(ne,{htmlFor:"content_filtration",children:"启用表情包过滤"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"只保存符合要求的表情包"})]}),i.jsx(dt,{id:"content_filtration",checked:e.content_filtration,onCheckedChange:n=>t({...e,content_filtration:n})})]}),e.content_filtration&&i.jsxs("div",{className:"space-y-3",children:[i.jsx(ne,{htmlFor:"filtration_prompt",children:"过滤要求"}),i.jsx(Ce,{id:"filtration_prompt",placeholder:"例如:符合公序良俗",value:e.filtration_prompt,onChange:n=>t({...e,filtration_prompt:n.target.value})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"描述表情包应该符合的要求"})]})]})}function Obe({config:e,onChange:t}){return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx(ne,{htmlFor:"enable_tool",children:"启用工具系统"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"允许机器人使用各种工具增强功能"})]}),i.jsx(dt,{id:"enable_tool",checked:e.enable_tool,onCheckedChange:n=>t({...e,enable_tool:n})})]}),i.jsx(wh,{}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx(ne,{htmlFor:"enable_mood",children:"启用情绪系统"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"让机器人具有情绪变化能力"})]}),i.jsx(dt,{id:"enable_mood",checked:e.enable_mood,onCheckedChange:n=>t({...e,enable_mood:n})})]}),e.enable_mood&&i.jsxs("div",{className:"ml-6 space-y-6 border-l-2 border-primary/20 pl-6",children:[i.jsxs("div",{className:"space-y-3",children:[i.jsx(ne,{htmlFor:"mood_update_threshold",children:"情绪更新阈值"}),i.jsx(Ce,{id:"mood_update_threshold",type:"number",min:"0.1",max:"10",step:"0.1",value:e.mood_update_threshold||1,onChange:n=>t({...e,mood_update_threshold:Number(n.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"值越高,情绪更新越慢"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(ne,{htmlFor:"emotion_style",children:"情感特征"}),i.jsx(Qt,{id:"emotion_style",placeholder:"描述情绪的变化情况,例如:情绪较为稳定,但遭遇特定事件时起伏较大",value:e.emotion_style||"",onChange:n=>t({...e,emotion_style:n.target.value}),rows:2}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"影响机器人的情绪变化方式"})]})]}),i.jsx(wh,{}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx(ne,{htmlFor:"all_global",children:"启用全局黑话模式"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"允许机器人学习和使用群组黑话"})]}),i.jsx(dt,{id:"all_global",checked:e.all_global,onCheckedChange:n=>t({...e,all_global:n})})]})]})}async function Ze(e,t){const n=await fetch(e,t);if(n.status===401)throw localStorage.removeItem("access-token"),window.location.href="/auth",new Error("认证失败,请重新登录");return n}function st(){return{"Content-Type":"application/json",Authorization:`Bearer ${localStorage.getItem("access-token")}`}}async function Ebe(){const e=await Ze("/api/webui/config/bot",{method:"GET",headers:st()});if(!e.ok)throw new Error("读取Bot配置失败");const n=(await e.json()).config.bot||{};return{qq_account:n.qq_account||0,nickname:n.nickname||"",alias_names:n.alias_names||[]}}async function Abe(){const e=await Ze("/api/webui/config/bot",{method:"GET",headers:st()});if(!e.ok)throw new Error("读取人格配置失败");const n=(await e.json()).config.personality||{};return{personality:n.personality||"",reply_style:n.reply_style||"",interest:n.interest||"",plan_style:n.plan_style||"",private_plan_style:n.private_plan_style||""}}async function Tbe(){const e=await Ze("/api/webui/config/bot",{method:"GET",headers:st()});if(!e.ok)throw new Error("读取表情包配置失败");const n=(await e.json()).config.emoji||{};return{emoji_chance:n.emoji_chance??.4,max_reg_num:n.max_reg_num??40,do_replace:n.do_replace??!0,check_interval:n.check_interval??10,steal_emoji:n.steal_emoji??!0,content_filtration:n.content_filtration??!1,filtration_prompt:n.filtration_prompt||""}}async function kbe(){const e=await Ze("/api/webui/config/bot",{method:"GET",headers:st()});if(!e.ok)throw new Error("读取其他配置失败");const n=(await e.json()).config,r=n.tool||{},a=n.mood||{},s=n.jargon||{};return{enable_tool:r.enable_tool??!0,enable_mood:a.enable_mood??!1,mood_update_threshold:a.mood_update_threshold,emotion_style:a.emotion_style,all_global:s.all_global??!0}}async function Mbe(e){const t=await Ze("/api/webui/config/bot/section/bot",{method:"POST",headers:st(),body:JSON.stringify(e)});if(!t.ok){const n=await t.json();throw new Error(n.detail||"保存Bot基础配置失败")}return await t.json()}async function Pbe(e){const t=await Ze("/api/webui/config/bot/section/personality",{method:"POST",headers:st(),body:JSON.stringify(e)});if(!t.ok){const n=await t.json();throw new Error(n.detail||"保存人格配置失败")}return await t.json()}async function Rbe(e){const t=await Ze("/api/webui/config/bot/section/emoji",{method:"POST",headers:st(),body:JSON.stringify(e)});if(!t.ok){const n=await t.json();throw new Error(n.detail||"保存表情包配置失败")}return await t.json()}async function Dbe(e){const t=[];t.push(Ze("/api/webui/config/bot/section/tool",{method:"POST",headers:st(),body:JSON.stringify({enable_tool:e.enable_tool})})),t.push(Ze("/api/webui/config/bot/section/jargon",{method:"POST",headers:st(),body:JSON.stringify({all_global:e.all_global})}));const n={enable_mood:e.enable_mood};e.enable_mood&&(n.mood_update_threshold=e.mood_update_threshold||1,n.emotion_style=e.emotion_style||""),t.push(Ze("/api/webui/config/bot/section/mood",{method:"POST",headers:st(),body:JSON.stringify(n)}));const r=await Promise.all(t);for(const a of r)if(!a.ok){const s=await a.json();throw new Error(s.detail||"保存其他配置失败")}return{success:!0}}async function wL(){const e=localStorage.getItem("access-token"),t=await Ze("/api/webui/setup/complete",{method:"POST",headers:{Authorization:`Bearer ${e}`}});if(!t.ok){const n=await t.json();throw new Error(n.message||"标记配置完成失败")}return await t.json()}function $be(){const e=ua(),{toast:t}=xr(),[n,r]=y.useState(0),[a,s]=y.useState(!1),[l,u]=y.useState(!1),[d,f]=y.useState(!0),[m,p]=y.useState({qq_account:0,nickname:"",alias_names:[]}),[g,x]=y.useState({personality:"是一个女大学生,现在在读大二,会刷贴吧。",reply_style:"请回复的平淡一些,简短一些,说中文,不要刻意突出自身学科背景。可以参考贴吧,知乎和微博的回复风格。",interest:"对技术相关话题,游戏和动漫相关话题感兴趣,也对日常话题感兴趣,不喜欢太过沉重严肃的话题",plan_style:`1.思考**所有**的可用的action中的**每个动作**是否符合当下条件,如果动作使用条件符合聊天内容就使用 -2.如果相同的内容已经被执行,请不要重复执行 -3.请控制你的发言频率,不要太过频繁的发言 -4.如果有人对你感到厌烦,请减少回复 -5.如果有人对你进行攻击,或者情绪激动,请你以合适的方法应对`,private_plan_style:`1.思考**所有**的可用的action中的**每个动作**是否符合当下条件,如果动作使用条件符合聊天内容就使用 -2.如果相同的内容已经被执行,请不要重复执行 -3.某句话如果已经被回复过,不要重复回复`}),[j,w]=y.useState({emoji_chance:.4,max_reg_num:40,do_replace:!0,check_interval:10,steal_emoji:!0,content_filtration:!1,filtration_prompt:"符合公序良俗"}),[b,N]=y.useState({enable_tool:!0,enable_mood:!1,mood_update_threshold:1,emotion_style:"情绪较为稳定,但遭遇特定事件的时候起伏较大",all_global:!0}),E=[{id:"bot-basic",title:"Bot基础",description:"配置机器人的基本信息",icon:Cve},{id:"personality",title:"人格配置",description:"定义机器人的性格和说话风格",icon:x8},{id:"emoji",title:"表情包",description:"配置表情包相关设置",icon:cE},{id:"other",title:"其他设置",description:"工具、情绪系统等配置",icon:Ha},{id:"complete",title:"完成设置",description:"后续配置提示",icon:xh}],O=(n+1)/E.length*100;y.useEffect(()=>{(async()=>{try{f(!0);const[D,U,V,H]=await Promise.all([Ebe(),Abe(),Tbe(),kbe()]);p(D),x(U),w(V),N(H)}catch(D){t({title:"加载配置失败",description:D instanceof Error?D.message:"无法加载现有配置,将使用默认值",variant:"destructive"})}finally{f(!1)}})()},[t]);const A=async()=>{u(!0);try{switch(n){case 0:await Mbe(m);break;case 1:await Pbe(g);break;case 2:await Rbe(j);break;case 3:await Dbe(b);break}return t({title:"保存成功",description:`${E[n].title}配置已保存`}),!0}catch(L){return t({title:"保存失败",description:L instanceof Error?L.message:"未知错误",variant:"destructive"}),!1}finally{u(!1)}},C=async()=>{await A()&&n{n>0&&r(n-1)},T=async()=>{s(!0);try{if(!await A()){s(!1);return}await wL(),t({title:"配置完成",description:"所有配置已保存,正在跳转..."}),setTimeout(()=>{e({to:"/"})},500)}catch(L){t({title:"完成失败",description:L instanceof Error?L.message:"未知错误",variant:"destructive"})}finally{s(!1)}},M=async()=>{try{await wL(),e({to:"/"})}catch(L){t({title:"跳过失败",description:L instanceof Error?L.message:"未知错误",variant:"destructive"})}},R=()=>{switch(n){case 0:return i.jsx(_be,{config:m,onChange:p});case 1:return i.jsx(Nbe,{config:g,onChange:x});case 2:return i.jsx(Cbe,{config:j,onChange:w});case 3:return i.jsx(Obe,{config:b,onChange:N});case 4:return i.jsxs("div",{className:"space-y-6 text-center py-8",children:[i.jsx("div",{className:"mx-auto w-16 h-16 rounded-full bg-primary/10 flex items-center justify-center",children:i.jsx(xh,{className:"h-8 w-8 text-primary",strokeWidth:2})}),i.jsxs("div",{className:"space-y-3",children:[i.jsx("h3",{className:"text-xl font-semibold",children:"模型配置"}),i.jsx("p",{className:"text-muted-foreground max-w-md mx-auto",children:"为了让机器人正常工作,您需要配置 AI 模型提供商和模型。"})]}),i.jsxs("div",{className:"rounded-lg border bg-muted/50 p-6 max-w-md mx-auto text-left space-y-4",children:[i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"mt-0.5",children:i.jsx("div",{className:"h-6 w-6 rounded-full bg-primary/20 flex items-center justify-center text-primary text-sm font-semibold",children:"1"})}),i.jsxs("div",{children:[i.jsx("p",{className:"font-medium",children:"配置 API 提供商"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:'在"系统设置 → 模型配置 → API 提供商"中添加您的 API 提供商信息'})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"mt-0.5",children:i.jsx("div",{className:"h-6 w-6 rounded-full bg-primary/20 flex items-center justify-center text-primary text-sm font-semibold",children:"2"})}),i.jsxs("div",{children:[i.jsx("p",{className:"font-medium",children:"添加模型"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:'在"系统设置 → 模型配置 → 模型列表"中添加需要使用的模型'})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"mt-0.5",children:i.jsx("div",{className:"h-6 w-6 rounded-full bg-primary/20 flex items-center justify-center text-primary text-sm font-semibold",children:"3"})}),i.jsxs("div",{children:[i.jsx("p",{className:"font-medium",children:"配置模型任务"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:'在"系统设置 → 模型配置 → 模型任务配置"中为不同任务分配模型'})]})]})]}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"💡 提示:完成向导后,您可以在系统设置中进行详细的模型配置"})]});default:return null}};return i.jsxs("div",{className:"relative flex min-h-screen flex-col items-center justify-center overflow-hidden bg-gradient-to-br from-primary/5 via-background to-secondary/5 p-4 md:p-6",children:[i.jsxs("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[i.jsx("div",{className:"absolute left-1/4 top-1/4 h-64 w-64 md:h-96 md:w-96 rounded-full bg-primary/5 blur-3xl"}),i.jsx("div",{className:"absolute right-1/4 bottom-1/4 h-64 w-64 md:h-96 md:w-96 rounded-full bg-secondary/5 blur-3xl"})]}),d?i.jsxs("div",{className:"relative z-10 text-center",children:[i.jsx("div",{className:"mx-auto mb-4 flex h-16 w-16 items-center justify-center",children:i.jsx("div",{className:"h-12 w-12 animate-spin rounded-full border-4 border-primary border-t-transparent"})}),i.jsx("p",{className:"text-lg font-medium",children:"加载配置中..."}),i.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"正在读取现有配置"})]}):i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"relative z-10 w-full max-w-4xl",children:[i.jsxs("div",{className:"mb-6 md:mb-8 text-center",children:[i.jsx("div",{className:"mx-auto mb-4 flex h-12 w-12 md:h-16 md:w-16 items-center justify-center rounded-2xl bg-primary/10",children:i.jsx(Gge,{className:"h-6 w-6 md:h-8 md:w-8 text-primary",strokeWidth:2,fill:"none"})}),i.jsx("h1",{className:"mb-2 text-2xl md:text-3xl font-bold",children:"首次配置向导"}),i.jsxs("p",{className:"text-sm md:text-base text-muted-foreground",children:["让我们一起完成 ",fE," 的初始配置"]})]}),i.jsxs("div",{className:"mb-6 md:mb-8",children:[i.jsxs("div",{className:"mb-2 flex items-center justify-between text-xs md:text-sm",children:[i.jsxs("span",{className:"text-muted-foreground",children:["步骤 ",n+1," / ",E.length]}),i.jsxs("span",{className:"font-medium text-primary",children:[Math.round(O),"%"]})]}),i.jsx(Ih,{value:O,className:"h-2"})]}),i.jsx("div",{className:"mb-6 md:mb-8 flex justify-between",children:E.map((L,D)=>{const U=L.icon;return i.jsxs("div",{className:ue("flex flex-1 flex-col items-center gap-1 md:gap-2",De({to:"/"}),className:"gap-2 w-full sm:w-auto",children:[i.jsx(kg,{className:"h-4 w-4"}),"返回首页"]}),i.jsxs(oe,{size:"lg",variant:"outline",onClick:()=>window.history.back(),className:"gap-2 w-full sm:w-auto",children:[i.jsx(m8,{className:"h-4 w-4"}),"返回上一页"]})]}),i.jsx("div",{className:"mt-12 pt-8 border-t border-border",children:i.jsx("p",{className:"text-sm text-muted-foreground",children:"如果您认为这是一个错误,请联系系统管理员"})})]})})}var PF=["PageUp","PageDown"],RF=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],DF={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},Ju="Slider",[lC,Ibe,Lbe]=Rh(Ju),[$F]=yr(Ju,[Lbe]),[zbe,Vy]=$F(Ju),IF=y.forwardRef((e,t)=>{const{name:n,min:r=0,max:a=100,step:s=1,orientation:l="horizontal",disabled:u=!1,minStepsBetweenThumbs:d=0,defaultValue:f=[r],value:m,onValueChange:p=()=>{},onValueCommit:g=()=>{},inverted:x=!1,form:j,...w}=e,b=y.useRef(new Set),N=y.useRef(0),O=l==="horizontal"?Bbe:qbe,[A=[],C]=Ta({prop:m,defaultProp:f,onChange:D=>{[...b.current][N.current]?.focus(),p(D)}}),k=y.useRef(A);function T(D){const U=Vbe(A,D);L(D,U)}function M(D){L(D,N.current)}function R(){const D=k.current[N.current];A[N.current]!==D&&g(A)}function L(D,U,{commit:V}={commit:!1}){const H=Xbe(s),G=Zbe(Math.round((D-r)/s)*s+r,H),$=Df(G,[r,a]);C((I=[])=>{const q=Hbe(I,$,U);if(Kbe(q,d*s)){N.current=q.indexOf($);const Z=String(q)!==String(I);return Z&&V&&g(q),Z?q:I}else return I})}return i.jsx(zbe,{scope:e.__scopeSlider,name:n,disabled:u,min:r,max:a,valueIndexToChangeRef:N,thumbs:b.current,values:A,orientation:l,form:j,children:i.jsx(lC.Provider,{scope:e.__scopeSlider,children:i.jsx(lC.Slot,{scope:e.__scopeSlider,children:i.jsx(O,{"aria-disabled":u,"data-disabled":u?"":void 0,...w,ref:t,onPointerDown:Ne(w.onPointerDown,()=>{u||(k.current=A)}),min:r,max:a,inverted:x,onSlideStart:u?void 0:T,onSlideMove:u?void 0:M,onSlideEnd:u?void 0:R,onHomeKeyDown:()=>!u&&L(r,0,{commit:!0}),onEndKeyDown:()=>!u&&L(a,A.length-1,{commit:!0}),onStepKeyDown:({event:D,direction:U})=>{if(!u){const G=PF.includes(D.key)||D.shiftKey&&RF.includes(D.key)?10:1,$=N.current,I=A[$],q=s*G*U;L(I+q,$,{commit:!0})}}})})})})});IF.displayName=Ju;var[LF,zF]=$F(Ju,{startEdge:"left",endEdge:"right",size:"width",direction:1}),Bbe=y.forwardRef((e,t)=>{const{min:n,max:r,dir:a,inverted:s,onSlideStart:l,onSlideMove:u,onSlideEnd:d,onStepKeyDown:f,...m}=e,[p,g]=y.useState(null),x=Ue(t,O=>g(O)),j=y.useRef(void 0),w=Uu(a),b=w==="ltr",N=b&&!s||!b&&s;function E(O){const A=j.current||p.getBoundingClientRect(),C=[0,A.width],T=wE(C,N?[n,r]:[r,n]);return j.current=A,T(O-A.left)}return i.jsx(LF,{scope:e.__scopeSlider,startEdge:N?"left":"right",endEdge:N?"right":"left",direction:N?1:-1,size:"width",children:i.jsx(BF,{dir:w,"data-orientation":"horizontal",...m,ref:x,style:{...m.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:O=>{const A=E(O.clientX);l?.(A)},onSlideMove:O=>{const A=E(O.clientX);u?.(A)},onSlideEnd:()=>{j.current=void 0,d?.()},onStepKeyDown:O=>{const C=DF[N?"from-left":"from-right"].includes(O.key);f?.({event:O,direction:C?-1:1})}})})}),qbe=y.forwardRef((e,t)=>{const{min:n,max:r,inverted:a,onSlideStart:s,onSlideMove:l,onSlideEnd:u,onStepKeyDown:d,...f}=e,m=y.useRef(null),p=Ue(t,m),g=y.useRef(void 0),x=!a;function j(w){const b=g.current||m.current.getBoundingClientRect(),N=[0,b.height],O=wE(N,x?[r,n]:[n,r]);return g.current=b,O(w-b.top)}return i.jsx(LF,{scope:e.__scopeSlider,startEdge:x?"bottom":"top",endEdge:x?"top":"bottom",size:"height",direction:x?1:-1,children:i.jsx(BF,{"data-orientation":"vertical",...f,ref:p,style:{...f.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:w=>{const b=j(w.clientY);s?.(b)},onSlideMove:w=>{const b=j(w.clientY);l?.(b)},onSlideEnd:()=>{g.current=void 0,u?.()},onStepKeyDown:w=>{const N=DF[x?"from-bottom":"from-top"].includes(w.key);d?.({event:w,direction:N?-1:1})}})})}),BF=y.forwardRef((e,t)=>{const{__scopeSlider:n,onSlideStart:r,onSlideMove:a,onSlideEnd:s,onHomeKeyDown:l,onEndKeyDown:u,onStepKeyDown:d,...f}=e,m=Vy(Ju,n);return i.jsx($e.span,{...f,ref:t,onKeyDown:Ne(e.onKeyDown,p=>{p.key==="Home"?(l(p),p.preventDefault()):p.key==="End"?(u(p),p.preventDefault()):PF.concat(RF).includes(p.key)&&(d(p),p.preventDefault())}),onPointerDown:Ne(e.onPointerDown,p=>{const g=p.target;g.setPointerCapture(p.pointerId),p.preventDefault(),m.thumbs.has(g)?g.focus():r(p)}),onPointerMove:Ne(e.onPointerMove,p=>{p.target.hasPointerCapture(p.pointerId)&&a(p)}),onPointerUp:Ne(e.onPointerUp,p=>{const g=p.target;g.hasPointerCapture(p.pointerId)&&(g.releasePointerCapture(p.pointerId),s(p))})})}),qF="SliderTrack",FF=y.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,a=Vy(qF,n);return i.jsx($e.span,{"data-disabled":a.disabled?"":void 0,"data-orientation":a.orientation,...r,ref:t})});FF.displayName=qF;var cC="SliderRange",UF=y.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,a=Vy(cC,n),s=zF(cC,n),l=y.useRef(null),u=Ue(t,l),d=a.values.length,f=a.values.map(g=>VF(g,a.min,a.max)),m=d>1?Math.min(...f):0,p=100-Math.max(...f);return i.jsx($e.span,{"data-orientation":a.orientation,"data-disabled":a.disabled?"":void 0,...r,ref:u,style:{...e.style,[s.startEdge]:m+"%",[s.endEdge]:p+"%"}})});UF.displayName=cC;var uC="SliderThumb",HF=y.forwardRef((e,t)=>{const n=Ibe(e.__scopeSlider),[r,a]=y.useState(null),s=Ue(t,u=>a(u)),l=y.useMemo(()=>r?n().findIndex(u=>u.ref.current===r):-1,[n,r]);return i.jsx(Fbe,{...e,ref:s,index:l})}),Fbe=y.forwardRef((e,t)=>{const{__scopeSlider:n,index:r,name:a,...s}=e,l=Vy(uC,n),u=zF(uC,n),[d,f]=y.useState(null),m=Ue(t,E=>f(E)),p=d?l.form||!!d.closest("form"):!0,g=Ly(d),x=l.values[r],j=x===void 0?0:VF(x,l.min,l.max),w=Wbe(r,l.values.length),b=g?.[u.size],N=b?Gbe(b,j,u.direction):0;return y.useEffect(()=>{if(d)return l.thumbs.add(d),()=>{l.thumbs.delete(d)}},[d,l.thumbs]),i.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[u.startEdge]:`calc(${j}% + ${N}px)`},children:[i.jsx(lC.ItemSlot,{scope:e.__scopeSlider,children:i.jsx($e.span,{role:"slider","aria-label":e["aria-label"]||w,"aria-valuemin":l.min,"aria-valuenow":x,"aria-valuemax":l.max,"aria-orientation":l.orientation,"data-orientation":l.orientation,"data-disabled":l.disabled?"":void 0,tabIndex:l.disabled?void 0:0,...s,ref:m,style:x===void 0?{display:"none"}:e.style,onFocus:Ne(e.onFocus,()=>{l.valueIndexToChangeRef.current=r})})}),p&&i.jsx(WF,{name:a??(l.name?l.name+(l.values.length>1?"[]":""):void 0),form:l.form,value:x},r)]})});HF.displayName=uC;var Ube="RadioBubbleInput",WF=y.forwardRef(({__scopeSlider:e,value:t,...n},r)=>{const a=y.useRef(null),s=Ue(a,r),l=Iy(t);return y.useEffect(()=>{const u=a.current;if(!u)return;const d=window.HTMLInputElement.prototype,m=Object.getOwnPropertyDescriptor(d,"value").set;if(l!==t&&m){const p=new Event("input",{bubbles:!0});m.call(u,t),u.dispatchEvent(p)}},[l,t]),i.jsx($e.input,{style:{display:"none"},...n,ref:s,defaultValue:t})});WF.displayName=Ube;function Hbe(e=[],t,n){const r=[...e];return r[n]=t,r.sort((a,s)=>a-s)}function VF(e,t,n){const s=100/(n-t)*(e-t);return Df(s,[0,100])}function Wbe(e,t){return t>2?`Value ${e+1} of ${t}`:t===2?["Minimum","Maximum"][e]:void 0}function Vbe(e,t){if(e.length===1)return 0;const n=e.map(a=>Math.abs(a-t)),r=Math.min(...n);return n.indexOf(r)}function Gbe(e,t,n){const r=e/2,s=wE([0,50],[0,r]);return(r-s(t)*n)*n}function Ybe(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function Kbe(e,t){if(t>0){const n=Ybe(e);return Math.min(...n)>=t}return!0}function wE(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function Xbe(e){return(String(e).split(".")[1]||"").length}function Zbe(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}var GF=IF,Qbe=FF,Jbe=UF,e0e=HF;const Gy=y.forwardRef(({className:e,...t},n)=>i.jsxs(GF,{ref:n,className:ue("relative flex w-full touch-none select-none items-center",e),...t,children:[i.jsx(Qbe,{className:"relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20",children:i.jsx(Jbe,{className:"absolute h-full bg-primary"})}),i.jsx(e0e,{className:"block h-4 w-4 rounded-full border border-primary/50 bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50"})]}));Gy.displayName=GF.displayName;const t0e=["top","right","bottom","left"],io=Math.min,aa=Math.max,Rg=Math.round,Jp=Math.floor,xi=e=>({x:e,y:e}),n0e={left:"right",right:"left",bottom:"top",top:"bottom"},r0e={start:"end",end:"start"};function dC(e,t,n){return aa(e,io(t,n))}function ds(e,t){return typeof e=="function"?e(t):e}function fs(e){return e.split("-")[0]}function ed(e){return e.split("-")[1]}function jE(e){return e==="x"?"y":"x"}function SE(e){return e==="y"?"height":"width"}const a0e=new Set(["top","bottom"]);function mi(e){return a0e.has(fs(e))?"y":"x"}function _E(e){return jE(mi(e))}function i0e(e,t,n){n===void 0&&(n=!1);const r=ed(e),a=_E(e),s=SE(a);let l=a==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(l=Dg(l)),[l,Dg(l)]}function s0e(e){const t=Dg(e);return[fC(e),t,fC(t)]}function fC(e){return e.replace(/start|end/g,t=>r0e[t])}const jL=["left","right"],SL=["right","left"],o0e=["top","bottom"],l0e=["bottom","top"];function c0e(e,t,n){switch(e){case"top":case"bottom":return n?t?SL:jL:t?jL:SL;case"left":case"right":return t?o0e:l0e;default:return[]}}function u0e(e,t,n,r){const a=ed(e);let s=c0e(fs(e),n==="start",r);return a&&(s=s.map(l=>l+"-"+a),t&&(s=s.concat(s.map(fC)))),s}function Dg(e){return e.replace(/left|right|bottom|top/g,t=>n0e[t])}function d0e(e){return{top:0,right:0,bottom:0,left:0,...e}}function YF(e){return typeof e!="number"?d0e(e):{top:e,right:e,bottom:e,left:e}}function $g(e){const{x:t,y:n,width:r,height:a}=e;return{width:r,height:a,top:n,left:t,right:t+r,bottom:n+a,x:t,y:n}}function _L(e,t,n){let{reference:r,floating:a}=e;const s=mi(t),l=_E(t),u=SE(l),d=fs(t),f=s==="y",m=r.x+r.width/2-a.width/2,p=r.y+r.height/2-a.height/2,g=r[u]/2-a[u]/2;let x;switch(d){case"top":x={x:m,y:r.y-a.height};break;case"bottom":x={x:m,y:r.y+r.height};break;case"right":x={x:r.x+r.width,y:p};break;case"left":x={x:r.x-a.width,y:p};break;default:x={x:r.x,y:r.y}}switch(ed(t)){case"start":x[l]-=g*(n&&f?-1:1);break;case"end":x[l]+=g*(n&&f?-1:1);break}return x}const f0e=async(e,t,n)=>{const{placement:r="bottom",strategy:a="absolute",middleware:s=[],platform:l}=n,u=s.filter(Boolean),d=await(l.isRTL==null?void 0:l.isRTL(t));let f=await l.getElementRects({reference:e,floating:t,strategy:a}),{x:m,y:p}=_L(f,r,d),g=r,x={},j=0;for(let w=0;w({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:a,rects:s,platform:l,elements:u,middlewareData:d}=t,{element:f,padding:m=0}=ds(e,t)||{};if(f==null)return{};const p=YF(m),g={x:n,y:r},x=_E(a),j=SE(x),w=await l.getDimensions(f),b=x==="y",N=b?"top":"left",E=b?"bottom":"right",O=b?"clientHeight":"clientWidth",A=s.reference[j]+s.reference[x]-g[x]-s.floating[j],C=g[x]-s.reference[x],k=await(l.getOffsetParent==null?void 0:l.getOffsetParent(f));let T=k?k[O]:0;(!T||!await(l.isElement==null?void 0:l.isElement(k)))&&(T=u.floating[O]||s.floating[j]);const M=A/2-C/2,R=T/2-w[j]/2-1,L=io(p[N],R),D=io(p[E],R),U=L,V=T-w[j]-D,H=T/2-w[j]/2+M,G=dC(U,H,V),$=!d.arrow&&ed(a)!=null&&H!==G&&s.reference[j]/2-(HH<=0)){var D,U;const H=(((D=s.flip)==null?void 0:D.index)||0)+1,G=T[H];if(G&&(!(p==="alignment"?E!==mi(G):!1)||L.every(q=>mi(q.placement)===E?q.overflows[0]>0:!0)))return{data:{index:H,overflows:L},reset:{placement:G}};let $=(U=L.filter(I=>I.overflows[0]<=0).sort((I,q)=>I.overflows[1]-q.overflows[1])[0])==null?void 0:U.placement;if(!$)switch(x){case"bestFit":{var V;const I=(V=L.filter(q=>{if(k){const Z=mi(q.placement);return Z===E||Z==="y"}return!0}).map(q=>[q.placement,q.overflows.filter(Z=>Z>0).reduce((Z,ee)=>Z+ee,0)]).sort((q,Z)=>q[1]-Z[1])[0])==null?void 0:V[0];I&&($=I);break}case"initialPlacement":$=u;break}if(a!==$)return{reset:{placement:$}}}return{}}}};function NL(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function CL(e){return t0e.some(t=>e[t]>=0)}const p0e=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:r="referenceHidden",...a}=ds(e,t);switch(r){case"referenceHidden":{const s=await jh(t,{...a,elementContext:"reference"}),l=NL(s,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:CL(l)}}}case"escaped":{const s=await jh(t,{...a,altBoundary:!0}),l=NL(s,n.floating);return{data:{escapedOffsets:l,escaped:CL(l)}}}default:return{}}}}},KF=new Set(["left","top"]);async function v0e(e,t){const{placement:n,platform:r,elements:a}=e,s=await(r.isRTL==null?void 0:r.isRTL(a.floating)),l=fs(n),u=ed(n),d=mi(n)==="y",f=KF.has(l)?-1:1,m=s&&d?-1:1,p=ds(t,e);let{mainAxis:g,crossAxis:x,alignmentAxis:j}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return u&&typeof j=="number"&&(x=u==="end"?j*-1:j),d?{x:x*m,y:g*f}:{x:g*f,y:x*m}}const g0e=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:a,y:s,placement:l,middlewareData:u}=t,d=await v0e(t,e);return l===((n=u.offset)==null?void 0:n.placement)&&(r=u.arrow)!=null&&r.alignmentOffset?{}:{x:a+d.x,y:s+d.y,data:{...d,placement:l}}}}},y0e=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:a}=t,{mainAxis:s=!0,crossAxis:l=!1,limiter:u={fn:b=>{let{x:N,y:E}=b;return{x:N,y:E}}},...d}=ds(e,t),f={x:n,y:r},m=await jh(t,d),p=mi(fs(a)),g=jE(p);let x=f[g],j=f[p];if(s){const b=g==="y"?"top":"left",N=g==="y"?"bottom":"right",E=x+m[b],O=x-m[N];x=dC(E,x,O)}if(l){const b=p==="y"?"top":"left",N=p==="y"?"bottom":"right",E=j+m[b],O=j-m[N];j=dC(E,j,O)}const w=u.fn({...t,[g]:x,[p]:j});return{...w,data:{x:w.x-n,y:w.y-r,enabled:{[g]:s,[p]:l}}}}}},x0e=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:a,rects:s,middlewareData:l}=t,{offset:u=0,mainAxis:d=!0,crossAxis:f=!0}=ds(e,t),m={x:n,y:r},p=mi(a),g=jE(p);let x=m[g],j=m[p];const w=ds(u,t),b=typeof w=="number"?{mainAxis:w,crossAxis:0}:{mainAxis:0,crossAxis:0,...w};if(d){const O=g==="y"?"height":"width",A=s.reference[g]-s.floating[O]+b.mainAxis,C=s.reference[g]+s.reference[O]-b.mainAxis;xC&&(x=C)}if(f){var N,E;const O=g==="y"?"width":"height",A=KF.has(fs(a)),C=s.reference[p]-s.floating[O]+(A&&((N=l.offset)==null?void 0:N[p])||0)+(A?0:b.crossAxis),k=s.reference[p]+s.reference[O]+(A?0:((E=l.offset)==null?void 0:E[p])||0)-(A?b.crossAxis:0);jk&&(j=k)}return{[g]:x,[p]:j}}}},b0e=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:a,rects:s,platform:l,elements:u}=t,{apply:d=()=>{},...f}=ds(e,t),m=await jh(t,f),p=fs(a),g=ed(a),x=mi(a)==="y",{width:j,height:w}=s.floating;let b,N;p==="top"||p==="bottom"?(b=p,N=g===(await(l.isRTL==null?void 0:l.isRTL(u.floating))?"start":"end")?"left":"right"):(N=p,b=g==="end"?"top":"bottom");const E=w-m.top-m.bottom,O=j-m.left-m.right,A=io(w-m[b],E),C=io(j-m[N],O),k=!t.middlewareData.shift;let T=A,M=C;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(M=O),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(T=E),k&&!g){const L=aa(m.left,0),D=aa(m.right,0),U=aa(m.top,0),V=aa(m.bottom,0);x?M=j-2*(L!==0||D!==0?L+D:aa(m.left,m.right)):T=w-2*(U!==0||V!==0?U+V:aa(m.top,m.bottom))}await d({...t,availableWidth:M,availableHeight:T});const R=await l.getDimensions(u.floating);return j!==R.width||w!==R.height?{reset:{rects:!0}}:{}}}};function Yy(){return typeof window<"u"}function td(e){return XF(e)?(e.nodeName||"").toLowerCase():"#document"}function la(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Oi(e){var t;return(t=(XF(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function XF(e){return Yy()?e instanceof Node||e instanceof la(e).Node:!1}function Ka(e){return Yy()?e instanceof Element||e instanceof la(e).Element:!1}function Si(e){return Yy()?e instanceof HTMLElement||e instanceof la(e).HTMLElement:!1}function OL(e){return!Yy()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof la(e).ShadowRoot}const w0e=new Set(["inline","contents"]);function em(e){const{overflow:t,overflowX:n,overflowY:r,display:a}=Xa(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!w0e.has(a)}const j0e=new Set(["table","td","th"]);function S0e(e){return j0e.has(td(e))}const _0e=[":popover-open",":modal"];function Ky(e){return _0e.some(t=>{try{return e.matches(t)}catch{return!1}})}const N0e=["transform","translate","scale","rotate","perspective"],C0e=["transform","translate","scale","rotate","perspective","filter"],O0e=["paint","layout","strict","content"];function NE(e){const t=CE(),n=Ka(e)?Xa(e):e;return N0e.some(r=>n[r]?n[r]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||C0e.some(r=>(n.willChange||"").includes(r))||O0e.some(r=>(n.contain||"").includes(r))}function E0e(e){let t=so(e);for(;Si(t)&&!$u(t);){if(NE(t))return t;if(Ky(t))return null;t=so(t)}return null}function CE(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const A0e=new Set(["html","body","#document"]);function $u(e){return A0e.has(td(e))}function Xa(e){return la(e).getComputedStyle(e)}function Xy(e){return Ka(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function so(e){if(td(e)==="html")return e;const t=e.assignedSlot||e.parentNode||OL(e)&&e.host||Oi(e);return OL(t)?t.host:t}function ZF(e){const t=so(e);return $u(t)?e.ownerDocument?e.ownerDocument.body:e.body:Si(t)&&em(t)?t:ZF(t)}function Sh(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const a=ZF(e),s=a===((r=e.ownerDocument)==null?void 0:r.body),l=la(a);if(s){const u=hC(l);return t.concat(l,l.visualViewport||[],em(a)?a:[],u&&n?Sh(u):[])}return t.concat(a,Sh(a,[],n))}function hC(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function QF(e){const t=Xa(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const a=Si(e),s=a?e.offsetWidth:n,l=a?e.offsetHeight:r,u=Rg(n)!==s||Rg(r)!==l;return u&&(n=s,r=l),{width:n,height:r,$:u}}function OE(e){return Ka(e)?e:e.contextElement}function Jc(e){const t=OE(e);if(!Si(t))return xi(1);const n=t.getBoundingClientRect(),{width:r,height:a,$:s}=QF(t);let l=(s?Rg(n.width):n.width)/r,u=(s?Rg(n.height):n.height)/a;return(!l||!Number.isFinite(l))&&(l=1),(!u||!Number.isFinite(u))&&(u=1),{x:l,y:u}}const T0e=xi(0);function JF(e){const t=la(e);return!CE()||!t.visualViewport?T0e:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function k0e(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==la(e)?!1:t}function wl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const a=e.getBoundingClientRect(),s=OE(e);let l=xi(1);t&&(r?Ka(r)&&(l=Jc(r)):l=Jc(e));const u=k0e(s,n,r)?JF(s):xi(0);let d=(a.left+u.x)/l.x,f=(a.top+u.y)/l.y,m=a.width/l.x,p=a.height/l.y;if(s){const g=la(s),x=r&&Ka(r)?la(r):r;let j=g,w=hC(j);for(;w&&r&&x!==j;){const b=Jc(w),N=w.getBoundingClientRect(),E=Xa(w),O=N.left+(w.clientLeft+parseFloat(E.paddingLeft))*b.x,A=N.top+(w.clientTop+parseFloat(E.paddingTop))*b.y;d*=b.x,f*=b.y,m*=b.x,p*=b.y,d+=O,f+=A,j=la(w),w=hC(j)}}return $g({width:m,height:p,x:d,y:f})}function Zy(e,t){const n=Xy(e).scrollLeft;return t?t.left+n:wl(Oi(e)).left+n}function eU(e,t){const n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-Zy(e,n),a=n.top+t.scrollTop;return{x:r,y:a}}function M0e(e){let{elements:t,rect:n,offsetParent:r,strategy:a}=e;const s=a==="fixed",l=Oi(r),u=t?Ky(t.floating):!1;if(r===l||u&&s)return n;let d={scrollLeft:0,scrollTop:0},f=xi(1);const m=xi(0),p=Si(r);if((p||!p&&!s)&&((td(r)!=="body"||em(l))&&(d=Xy(r)),Si(r))){const x=wl(r);f=Jc(r),m.x=x.x+r.clientLeft,m.y=x.y+r.clientTop}const g=l&&!p&&!s?eU(l,d):xi(0);return{width:n.width*f.x,height:n.height*f.y,x:n.x*f.x-d.scrollLeft*f.x+m.x+g.x,y:n.y*f.y-d.scrollTop*f.y+m.y+g.y}}function P0e(e){return Array.from(e.getClientRects())}function R0e(e){const t=Oi(e),n=Xy(e),r=e.ownerDocument.body,a=aa(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),s=aa(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let l=-n.scrollLeft+Zy(e);const u=-n.scrollTop;return Xa(r).direction==="rtl"&&(l+=aa(t.clientWidth,r.clientWidth)-a),{width:a,height:s,x:l,y:u}}const EL=25;function D0e(e,t){const n=la(e),r=Oi(e),a=n.visualViewport;let s=r.clientWidth,l=r.clientHeight,u=0,d=0;if(a){s=a.width,l=a.height;const m=CE();(!m||m&&t==="fixed")&&(u=a.offsetLeft,d=a.offsetTop)}const f=Zy(r);if(f<=0){const m=r.ownerDocument,p=m.body,g=getComputedStyle(p),x=m.compatMode==="CSS1Compat"&&parseFloat(g.marginLeft)+parseFloat(g.marginRight)||0,j=Math.abs(r.clientWidth-p.clientWidth-x);j<=EL&&(s-=j)}else f<=EL&&(s+=f);return{width:s,height:l,x:u,y:d}}const $0e=new Set(["absolute","fixed"]);function I0e(e,t){const n=wl(e,!0,t==="fixed"),r=n.top+e.clientTop,a=n.left+e.clientLeft,s=Si(e)?Jc(e):xi(1),l=e.clientWidth*s.x,u=e.clientHeight*s.y,d=a*s.x,f=r*s.y;return{width:l,height:u,x:d,y:f}}function AL(e,t,n){let r;if(t==="viewport")r=D0e(e,n);else if(t==="document")r=R0e(Oi(e));else if(Ka(t))r=I0e(t,n);else{const a=JF(e);r={x:t.x-a.x,y:t.y-a.y,width:t.width,height:t.height}}return $g(r)}function tU(e,t){const n=so(e);return n===t||!Ka(n)||$u(n)?!1:Xa(n).position==="fixed"||tU(n,t)}function L0e(e,t){const n=t.get(e);if(n)return n;let r=Sh(e,[],!1).filter(u=>Ka(u)&&td(u)!=="body"),a=null;const s=Xa(e).position==="fixed";let l=s?so(e):e;for(;Ka(l)&&!$u(l);){const u=Xa(l),d=NE(l);!d&&u.position==="fixed"&&(a=null),(s?!d&&!a:!d&&u.position==="static"&&!!a&&$0e.has(a.position)||em(l)&&!d&&tU(e,l))?r=r.filter(m=>m!==l):a=u,l=so(l)}return t.set(e,r),r}function z0e(e){let{element:t,boundary:n,rootBoundary:r,strategy:a}=e;const l=[...n==="clippingAncestors"?Ky(t)?[]:L0e(t,this._c):[].concat(n),r],u=l[0],d=l.reduce((f,m)=>{const p=AL(t,m,a);return f.top=aa(p.top,f.top),f.right=io(p.right,f.right),f.bottom=io(p.bottom,f.bottom),f.left=aa(p.left,f.left),f},AL(t,u,a));return{width:d.right-d.left,height:d.bottom-d.top,x:d.left,y:d.top}}function B0e(e){const{width:t,height:n}=QF(e);return{width:t,height:n}}function q0e(e,t,n){const r=Si(t),a=Oi(t),s=n==="fixed",l=wl(e,!0,s,t);let u={scrollLeft:0,scrollTop:0};const d=xi(0);function f(){d.x=Zy(a)}if(r||!r&&!s)if((td(t)!=="body"||em(a))&&(u=Xy(t)),r){const x=wl(t,!0,s,t);d.x=x.x+t.clientLeft,d.y=x.y+t.clientTop}else a&&f();s&&!r&&a&&f();const m=a&&!r&&!s?eU(a,u):xi(0),p=l.left+u.scrollLeft-d.x-m.x,g=l.top+u.scrollTop-d.y-m.y;return{x:p,y:g,width:l.width,height:l.height}}function u_(e){return Xa(e).position==="static"}function TL(e,t){if(!Si(e)||Xa(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Oi(e)===n&&(n=n.ownerDocument.body),n}function nU(e,t){const n=la(e);if(Ky(e))return n;if(!Si(e)){let a=so(e);for(;a&&!$u(a);){if(Ka(a)&&!u_(a))return a;a=so(a)}return n}let r=TL(e,t);for(;r&&S0e(r)&&u_(r);)r=TL(r,t);return r&&$u(r)&&u_(r)&&!NE(r)?n:r||E0e(e)||n}const F0e=async function(e){const t=this.getOffsetParent||nU,n=this.getDimensions,r=await n(e.floating);return{reference:q0e(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function U0e(e){return Xa(e).direction==="rtl"}const H0e={convertOffsetParentRelativeRectToViewportRelativeRect:M0e,getDocumentElement:Oi,getClippingRect:z0e,getOffsetParent:nU,getElementRects:F0e,getClientRects:P0e,getDimensions:B0e,getScale:Jc,isElement:Ka,isRTL:U0e};function rU(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function W0e(e,t){let n=null,r;const a=Oi(e);function s(){var u;clearTimeout(r),(u=n)==null||u.disconnect(),n=null}function l(u,d){u===void 0&&(u=!1),d===void 0&&(d=1),s();const f=e.getBoundingClientRect(),{left:m,top:p,width:g,height:x}=f;if(u||t(),!g||!x)return;const j=Jp(p),w=Jp(a.clientWidth-(m+g)),b=Jp(a.clientHeight-(p+x)),N=Jp(m),O={rootMargin:-j+"px "+-w+"px "+-b+"px "+-N+"px",threshold:aa(0,io(1,d))||1};let A=!0;function C(k){const T=k[0].intersectionRatio;if(T!==d){if(!A)return l();T?l(!1,T):r=setTimeout(()=>{l(!1,1e-7)},1e3)}T===1&&!rU(f,e.getBoundingClientRect())&&l(),A=!1}try{n=new IntersectionObserver(C,{...O,root:a.ownerDocument})}catch{n=new IntersectionObserver(C,O)}n.observe(e)}return l(!0),s}function V0e(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:a=!0,ancestorResize:s=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:d=!1}=r,f=OE(e),m=a||s?[...f?Sh(f):[],...Sh(t)]:[];m.forEach(N=>{a&&N.addEventListener("scroll",n,{passive:!0}),s&&N.addEventListener("resize",n)});const p=f&&u?W0e(f,n):null;let g=-1,x=null;l&&(x=new ResizeObserver(N=>{let[E]=N;E&&E.target===f&&x&&(x.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var O;(O=x)==null||O.observe(t)})),n()}),f&&!d&&x.observe(f),x.observe(t));let j,w=d?wl(e):null;d&&b();function b(){const N=wl(e);w&&!rU(w,N)&&n(),w=N,j=requestAnimationFrame(b)}return n(),()=>{var N;m.forEach(E=>{a&&E.removeEventListener("scroll",n),s&&E.removeEventListener("resize",n)}),p?.(),(N=x)==null||N.disconnect(),x=null,d&&cancelAnimationFrame(j)}}const G0e=g0e,Y0e=y0e,K0e=m0e,X0e=b0e,Z0e=p0e,kL=h0e,Q0e=x0e,J0e=(e,t,n)=>{const r=new Map,a={platform:H0e,...n},s={...a.platform,_c:r};return f0e(e,t,{...a,platform:s})};var ewe=typeof document<"u",twe=function(){},vv=ewe?y.useLayoutEffect:twe;function Ig(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,a;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Ig(e[r],t[r]))return!1;return!0}if(a=Object.keys(e),n=a.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,a[r]))return!1;for(r=n;r--!==0;){const s=a[r];if(!(s==="_owner"&&e.$$typeof)&&!Ig(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function aU(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function ML(e,t){const n=aU(e);return Math.round(t*n)/n}function d_(e){const t=y.useRef(e);return vv(()=>{t.current=e}),t}function nwe(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:a,elements:{reference:s,floating:l}={},transform:u=!0,whileElementsMounted:d,open:f}=e,[m,p]=y.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[g,x]=y.useState(r);Ig(g,r)||x(r);const[j,w]=y.useState(null),[b,N]=y.useState(null),E=y.useCallback(q=>{q!==k.current&&(k.current=q,w(q))},[]),O=y.useCallback(q=>{q!==T.current&&(T.current=q,N(q))},[]),A=s||j,C=l||b,k=y.useRef(null),T=y.useRef(null),M=y.useRef(m),R=d!=null,L=d_(d),D=d_(a),U=d_(f),V=y.useCallback(()=>{if(!k.current||!T.current)return;const q={placement:t,strategy:n,middleware:g};D.current&&(q.platform=D.current),J0e(k.current,T.current,q).then(Z=>{const ee={...Z,isPositioned:U.current!==!1};H.current&&!Ig(M.current,ee)&&(M.current=ee,Nl.flushSync(()=>{p(ee)}))})},[g,t,n,D,U]);vv(()=>{f===!1&&M.current.isPositioned&&(M.current.isPositioned=!1,p(q=>({...q,isPositioned:!1})))},[f]);const H=y.useRef(!1);vv(()=>(H.current=!0,()=>{H.current=!1}),[]),vv(()=>{if(A&&(k.current=A),C&&(T.current=C),A&&C){if(L.current)return L.current(A,C,V);V()}},[A,C,V,L,R]);const G=y.useMemo(()=>({reference:k,floating:T,setReference:E,setFloating:O}),[E,O]),$=y.useMemo(()=>({reference:A,floating:C}),[A,C]),I=y.useMemo(()=>{const q={position:n,left:0,top:0};if(!$.floating)return q;const Z=ML($.floating,m.x),ee=ML($.floating,m.y);return u?{...q,transform:"translate("+Z+"px, "+ee+"px)",...aU($.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:Z,top:ee}},[n,u,$.floating,m.x,m.y]);return y.useMemo(()=>({...m,update:V,refs:G,elements:$,floatingStyles:I}),[m,V,G,$,I])}const rwe=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:r,padding:a}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?kL({element:r.current,padding:a}).fn(n):{}:r?kL({element:r,padding:a}).fn(n):{}}}},awe=(e,t)=>({...G0e(e),options:[e,t]}),iwe=(e,t)=>({...Y0e(e),options:[e,t]}),swe=(e,t)=>({...Q0e(e),options:[e,t]}),owe=(e,t)=>({...K0e(e),options:[e,t]}),lwe=(e,t)=>({...X0e(e),options:[e,t]}),cwe=(e,t)=>({...Z0e(e),options:[e,t]}),uwe=(e,t)=>({...rwe(e),options:[e,t]});var dwe="Arrow",iU=y.forwardRef((e,t)=>{const{children:n,width:r=10,height:a=5,...s}=e;return i.jsx($e.svg,{...s,ref:t,width:r,height:a,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:i.jsx("polygon",{points:"0,0 30,0 15,10"})})});iU.displayName=dwe;var fwe=iU,EE="Popper",[sU,vo]=yr(EE),[hwe,oU]=sU(EE),lU=e=>{const{__scopePopper:t,children:n}=e,[r,a]=y.useState(null);return i.jsx(hwe,{scope:t,anchor:r,onAnchorChange:a,children:n})};lU.displayName=EE;var cU="PopperAnchor",uU=y.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...a}=e,s=oU(cU,n),l=y.useRef(null),u=Ue(t,l),d=y.useRef(null);return y.useEffect(()=>{const f=d.current;d.current=r?.current||l.current,f!==d.current&&s.onAnchorChange(d.current)}),r?null:i.jsx($e.div,{...a,ref:u})});uU.displayName=cU;var AE="PopperContent",[mwe,pwe]=sU(AE),dU=y.forwardRef((e,t)=>{const{__scopePopper:n,side:r="bottom",sideOffset:a=0,align:s="center",alignOffset:l=0,arrowPadding:u=0,avoidCollisions:d=!0,collisionBoundary:f=[],collisionPadding:m=0,sticky:p="partial",hideWhenDetached:g=!1,updatePositionStrategy:x="optimized",onPlaced:j,...w}=e,b=oU(AE,n),[N,E]=y.useState(null),O=Ue(t,ae=>E(ae)),[A,C]=y.useState(null),k=Ly(A),T=k?.width??0,M=k?.height??0,R=r+(s!=="center"?"-"+s:""),L=typeof m=="number"?m:{top:0,right:0,bottom:0,left:0,...m},D=Array.isArray(f)?f:[f],U=D.length>0,V={padding:L,boundary:D.filter(gwe),altBoundary:U},{refs:H,floatingStyles:G,placement:$,isPositioned:I,middlewareData:q}=nwe({strategy:"fixed",placement:R,whileElementsMounted:(...ae)=>V0e(...ae,{animationFrame:x==="always"}),elements:{reference:b.anchor},middleware:[awe({mainAxis:a+M,alignmentAxis:l}),d&&iwe({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?swe():void 0,...V}),d&&owe({...V}),lwe({...V,apply:({elements:ae,rects:we,availableWidth:Y,availableHeight:pe})=>{const{width:je,height:X}=we.reference,Ae=ae.floating.style;Ae.setProperty("--radix-popper-available-width",`${Y}px`),Ae.setProperty("--radix-popper-available-height",`${pe}px`),Ae.setProperty("--radix-popper-anchor-width",`${je}px`),Ae.setProperty("--radix-popper-anchor-height",`${X}px`)}}),A&&uwe({element:A,padding:u}),ywe({arrowWidth:T,arrowHeight:M}),g&&cwe({strategy:"referenceHidden",...V})]}),[Z,ee]=mU($),F=yn(j);Yn(()=>{I&&F?.()},[I,F]);const z=q.arrow?.x,K=q.arrow?.y,ie=q.arrow?.centerOffset!==0,[Q,he]=y.useState();return Yn(()=>{N&&he(window.getComputedStyle(N).zIndex)},[N]),i.jsx("div",{ref:H.setFloating,"data-radix-popper-content-wrapper":"",style:{...G,transform:I?G.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Q,"--radix-popper-transform-origin":[q.transformOrigin?.x,q.transformOrigin?.y].join(" "),...q.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:i.jsx(mwe,{scope:n,placedSide:Z,onArrowChange:C,arrowX:z,arrowY:K,shouldHideArrow:ie,children:i.jsx($e.div,{"data-side":Z,"data-align":ee,...w,ref:O,style:{...w.style,animation:I?void 0:"none"}})})})});dU.displayName=AE;var fU="PopperArrow",vwe={top:"bottom",right:"left",bottom:"top",left:"right"},hU=y.forwardRef(function(t,n){const{__scopePopper:r,...a}=t,s=pwe(fU,r),l=vwe[s.placedSide];return i.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[l]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:i.jsx(fwe,{...a,ref:n,style:{...a.style,display:"block"}})})});hU.displayName=fU;function gwe(e){return e!==null}var ywe=e=>({name:"transformOrigin",options:e,fn(t){const{placement:n,rects:r,middlewareData:a}=t,l=a.arrow?.centerOffset!==0,u=l?0:e.arrowWidth,d=l?0:e.arrowHeight,[f,m]=mU(n),p={start:"0%",center:"50%",end:"100%"}[m],g=(a.arrow?.x??0)+u/2,x=(a.arrow?.y??0)+d/2;let j="",w="";return f==="bottom"?(j=l?p:`${g}px`,w=`${-d}px`):f==="top"?(j=l?p:`${g}px`,w=`${r.floating.height+d}px`):f==="right"?(j=`${-d}px`,w=l?p:`${x}px`):f==="left"&&(j=`${r.floating.width+d}px`,w=l?p:`${x}px`),{data:{x:j,y:w}}}});function mU(e){const[t,n="center"]=e.split("-");return[t,n]}var tm=lU,nm=uU,Qy=dU,Jy=hU;function xwe(e){const t=bwe(e),n=y.forwardRef((r,a)=>{const{children:s,...l}=r,u=y.Children.toArray(s),d=u.find(jwe);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}function bwe(e){const t=y.forwardRef((n,r)=>{const{children:a,...s}=n;if(y.isValidElement(a)){const l=_we(a),u=Swe(s,a.props);return a.type!==y.Fragment&&(u.ref=r?zr(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var wwe=Symbol("radix.slottable");function jwe(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===wwe}function Swe(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function _we(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var pU=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Nwe="VisuallyHidden",ex=y.forwardRef((e,t)=>i.jsx($e.span,{...e,ref:t,style:{...pU,...e.style}}));ex.displayName=Nwe;var Cwe=ex,Owe=[" ","Enter","ArrowUp","ArrowDown"],Ewe=[" ","Enter"],jl="Select",[tx,nx,Awe]=Rh(jl),[nd]=yr(jl,[Awe,vo]),rx=vo(),[Twe,go]=nd(jl),[kwe,Mwe]=nd(jl),vU=e=>{const{__scopeSelect:t,children:n,open:r,defaultOpen:a,onOpenChange:s,value:l,defaultValue:u,onValueChange:d,dir:f,name:m,autoComplete:p,disabled:g,required:x,form:j}=e,w=rx(t),[b,N]=y.useState(null),[E,O]=y.useState(null),[A,C]=y.useState(!1),k=Uu(f),[T,M]=Ta({prop:r,defaultProp:a??!1,onChange:s,caller:jl}),[R,L]=Ta({prop:l,defaultProp:u,onChange:d,caller:jl}),D=y.useRef(null),U=b?j||!!b.closest("form"):!0,[V,H]=y.useState(new Set),G=Array.from(V).map($=>$.props.value).join(";");return i.jsx(tm,{...w,children:i.jsxs(Twe,{required:x,scope:t,trigger:b,onTriggerChange:N,valueNode:E,onValueNodeChange:O,valueNodeHasChildren:A,onValueNodeHasChildrenChange:C,contentId:Gn(),value:R,onValueChange:L,open:T,onOpenChange:M,dir:k,triggerPointerDownPosRef:D,disabled:g,children:[i.jsx(tx.Provider,{scope:t,children:i.jsx(kwe,{scope:e.__scopeSelect,onNativeOptionAdd:y.useCallback($=>{H(I=>new Set(I).add($))},[]),onNativeOptionRemove:y.useCallback($=>{H(I=>{const q=new Set(I);return q.delete($),q})},[]),children:n})}),U?i.jsxs(BU,{"aria-hidden":!0,required:x,tabIndex:-1,name:m,autoComplete:p,value:R,onChange:$=>L($.target.value),disabled:g,form:j,children:[R===void 0?i.jsx("option",{value:""}):null,Array.from(V)]},G):null]})})};vU.displayName=jl;var gU="SelectTrigger",yU=y.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...a}=e,s=rx(n),l=go(gU,n),u=l.disabled||r,d=Ue(t,l.onTriggerChange),f=nx(n),m=y.useRef("touch"),[p,g,x]=FU(w=>{const b=f().filter(O=>!O.disabled),N=b.find(O=>O.value===l.value),E=UU(b,w,N);E!==void 0&&l.onValueChange(E.value)}),j=w=>{u||(l.onOpenChange(!0),x()),w&&(l.triggerPointerDownPosRef.current={x:Math.round(w.pageX),y:Math.round(w.pageY)})};return i.jsx(nm,{asChild:!0,...s,children:i.jsx($e.button,{type:"button",role:"combobox","aria-controls":l.contentId,"aria-expanded":l.open,"aria-required":l.required,"aria-autocomplete":"none",dir:l.dir,"data-state":l.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":qU(l.value)?"":void 0,...a,ref:d,onClick:Ne(a.onClick,w=>{w.currentTarget.focus(),m.current!=="mouse"&&j(w)}),onPointerDown:Ne(a.onPointerDown,w=>{m.current=w.pointerType;const b=w.target;b.hasPointerCapture(w.pointerId)&&b.releasePointerCapture(w.pointerId),w.button===0&&w.ctrlKey===!1&&w.pointerType==="mouse"&&(j(w),w.preventDefault())}),onKeyDown:Ne(a.onKeyDown,w=>{const b=p.current!=="";!(w.ctrlKey||w.altKey||w.metaKey)&&w.key.length===1&&g(w.key),!(b&&w.key===" ")&&Owe.includes(w.key)&&(j(),w.preventDefault())})})})});yU.displayName=gU;var xU="SelectValue",bU=y.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:a,children:s,placeholder:l="",...u}=e,d=go(xU,n),{onValueNodeHasChildrenChange:f}=d,m=s!==void 0,p=Ue(t,d.onValueNodeChange);return Yn(()=>{f(m)},[f,m]),i.jsx($e.span,{...u,ref:p,style:{pointerEvents:"none"},children:qU(d.value)?i.jsx(i.Fragment,{children:l}):s})});bU.displayName=xU;var Pwe="SelectIcon",wU=y.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,...a}=e;return i.jsx($e.span,{"aria-hidden":!0,...a,ref:t,children:r||"▼"})});wU.displayName=Pwe;var Rwe="SelectPortal",jU=e=>i.jsx(Ml,{asChild:!0,...e});jU.displayName=Rwe;var Sl="SelectContent",SU=y.forwardRef((e,t)=>{const n=go(Sl,e.__scopeSelect),[r,a]=y.useState();if(Yn(()=>{a(new DocumentFragment)},[]),!n.open){const s=r;return s?Nl.createPortal(i.jsx(_U,{scope:e.__scopeSelect,children:i.jsx(tx.Slot,{scope:e.__scopeSelect,children:i.jsx("div",{children:e.children})})}),s):null}return i.jsx(NU,{...e,ref:t})});SU.displayName=Sl;var Ba=10,[_U,yo]=nd(Sl),Dwe="SelectContentImpl",$we=xwe("SelectContent.RemoveScroll"),NU=y.forwardRef((e,t)=>{const{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:s,onPointerDownOutside:l,side:u,sideOffset:d,align:f,alignOffset:m,arrowPadding:p,collisionBoundary:g,collisionPadding:x,sticky:j,hideWhenDetached:w,avoidCollisions:b,...N}=e,E=go(Sl,n),[O,A]=y.useState(null),[C,k]=y.useState(null),T=Ue(t,ae=>A(ae)),[M,R]=y.useState(null),[L,D]=y.useState(null),U=nx(n),[V,H]=y.useState(!1),G=y.useRef(!1);y.useEffect(()=>{if(O)return Fy(O)},[O]),By();const $=y.useCallback(ae=>{const[we,...Y]=U().map(X=>X.ref.current),[pe]=Y.slice(-1),je=document.activeElement;for(const X of ae)if(X===je||(X?.scrollIntoView({block:"nearest"}),X===we&&C&&(C.scrollTop=0),X===pe&&C&&(C.scrollTop=C.scrollHeight),X?.focus(),document.activeElement!==je))return},[U,C]),I=y.useCallback(()=>$([M,O]),[$,M,O]);y.useEffect(()=>{V&&I()},[V,I]);const{onOpenChange:q,triggerPointerDownPosRef:Z}=E;y.useEffect(()=>{if(O){let ae={x:0,y:0};const we=pe=>{ae={x:Math.abs(Math.round(pe.pageX)-(Z.current?.x??0)),y:Math.abs(Math.round(pe.pageY)-(Z.current?.y??0))}},Y=pe=>{ae.x<=10&&ae.y<=10?pe.preventDefault():O.contains(pe.target)||q(!1),document.removeEventListener("pointermove",we),Z.current=null};return Z.current!==null&&(document.addEventListener("pointermove",we),document.addEventListener("pointerup",Y,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",we),document.removeEventListener("pointerup",Y,{capture:!0})}}},[O,q,Z]),y.useEffect(()=>{const ae=()=>q(!1);return window.addEventListener("blur",ae),window.addEventListener("resize",ae),()=>{window.removeEventListener("blur",ae),window.removeEventListener("resize",ae)}},[q]);const[ee,F]=FU(ae=>{const we=U().filter(je=>!je.disabled),Y=we.find(je=>je.ref.current===document.activeElement),pe=UU(we,ae,Y);pe&&setTimeout(()=>pe.ref.current.focus())}),z=y.useCallback((ae,we,Y)=>{const pe=!G.current&&!Y;(E.value!==void 0&&E.value===we||pe)&&(R(ae),pe&&(G.current=!0))},[E.value]),K=y.useCallback(()=>O?.focus(),[O]),ie=y.useCallback((ae,we,Y)=>{const pe=!G.current&&!Y;(E.value!==void 0&&E.value===we||pe)&&D(ae)},[E.value]),Q=r==="popper"?mC:CU,he=Q===mC?{side:u,sideOffset:d,align:f,alignOffset:m,arrowPadding:p,collisionBoundary:g,collisionPadding:x,sticky:j,hideWhenDetached:w,avoidCollisions:b}:{};return i.jsx(_U,{scope:n,content:O,viewport:C,onViewportChange:k,itemRefCallback:z,selectedItem:M,onItemLeave:K,itemTextRefCallback:ie,focusSelectedItem:I,selectedItemText:L,position:r,isPositioned:V,searchRef:ee,children:i.jsx(Jh,{as:$we,allowPinchZoom:!0,children:i.jsx(Qh,{asChild:!0,trapped:E.open,onMountAutoFocus:ae=>{ae.preventDefault()},onUnmountAutoFocus:Ne(a,ae=>{E.trigger?.focus({preventScroll:!0}),ae.preventDefault()}),children:i.jsx(kl,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:ae=>ae.preventDefault(),onDismiss:()=>E.onOpenChange(!1),children:i.jsx(Q,{role:"listbox",id:E.contentId,"data-state":E.open?"open":"closed",dir:E.dir,onContextMenu:ae=>ae.preventDefault(),...N,...he,onPlaced:()=>H(!0),ref:T,style:{display:"flex",flexDirection:"column",outline:"none",...N.style},onKeyDown:Ne(N.onKeyDown,ae=>{const we=ae.ctrlKey||ae.altKey||ae.metaKey;if(ae.key==="Tab"&&ae.preventDefault(),!we&&ae.key.length===1&&F(ae.key),["ArrowUp","ArrowDown","Home","End"].includes(ae.key)){let pe=U().filter(je=>!je.disabled).map(je=>je.ref.current);if(["ArrowUp","End"].includes(ae.key)&&(pe=pe.slice().reverse()),["ArrowUp","ArrowDown"].includes(ae.key)){const je=ae.target,X=pe.indexOf(je);pe=pe.slice(X+1)}setTimeout(()=>$(pe)),ae.preventDefault()}})})})})})})});NU.displayName=Dwe;var Iwe="SelectItemAlignedPosition",CU=y.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:r,...a}=e,s=go(Sl,n),l=yo(Sl,n),[u,d]=y.useState(null),[f,m]=y.useState(null),p=Ue(t,T=>m(T)),g=nx(n),x=y.useRef(!1),j=y.useRef(!0),{viewport:w,selectedItem:b,selectedItemText:N,focusSelectedItem:E}=l,O=y.useCallback(()=>{if(s.trigger&&s.valueNode&&u&&f&&w&&b&&N){const T=s.trigger.getBoundingClientRect(),M=f.getBoundingClientRect(),R=s.valueNode.getBoundingClientRect(),L=N.getBoundingClientRect();if(s.dir!=="rtl"){const je=L.left-M.left,X=R.left-je,Ae=T.left-X,Oe=T.width+Ae,We=Math.max(Oe,M.width),Ve=window.innerWidth-Ba,be=Df(X,[Ba,Math.max(Ba,Ve-We)]);u.style.minWidth=Oe+"px",u.style.left=be+"px"}else{const je=M.right-L.right,X=window.innerWidth-R.right-je,Ae=window.innerWidth-T.right-X,Oe=T.width+Ae,We=Math.max(Oe,M.width),Ve=window.innerWidth-Ba,be=Df(X,[Ba,Math.max(Ba,Ve-We)]);u.style.minWidth=Oe+"px",u.style.right=be+"px"}const D=g(),U=window.innerHeight-Ba*2,V=w.scrollHeight,H=window.getComputedStyle(f),G=parseInt(H.borderTopWidth,10),$=parseInt(H.paddingTop,10),I=parseInt(H.borderBottomWidth,10),q=parseInt(H.paddingBottom,10),Z=G+$+V+q+I,ee=Math.min(b.offsetHeight*5,Z),F=window.getComputedStyle(w),z=parseInt(F.paddingTop,10),K=parseInt(F.paddingBottom,10),ie=T.top+T.height/2-Ba,Q=U-ie,he=b.offsetHeight/2,ae=b.offsetTop+he,we=G+$+ae,Y=Z-we;if(we<=ie){const je=D.length>0&&b===D[D.length-1].ref.current;u.style.bottom="0px";const X=f.clientHeight-w.offsetTop-w.offsetHeight,Ae=Math.max(Q,he+(je?K:0)+X+I),Oe=we+Ae;u.style.height=Oe+"px"}else{const je=D.length>0&&b===D[0].ref.current;u.style.top="0px";const Ae=Math.max(ie,G+w.offsetTop+(je?z:0)+he)+Y;u.style.height=Ae+"px",w.scrollTop=we-ie+w.offsetTop}u.style.margin=`${Ba}px 0`,u.style.minHeight=ee+"px",u.style.maxHeight=U+"px",r?.(),requestAnimationFrame(()=>x.current=!0)}},[g,s.trigger,s.valueNode,u,f,w,b,N,s.dir,r]);Yn(()=>O(),[O]);const[A,C]=y.useState();Yn(()=>{f&&C(window.getComputedStyle(f).zIndex)},[f]);const k=y.useCallback(T=>{T&&j.current===!0&&(O(),E?.(),j.current=!1)},[O,E]);return i.jsx(zwe,{scope:n,contentWrapper:u,shouldExpandOnScrollRef:x,onScrollButtonChange:k,children:i.jsx("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:A},children:i.jsx($e.div,{...a,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});CU.displayName=Iwe;var Lwe="SelectPopperPosition",mC=y.forwardRef((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:a=Ba,...s}=e,l=rx(n);return i.jsx(Qy,{...l,...s,ref:t,align:r,collisionPadding:a,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});mC.displayName=Lwe;var[zwe,TE]=nd(Sl,{}),pC="SelectViewport",OU=y.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:r,...a}=e,s=yo(pC,n),l=TE(pC,n),u=Ue(t,s.onViewportChange),d=y.useRef(0);return i.jsxs(i.Fragment,{children:[i.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),i.jsx(tx.Slot,{scope:n,children:i.jsx($e.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:Ne(a.onScroll,f=>{const m=f.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:g}=l;if(g?.current&&p){const x=Math.abs(d.current-m.scrollTop);if(x>0){const j=window.innerHeight-Ba*2,w=parseFloat(p.style.minHeight),b=parseFloat(p.style.height),N=Math.max(w,b);if(N0?A:0,p.style.justifyContent="flex-end")}}}d.current=m.scrollTop})})})]})});OU.displayName=pC;var EU="SelectGroup",[Bwe,qwe]=nd(EU),Fwe=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,a=Gn();return i.jsx(Bwe,{scope:n,id:a,children:i.jsx($e.div,{role:"group","aria-labelledby":a,...r,ref:t})})});Fwe.displayName=EU;var AU="SelectLabel",TU=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,a=qwe(AU,n);return i.jsx($e.div,{id:a.id,...r,ref:t})});TU.displayName=AU;var Lg="SelectItem",[Uwe,kU]=nd(Lg),MU=y.forwardRef((e,t)=>{const{__scopeSelect:n,value:r,disabled:a=!1,textValue:s,...l}=e,u=go(Lg,n),d=yo(Lg,n),f=u.value===r,[m,p]=y.useState(s??""),[g,x]=y.useState(!1),j=Ue(t,E=>d.itemRefCallback?.(E,r,a)),w=Gn(),b=y.useRef("touch"),N=()=>{a||(u.onValueChange(r),u.onOpenChange(!1))};if(r==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return i.jsx(Uwe,{scope:n,value:r,disabled:a,textId:w,isSelected:f,onItemTextChange:y.useCallback(E=>{p(O=>O||(E?.textContent??"").trim())},[]),children:i.jsx(tx.ItemSlot,{scope:n,value:r,disabled:a,textValue:m,children:i.jsx($e.div,{role:"option","aria-labelledby":w,"data-highlighted":g?"":void 0,"aria-selected":f&&g,"data-state":f?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...l,ref:j,onFocus:Ne(l.onFocus,()=>x(!0)),onBlur:Ne(l.onBlur,()=>x(!1)),onClick:Ne(l.onClick,()=>{b.current!=="mouse"&&N()}),onPointerUp:Ne(l.onPointerUp,()=>{b.current==="mouse"&&N()}),onPointerDown:Ne(l.onPointerDown,E=>{b.current=E.pointerType}),onPointerMove:Ne(l.onPointerMove,E=>{b.current=E.pointerType,a?d.onItemLeave?.():b.current==="mouse"&&E.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Ne(l.onPointerLeave,E=>{E.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:Ne(l.onKeyDown,E=>{d.searchRef?.current!==""&&E.key===" "||(Ewe.includes(E.key)&&N(),E.key===" "&&E.preventDefault())})})})})});MU.displayName=Lg;var xf="SelectItemText",PU=y.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:a,...s}=e,l=go(xf,n),u=yo(xf,n),d=kU(xf,n),f=Mwe(xf,n),[m,p]=y.useState(null),g=Ue(t,N=>p(N),d.onItemTextChange,N=>u.itemTextRefCallback?.(N,d.value,d.disabled)),x=m?.textContent,j=y.useMemo(()=>i.jsx("option",{value:d.value,disabled:d.disabled,children:x},d.value),[d.disabled,d.value,x]),{onNativeOptionAdd:w,onNativeOptionRemove:b}=f;return Yn(()=>(w(j),()=>b(j)),[w,b,j]),i.jsxs(i.Fragment,{children:[i.jsx($e.span,{id:d.textId,...s,ref:g}),d.isSelected&&l.valueNode&&!l.valueNodeHasChildren?Nl.createPortal(s.children,l.valueNode):null]})});PU.displayName=xf;var RU="SelectItemIndicator",DU=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return kU(RU,n).isSelected?i.jsx($e.span,{"aria-hidden":!0,...r,ref:t}):null});DU.displayName=RU;var vC="SelectScrollUpButton",$U=y.forwardRef((e,t)=>{const n=yo(vC,e.__scopeSelect),r=TE(vC,e.__scopeSelect),[a,s]=y.useState(!1),l=Ue(t,r.onScrollButtonChange);return Yn(()=>{if(n.viewport&&n.isPositioned){let u=function(){const f=d.scrollTop>0;s(f)};const d=n.viewport;return u(),d.addEventListener("scroll",u),()=>d.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),a?i.jsx(LU,{...e,ref:l,onAutoScroll:()=>{const{viewport:u,selectedItem:d}=n;u&&d&&(u.scrollTop=u.scrollTop-d.offsetHeight)}}):null});$U.displayName=vC;var gC="SelectScrollDownButton",IU=y.forwardRef((e,t)=>{const n=yo(gC,e.__scopeSelect),r=TE(gC,e.__scopeSelect),[a,s]=y.useState(!1),l=Ue(t,r.onScrollButtonChange);return Yn(()=>{if(n.viewport&&n.isPositioned){let u=function(){const f=d.scrollHeight-d.clientHeight,m=Math.ceil(d.scrollTop)d.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),a?i.jsx(LU,{...e,ref:l,onAutoScroll:()=>{const{viewport:u,selectedItem:d}=n;u&&d&&(u.scrollTop=u.scrollTop+d.offsetHeight)}}):null});IU.displayName=gC;var LU=y.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:r,...a}=e,s=yo("SelectScrollButton",n),l=y.useRef(null),u=nx(n),d=y.useCallback(()=>{l.current!==null&&(window.clearInterval(l.current),l.current=null)},[]);return y.useEffect(()=>()=>d(),[d]),Yn(()=>{u().find(m=>m.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[u]),i.jsx($e.div,{"aria-hidden":!0,...a,ref:t,style:{flexShrink:0,...a.style},onPointerDown:Ne(a.onPointerDown,()=>{l.current===null&&(l.current=window.setInterval(r,50))}),onPointerMove:Ne(a.onPointerMove,()=>{s.onItemLeave?.(),l.current===null&&(l.current=window.setInterval(r,50))}),onPointerLeave:Ne(a.onPointerLeave,()=>{d()})})}),Hwe="SelectSeparator",zU=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return i.jsx($e.div,{"aria-hidden":!0,...r,ref:t})});zU.displayName=Hwe;var yC="SelectArrow",Wwe=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,a=rx(n),s=go(yC,n),l=yo(yC,n);return s.open&&l.position==="popper"?i.jsx(Jy,{...a,...r,ref:t}):null});Wwe.displayName=yC;var Vwe="SelectBubbleInput",BU=y.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{const a=y.useRef(null),s=Ue(r,a),l=Iy(t);return y.useEffect(()=>{const u=a.current;if(!u)return;const d=window.HTMLSelectElement.prototype,m=Object.getOwnPropertyDescriptor(d,"value").set;if(l!==t&&m){const p=new Event("change",{bubbles:!0});m.call(u,t),u.dispatchEvent(p)}},[l,t]),i.jsx($e.select,{...n,style:{...pU,...n.style},ref:s,defaultValue:t})});BU.displayName=Vwe;function qU(e){return e===""||e===void 0}function FU(e){const t=yn(e),n=y.useRef(""),r=y.useRef(0),a=y.useCallback(l=>{const u=n.current+l;t(u),(function d(f){n.current=f,window.clearTimeout(r.current),f!==""&&(r.current=window.setTimeout(()=>d(""),1e3))})(u)},[t]),s=y.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return y.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,a,s]}function UU(e,t,n){const a=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let l=Gwe(e,Math.max(s,0));a.length===1&&(l=l.filter(f=>f!==n));const d=l.find(f=>f.textValue.toLowerCase().startsWith(a.toLowerCase()));return d!==n?d:void 0}function Gwe(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Ywe=vU,HU=yU,Kwe=bU,Xwe=wU,Zwe=jU,WU=SU,Qwe=OU,VU=TU,GU=MU,Jwe=PU,eje=DU,YU=$U,KU=IU,XU=zU;const St=Ywe,_t=Kwe,xt=y.forwardRef(({className:e,children:t,...n},r)=>i.jsxs(HU,{ref:r,className:ue("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...n,children:[t,i.jsx(Xwe,{asChild:!0,children:i.jsx(gh,{className:"h-4 w-4 opacity-50"})})]}));xt.displayName=HU.displayName;const ZU=y.forwardRef(({className:e,...t},n)=>i.jsx(YU,{ref:n,className:ue("flex cursor-default items-center justify-center py-1",e),...t,children:i.jsx(QN,{className:"h-4 w-4"})}));ZU.displayName=YU.displayName;const QU=y.forwardRef(({className:e,...t},n)=>i.jsx(KU,{ref:n,className:ue("flex cursor-default items-center justify-center py-1",e),...t,children:i.jsx(gh,{className:"h-4 w-4"})}));QU.displayName=KU.displayName;const bt=y.forwardRef(({className:e,children:t,position:n="popper",...r},a)=>i.jsx(Zwe,{children:i.jsxs(WU,{ref:a,className:ue("relative z-[100] max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-hidden rounded-md border border-border bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100 shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,...r,children:[i.jsx(ZU,{}),i.jsx(Qwe,{className:ue("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),i.jsx(QU,{})]})}));bt.displayName=WU.displayName;const tje=y.forwardRef(({className:e,...t},n)=>i.jsx(VU,{ref:n,className:ue("px-2 py-1.5 text-sm font-semibold",e),...t}));tje.displayName=VU.displayName;const ke=y.forwardRef(({className:e,children:t,...n},r)=>i.jsxs(GU,{ref:r,className:ue("relative flex w-full cursor-default select-none items-center rounded-sm py-2 pl-2 pr-8 text-sm outline-none bg-white dark:bg-gray-900 hover:bg-gray-100 dark:hover:bg-gray-800 focus:bg-gray-100 dark:focus:bg-gray-800 data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[i.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(eje,{children:i.jsx(cl,{className:"h-4 w-4"})})}),i.jsx(Jwe,{children:t})]}));ke.displayName=GU.displayName;const nje=y.forwardRef(({className:e,...t},n)=>i.jsx(XU,{ref:n,className:ue("-mx-1 my-1 h-px bg-muted",e),...t}));nje.displayName=XU.displayName;function rje(e){const t=aje(e),n=y.forwardRef((r,a)=>{const{children:s,...l}=r,u=y.Children.toArray(s),d=u.find(sje);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}function aje(e){const t=y.forwardRef((n,r)=>{const{children:a,...s}=n;if(y.isValidElement(a)){const l=lje(a),u=oje(s,a.props);return a.type!==y.Fragment&&(u.ref=r?zr(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var ije=Symbol("radix.slottable");function sje(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===ije}function oje(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function lje(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var ax="Popover",[JU]=yr(ax,[vo]),rm=vo(),[cje,xo]=JU(ax),eH=e=>{const{__scopePopover:t,children:n,open:r,defaultOpen:a,onOpenChange:s,modal:l=!1}=e,u=rm(t),d=y.useRef(null),[f,m]=y.useState(!1),[p,g]=Ta({prop:r,defaultProp:a??!1,onChange:s,caller:ax});return i.jsx(tm,{...u,children:i.jsx(cje,{scope:t,contentId:Gn(),triggerRef:d,open:p,onOpenChange:g,onOpenToggle:y.useCallback(()=>g(x=>!x),[g]),hasCustomAnchor:f,onCustomAnchorAdd:y.useCallback(()=>m(!0),[]),onCustomAnchorRemove:y.useCallback(()=>m(!1),[]),modal:l,children:n})})};eH.displayName=ax;var tH="PopoverAnchor",uje=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=xo(tH,n),s=rm(n),{onCustomAnchorAdd:l,onCustomAnchorRemove:u}=a;return y.useEffect(()=>(l(),()=>u()),[l,u]),i.jsx(nm,{...s,...r,ref:t})});uje.displayName=tH;var nH="PopoverTrigger",rH=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=xo(nH,n),s=rm(n),l=Ue(t,a.triggerRef),u=i.jsx($e.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":lH(a.open),...r,ref:l,onClick:Ne(e.onClick,a.onOpenToggle)});return a.hasCustomAnchor?u:i.jsx(nm,{asChild:!0,...s,children:u})});rH.displayName=nH;var kE="PopoverPortal",[dje,fje]=JU(kE,{forceMount:void 0}),aH=e=>{const{__scopePopover:t,forceMount:n,children:r,container:a}=e,s=xo(kE,t);return i.jsx(dje,{scope:t,forceMount:n,children:i.jsx(zn,{present:n||s.open,children:i.jsx(Ml,{asChild:!0,container:a,children:r})})})};aH.displayName=kE;var Iu="PopoverContent",iH=y.forwardRef((e,t)=>{const n=fje(Iu,e.__scopePopover),{forceMount:r=n.forceMount,...a}=e,s=xo(Iu,e.__scopePopover);return i.jsx(zn,{present:r||s.open,children:s.modal?i.jsx(mje,{...a,ref:t}):i.jsx(pje,{...a,ref:t})})});iH.displayName=Iu;var hje=rje("PopoverContent.RemoveScroll"),mje=y.forwardRef((e,t)=>{const n=xo(Iu,e.__scopePopover),r=y.useRef(null),a=Ue(t,r),s=y.useRef(!1);return y.useEffect(()=>{const l=r.current;if(l)return Fy(l)},[]),i.jsx(Jh,{as:hje,allowPinchZoom:!0,children:i.jsx(sH,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Ne(e.onCloseAutoFocus,l=>{l.preventDefault(),s.current||n.triggerRef.current?.focus()}),onPointerDownOutside:Ne(e.onPointerDownOutside,l=>{const u=l.detail.originalEvent,d=u.button===0&&u.ctrlKey===!0,f=u.button===2||d;s.current=f},{checkForDefaultPrevented:!1}),onFocusOutside:Ne(e.onFocusOutside,l=>l.preventDefault(),{checkForDefaultPrevented:!1})})})}),pje=y.forwardRef((e,t)=>{const n=xo(Iu,e.__scopePopover),r=y.useRef(!1),a=y.useRef(!1);return i.jsx(sH,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{e.onCloseAutoFocus?.(s),s.defaultPrevented||(r.current||n.triggerRef.current?.focus(),s.preventDefault()),r.current=!1,a.current=!1},onInteractOutside:s=>{e.onInteractOutside?.(s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const l=s.target;n.triggerRef.current?.contains(l)&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&a.current&&s.preventDefault()}})}),sH=y.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:s,disableOutsidePointerEvents:l,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:f,onInteractOutside:m,...p}=e,g=xo(Iu,n),x=rm(n);return By(),i.jsx(Qh,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:s,children:i.jsx(kl,{asChild:!0,disableOutsidePointerEvents:l,onInteractOutside:m,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:f,onDismiss:()=>g.onOpenChange(!1),children:i.jsx(Qy,{"data-state":lH(g.open),role:"dialog",id:g.contentId,...x,...p,ref:t,style:{...p.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),oH="PopoverClose",vje=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=xo(oH,n);return i.jsx($e.button,{type:"button",...r,ref:t,onClick:Ne(e.onClick,()=>a.onOpenChange(!1))})});vje.displayName=oH;var gje="PopoverArrow",yje=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=rm(n);return i.jsx(Jy,{...a,...r,ref:t})});yje.displayName=gje;function lH(e){return e?"open":"closed"}var xje=eH,bje=rH,wje=aH,cH=iH;const oo=xje,lo=bje,hs=y.forwardRef(({className:e,align:t="center",sideOffset:n=4,...r},a)=>i.jsx(wje,{children:i.jsx(cH,{ref:a,align:t,sideOffset:n,className:ue("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]",e),...r})}));hs.displayName=cH.displayName;const rd="/api/webui/config";async function jje(){const t=await(await Ze(`${rd}/bot`)).json();if(!t.success)throw new Error("获取配置数据失败");return t.config}async function eu(){const t=await(await Ze(`${rd}/model`)).json();if(!t.success)throw new Error("获取模型配置数据失败");return t.config}async function PL(e){const n=await(await Ze(`${rd}/bot`,{method:"POST",headers:st(),body:JSON.stringify(e)})).json();if(!n.success)throw new Error(n.message||"保存配置失败")}async function zg(e){const n=await(await Ze(`${rd}/model`,{method:"POST",headers:st(),body:JSON.stringify(e)})).json();if(!n.success)throw new Error(n.message||"保存配置失败")}async function Sje(e,t){const r=await(await Ze(`${rd}/bot/section/${e}`,{method:"POST",headers:st(),body:JSON.stringify(t)})).json();if(!r.success)throw new Error(r.message||`保存配置节 ${e} 失败`)}async function xC(e,t){const r=await(await Ze(`${rd}/model/section/${e}`,{method:"POST",headers:st(),body:JSON.stringify(t)})).json();if(!r.success)throw new Error(r.message||`保存配置节 ${e} 失败`)}const _je=xn.create({baseURL:"",timeout:1e4});async function ME(){try{return(await _je.post("/api/webui/system/restart")).data}catch(e){throw console.error("重启麦麦失败:",e),e}}const Nje=Qu("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),ix=y.forwardRef(({className:e,variant:t,...n},r)=>i.jsx("div",{ref:r,role:"alert",className:ue(Nje({variant:t}),e),...n}));ix.displayName="Alert";const Cje=y.forwardRef(({className:e,...t},n)=>i.jsx("h5",{ref:n,className:ue("mb-1 font-medium leading-none tracking-tight",e),...t}));Cje.displayName="AlertTitle";const sx=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ue("text-sm [&_p]:leading-relaxed",e),...t}));sx.displayName="AlertDescription";function PE({onRestartComplete:e,onRestartFailed:t}){const[n,r]=y.useState(0),[a,s]=y.useState("restarting"),[l,u]=y.useState(0),[d,f]=y.useState(0);y.useEffect(()=>{const g=setInterval(()=>{r(w=>w>=90?w:w+1)},200),x=setInterval(()=>{u(w=>w+1)},1e3),j=setTimeout(()=>{s("checking"),m()},3e3);return()=>{clearInterval(g),clearInterval(x),clearTimeout(j)}},[]);const m=()=>{const x=async()=>{try{if(f(w=>w+1),(await fetch("/api/webui/system/status",{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(3e3)})).ok)r(100),s("success"),setTimeout(()=>{e?.()},1500);else throw new Error("Status check failed")}catch{d<60?setTimeout(x,2e3):(s("failed"),t?.())}};x()},p=g=>{const x=Math.floor(g/60),j=g%60;return`${x}:${j.toString().padStart(2,"0")}`};return i.jsx("div",{className:"fixed inset-0 bg-background/95 backdrop-blur-sm z-50 flex items-center justify-center",children:i.jsxs("div",{className:"max-w-md w-full mx-4 space-y-8",children:[i.jsxs("div",{className:"flex flex-col items-center space-y-4",children:[a==="restarting"&&i.jsxs(i.Fragment,{children:[i.jsx(yh,{className:"h-16 w-16 text-primary animate-spin"}),i.jsx("h2",{className:"text-2xl font-bold",children:"正在重启麦麦"}),i.jsx("p",{className:"text-muted-foreground text-center",children:"请稍候,麦麦正在重启中..."})]}),a==="checking"&&i.jsxs(i.Fragment,{children:[i.jsx(yh,{className:"h-16 w-16 text-primary animate-spin"}),i.jsx("h2",{className:"text-2xl font-bold",children:"检查服务状态"}),i.jsxs("p",{className:"text-muted-foreground text-center",children:["等待服务恢复... (尝试 ",d,"/60)"]})]}),a==="success"&&i.jsxs(i.Fragment,{children:[i.jsx(Dr,{className:"h-16 w-16 text-green-500"}),i.jsx("h2",{className:"text-2xl font-bold",children:"重启成功"}),i.jsx("p",{className:"text-muted-foreground text-center",children:"正在跳转到登录页面..."})]}),a==="failed"&&i.jsxs(i.Fragment,{children:[i.jsx(xl,{className:"h-16 w-16 text-destructive"}),i.jsx("h2",{className:"text-2xl font-bold",children:"重启超时"}),i.jsx("p",{className:"text-muted-foreground text-center",children:"服务未能在预期时间内恢复,请手动检查或刷新页面"})]})]}),a!=="failed"&&i.jsxs("div",{className:"space-y-2",children:[i.jsx(Ih,{value:n,className:"h-2"}),i.jsxs("div",{className:"flex justify-between text-sm text-muted-foreground",children:[i.jsxs("span",{children:[n,"%"]}),i.jsxs("span",{children:["已用时: ",p(l)]})]})]}),i.jsx("div",{className:"bg-muted/50 rounded-lg p-4 space-y-2",children:i.jsxs("p",{className:"text-sm text-muted-foreground",children:[a==="restarting"&&"🔄 配置已保存,正在重启主程序...",a==="checking"&&"⏳ 正在等待服务恢复,请勿关闭页面...",a==="success"&&"✅ 配置已生效,服务运行正常",a==="failed"&&"⚠️ 如果长时间无响应,请尝试手动重启"]})}),a==="failed"&&i.jsxs("div",{className:"flex gap-2",children:[i.jsx("button",{onClick:()=>window.location.reload(),className:"flex-1 px-4 py-2 bg-primary text-primary-foreground rounded-md hover:bg-primary/90",children:"刷新页面"}),i.jsx("button",{onClick:()=>{s("checking"),f(0),m()},className:"flex-1 px-4 py-2 bg-secondary text-secondary-foreground rounded-md hover:bg-secondary/90",children:"重试检测"})]})]})})}function Oje(){const[e,t]=y.useState(!0),[n,r]=y.useState(!1),[a,s]=y.useState(!1),[l,u]=y.useState(!1),[d,f]=y.useState(!1),[m,p]=y.useState(!1),{toast:g}=xr(),[x,j]=y.useState(null),[w,b]=y.useState(null),[N,E]=y.useState(null),[O,A]=y.useState(null),[C,k]=y.useState(null),[T,M]=y.useState(null),[R,L]=y.useState(null),[D,U]=y.useState(null),[V,H]=y.useState(null),[G,$]=y.useState(null),[I,q]=y.useState(null),[Z,ee]=y.useState(null),[F,z]=y.useState(null),[K,ie]=y.useState(null),[Q,he]=y.useState(null),[ae,we]=y.useState(null),[Y,pe]=y.useState(null),[je,X]=y.useState(null),Ae=y.useRef(null),Oe=y.useRef(!0),We=y.useRef({}),Ve=y.useCallback(async()=>{try{t(!0);const re=await jje();We.current=re,j(re.bot),b(re.personality);const Se=re.chat;Se.talk_value_rules||(Se.talk_value_rules=[]),E(Se),A(re.expression),k(re.emoji),M(re.memory),L(re.tool),U(re.mood),H(re.voice),$(re.lpmm_knowledge),q(re.keyword_reaction),ee(re.response_post_process),z(re.chinese_typo),ie(re.response_splitter),he(re.log),we(re.debug),pe(re.maim_message),X(re.telemetry),u(!1),Oe.current=!1}catch(re){console.error("加载配置失败:",re),g({title:"加载失败",description:"无法加载配置文件",variant:"destructive"})}finally{t(!1)}},[g]);y.useEffect(()=>{Ve()},[Ve]);const be=y.useCallback(async(re,Se)=>{if(!Oe.current)try{s(!0),await Sje(re,Se),u(!1)}catch(ut){console.error(`自动保存 ${re} 失败:`,ut),u(!0)}finally{s(!1)}},[]),_e=y.useCallback((re,Se)=>{Oe.current||(u(!0),Ae.current&&clearTimeout(Ae.current),Ae.current=setTimeout(()=>{be(re,Se)},2e3))},[be]);y.useEffect(()=>{x&&!Oe.current&&_e("bot",x)},[x,_e]),y.useEffect(()=>{w&&!Oe.current&&_e("personality",w)},[w,_e]),y.useEffect(()=>{N&&!Oe.current&&_e("chat",N)},[N,_e]),y.useEffect(()=>{O&&!Oe.current&&_e("expression",O)},[O,_e]),y.useEffect(()=>{C&&!Oe.current&&_e("emoji",C)},[C,_e]),y.useEffect(()=>{T&&!Oe.current&&_e("memory",T)},[T,_e]),y.useEffect(()=>{R&&!Oe.current&&_e("tool",R)},[R,_e]),y.useEffect(()=>{D&&!Oe.current&&_e("mood",D)},[D,_e]),y.useEffect(()=>{V&&!Oe.current&&_e("voice",V)},[V,_e]),y.useEffect(()=>{G&&!Oe.current&&_e("lpmm_knowledge",G)},[G,_e]),y.useEffect(()=>{I&&!Oe.current&&_e("keyword_reaction",I)},[I,_e]),y.useEffect(()=>{Z&&!Oe.current&&_e("response_post_process",Z)},[Z,_e]),y.useEffect(()=>{F&&!Oe.current&&_e("chinese_typo",F)},[F,_e]),y.useEffect(()=>{K&&!Oe.current&&_e("response_splitter",K)},[K,_e]),y.useEffect(()=>{Q&&!Oe.current&&_e("log",Q)},[Q,_e]),y.useEffect(()=>{ae&&!Oe.current&&_e("debug",ae)},[ae,_e]),y.useEffect(()=>{Y&&!Oe.current&&_e("maim_message",Y)},[Y,_e]),y.useEffect(()=>{je&&!Oe.current&&_e("telemetry",je)},[je,_e]);const rt=async()=>{try{r(!0),Ae.current&&clearTimeout(Ae.current);const re={...We.current,bot:x,personality:w,chat:N,expression:O,emoji:C,memory:T,tool:R,mood:D,voice:V,lpmm_knowledge:G,keyword_reaction:I,response_post_process:Z,chinese_typo:F,response_splitter:K,log:Q,debug:ae,maim_message:Y,telemetry:je};await PL(re),u(!1),g({title:"保存成功",description:"麦麦主程序配置已保存"})}catch(re){console.error("保存配置失败:",re),g({title:"保存失败",description:re.message,variant:"destructive"})}finally{r(!1)}},fn=async()=>{try{f(!0),ME().catch(()=>{}),p(!0)}catch(re){console.error("重启失败:",re),p(!1),g({title:"重启失败",description:"无法发送重启请求,请手动重启",variant:"destructive"}),f(!1)}},Tt=async()=>{try{r(!0),Ae.current&&clearTimeout(Ae.current);const re={...We.current,bot:x,personality:w,chat:N,expression:O,emoji:C,memory:T,tool:R,mood:D,voice:V,lpmm_knowledge:G,keyword_reaction:I,response_post_process:Z,chinese_typo:F,response_splitter:K,log:Q,debug:ae,maim_message:Y,telemetry:je};await PL(re),u(!1),g({title:"保存成功",description:"配置已保存,即将重启麦麦..."}),await new Promise(Se=>setTimeout(Se,500)),await fn()}catch(re){console.error("保存失败:",re),g({title:"保存失败",description:re.message,variant:"destructive"})}finally{r(!1)}},zt=()=>{localStorage.removeItem("access-token"),window.location.href="/auth"},at=()=>{p(!1),f(!1),g({title:"重启失败",description:"服务器未能在预期时间内恢复,请手动检查",variant:"destructive"})};return e?i.jsx(Gt,{className:"h-full",children:i.jsx("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:i.jsx("div",{className:"flex items-center justify-center h-64",children:i.jsx("p",{className:"text-muted-foreground",children:"加载中..."})})})}):i.jsx(Gt,{className:"h-full",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"麦麦主程序配置"}),i.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理麦麦的核心功能和行为设置"})]}),i.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[i.jsxs(oe,{onClick:rt,disabled:n||a||!l||d,size:"sm",variant:"outline",className:"flex-1 sm:flex-none",children:[i.jsx(lE,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),n?"保存中...":a?"自动保存中...":l?"保存配置":"已保存"]}),i.jsxs(dn,{children:[i.jsx(mr,{asChild:!0,children:i.jsxs(oe,{disabled:n||a||d,size:"sm",className:"flex-1 sm:flex-none",children:[i.jsx(oE,{className:"mr-2 h-4 w-4"}),d?"重启中...":l?"保存并重启":"重启麦麦"]})}),i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认重启麦麦?"}),i.jsx(an,{children:l?"当前有未保存的配置更改。点击确认将先保存配置,然后重启麦麦使新配置生效。重启过程中麦麦将暂时离线。":"即将重启麦麦主程序。重启过程中麦麦将暂时离线,配置将在重启后生效。"})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:l?Tt:fn,children:l?"保存并重启":"确认重启"})]})]})]})]})]}),i.jsxs(ix,{children:[i.jsx(Pu,{className:"h-4 w-4"}),i.jsxs(sx,{children:["配置更新后需要",i.jsx("strong",{children:"重启麦麦"}),'才能生效。你可以点击右上角的"保存并重启"按钮一键完成保存和重启。']})]}),i.jsxs(hl,{defaultValue:"bot",className:"w-full",children:[i.jsx("div",{className:"overflow-x-auto -mx-4 px-4 sm:mx-0 sm:px-0",children:i.jsxs(ao,{className:"inline-flex w-auto min-w-full sm:grid sm:w-full sm:grid-cols-5 lg:grid-cols-10",children:[i.jsx(Lt,{value:"bot",className:"flex-shrink-0",children:"基本信息"}),i.jsx(Lt,{value:"personality",className:"flex-shrink-0",children:"人格"}),i.jsx(Lt,{value:"chat",className:"flex-shrink-0",children:"聊天"}),i.jsx(Lt,{value:"expression",className:"flex-shrink-0",children:"表达"}),i.jsx(Lt,{value:"features",className:"flex-shrink-0",children:"功能"}),i.jsx(Lt,{value:"processing",className:"flex-shrink-0",children:"处理"}),i.jsx(Lt,{value:"mood",className:"flex-shrink-0",children:"情绪"}),i.jsx(Lt,{value:"voice",className:"flex-shrink-0",children:"语音"}),i.jsx(Lt,{value:"lpmm",className:"flex-shrink-0",children:"知识库"}),i.jsx(Lt,{value:"other",className:"flex-shrink-0",children:"其他"})]})}),i.jsx(vn,{value:"bot",className:"space-y-4",children:x&&i.jsx(Eje,{config:x,onChange:j})}),i.jsx(vn,{value:"personality",className:"space-y-4",children:w&&i.jsx(Aje,{config:w,onChange:b})}),i.jsx(vn,{value:"chat",className:"space-y-4",children:N&&i.jsx(Tje,{config:N,onChange:E})}),i.jsx(vn,{value:"expression",className:"space-y-4",children:O&&i.jsx(kje,{config:O,onChange:A})}),i.jsx(vn,{value:"features",className:"space-y-4",children:C&&T&&R&&i.jsx(Mje,{emojiConfig:C,memoryConfig:T,toolConfig:R,onEmojiChange:k,onMemoryChange:M,onToolChange:L})}),i.jsx(vn,{value:"processing",className:"space-y-4",children:I&&Z&&F&&K&&i.jsx(Pje,{keywordReactionConfig:I,responsePostProcessConfig:Z,chineseTypoConfig:F,responseSplitterConfig:K,onKeywordReactionChange:q,onResponsePostProcessChange:ee,onChineseTypoChange:z,onResponseSplitterChange:ie})}),i.jsx(vn,{value:"mood",className:"space-y-4",children:D&&i.jsx(Rje,{config:D,onChange:U})}),i.jsx(vn,{value:"voice",className:"space-y-4",children:V&&i.jsx(Dje,{config:V,onChange:H})}),i.jsx(vn,{value:"lpmm",className:"space-y-4",children:G&&i.jsx($je,{config:G,onChange:$})}),i.jsxs(vn,{value:"other",className:"space-y-4",children:[Q&&i.jsx(Ije,{config:Q,onChange:he}),ae&&i.jsx(Lje,{config:ae,onChange:we}),Y&&i.jsx(zje,{config:Y,onChange:pe}),je&&i.jsx(Bje,{config:je,onChange:X})]})]}),m&&i.jsx(PE,{onRestartComplete:zt,onRestartFailed:at})]})})}function Eje({config:e,onChange:t}){const n=()=>{t({...e,platforms:[...e.platforms,""]})},r=d=>{t({...e,platforms:e.platforms.filter((f,m)=>m!==d)})},a=(d,f)=>{const m=[...e.platforms];m[d]=f,t({...e,platforms:m})},s=()=>{t({...e,alias_names:[...e.alias_names,""]})},l=d=>{t({...e,alias_names:e.alias_names.filter((f,m)=>m!==d)})},u=(d,f)=>{const m=[...e.alias_names];m[d]=f,t({...e,alias_names:m})};return i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"基本信息"}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"platform",children:"平台"}),i.jsx(Ce,{id:"platform",value:e.platform,onChange:d=>t({...e,platform:d.target.value}),placeholder:"qq"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"qq_account",children:"QQ账号"}),i.jsx(Ce,{id:"qq_account",value:e.qq_account,onChange:d=>t({...e,qq_account:d.target.value}),placeholder:"123456789"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"nickname",children:"昵称"}),i.jsx(Ce,{id:"nickname",value:e.nickname,onChange:d=>t({...e,nickname:d.target.value}),placeholder:"麦麦"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(ne,{children:"其他平台账号"}),i.jsxs(oe,{onClick:n,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加"]})]}),i.jsxs("div",{className:"space-y-2",children:[e.platforms.map((d,f)=>i.jsxs("div",{className:"flex gap-2",children:[i.jsx(Ce,{value:d,onChange:m=>a(f,m.target.value),placeholder:"wx:114514"}),i.jsxs(dn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"icon",variant:"outline",children:i.jsx(Ct,{className:"h-4 w-4"})})}),i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认删除"}),i.jsxs(an,{children:['确定要删除平台账号 "',d||"(空)",'" 吗?此操作无法撤销。']})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:()=>r(f),children:"删除"})]})]})]})]},f)),e.platforms.length===0&&i.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无其他平台账号"})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(ne,{children:"别名"}),i.jsxs(oe,{onClick:s,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加"]})]}),i.jsxs("div",{className:"space-y-2",children:[e.alias_names.map((d,f)=>i.jsxs("div",{className:"flex gap-2",children:[i.jsx(Ce,{value:d,onChange:m=>u(f,m.target.value),placeholder:"小麦"}),i.jsxs(dn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"icon",variant:"outline",children:i.jsx(Ct,{className:"h-4 w-4"})})}),i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认删除"}),i.jsxs(an,{children:['确定要删除别名 "',d||"(空)",'" 吗?此操作无法撤销。']})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:()=>l(f),children:"删除"})]})]})]})]},f)),e.alias_names.length===0&&i.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无别名"})]})]})]})]})})}function Aje({config:e,onChange:t}){const n=()=>{t({...e,states:[...e.states,""]})},r=s=>{t({...e,states:e.states.filter((l,u)=>u!==s)})},a=(s,l)=>{const u=[...e.states];u[s]=l,t({...e,states:u})};return i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"人格设置"}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"personality",children:"人格特质"}),i.jsx(Qt,{id:"personality",value:e.personality,onChange:s=>t({...e,personality:s.target.value}),placeholder:"描述人格特质和身份特征(建议120字以内)",rows:3}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"建议120字以内,描述人格特质和身份特征"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"reply_style",children:"表达风格"}),i.jsx(Qt,{id:"reply_style",value:e.reply_style,onChange:s=>t({...e,reply_style:s.target.value}),placeholder:"描述说话的表达风格和习惯",rows:3})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"interest",children:"兴趣"}),i.jsx(Qt,{id:"interest",value:e.interest,onChange:s=>t({...e,interest:s.target.value}),placeholder:"会影响麦麦对什么话题进行回复",rows:2})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"plan_style",children:"说话规则与行为风格"}),i.jsx(Qt,{id:"plan_style",value:e.plan_style,onChange:s=>t({...e,plan_style:s.target.value}),placeholder:"麦麦的说话规则和行为风格",rows:5})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"visual_style",children:"识图规则"}),i.jsx(Qt,{id:"visual_style",value:e.visual_style,onChange:s=>t({...e,visual_style:s.target.value}),placeholder:"识图时的处理规则",rows:3})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"private_plan_style",children:"私聊规则"}),i.jsx(Qt,{id:"private_plan_style",value:e.private_plan_style,onChange:s=>t({...e,private_plan_style:s.target.value}),placeholder:"私聊的说话规则和行为风格",rows:4})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(ne,{children:"状态列表(人格多样性)"}),i.jsxs(oe,{onClick:n,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加状态"]})]}),i.jsx("div",{className:"space-y-2",children:e.states.map((s,l)=>i.jsxs("div",{className:"flex gap-2",children:[i.jsx(Qt,{value:s,onChange:u=>a(l,u.target.value),placeholder:"描述一个人格状态",rows:2}),i.jsxs(dn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"icon",variant:"outline",children:i.jsx(Ct,{className:"h-4 w-4"})})}),i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认删除"}),i.jsx(an,{children:"确定要删除这个人格状态吗?此操作无法撤销。"})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:()=>r(l),children:"删除"})]})]})]})]},l))})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"state_probability",children:"状态替换概率"}),i.jsx(Ce,{id:"state_probability",type:"number",step:"0.1",min:"0",max:"1",value:e.state_probability,onChange:s=>t({...e,state_probability:parseFloat(s.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"每次构建人格时替换 personality 的概率(0.0-1.0)"})]})]})]})})}function Tje({config:e,onChange:t}){const n=()=>{t({...e,talk_value_rules:[...e.talk_value_rules,{target:"",time:"00:00-23:59",value:1}]})},r=u=>{t({...e,talk_value_rules:e.talk_value_rules.filter((d,f)=>f!==u)})},a=(u,d,f)=>{const m=[...e.talk_value_rules];m[u]={...m[u],[d]:f},t({...e,talk_value_rules:m})},s=({value:u,onChange:d})=>{const[f,m]=y.useState("00"),[p,g]=y.useState("00"),[x,j]=y.useState("23"),[w,b]=y.useState("59");y.useEffect(()=>{const E=u.split("-");if(E.length===2){const[O,A]=E,[C,k]=O.split(":"),[T,M]=A.split(":");C&&m(C.padStart(2,"0")),k&&g(k.padStart(2,"0")),T&&j(T.padStart(2,"0")),M&&b(M.padStart(2,"0"))}},[u]);const N=(E,O,A,C)=>{const k=`${E}:${O}-${A}:${C}`;d(k)};return i.jsxs(oo,{children:[i.jsx(lo,{asChild:!0,children:i.jsxs(oe,{variant:"outline",className:"w-full justify-start font-mono text-sm",children:[i.jsx(ul,{className:"h-4 w-4 mr-2"}),u||"选择时间段"]})}),i.jsx(hs,{className:"w-80",children:i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{children:[i.jsx("h4",{className:"font-medium text-sm mb-3",children:"开始时间"}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:gap-3",children:[i.jsxs("div",{children:[i.jsx(ne,{className:"text-xs",children:"小时"}),i.jsxs(St,{value:f,onValueChange:E=>{m(E),N(E,p,x,w)},children:[i.jsx(xt,{children:i.jsx(_t,{})}),i.jsx(bt,{children:Array.from({length:24},(E,O)=>O).map(E=>i.jsx(ke,{value:E.toString().padStart(2,"0"),children:E.toString().padStart(2,"0")},E))})]})]}),i.jsxs("div",{children:[i.jsx(ne,{className:"text-xs",children:"分钟"}),i.jsxs(St,{value:p,onValueChange:E=>{g(E),N(f,E,x,w)},children:[i.jsx(xt,{children:i.jsx(_t,{})}),i.jsx(bt,{children:Array.from({length:60},(E,O)=>O).map(E=>i.jsx(ke,{value:E.toString().padStart(2,"0"),children:E.toString().padStart(2,"0")},E))})]})]})]})]}),i.jsxs("div",{children:[i.jsx("h4",{className:"font-medium text-sm mb-3",children:"结束时间"}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:gap-3",children:[i.jsxs("div",{children:[i.jsx(ne,{className:"text-xs",children:"小时"}),i.jsxs(St,{value:x,onValueChange:E=>{j(E),N(f,p,E,w)},children:[i.jsx(xt,{children:i.jsx(_t,{})}),i.jsx(bt,{children:Array.from({length:24},(E,O)=>O).map(E=>i.jsx(ke,{value:E.toString().padStart(2,"0"),children:E.toString().padStart(2,"0")},E))})]})]}),i.jsxs("div",{children:[i.jsx(ne,{className:"text-xs",children:"分钟"}),i.jsxs(St,{value:w,onValueChange:E=>{b(E),N(f,p,x,E)},children:[i.jsx(xt,{children:i.jsx(_t,{})}),i.jsx(bt,{children:Array.from({length:60},(E,O)=>O).map(E=>i.jsx(ke,{value:E.toString().padStart(2,"0"),children:E.toString().padStart(2,"0")},E))})]})]})]})]})]})})]})},l=({rule:u})=>{const d=`{ target = "${u.target}", time = "${u.time}", value = ${u.value.toFixed(1)} }`;return i.jsxs(oo,{children:[i.jsx(lo,{asChild:!0,children:i.jsxs(oe,{variant:"outline",size:"sm",children:[i.jsx(Ya,{className:"h-4 w-4 mr-1"}),"预览"]})}),i.jsx(hs,{className:"w-96",children:i.jsxs("div",{className:"space-y-2",children:[i.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),i.jsx("div",{className:"rounded-md bg-muted p-3 font-mono text-xs break-all",children:d}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})};return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"聊天设置"}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"talk_value",children:"聊天频率(基础值)"}),i.jsx(Ce,{id:"talk_value",type:"number",step:"0.1",min:"0",max:"1",value:e.talk_value,onChange:u=>t({...e,talk_value:parseFloat(u.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"越小越沉默,范围 0-1"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"mentioned_bot_reply",children:"提及回复增幅"}),i.jsx(Ce,{id:"mentioned_bot_reply",type:"number",step:"0.1",min:"0",max:"1",value:e.mentioned_bot_reply,onChange:u=>t({...e,mentioned_bot_reply:parseFloat(u.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"提及时回复概率增幅,1 为 100% 回复"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"max_context_size",children:"上下文长度"}),i.jsx(Ce,{id:"max_context_size",type:"number",min:"1",value:e.max_context_size,onChange:u=>t({...e,max_context_size:parseInt(u.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"planner_smooth",children:"规划器平滑"}),i.jsx(Ce,{id:"planner_smooth",type:"number",step:"1",min:"0",value:e.planner_smooth,onChange:u=>t({...e,planner_smooth:parseFloat(u.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"增大数值会减小 planner 负荷,推荐 1-5,0 为关闭"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(dt,{id:"enable_talk_value_rules",checked:e.enable_talk_value_rules,onCheckedChange:u=>t({...e,enable_talk_value_rules:u})}),i.jsx(ne,{htmlFor:"enable_talk_value_rules",className:"cursor-pointer",children:"启用动态发言频率规则"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(dt,{id:"include_planner_reasoning",checked:e.include_planner_reasoning,onCheckedChange:u=>t({...e,include_planner_reasoning:u})}),i.jsx(ne,{htmlFor:"include_planner_reasoning",className:"cursor-pointer",children:"将 planner 推理加入 replyer"})]})]})]}),e.enable_talk_value_rules&&i.jsxs("div",{className:"border-t pt-6",children:[i.jsxs("div",{className:"flex items-center justify-between mb-4",children:[i.jsxs("div",{children:[i.jsx("h4",{className:"text-base font-semibold",children:"动态发言频率规则"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"按时段或聊天流ID调整发言频率,优先匹配具体聊天,再匹配全局规则"})]}),i.jsxs(oe,{onClick:n,size:"sm",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加规则"]})]}),e.talk_value_rules&&e.talk_value_rules.length>0?i.jsx("div",{className:"space-y-4",children:e.talk_value_rules.map((u,d)=>i.jsxs("div",{className:"rounded-lg border p-4 bg-muted/50 space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("span",{className:"text-sm font-medium text-muted-foreground",children:["规则 #",d+1]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(l,{rule:u}),i.jsxs(dn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{variant:"ghost",size:"sm",children:i.jsx(Ct,{className:"h-4 w-4 text-destructive"})})}),i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认删除"}),i.jsxs(an,{children:["确定要删除规则 #",d+1," 吗?此操作无法撤销。"]})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:()=>r(d),children:"删除"})]})]})]})]})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{className:"text-xs font-medium",children:"配置类型"}),i.jsxs(St,{value:u.target===""?"global":"specific",onValueChange:f=>{f==="global"?a(d,"target",""):a(d,"target","qq::group")},children:[i.jsx(xt,{children:i.jsx(_t,{})}),i.jsxs(bt,{children:[i.jsx(ke,{value:"global",children:"全局配置"}),i.jsx(ke,{value:"specific",children:"详细配置"})]})]})]}),u.target!==""&&(()=>{const f=u.target.split(":"),m=f[0]||"qq",p=f[1]||"",g=f[2]||"group";return i.jsxs("div",{className:"grid gap-4 p-4 rounded-lg bg-muted/50",children:[i.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{className:"text-xs font-medium",children:"平台"}),i.jsxs(St,{value:m,onValueChange:x=>{a(d,"target",`${x}:${p}:${g}`)},children:[i.jsx(xt,{children:i.jsx(_t,{})}),i.jsxs(bt,{children:[i.jsx(ke,{value:"qq",children:"QQ"}),i.jsx(ke,{value:"wx",children:"微信"})]})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{className:"text-xs font-medium",children:"群 ID"}),i.jsx(Ce,{value:p,onChange:x=>{a(d,"target",`${m}:${x.target.value}:${g}`)},placeholder:"输入群 ID",className:"font-mono text-sm"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{className:"text-xs font-medium",children:"类型"}),i.jsxs(St,{value:g,onValueChange:x=>{a(d,"target",`${m}:${p}:${x}`)},children:[i.jsx(xt,{children:i.jsx(_t,{})}),i.jsxs(bt,{children:[i.jsx(ke,{value:"group",children:"群组(group)"}),i.jsx(ke,{value:"private",children:"私聊(private)"})]})]})]})]}),i.jsxs("p",{className:"text-xs text-muted-foreground",children:["当前聊天流 ID:",u.target||"(未设置)"]})]})})(),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{className:"text-xs font-medium",children:"时间段 (Time)"}),i.jsx(s,{value:u.time,onChange:f=>a(d,"time",f)}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"支持跨夜区间,例如 23:00-02:00"})]}),i.jsxs("div",{className:"grid gap-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(ne,{htmlFor:`rule-value-${d}`,className:"text-xs font-medium",children:"发言频率值 (Value)"}),i.jsx(Ce,{id:`rule-value-${d}`,type:"number",step:"0.01",min:"0",max:"1",value:u.value,onChange:f=>{const m=parseFloat(f.target.value);isNaN(m)||a(d,"value",Math.max(0,Math.min(1,m)))},className:"w-20 h-8 text-xs"})]}),i.jsx(Gy,{value:[u.value],onValueChange:f=>a(d,"value",f[0]),min:0,max:1,step:.01,className:"w-full"}),i.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground",children:[i.jsx("span",{children:"0 (完全沉默)"}),i.jsx("span",{children:"0.5"}),i.jsx("span",{children:"1.0 (正常)"})]})]})]})]},d))}):i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:i.jsx("p",{className:"text-sm",children:'暂无规则,点击"添加规则"按钮创建'})}),i.jsxs("div",{className:"mt-4 p-4 bg-blue-50 dark:bg-blue-950/20 border border-blue-200 dark:border-blue-800 rounded-lg",children:[i.jsx("h5",{className:"text-sm font-semibold text-blue-900 dark:text-blue-100 mb-2",children:"📝 规则说明"}),i.jsxs("ul",{className:"text-xs text-blue-800 dark:text-blue-200 space-y-1",children:[i.jsxs("li",{children:["• ",i.jsx("strong",{children:"Target 为空"}),":全局规则,对所有聊天生效"]}),i.jsxs("li",{children:["• ",i.jsx("strong",{children:"Target 指定"}),":仅对特定聊天流生效(格式:platform:id:type)"]}),i.jsxs("li",{children:["• ",i.jsx("strong",{children:"优先级"}),":先匹配具体聊天流规则,再匹配全局规则"]}),i.jsxs("li",{children:["• ",i.jsx("strong",{children:"时间支持跨夜"}),":例如 23:00-02:00 表示晚上11点到次日凌晨2点"]}),i.jsxs("li",{children:["• ",i.jsx("strong",{children:"数值范围"}),":建议 0-1,0 表示完全沉默,1 表示正常发言"]})]})]})]})]})}function kje({config:e,onChange:t}){const n=()=>{t({...e,learning_list:[...e.learning_list,["","enable","enable","1.0"]]})},r=g=>{t({...e,learning_list:e.learning_list.filter((x,j)=>j!==g)})},a=(g,x,j)=>{const w=[...e.learning_list];w[g][x]=j,t({...e,learning_list:w})},s=({rule:g})=>{const x=`["${g[0]}", "${g[1]}", "${g[2]}", "${g[3]}"]`;return i.jsxs(oo,{children:[i.jsx(lo,{asChild:!0,children:i.jsxs(oe,{variant:"outline",size:"sm",children:[i.jsx(Ya,{className:"h-4 w-4 mr-1"}),"预览"]})}),i.jsx(hs,{className:"w-96",children:i.jsxs("div",{className:"space-y-2",children:[i.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),i.jsx("div",{className:"rounded-md bg-muted p-3 font-mono text-xs break-all",children:x}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})},l=({member:g,groupIndex:x,memberIndex:j,availableChatIds:w})=>{const b=w.includes(g)||g==="*",[N,E]=y.useState(!b);return i.jsxs("div",{className:"flex gap-2",children:[i.jsx("div",{className:"flex-1 flex gap-2",children:N?i.jsxs(i.Fragment,{children:[i.jsx(Ce,{value:g,onChange:O=>p(x,j,O.target.value),placeholder:'输入 "*" 或 "qq:123456:group"',className:"flex-1"}),w.length>0&&i.jsx(oe,{size:"sm",variant:"outline",onClick:()=>E(!1),title:"切换到下拉选择",children:"下拉"})]}):i.jsxs(i.Fragment,{children:[i.jsxs(St,{value:g,onValueChange:O=>p(x,j,O),children:[i.jsx(xt,{className:"flex-1",children:i.jsx(_t,{placeholder:"选择聊天流"})}),i.jsxs(bt,{children:[i.jsx(ke,{value:"*",children:"* (全局共享)"}),w.map((O,A)=>i.jsx(ke,{value:O,children:O},A))]})]}),i.jsx(oe,{size:"sm",variant:"outline",onClick:()=>E(!0),title:"切换到手动输入",children:"输入"})]})}),i.jsxs(dn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"icon",variant:"outline",children:i.jsx(Ct,{className:"h-4 w-4"})})}),i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认删除"}),i.jsxs(an,{children:['确定要删除组成员 "',g||"(空)",'" 吗?此操作无法撤销。']})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:()=>m(x,j),children:"删除"})]})]})]})]})},u=()=>{t({...e,expression_groups:[...e.expression_groups,[]]})},d=g=>{t({...e,expression_groups:e.expression_groups.filter((x,j)=>j!==g)})},f=g=>{const x=[...e.expression_groups];x[g]=[...x[g],""],t({...e,expression_groups:x})},m=(g,x)=>{const j=[...e.expression_groups];j[g]=j[g].filter((w,b)=>b!==x),t({...e,expression_groups:j})},p=(g,x,j)=>{const w=[...e.expression_groups];w[g][x]=j,t({...e,expression_groups:w})};return i.jsxs("div",{className:"space-y-6",children:[i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:i.jsxs("div",{children:[i.jsxs("div",{className:"flex items-center justify-between mb-4",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold",children:"表达学习配置"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"配置麦麦如何学习和使用表达方式"})]}),i.jsxs(oe,{onClick:n,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加规则"]})]}),i.jsxs("div",{className:"space-y-4",children:[e.learning_list.map((g,x)=>{const j=e.learning_list.some((A,C)=>C!==x&&A[0]===""),w=g[0]==="",b=g[0].split(":"),N=b[0]||"qq",E=b[1]||"",O=b[2]||"group";return i.jsxs("div",{className:"rounded-lg border p-4 space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("span",{className:"text-sm font-medium",children:["规则 ",x+1," ",w&&"(全局配置)"]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(s,{rule:g}),i.jsxs(dn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"sm",variant:"ghost",children:i.jsx(Ct,{className:"h-4 w-4"})})}),i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认删除"}),i.jsxs(an,{children:["确定要删除学习规则 ",x+1," 吗?此操作无法撤销。"]})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:()=>r(x),children:"删除"})]})]})]})]})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{className:"text-xs font-medium",children:"配置类型"}),i.jsxs(St,{value:w?"global":"specific",onValueChange:A=>{A==="global"?a(x,0,""):a(x,0,"qq::group")},disabled:j&&!w,children:[i.jsx(xt,{children:i.jsx(_t,{})}),i.jsxs(bt,{children:[i.jsx(ke,{value:"global",children:"全局配置"}),i.jsx(ke,{value:"specific",disabled:j&&!w,children:"详细配置"})]})]}),j&&!w&&i.jsx("p",{className:"text-xs text-amber-600",children:"已存在全局配置,无法创建新的全局配置"})]}),!w&&i.jsxs("div",{className:"grid gap-4 p-4 rounded-lg bg-muted/50",children:[i.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{className:"text-xs font-medium",children:"平台"}),i.jsxs(St,{value:N,onValueChange:A=>{a(x,0,`${A}:${E}:${O}`)},children:[i.jsx(xt,{children:i.jsx(_t,{})}),i.jsxs(bt,{children:[i.jsx(ke,{value:"qq",children:"QQ"}),i.jsx(ke,{value:"wx",children:"微信"})]})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{className:"text-xs font-medium",children:"群 ID"}),i.jsx(Ce,{value:E,onChange:A=>{a(x,0,`${N}:${A.target.value}:${O}`)},placeholder:"输入群 ID",className:"font-mono text-sm"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{className:"text-xs font-medium",children:"类型"}),i.jsxs(St,{value:O,onValueChange:A=>{a(x,0,`${N}:${E}:${A}`)},children:[i.jsx(xt,{children:i.jsx(_t,{})}),i.jsxs(bt,{children:[i.jsx(ke,{value:"group",children:"群组(group)"}),i.jsx(ke,{value:"private",children:"私聊(private)"})]})]})]})]}),i.jsxs("p",{className:"text-xs text-muted-foreground",children:["当前聊天流 ID:",g[0]||"(未设置)"]})]}),i.jsx("div",{className:"grid gap-2",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx(ne,{className:"text-xs font-medium",children:"使用学到的表达"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"允许麦麦使用从聊天中学到的表达方式"})]}),i.jsx(dt,{checked:g[1]==="enable",onCheckedChange:A=>a(x,1,A?"enable":"disable")})]})}),i.jsx("div",{className:"grid gap-2",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx(ne,{className:"text-xs font-medium",children:"学习表达"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"允许麦麦从聊天中学习新的表达方式"})]}),i.jsx(dt,{checked:g[2]==="enable",onCheckedChange:A=>a(x,2,A?"enable":"disable")})]})}),i.jsxs("div",{className:"grid gap-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(ne,{className:"text-xs font-medium",children:"学习强度"}),i.jsx(Ce,{type:"number",step:"0.1",min:"0",max:"5",value:g[3],onChange:A=>{const C=parseFloat(A.target.value);isNaN(C)||a(x,3,Math.max(0,Math.min(5,C)).toFixed(1))},className:"w-20 h-8 text-xs"})]}),i.jsx(Gy,{value:[parseFloat(g[3])||1],onValueChange:A=>a(x,3,A[0].toFixed(1)),min:0,max:5,step:.1,className:"w-full"}),i.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground",children:[i.jsx("span",{children:"0 (不学习)"}),i.jsx("span",{children:"2.5"}),i.jsx("span",{children:"5.0 (快速学习)"})]}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"影响学习频率,最短学习间隔 = 300/学习强度(秒)"})]})]})]},x)}),e.learning_list.length===0&&i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无学习规则,点击"添加规则"开始配置'})]})]})}),i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:i.jsxs("div",{children:[i.jsxs("div",{className:"flex items-center justify-between mb-4",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold",children:"表达共享组配置"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"配置不同聊天流之间如何共享学到的表达方式"})]}),i.jsxs(oe,{onClick:u,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加共享组"]})]}),i.jsxs("div",{className:"space-y-4",children:[e.expression_groups.map((g,x)=>{const j=e.learning_list.map(w=>w[0]).filter(w=>w!=="");return i.jsxs("div",{className:"rounded-lg border p-4 space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("span",{className:"text-sm font-medium",children:["共享组 ",x+1,g.length===1&&g[0]==="*"&&"(全局共享)"]}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(oe,{onClick:()=>f(x),size:"sm",variant:"outline",children:i.jsx(ir,{className:"h-4 w-4"})}),i.jsxs(dn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"sm",variant:"ghost",children:i.jsx(Ct,{className:"h-4 w-4"})})}),i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认删除"}),i.jsxs(an,{children:["确定要删除共享组 ",x+1," 吗?此操作无法撤销。"]})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:()=>d(x),children:"删除"})]})]})]})]})]}),i.jsx("div",{className:"space-y-2",children:g.map((w,b)=>i.jsx(l,{member:w,groupIndex:x,memberIndex:b,availableChatIds:j},b))}),i.jsx("p",{className:"text-xs text-muted-foreground",children:'提示:可以从下拉框选择已配置的聊天流,或手动输入。输入 "*" 启用全局共享'})]},x)}),e.expression_groups.length===0&&i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无共享组,点击"添加共享组"开始配置'})]})]})})]})}function Mje({emojiConfig:e,memoryConfig:t,toolConfig:n,onEmojiChange:r,onMemoryChange:a,onToolChange:s}){return i.jsxs("div",{className:"space-y-6",children:[i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"工具设置"}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(dt,{id:"enable_tool",checked:n.enable_tool,onCheckedChange:l=>s({...n,enable_tool:l})}),i.jsx(ne,{htmlFor:"enable_tool",className:"cursor-pointer",children:"启用工具系统"})]}),i.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"允许麦麦使用各种工具来增强功能"})]})}),i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"记忆设置"}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"max_agent_iterations",children:"记忆思考深度"}),i.jsx(Ce,{id:"max_agent_iterations",type:"number",min:"1",value:t.max_agent_iterations,onChange:l=>a({...t,max_agent_iterations:parseInt(l.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"最低为 1(不深入思考)"})]})]})}),i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"表情包设置"}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"emoji_chance",children:"表情包激活概率"}),i.jsx(Ce,{id:"emoji_chance",type:"number",step:"0.1",min:"0",max:"1",value:e.emoji_chance,onChange:l=>r({...e,emoji_chance:parseFloat(l.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"范围 0-1,越大越容易发送表情包"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"max_reg_num",children:"最大注册数量"}),i.jsx(Ce,{id:"max_reg_num",type:"number",min:"1",value:e.max_reg_num,onChange:l=>r({...e,max_reg_num:parseInt(l.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"麦麦最多可以注册的表情包数量"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"check_interval",children:"检查间隔(分钟)"}),i.jsx(Ce,{id:"check_interval",type:"number",min:"1",value:e.check_interval,onChange:l=>r({...e,check_interval:parseInt(l.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"检查表情包(注册、破损、删除)的时间间隔"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(dt,{id:"do_replace",checked:e.do_replace,onCheckedChange:l=>r({...e,do_replace:l})}),i.jsx(ne,{htmlFor:"do_replace",className:"cursor-pointer",children:"达到最大数量时替换表情包"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(dt,{id:"steal_emoji",checked:e.steal_emoji,onCheckedChange:l=>r({...e,steal_emoji:l})}),i.jsx(ne,{htmlFor:"steal_emoji",className:"cursor-pointer",children:"偷取表情包"})]}),i.jsx("p",{className:"text-xs text-muted-foreground -mt-2",children:"允许麦麦将看到的表情包据为己有"}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(dt,{id:"content_filtration",checked:e.content_filtration,onCheckedChange:l=>r({...e,content_filtration:l})}),i.jsx(ne,{htmlFor:"content_filtration",className:"cursor-pointer",children:"启用表情包过滤"})]}),e.content_filtration&&i.jsxs("div",{className:"grid gap-2 pl-6 border-l-2 border-primary/20",children:[i.jsx(ne,{htmlFor:"filtration_prompt",children:"过滤要求"}),i.jsx(Ce,{id:"filtration_prompt",value:e.filtration_prompt,onChange:l=>r({...e,filtration_prompt:l.target.value}),placeholder:"符合公序良俗"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"只有符合此要求的表情包才会被保存"})]})]})]})})]})}function Pje({keywordReactionConfig:e,responsePostProcessConfig:t,chineseTypoConfig:n,responseSplitterConfig:r,onKeywordReactionChange:a,onResponsePostProcessChange:s,onChineseTypoChange:l,onResponseSplitterChange:u}){const d=()=>{a({...e,regex_rules:[...e.regex_rules,{regex:[""],reaction:""}]})},f=A=>{a({...e,regex_rules:e.regex_rules.filter((C,k)=>k!==A)})},m=(A,C,k)=>{const T=[...e.regex_rules];C==="regex"&&typeof k=="string"?T[A]={...T[A],regex:[k]}:C==="reaction"&&typeof k=="string"&&(T[A]={...T[A],reaction:k}),a({...e,regex_rules:T})},p=({regex:A,reaction:C,onRegexChange:k,onReactionChange:T})=>{const[M,R]=y.useState(!1),[L,D]=y.useState(""),[U,V]=y.useState(null),[H,G]=y.useState(""),[$,I]=y.useState({}),[q,Z]=y.useState(""),ee=y.useRef(null),[F,z]=y.useState("build"),K=ae=>ae.replace(/\(\?P<([^>]+)>/g,"(?<$1>"),ie=(ae,we=0)=>{const Y=ee.current;if(!Y)return;const pe=Y.selectionStart||0,je=Y.selectionEnd||0,X=A.substring(0,pe)+ae+A.substring(je);k(X),setTimeout(()=>{const Ae=pe+ae.length+we;Y.setSelectionRange(Ae,Ae),Y.focus()},0)};y.useEffect(()=>{if(!A||!L){V(null),I({}),Z(C),G("");return}try{const ae=K(A),we=new RegExp(ae,"g"),Y=L.match(we);V(Y),G("");const je=new RegExp(ae).exec(L);if(je&&je.groups){I(je.groups);let X=C;Object.entries(je.groups).forEach(([Ae,Oe])=>{X=X.replace(new RegExp(`\\[${Ae}\\]`,"g"),Oe||"")}),Z(X)}else I({}),Z(C)}catch(ae){G(ae.message),V(null),I({}),Z(C)}},[A,L,C]);const Q=()=>{if(!L||!U||U.length===0)return i.jsx("span",{className:"text-muted-foreground",children:L||"请输入测试文本"});try{const ae=K(A),we=new RegExp(ae,"g");let Y=0;const pe=[];let je;for(;(je=we.exec(L))!==null;)je.index>Y&&pe.push(i.jsx("span",{children:L.substring(Y,je.index)},`text-${Y}`)),pe.push(i.jsx("span",{className:"bg-yellow-200 dark:bg-yellow-900 font-semibold",children:je[0]},`match-${je.index}`)),Y=je.index+je[0].length;return Y)",desc:"Python风格命名捕获组",moveCursor:-1},{label:"非捕获组",pattern:"(?:)",desc:"分组但不保存匹配结果",moveCursor:-1}]},{category:"字符类",items:[{label:"字符集",pattern:"[]",desc:"匹配括号内的任意字符",moveCursor:-1},{label:"排除字符",pattern:"[^]",desc:"匹配不在括号内的字符",moveCursor:-1},{label:"范围",pattern:"[a-z]",desc:"匹配a到z的字符"},{label:"中文字符",pattern:"[\\u4e00-\\u9fa5]",desc:"匹配中文汉字"}]},{category:"常用模板",items:[{label:"捕获词语",pattern:"(?P\\S+)",desc:"捕获一个词语"},{label:"捕获句子",pattern:"(?P.+)",desc:"捕获整个句子"},{label:"捕获数字",pattern:"(?P\\d+)",desc:"捕获一个或多个数字"},{label:"可选词语",pattern:"(?:词语1|词语2)",desc:"匹配多个可选项之一"}]}];return i.jsxs(sr,{open:M,onOpenChange:R,children:[i.jsx(oF,{asChild:!0,children:i.jsxs(oe,{variant:"outline",size:"sm",children:[i.jsx(Ag,{className:"h-4 w-4 mr-1"}),"正则编辑器"]})}),i.jsxs(Kn,{className:"max-w-[95vw] sm:max-w-[900px] max-h-[90vh]",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"正则表达式编辑器"}),i.jsx(gr,{className:"text-sm",children:"使用可视化工具构建正则表达式,并实时测试效果"})]}),i.jsx(Gt,{className:"max-h-[calc(90vh-120px)]",children:i.jsxs(hl,{value:F,onValueChange:ae=>z(ae),className:"w-full",children:[i.jsxs(ao,{className:"grid w-full grid-cols-2",children:[i.jsx(Lt,{value:"build",children:"🔧 构建器"}),i.jsx(Lt,{value:"test",children:"🧪 测试器"})]}),i.jsxs(vn,{value:"build",className:"space-y-4 mt-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{className:"text-sm font-medium",children:"正则表达式"}),i.jsx(Ce,{ref:ee,value:A,onChange:ae=>k(ae.target.value),className:"font-mono text-sm",placeholder:"点击下方按钮构建正则表达式..."})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{className:"text-sm font-medium",children:"Reaction 内容"}),i.jsx(Qt,{value:C,onChange:ae=>T(ae.target.value),placeholder:"使用 [捕获组名] 引用捕获的内容...",rows:3,className:"text-sm"})]}),i.jsxs("div",{className:"space-y-4 border-t pt-4",children:[he.map(ae=>i.jsxs("div",{className:"space-y-2",children:[i.jsx("h5",{className:"text-xs font-semibold text-primary",children:ae.category}),i.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2",children:ae.items.map(we=>i.jsx(oe,{variant:"outline",size:"sm",className:"justify-start h-auto py-2 px-3",onClick:()=>ie(we.pattern,we.moveCursor||0),children:i.jsxs("div",{className:"flex flex-col items-start w-full",children:[i.jsxs("div",{className:"flex items-center gap-2 w-full",children:[i.jsx("span",{className:"text-xs font-medium",children:we.label}),i.jsx("code",{className:"ml-auto text-xs bg-muted px-1.5 py-0.5 rounded font-mono",children:we.pattern})]}),i.jsx("span",{className:"text-xs text-muted-foreground mt-0.5",children:we.desc})]})},we.label))})]},ae.category)),i.jsxs("div",{className:"space-y-2 border-t pt-4",children:[i.jsx("h5",{className:"text-xs font-semibold text-primary",children:"完整示例模板"}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(oe,{variant:"outline",size:"sm",className:"w-full justify-start h-auto py-2 px-3",onClick:()=>k("^(?P\\S{1,20})是这样的$"),children:i.jsxs("div",{className:"flex flex-col items-start w-full",children:[i.jsxs("code",{className:"text-xs font-mono bg-muted px-2 py-1 rounded w-full overflow-x-auto",children:["^(?P\\S","{1,20}",")是这样的$"]}),i.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"匹配「某事物是这样的」并捕获事物名称"})]})}),i.jsx(oe,{variant:"outline",size:"sm",className:"w-full justify-start h-auto py-2 px-3",onClick:()=>k("(?:[^,。.\\s]+,\\s*)?我(?:也)?[没沒]要求你\\s*(?P.+?)[.。,,]?$"),children:i.jsxs("div",{className:"flex flex-col items-start w-full",children:[i.jsx("code",{className:"text-xs font-mono bg-muted px-2 py-1 rounded w-full overflow-x-auto",children:"(?:[^,。.\\s]+,\\s*)?我(?:也)?[没沒]要求你\\s*(?P.+?)[.。,,]?$"}),i.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"匹配「我没要求你做某事」并捕获具体行为"})]})}),i.jsx(oe,{variant:"outline",size:"sm",className:"w-full justify-start h-auto py-2 px-3",onClick:()=>k("(?P.+?)(?:是|为什么|怎么)"),children:i.jsxs("div",{className:"flex flex-col items-start w-full",children:[i.jsx("code",{className:"text-xs font-mono bg-muted px-2 py-1 rounded w-full overflow-x-auto",children:"(?P.+?)(?:是|为什么|怎么)"}),i.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"捕获问题主题词"})]})})]})]})]}),i.jsxs("div",{className:"rounded-md bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 p-3 space-y-1",children:[i.jsx("p",{className:"text-xs font-medium text-blue-900 dark:text-blue-100",children:"💡 使用提示"}),i.jsxs("ul",{className:"text-xs text-blue-700 dark:text-blue-300 space-y-1 list-disc list-inside",children:[i.jsx("li",{children:"点击输入框设置光标位置,然后点击按钮插入模式"}),i.jsxs("li",{children:["命名捕获组格式:",i.jsx("code",{className:"bg-blue-100 dark:bg-blue-900 px-1 rounded",children:"(?P<名称>模式)"})]}),i.jsxs("li",{children:["在 reaction 中使用 ",i.jsx("code",{className:"bg-blue-100 dark:bg-blue-900 px-1 rounded",children:"[名称]"})," 引用捕获的内容"]}),i.jsx("li",{children:"切换到测试器标签页验证正则表达式效果"})]})]})]}),i.jsxs(vn,{value:"test",className:"space-y-4 mt-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{className:"text-sm font-medium",children:"当前正则表达式"}),i.jsx("div",{className:"rounded-md bg-muted p-3 font-mono text-xs break-all",children:A||"(未设置)"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"test-text",className:"text-sm font-medium",children:"测试文本"}),i.jsx(Qt,{id:"test-text",value:L,onChange:ae=>D(ae.target.value),placeholder:`在此输入要测试的文本... -例如:打游戏是这样的`,className:"min-h-[100px] text-sm"})]}),H&&i.jsxs("div",{className:"rounded-md bg-destructive/10 border border-destructive/20 p-3",children:[i.jsx("p",{className:"text-sm text-destructive font-medium",children:"正则表达式错误"}),i.jsx("p",{className:"text-xs text-destructive/80 mt-1",children:H})]}),!H&&L&&i.jsxs("div",{className:"space-y-3",children:[i.jsx("div",{className:"flex items-center gap-2",children:U&&U.length>0?i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"h-2 w-2 rounded-full bg-green-500"}),i.jsxs("span",{className:"text-sm font-medium text-green-600 dark:text-green-400",children:["匹配成功 (",U.length," 处)"]})]}):i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"h-2 w-2 rounded-full bg-gray-400"}),i.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"无匹配"})]})}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{className:"text-sm font-medium",children:"匹配高亮"}),i.jsx(Gt,{className:"h-40 rounded-md bg-muted p-3",children:i.jsx("div",{className:"text-sm break-words",children:Q()})})]}),Object.keys($).length>0&&i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{className:"text-sm font-medium",children:"命名捕获组"}),i.jsx(Gt,{className:"h-32 rounded-md border p-3",children:i.jsx("div",{className:"space-y-2",children:Object.entries($).map(([ae,we])=>i.jsxs("div",{className:"flex items-start gap-2 text-sm",children:[i.jsxs("span",{className:"font-mono font-semibold text-primary min-w-[80px]",children:["[",ae,"]"]}),i.jsx("span",{className:"text-muted-foreground",children:"="}),i.jsx("span",{className:"font-mono bg-muted px-2 py-0.5 rounded",children:we})]},ae))})})]}),Object.keys($).length>0&&C&&i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{className:"text-sm font-medium",children:"Reaction 替换预览"}),i.jsx(Gt,{className:"h-48 rounded-md bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 p-3",children:i.jsx("div",{className:"text-sm break-words",children:q})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"reaction 中的 [name] 已被替换为对应的捕获组值"})]})]}),i.jsxs("div",{className:"rounded-md bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 p-3 space-y-1",children:[i.jsx("p",{className:"text-xs font-medium text-blue-900 dark:text-blue-100",children:"💡 测试说明"}),i.jsxs("ul",{className:"text-xs text-blue-700 dark:text-blue-300 space-y-1 list-disc list-inside",children:[i.jsx("li",{children:"匹配的文本会以黄色背景高亮显示"}),i.jsx("li",{children:"命名捕获组的值会显示在下方列表中"}),i.jsx("li",{children:"Reaction 替换预览显示最终生成的反应内容"}),i.jsx("li",{children:"如需修改正则,切换回构建器标签页"})]})]})]})]})})]})]})},g=()=>{a({...e,keyword_rules:[...e.keyword_rules,{keywords:[],reaction:""}]})},x=A=>{a({...e,keyword_rules:e.keyword_rules.filter((C,k)=>k!==A)})},j=(A,C,k)=>{const T=[...e.keyword_rules];typeof k=="string"&&(T[A]={...T[A],reaction:k}),a({...e,keyword_rules:T})},w=A=>{const C=[...e.keyword_rules];C[A]={...C[A],keywords:[...C[A].keywords||[],""]},a({...e,keyword_rules:C})},b=(A,C)=>{const k=[...e.keyword_rules];k[A]={...k[A],keywords:(k[A].keywords||[]).filter((T,M)=>M!==C)},a({...e,keyword_rules:k})},N=(A,C,k)=>{const T=[...e.keyword_rules],M=[...T[A].keywords||[]];M[C]=k,T[A]={...T[A],keywords:M},a({...e,keyword_rules:T})},E=({rule:A})=>{const C=`{ regex = [${(A.regex||[]).map(k=>`"${k}"`).join(", ")}], reaction = "${A.reaction}" }`;return i.jsxs(oo,{children:[i.jsx(lo,{asChild:!0,children:i.jsxs(oe,{variant:"outline",size:"sm",children:[i.jsx(Ya,{className:"h-4 w-4 mr-1"}),"预览"]})}),i.jsx(hs,{className:"w-[95vw] sm:w-[500px]",children:i.jsxs("div",{className:"space-y-2",children:[i.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),i.jsx(Gt,{className:"h-60 rounded-md bg-muted p-3",children:i.jsx("pre",{className:"font-mono text-xs break-all",children:C})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})},O=({rule:A})=>{const C=`[[keyword_reaction.keyword_rules]] -keywords = [${(A.keywords||[]).map(k=>`"${k}"`).join(", ")}] -reaction = "${A.reaction}"`;return i.jsxs(oo,{children:[i.jsx(lo,{asChild:!0,children:i.jsxs(oe,{variant:"outline",size:"sm",children:[i.jsx(Ya,{className:"h-4 w-4 mr-1"}),"预览"]})}),i.jsx(hs,{className:"w-[95vw] sm:w-[500px]",children:i.jsxs("div",{className:"space-y-2",children:[i.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),i.jsx(Gt,{className:"h-60 rounded-md bg-muted p-3",children:i.jsx("pre",{className:"font-mono text-xs whitespace-pre-wrap break-all",children:C})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})};return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-2",children:"关键词反应配置"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"配置触发特定反应的关键词和正则表达式规则"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx("h4",{className:"text-base font-semibold",children:"正则表达式规则"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"使用正则表达式匹配消息内容"})]}),i.jsxs(oe,{onClick:d,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加正则规则"]})]}),i.jsxs("div",{className:"space-y-3",children:[e.regex_rules.map((A,C)=>i.jsxs("div",{className:"rounded-lg border p-4 space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("span",{className:"text-sm font-medium",children:["正则规则 ",C+1]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(p,{regex:A.regex&&A.regex[0]||"",reaction:A.reaction,onRegexChange:k=>m(C,"regex",k),onReactionChange:k=>m(C,"reaction",k)}),i.jsx(E,{rule:A}),i.jsxs(dn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"sm",variant:"ghost",children:i.jsx(Ct,{className:"h-4 w-4"})})}),i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认删除"}),i.jsxs(an,{children:["确定要删除正则规则 ",C+1," 吗?此操作无法撤销。"]})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:()=>f(C),children:"删除"})]})]})]})]})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{className:"text-xs font-medium",children:"正则表达式(Python 语法)"}),i.jsx(Ce,{value:A.regex&&A.regex[0]||"",onChange:k=>m(C,"regex",k.target.value),placeholder:"例如:^(?P\\\\S{1,20})是这样的$ (点击正则编辑器按钮可视化构建)",className:"font-mono text-sm"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:'支持命名捕获组 (?Ppattern),可在 reaction 中使用 [name] 引用。点击"正则编辑器"可视化构建和测试!'})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{className:"text-xs font-medium",children:"反应内容"}),i.jsx(Qt,{value:A.reaction,onChange:k=>m(C,"reaction",k.target.value),placeholder:`触发后麦麦的反应... -可以使用 [捕获组名] 来引用正则表达式中的内容`,rows:3,className:"text-sm"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"使用 [捕获组名] 引用正则表达式中的命名捕获组,例如 [n] 会被替换为捕获的内容"})]})]})]},C)),e.regex_rules.length===0&&i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无正则规则,点击"添加正则规则"开始配置'})]})]}),i.jsxs("div",{className:"space-y-4 border-t pt-6",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx("h4",{className:"text-base font-semibold",children:"关键词规则"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"使用关键词列表匹配消息内容"})]}),i.jsxs(oe,{onClick:g,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加关键词规则"]})]}),i.jsxs("div",{className:"space-y-3",children:[e.keyword_rules.map((A,C)=>i.jsxs("div",{className:"rounded-lg border p-4 space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("span",{className:"text-sm font-medium",children:["关键词规则 ",C+1]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(O,{rule:A}),i.jsxs(dn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"sm",variant:"ghost",children:i.jsx(Ct,{className:"h-4 w-4"})})}),i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认删除"}),i.jsxs(an,{children:["确定要删除关键词规则 ",C+1," 吗?此操作无法撤销。"]})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:()=>x(C),children:"删除"})]})]})]})]})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(ne,{className:"text-xs font-medium",children:"关键词列表"}),i.jsxs(oe,{onClick:()=>w(C),size:"sm",variant:"ghost",children:[i.jsx(ir,{className:"h-3 w-3 mr-1"}),"添加关键词"]})]}),i.jsxs("div",{className:"space-y-2",children:[(A.keywords||[]).map((k,T)=>i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(Ce,{value:k,onChange:M=>N(C,T,M.target.value),placeholder:"关键词",className:"flex-1"}),i.jsx(oe,{onClick:()=>b(C,T),size:"sm",variant:"ghost",children:i.jsx(Ct,{className:"h-4 w-4"})})]},T)),(!A.keywords||A.keywords.length===0)&&i.jsx("p",{className:"text-xs text-muted-foreground text-center py-2",children:'暂无关键词,点击"添加关键词"开始配置'})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{className:"text-xs font-medium",children:"反应内容"}),i.jsx(Qt,{value:A.reaction,onChange:k=>j(C,"reaction",k.target.value),placeholder:"触发后麦麦的反应...",rows:3,className:"text-sm"})]})]})]},C)),e.keyword_rules.length===0&&i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无关键词规则,点击"添加关键词规则"开始配置'})]})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"回复后处理配置"}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(dt,{id:"enable_response_post_process",checked:t.enable_response_post_process,onCheckedChange:A=>s({...t,enable_response_post_process:A})}),i.jsx(ne,{htmlFor:"enable_response_post_process",className:"cursor-pointer",children:"启用回复后处理"})]}),i.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"包括错别字生成器和回复分割器"})]}),t.enable_response_post_process&&i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"border-t pt-6 space-y-4",children:i.jsxs("div",{children:[i.jsxs("div",{className:"flex items-center space-x-2 mb-4",children:[i.jsx(dt,{id:"enable_chinese_typo",checked:n.enable,onCheckedChange:A=>l({...n,enable:A})}),i.jsx(ne,{htmlFor:"enable_chinese_typo",className:"cursor-pointer font-semibold",children:"中文错别字生成器"})]}),i.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"为回复添加随机错别字,让麦麦的回复更自然"}),n.enable&&i.jsxs("div",{className:"grid gap-4 pl-6 border-l-2 border-primary/20",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"error_rate",className:"text-xs font-medium",children:"单字替换概率"}),i.jsx(Ce,{id:"error_rate",type:"number",step:"0.001",min:"0",max:"1",value:n.error_rate,onChange:A=>l({...n,error_rate:parseFloat(A.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"min_freq",className:"text-xs font-medium",children:"最小字频阈值"}),i.jsx(Ce,{id:"min_freq",type:"number",min:"0",value:n.min_freq,onChange:A=>l({...n,min_freq:parseInt(A.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"tone_error_rate",className:"text-xs font-medium",children:"声调错误概率"}),i.jsx(Ce,{id:"tone_error_rate",type:"number",step:"0.01",min:"0",max:"1",value:n.tone_error_rate,onChange:A=>l({...n,tone_error_rate:parseFloat(A.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"word_replace_rate",className:"text-xs font-medium",children:"整词替换概率"}),i.jsx(Ce,{id:"word_replace_rate",type:"number",step:"0.001",min:"0",max:"1",value:n.word_replace_rate,onChange:A=>l({...n,word_replace_rate:parseFloat(A.target.value)})})]})]})]})}),i.jsx("div",{className:"border-t pt-6 space-y-4",children:i.jsxs("div",{children:[i.jsxs("div",{className:"flex items-center space-x-2 mb-4",children:[i.jsx(dt,{id:"enable_response_splitter",checked:r.enable,onCheckedChange:A=>u({...r,enable:A})}),i.jsx(ne,{htmlFor:"enable_response_splitter",className:"cursor-pointer font-semibold",children:"回复分割器"})]}),i.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"控制回复的长度和句子数量"}),r.enable&&i.jsxs("div",{className:"grid gap-4 pl-6 border-l-2 border-primary/20",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"max_length",className:"text-xs font-medium",children:"最大长度"}),i.jsx(Ce,{id:"max_length",type:"number",min:"1",value:r.max_length,onChange:A=>u({...r,max_length:parseInt(A.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"回复允许的最大字符数"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"max_sentence_num",className:"text-xs font-medium",children:"最大句子数"}),i.jsx(Ce,{id:"max_sentence_num",type:"number",min:"1",value:r.max_sentence_num,onChange:A=>u({...r,max_sentence_num:parseInt(A.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"回复允许的最大句子数量"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(dt,{id:"enable_kaomoji_protection",checked:r.enable_kaomoji_protection,onCheckedChange:A=>u({...r,enable_kaomoji_protection:A})}),i.jsx(ne,{htmlFor:"enable_kaomoji_protection",className:"cursor-pointer",children:"启用颜文字保护"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(dt,{id:"enable_overflow_return_all",checked:r.enable_overflow_return_all,onCheckedChange:A=>u({...r,enable_overflow_return_all:A})}),i.jsx(ne,{htmlFor:"enable_overflow_return_all",className:"cursor-pointer",children:"超出时一次性返回全部"})]}),i.jsx("p",{className:"text-xs text-muted-foreground -mt-2",children:"当句子数量超出限制时,合并后一次性返回所有内容"})]})]})})]})]})]})}function Rje({config:e,onChange:t}){return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[i.jsx("h3",{className:"text-lg font-semibold",children:"情绪设置"}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(dt,{checked:e.enable_mood,onCheckedChange:n=>t({...e,enable_mood:n})}),i.jsx(ne,{className:"cursor-pointer",children:"启用情绪系统"})]}),e.enable_mood&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"情绪更新阈值"}),i.jsx(Ce,{type:"number",min:"1",value:e.mood_update_threshold,onChange:n=>t({...e,mood_update_threshold:parseInt(n.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"越高,更新越慢"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"情感特征"}),i.jsx(Qt,{value:e.emotion_style,onChange:n=>t({...e,emotion_style:n.target.value}),placeholder:"影响情绪的变化情况",rows:2})]})]})]})]})}function Dje({config:e,onChange:t}){return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[i.jsx("h3",{className:"text-lg font-semibold",children:"语音设置"}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(dt,{checked:e.enable_asr,onCheckedChange:n=>t({...e,enable_asr:n})}),i.jsx(ne,{className:"cursor-pointer",children:"启用语音识别"})]}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"启用后麦麦可以识别语音消息,需要配置语音识别模型"})]})}function $je({config:e,onChange:t}){return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[i.jsx("h3",{className:"text-lg font-semibold",children:"LPMM 知识库设置"}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(dt,{checked:e.enable,onCheckedChange:n=>t({...e,enable:n})}),i.jsx(ne,{className:"cursor-pointer",children:"启用 LPMM 知识库"})]}),e.enable&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"LPMM 模式"}),i.jsxs(St,{value:e.lpmm_mode,onValueChange:n=>t({...e,lpmm_mode:n}),children:[i.jsx(xt,{children:i.jsx(_t,{placeholder:"选择 LPMM 模式"})}),i.jsxs(bt,{children:[i.jsx(ke,{value:"classic",children:"经典模式"}),i.jsx(ke,{value:"agent",children:"Agent 模式"})]})]})]}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"同义词搜索 TopK"}),i.jsx(Ce,{type:"number",min:"1",value:e.rag_synonym_search_top_k,onChange:n=>t({...e,rag_synonym_search_top_k:parseInt(n.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"同义词阈值"}),i.jsx(Ce,{type:"number",step:"0.1",min:"0",max:"1",value:e.rag_synonym_threshold,onChange:n=>t({...e,rag_synonym_threshold:parseFloat(n.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"实体提取线程数"}),i.jsx(Ce,{type:"number",min:"1",value:e.info_extraction_workers,onChange:n=>t({...e,info_extraction_workers:parseInt(n.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"嵌入向量维度"}),i.jsx(Ce,{type:"number",min:"1",value:e.embedding_dimension,onChange:n=>t({...e,embedding_dimension:parseInt(n.target.value)})})]})]})]})]})]})}function Ije({config:e,onChange:t}){const[n,r]=y.useState(""),[a,s]=y.useState("WARNING"),l=()=>{n&&!e.suppress_libraries.includes(n)&&(t({...e,suppress_libraries:[...e.suppress_libraries,n]}),r(""))},u=x=>{t({...e,suppress_libraries:e.suppress_libraries.filter(j=>j!==x)})},d=()=>{n&&!e.library_log_levels[n]&&(t({...e,library_log_levels:{...e.library_log_levels,[n]:a}}),r(""),s("WARNING"))},f=x=>{const j={...e.library_log_levels};delete j[x],t({...e,library_log_levels:j})},m=["DEBUG","INFO","WARNING","ERROR","CRITICAL"],p=["FULL","compact","lite"],g=["none","title","full"];return i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6 space-y-6",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"日志配置"}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"日期格式"}),i.jsx(Ce,{value:e.date_style,onChange:x=>t({...e,date_style:x.target.value}),placeholder:"例如: m-d H:i:s"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"m=月, d=日, H=时, i=分, s=秒"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"日志级别样式"}),i.jsxs(St,{value:e.log_level_style,onValueChange:x=>t({...e,log_level_style:x}),children:[i.jsx(xt,{children:i.jsx(_t,{})}),i.jsx(bt,{children:p.map(x=>i.jsx(ke,{value:x,children:x},x))})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"日志文本颜色"}),i.jsxs(St,{value:e.color_text,onValueChange:x=>t({...e,color_text:x}),children:[i.jsx(xt,{children:i.jsx(_t,{})}),i.jsx(bt,{children:g.map(x=>i.jsx(ke,{value:x,children:x},x))})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"全局日志级别"}),i.jsxs(St,{value:e.log_level,onValueChange:x=>t({...e,log_level:x}),children:[i.jsx(xt,{children:i.jsx(_t,{})}),i.jsx(bt,{children:m.map(x=>i.jsx(ke,{value:x,children:x},x))})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"控制台日志级别"}),i.jsxs(St,{value:e.console_log_level,onValueChange:x=>t({...e,console_log_level:x}),children:[i.jsx(xt,{children:i.jsx(_t,{})}),i.jsx(bt,{children:m.map(x=>i.jsx(ke,{value:x,children:x},x))})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"文件日志级别"}),i.jsxs(St,{value:e.file_log_level,onValueChange:x=>t({...e,file_log_level:x}),children:[i.jsx(xt,{children:i.jsx(_t,{})}),i.jsx(bt,{children:m.map(x=>i.jsx(ke,{value:x,children:x},x))})]})]})]})]}),i.jsxs("div",{children:[i.jsx(ne,{className:"mb-2 block",children:"完全屏蔽的库"}),i.jsxs("div",{className:"flex gap-2 mb-2",children:[i.jsx(Ce,{value:n,onChange:x=>r(x.target.value),placeholder:"输入库名",className:"flex-1",onKeyDown:x=>{x.key==="Enter"&&(x.preventDefault(),l())}}),i.jsx(oe,{onClick:l,size:"sm",className:"flex-shrink-0",children:i.jsx(ir,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]}),i.jsx("div",{className:"flex flex-wrap gap-2",children:e.suppress_libraries.map(x=>i.jsxs("div",{className:"flex items-center gap-1 bg-secondary px-3 py-1 rounded-md",children:[i.jsx("span",{className:"text-sm",children:x}),i.jsx(oe,{variant:"ghost",size:"sm",className:"h-5 w-5 p-0",onClick:()=>u(x),children:i.jsx(Ct,{className:"h-3 w-3",strokeWidth:2,fill:"none"})})]},x))})]}),i.jsxs("div",{children:[i.jsx(ne,{className:"mb-2 block",children:"特定库的日志级别"}),i.jsxs("div",{className:"flex gap-2 mb-2",children:[i.jsx(Ce,{value:n,onChange:x=>r(x.target.value),placeholder:"输入库名",className:"flex-1"}),i.jsxs(St,{value:a,onValueChange:s,children:[i.jsx(xt,{className:"w-32",children:i.jsx(_t,{})}),i.jsx(bt,{children:m.map(x=>i.jsx(ke,{value:x,children:x},x))})]}),i.jsx(oe,{onClick:d,size:"sm",children:i.jsx(ir,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]}),i.jsx("div",{className:"space-y-2",children:Object.entries(e.library_log_levels).map(([x,j])=>i.jsxs("div",{className:"flex items-center justify-between bg-secondary px-3 py-2 rounded-md",children:[i.jsx("span",{className:"text-sm font-medium",children:x}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-sm text-muted-foreground",children:j}),i.jsx(oe,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:()=>f(x),children:i.jsx(Ct,{className:"h-3 w-3",strokeWidth:2,fill:"none"})})]})]},x))})]})]})}function Lje({config:e,onChange:t}){return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[i.jsx("h3",{className:"text-lg font-semibold",children:"调试配置"}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5",children:[i.jsx(ne,{children:"显示 Prompt"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"是否在日志中显示提示词"})]}),i.jsx(dt,{checked:e.show_prompt,onCheckedChange:n=>t({...e,show_prompt:n})})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5",children:[i.jsx(ne,{children:"显示回复器 Prompt"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"是否显示回复器的提示词"})]}),i.jsx(dt,{checked:e.show_replyer_prompt,onCheckedChange:n=>t({...e,show_replyer_prompt:n})})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5",children:[i.jsx(ne,{children:"显示回复器推理"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"是否显示回复器的推理过程"})]}),i.jsx(dt,{checked:e.show_replyer_reasoning,onCheckedChange:n=>t({...e,show_replyer_reasoning:n})})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5",children:[i.jsx(ne,{children:"显示 Jargon Prompt"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"是否显示术语相关的提示词"})]}),i.jsx(dt,{checked:e.show_jargon_prompt,onCheckedChange:n=>t({...e,show_jargon_prompt:n})})]})]})]})}function zje({config:e,onChange:t}){const[n,r]=y.useState(""),a=()=>{n&&!e.auth_token.includes(n)&&(t({...e,auth_token:[...e.auth_token,n]}),r(""))},s=l=>{t({...e,auth_token:e.auth_token.filter((u,d)=>d!==l)})};return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"MaimMessage 服务配置"}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5",children:[i.jsx(ne,{children:"启用自定义服务器"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"是否使用自定义的 MaimMessage 服务器"})]}),i.jsx(dt,{checked:e.use_custom,onCheckedChange:l=>t({...e,use_custom:l})})]}),e.use_custom&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"主机地址"}),i.jsx(Ce,{value:e.host,onChange:l=>t({...e,host:l.target.value}),placeholder:"127.0.0.1"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"端口号"}),i.jsx(Ce,{type:"number",value:e.port,onChange:l=>t({...e,port:parseInt(l.target.value)}),placeholder:"8090"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"连接模式"}),i.jsxs(St,{value:e.mode,onValueChange:l=>t({...e,mode:l}),children:[i.jsx(xt,{children:i.jsx(_t,{})}),i.jsxs(bt,{children:[i.jsx(ke,{value:"ws",children:"WebSocket (ws)"}),i.jsx(ke,{value:"tcp",children:"TCP"})]})]})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(dt,{checked:e.use_wss,onCheckedChange:l=>t({...e,use_wss:l}),disabled:e.mode!=="ws"}),i.jsx(ne,{children:"使用 WSS 安全连接"})]})]}),e.use_wss&&e.mode==="ws"&&i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"SSL 证书文件路径"}),i.jsx(Ce,{value:e.cert_file,onChange:l=>t({...e,cert_file:l.target.value}),placeholder:"cert.pem"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"SSL 密钥文件路径"}),i.jsx(Ce,{value:e.key_file,onChange:l=>t({...e,key_file:l.target.value}),placeholder:"key.pem"})]})]})]})]})]}),i.jsxs("div",{children:[i.jsx(ne,{className:"mb-2 block",children:"认证令牌"}),i.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:"用于 API 验证,为空则不启用验证"}),i.jsxs("div",{className:"flex gap-2 mb-2",children:[i.jsx(Ce,{value:n,onChange:l=>r(l.target.value),placeholder:"输入认证令牌",onKeyDown:l=>{l.key==="Enter"&&(l.preventDefault(),a())}}),i.jsx(oe,{onClick:a,size:"sm",children:i.jsx(ir,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]}),i.jsx("div",{className:"space-y-2",children:e.auth_token.map((l,u)=>i.jsxs("div",{className:"flex items-center justify-between bg-secondary px-3 py-2 rounded-md",children:[i.jsx("span",{className:"text-sm font-mono",children:l}),i.jsx(oe,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:()=>s(u),children:i.jsx(Ct,{className:"h-3 w-3",strokeWidth:2,fill:"none"})})]},u))})]})]})}function Bje({config:e,onChange:t}){return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[i.jsx("h3",{className:"text-lg font-semibold",children:"统计信息"}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5",children:[i.jsx(ne,{children:"启用统计信息发送"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"发送匿名统计信息,帮助我们了解全球有多少只麦麦在运行"})]}),i.jsx(dt,{checked:e.enable,onCheckedChange:n=>t({...e,enable:n})})]})]})}const Pl=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{className:"relative w-full overflow-auto",children:i.jsx("table",{ref:n,className:ue("w-full caption-bottom text-sm",e),...t})}));Pl.displayName="Table";const Rl=y.forwardRef(({className:e,...t},n)=>i.jsx("thead",{ref:n,className:ue("[&_tr]:border-b",e),...t}));Rl.displayName="TableHeader";const Dl=y.forwardRef(({className:e,...t},n)=>i.jsx("tbody",{ref:n,className:ue("[&_tr:last-child]:border-0",e),...t}));Dl.displayName="TableBody";const qje=y.forwardRef(({className:e,...t},n)=>i.jsx("tfoot",{ref:n,className:ue("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));qje.displayName="TableFooter";const Tn=y.forwardRef(({className:e,...t},n)=>i.jsx("tr",{ref:n,className:ue("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));Tn.displayName="TableRow";const Xe=y.forwardRef(({className:e,...t},n)=>i.jsx("th",{ref:n,className:ue("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));Xe.displayName="TableHead";const Be=y.forwardRef(({className:e,...t},n)=>i.jsx("td",{ref:n,className:ue("px-4 py-3 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));Be.displayName="TableCell";const Fje=y.forwardRef(({className:e,...t},n)=>i.jsx("caption",{ref:n,className:ue("mt-4 text-sm text-muted-foreground",e),...t}));Fje.displayName="TableCaption";var ox="Checkbox",[Uje]=yr(ox),[Hje,RE]=Uje(ox);function Wje(e){const{__scopeCheckbox:t,checked:n,children:r,defaultChecked:a,disabled:s,form:l,name:u,onCheckedChange:d,required:f,value:m="on",internal_do_not_use_render:p}=e,[g,x]=Ta({prop:n,defaultProp:a??!1,onChange:d,caller:ox}),[j,w]=y.useState(null),[b,N]=y.useState(null),E=y.useRef(!1),O=j?!!l||!!j.closest("form"):!0,A={checked:g,disabled:s,setChecked:x,control:j,setControl:w,name:u,form:l,value:m,hasConsumerStoppedPropagationRef:E,required:f,defaultChecked:ro(a)?!1:a,isFormControl:O,bubbleInput:b,setBubbleInput:N};return i.jsx(Hje,{scope:t,...A,children:Vje(p)?p(A):r})}var uH="CheckboxTrigger",dH=y.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},a)=>{const{control:s,value:l,disabled:u,checked:d,required:f,setControl:m,setChecked:p,hasConsumerStoppedPropagationRef:g,isFormControl:x,bubbleInput:j}=RE(uH,e),w=Ue(a,m),b=y.useRef(d);return y.useEffect(()=>{const N=s?.form;if(N){const E=()=>p(b.current);return N.addEventListener("reset",E),()=>N.removeEventListener("reset",E)}},[s,p]),i.jsx($e.button,{type:"button",role:"checkbox","aria-checked":ro(d)?"mixed":d,"aria-required":f,"data-state":vH(d),"data-disabled":u?"":void 0,disabled:u,value:l,...r,ref:w,onKeyDown:Ne(t,N=>{N.key==="Enter"&&N.preventDefault()}),onClick:Ne(n,N=>{p(E=>ro(E)?!0:!E),j&&x&&(g.current=N.isPropagationStopped(),g.current||N.stopPropagation())})})});dH.displayName=uH;var DE=y.forwardRef((e,t)=>{const{__scopeCheckbox:n,name:r,checked:a,defaultChecked:s,required:l,disabled:u,value:d,onCheckedChange:f,form:m,...p}=e;return i.jsx(Wje,{__scopeCheckbox:n,checked:a,defaultChecked:s,disabled:u,required:l,onCheckedChange:f,name:r,form:m,value:d,internal_do_not_use_render:({isFormControl:g})=>i.jsxs(i.Fragment,{children:[i.jsx(dH,{...p,ref:t,__scopeCheckbox:n}),g&&i.jsx(pH,{__scopeCheckbox:n})]})})});DE.displayName=ox;var fH="CheckboxIndicator",hH=y.forwardRef((e,t)=>{const{__scopeCheckbox:n,forceMount:r,...a}=e,s=RE(fH,n);return i.jsx(zn,{present:r||ro(s.checked)||s.checked===!0,children:i.jsx($e.span,{"data-state":vH(s.checked),"data-disabled":s.disabled?"":void 0,...a,ref:t,style:{pointerEvents:"none",...e.style}})})});hH.displayName=fH;var mH="CheckboxBubbleInput",pH=y.forwardRef(({__scopeCheckbox:e,...t},n)=>{const{control:r,hasConsumerStoppedPropagationRef:a,checked:s,defaultChecked:l,required:u,disabled:d,name:f,value:m,form:p,bubbleInput:g,setBubbleInput:x}=RE(mH,e),j=Ue(n,x),w=Iy(s),b=Ly(r);y.useEffect(()=>{const E=g;if(!E)return;const O=window.HTMLInputElement.prototype,C=Object.getOwnPropertyDescriptor(O,"checked").set,k=!a.current;if(w!==s&&C){const T=new Event("click",{bubbles:k});E.indeterminate=ro(s),C.call(E,ro(s)?!1:s),E.dispatchEvent(T)}},[g,w,s,a]);const N=y.useRef(ro(s)?!1:s);return i.jsx($e.input,{type:"checkbox","aria-hidden":!0,defaultChecked:l??N.current,required:u,disabled:d,name:f,value:m,form:p,...t,tabIndex:-1,ref:j,style:{...t.style,...b,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});pH.displayName=mH;function Vje(e){return typeof e=="function"}function ro(e){return e==="indeterminate"}function vH(e){return ro(e)?"indeterminate":e?"checked":"unchecked"}const pr=y.forwardRef(({className:e,...t},n)=>i.jsx(DE,{ref:n,className:ue("grid place-content-center peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",e),...t,children:i.jsx(hH,{className:ue("grid place-content-center text-current"),children:i.jsx(cl,{className:"h-4 w-4"})})}));pr.displayName=DE.displayName;function Gje(){const[e,t]=y.useState([]),[n,r]=y.useState(!0),[a,s]=y.useState(!1),[l,u]=y.useState(!1),[d,f]=y.useState(!1),[m,p]=y.useState(!1),[g,x]=y.useState(!1),[j,w]=y.useState(!1),[b,N]=y.useState(null),[E,O]=y.useState(null),[A,C]=y.useState(!1),[k,T]=y.useState(null),[M,R]=y.useState(!1),[L,D]=y.useState(""),[U,V]=y.useState(new Set),[H,G]=y.useState(!1),{toast:$}=xr(),I=y.useRef(null),q=y.useRef(!0);y.useEffect(()=>{Z()},[]);const Z=async()=>{try{r(!0);const be=await eu();t(be.api_providers||[]),f(!1),q.current=!1}catch(be){console.error("加载配置失败:",be)}finally{r(!1)}},ee=async()=>{try{p(!0),ME().catch(()=>{}),x(!0)}catch(be){console.error("重启失败:",be),x(!1),$({title:"重启失败",description:"无法发送重启请求,请手动重启",variant:"destructive"}),p(!1)}},F=async()=>{try{s(!0),I.current&&clearTimeout(I.current);const be=await eu();be.api_providers=e,await zg(be),f(!1),$({title:"保存成功",description:"正在重启麦麦..."}),await ee()}catch(be){console.error("保存配置失败:",be),$({title:"保存失败",description:be.message,variant:"destructive"}),s(!1)}},z=()=>{localStorage.removeItem("access-token"),window.location.href="/auth"},K=()=>{x(!1),p(!1),$({title:"重启超时",description:"服务未能在预期时间内恢复,请手动检查或刷新页面",variant:"destructive"})},ie=y.useCallback(async be=>{if(!q.current)try{u(!0),await xC("api_providers",be),f(!1)}catch(_e){console.error("自动保存失败:",_e),f(!0)}finally{u(!1)}},[]);y.useEffect(()=>{if(!q.current)return f(!0),I.current&&clearTimeout(I.current),I.current=setTimeout(()=>{ie(e)},2e3),()=>{I.current&&clearTimeout(I.current)}},[e,ie]);const Q=async()=>{try{s(!0),I.current&&clearTimeout(I.current);const be=await eu();be.api_providers=e,await zg(be),f(!1),$({title:"保存成功",description:"模型提供商配置已保存"})}catch(be){console.error("保存配置失败:",be),$({title:"保存失败",description:be.message,variant:"destructive"})}finally{s(!1)}},he=(be,_e)=>{N(be||{name:"",base_url:"",api_key:"",client_type:"openai",max_retry:2,timeout:30,retry_interval:10}),O(_e),R(!1),w(!0)},ae=async()=>{if(b?.api_key)try{await navigator.clipboard.writeText(b.api_key),$({title:"复制成功",description:"API Key 已复制到剪贴板"})}catch{$({title:"复制失败",description:"无法访问剪贴板",variant:"destructive"})}},we=()=>{if(!b)return;const be={...b,max_retry:b.max_retry??2,timeout:b.timeout??30,retry_interval:b.retry_interval??10};if(E!==null){const _e=[...e];_e[E]=be,t(_e)}else t([...e,be]);w(!1),N(null),O(null)},Y=be=>{if(!be&&b){const _e={...b,max_retry:b.max_retry??2,timeout:b.timeout??30,retry_interval:b.retry_interval??10};N(_e)}w(be)},pe=be=>{T(be),C(!0)},je=()=>{if(k!==null){const be=e.filter((_e,rt)=>rt!==k);t(be),$({title:"删除成功",description:"提供商已从列表中移除"})}C(!1),T(null)},X=be=>{const _e=new Set(U);_e.has(be)?_e.delete(be):_e.add(be),V(_e)},Ae=()=>{if(U.size===Ve.length)V(new Set);else{const be=Ve.map((_e,rt)=>e.findIndex(fn=>fn===Ve[rt]));V(new Set(be))}},Oe=()=>{if(U.size===0){$({title:"提示",description:"请先选择要删除的提供商",variant:"default"});return}G(!0)},We=()=>{const be=e.filter((_e,rt)=>!U.has(rt));t(be),V(new Set),G(!1),$({title:"批量删除成功",description:`已删除 ${U.size} 个提供商`})},Ve=e.filter(be=>{if(!L)return!0;const _e=L.toLowerCase();return be.name.toLowerCase().includes(_e)||be.base_url.toLowerCase().includes(_e)||be.client_type.toLowerCase().includes(_e)});return n?i.jsx("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:i.jsx("div",{className:"flex items-center justify-center h-64",children:i.jsx("p",{className:"text-muted-foreground",children:"加载中..."})})}):i.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"模型提供商配置"}),i.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理 API 提供商配置"})]}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[U.size>0&&i.jsxs(oe,{onClick:Oe,size:"sm",variant:"destructive",className:"w-full sm:w-auto",children:[i.jsx(Ct,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"批量删除 (",U.size,")"]}),i.jsxs(oe,{onClick:()=>he(null,null),size:"sm",className:"w-full sm:w-auto",children:[i.jsx(ir,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"添加提供商"]}),i.jsxs(oe,{onClick:Q,disabled:a||l||!d||m,size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[i.jsx(lE,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),a?"保存中...":l?"自动保存中...":d?"保存配置":"已保存"]}),i.jsxs(dn,{children:[i.jsx(mr,{asChild:!0,children:i.jsxs(oe,{disabled:a||l||m,size:"sm",className:"w-full sm:w-auto",children:[i.jsx(oE,{className:"mr-2 h-4 w-4"}),m?"重启中...":d?"保存并重启":"重启麦麦"]})}),i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认重启麦麦?"}),i.jsx(an,{children:d?"当前有未保存的配置更改。点击确认将先保存配置,然后重启麦麦使新配置生效。重启过程中麦麦将暂时离线。":"即将重启麦麦主程序。重启过程中麦麦将暂时离线,配置将在重启后生效。"})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:d?F:ee,children:d?"保存并重启":"确认重启"})]})]})]})]})]}),i.jsxs(ix,{children:[i.jsx(Pu,{className:"h-4 w-4"}),i.jsxs(sx,{children:["配置更新后需要",i.jsx("strong",{children:"重启麦麦"}),'才能生效。你可以点击右上角的"保存并重启"按钮一键完成保存和重启。']})]}),i.jsxs(Gt,{className:"h-[calc(100vh-260px)]",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-2 mb-4",children:[i.jsxs("div",{className:"relative w-full sm:flex-1 sm:max-w-sm",children:[i.jsx(Br,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),i.jsx(Ce,{placeholder:"搜索提供商名称、URL 或类型...",value:L,onChange:be=>D(be.target.value),className:"pl-9"})]}),L&&i.jsxs("p",{className:"text-sm text-muted-foreground whitespace-nowrap",children:["找到 ",Ve.length," 个结果"]})]}),i.jsx("div",{className:"md:hidden space-y-3",children:Ve.length===0?i.jsx("div",{className:"text-center text-muted-foreground py-8 rounded-lg border bg-card",children:L?"未找到匹配的提供商":'暂无提供商配置,点击"添加提供商"开始配置'}):Ve.map((be,_e)=>i.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3",children:[i.jsxs("div",{className:"flex items-start justify-between gap-2",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("h3",{className:"font-semibold text-base truncate",children:be.name}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1 break-all",children:be.base_url})]}),i.jsxs("div",{className:"flex gap-1 flex-shrink-0",children:[i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>he(be,_e),children:i.jsx(Ru,{className:"h-4 w-4",strokeWidth:2,fill:"none"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>pe(_e),children:i.jsx(Ct,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"客户端类型"}),i.jsx("p",{className:"font-medium",children:be.client_type})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"最大重试"}),i.jsx("p",{className:"font-medium",children:be.max_retry})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"超时(秒)"}),i.jsx("p",{className:"font-medium",children:be.timeout})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"重试间隔(秒)"}),i.jsx("p",{className:"font-medium",children:be.retry_interval})]})]})]},_e))}),i.jsx("div",{className:"hidden md:block rounded-lg border bg-card overflow-hidden",children:i.jsxs(Pl,{children:[i.jsx(Rl,{children:i.jsxs(Tn,{children:[i.jsx(Xe,{className:"w-12",children:i.jsx(pr,{checked:U.size===Ve.length&&Ve.length>0,onCheckedChange:Ae})}),i.jsx(Xe,{children:"名称"}),i.jsx(Xe,{children:"基础URL"}),i.jsx(Xe,{children:"客户端类型"}),i.jsx(Xe,{className:"text-right",children:"最大重试"}),i.jsx(Xe,{className:"text-right",children:"超时(秒)"}),i.jsx(Xe,{className:"text-right",children:"重试间隔(秒)"}),i.jsx(Xe,{className:"text-right",children:"操作"})]})}),i.jsx(Dl,{children:Ve.length===0?i.jsx(Tn,{children:i.jsx(Be,{colSpan:8,className:"text-center text-muted-foreground py-8",children:L?"未找到匹配的提供商":'暂无提供商配置,点击"添加提供商"开始配置'})}):Ve.map((be,_e)=>{const rt=e.findIndex(fn=>fn===be);return i.jsxs(Tn,{children:[i.jsx(Be,{children:i.jsx(pr,{checked:U.has(rt),onCheckedChange:()=>X(rt)})}),i.jsx(Be,{className:"font-medium",children:be.name}),i.jsx(Be,{className:"max-w-xs truncate",title:be.base_url,children:be.base_url}),i.jsx(Be,{children:be.client_type}),i.jsx(Be,{className:"text-right",children:be.max_retry}),i.jsx(Be,{className:"text-right",children:be.timeout}),i.jsx(Be,{className:"text-right",children:be.retry_interval}),i.jsx(Be,{className:"text-right",children:i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>he(be,rt),children:i.jsx(Ru,{className:"h-4 w-4",strokeWidth:2,fill:"none"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>pe(rt),children:i.jsx(Ct,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]})})]},_e)})})]})})]}),i.jsx(sr,{open:j,onOpenChange:Y,children:i.jsxs(Kn,{className:"max-w-[95vw] sm:max-w-2xl max-h-[90vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:E!==null?"编辑提供商":"添加提供商"}),i.jsx(gr,{children:"配置 API 提供商的连接信息和参数"})]}),i.jsxs("div",{className:"grid gap-4 py-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"name",children:"名称 *"}),i.jsx(Ce,{id:"name",value:b?.name||"",onChange:be=>N(_e=>_e?{..._e,name:be.target.value}:null),placeholder:"例如: DeepSeek, SiliconFlow"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"base_url",children:"基础 URL *"}),i.jsx(Ce,{id:"base_url",value:b?.base_url||"",onChange:be=>N(_e=>_e?{..._e,base_url:be.target.value}:null),placeholder:"https://api.example.com/v1"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"api_key",children:"API Key *"}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(Ce,{id:"api_key",type:M?"text":"password",value:b?.api_key||"",onChange:be=>N(_e=>_e?{..._e,api_key:be.target.value}:null),placeholder:"sk-...",className:"flex-1"}),i.jsx(oe,{type:"button",variant:"outline",size:"icon",onClick:()=>R(!M),title:M?"隐藏密钥":"显示密钥",children:M?i.jsx(nC,{className:"h-4 w-4"}):i.jsx(Ya,{className:"h-4 w-4"})}),i.jsx(oe,{type:"button",variant:"outline",size:"icon",onClick:ae,title:"复制密钥",children:i.jsx(eC,{className:"h-4 w-4"})})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"client_type",children:"客户端类型"}),i.jsxs(St,{value:b?.client_type||"openai",onValueChange:be=>N(_e=>_e?{..._e,client_type:be}:null),children:[i.jsx(xt,{id:"client_type",children:i.jsx(_t,{placeholder:"选择客户端类型"})}),i.jsxs(bt,{children:[i.jsx(ke,{value:"openai",children:"OpenAI"}),i.jsx(ke,{value:"gemini",children:"Gemini"})]})]})]}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"max_retry",children:"最大重试"}),i.jsx(Ce,{id:"max_retry",type:"number",min:"0",value:b?.max_retry??"",onChange:be=>{const _e=be.target.value===""?null:parseInt(be.target.value);N(rt=>rt?{...rt,max_retry:_e}:null)},placeholder:"默认: 2"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"timeout",children:"超时(秒)"}),i.jsx(Ce,{id:"timeout",type:"number",min:"1",value:b?.timeout??"",onChange:be=>{const _e=be.target.value===""?null:parseInt(be.target.value);N(rt=>rt?{...rt,timeout:_e}:null)},placeholder:"默认: 30"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"retry_interval",children:"重试间隔(秒)"}),i.jsx(Ce,{id:"retry_interval",type:"number",min:"1",value:b?.retry_interval??"",onChange:be=>{const _e=be.target.value===""?null:parseInt(be.target.value);N(rt=>rt?{...rt,retry_interval:_e}:null)},placeholder:"默认: 10"})]})]})]}),i.jsxs(qr,{children:[i.jsx(oe,{variant:"outline",onClick:()=>w(!1),children:"取消"}),i.jsx(oe,{onClick:we,children:"保存"})]})]})}),i.jsx(dn,{open:A,onOpenChange:C,children:i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认删除"}),i.jsxs(an,{children:['确定要删除提供商 "',k!==null?e[k]?.name:"",'" 吗? 此操作无法撤销。']})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:je,children:"删除"})]})]})}),i.jsx(dn,{open:H,onOpenChange:G,children:i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认批量删除"}),i.jsxs(an,{children:["确定要删除选中的 ",U.size," 个提供商吗? 此操作无法撤销。"]})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:We,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"批量删除"})]})]})}),g&&i.jsx(PE,{onRestartComplete:z,onRestartFailed:K})]})}var RL=1,Yje=.9,Kje=.8,Xje=.17,f_=.1,h_=.999,Zje=.9999,Qje=.99,Jje=/[\\\/_+.#"@\[\(\{&]/,e1e=/[\\\/_+.#"@\[\(\{&]/g,t1e=/[\s-]/,gH=/[\s-]/g;function bC(e,t,n,r,a,s,l){if(s===t.length)return a===e.length?RL:Qje;var u=`${a},${s}`;if(l[u]!==void 0)return l[u];for(var d=r.charAt(s),f=n.indexOf(d,a),m=0,p,g,x,j;f>=0;)p=bC(e,t,n,r,f+1,s+1,l),p>m&&(f===a?p*=RL:Jje.test(e.charAt(f-1))?(p*=Kje,x=e.slice(a,f-1).match(e1e),x&&a>0&&(p*=Math.pow(h_,x.length))):t1e.test(e.charAt(f-1))?(p*=Yje,j=e.slice(a,f-1).match(gH),j&&a>0&&(p*=Math.pow(h_,j.length))):(p*=Xje,a>0&&(p*=Math.pow(h_,f-a))),e.charAt(f)!==t.charAt(s)&&(p*=Zje)),(pp&&(p=g*f_)),p>m&&(m=p),f=n.indexOf(d,f+1);return l[u]=m,m}function DL(e){return e.toLowerCase().replace(gH," ")}function n1e(e,t,n){return e=n&&n.length>0?`${e+" "+n.join(" ")}`:e,bC(e,t,DL(e),DL(t),0,0,{})}var r1e=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],bo=r1e.reduce((e,t)=>{const n=$h(`Primitive.${t}`),r=y.forwardRef((a,s)=>{const{asChild:l,...u}=a,d=l?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(d,{...u,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),hf='[cmdk-group=""]',m_='[cmdk-group-items=""]',a1e='[cmdk-group-heading=""]',yH='[cmdk-item=""]',$L=`${yH}:not([aria-disabled="true"])`,wC="cmdk-item-select",Lc="data-value",i1e=(e,t,n)=>n1e(e,t,n),xH=y.createContext(void 0),am=()=>y.useContext(xH),bH=y.createContext(void 0),$E=()=>y.useContext(bH),wH=y.createContext(void 0),jH=y.forwardRef((e,t)=>{let n=zc(()=>{var z,K;return{search:"",value:(K=(z=e.value)!=null?z:e.defaultValue)!=null?K:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),r=zc(()=>new Set),a=zc(()=>new Map),s=zc(()=>new Map),l=zc(()=>new Set),u=SH(e),{label:d,children:f,value:m,onValueChange:p,filter:g,shouldFilter:x,loop:j,disablePointerSelection:w=!1,vimBindings:b=!0,...N}=e,E=Gn(),O=Gn(),A=Gn(),C=y.useRef(null),k=v1e();_l(()=>{if(m!==void 0){let z=m.trim();n.current.value=z,T.emit()}},[m]),_l(()=>{k(6,V)},[]);let T=y.useMemo(()=>({subscribe:z=>(l.current.add(z),()=>l.current.delete(z)),snapshot:()=>n.current,setState:(z,K,ie)=>{var Q,he,ae,we;if(!Object.is(n.current[z],K)){if(n.current[z]=K,z==="search")U(),L(),k(1,D);else if(z==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let Y=document.getElementById(A);Y?Y.focus():(Q=document.getElementById(E))==null||Q.focus()}if(k(7,()=>{var Y;n.current.selectedItemId=(Y=H())==null?void 0:Y.id,T.emit()}),ie||k(5,V),((he=u.current)==null?void 0:he.value)!==void 0){let Y=K??"";(we=(ae=u.current).onValueChange)==null||we.call(ae,Y);return}}T.emit()}},emit:()=>{l.current.forEach(z=>z())}}),[]),M=y.useMemo(()=>({value:(z,K,ie)=>{var Q;K!==((Q=s.current.get(z))==null?void 0:Q.value)&&(s.current.set(z,{value:K,keywords:ie}),n.current.filtered.items.set(z,R(K,ie)),k(2,()=>{L(),T.emit()}))},item:(z,K)=>(r.current.add(z),K&&(a.current.has(K)?a.current.get(K).add(z):a.current.set(K,new Set([z]))),k(3,()=>{U(),L(),n.current.value||D(),T.emit()}),()=>{s.current.delete(z),r.current.delete(z),n.current.filtered.items.delete(z);let ie=H();k(4,()=>{U(),ie?.getAttribute("id")===z&&D(),T.emit()})}),group:z=>(a.current.has(z)||a.current.set(z,new Set),()=>{s.current.delete(z),a.current.delete(z)}),filter:()=>u.current.shouldFilter,label:d||e["aria-label"],getDisablePointerSelection:()=>u.current.disablePointerSelection,listId:E,inputId:A,labelId:O,listInnerRef:C}),[]);function R(z,K){var ie,Q;let he=(Q=(ie=u.current)==null?void 0:ie.filter)!=null?Q:i1e;return z?he(z,n.current.search,K):0}function L(){if(!n.current.search||u.current.shouldFilter===!1)return;let z=n.current.filtered.items,K=[];n.current.filtered.groups.forEach(Q=>{let he=a.current.get(Q),ae=0;he.forEach(we=>{let Y=z.get(we);ae=Math.max(Y,ae)}),K.push([Q,ae])});let ie=C.current;G().sort((Q,he)=>{var ae,we;let Y=Q.getAttribute("id"),pe=he.getAttribute("id");return((ae=z.get(pe))!=null?ae:0)-((we=z.get(Y))!=null?we:0)}).forEach(Q=>{let he=Q.closest(m_);he?he.appendChild(Q.parentElement===he?Q:Q.closest(`${m_} > *`)):ie.appendChild(Q.parentElement===ie?Q:Q.closest(`${m_} > *`))}),K.sort((Q,he)=>he[1]-Q[1]).forEach(Q=>{var he;let ae=(he=C.current)==null?void 0:he.querySelector(`${hf}[${Lc}="${encodeURIComponent(Q[0])}"]`);ae?.parentElement.appendChild(ae)})}function D(){let z=G().find(ie=>ie.getAttribute("aria-disabled")!=="true"),K=z?.getAttribute(Lc);T.setState("value",K||void 0)}function U(){var z,K,ie,Q;if(!n.current.search||u.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let he=0;for(let ae of r.current){let we=(K=(z=s.current.get(ae))==null?void 0:z.value)!=null?K:"",Y=(Q=(ie=s.current.get(ae))==null?void 0:ie.keywords)!=null?Q:[],pe=R(we,Y);n.current.filtered.items.set(ae,pe),pe>0&&he++}for(let[ae,we]of a.current)for(let Y of we)if(n.current.filtered.items.get(Y)>0){n.current.filtered.groups.add(ae);break}n.current.filtered.count=he}function V(){var z,K,ie;let Q=H();Q&&(((z=Q.parentElement)==null?void 0:z.firstChild)===Q&&((ie=(K=Q.closest(hf))==null?void 0:K.querySelector(a1e))==null||ie.scrollIntoView({block:"nearest"})),Q.scrollIntoView({block:"nearest"}))}function H(){var z;return(z=C.current)==null?void 0:z.querySelector(`${yH}[aria-selected="true"]`)}function G(){var z;return Array.from(((z=C.current)==null?void 0:z.querySelectorAll($L))||[])}function $(z){let K=G()[z];K&&T.setState("value",K.getAttribute(Lc))}function I(z){var K;let ie=H(),Q=G(),he=Q.findIndex(we=>we===ie),ae=Q[he+z];(K=u.current)!=null&&K.loop&&(ae=he+z<0?Q[Q.length-1]:he+z===Q.length?Q[0]:Q[he+z]),ae&&T.setState("value",ae.getAttribute(Lc))}function q(z){let K=H(),ie=K?.closest(hf),Q;for(;ie&&!Q;)ie=z>0?m1e(ie,hf):p1e(ie,hf),Q=ie?.querySelector($L);Q?T.setState("value",Q.getAttribute(Lc)):I(z)}let Z=()=>$(G().length-1),ee=z=>{z.preventDefault(),z.metaKey?Z():z.altKey?q(1):I(1)},F=z=>{z.preventDefault(),z.metaKey?$(0):z.altKey?q(-1):I(-1)};return y.createElement(bo.div,{ref:t,tabIndex:-1,...N,"cmdk-root":"",onKeyDown:z=>{var K;(K=N.onKeyDown)==null||K.call(N,z);let ie=z.nativeEvent.isComposing||z.keyCode===229;if(!(z.defaultPrevented||ie))switch(z.key){case"n":case"j":{b&&z.ctrlKey&&ee(z);break}case"ArrowDown":{ee(z);break}case"p":case"k":{b&&z.ctrlKey&&F(z);break}case"ArrowUp":{F(z);break}case"Home":{z.preventDefault(),$(0);break}case"End":{z.preventDefault(),Z();break}case"Enter":{z.preventDefault();let Q=H();if(Q){let he=new Event(wC);Q.dispatchEvent(he)}}}}},y.createElement("label",{"cmdk-label":"",htmlFor:M.inputId,id:M.labelId,style:y1e},d),lx(e,z=>y.createElement(bH.Provider,{value:T},y.createElement(xH.Provider,{value:M},z))))}),s1e=y.forwardRef((e,t)=>{var n,r;let a=Gn(),s=y.useRef(null),l=y.useContext(wH),u=am(),d=SH(e),f=(r=(n=d.current)==null?void 0:n.forceMount)!=null?r:l?.forceMount;_l(()=>{if(!f)return u.item(a,l?.id)},[f]);let m=_H(a,s,[e.value,e.children,s],e.keywords),p=$E(),g=co(k=>k.value&&k.value===m.current),x=co(k=>f||u.filter()===!1?!0:k.search?k.filtered.items.get(a)>0:!0);y.useEffect(()=>{let k=s.current;if(!(!k||e.disabled))return k.addEventListener(wC,j),()=>k.removeEventListener(wC,j)},[x,e.onSelect,e.disabled]);function j(){var k,T;w(),(T=(k=d.current).onSelect)==null||T.call(k,m.current)}function w(){p.setState("value",m.current,!0)}if(!x)return null;let{disabled:b,value:N,onSelect:E,forceMount:O,keywords:A,...C}=e;return y.createElement(bo.div,{ref:zr(s,t),...C,id:a,"cmdk-item":"",role:"option","aria-disabled":!!b,"aria-selected":!!g,"data-disabled":!!b,"data-selected":!!g,onPointerMove:b||u.getDisablePointerSelection()?void 0:w,onClick:b?void 0:j},e.children)}),o1e=y.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:a,...s}=e,l=Gn(),u=y.useRef(null),d=y.useRef(null),f=Gn(),m=am(),p=co(x=>a||m.filter()===!1?!0:x.search?x.filtered.groups.has(l):!0);_l(()=>m.group(l),[]),_H(l,u,[e.value,e.heading,d]);let g=y.useMemo(()=>({id:l,forceMount:a}),[a]);return y.createElement(bo.div,{ref:zr(u,t),...s,"cmdk-group":"",role:"presentation",hidden:p?void 0:!0},n&&y.createElement("div",{ref:d,"cmdk-group-heading":"","aria-hidden":!0,id:f},n),lx(e,x=>y.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?f:void 0},y.createElement(wH.Provider,{value:g},x))))}),l1e=y.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,a=y.useRef(null),s=co(l=>!l.search);return!n&&!s?null:y.createElement(bo.div,{ref:zr(a,t),...r,"cmdk-separator":"",role:"separator"})}),c1e=y.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,a=e.value!=null,s=$E(),l=co(f=>f.search),u=co(f=>f.selectedItemId),d=am();return y.useEffect(()=>{e.value!=null&&s.setState("search",e.value)},[e.value]),y.createElement(bo.input,{ref:t,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":d.listId,"aria-labelledby":d.labelId,"aria-activedescendant":u,id:d.inputId,type:"text",value:a?e.value:l,onChange:f=>{a||s.setState("search",f.target.value),n?.(f.target.value)}})}),u1e=y.forwardRef((e,t)=>{let{children:n,label:r="Suggestions",...a}=e,s=y.useRef(null),l=y.useRef(null),u=co(f=>f.selectedItemId),d=am();return y.useEffect(()=>{if(l.current&&s.current){let f=l.current,m=s.current,p,g=new ResizeObserver(()=>{p=requestAnimationFrame(()=>{let x=f.offsetHeight;m.style.setProperty("--cmdk-list-height",x.toFixed(1)+"px")})});return g.observe(f),()=>{cancelAnimationFrame(p),g.unobserve(f)}}},[]),y.createElement(bo.div,{ref:zr(s,t),...a,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":u,"aria-label":r,id:d.listId},lx(e,f=>y.createElement("div",{ref:zr(l,d.listInnerRef),"cmdk-list-sizer":""},f)))}),d1e=y.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:a,contentClassName:s,container:l,...u}=e;return y.createElement(vE,{open:n,onOpenChange:r},y.createElement(gE,{container:l},y.createElement(Hy,{"cmdk-overlay":"",className:a}),y.createElement(Wy,{"aria-label":e.label,"cmdk-dialog":"",className:s},y.createElement(jH,{ref:t,...u}))))}),f1e=y.forwardRef((e,t)=>co(n=>n.filtered.count===0)?y.createElement(bo.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),h1e=y.forwardRef((e,t)=>{let{progress:n,children:r,label:a="Loading...",...s}=e;return y.createElement(bo.div,{ref:t,...s,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},lx(e,l=>y.createElement("div",{"aria-hidden":!0},l)))}),Hr=Object.assign(jH,{List:u1e,Item:s1e,Input:c1e,Group:o1e,Separator:l1e,Dialog:d1e,Empty:f1e,Loading:h1e});function m1e(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function p1e(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function SH(e){let t=y.useRef(e);return _l(()=>{t.current=e}),t}var _l=typeof window>"u"?y.useEffect:y.useLayoutEffect;function zc(e){let t=y.useRef();return t.current===void 0&&(t.current=e()),t}function co(e){let t=$E(),n=()=>e(t.snapshot());return y.useSyncExternalStore(t.subscribe,n,n)}function _H(e,t,n,r=[]){let a=y.useRef(),s=am();return _l(()=>{var l;let u=(()=>{var f;for(let m of n){if(typeof m=="string")return m.trim();if(typeof m=="object"&&"current"in m)return m.current?(f=m.current.textContent)==null?void 0:f.trim():a.current}})(),d=r.map(f=>f.trim());s.value(e,u,d),(l=t.current)==null||l.setAttribute(Lc,u),a.current=u}),a}var v1e=()=>{let[e,t]=y.useState(),n=zc(()=>new Map);return _l(()=>{n.current.forEach(r=>r()),n.current=new Map},[e]),(r,a)=>{n.current.set(r,a),t({})}};function g1e(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function lx({asChild:e,children:t},n){return e&&y.isValidElement(t)?y.cloneElement(g1e(t),{ref:t.ref},n(t.props.children)):n(t)}var y1e={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const NH=y.forwardRef(({className:e,...t},n)=>i.jsx(Hr,{ref:n,className:ue("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...t}));NH.displayName=Hr.displayName;const CH=y.forwardRef(({className:e,...t},n)=>i.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[i.jsx(Br,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),i.jsx(Hr.Input,{ref:n,className:ue("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));CH.displayName=Hr.Input.displayName;const OH=y.forwardRef(({className:e,...t},n)=>i.jsx(Hr.List,{ref:n,className:ue("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...t}));OH.displayName=Hr.List.displayName;const EH=y.forwardRef((e,t)=>i.jsx(Hr.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));EH.displayName=Hr.Empty.displayName;const AH=y.forwardRef(({className:e,...t},n)=>i.jsx(Hr.Group,{ref:n,className:ue("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...t}));AH.displayName=Hr.Group.displayName;const x1e=y.forwardRef(({className:e,...t},n)=>i.jsx(Hr.Separator,{ref:n,className:ue("-mx-1 h-px bg-border",e),...t}));x1e.displayName=Hr.Separator.displayName;const TH=y.forwardRef(({className:e,...t},n)=>i.jsx(Hr.Item,{ref:n,className:ue("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...t}));TH.displayName=Hr.Item.displayName;function b1e({options:e,selected:t,onChange:n,placeholder:r="选择选项...",emptyText:a="未找到选项",className:s}){const[l,u]=y.useState(!1),d=m=>{t.includes(m)?n(t.filter(p=>p!==m)):n([...t,m])},f=m=>{n(t.filter(p=>p!==m))};return i.jsxs(oo,{open:l,onOpenChange:u,children:[i.jsx(lo,{asChild:!0,children:i.jsxs(oe,{variant:"outline",role:"combobox","aria-expanded":l,className:ue("w-full justify-between min-h-10 h-auto",s),children:[i.jsx("div",{className:"flex gap-1 flex-wrap flex-1",children:t.length===0?i.jsx("span",{className:"text-muted-foreground",children:r}):t.map(m=>{const p=e.find(g=>g.value===m);return i.jsxs(Ht,{variant:"secondary",className:"cursor-pointer hover:bg-secondary/80",onClick:g=>{g.stopPropagation(),f(m)},children:[p?.label||m,i.jsx(Zh,{className:"ml-1 h-3 w-3",strokeWidth:2,fill:"none"})]},m)})}),i.jsx(zve,{className:"ml-2 h-4 w-4 shrink-0 opacity-50",strokeWidth:2,fill:"none"})]})}),i.jsx(hs,{className:"w-full p-0",align:"start",children:i.jsxs(NH,{children:[i.jsx(CH,{placeholder:"搜索...",className:"h-9"}),i.jsxs(OH,{children:[i.jsx(EH,{children:a}),i.jsx(AH,{children:e.map(m=>{const p=t.includes(m.value);return i.jsxs(TH,{value:m.value,onSelect:()=>d(m.value),children:[i.jsx("div",{className:ue("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",p?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:i.jsx(cl,{className:"h-3 w-3",strokeWidth:2,fill:"none"})}),i.jsx("span",{children:m.label})]},m.value)})})]})]})})]})}function w1e(){const[e,t]=y.useState([]),[n,r]=y.useState([]),[a,s]=y.useState([]),[l,u]=y.useState(null),[d,f]=y.useState(!0),[m,p]=y.useState(!1),[g,x]=y.useState(!1),[j,w]=y.useState(!1),[b,N]=y.useState(!1),[E,O]=y.useState(!1),[A,C]=y.useState(!1),[k,T]=y.useState(null),[M,R]=y.useState(null),[L,D]=y.useState(!1),[U,V]=y.useState(null),[H,G]=y.useState(""),[$,I]=y.useState(new Set),[q,Z]=y.useState(!1),{toast:ee}=xr(),F=y.useRef(null),z=y.useRef(null),K=y.useRef(!0);y.useEffect(()=>{ie()},[]);const ie=async()=>{try{f(!0);const re=await eu(),Se=re.models||[];t(Se),s(Se.map(Or=>Or.name));const ut=re.api_providers||[];r(ut.map(Or=>Or.name)),u(re.model_task_config||null),w(!1),K.current=!1}catch(re){console.error("加载配置失败:",re)}finally{f(!1)}},Q=async()=>{try{N(!0),ME().catch(()=>{}),O(!0)}catch(re){console.error("重启失败:",re),O(!1),ee({title:"重启失败",description:"无法发送重启请求,请手动重启",variant:"destructive"}),N(!1)}},he=async()=>{try{p(!0),F.current&&clearTimeout(F.current),z.current&&clearTimeout(z.current);const re=await eu();re.models=e,re.model_task_config=l,await zg(re),w(!1),ee({title:"保存成功",description:"正在重启麦麦..."}),await Q()}catch(re){console.error("保存配置失败:",re),ee({title:"保存失败",description:re.message,variant:"destructive"}),p(!1)}},ae=()=>{localStorage.removeItem("access-token"),window.location.href="/auth"},we=()=>{O(!1),N(!1),ee({title:"重启超时",description:"服务未能在预期时间内恢复,请手动检查或刷新页面",variant:"destructive"})},Y=y.useCallback(async re=>{if(!K.current)try{x(!0),await xC("models",re),w(!1)}catch(Se){console.error("自动保存模型列表失败:",Se),w(!0)}finally{x(!1)}},[]),pe=y.useCallback(async re=>{if(!K.current)try{x(!0),await xC("model_task_config",re),w(!1)}catch(Se){console.error("自动保存任务配置失败:",Se),w(!0)}finally{x(!1)}},[]);y.useEffect(()=>{if(!K.current)return w(!0),F.current&&clearTimeout(F.current),F.current=setTimeout(()=>{Y(e)},2e3),()=>{F.current&&clearTimeout(F.current)}},[e,Y]),y.useEffect(()=>{if(!(K.current||!l))return w(!0),z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{pe(l)},2e3),()=>{z.current&&clearTimeout(z.current)}},[l,pe]);const je=async()=>{try{p(!0),F.current&&clearTimeout(F.current),z.current&&clearTimeout(z.current);const re=await eu();re.models=e,re.model_task_config=l,await zg(re),w(!1),ee({title:"保存成功",description:"模型配置已保存"}),await ie()}catch(re){console.error("保存配置失败:",re),ee({title:"保存失败",description:re.message,variant:"destructive"})}finally{p(!1)}},X=(re,Se)=>{T(re||{model_identifier:"",name:"",api_provider:n[0]||"",price_in:0,price_out:0,force_stream_mode:!1,extra_params:{}}),R(Se),C(!0)},Ae=()=>{if(!k)return;const re={...k,price_in:k.price_in??0,price_out:k.price_out??0};let Se;M!==null?(Se=[...e],Se[M]=re):Se=[...e,re],t(Se),s(Se.map(ut=>ut.name)),C(!1),T(null),R(null)},Oe=re=>{if(!re&&k){const Se={...k,price_in:k.price_in??0,price_out:k.price_out??0};T(Se)}C(re)},We=re=>{V(re),D(!0)},Ve=()=>{if(U!==null){const re=e.filter((Se,ut)=>ut!==U);t(re),s(re.map(Se=>Se.name)),ee({title:"删除成功",description:"模型已从列表中移除"})}D(!1),V(null)},be=re=>{const Se=new Set($);Se.has(re)?Se.delete(re):Se.add(re),I(Se)},_e=()=>{if($.size===zt.length)I(new Set);else{const re=zt.map((Se,ut)=>e.findIndex(Or=>Or===zt[ut]));I(new Set(re))}},rt=()=>{if($.size===0){ee({title:"提示",description:"请先选择要删除的模型",variant:"default"});return}Z(!0)},fn=()=>{const re=e.filter((Se,ut)=>!$.has(ut));t(re),s(re.map(Se=>Se.name)),I(new Set),Z(!1),ee({title:"批量删除成功",description:`已删除 ${$.size} 个模型`})},Tt=(re,Se,ut)=>{l&&u({...l,[re]:{...l[re],[Se]:ut}})},zt=e.filter(re=>{if(!H)return!0;const Se=H.toLowerCase();return re.name.toLowerCase().includes(Se)||re.model_identifier.toLowerCase().includes(Se)||re.api_provider.toLowerCase().includes(Se)}),at=re=>l?[l.utils?.model_list||[],l.utils_small?.model_list||[],l.tool_use?.model_list||[],l.replyer?.model_list||[],l.planner?.model_list||[],l.vlm?.model_list||[],l.voice?.model_list||[],l.embedding?.model_list||[],l.lpmm_entity_extract?.model_list||[],l.lpmm_rdf_build?.model_list||[],l.lpmm_qa?.model_list||[]].some(ut=>ut.includes(re)):!1;return d?i.jsx(Gt,{className:"h-full",children:i.jsx("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:i.jsx("div",{className:"flex items-center justify-center h-64",children:i.jsx("p",{className:"text-muted-foreground",children:"加载中..."})})})}):i.jsx(Gt,{className:"h-full",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"模型配置"}),i.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理模型和任务配置"})]}),i.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[i.jsxs(oe,{onClick:je,disabled:m||g||!j||b,size:"sm",variant:"outline",className:"flex-1 sm:flex-none",children:[i.jsx(lE,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),m?"保存中...":g?"自动保存中...":j?"保存配置":"已保存"]}),i.jsxs(dn,{children:[i.jsx(mr,{asChild:!0,children:i.jsxs(oe,{disabled:m||g||b,size:"sm",className:"flex-1 sm:flex-none",children:[i.jsx(oE,{className:"mr-2 h-4 w-4"}),b?"重启中...":j?"保存并重启":"重启麦麦"]})}),i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认重启麦麦?"}),i.jsx(an,{children:j?"当前有未保存的配置更改。点击确认将先保存配置,然后重启麦麦使新配置生效。重启过程中麦麦将暂时离线。":"即将重启麦麦主程序。重启过程中麦麦将暂时离线,配置将在重启后生效。"})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:j?he:Q,children:j?"保存并重启":"确认重启"})]})]})]})]})]}),i.jsxs(ix,{children:[i.jsx(Pu,{className:"h-4 w-4"}),i.jsxs(sx,{children:["配置更新后需要",i.jsx("strong",{children:"重启麦麦"}),'才能生效。你可以点击右上角的"保存并重启"按钮一键完成保存和重启。']})]}),i.jsxs(hl,{defaultValue:"models",className:"w-full",children:[i.jsxs(ao,{className:"grid w-full max-w-full sm:max-w-md grid-cols-2",children:[i.jsx(Lt,{value:"models",children:"模型配置"}),i.jsx(Lt,{value:"tasks",children:"模型任务配置"})]}),i.jsxs(vn,{value:"models",className:"space-y-4 mt-0",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-center gap-2",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"配置可用的模型列表"}),i.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[$.size>0&&i.jsxs(oe,{onClick:rt,size:"sm",variant:"destructive",className:"w-full sm:w-auto",children:[i.jsx(Ct,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"批量删除 (",$.size,")"]}),i.jsxs(oe,{onClick:()=>X(null,null),size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[i.jsx(ir,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"添加模型"]})]})]}),i.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-2",children:[i.jsxs("div",{className:"relative w-full sm:flex-1 sm:max-w-sm",children:[i.jsx(Br,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),i.jsx(Ce,{placeholder:"搜索模型名称、标识符或提供商...",value:H,onChange:re=>G(re.target.value),className:"pl-9"})]}),H&&i.jsxs("p",{className:"text-sm text-muted-foreground whitespace-nowrap",children:["找到 ",zt.length," 个结果"]})]}),i.jsx("div",{className:"md:hidden space-y-3",children:zt.length===0?i.jsx("div",{className:"text-center text-muted-foreground py-8 rounded-lg border bg-card",children:H?"未找到匹配的模型":"暂无模型配置"}):zt.map((re,Se)=>{const ut=at(re.name);return i.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3",children:[i.jsxs("div",{className:"flex items-start justify-between gap-2",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[i.jsx("h3",{className:"font-semibold text-base",children:re.name}),i.jsx(Ht,{variant:ut?"default":"secondary",className:ut?"bg-green-600 hover:bg-green-700":"",children:ut?"已使用":"未使用"})]}),i.jsx("p",{className:"text-xs text-muted-foreground break-all",title:re.model_identifier,children:re.model_identifier})]}),i.jsxs("div",{className:"flex gap-1 flex-shrink-0",children:[i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>X(re,Se),children:i.jsx(Ru,{className:"h-4 w-4",strokeWidth:2,fill:"none"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>We(Se),children:i.jsx(Ct,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"提供商"}),i.jsx("p",{className:"font-medium",children:re.api_provider})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"强制流式"}),i.jsx("p",{className:"font-medium",children:re.force_stream_mode?"是":"否"})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"输入价格"}),i.jsxs("p",{className:"font-medium",children:["¥",re.price_in,"/M"]})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"输出价格"}),i.jsxs("p",{className:"font-medium",children:["¥",re.price_out,"/M"]})]})]})]},Se)})}),i.jsx("div",{className:"hidden md:block rounded-lg border bg-card overflow-hidden",children:i.jsxs(Pl,{children:[i.jsx(Rl,{children:i.jsxs(Tn,{children:[i.jsx(Xe,{className:"w-12",children:i.jsx(pr,{checked:$.size===zt.length&&zt.length>0,onCheckedChange:_e})}),i.jsx(Xe,{className:"w-24",children:"使用状态"}),i.jsx(Xe,{children:"模型名称"}),i.jsx(Xe,{children:"模型标识符"}),i.jsx(Xe,{children:"提供商"}),i.jsx(Xe,{className:"text-right",children:"输入价格"}),i.jsx(Xe,{className:"text-right",children:"输出价格"}),i.jsx(Xe,{className:"text-center",children:"强制流式"}),i.jsx(Xe,{className:"text-right",children:"操作"})]})}),i.jsx(Dl,{children:zt.length===0?i.jsx(Tn,{children:i.jsx(Be,{colSpan:9,className:"text-center text-muted-foreground py-8",children:H?"未找到匹配的模型":"暂无模型配置"})}):zt.map((re,Se)=>{const ut=e.findIndex(bs=>bs===re),Or=at(re.name);return i.jsxs(Tn,{children:[i.jsx(Be,{children:i.jsx(pr,{checked:$.has(ut),onCheckedChange:()=>be(ut)})}),i.jsx(Be,{children:i.jsx(Ht,{variant:Or?"default":"secondary",className:Or?"bg-green-600 hover:bg-green-700":"",children:Or?"已使用":"未使用"})}),i.jsx(Be,{className:"font-medium",children:re.name}),i.jsx(Be,{className:"max-w-xs truncate",title:re.model_identifier,children:re.model_identifier}),i.jsx(Be,{children:re.api_provider}),i.jsxs(Be,{className:"text-right",children:["¥",re.price_in,"/M"]}),i.jsxs(Be,{className:"text-right",children:["¥",re.price_out,"/M"]}),i.jsx(Be,{className:"text-center",children:re.force_stream_mode?"是":"否"}),i.jsx(Be,{className:"text-right",children:i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>X(re,ut),children:i.jsx(Ru,{className:"h-4 w-4",strokeWidth:2,fill:"none"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>We(ut),children:i.jsx(Ct,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]})})]},Se)})})]})})]}),i.jsxs(vn,{value:"tasks",className:"space-y-6 mt-0",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"为不同的任务配置使用的模型和参数"}),l&&i.jsxs("div",{className:"grid gap-4 sm:gap-6",children:[i.jsx(La,{title:"组件模型 (utils)",description:"用于表情包、取名、关系、情绪变化等组件",taskConfig:l.utils,modelNames:a,onChange:(re,Se)=>Tt("utils",re,Se)}),i.jsx(La,{title:"组件小模型 (utils_small)",description:"消耗量较大的组件,建议使用速度较快的小模型",taskConfig:l.utils_small,modelNames:a,onChange:(re,Se)=>Tt("utils_small",re,Se)}),i.jsx(La,{title:"工具调用模型 (tool_use)",description:"需要使用支持工具调用的模型",taskConfig:l.tool_use,modelNames:a,onChange:(re,Se)=>Tt("tool_use",re,Se)}),i.jsx(La,{title:"首要回复模型 (replyer)",description:"用于表达器和表达方式学习",taskConfig:l.replyer,modelNames:a,onChange:(re,Se)=>Tt("replyer",re,Se)}),i.jsx(La,{title:"决策模型 (planner)",description:"负责决定麦麦该什么时候回复",taskConfig:l.planner,modelNames:a,onChange:(re,Se)=>Tt("planner",re,Se)}),i.jsx(La,{title:"图像识别模型 (vlm)",description:"视觉语言模型",taskConfig:l.vlm,modelNames:a,onChange:(re,Se)=>Tt("vlm",re,Se),hideTemperature:!0}),i.jsx(La,{title:"语音识别模型 (voice)",description:"语音转文字",taskConfig:l.voice,modelNames:a,onChange:(re,Se)=>Tt("voice",re,Se),hideTemperature:!0,hideMaxTokens:!0}),i.jsx(La,{title:"嵌入模型 (embedding)",description:"用于向量化",taskConfig:l.embedding,modelNames:a,onChange:(re,Se)=>Tt("embedding",re,Se),hideTemperature:!0,hideMaxTokens:!0}),i.jsxs("div",{className:"space-y-4",children:[i.jsx("h3",{className:"text-lg font-semibold",children:"LPMM 知识库模型"}),i.jsx(La,{title:"实体提取模型 (lpmm_entity_extract)",description:"从文本中提取实体",taskConfig:l.lpmm_entity_extract,modelNames:a,onChange:(re,Se)=>Tt("lpmm_entity_extract",re,Se)}),i.jsx(La,{title:"RDF 构建模型 (lpmm_rdf_build)",description:"构建知识图谱",taskConfig:l.lpmm_rdf_build,modelNames:a,onChange:(re,Se)=>Tt("lpmm_rdf_build",re,Se)}),i.jsx(La,{title:"问答模型 (lpmm_qa)",description:"知识库问答",taskConfig:l.lpmm_qa,modelNames:a,onChange:(re,Se)=>Tt("lpmm_qa",re,Se)})]})]})]})]}),i.jsx(sr,{open:A,onOpenChange:Oe,children:i.jsxs(Kn,{className:"max-w-[95vw] sm:max-w-2xl max-h-[90vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:M!==null?"编辑模型":"添加模型"}),i.jsx(gr,{children:"配置模型的基本信息和参数"})]}),i.jsxs("div",{className:"grid gap-4 py-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"model_name",children:"模型名称 *"}),i.jsx(Ce,{id:"model_name",value:k?.name||"",onChange:re=>T(Se=>Se?{...Se,name:re.target.value}:null),placeholder:"例如: qwen3-30b"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"用于在任务配置中引用此模型"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"model_identifier",children:"模型标识符 *"}),i.jsx(Ce,{id:"model_identifier",value:k?.model_identifier||"",onChange:re=>T(Se=>Se?{...Se,model_identifier:re.target.value}:null),placeholder:"Qwen/Qwen3-30B-A3B-Instruct-2507"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"API 提供商提供的模型 ID"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"api_provider",children:"API 提供商 *"}),i.jsxs(St,{value:k?.api_provider||"",onValueChange:re=>T(Se=>Se?{...Se,api_provider:re}:null),children:[i.jsx(xt,{id:"api_provider",children:i.jsx(_t,{placeholder:"选择提供商"})}),i.jsx(bt,{children:n.map(re=>i.jsx(ke,{value:re,children:re},re))})]})]}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"price_in",children:"输入价格 (¥/M token)"}),i.jsx(Ce,{id:"price_in",type:"number",step:"0.1",min:"0",value:k?.price_in??"",onChange:re=>{const Se=re.target.value===""?null:parseFloat(re.target.value);T(ut=>ut?{...ut,price_in:Se}:null)},placeholder:"默认: 0"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{htmlFor:"price_out",children:"输出价格 (¥/M token)"}),i.jsx(Ce,{id:"price_out",type:"number",step:"0.1",min:"0",value:k?.price_out??"",onChange:re=>{const Se=re.target.value===""?null:parseFloat(re.target.value);T(ut=>ut?{...ut,price_out:Se}:null)},placeholder:"默认: 0"})]})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(dt,{id:"force_stream_mode",checked:k?.force_stream_mode||!1,onCheckedChange:re=>T(Se=>Se?{...Se,force_stream_mode:re}:null)}),i.jsx(ne,{htmlFor:"force_stream_mode",className:"cursor-pointer",children:"强制流式输出模式"})]})]}),i.jsxs(qr,{children:[i.jsx(oe,{variant:"outline",onClick:()=>C(!1),children:"取消"}),i.jsx(oe,{onClick:Ae,children:"保存"})]})]})}),i.jsx(dn,{open:L,onOpenChange:D,children:i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认删除"}),i.jsxs(an,{children:['确定要删除模型 "',U!==null?e[U]?.name:"",'" 吗? 此操作无法撤销。']})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:Ve,children:"删除"})]})]})}),i.jsx(dn,{open:q,onOpenChange:Z,children:i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认批量删除"}),i.jsxs(an,{children:["确定要删除选中的 ",$.size," 个模型吗? 此操作无法撤销。"]})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:fn,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"批量删除"})]})]})}),E&&i.jsx(PE,{onRestartComplete:ae,onRestartFailed:we})]})})}function La({title:e,description:t,taskConfig:n,modelNames:r,onChange:a,hideTemperature:s=!1,hideMaxTokens:l=!1}){const u=d=>{a("model_list",d)};return i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6 space-y-4",children:[i.jsxs("div",{children:[i.jsx("h4",{className:"font-semibold text-base sm:text-lg",children:e}),i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground mt-1",children:t})]}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"模型列表"}),i.jsx(b1e,{options:r.map(d=>({label:d,value:d})),selected:n.model_list||[],onChange:u,placeholder:"选择模型...",emptyText:"暂无可用模型"})]}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[!s&&i.jsxs("div",{className:"grid gap-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(ne,{children:"温度"}),i.jsx(Ce,{type:"number",step:"0.1",min:"0",max:"1",value:n.temperature??.3,onChange:d=>{const f=parseFloat(d.target.value);!isNaN(f)&&f>=0&&f<=1&&a("temperature",f)},className:"w-20 h-8 text-sm"})]}),i.jsx(Gy,{value:[n.temperature??.3],onValueChange:d=>a("temperature",d[0]),min:0,max:1,step:.1,className:"w-full"})]}),!l&&i.jsxs("div",{className:"grid gap-2",children:[i.jsx(ne,{children:"最大 Token"}),i.jsx(Ce,{type:"number",step:"1",min:"1",value:n.max_tokens??1024,onChange:d=>a("max_tokens",parseInt(d.target.value))})]})]})]})]})}const xs="/api/webui/emoji";async function j1e(e){const t=new URLSearchParams;e.page&&t.append("page",e.page.toString()),e.page_size&&t.append("page_size",e.page_size.toString()),e.search&&t.append("search",e.search),e.is_registered!==void 0&&t.append("is_registered",e.is_registered.toString()),e.is_banned!==void 0&&t.append("is_banned",e.is_banned.toString()),e.format&&t.append("format",e.format),e.sort_by&&t.append("sort_by",e.sort_by),e.sort_order&&t.append("sort_order",e.sort_order);const n=await Ze(`${xs}/list?${t}`,{headers:st()});if(!n.ok)throw new Error(`获取表情包列表失败: ${n.statusText}`);return n.json()}async function S1e(e){const t=await Ze(`${xs}/${e}`,{headers:st()});if(!t.ok)throw new Error(`获取表情包详情失败: ${t.statusText}`);return t.json()}async function _1e(e,t){const n=await Ze(`${xs}/${e}`,{method:"PATCH",headers:st(),body:JSON.stringify(t)});if(!n.ok)throw new Error(`更新表情包失败: ${n.statusText}`);return n.json()}async function N1e(e){const t=await Ze(`${xs}/${e}`,{method:"DELETE",headers:st()});if(!t.ok)throw new Error(`删除表情包失败: ${t.statusText}`);return t.json()}async function C1e(){const e=await Ze(`${xs}/stats/summary`,{headers:st()});if(!e.ok)throw new Error(`获取统计数据失败: ${e.statusText}`);return e.json()}async function O1e(e){const t=await Ze(`${xs}/${e}/register`,{method:"POST",headers:st()});if(!t.ok)throw new Error(`注册表情包失败: ${t.statusText}`);return t.json()}async function E1e(e){const t=await Ze(`${xs}/${e}/ban`,{method:"POST",headers:st()});if(!t.ok)throw new Error(`封禁表情包失败: ${t.statusText}`);return t.json()}function jC(e){const t=localStorage.getItem("access-token");return`${xs}/${e}/thumbnail?token=${encodeURIComponent(t||"")}`}async function A1e(e){const t=await Ze(`${xs}/batch/delete`,{method:"POST",headers:st(),body:JSON.stringify({emoji_ids:e})});if(!t.ok){const n=await t.json();throw new Error(n.detail||"批量删除失败")}return t.json()}function T1e(){const[e,t]=y.useState([]),[n,r]=y.useState(null),[a,s]=y.useState(!1),[l,u]=y.useState(1),[d,f]=y.useState(0),[m,p]=y.useState(20),[g,x]=y.useState(""),[j,w]=y.useState("all"),[b,N]=y.useState("all"),[E,O]=y.useState("all"),[A,C]=y.useState(null),[k,T]=y.useState(!1),[M,R]=y.useState(!1),[L,D]=y.useState(!1),[U,V]=y.useState(new Set),[H,G]=y.useState(!1),[$,I]=y.useState(""),{toast:q}=xr(),Z=y.useCallback(async()=>{try{s(!0);const X=await j1e({page:l,page_size:m,search:g||void 0,is_registered:j==="all"?void 0:j==="registered",is_banned:b==="all"?void 0:b==="banned",format:E==="all"?void 0:E,sort_by:"usage_count",sort_order:"desc"});t(X.data),f(X.total)}catch(X){const Ae=X instanceof Error?X.message:"加载表情包列表失败";q({title:"错误",description:Ae,variant:"destructive"})}finally{s(!1)}},[l,m,g,j,b,E,q]),ee=async()=>{try{const X=await C1e();r(X.data)}catch(X){console.error("加载统计数据失败:",X)}};y.useEffect(()=>{Z()},[Z]),y.useEffect(()=>{ee()},[]);const F=async X=>{try{const Ae=await S1e(X.id);C(Ae.data),T(!0)}catch(Ae){const Oe=Ae instanceof Error?Ae.message:"加载详情失败";q({title:"错误",description:Oe,variant:"destructive"})}},z=X=>{C(X),R(!0)},K=X=>{C(X),D(!0)},ie=async()=>{if(A)try{await N1e(A.id),q({title:"成功",description:"表情包已删除"}),D(!1),C(null),Z(),ee()}catch(X){const Ae=X instanceof Error?X.message:"删除失败";q({title:"错误",description:Ae,variant:"destructive"})}},Q=async X=>{try{await O1e(X.id),q({title:"成功",description:"表情包已注册"}),Z(),ee()}catch(Ae){const Oe=Ae instanceof Error?Ae.message:"注册失败";q({title:"错误",description:Oe,variant:"destructive"})}},he=async X=>{try{await E1e(X.id),q({title:"成功",description:"表情包已封禁"}),Z(),ee()}catch(Ae){const Oe=Ae instanceof Error?Ae.message:"封禁失败";q({title:"错误",description:Oe,variant:"destructive"})}},ae=X=>{const Ae=new Set(U);Ae.has(X)?Ae.delete(X):Ae.add(X),V(Ae)},we=()=>{U.size===e.length&&e.length>0?V(new Set):V(new Set(e.map(X=>X.id)))},Y=async()=>{try{const X=await A1e(Array.from(U));q({title:"批量删除完成",description:X.message}),V(new Set),G(!1),Z(),ee()}catch(X){q({title:"批量删除失败",description:X instanceof Error?X.message:"批量删除失败",variant:"destructive"})}},pe=()=>{const X=parseInt($),Ae=Math.ceil(d/m);X>=1&&X<=Ae?(u(X),I("")):q({title:"无效的页码",description:`请输入1-${Ae}之间的页码`,variant:"destructive"})},je=n?.formats?Object.keys(n.formats):[];return i.jsxs("div",{className:"h-[calc(100vh-4rem)] flex flex-col p-4 sm:p-6",children:[i.jsxs("div",{className:"mb-4 sm:mb-6",children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"表情包管理"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"管理麦麦的表情包资源"})]}),i.jsx(Gt,{className:"flex-1",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 pr-4",children:[n&&i.jsxs("div",{className:"grid gap-4 grid-cols-2 lg:grid-cols-4",children:[i.jsx(Ke,{children:i.jsxs(gt,{className:"pb-2",children:[i.jsx(Wn,{children:"总数"}),i.jsx(yt,{className:"text-2xl",children:n.total})]})}),i.jsx(Ke,{children:i.jsxs(gt,{className:"pb-2",children:[i.jsx(Wn,{children:"已注册"}),i.jsx(yt,{className:"text-2xl text-green-600",children:n.registered})]})}),i.jsx(Ke,{children:i.jsxs(gt,{className:"pb-2",children:[i.jsx(Wn,{children:"已封禁"}),i.jsx(yt,{className:"text-2xl text-red-600",children:n.banned})]})}),i.jsx(Ke,{children:i.jsxs(gt,{className:"pb-2",children:[i.jsx(Wn,{children:"未注册"}),i.jsx(yt,{className:"text-2xl text-gray-600",children:n.unregistered})]})})]}),i.jsxs(Ke,{children:[i.jsx(gt,{children:i.jsxs(yt,{className:"flex items-center gap-2",children:[i.jsx(rC,{className:"h-5 w-5"}),"搜索和筛选"]})}),i.jsxs(Pt,{className:"space-y-4",children:[i.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{children:"搜索"}),i.jsxs("div",{className:"relative",children:[i.jsx(Br,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),i.jsx(Ce,{placeholder:"描述或哈希值...",value:g,onChange:X=>{x(X.target.value),u(1)},className:"pl-8"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{children:"注册状态"}),i.jsxs(St,{value:j,onValueChange:X=>{w(X),u(1)},children:[i.jsx(xt,{children:i.jsx(_t,{})}),i.jsxs(bt,{children:[i.jsx(ke,{value:"all",children:"全部"}),i.jsx(ke,{value:"registered",children:"已注册"}),i.jsx(ke,{value:"unregistered",children:"未注册"})]})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{children:"封禁状态"}),i.jsxs(St,{value:b,onValueChange:X=>{N(X),u(1)},children:[i.jsx(xt,{children:i.jsx(_t,{})}),i.jsxs(bt,{children:[i.jsx(ke,{value:"all",children:"全部"}),i.jsx(ke,{value:"banned",children:"已封禁"}),i.jsx(ke,{value:"unbanned",children:"未封禁"})]})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{children:"格式"}),i.jsxs(St,{value:E,onValueChange:X=>{O(X),u(1)},children:[i.jsx(xt,{children:i.jsx(_t,{})}),i.jsxs(bt,{children:[i.jsx(ke,{value:"all",children:"全部"}),je.map(X=>i.jsxs(ke,{value:X,children:[X.toUpperCase()," (",n?.formats[X],")"]},X))]})]})]})]}),i.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-3 pt-4 border-t",children:[i.jsx("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:U.size>0&&i.jsxs("span",{children:["已选择 ",U.size," 个表情包"]})}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(ne,{htmlFor:"emoji-page-size",className:"text-sm whitespace-nowrap",children:"每页显示"}),i.jsxs(St,{value:m.toString(),onValueChange:X=>{p(parseInt(X)),u(1),V(new Set)},children:[i.jsx(xt,{id:"emoji-page-size",className:"w-20",children:i.jsx(_t,{})}),i.jsxs(bt,{children:[i.jsx(ke,{value:"10",children:"10"}),i.jsx(ke,{value:"20",children:"20"}),i.jsx(ke,{value:"50",children:"50"}),i.jsx(ke,{value:"100",children:"100"})]})]}),U.size>0&&i.jsxs(i.Fragment,{children:[i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>V(new Set),children:"取消选择"}),i.jsxs(oe,{variant:"destructive",size:"sm",onClick:()=>G(!0),children:[i.jsx(Ct,{className:"h-4 w-4 mr-1"}),"批量删除"]})]})]})]}),i.jsx("div",{className:"flex justify-end pt-4 border-t",children:i.jsxs(oe,{variant:"outline",size:"sm",onClick:Z,disabled:a,children:[i.jsx(os,{className:`h-4 w-4 mr-2 ${a?"animate-spin":""}`}),"刷新"]})})]})]}),i.jsxs(Ke,{children:[i.jsxs(gt,{children:[i.jsx(yt,{children:"表情包列表"}),i.jsxs(Wn,{children:["共 ",d," 个表情包,当前第 ",l," 页"]})]}),i.jsxs(Pt,{children:[i.jsx("div",{className:"hidden md:block rounded-md border overflow-hidden",children:i.jsxs(Pl,{children:[i.jsx(Rl,{children:i.jsxs(Tn,{children:[i.jsx(Xe,{className:"w-12",children:i.jsx(pr,{checked:e.length>0&&U.size===e.length,onCheckedChange:we,"aria-label":"全选"})}),i.jsx(Xe,{className:"w-16",children:"预览"}),i.jsx(Xe,{children:"描述"}),i.jsx(Xe,{children:"格式"}),i.jsx(Xe,{children:"情绪标签"}),i.jsx(Xe,{className:"text-center",children:"状态"}),i.jsx(Xe,{className:"text-right",children:"使用次数"}),i.jsx(Xe,{className:"text-right",children:"操作"})]})}),i.jsx(Dl,{children:e.length===0?i.jsx(Tn,{children:i.jsx(Be,{colSpan:8,className:"text-center py-8 text-muted-foreground",children:"暂无数据"})}):e.map(X=>i.jsxs(Tn,{children:[i.jsx(Be,{children:i.jsx(pr,{checked:U.has(X.id),onCheckedChange:()=>ae(X.id),"aria-label":`选择 ${X.description}`})}),i.jsx(Be,{children:i.jsx("div",{className:"w-20 h-20 bg-muted rounded flex items-center justify-center overflow-hidden",children:i.jsx("img",{src:jC(X.id),alt:X.description||"表情包",className:"w-full h-full object-cover",onError:Ae=>{const Oe=Ae.target;Oe.style.display="none";const We=Oe.parentElement;We&&(We.innerHTML='')}})})}),i.jsx(Be,{children:i.jsxs("div",{className:"space-y-1 max-w-xs",children:[i.jsx("div",{className:"font-medium truncate",title:X.description||"无描述",children:X.description||"无描述"}),i.jsxs("div",{className:"text-xs text-muted-foreground font-mono",children:[X.emoji_hash.slice(0,16),"..."]})]})}),i.jsx(Be,{children:i.jsx(Ht,{variant:"outline",children:X.format.toUpperCase()})}),i.jsx(Be,{children:i.jsx(IL,{emotions:X.emotion})}),i.jsx(Be,{className:"align-middle",children:i.jsxs("div",{className:"flex gap-2 justify-center",children:[X.is_registered&&i.jsxs(Ht,{variant:"default",className:"bg-green-600",children:[i.jsx(Dr,{className:"h-3 w-3 mr-1"}),"已注册"]}),X.is_banned&&i.jsxs(Ht,{variant:"destructive",children:[i.jsx(JN,{className:"h-3 w-3 mr-1"}),"已封禁"]})]})}),i.jsx(Be,{className:"text-right font-mono",children:X.usage_count}),i.jsx(Be,{children:i.jsxs("div",{className:"flex items-center justify-end gap-1 flex-wrap",children:[i.jsxs(oe,{variant:"ghost",size:"sm",onClick:()=>F(X),children:[i.jsx(Pu,{className:"h-4 w-4 mr-1"}),"详情"]}),i.jsxs(oe,{variant:"ghost",size:"sm",onClick:()=>z(X),children:[i.jsx(Du,{className:"h-4 w-4 mr-1"}),"编辑"]}),!X.is_registered&&i.jsxs(oe,{variant:"ghost",size:"sm",onClick:()=>Q(X),className:"text-green-600 hover:text-green-700",children:[i.jsx(Dr,{className:"h-4 w-4 mr-1"}),"注册"]}),!X.is_banned&&i.jsxs(oe,{variant:"ghost",size:"sm",onClick:()=>he(X),className:"text-orange-600 hover:text-orange-700",children:[i.jsx(JI,{className:"h-4 w-4 mr-1"}),"封禁"]}),i.jsxs(oe,{variant:"ghost",size:"sm",onClick:()=>K(X),className:"text-red-600 hover:text-red-700",children:[i.jsx(Ct,{className:"h-4 w-4 mr-1"}),"删除"]})]})})]},X.id))})]})}),i.jsx("div",{className:"md:hidden space-y-3",children:e.length===0?i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"暂无数据"}):e.map(X=>i.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3 overflow-hidden",children:[i.jsxs("div",{className:"flex gap-3",children:[i.jsx("div",{className:"flex-shrink-0",children:i.jsx("div",{className:"w-16 h-16 bg-muted rounded flex items-center justify-center overflow-hidden",children:i.jsx("img",{src:jC(X.id),alt:X.description||"表情包",className:"w-full h-full object-cover",onError:Ae=>{const Oe=Ae.target;Oe.style.display="none";const We=Oe.parentElement;We&&(We.innerHTML='')}})})}),i.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[i.jsxs("div",{className:"min-w-0 w-full overflow-hidden",children:[i.jsx("h3",{className:"font-semibold text-sm line-clamp-1 w-full break-all",title:X.description||"无描述",children:X.description||"无描述"}),i.jsxs("p",{className:"text-xs text-muted-foreground font-mono line-clamp-1 w-full break-all",children:[X.emoji_hash.slice(0,16),"..."]})]}),i.jsxs("div",{className:"flex flex-wrap gap-1 items-center min-w-0",children:[i.jsx(Ht,{variant:"outline",className:"text-xs flex-shrink-0",children:X.format.toUpperCase()}),X.is_registered&&i.jsxs(Ht,{variant:"default",className:"bg-green-600 text-xs flex-shrink-0",children:[i.jsx(Dr,{className:"h-3 w-3 mr-1"}),"已注册"]}),X.is_banned&&i.jsxs(Ht,{variant:"destructive",className:"text-xs flex-shrink-0",children:[i.jsx(JN,{className:"h-3 w-3 mr-1"}),"已封禁"]}),i.jsxs("span",{className:"text-xs text-muted-foreground flex-shrink-0",children:["使用: ",X.usage_count]})]}),X.emotion&&X.emotion.length>0&&i.jsx("div",{className:"min-w-0 overflow-hidden",children:i.jsx(IL,{emotions:X.emotion})})]})]}),i.jsxs("div",{className:"flex flex-wrap gap-1 pt-2 border-t overflow-hidden",children:[i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>F(X),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[i.jsx(Pu,{className:"h-3 w-3 mr-1"}),"详情"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>z(X),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[i.jsx(Du,{className:"h-3 w-3 mr-1"}),"编辑"]}),!X.is_registered&&i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>Q(X),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-green-600 hover:text-green-700",children:[i.jsx(Dr,{className:"h-3 w-3 mr-1"}),"注册"]}),!X.is_banned&&i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>he(X),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-orange-600 hover:text-orange-700",children:[i.jsx(JI,{className:"h-3 w-3 mr-1"}),"封禁"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>K(X),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-red-600 hover:text-red-700",children:[i.jsx(Ct,{className:"h-3 w-3 mr-1"}),"删除"]})]})]},X.id))}),d>0&&i.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 mt-4",children:[i.jsxs("div",{className:"text-sm text-muted-foreground",children:["显示 ",(l-1)*m+1," 到"," ",Math.min(l*m,d)," 条,共 ",d," 条"]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>u(1),disabled:l===1,className:"hidden sm:flex",children:i.jsx(aE,{className:"h-4 w-4"})}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>u(X=>Math.max(1,X-1)),disabled:l===1,children:[i.jsx(Yh,{className:"h-4 w-4 sm:mr-1"}),i.jsx("span",{className:"hidden sm:inline",children:"上一页"})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(Ce,{type:"number",value:$,onChange:X=>I(X.target.value),onKeyDown:X=>X.key==="Enter"&&pe(),placeholder:l.toString(),className:"w-16 h-8 text-center",min:1,max:Math.ceil(d/m)}),i.jsx(oe,{variant:"outline",size:"sm",onClick:pe,disabled:!$,className:"h-8",children:"跳转"})]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>u(X=>X+1),disabled:l>=Math.ceil(d/m),children:[i.jsx("span",{className:"hidden sm:inline",children:"下一页"}),i.jsx(Kh,{className:"h-4 w-4 sm:ml-1"})]}),i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>u(Math.ceil(d/m)),disabled:l>=Math.ceil(d/m),className:"hidden sm:flex",children:i.jsx(iE,{className:"h-4 w-4"})})]})]})]})]}),i.jsx(k1e,{emoji:A,open:k,onOpenChange:T}),i.jsx(M1e,{emoji:A,open:M,onOpenChange:R,onSuccess:()=>{Z(),ee()}})]})}),i.jsx(dn,{open:H,onOpenChange:G,children:i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认批量删除"}),i.jsxs(an,{children:["你确定要删除选中的 ",U.size," 个表情包吗?此操作不可撤销。"]})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:Y,children:"确认删除"})]})]})}),i.jsx(sr,{open:L,onOpenChange:D,children:i.jsxs(Kn,{children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"确认删除"}),i.jsx(gr,{children:"确定要删除这个表情包吗?此操作无法撤销。"})]}),i.jsxs(qr,{children:[i.jsx(oe,{variant:"outline",onClick:()=>D(!1),children:"取消"}),i.jsx(oe,{variant:"destructive",onClick:ie,children:"删除"})]})]})})]})}function k1e({emoji:e,open:t,onOpenChange:n}){if(!e)return null;const r=a=>a?new Date(a*1e3).toLocaleString("zh-CN"):"-";return i.jsx(sr,{open:t,onOpenChange:n,children:i.jsxs(Kn,{className:"max-w-2xl",children:[i.jsx(Xn,{children:i.jsx(Zn,{children:"表情包详情"})}),i.jsxs("div",{className:"space-y-4",children:[i.jsx("div",{className:"flex justify-center",children:i.jsx("div",{className:"w-32 h-32 bg-muted rounded-lg flex items-center justify-center overflow-hidden",children:i.jsx("img",{src:jC(e.id),alt:e.description||"表情包",className:"w-full h-full object-cover",onError:a=>{const s=a.target;s.style.display="none";const l=s.parentElement;l&&(l.innerHTML='')}})})}),i.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[i.jsxs("div",{children:[i.jsx(ne,{className:"text-muted-foreground",children:"ID"}),i.jsx("div",{className:"mt-1 font-mono",children:e.id})]}),i.jsxs("div",{children:[i.jsx(ne,{className:"text-muted-foreground",children:"格式"}),i.jsx("div",{className:"mt-1",children:i.jsx(Ht,{variant:"outline",children:e.format.toUpperCase()})})]})]}),i.jsxs("div",{children:[i.jsx(ne,{className:"text-muted-foreground",children:"文件路径"}),i.jsx("div",{className:"mt-1 font-mono text-sm break-all bg-muted p-2 rounded",children:e.full_path})]}),i.jsxs("div",{children:[i.jsx(ne,{className:"text-muted-foreground",children:"哈希值"}),i.jsx("div",{className:"mt-1 font-mono text-sm break-all bg-muted p-2 rounded",children:e.emoji_hash})]}),i.jsxs("div",{children:[i.jsx(ne,{className:"text-muted-foreground",children:"描述"}),i.jsx("div",{className:"mt-1",children:e.description||"-"})]}),i.jsxs("div",{children:[i.jsx(ne,{className:"text-muted-foreground",children:"情绪标签"}),i.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:(()=>{const a=e.emotion?e.emotion.split(/[,,]/).map(s=>s.trim()).filter(Boolean):[];return a.length>0?a.map((s,l)=>i.jsx(Ht,{variant:"secondary",children:s},l)):i.jsx("span",{className:"text-sm text-muted-foreground",children:"无"})})()})]}),i.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[i.jsxs("div",{children:[i.jsx(ne,{className:"text-muted-foreground",children:"状态"}),i.jsxs("div",{className:"mt-2 flex gap-2",children:[e.is_registered&&i.jsx(Ht,{variant:"default",className:"bg-green-600",children:"已注册"}),e.is_banned&&i.jsx(Ht,{variant:"destructive",children:"已封禁"}),!e.is_registered&&!e.is_banned&&i.jsx(Ht,{variant:"outline",children:"未注册"})]})]}),i.jsxs("div",{children:[i.jsx(ne,{className:"text-muted-foreground",children:"使用次数"}),i.jsx("div",{className:"mt-1 font-mono text-lg",children:e.usage_count})]})]}),i.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[i.jsxs("div",{children:[i.jsx(ne,{className:"text-muted-foreground",children:"记录时间"}),i.jsx("div",{className:"mt-1 text-sm",children:r(e.record_time)})]}),i.jsxs("div",{children:[i.jsx(ne,{className:"text-muted-foreground",children:"注册时间"}),i.jsx("div",{className:"mt-1 text-sm",children:r(e.register_time)})]})]}),i.jsxs("div",{children:[i.jsx(ne,{className:"text-muted-foreground",children:"最后使用"}),i.jsx("div",{className:"mt-1 text-sm",children:r(e.last_used_time)})]})]})]})})}function M1e({emoji:e,open:t,onOpenChange:n,onSuccess:r}){const[a,s]=y.useState(""),[l,u]=y.useState(""),[d,f]=y.useState(!1),[m,p]=y.useState(!1),[g,x]=y.useState(!1),{toast:j}=xr();y.useEffect(()=>{e&&(s(e.description||""),u(e.emotion||""),f(e.is_registered),p(e.is_banned))},[e]);const w=async()=>{if(e)try{x(!0);const b=l.split(/[,,]/).map(N=>N.trim()).filter(Boolean).join(",");await _1e(e.id,{description:a||void 0,emotion:b||void 0,is_registered:d,is_banned:m}),j({title:"成功",description:"表情包信息已更新"}),n(!1),r()}catch(b){const N=b instanceof Error?b.message:"保存失败";j({title:"错误",description:N,variant:"destructive"})}finally{x(!1)}};return e?i.jsx(sr,{open:t,onOpenChange:n,children:i.jsxs(Kn,{className:"max-w-2xl",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"编辑表情包"}),i.jsx(gr,{children:"修改表情包的描述和标签信息"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{children:[i.jsx(ne,{children:"描述"}),i.jsx(Qt,{value:a,onChange:b=>s(b.target.value),placeholder:"输入表情包描述...",rows:3,className:"mt-1"})]}),i.jsxs("div",{children:[i.jsx(ne,{children:"情绪标签"}),i.jsx(Ce,{value:l,onChange:b=>u(b.target.value),placeholder:"使用逗号分隔多个标签,如:开心, 微笑, 快乐",className:"mt-1"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"输入多个标签时使用逗号分隔(支持中英文逗号)"})]}),i.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(pr,{id:"is_registered",checked:d,onCheckedChange:b=>f(b===!0)}),i.jsx(ne,{htmlFor:"is_registered",className:"cursor-pointer",children:"已注册"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(pr,{id:"is_banned",checked:m,onCheckedChange:b=>p(b===!0)}),i.jsx(ne,{htmlFor:"is_banned",className:"cursor-pointer",children:"已封禁"})]})]})]}),i.jsxs(qr,{children:[i.jsx(oe,{variant:"outline",onClick:()=>n(!1),children:"取消"}),i.jsx(oe,{onClick:w,disabled:g,children:g?"保存中...":"保存"})]})]})}):null}function IL({emotions:e}){const t=e?e.split(/[,,]/).map(s=>s.trim()).filter(Boolean):[];if(t.length===0)return i.jsx("span",{className:"text-xs text-muted-foreground",children:"-"});const n=(s,l=6)=>s.length<=l?s:s.slice(0,l)+"...",r=t.slice(0,3),a=t.length-3;return i.jsxs("div",{className:"flex flex-wrap gap-1 max-w-full overflow-hidden",children:[r.map((s,l)=>i.jsx(Ht,{variant:"secondary",className:"text-xs flex-shrink-0",title:s,children:n(s)},l)),a>0&&i.jsxs(Ht,{variant:"outline",className:"text-xs flex-shrink-0",title:`还有 ${a} 个标签: ${t.slice(3).join(", ")}`,children:["+",a]})]})}const $l="/api/webui/expression";async function P1e(e){const t=new URLSearchParams;e.page&&t.append("page",e.page.toString()),e.page_size&&t.append("page_size",e.page_size.toString()),e.search&&t.append("search",e.search),e.chat_id&&t.append("chat_id",e.chat_id);const n=await Ze(`${$l}/list?${t}`,{headers:st()});if(!n.ok){const r=await n.json();throw new Error(r.detail||"获取表达方式列表失败")}return n.json()}async function R1e(e){const t=await Ze(`${$l}/${e}`,{headers:st()});if(!t.ok){const n=await t.json();throw new Error(n.detail||"获取表达方式详情失败")}return t.json()}async function D1e(e){const t=await Ze(`${$l}/`,{method:"POST",headers:st(),body:JSON.stringify(e)});if(!t.ok){const n=await t.json();throw new Error(n.detail||"创建表达方式失败")}return t.json()}async function $1e(e,t){const n=await Ze(`${$l}/${e}`,{method:"PATCH",headers:st(),body:JSON.stringify(t)});if(!n.ok){const r=await n.json();throw new Error(r.detail||"更新表达方式失败")}return n.json()}async function I1e(e){const t=await Ze(`${$l}/${e}`,{method:"DELETE",headers:st()});if(!t.ok){const n=await t.json();throw new Error(n.detail||"删除表达方式失败")}return t.json()}async function L1e(e){const t=await Ze(`${$l}/batch/delete`,{method:"POST",headers:st(),body:JSON.stringify({ids:e})});if(!t.ok){const n=await t.json();throw new Error(n.detail||"批量删除表达方式失败")}return t.json()}async function z1e(){const e=await Ze(`${$l}/stats/summary`,{headers:st()});if(!e.ok){const t=await e.json();throw new Error(t.detail||"获取统计数据失败")}return e.json()}function B1e(){const[e,t]=y.useState([]),[n,r]=y.useState(!0),[a,s]=y.useState(0),[l,u]=y.useState(1),[d,f]=y.useState(20),[m,p]=y.useState(""),[g,x]=y.useState(null),[j,w]=y.useState(!1),[b,N]=y.useState(!1),[E,O]=y.useState(!1),[A,C]=y.useState(null),[k,T]=y.useState(new Set),[M,R]=y.useState(!1),[L,D]=y.useState(""),[U,V]=y.useState({total:0,recent_7days:0,chat_count:0,top_chats:{}}),{toast:H}=xr(),G=async()=>{try{r(!0);const Q=await P1e({page:l,page_size:d,search:m||void 0});t(Q.data),s(Q.total)}catch(Q){H({title:"加载失败",description:Q instanceof Error?Q.message:"无法加载表达方式",variant:"destructive"})}finally{r(!1)}},$=async()=>{try{const Q=await z1e();V(Q.data)}catch(Q){console.error("加载统计数据失败:",Q)}};y.useEffect(()=>{G(),$()},[l,d,m]);const I=async Q=>{try{const he=await R1e(Q.id);x(he.data),w(!0)}catch(he){H({title:"加载详情失败",description:he instanceof Error?he.message:"无法加载表达方式详情",variant:"destructive"})}},q=Q=>{x(Q),N(!0)},Z=async Q=>{try{await I1e(Q.id),H({title:"删除成功",description:`已删除表达方式: ${Q.situation}`}),C(null),G(),$()}catch(he){H({title:"删除失败",description:he instanceof Error?he.message:"无法删除表达方式",variant:"destructive"})}},ee=Q=>{const he=new Set(k);he.has(Q)?he.delete(Q):he.add(Q),T(he)},F=()=>{k.size===e.length&&e.length>0?T(new Set):T(new Set(e.map(Q=>Q.id)))},z=async()=>{try{await L1e(Array.from(k)),H({title:"批量删除成功",description:`已删除 ${k.size} 个表达方式`}),T(new Set),R(!1),G(),$()}catch(Q){H({title:"批量删除失败",description:Q instanceof Error?Q.message:"无法批量删除表达方式",variant:"destructive"})}},K=()=>{const Q=parseInt(L),he=Math.ceil(a/d);Q>=1&&Q<=he?(u(Q),D("")):H({title:"无效的页码",description:`请输入1-${he}之间的页码`,variant:"destructive"})},ie=Q=>Q?new Date(Q*1e3).toLocaleString("zh-CN"):"-";return i.jsxs("div",{className:"h-[calc(100vh-4rem)] flex flex-col p-4 sm:p-6",children:[i.jsx("div",{className:"mb-4 sm:mb-6",children:i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[i.jsxs("div",{children:[i.jsxs("h1",{className:"text-2xl sm:text-3xl font-bold flex items-center gap-2",children:[i.jsx(Xh,{className:"h-8 w-8",strokeWidth:2}),"表达方式管理"]}),i.jsx("p",{className:"text-muted-foreground mt-1 text-sm sm:text-base",children:"管理麦麦的表达方式和话术模板"})]}),i.jsxs(oe,{onClick:()=>O(!0),className:"gap-2",children:[i.jsx(ir,{className:"h-4 w-4"}),"新增表达方式"]})]})}),i.jsx(Gt,{className:"flex-1",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 pr-4",children:[i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx("div",{className:"text-sm text-muted-foreground",children:"总数量"}),i.jsx("div",{className:"text-2xl font-bold mt-1",children:U.total})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx("div",{className:"text-sm text-muted-foreground",children:"近7天新增"}),i.jsx("div",{className:"text-2xl font-bold mt-1 text-green-600",children:U.recent_7days})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx("div",{className:"text-sm text-muted-foreground",children:"关联聊天数"}),i.jsx("div",{className:"text-2xl font-bold mt-1 text-blue-600",children:U.chat_count})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx(ne,{htmlFor:"search",children:"搜索"}),i.jsx("div",{className:"flex flex-col sm:flex-row gap-2 mt-1.5",children:i.jsxs("div",{className:"flex-1 relative",children:[i.jsx(Br,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),i.jsx(Ce,{id:"search",placeholder:"搜索情境、风格或上下文...",value:m,onChange:Q=>p(Q.target.value),className:"pl-9"})]})}),i.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-3 mt-4 pt-4 border-t",children:[i.jsx("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:k.size>0&&i.jsxs("span",{children:["已选择 ",k.size," 个表达方式"]})}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(ne,{htmlFor:"page-size",className:"text-sm whitespace-nowrap",children:"每页显示"}),i.jsxs(St,{value:d.toString(),onValueChange:Q=>{f(parseInt(Q)),u(1),T(new Set)},children:[i.jsx(xt,{id:"page-size",className:"w-20",children:i.jsx(_t,{})}),i.jsxs(bt,{children:[i.jsx(ke,{value:"10",children:"10"}),i.jsx(ke,{value:"20",children:"20"}),i.jsx(ke,{value:"50",children:"50"}),i.jsx(ke,{value:"100",children:"100"})]})]}),k.size>0&&i.jsxs(i.Fragment,{children:[i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>T(new Set),children:"取消选择"}),i.jsxs(oe,{variant:"destructive",size:"sm",onClick:()=>R(!0),children:[i.jsx(Ct,{className:"h-4 w-4 mr-1"}),"批量删除"]})]})]})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card",children:[i.jsx("div",{className:"hidden md:block",children:i.jsxs(Pl,{children:[i.jsx(Rl,{children:i.jsxs(Tn,{children:[i.jsx(Xe,{className:"w-12",children:i.jsx(pr,{checked:k.size===e.length&&e.length>0,onCheckedChange:F})}),i.jsx(Xe,{children:"情境"}),i.jsx(Xe,{children:"风格"}),i.jsx(Xe,{children:"聊天ID"}),i.jsx(Xe,{children:"最后活跃"}),i.jsx(Xe,{className:"text-right",children:"操作"})]})}),i.jsx(Dl,{children:n?i.jsx(Tn,{children:i.jsx(Be,{colSpan:6,className:"text-center py-8 text-muted-foreground",children:"加载中..."})}):e.length===0?i.jsx(Tn,{children:i.jsx(Be,{colSpan:6,className:"text-center py-8 text-muted-foreground",children:"暂无数据"})}):e.map(Q=>i.jsxs(Tn,{children:[i.jsx(Be,{children:i.jsx(pr,{checked:k.has(Q.id),onCheckedChange:()=>ee(Q.id)})}),i.jsx(Be,{className:"font-medium max-w-xs truncate",children:Q.situation}),i.jsx(Be,{className:"max-w-xs truncate",children:Q.style}),i.jsx(Be,{className:"font-mono text-sm",children:Q.chat_id}),i.jsx(Be,{className:"text-sm text-muted-foreground",children:ie(Q.last_active_time)}),i.jsx(Be,{className:"text-right",children:i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>I(Q),children:i.jsx(Ya,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>q(Q),children:i.jsx(Du,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>C(Q),children:i.jsx(Ct,{className:"h-4 w-4 text-destructive"})})]})})]},Q.id))})]})}),i.jsx("div",{className:"md:hidden space-y-3 p-4",children:n?i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"加载中..."}):e.length===0?i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"暂无数据"}):e.map(Q=>i.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3 overflow-hidden",children:[i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx(pr,{checked:k.has(Q.id),onCheckedChange:()=>ee(Q.id),className:"mt-1"}),i.jsxs("div",{className:"min-w-0 flex-1 overflow-hidden space-y-2",children:[i.jsxs("div",{children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"情境"}),i.jsx("h3",{className:"font-semibold text-sm line-clamp-2 w-full break-all",title:Q.situation,children:Q.situation})]}),i.jsxs("div",{children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"风格"}),i.jsx("p",{className:"text-sm line-clamp-2 w-full break-all",title:Q.style,children:Q.style})]})]})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[i.jsxs("div",{children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"聊天ID"}),i.jsx("p",{className:"font-mono text-xs truncate",children:Q.chat_id})]}),i.jsxs("div",{children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"最后活跃"}),i.jsx("p",{className:"text-xs",children:ie(Q.last_active_time)})]})]}),i.jsxs("div",{className:"flex flex-wrap gap-1 pt-2 border-t overflow-hidden",children:[i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>I(Q),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[i.jsx(Ya,{className:"h-3 w-3 mr-1"}),"查看"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>q(Q),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[i.jsx(Du,{className:"h-3 w-3 mr-1"}),"编辑"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>C(Q),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-destructive hover:text-destructive",children:[i.jsx(Ct,{className:"h-3 w-3 mr-1"}),"删除"]})]})]},Q.id))}),a>0&&i.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 px-4 py-3 border-t",children:[i.jsxs("div",{className:"text-sm text-muted-foreground",children:["共 ",a," 条记录,第 ",l," / ",Math.ceil(a/d)," 页"]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>u(1),disabled:l===1,className:"hidden sm:flex",children:i.jsx(aE,{className:"h-4 w-4"})}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>u(l-1),disabled:l===1,children:[i.jsx(Yh,{className:"h-4 w-4 sm:mr-1"}),i.jsx("span",{className:"hidden sm:inline",children:"上一页"})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(Ce,{type:"number",value:L,onChange:Q=>D(Q.target.value),onKeyDown:Q=>Q.key==="Enter"&&K(),placeholder:l.toString(),className:"w-16 h-8 text-center",min:1,max:Math.ceil(a/d)}),i.jsx(oe,{variant:"outline",size:"sm",onClick:K,disabled:!L,className:"h-8",children:"跳转"})]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>u(l+1),disabled:l>=Math.ceil(a/d),children:[i.jsx("span",{className:"hidden sm:inline",children:"下一页"}),i.jsx(Kh,{className:"h-4 w-4 sm:ml-1"})]}),i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>u(Math.ceil(a/d)),disabled:l>=Math.ceil(a/d),className:"hidden sm:flex",children:i.jsx(iE,{className:"h-4 w-4"})})]})]})]})]})}),i.jsx(q1e,{expression:g,open:j,onOpenChange:w}),i.jsx(F1e,{open:E,onOpenChange:O,onSuccess:()=>{G(),$(),O(!1)}}),i.jsx(U1e,{expression:g,open:b,onOpenChange:N,onSuccess:()=>{G(),$(),N(!1)}}),i.jsx(dn,{open:!!A,onOpenChange:()=>C(null),children:i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认删除"}),i.jsxs(an,{children:['确定要删除表达方式 "',A?.situation,'" 吗? 此操作不可撤销。']})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:()=>A&&Z(A),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"删除"})]})]})}),i.jsx(H1e,{open:M,onOpenChange:R,onConfirm:z,count:k.size})]})}function q1e({expression:e,open:t,onOpenChange:n}){if(!e)return null;const r=a=>a?new Date(a*1e3).toLocaleString("zh-CN"):"-";return i.jsx(sr,{open:t,onOpenChange:n,children:i.jsxs(Kn,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"表达方式详情"}),i.jsx(gr,{children:"查看表达方式的完整信息"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[i.jsx(Pc,{label:"情境",value:e.situation}),i.jsx(Pc,{label:"风格",value:e.style}),i.jsx(Pc,{icon:Tg,label:"聊天ID",value:e.chat_id,mono:!0}),i.jsx(Pc,{icon:Tg,label:"记录ID",value:e.id.toString(),mono:!0})]}),e.context&&i.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[i.jsx(ne,{className:"text-xs text-muted-foreground",children:"上下文"}),i.jsx("p",{className:"mt-1 text-sm whitespace-pre-wrap",children:e.context})]}),e.up_content&&i.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[i.jsx(ne,{className:"text-xs text-muted-foreground",children:"上文内容"}),i.jsx("p",{className:"mt-1 text-sm whitespace-pre-wrap",children:e.up_content})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[i.jsx(Pc,{icon:ul,label:"最后活跃",value:r(e.last_active_time)}),i.jsx(Pc,{icon:ul,label:"创建时间",value:r(e.create_date)})]})]}),i.jsx(qr,{children:i.jsx(oe,{onClick:()=>n(!1),children:"关闭"})})]})})}function Pc({icon:e,label:t,value:n,mono:r=!1}){return i.jsxs("div",{className:"space-y-1",children:[i.jsxs(ne,{className:"text-xs text-muted-foreground flex items-center gap-1",children:[e&&i.jsx(e,{className:"h-3 w-3"}),t]}),i.jsx("div",{className:ue("text-sm",r&&"font-mono",!n&&"text-muted-foreground"),children:n||"-"})]})}function F1e({open:e,onOpenChange:t,onSuccess:n}){const[r,a]=y.useState({situation:"",style:"",context:"",up_content:"",chat_id:""}),[s,l]=y.useState(!1),{toast:u}=xr(),d=async()=>{if(!r.situation||!r.style||!r.chat_id){u({title:"验证失败",description:"请填写必填字段:情境、风格和聊天ID",variant:"destructive"});return}try{l(!0),await D1e(r),u({title:"创建成功",description:"表达方式已创建"}),a({situation:"",style:"",context:"",up_content:"",chat_id:""}),n()}catch(f){u({title:"创建失败",description:f instanceof Error?f.message:"无法创建表达方式",variant:"destructive"})}finally{l(!1)}};return i.jsx(sr,{open:e,onOpenChange:t,children:i.jsxs(Kn,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"新增表达方式"}),i.jsx(gr,{children:"创建新的表达方式记录"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsxs(ne,{htmlFor:"situation",children:["情境 ",i.jsx("span",{className:"text-destructive",children:"*"})]}),i.jsx(Ce,{id:"situation",value:r.situation,onChange:f=>a({...r,situation:f.target.value}),placeholder:"描述使用场景"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsxs(ne,{htmlFor:"style",children:["风格 ",i.jsx("span",{className:"text-destructive",children:"*"})]}),i.jsx(Ce,{id:"style",value:r.style,onChange:f=>a({...r,style:f.target.value}),placeholder:"描述表达风格"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsxs(ne,{htmlFor:"chat_id",children:["聊天ID ",i.jsx("span",{className:"text-destructive",children:"*"})]}),i.jsx(Ce,{id:"chat_id",value:r.chat_id,onChange:f=>a({...r,chat_id:f.target.value}),placeholder:"关联的聊天ID"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"context",children:"上下文"}),i.jsx(Qt,{id:"context",value:r.context,onChange:f=>a({...r,context:f.target.value}),placeholder:"上下文信息(可选)",rows:3})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"up_content",children:"上文内容"}),i.jsx(Qt,{id:"up_content",value:r.up_content,onChange:f=>a({...r,up_content:f.target.value}),placeholder:"上文内容(可选)",rows:3})]})]}),i.jsxs(qr,{children:[i.jsx(oe,{variant:"outline",onClick:()=>t(!1),children:"取消"}),i.jsx(oe,{onClick:d,disabled:s,children:s?"创建中...":"创建"})]})]})})}function U1e({expression:e,open:t,onOpenChange:n,onSuccess:r}){const[a,s]=y.useState({}),[l,u]=y.useState(!1),{toast:d}=xr();y.useEffect(()=>{e&&s({situation:e.situation,style:e.style,context:e.context||"",up_content:e.up_content||"",chat_id:e.chat_id})},[e]);const f=async()=>{if(e)try{u(!0),await $1e(e.id,a),d({title:"保存成功",description:"表达方式已更新"}),r()}catch(m){d({title:"保存失败",description:m instanceof Error?m.message:"无法更新表达方式",variant:"destructive"})}finally{u(!1)}};return e?i.jsx(sr,{open:t,onOpenChange:n,children:i.jsxs(Kn,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"编辑表达方式"}),i.jsx(gr,{children:"修改表达方式的信息"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"edit_situation",children:"情境"}),i.jsx(Ce,{id:"edit_situation",value:a.situation||"",onChange:m=>s({...a,situation:m.target.value}),placeholder:"描述使用场景"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"edit_style",children:"风格"}),i.jsx(Ce,{id:"edit_style",value:a.style||"",onChange:m=>s({...a,style:m.target.value}),placeholder:"描述表达风格"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"edit_chat_id",children:"聊天ID"}),i.jsx(Ce,{id:"edit_chat_id",value:a.chat_id||"",onChange:m=>s({...a,chat_id:m.target.value}),placeholder:"关联的聊天ID"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"edit_context",children:"上下文"}),i.jsx(Qt,{id:"edit_context",value:a.context||"",onChange:m=>s({...a,context:m.target.value}),placeholder:"上下文信息",rows:3})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"edit_up_content",children:"上文内容"}),i.jsx(Qt,{id:"edit_up_content",value:a.up_content||"",onChange:m=>s({...a,up_content:m.target.value}),placeholder:"上文内容",rows:3})]})]}),i.jsxs(qr,{children:[i.jsx(oe,{variant:"outline",onClick:()=>n(!1),children:"取消"}),i.jsx(oe,{onClick:f,disabled:l,children:l?"保存中...":"保存"})]})]})}):null}function H1e({open:e,onOpenChange:t,onConfirm:n,count:r}){return i.jsx(dn,{open:e,onOpenChange:t,children:i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认批量删除"}),i.jsxs(an,{children:["您即将删除 ",r," 个表达方式,此操作无法撤销。确定要继续吗?"]})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:n,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"确认删除"})]})]})})}const ad="/api/webui/person";async function W1e(e){const t=new URLSearchParams;e.page&&t.append("page",e.page.toString()),e.page_size&&t.append("page_size",e.page_size.toString()),e.search&&t.append("search",e.search),e.is_known!==void 0&&t.append("is_known",e.is_known.toString()),e.platform&&t.append("platform",e.platform);const n=await Ze(`${ad}/list?${t}`,{headers:st()});if(!n.ok){const r=await n.json();throw new Error(r.detail||"获取人物列表失败")}return n.json()}async function V1e(e){const t=await Ze(`${ad}/${e}`,{headers:st()});if(!t.ok){const n=await t.json();throw new Error(n.detail||"获取人物详情失败")}return t.json()}async function G1e(e,t){const n=await Ze(`${ad}/${e}`,{method:"PATCH",headers:st(),body:JSON.stringify(t)});if(!n.ok){const r=await n.json();throw new Error(r.detail||"更新人物信息失败")}return n.json()}async function Y1e(e){const t=await Ze(`${ad}/${e}`,{method:"DELETE",headers:st()});if(!t.ok){const n=await t.json();throw new Error(n.detail||"删除人物信息失败")}return t.json()}async function K1e(){const e=await Ze(`${ad}/stats/summary`,{headers:st()});if(!e.ok){const t=await e.json();throw new Error(t.detail||"获取统计数据失败")}return e.json()}async function X1e(e){const t=await Ze(`${ad}/batch/delete`,{method:"POST",headers:st(),body:JSON.stringify({person_ids:e})});if(!t.ok){const n=await t.json();throw new Error(n.detail||"批量删除失败")}return t.json()}function Z1e(){const[e,t]=y.useState([]),[n,r]=y.useState(!0),[a,s]=y.useState(0),[l,u]=y.useState(1),[d,f]=y.useState(20),[m,p]=y.useState(""),[g,x]=y.useState(void 0),[j,w]=y.useState(void 0),[b,N]=y.useState(null),[E,O]=y.useState(!1),[A,C]=y.useState(!1),[k,T]=y.useState(null),[M,R]=y.useState({total:0,known:0,unknown:0,platforms:{}}),[L,D]=y.useState(new Set),[U,V]=y.useState(!1),[H,G]=y.useState(""),{toast:$}=xr(),I=async()=>{try{r(!0);const Y=await W1e({page:l,page_size:d,search:m||void 0,is_known:g,platform:j});t(Y.data),s(Y.total)}catch(Y){$({title:"加载失败",description:Y instanceof Error?Y.message:"无法加载人物信息",variant:"destructive"})}finally{r(!1)}},q=async()=>{try{const Y=await K1e();R(Y.data)}catch(Y){console.error("加载统计数据失败:",Y)}};y.useEffect(()=>{I(),q()},[l,d,m,g,j]);const Z=async Y=>{try{const pe=await V1e(Y.person_id);N(pe.data),O(!0)}catch(pe){$({title:"加载详情失败",description:pe instanceof Error?pe.message:"无法加载人物详情",variant:"destructive"})}},ee=Y=>{N(Y),C(!0)},F=async Y=>{try{await Y1e(Y.person_id),$({title:"删除成功",description:`已删除人物信息: ${Y.person_name||Y.nickname||Y.user_id}`}),T(null),I(),q()}catch(pe){$({title:"删除失败",description:pe instanceof Error?pe.message:"无法删除人物信息",variant:"destructive"})}},z=y.useMemo(()=>Object.keys(M.platforms),[M.platforms]),K=Y=>{const pe=new Set(L);pe.has(Y)?pe.delete(Y):pe.add(Y),D(pe)},ie=()=>{L.size===e.length&&e.length>0?D(new Set):D(new Set(e.map(Y=>Y.person_id)))},Q=()=>{if(L.size===0){$({title:"未选择任何人物",description:"请先选择要删除的人物",variant:"destructive"});return}V(!0)},he=async()=>{try{const Y=await X1e(Array.from(L));$({title:"批量删除完成",description:Y.message}),D(new Set),V(!1),I(),q()}catch(Y){$({title:"批量删除失败",description:Y instanceof Error?Y.message:"批量删除失败",variant:"destructive"})}},ae=()=>{const Y=parseInt(H),pe=Math.ceil(a/d);Y>=1&&Y<=pe?(u(Y),G("")):$({title:"无效的页码",description:`请输入1-${pe}之间的页码`,variant:"destructive"})},we=Y=>Y?new Date(Y*1e3).toLocaleString("zh-CN"):"-";return i.jsxs("div",{className:"h-[calc(100vh-4rem)] flex flex-col p-4 sm:p-6",children:[i.jsx("div",{className:"mb-4 sm:mb-6",children:i.jsx("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:i.jsxs("div",{children:[i.jsxs("h1",{className:"text-2xl sm:text-3xl font-bold flex items-center gap-2",children:[i.jsx(iye,{className:"h-8 w-8",strokeWidth:2}),"人物信息管理"]}),i.jsx("p",{className:"text-muted-foreground mt-1 text-sm sm:text-base",children:"管理麦麦认识的所有人物信息"})]})})}),i.jsx(Gt,{className:"flex-1",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 pr-4",children:[i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx("div",{className:"text-sm text-muted-foreground",children:"总人数"}),i.jsx("div",{className:"text-2xl font-bold mt-1",children:M.total})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx("div",{className:"text-sm text-muted-foreground",children:"已认识"}),i.jsx("div",{className:"text-2xl font-bold mt-1 text-green-600",children:M.known})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx("div",{className:"text-sm text-muted-foreground",children:"未认识"}),i.jsx("div",{className:"text-2xl font-bold mt-1 text-muted-foreground",children:M.unknown})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-4 gap-4",children:[i.jsxs("div",{className:"sm:col-span-2",children:[i.jsx(ne,{htmlFor:"search",children:"搜索"}),i.jsxs("div",{className:"relative mt-1.5",children:[i.jsx(Br,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),i.jsx(Ce,{id:"search",placeholder:"搜索名称、昵称或用户ID...",value:m,onChange:Y=>p(Y.target.value),className:"pl-9"})]})]}),i.jsxs("div",{children:[i.jsx(ne,{htmlFor:"filter-known",children:"认识状态"}),i.jsxs(St,{value:g===void 0?"all":g.toString(),onValueChange:Y=>{x(Y==="all"?void 0:Y==="true"),u(1)},children:[i.jsx(xt,{id:"filter-known",className:"mt-1.5",children:i.jsx(_t,{})}),i.jsxs(bt,{children:[i.jsx(ke,{value:"all",children:"全部"}),i.jsx(ke,{value:"true",children:"已认识"}),i.jsx(ke,{value:"false",children:"未认识"})]})]})]}),i.jsxs("div",{children:[i.jsx(ne,{htmlFor:"filter-platform",children:"平台"}),i.jsxs(St,{value:j||"all",onValueChange:Y=>{w(Y==="all"?void 0:Y),u(1)},children:[i.jsx(xt,{id:"filter-platform",className:"mt-1.5",children:i.jsx(_t,{})}),i.jsxs(bt,{children:[i.jsx(ke,{value:"all",children:"全部平台"}),z.map(Y=>i.jsxs(ke,{value:Y,children:[Y," (",M.platforms[Y],")"]},Y))]})]})]})]}),i.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-3 mt-4 pt-4 border-t",children:[i.jsx("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:L.size>0&&i.jsxs("span",{children:["已选择 ",L.size," 个人物"]})}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(ne,{htmlFor:"page-size",className:"text-sm whitespace-nowrap",children:"每页显示"}),i.jsxs(St,{value:d.toString(),onValueChange:Y=>{f(parseInt(Y)),u(1),D(new Set)},children:[i.jsx(xt,{id:"page-size",className:"w-20",children:i.jsx(_t,{})}),i.jsxs(bt,{children:[i.jsx(ke,{value:"10",children:"10"}),i.jsx(ke,{value:"20",children:"20"}),i.jsx(ke,{value:"50",children:"50"}),i.jsx(ke,{value:"100",children:"100"})]})]}),L.size>0&&i.jsxs(oe,{variant:"destructive",size:"sm",onClick:Q,children:[i.jsx(Ct,{className:"h-4 w-4 mr-1"}),"批量删除"]})]})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card",children:[i.jsx("div",{className:"hidden md:block",children:i.jsxs(Pl,{children:[i.jsx(Rl,{children:i.jsxs(Tn,{children:[i.jsx(Xe,{className:"w-12",children:i.jsx(pr,{checked:e.length>0&&L.size===e.length,onCheckedChange:ie,"aria-label":"全选"})}),i.jsx(Xe,{children:"状态"}),i.jsx(Xe,{children:"名称"}),i.jsx(Xe,{children:"昵称"}),i.jsx(Xe,{children:"平台"}),i.jsx(Xe,{children:"用户ID"}),i.jsx(Xe,{children:"最后更新"}),i.jsx(Xe,{className:"text-right",children:"操作"})]})}),i.jsx(Dl,{children:n?i.jsx(Tn,{children:i.jsx(Be,{colSpan:8,className:"text-center py-8 text-muted-foreground",children:"加载中..."})}):e.length===0?i.jsx(Tn,{children:i.jsx(Be,{colSpan:8,className:"text-center py-8 text-muted-foreground",children:"暂无数据"})}):e.map(Y=>i.jsxs(Tn,{children:[i.jsx(Be,{children:i.jsx(pr,{checked:L.has(Y.person_id),onCheckedChange:()=>K(Y.person_id),"aria-label":`选择 ${Y.person_name||Y.nickname||Y.user_id}`})}),i.jsx(Be,{children:i.jsx("div",{className:ue("inline-flex items-center gap-1 px-2 py-1 rounded-full text-xs font-medium",Y.is_known?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-400"),children:Y.is_known?"已认识":"未认识"})}),i.jsx(Be,{className:"font-medium",children:Y.person_name||i.jsx("span",{className:"text-muted-foreground",children:"-"})}),i.jsx(Be,{children:Y.nickname||"-"}),i.jsx(Be,{children:Y.platform}),i.jsx(Be,{className:"font-mono text-sm",children:Y.user_id}),i.jsx(Be,{className:"text-sm text-muted-foreground",children:we(Y.last_know)}),i.jsx(Be,{className:"text-right",children:i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>Z(Y),children:i.jsx(Ya,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>ee(Y),children:i.jsx(Du,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>T(Y),children:i.jsx(Ct,{className:"h-4 w-4 text-destructive"})})]})})]},Y.id))})]})}),i.jsx("div",{className:"md:hidden space-y-3 p-4",children:n?i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"加载中..."}):e.length===0?i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"暂无数据"}):e.map(Y=>i.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3 overflow-hidden",children:[i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx(pr,{checked:L.has(Y.person_id),onCheckedChange:()=>K(Y.person_id),className:"mt-1"}),i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:ue("inline-flex items-center gap-1 px-2 py-1 rounded-full text-xs font-medium mb-2",Y.is_known?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-400"),children:Y.is_known?"已认识":"未认识"}),i.jsx("h3",{className:"font-semibold text-sm line-clamp-1 w-full break-all",children:Y.person_name||i.jsx("span",{className:"text-muted-foreground",children:"未命名"})}),Y.nickname&&i.jsxs("p",{className:"text-xs text-muted-foreground mt-1 line-clamp-1 w-full break-all",children:["昵称: ",Y.nickname]})]})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[i.jsxs("div",{children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"平台"}),i.jsx("p",{className:"font-medium text-xs",children:Y.platform})]}),i.jsxs("div",{children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"用户ID"}),i.jsx("p",{className:"font-mono text-xs truncate",title:Y.user_id,children:Y.user_id})]}),i.jsxs("div",{className:"col-span-2",children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"最后更新"}),i.jsx("p",{className:"text-xs",children:we(Y.last_know)})]})]}),i.jsxs("div",{className:"flex flex-wrap gap-1 pt-2 border-t overflow-hidden",children:[i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>Z(Y),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[i.jsx(Ya,{className:"h-3 w-3 mr-1"}),"查看"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>ee(Y),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[i.jsx(Du,{className:"h-3 w-3 mr-1"}),"编辑"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>T(Y),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-destructive hover:text-destructive",children:[i.jsx(Ct,{className:"h-3 w-3 mr-1"}),"删除"]})]})]},Y.id))}),a>0&&i.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 px-4 py-3 border-t",children:[i.jsxs("div",{className:"text-sm text-muted-foreground",children:["共 ",a," 条记录,第 ",l," / ",Math.ceil(a/d)," 页"]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>u(1),disabled:l===1,className:"hidden sm:flex",children:i.jsx(aE,{className:"h-4 w-4"})}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>u(l-1),disabled:l===1,children:[i.jsx(Yh,{className:"h-4 w-4 sm:mr-1"}),i.jsx("span",{className:"hidden sm:inline",children:"上一页"})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(Ce,{type:"number",value:H,onChange:Y=>G(Y.target.value),onKeyDown:Y=>Y.key==="Enter"&&ae(),placeholder:l.toString(),className:"w-16 h-8 text-center",min:1,max:Math.ceil(a/d)}),i.jsx(oe,{variant:"outline",size:"sm",onClick:ae,disabled:!H,className:"h-8",children:"跳转"})]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>u(l+1),disabled:l>=Math.ceil(a/d),children:[i.jsx("span",{className:"hidden sm:inline",children:"下一页"}),i.jsx(Kh,{className:"h-4 w-4 sm:ml-1"})]}),i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>u(Math.ceil(a/d)),disabled:l>=Math.ceil(a/d),className:"hidden sm:flex",children:i.jsx(iE,{className:"h-4 w-4"})})]})]})]})]})}),i.jsx(Q1e,{person:b,open:E,onOpenChange:O}),i.jsx(J1e,{person:b,open:A,onOpenChange:C,onSuccess:()=>{I(),q(),C(!1)}}),i.jsx(dn,{open:!!k,onOpenChange:()=>T(null),children:i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认删除"}),i.jsxs(an,{children:['确定要删除人物信息 "',k?.person_name||k?.nickname||k?.user_id,'" 吗? 此操作不可撤销。']})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:()=>k&&F(k),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"删除"})]})]})}),i.jsx(dn,{open:U,onOpenChange:V,children:i.jsxs(en,{children:[i.jsxs(tn,{children:[i.jsx(rn,{children:"确认批量删除"}),i.jsxs(an,{children:["确定要删除选中的 ",L.size," 个人物信息吗? 此操作不可撤销。"]})]}),i.jsxs(nn,{children:[i.jsx(on,{children:"取消"}),i.jsx(sn,{onClick:he,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"批量删除"})]})]})})]})}function Q1e({person:e,open:t,onOpenChange:n}){if(!e)return null;const r=a=>a?new Date(a*1e3).toLocaleString("zh-CN"):"-";return i.jsx(sr,{open:t,onOpenChange:n,children:i.jsxs(Kn,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"人物详情"}),i.jsxs(gr,{children:["查看 ",e.person_name||e.nickname||e.user_id," 的完整信息"]})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[i.jsx(Ki,{icon:x8,label:"人物名称",value:e.person_name}),i.jsx(Ki,{icon:Xh,label:"昵称",value:e.nickname}),i.jsx(Ki,{icon:Tg,label:"用户ID",value:e.user_id,mono:!0}),i.jsx(Ki,{icon:Tg,label:"人物ID",value:e.person_id,mono:!0}),i.jsx(Ki,{label:"平台",value:e.platform}),i.jsx(Ki,{label:"状态",value:e.is_known?"已认识":"未认识"})]}),e.name_reason&&i.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[i.jsx(ne,{className:"text-xs text-muted-foreground",children:"名称设定原因"}),i.jsx("p",{className:"mt-1 text-sm",children:e.name_reason})]}),e.memory_points&&i.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[i.jsx(ne,{className:"text-xs text-muted-foreground",children:"个人印象"}),i.jsx("p",{className:"mt-1 text-sm whitespace-pre-wrap",children:e.memory_points})]}),e.group_nick_name&&e.group_nick_name.length>0&&i.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[i.jsx(ne,{className:"text-xs text-muted-foreground",children:"群昵称"}),i.jsx("div",{className:"mt-2 space-y-1",children:e.group_nick_name.map((a,s)=>i.jsxs("div",{className:"text-sm flex items-center gap-2",children:[i.jsx("span",{className:"font-mono text-xs text-muted-foreground",children:a.group_id}),i.jsx("span",{children:"→"}),i.jsx("span",{children:a.group_nick_name})]},s))})]}),i.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[i.jsx(Ki,{icon:ul,label:"认识时间",value:r(e.know_times)}),i.jsx(Ki,{icon:ul,label:"首次记录",value:r(e.know_since)}),i.jsx(Ki,{icon:ul,label:"最后更新",value:r(e.last_know)})]})]}),i.jsx(qr,{children:i.jsx(oe,{onClick:()=>n(!1),children:"关闭"})})]})})}function Ki({icon:e,label:t,value:n,mono:r=!1}){return i.jsxs("div",{className:"space-y-1",children:[i.jsxs(ne,{className:"text-xs text-muted-foreground flex items-center gap-1",children:[e&&i.jsx(e,{className:"h-3 w-3"}),t]}),i.jsx("div",{className:ue("text-sm",r&&"font-mono",!n&&"text-muted-foreground"),children:n||"-"})]})}function J1e({person:e,open:t,onOpenChange:n,onSuccess:r}){const[a,s]=y.useState({}),[l,u]=y.useState(!1),{toast:d}=xr();y.useEffect(()=>{e&&s({person_name:e.person_name||"",name_reason:e.name_reason||"",nickname:e.nickname||"",memory_points:e.memory_points||"",is_known:e.is_known})},[e]);const f=async()=>{if(e)try{u(!0),await G1e(e.person_id,a),d({title:"保存成功",description:"人物信息已更新"}),r()}catch(m){d({title:"保存失败",description:m instanceof Error?m.message:"无法更新人物信息",variant:"destructive"})}finally{u(!1)}};return e?i.jsx(sr,{open:t,onOpenChange:n,children:i.jsxs(Kn,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"编辑人物信息"}),i.jsxs(gr,{children:["修改 ",e.person_name||e.nickname||e.user_id," 的信息"]})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"person_name",children:"人物名称"}),i.jsx(Ce,{id:"person_name",value:a.person_name||"",onChange:m=>s({...a,person_name:m.target.value}),placeholder:"为这个人设置一个名称"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"nickname",children:"昵称"}),i.jsx(Ce,{id:"nickname",value:a.nickname||"",onChange:m=>s({...a,nickname:m.target.value}),placeholder:"昵称"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"name_reason",children:"名称设定原因"}),i.jsx(Qt,{id:"name_reason",value:a.name_reason||"",onChange:m=>s({...a,name_reason:m.target.value}),placeholder:"为什么这样称呼这个人?",rows:2})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"memory_points",children:"个人印象"}),i.jsx(Qt,{id:"memory_points",value:a.memory_points||"",onChange:m=>s({...a,memory_points:m.target.value}),placeholder:"对这个人的印象和记忆点...",rows:4})]}),i.jsxs("div",{className:"flex items-center justify-between rounded-lg border p-3",children:[i.jsxs("div",{children:[i.jsx(ne,{htmlFor:"is_known",className:"text-base font-medium",children:"已认识"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"标记是否已经认识这个人"})]}),i.jsx(dt,{id:"is_known",checked:a.is_known,onCheckedChange:m=>s({...a,is_known:m})})]})]}),i.jsxs(qr,{children:[i.jsx(oe,{variant:"outline",onClick:()=>n(!1),children:"取消"}),i.jsx(oe,{onClick:f,disabled:l,children:l?"保存中...":"保存"})]})]})}):null}function eSe(e,t,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(" ")}const tSe={},bf={};function tl(e,t){try{const r=(tSe[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return r in bf?bf[r]:LL(r,r.split(":"))}catch{if(e in bf)return bf[e];const n=e?.match(nSe);return n?LL(e,n.slice(1)):NaN}}const nSe=/([+-]\d\d):?(\d\d)?/;function LL(e,t){const n=+(t[0]||0),r=+(t[1]||0),a=+(t[2]||0)/60;return bf[e]=n*60+r>0?n*60+r+a:n*60-r-a}class pi extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(tl(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),kH(this),SC(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new pi(...n,t):new pi(Date.now(),t)}withTimeZone(t){return new pi(+this,t)}getTimezoneOffset(){const t=-tl(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),SC(this),+this}[Symbol.for("constructDateFrom")](t){return new pi(+new Date(t),this.timeZone)}}const zL=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!zL.test(e))return;const t=e.replace(zL,"$1UTC");pi.prototype[t]&&(e.startsWith("get")?pi.prototype[e]=function(){return this.internal[t]()}:(pi.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),rSe(this),+this},pi.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),SC(this),+this}))});function SC(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-tl(e.timeZone,e)*60))}function rSe(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),kH(e)}function kH(e){const t=tl(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);const a=-new Date(+e).getTimezoneOffset(),s=-new Date(+r).getTimezoneOffset(),l=a-s,u=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();l&&u&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+l);const d=a-n;d&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+d);const f=new Date(+e);f.setUTCSeconds(0);const m=a>0?f.getSeconds():(f.getSeconds()-60)%60,p=Math.round(-(tl(e.timeZone,e)*60))%60;(p||m)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+p),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+p+m));const g=tl(e.timeZone,e),x=g>0?Math.floor(g):Math.ceil(g),w=-new Date(+e).getTimezoneOffset()-x,b=x!==n,N=w-d;if(b&&N){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+N);const E=tl(e.timeZone,e),O=E>0?Math.floor(E):Math.ceil(E),A=x-O;A&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+A),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+A))}}class dr extends pi{static tz(t,...n){return n.length?new dr(...n,t):new dr(Date.now(),t)}toISOString(){const[t,n,r]=this.tzComponents(),a=`${t}${n}:${r}`;return this.internal.toISOString().slice(0,-1)+a}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,r,a]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${r} ${n} ${a}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,r,a]=this.tzComponents();return`${t} GMT${n}${r}${a} (${eSe(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),n=t>0?"-":"+",r=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),a=String(Math.abs(t)%60).padStart(2,"0");return[n,r,a]}withTimeZone(t){return new dr(+this,t)}[Symbol.for("constructDateFrom")](t){return new dr(+new Date(t),this.timeZone)}}const MH=6048e5,aSe=864e5,BL=Symbol.for("constructDateFrom");function Mn(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&BL in e?e[BL](t):e instanceof Date?new e.constructor(t):new Date(t)}function Wt(e,t){return Mn(t||e,e)}function PH(e,t,n){const r=Wt(e,n?.in);return isNaN(t)?Mn(e,NaN):(t&&r.setDate(r.getDate()+t),r)}function RH(e,t,n){const r=Wt(e,n?.in);if(isNaN(t))return Mn(e,NaN);if(!t)return r;const a=r.getDate(),s=Mn(e,r.getTime());s.setMonth(r.getMonth()+t+1,0);const l=s.getDate();return a>=l?s:(r.setFullYear(s.getFullYear(),s.getMonth(),a),r)}let iSe={};function im(){return iSe}function uo(e,t){const n=im(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=Wt(e,t?.in),s=a.getDay(),l=(s=s.getTime()?r+1:n.getTime()>=u.getTime()?r:r-1}function qL(e){const t=Wt(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function Il(e,...t){const n=Mn.bind(null,e||t.find(r=>typeof r=="object"));return t.map(n)}function Nh(e,t){const n=Wt(e,t?.in);return n.setHours(0,0,0,0),n}function $H(e,t,n){const[r,a]=Il(n?.in,e,t),s=Nh(r),l=Nh(a),u=+s-qL(s),d=+l-qL(l);return Math.round((u-d)/aSe)}function sSe(e,t){const n=DH(e,t),r=Mn(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),_h(r)}function oSe(e,t,n){return PH(e,t*7,n)}function lSe(e,t,n){return RH(e,t*12,n)}function cSe(e,t){let n,r=t?.in;return e.forEach(a=>{!r&&typeof a=="object"&&(r=Mn.bind(null,a));const s=Wt(a,r);(!n||n{!r&&typeof a=="object"&&(r=Mn.bind(null,a));const s=Wt(a,r);(!n||n>s||isNaN(+s))&&(n=s)}),Mn(r,n||NaN)}function dSe(e,t,n){const[r,a]=Il(n?.in,e,t);return+Nh(r)==+Nh(a)}function IH(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function fSe(e){return!(!IH(e)&&typeof e!="number"||isNaN(+Wt(e)))}function hSe(e,t,n){const[r,a]=Il(n?.in,e,t),s=r.getFullYear()-a.getFullYear(),l=r.getMonth()-a.getMonth();return s*12+l}function mSe(e,t){const n=Wt(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function LH(e,t){const[n,r]=Il(e,t.start,t.end);return{start:n,end:r}}function pSe(e,t){const{start:n,end:r}=LH(t?.in,e);let a=+n>+r;const s=a?+n:+r,l=a?r:n;l.setHours(0,0,0,0),l.setDate(1);let u=1;const d=[];for(;+l<=s;)d.push(Mn(n,l)),l.setMonth(l.getMonth()+u);return a?d.reverse():d}function vSe(e,t){const n=Wt(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function gSe(e,t){const n=Wt(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function zH(e,t){const n=Wt(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function ySe(e,t){const{start:n,end:r}=LH(t?.in,e);let a=+n>+r;const s=a?+n:+r,l=a?r:n;l.setHours(0,0,0,0),l.setMonth(0,1);let u=1;const d=[];for(;+l<=s;)d.push(Mn(n,l)),l.setFullYear(l.getFullYear()+u);return a?d.reverse():d}function BH(e,t){const n=im(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=Wt(e,t?.in),s=a.getDay(),l=(s{let r;const a=bSe[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function tu(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const jSe={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},SSe={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},_Se={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},NSe={date:tu({formats:jSe,defaultWidth:"full"}),time:tu({formats:SSe,defaultWidth:"full"}),dateTime:tu({formats:_Se,defaultWidth:"full"})},CSe={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},OSe=(e,t,n,r)=>CSe[e];function ci(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let a;if(r==="formatting"&&e.formattingValues){const l=e.defaultFormattingWidth||e.defaultWidth,u=n?.width?String(n.width):l;a=e.formattingValues[u]||e.formattingValues[l]}else{const l=e.defaultWidth,u=n?.width?String(n.width):e.defaultWidth;a=e.values[u]||e.values[l]}const s=e.argumentCallback?e.argumentCallback(t):t;return a[s]}}const ESe={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},ASe={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},TSe={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},kSe={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},MSe={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},PSe={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},RSe=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},DSe={ordinalNumber:RSe,era:ci({values:ESe,defaultWidth:"wide"}),quarter:ci({values:ASe,defaultWidth:"wide",argumentCallback:e=>e-1}),month:ci({values:TSe,defaultWidth:"wide"}),day:ci({values:kSe,defaultWidth:"wide"}),dayPeriod:ci({values:MSe,defaultWidth:"wide",formattingValues:PSe,defaultFormattingWidth:"wide"})};function ui(e){return(t,n={})=>{const r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],s=t.match(a);if(!s)return null;const l=s[0],u=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],d=Array.isArray(u)?ISe(u,p=>p.test(l)):$Se(u,p=>p.test(l));let f;f=e.valueCallback?e.valueCallback(d):d,f=n.valueCallback?n.valueCallback(f):f;const m=t.slice(l.length);return{value:f,rest:m}}}function $Se(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function ISe(e,t){for(let n=0;n{const r=t.match(e.matchPattern);if(!r)return null;const a=r[0],s=t.match(e.parsePattern);if(!s)return null;let l=e.valueCallback?e.valueCallback(s[0]):s[0];l=n.valueCallback?n.valueCallback(l):l;const u=t.slice(a.length);return{value:l,rest:u}}}const LSe=/^(\d+)(th|st|nd|rd)?/i,zSe=/\d+/i,BSe={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},qSe={any:[/^b/i,/^(a|c)/i]},FSe={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},USe={any:[/1/i,/2/i,/3/i,/4/i]},HSe={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},WSe={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},VSe={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},GSe={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},YSe={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},KSe={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},XSe={ordinalNumber:qH({matchPattern:LSe,parsePattern:zSe,valueCallback:e=>parseInt(e,10)}),era:ui({matchPatterns:BSe,defaultMatchWidth:"wide",parsePatterns:qSe,defaultParseWidth:"any"}),quarter:ui({matchPatterns:FSe,defaultMatchWidth:"wide",parsePatterns:USe,defaultParseWidth:"any",valueCallback:e=>e+1}),month:ui({matchPatterns:HSe,defaultMatchWidth:"wide",parsePatterns:WSe,defaultParseWidth:"any"}),day:ui({matchPatterns:VSe,defaultMatchWidth:"wide",parsePatterns:GSe,defaultParseWidth:"any"}),dayPeriod:ui({matchPatterns:YSe,defaultMatchWidth:"any",parsePatterns:KSe,defaultParseWidth:"any"})},IE={code:"en-US",formatDistance:wSe,formatLong:NSe,formatRelative:OSe,localize:DSe,match:XSe,options:{weekStartsOn:0,firstWeekContainsDate:1}};function ZSe(e,t){const n=Wt(e,t?.in);return $H(n,zH(n))+1}function FH(e,t){const n=Wt(e,t?.in),r=+_h(n)-+sSe(n);return Math.round(r/MH)+1}function UH(e,t){const n=Wt(e,t?.in),r=n.getFullYear(),a=im(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,l=Mn(t?.in||e,0);l.setFullYear(r+1,0,s),l.setHours(0,0,0,0);const u=uo(l,t),d=Mn(t?.in||e,0);d.setFullYear(r,0,s),d.setHours(0,0,0,0);const f=uo(d,t);return+n>=+u?r+1:+n>=+f?r:r-1}function QSe(e,t){const n=im(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,a=UH(e,t),s=Mn(t?.in||e,0);return s.setFullYear(a,0,r),s.setHours(0,0,0,0),uo(s,t)}function HH(e,t){const n=Wt(e,t?.in),r=+uo(n,t)-+QSe(n,t);return Math.round(r/MH)+1}function It(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const Vs={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return It(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):It(n+1,2)},d(e,t){return It(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return It(e.getHours()%12||12,t.length)},H(e,t){return It(e.getHours(),t.length)},m(e,t){return It(e.getMinutes(),t.length)},s(e,t){return It(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),a=Math.trunc(r*Math.pow(10,n-3));return It(a,t.length)}},Rc={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},FL={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),a=r>0?r:1-r;return n.ordinalNumber(a,{unit:"year"})}return Vs.y(e,t)},Y:function(e,t,n,r){const a=UH(e,r),s=a>0?a:1-a;if(t==="YY"){const l=s%100;return It(l,2)}return t==="Yo"?n.ordinalNumber(s,{unit:"year"}):It(s,t.length)},R:function(e,t){const n=DH(e);return It(n,t.length)},u:function(e,t){const n=e.getFullYear();return It(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return It(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return It(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return Vs.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return It(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const a=HH(e,r);return t==="wo"?n.ordinalNumber(a,{unit:"week"}):It(a,t.length)},I:function(e,t,n){const r=FH(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):It(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):Vs.d(e,t)},D:function(e,t,n){const r=ZSe(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):It(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const a=e.getDay(),s=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return It(s,2);case"eo":return n.ordinalNumber(s,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});case"eeee":default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const a=e.getDay(),s=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return It(s,t.length);case"co":return n.ordinalNumber(s,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});case"cccc":default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),a=r===0?7:r;switch(t){case"i":return String(a);case"ii":return It(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let a;switch(r===12?a=Rc.noon:r===0?a=Rc.midnight:a=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let a;switch(r>=17?a=Rc.evening:r>=12?a=Rc.afternoon:r>=4?a=Rc.morning:a=Rc.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return Vs.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):Vs.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):It(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):It(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):Vs.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):Vs.s(e,t)},S:function(e,t){return Vs.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return HL(r);case"XXXX":case"XX":return Yo(r);case"XXXXX":case"XXX":default:return Yo(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return HL(r);case"xxxx":case"xx":return Yo(r);case"xxxxx":case"xxx":default:return Yo(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+UL(r,":");case"OOOO":default:return"GMT"+Yo(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+UL(r,":");case"zzzz":default:return"GMT"+Yo(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return It(r,t.length)},T:function(e,t,n){return It(+e,t.length)}};function UL(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=Math.trunc(r/60),s=r%60;return s===0?n+String(a):n+String(a)+t+It(s,2)}function HL(e,t){return e%60===0?(e>0?"-":"+")+It(Math.abs(e)/60,2):Yo(e,t)}function Yo(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=It(Math.trunc(r/60),2),s=It(r%60,2);return n+a+t+s}const WL=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},WH=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},JSe=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],a=n[2];if(!a)return WL(e,t);let s;switch(r){case"P":s=t.dateTime({width:"short"});break;case"PP":s=t.dateTime({width:"medium"});break;case"PPP":s=t.dateTime({width:"long"});break;case"PPPP":default:s=t.dateTime({width:"full"});break}return s.replace("{{date}}",WL(r,t)).replace("{{time}}",WH(a,t))},e_e={p:WH,P:JSe},t_e=/^D+$/,n_e=/^Y+$/,r_e=["D","DD","YY","YYYY"];function a_e(e){return t_e.test(e)}function i_e(e){return n_e.test(e)}function s_e(e,t,n){const r=o_e(e,t,n);if(console.warn(r),r_e.includes(e))throw new RangeError(r)}function o_e(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const l_e=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,c_e=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,u_e=/^'([^]*?)'?$/,d_e=/''/g,f_e=/[a-zA-Z]/;function gv(e,t,n){const r=im(),a=n?.locale??r.locale??IE,s=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,l=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,u=Wt(e,n?.in);if(!fSe(u))throw new RangeError("Invalid time value");let d=t.match(c_e).map(m=>{const p=m[0];if(p==="p"||p==="P"){const g=e_e[p];return g(m,a.formatLong)}return m}).join("").match(l_e).map(m=>{if(m==="''")return{isToken:!1,value:"'"};const p=m[0];if(p==="'")return{isToken:!1,value:h_e(m)};if(FL[p])return{isToken:!0,value:m};if(p.match(f_e))throw new RangeError("Format string contains an unescaped latin alphabet character `"+p+"`");return{isToken:!1,value:m}});a.localize.preprocessor&&(d=a.localize.preprocessor(u,d));const f={firstWeekContainsDate:s,weekStartsOn:l,locale:a};return d.map(m=>{if(!m.isToken)return m.value;const p=m.value;(!n?.useAdditionalWeekYearTokens&&i_e(p)||!n?.useAdditionalDayOfYearTokens&&a_e(p))&&s_e(p,t,String(e));const g=FL[p[0]];return g(u,p,a.localize,f)}).join("")}function h_e(e){const t=e.match(u_e);return t?t[1].replace(d_e,"'"):e}function m_e(e,t){const n=Wt(e,t?.in),r=n.getFullYear(),a=n.getMonth(),s=Mn(n,0);return s.setFullYear(r,a+1,0),s.setHours(0,0,0,0),s.getDate()}function p_e(e,t){return Wt(e,t?.in).getMonth()}function v_e(e,t){return Wt(e,t?.in).getFullYear()}function g_e(e,t){return+Wt(e)>+Wt(t)}function y_e(e,t){return+Wt(e)<+Wt(t)}function x_e(e,t,n){const[r,a]=Il(n?.in,e,t);return+uo(r,n)==+uo(a,n)}function b_e(e,t,n){const[r,a]=Il(n?.in,e,t);return r.getFullYear()===a.getFullYear()&&r.getMonth()===a.getMonth()}function w_e(e,t,n){const[r,a]=Il(n?.in,e,t);return r.getFullYear()===a.getFullYear()}function j_e(e,t,n){const r=Wt(e,n?.in),a=r.getFullYear(),s=r.getDate(),l=Mn(e,0);l.setFullYear(a,t,15),l.setHours(0,0,0,0);const u=m_e(l);return r.setMonth(t,Math.min(s,u)),r}function S_e(e,t,n){const r=Wt(e,n?.in);return isNaN(+r)?Mn(e,NaN):(r.setFullYear(t),r)}const VL=5,__e=4;function N_e(e,t){const n=t.startOfMonth(e),r=n.getDay()>0?n.getDay():7,a=t.addDays(e,-r+1),s=t.addDays(a,VL*7-1);return t.getMonth(e)===t.getMonth(s)?VL:__e}function VH(e,t){const n=t.startOfMonth(e),r=n.getDay();return r===1?n:r===0?t.addDays(n,-6):t.addDays(n,-1*(r-1))}function C_e(e,t){const n=VH(e,t),r=N_e(e,t);return t.addDays(n,r*7-1)}class ca{constructor(t,n){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?dr.tz(this.options.timeZone):new this.Date,this.newDate=(r,a,s)=>this.overrides?.newDate?this.overrides.newDate(r,a,s):this.options.timeZone?new dr(r,a,s,this.options.timeZone):new Date(r,a,s),this.addDays=(r,a)=>this.overrides?.addDays?this.overrides.addDays(r,a):PH(r,a),this.addMonths=(r,a)=>this.overrides?.addMonths?this.overrides.addMonths(r,a):RH(r,a),this.addWeeks=(r,a)=>this.overrides?.addWeeks?this.overrides.addWeeks(r,a):oSe(r,a),this.addYears=(r,a)=>this.overrides?.addYears?this.overrides.addYears(r,a):lSe(r,a),this.differenceInCalendarDays=(r,a)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(r,a):$H(r,a),this.differenceInCalendarMonths=(r,a)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(r,a):hSe(r,a),this.eachMonthOfInterval=r=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(r):pSe(r),this.eachYearOfInterval=r=>{const a=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(r):ySe(r),s=new Set(a.map(u=>this.getYear(u)));if(s.size===a.length)return a;const l=[];return s.forEach(u=>{l.push(new Date(u,0,1))}),l},this.endOfBroadcastWeek=r=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(r):C_e(r,this),this.endOfISOWeek=r=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(r):xSe(r),this.endOfMonth=r=>this.overrides?.endOfMonth?this.overrides.endOfMonth(r):mSe(r),this.endOfWeek=(r,a)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(r,a):BH(r,this.options),this.endOfYear=r=>this.overrides?.endOfYear?this.overrides.endOfYear(r):gSe(r),this.format=(r,a,s)=>{const l=this.overrides?.format?this.overrides.format(r,a,this.options):gv(r,a,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(l):l},this.getISOWeek=r=>this.overrides?.getISOWeek?this.overrides.getISOWeek(r):FH(r),this.getMonth=(r,a)=>this.overrides?.getMonth?this.overrides.getMonth(r,this.options):p_e(r,this.options),this.getYear=(r,a)=>this.overrides?.getYear?this.overrides.getYear(r,this.options):v_e(r,this.options),this.getWeek=(r,a)=>this.overrides?.getWeek?this.overrides.getWeek(r,this.options):HH(r,this.options),this.isAfter=(r,a)=>this.overrides?.isAfter?this.overrides.isAfter(r,a):g_e(r,a),this.isBefore=(r,a)=>this.overrides?.isBefore?this.overrides.isBefore(r,a):y_e(r,a),this.isDate=r=>this.overrides?.isDate?this.overrides.isDate(r):IH(r),this.isSameDay=(r,a)=>this.overrides?.isSameDay?this.overrides.isSameDay(r,a):dSe(r,a),this.isSameMonth=(r,a)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(r,a):b_e(r,a),this.isSameYear=(r,a)=>this.overrides?.isSameYear?this.overrides.isSameYear(r,a):w_e(r,a),this.max=r=>this.overrides?.max?this.overrides.max(r):cSe(r),this.min=r=>this.overrides?.min?this.overrides.min(r):uSe(r),this.setMonth=(r,a)=>this.overrides?.setMonth?this.overrides.setMonth(r,a):j_e(r,a),this.setYear=(r,a)=>this.overrides?.setYear?this.overrides.setYear(r,a):S_e(r,a),this.startOfBroadcastWeek=(r,a)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(r,this):VH(r,this),this.startOfDay=r=>this.overrides?.startOfDay?this.overrides.startOfDay(r):Nh(r),this.startOfISOWeek=r=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(r):_h(r),this.startOfMonth=r=>this.overrides?.startOfMonth?this.overrides.startOfMonth(r):vSe(r),this.startOfWeek=(r,a)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(r,this.options):uo(r,this.options),this.startOfYear=r=>this.overrides?.startOfYear?this.overrides.startOfYear(r):zH(r),this.options={locale:IE,...t},this.overrides=n}getDigitMap(){const{numerals:t="latn"}=this.options,n=new Intl.NumberFormat("en-US",{numberingSystem:t}),r={};for(let a=0;a<10;a++)r[a.toString()]=n.format(a);return r}replaceDigits(t){const n=this.getDigitMap();return t.replace(/\d/g,r=>n[r]||r)}formatNumber(t){return this.replaceDigits(t.toString())}getMonthYearOrder(){const t=this.options.locale?.code;return t&&ca.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:n,timeZone:r,numerals:a}=this.options,s=n?.code;if(s&&ca.yearFirstLocales.has(s))try{return new Intl.DateTimeFormat(s,{month:"long",year:"numeric",timeZone:r,numberingSystem:a}).format(t)}catch{}const l=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,l)}}ca.yearFirstLocales=new Set(["eu","hu","ja","ja-Hira","ja-JP","ko","ko-KR","lt","lt-LT","lv","lv-LV","mn","mn-MN","zh","zh-CN","zh-HK","zh-TW"]);const Ei=new ca;class GH{constructor(t,n,r=Ei){this.date=t,this.displayMonth=n,this.outside=!!(n&&!r.isSameMonth(t,n)),this.dateLib=r}isEqualTo(t){return this.dateLib.isSameDay(t.date,this.date)&&this.dateLib.isSameMonth(t.displayMonth,this.displayMonth)}}class O_e{constructor(t,n){this.date=t,this.weeks=n}}class E_e{constructor(t,n){this.days=n,this.weekNumber=t}}function A_e(e){return W.createElement("button",{...e})}function T_e(e){return W.createElement("span",{...e})}function k_e(e){const{size:t=24,orientation:n="left",className:r}=e;return W.createElement("svg",{className:r,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&W.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&W.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&W.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&W.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function M_e(e){const{day:t,modifiers:n,...r}=e;return W.createElement("td",{...r})}function P_e(e){const{day:t,modifiers:n,...r}=e,a=W.useRef(null);return W.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),W.createElement("button",{ref:a,...r})}var Le;(function(e){e.Root="root",e.Chevron="chevron",e.Day="day",e.DayButton="day_button",e.CaptionLabel="caption_label",e.Dropdowns="dropdowns",e.Dropdown="dropdown",e.DropdownRoot="dropdown_root",e.Footer="footer",e.MonthGrid="month_grid",e.MonthCaption="month_caption",e.MonthsDropdown="months_dropdown",e.Month="month",e.Months="months",e.Nav="nav",e.NextMonthButton="button_next",e.PreviousMonthButton="button_previous",e.Week="week",e.Weeks="weeks",e.Weekday="weekday",e.Weekdays="weekdays",e.WeekNumber="week_number",e.WeekNumberHeader="week_number_header",e.YearsDropdown="years_dropdown"})(Le||(Le={}));var gn;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(gn||(gn={}));var Wa;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(Wa||(Wa={}));var ta;(function(e){e.weeks_before_enter="weeks_before_enter",e.weeks_before_exit="weeks_before_exit",e.weeks_after_enter="weeks_after_enter",e.weeks_after_exit="weeks_after_exit",e.caption_after_enter="caption_after_enter",e.caption_after_exit="caption_after_exit",e.caption_before_enter="caption_before_enter",e.caption_before_exit="caption_before_exit"})(ta||(ta={}));function R_e(e){const{options:t,className:n,components:r,classNames:a,...s}=e,l=[a[Le.Dropdown],n].join(" "),u=t?.find(({value:d})=>d===s.value);return W.createElement("span",{"data-disabled":s.disabled,className:a[Le.DropdownRoot]},W.createElement(r.Select,{className:l,...s},t?.map(({value:d,label:f,disabled:m})=>W.createElement(r.Option,{key:d,value:d,disabled:m},f))),W.createElement("span",{className:a[Le.CaptionLabel],"aria-hidden":!0},u?.label,W.createElement(r.Chevron,{orientation:"down",size:18,className:a[Le.Chevron]})))}function D_e(e){return W.createElement("div",{...e})}function $_e(e){return W.createElement("div",{...e})}function I_e(e){const{calendarMonth:t,displayIndex:n,...r}=e;return W.createElement("div",{...r},e.children)}function L_e(e){const{calendarMonth:t,displayIndex:n,...r}=e;return W.createElement("div",{...r})}function z_e(e){return W.createElement("table",{...e})}function B_e(e){return W.createElement("div",{...e})}const YH=y.createContext(void 0);function sm(){const e=y.useContext(YH);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function q_e(e){const{components:t}=sm();return W.createElement(t.Dropdown,{...e})}function F_e(e){const{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:a,...s}=e,{components:l,classNames:u,labels:{labelPrevious:d,labelNext:f}}=sm(),m=y.useCallback(g=>{a&&n?.(g)},[a,n]),p=y.useCallback(g=>{r&&t?.(g)},[r,t]);return W.createElement("nav",{...s},W.createElement(l.PreviousMonthButton,{type:"button",className:u[Le.PreviousMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":d(r),onClick:p},W.createElement(l.Chevron,{disabled:r?void 0:!0,className:u[Le.Chevron],orientation:"left"})),W.createElement(l.NextMonthButton,{type:"button",className:u[Le.NextMonthButton],tabIndex:a?void 0:-1,"aria-disabled":a?void 0:!0,"aria-label":f(a),onClick:m},W.createElement(l.Chevron,{disabled:a?void 0:!0,orientation:"right",className:u[Le.Chevron]})))}function U_e(e){const{components:t}=sm();return W.createElement(t.Button,{...e})}function H_e(e){return W.createElement("option",{...e})}function W_e(e){const{components:t}=sm();return W.createElement(t.Button,{...e})}function V_e(e){const{rootRef:t,...n}=e;return W.createElement("div",{...n,ref:t})}function G_e(e){return W.createElement("select",{...e})}function Y_e(e){const{week:t,...n}=e;return W.createElement("tr",{...n})}function K_e(e){return W.createElement("th",{...e})}function X_e(e){return W.createElement("thead",{"aria-hidden":!0},W.createElement("tr",{...e}))}function Z_e(e){const{week:t,...n}=e;return W.createElement("th",{...n})}function Q_e(e){return W.createElement("th",{...e})}function J_e(e){return W.createElement("tbody",{...e})}function eNe(e){const{components:t}=sm();return W.createElement(t.Dropdown,{...e})}const tNe=Object.freeze(Object.defineProperty({__proto__:null,Button:A_e,CaptionLabel:T_e,Chevron:k_e,Day:M_e,DayButton:P_e,Dropdown:R_e,DropdownNav:D_e,Footer:$_e,Month:I_e,MonthCaption:L_e,MonthGrid:z_e,Months:B_e,MonthsDropdown:q_e,Nav:F_e,NextMonthButton:U_e,Option:H_e,PreviousMonthButton:W_e,Root:V_e,Select:G_e,Week:Y_e,WeekNumber:Z_e,WeekNumberHeader:Q_e,Weekday:K_e,Weekdays:X_e,Weeks:J_e,YearsDropdown:eNe},Symbol.toStringTag,{value:"Module"}));function ts(e,t,n=!1,r=Ei){let{from:a,to:s}=e;const{differenceInCalendarDays:l,isSameDay:u}=r;return a&&s?(l(s,a)<0&&([a,s]=[s,a]),l(t,a)>=(n?1:0)&&l(s,t)>=(n?1:0)):!n&&s?u(s,t):!n&&a?u(a,t):!1}function KH(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function LE(e){return!!(e&&typeof e=="object"&&"from"in e)}function XH(e){return!!(e&&typeof e=="object"&&"after"in e)}function ZH(e){return!!(e&&typeof e=="object"&&"before"in e)}function QH(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function JH(e,t){return Array.isArray(e)&&e.every(t.isDate)}function ns(e,t,n=Ei){const r=Array.isArray(t)?t:[t],{isSameDay:a,differenceInCalendarDays:s,isAfter:l}=n;return r.some(u=>{if(typeof u=="boolean")return u;if(n.isDate(u))return a(e,u);if(JH(u,n))return u.includes(e);if(LE(u))return ts(u,e,!1,n);if(QH(u))return Array.isArray(u.dayOfWeek)?u.dayOfWeek.includes(e.getDay()):u.dayOfWeek===e.getDay();if(KH(u)){const d=s(u.before,e),f=s(u.after,e),m=d>0,p=f<0;return l(u.before,u.after)?p&&m:m||p}return XH(u)?s(e,u.after)>0:ZH(u)?s(u.before,e)>0:typeof u=="function"?u(e):!1})}function nNe(e,t,n,r,a){const{disabled:s,hidden:l,modifiers:u,showOutsideDays:d,broadcastCalendar:f,today:m}=t,{isSameDay:p,isSameMonth:g,startOfMonth:x,isBefore:j,endOfMonth:w,isAfter:b}=a,N=n&&x(n),E=r&&w(r),O={[gn.focused]:[],[gn.outside]:[],[gn.disabled]:[],[gn.hidden]:[],[gn.today]:[]},A={};for(const C of e){const{date:k,displayMonth:T}=C,M=!!(T&&!g(k,T)),R=!!(N&&j(k,N)),L=!!(E&&b(k,E)),D=!!(s&&ns(k,s,a)),U=!!(l&&ns(k,l,a))||R||L||!f&&!d&&M||f&&d===!1&&M,V=p(k,m??a.today());M&&O.outside.push(C),D&&O.disabled.push(C),U&&O.hidden.push(C),V&&O.today.push(C),u&&Object.keys(u).forEach(H=>{const G=u?.[H];G&&ns(k,G,a)&&(A[H]?A[H].push(C):A[H]=[C])})}return C=>{const k={[gn.focused]:!1,[gn.disabled]:!1,[gn.hidden]:!1,[gn.outside]:!1,[gn.today]:!1},T={};for(const M in O){const R=O[M];k[M]=R.some(L=>L===C)}for(const M in A)T[M]=A[M].some(R=>R===C);return{...k,...T}}}function rNe(e,t,n={}){return Object.entries(e).filter(([,a])=>a===!0).reduce((a,[s])=>(n[s]?a.push(n[s]):t[gn[s]]?a.push(t[gn[s]]):t[Wa[s]]&&a.push(t[Wa[s]]),a),[t[Le.Day]])}function aNe(e){return{...tNe,...e}}function iNe(e){const t={"data-mode":e.mode??void 0,"data-required":"required"in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0,"data-broadcast-calendar":e.broadcastCalendar||void 0,"data-nav-layout":e.navLayout||void 0};return Object.entries(e).forEach(([n,r])=>{n.startsWith("data-")&&(t[n]=r)}),t}function zE(){const e={};for(const t in Le)e[Le[t]]=`rdp-${Le[t]}`;for(const t in gn)e[gn[t]]=`rdp-${gn[t]}`;for(const t in Wa)e[Wa[t]]=`rdp-${Wa[t]}`;for(const t in ta)e[ta[t]]=`rdp-${ta[t]}`;return e}function e9(e,t,n){return(n??new ca(t)).formatMonthYear(e)}const sNe=e9;function oNe(e,t,n){return(n??new ca(t)).format(e,"d")}function lNe(e,t=Ei){return t.format(e,"LLLL")}function cNe(e,t,n){return(n??new ca(t)).format(e,"cccccc")}function uNe(e,t=Ei){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function dNe(){return""}function t9(e,t=Ei){return t.format(e,"yyyy")}const fNe=t9,hNe=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:e9,formatDay:oNe,formatMonthCaption:sNe,formatMonthDropdown:lNe,formatWeekNumber:uNe,formatWeekNumberHeader:dNe,formatWeekdayName:cNe,formatYearCaption:fNe,formatYearDropdown:t9},Symbol.toStringTag,{value:"Module"}));function mNe(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...hNe,...e}}function pNe(e,t,n,r,a){const{startOfMonth:s,startOfYear:l,endOfYear:u,eachMonthOfInterval:d,getMonth:f}=a;return d({start:l(e),end:u(e)}).map(g=>{const x=r.formatMonthDropdown(g,a),j=f(g),w=t&&gs(n)||!1;return{value:j,label:x,disabled:w}})}function vNe(e,t={},n={}){let r={...t?.[Le.Day]};return Object.entries(e).filter(([,a])=>a===!0).forEach(([a])=>{r={...r,...n?.[a]}}),r}function gNe(e,t,n){const r=e.today(),a=t?e.startOfISOWeek(r):e.startOfWeek(r),s=[];for(let l=0;l<7;l++){const u=e.addDays(a,l);s.push(u)}return s}function yNe(e,t,n,r,a=!1){if(!e||!t)return;const{startOfYear:s,endOfYear:l,eachYearOfInterval:u,getYear:d}=r,f=s(e),m=l(t),p=u({start:f,end:m});return a&&p.reverse(),p.map(g=>{const x=n.formatYearDropdown(g,r);return{value:d(g),label:x,disabled:!1}})}function n9(e,t,n,r){let a=(r??new ca(n)).format(e,"PPPP");return t.today&&(a=`Today, ${a}`),t.selected&&(a=`${a}, selected`),a}const xNe=n9;function r9(e,t,n){return(n??new ca(t)).formatMonthYear(e)}const bNe=r9;function wNe(e,t,n,r){let a=(r??new ca(n)).format(e,"PPPP");return t?.today&&(a=`Today, ${a}`),a}function jNe(e){return"Choose the Month"}function SNe(){return""}function _Ne(e){return"Go to the Next Month"}function NNe(e){return"Go to the Previous Month"}function CNe(e,t,n){return(n??new ca(t)).format(e,"cccc")}function ONe(e,t){return`Week ${e}`}function ENe(e){return"Week Number"}function ANe(e){return"Choose the Year"}const TNe=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:bNe,labelDay:xNe,labelDayButton:n9,labelGrid:r9,labelGridcell:wNe,labelMonthDropdown:jNe,labelNav:SNe,labelNext:_Ne,labelPrevious:NNe,labelWeekNumber:ONe,labelWeekNumberHeader:ENe,labelWeekday:CNe,labelYearDropdown:ANe},Symbol.toStringTag,{value:"Module"})),om=e=>e instanceof HTMLElement?e:null,p_=e=>[...e.querySelectorAll("[data-animated-month]")??[]],kNe=e=>om(e.querySelector("[data-animated-month]")),v_=e=>om(e.querySelector("[data-animated-caption]")),g_=e=>om(e.querySelector("[data-animated-weeks]")),MNe=e=>om(e.querySelector("[data-animated-nav]")),PNe=e=>om(e.querySelector("[data-animated-weekdays]"));function RNe(e,t,{classNames:n,months:r,focused:a,dateLib:s}){const l=y.useRef(null),u=y.useRef(r),d=y.useRef(!1);y.useLayoutEffect(()=>{const f=u.current;if(u.current=r,!t||!e.current||!(e.current instanceof HTMLElement)||r.length===0||f.length===0||r.length!==f.length)return;const m=s.isSameMonth(r[0].date,f[0].date),p=s.isAfter(r[0].date,f[0].date),g=p?n[ta.caption_after_enter]:n[ta.caption_before_enter],x=p?n[ta.weeks_after_enter]:n[ta.weeks_before_enter],j=l.current,w=e.current.cloneNode(!0);if(w instanceof HTMLElement?(p_(w).forEach(O=>{if(!(O instanceof HTMLElement))return;const A=kNe(O);A&&O.contains(A)&&O.removeChild(A);const C=v_(O);C&&C.classList.remove(g);const k=g_(O);k&&k.classList.remove(x)}),l.current=w):l.current=null,d.current||m||a)return;const b=j instanceof HTMLElement?p_(j):[],N=p_(e.current);if(N?.every(E=>E instanceof HTMLElement)&&b&&b.every(E=>E instanceof HTMLElement)){d.current=!0,e.current.style.isolation="isolate";const E=MNe(e.current);E&&(E.style.zIndex="1"),N.forEach((O,A)=>{const C=b[A];if(!C)return;O.style.position="relative",O.style.overflow="hidden";const k=v_(O);k&&k.classList.add(g);const T=g_(O);T&&T.classList.add(x);const M=()=>{d.current=!1,e.current&&(e.current.style.isolation=""),E&&(E.style.zIndex=""),k&&k.classList.remove(g),T&&T.classList.remove(x),O.style.position="",O.style.overflow="",O.contains(C)&&O.removeChild(C)};C.style.pointerEvents="none",C.style.position="absolute",C.style.overflow="hidden",C.setAttribute("aria-hidden","true");const R=PNe(C);R&&(R.style.opacity="0");const L=v_(C);L&&(L.classList.add(p?n[ta.caption_before_exit]:n[ta.caption_after_exit]),L.addEventListener("animationend",M));const D=g_(C);D&&D.classList.add(p?n[ta.weeks_before_exit]:n[ta.weeks_after_exit]),O.insertBefore(C,O.firstChild)})}})}function DNe(e,t,n,r){const a=e[0],s=e[e.length-1],{ISOWeek:l,fixedWeeks:u,broadcastCalendar:d}=n??{},{addDays:f,differenceInCalendarDays:m,differenceInCalendarMonths:p,endOfBroadcastWeek:g,endOfISOWeek:x,endOfMonth:j,endOfWeek:w,isAfter:b,startOfBroadcastWeek:N,startOfISOWeek:E,startOfWeek:O}=r,A=d?N(a,r):l?E(a):O(a),C=d?g(s):l?x(j(s)):w(j(s)),k=m(C,A),T=p(s,a)+1,M=[];for(let D=0;D<=k;D++){const U=f(A,D);if(t&&b(U,t))break;M.push(U)}const L=(d?35:42)*T;if(u&&M.length{const a=r.weeks.reduce((s,l)=>s.concat(l.days.slice()),t.slice());return n.concat(a.slice())},t.slice())}function INe(e,t,n,r){const{numberOfMonths:a=1}=n,s=[];for(let l=0;lt)break;s.push(u)}return s}function GL(e,t,n,r){const{month:a,defaultMonth:s,today:l=r.today(),numberOfMonths:u=1}=e;let d=a||s||l;const{differenceInCalendarMonths:f,addMonths:m,startOfMonth:p}=r;if(n&&f(n,d){const N=n.broadcastCalendar?p(b,r):n.ISOWeek?g(b):x(b),E=n.broadcastCalendar?s(b):n.ISOWeek?l(u(b)):d(u(b)),O=t.filter(T=>T>=N&&T<=E),A=n.broadcastCalendar?35:42;if(n.fixedWeeks&&O.length{const R=A-O.length;return M>E&&M<=a(E,R)});O.push(...T)}const C=O.reduce((T,M)=>{const R=n.ISOWeek?f(M):m(M),L=T.find(U=>U.weekNumber===R),D=new GH(M,b,r);return L?L.days.push(D):T.push(new E_e(R,[D])),T},[]),k=new O_e(b,C);return w.push(k),w},[]);return n.reverseMonths?j.reverse():j}function zNe(e,t){let{startMonth:n,endMonth:r}=e;const{startOfYear:a,startOfDay:s,startOfMonth:l,endOfMonth:u,addYears:d,endOfYear:f,newDate:m,today:p}=t,{fromYear:g,toYear:x,fromMonth:j,toMonth:w}=e;!n&&j&&(n=j),!n&&g&&(n=t.newDate(g,0,1)),!r&&w&&(r=w),!r&&x&&(r=m(x,11,31));const b=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return n?n=l(n):g?n=m(g,0,1):!n&&b&&(n=a(d(e.today??p(),-100))),r?r=u(r):x?r=m(x,11,31):!r&&b&&(r=f(e.today??p())),[n&&s(n),r&&s(r)]}function BNe(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:a,numberOfMonths:s=1}=n,{startOfMonth:l,addMonths:u,differenceInCalendarMonths:d}=r,f=a?s:1,m=l(e);if(!t)return u(m,f);if(!(d(t,e)n.concat(r.weeks.slice()),t.slice())}function cx(e,t){const[n,r]=y.useState(e);return[t===void 0?n:t,r]}function UNe(e,t){const[n,r]=zNe(e,t),{startOfMonth:a,endOfMonth:s}=t,l=GL(e,n,r,t),[u,d]=cx(l,e.month?l:void 0);y.useEffect(()=>{const k=GL(e,n,r,t);d(k)},[e.timeZone]);const f=INe(u,r,e,t),m=DNe(f,e.endMonth?s(e.endMonth):void 0,e,t),p=LNe(f,m,e,t),g=FNe(p),x=$Ne(p),j=qNe(u,n,e,t),w=BNe(u,r,e,t),{disableNavigation:b,onMonthChange:N}=e,E=k=>g.some(T=>T.days.some(M=>M.isEqualTo(k))),O=k=>{if(b)return;let T=a(k);n&&Ta(r)&&(T=a(r)),d(T),N?.(T)};return{months:p,weeks:g,days:x,navStart:n,navEnd:r,previousMonth:j,nextMonth:w,goToMonth:O,goToDay:k=>{E(k)||O(k.date)}}}var si;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(si||(si={}));function YL(e){return!e[gn.disabled]&&!e[gn.hidden]&&!e[gn.outside]}function HNe(e,t,n,r){let a,s=-1;for(const l of e){const u=t(l);YL(u)&&(u[gn.focused]&&sYL(t(l)))),a}function WNe(e,t,n,r,a,s,l){const{ISOWeek:u,broadcastCalendar:d}=s,{addDays:f,addMonths:m,addWeeks:p,addYears:g,endOfBroadcastWeek:x,endOfISOWeek:j,endOfWeek:w,max:b,min:N,startOfBroadcastWeek:E,startOfISOWeek:O,startOfWeek:A}=l;let k={day:f,week:p,month:m,year:g,startOfWeek:T=>d?E(T,l):u?O(T):A(T),endOfWeek:T=>d?x(T):u?j(T):w(T)}[e](n,t==="after"?1:-1);return t==="before"&&r?k=b([r,k]):t==="after"&&a&&(k=N([a,k])),k}function a9(e,t,n,r,a,s,l,u=0){if(u>365)return;const d=WNe(e,t,n.date,r,a,s,l),f=!!(s.disabled&&ns(d,s.disabled,l)),m=!!(s.hidden&&ns(d,s.hidden,l)),p=d,g=new GH(d,p,l);return!f&&!m?g:a9(e,t,g,r,a,s,l,u+1)}function VNe(e,t,n,r,a){const{autoFocus:s}=e,[l,u]=y.useState(),d=HNe(t.days,n,r||(()=>!1),l),[f,m]=y.useState(s?d:void 0);return{isFocusTarget:w=>!!d?.isEqualTo(w),setFocused:m,focused:f,blur:()=>{u(f),m(void 0)},moveFocus:(w,b)=>{if(!f)return;const N=a9(w,b,f,t.navStart,t.navEnd,e,a);N&&(e.disableNavigation&&!t.days.some(O=>O.isEqualTo(N))||(t.goToDay(N),m(N)))}}}function GNe(e,t){const{selected:n,required:r,onSelect:a}=e,[s,l]=cx(n,a?n:void 0),u=a?n:s,{isSameDay:d}=t,f=x=>u?.some(j=>d(j,x))??!1,{min:m,max:p}=e;return{selected:u,select:(x,j,w)=>{let b=[...u??[]];if(f(x)){if(u?.length===m||r&&u?.length===1)return;b=u?.filter(N=>!d(N,x))}else u?.length===p?b=[x]:b=[...b,x];return a||l(b),a?.(b,x,j,w),b},isSelected:f}}function YNe(e,t,n=0,r=0,a=!1,s=Ei){const{from:l,to:u}=t||{},{isSameDay:d,isAfter:f,isBefore:m}=s;let p;if(!l&&!u)p={from:e,to:n>0?void 0:e};else if(l&&!u)d(l,e)?n===0?p={from:l,to:e}:a?p={from:l,to:void 0}:p=void 0:m(e,l)?p={from:e,to:l}:p={from:l,to:e};else if(l&&u)if(d(l,e)&&d(u,e))a?p={from:l,to:u}:p=void 0;else if(d(l,e))p={from:l,to:n>0?void 0:e};else if(d(u,e))p={from:e,to:n>0?void 0:e};else if(m(e,l))p={from:e,to:u};else if(f(e,l))p={from:l,to:e};else if(f(e,u))p={from:l,to:e};else throw new Error("Invalid range");if(p?.from&&p?.to){const g=s.differenceInCalendarDays(p.to,p.from);r>0&&g>r?p={from:e,to:void 0}:n>1&&gtypeof u!="function").some(u=>typeof u=="boolean"?u:n.isDate(u)?ts(e,u,!1,n):JH(u,n)?u.some(d=>ts(e,d,!1,n)):LE(u)?u.from&&u.to?KL(e,{from:u.from,to:u.to},n):!1:QH(u)?KNe(e,u.dayOfWeek,n):KH(u)?n.isAfter(u.before,u.after)?KL(e,{from:n.addDays(u.after,1),to:n.addDays(u.before,-1)},n):ns(e.from,u,n)||ns(e.to,u,n):XH(u)||ZH(u)?ns(e.from,u,n)||ns(e.to,u,n):!1))return!0;const l=r.filter(u=>typeof u=="function");if(l.length){let u=e.from;const d=n.differenceInCalendarDays(e.to,e.from);for(let f=0;f<=d;f++){if(l.some(m=>m(u)))return!0;u=n.addDays(u,1)}}return!1}function ZNe(e,t){const{disabled:n,excludeDisabled:r,selected:a,required:s,onSelect:l}=e,[u,d]=cx(a,l?a:void 0),f=l?a:u;return{selected:f,select:(g,x,j)=>{const{min:w,max:b}=e,N=g?YNe(g,f,w,b,s,t):void 0;return r&&n&&N?.from&&N.to&&XNe({from:N.from,to:N.to},n,t)&&(N.from=g,N.to=void 0),l||d(N),l?.(N,g,x,j),N},isSelected:g=>f&&ts(f,g,!1,t)}}function QNe(e,t){const{selected:n,required:r,onSelect:a}=e,[s,l]=cx(n,a?n:void 0),u=a?n:s,{isSameDay:d}=t;return{selected:u,select:(p,g,x)=>{let j=p;return!r&&u&&u&&d(p,u)&&(j=void 0),a||l(j),a?.(j,p,g,x),j},isSelected:p=>u?d(u,p):!1}}function JNe(e,t){const n=QNe(e,t),r=GNe(e,t),a=ZNe(e,t);switch(e.mode){case"single":return n;case"multiple":return r;case"range":return a;default:return}}function eCe(e){let t=e;t.timeZone&&(t={...e},t.today&&(t.today=new dr(t.today,t.timeZone)),t.month&&(t.month=new dr(t.month,t.timeZone)),t.defaultMonth&&(t.defaultMonth=new dr(t.defaultMonth,t.timeZone)),t.startMonth&&(t.startMonth=new dr(t.startMonth,t.timeZone)),t.endMonth&&(t.endMonth=new dr(t.endMonth,t.timeZone)),t.mode==="single"&&t.selected?t.selected=new dr(t.selected,t.timeZone):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(ot=>new dr(ot,t.timeZone)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?new dr(t.selected.from,t.timeZone):void 0,to:t.selected.to?new dr(t.selected.to,t.timeZone):void 0}));const{components:n,formatters:r,labels:a,dateLib:s,locale:l,classNames:u}=y.useMemo(()=>{const ot={...IE,...t.locale};return{dateLib:new ca({locale:ot,weekStartsOn:t.broadcastCalendar?1:t.weekStartsOn,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},t.dateLib),components:aNe(t.components),formatters:mNe(t.formatters),labels:{...TNe,...t.labels},locale:ot,classNames:{...zE(),...t.classNames}}},[t.locale,t.broadcastCalendar,t.weekStartsOn,t.firstWeekContainsDate,t.useAdditionalWeekYearTokens,t.useAdditionalDayOfYearTokens,t.timeZone,t.numerals,t.dateLib,t.components,t.formatters,t.labels,t.classNames]),{captionLayout:d,mode:f,navLayout:m,numberOfMonths:p=1,onDayBlur:g,onDayClick:x,onDayFocus:j,onDayKeyDown:w,onDayMouseEnter:b,onDayMouseLeave:N,onNextClick:E,onPrevClick:O,showWeekNumber:A,styles:C}=t,{formatCaption:k,formatDay:T,formatMonthDropdown:M,formatWeekNumber:R,formatWeekNumberHeader:L,formatWeekdayName:D,formatYearDropdown:U}=r,V=UNe(t,s),{days:H,months:G,navStart:$,navEnd:I,previousMonth:q,nextMonth:Z,goToMonth:ee}=V,F=nNe(H,t,$,I,s),{isSelected:z,select:K,selected:ie}=JNe(t,s)??{},{blur:Q,focused:he,isFocusTarget:ae,moveFocus:we,setFocused:Y}=VNe(t,V,F,z??(()=>!1),s),{labelDayButton:pe,labelGridcell:je,labelGrid:X,labelMonthDropdown:Ae,labelNav:Oe,labelPrevious:We,labelNext:Ve,labelWeekday:be,labelWeekNumber:_e,labelWeekNumberHeader:rt,labelYearDropdown:fn}=a,Tt=y.useMemo(()=>gNe(s,t.ISOWeek),[s,t.ISOWeek]),zt=f!==void 0||x!==void 0,at=y.useCallback(()=>{q&&(ee(q),O?.(q))},[q,ee,O]),re=y.useCallback(()=>{Z&&(ee(Z),E?.(Z))},[ee,Z,E]),Se=y.useCallback((ot,Kt)=>Ge=>{Ge.preventDefault(),Ge.stopPropagation(),Y(ot),K?.(ot.date,Kt,Ge),x?.(ot.date,Kt,Ge)},[K,x,Y]),ut=y.useCallback((ot,Kt)=>Ge=>{Y(ot),j?.(ot.date,Kt,Ge)},[j,Y]),Or=y.useCallback((ot,Kt)=>Ge=>{Q(),g?.(ot.date,Kt,Ge)},[Q,g]),bs=y.useCallback((ot,Kt)=>Ge=>{const Et={ArrowLeft:[Ge.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[Ge.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[Ge.shiftKey?"year":"week","after"],ArrowUp:[Ge.shiftKey?"year":"week","before"],PageUp:[Ge.shiftKey?"year":"month","before"],PageDown:[Ge.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(Et[Ge.key]){Ge.preventDefault(),Ge.stopPropagation();const[qn,lt]=Et[Ge.key];we(qn,lt)}w?.(ot.date,Kt,Ge)},[we,w,t.dir]),mx=y.useCallback((ot,Kt)=>Ge=>{b?.(ot.date,Kt,Ge)},[b]),mm=y.useCallback((ot,Kt)=>Ge=>{N?.(ot.date,Kt,Ge)},[N]),px=y.useCallback(ot=>Kt=>{const Ge=Number(Kt.target.value),Et=s.setMonth(s.startOfMonth(ot),Ge);ee(Et)},[s,ee]),vx=y.useCallback(ot=>Kt=>{const Ge=Number(Kt.target.value),Et=s.setYear(s.startOfMonth(ot),Ge);ee(Et)},[s,ee]),{className:jo,style:wr}=y.useMemo(()=>({className:[u[Le.Root],t.className].filter(Boolean).join(" "),style:{...C?.[Le.Root],...t.style}}),[u,t.className,t.style,C]),ei=iNe(t),lr=y.useRef(null);RNe(lr,!!t.animate,{classNames:u,months:G,focused:he,dateLib:s});const gx={dayPickerProps:t,selected:ie,select:K,isSelected:z,months:G,nextMonth:Z,previousMonth:q,goToMonth:ee,getModifiers:F,components:n,classNames:u,styles:C,labels:a,formatters:r};return W.createElement(YH.Provider,{value:gx},W.createElement(n.Root,{rootRef:t.animate?lr:void 0,className:jo,style:wr,dir:t.dir,id:t.id,lang:t.lang,nonce:t.nonce,title:t.title,role:t.role,"aria-label":t["aria-label"],"aria-labelledby":t["aria-labelledby"],...ei},W.createElement(n.Months,{className:u[Le.Months],style:C?.[Le.Months]},!t.hideNavigation&&!m&&W.createElement(n.Nav,{"data-animated-nav":t.animate?"true":void 0,className:u[Le.Nav],style:C?.[Le.Nav],"aria-label":Oe(),onPreviousClick:at,onNextClick:re,previousMonth:q,nextMonth:Z}),G.map((ot,Kt)=>W.createElement(n.Month,{"data-animated-month":t.animate?"true":void 0,className:u[Le.Month],style:C?.[Le.Month],key:Kt,displayIndex:Kt,calendarMonth:ot},m==="around"&&!t.hideNavigation&&Kt===0&&W.createElement(n.PreviousMonthButton,{type:"button",className:u[Le.PreviousMonthButton],tabIndex:q?void 0:-1,"aria-disabled":q?void 0:!0,"aria-label":We(q),onClick:at,"data-animated-button":t.animate?"true":void 0},W.createElement(n.Chevron,{disabled:q?void 0:!0,className:u[Le.Chevron],orientation:t.dir==="rtl"?"right":"left"})),W.createElement(n.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:u[Le.MonthCaption],style:C?.[Le.MonthCaption],calendarMonth:ot,displayIndex:Kt},d?.startsWith("dropdown")?W.createElement(n.DropdownNav,{className:u[Le.Dropdowns],style:C?.[Le.Dropdowns]},(()=>{const Ge=d==="dropdown"||d==="dropdown-months"?W.createElement(n.MonthsDropdown,{key:"month",className:u[Le.MonthsDropdown],"aria-label":Ae(),classNames:u,components:n,disabled:!!t.disableNavigation,onChange:px(ot.date),options:pNe(ot.date,$,I,r,s),style:C?.[Le.Dropdown],value:s.getMonth(ot.date)}):W.createElement("span",{key:"month"},M(ot.date,s)),Et=d==="dropdown"||d==="dropdown-years"?W.createElement(n.YearsDropdown,{key:"year",className:u[Le.YearsDropdown],"aria-label":fn(s.options),classNames:u,components:n,disabled:!!t.disableNavigation,onChange:vx(ot.date),options:yNe($,I,r,s,!!t.reverseYears),style:C?.[Le.Dropdown],value:s.getYear(ot.date)}):W.createElement("span",{key:"year"},U(ot.date,s));return s.getMonthYearOrder()==="year-first"?[Et,Ge]:[Ge,Et]})(),W.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},k(ot.date,s.options,s))):W.createElement(n.CaptionLabel,{className:u[Le.CaptionLabel],role:"status","aria-live":"polite"},k(ot.date,s.options,s))),m==="around"&&!t.hideNavigation&&Kt===p-1&&W.createElement(n.NextMonthButton,{type:"button",className:u[Le.NextMonthButton],tabIndex:Z?void 0:-1,"aria-disabled":Z?void 0:!0,"aria-label":Ve(Z),onClick:re,"data-animated-button":t.animate?"true":void 0},W.createElement(n.Chevron,{disabled:Z?void 0:!0,className:u[Le.Chevron],orientation:t.dir==="rtl"?"left":"right"})),Kt===p-1&&m==="after"&&!t.hideNavigation&&W.createElement(n.Nav,{"data-animated-nav":t.animate?"true":void 0,className:u[Le.Nav],style:C?.[Le.Nav],"aria-label":Oe(),onPreviousClick:at,onNextClick:re,previousMonth:q,nextMonth:Z}),W.createElement(n.MonthGrid,{role:"grid","aria-multiselectable":f==="multiple"||f==="range","aria-label":X(ot.date,s.options,s)||void 0,className:u[Le.MonthGrid],style:C?.[Le.MonthGrid]},!t.hideWeekdays&&W.createElement(n.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:u[Le.Weekdays],style:C?.[Le.Weekdays]},A&&W.createElement(n.WeekNumberHeader,{"aria-label":rt(s.options),className:u[Le.WeekNumberHeader],style:C?.[Le.WeekNumberHeader],scope:"col"},L()),Tt.map(Ge=>W.createElement(n.Weekday,{"aria-label":be(Ge,s.options,s),className:u[Le.Weekday],key:String(Ge),style:C?.[Le.Weekday],scope:"col"},D(Ge,s.options,s)))),W.createElement(n.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:u[Le.Weeks],style:C?.[Le.Weeks]},ot.weeks.map(Ge=>W.createElement(n.Week,{className:u[Le.Week],key:Ge.weekNumber,style:C?.[Le.Week],week:Ge},A&&W.createElement(n.WeekNumber,{week:Ge,style:C?.[Le.WeekNumber],"aria-label":_e(Ge.weekNumber,{locale:l}),className:u[Le.WeekNumber],scope:"row",role:"rowheader"},R(Ge.weekNumber,s)),Ge.days.map(Et=>{const{date:qn}=Et,lt=F(Et);if(lt[gn.focused]=!lt.hidden&&!!he?.isEqualTo(Et),lt[Wa.selected]=z?.(qn)||lt.selected,LE(ie)){const{from:Bl,to:_o}=ie;lt[Wa.range_start]=!!(Bl&&_o&&s.isSameDay(qn,Bl)),lt[Wa.range_end]=!!(Bl&&_o&&s.isSameDay(qn,_o)),lt[Wa.range_middle]=ts(ie,qn,!0,s)}const zl=vNe(lt,C,t.modifiersStyles),So=rNe(lt,u,t.modifiersClassNames),yx=!zt&&!lt.hidden?je(qn,lt,s.options,s):void 0;return W.createElement(n.Day,{key:`${s.format(qn,"yyyy-MM-dd")}_${s.format(Et.displayMonth,"yyyy-MM")}`,day:Et,modifiers:lt,className:So.join(" "),style:zl,role:"gridcell","aria-selected":lt.selected||void 0,"aria-label":yx,"data-day":s.format(qn,"yyyy-MM-dd"),"data-month":Et.outside?s.format(qn,"yyyy-MM"):void 0,"data-selected":lt.selected||void 0,"data-disabled":lt.disabled||void 0,"data-hidden":lt.hidden||void 0,"data-outside":Et.outside||void 0,"data-focused":lt.focused||void 0,"data-today":lt.today||void 0},!lt.hidden&&zt?W.createElement(n.DayButton,{className:u[Le.DayButton],style:C?.[Le.DayButton],type:"button",day:Et,modifiers:lt,disabled:lt.disabled||void 0,tabIndex:ae(Et)?0:-1,"aria-label":pe(qn,lt,s.options,s),onClick:Se(Et,lt),onBlur:Or(Et,lt),onFocus:ut(Et,lt),onKeyDown:bs(Et,lt),onMouseEnter:mx(Et,lt),onMouseLeave:mm(Et,lt)},T(qn,s.options,s)):!lt.hidden&&T(Et.date,s.options,s))})))))))),t.footer&&W.createElement(n.Footer,{className:u[Le.Footer],style:C?.[Le.Footer],role:"status","aria-live":"polite"},t.footer)))}function XL({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:r="label",buttonVariant:a="ghost",formatters:s,components:l,...u}){const d=zE();return i.jsx(eCe,{showOutsideDays:n,className:ue("bg-background group/calendar p-3 [--cell-size:2rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:r,formatters:{formatMonthDropdown:f=>f.toLocaleString("default",{month:"short"}),...s},classNames:{root:ue("w-fit",d.root),months:ue("relative flex flex-col gap-4 md:flex-row",d.months),month:ue("flex w-full flex-col gap-4",d.month),nav:ue("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",d.nav),button_previous:ue(bh({variant:a}),"h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",d.button_previous),button_next:ue(bh({variant:a}),"h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",d.button_next),month_caption:ue("flex h-[--cell-size] w-full items-center justify-center px-[--cell-size]",d.month_caption),dropdowns:ue("flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium",d.dropdowns),dropdown_root:ue("has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border",d.dropdown_root),dropdown:ue("bg-popover absolute inset-0 opacity-0",d.dropdown),caption_label:ue("select-none font-medium",r==="label"?"text-sm":"[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5",d.caption_label),table:"w-full border-collapse",weekdays:ue("flex",d.weekdays),weekday:ue("text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal",d.weekday),week:ue("mt-2 flex w-full",d.week),week_number_header:ue("w-[--cell-size] select-none",d.week_number_header),week_number:ue("text-muted-foreground select-none text-[0.8rem]",d.week_number),day:ue("group/day relative aspect-square h-full w-full select-none p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md",d.day),range_start:ue("bg-accent rounded-l-md",d.range_start),range_middle:ue("rounded-none",d.range_middle),range_end:ue("bg-accent rounded-r-md",d.range_end),today:ue("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",d.today),outside:ue("text-muted-foreground aria-selected:text-muted-foreground",d.outside),disabled:ue("text-muted-foreground opacity-50",d.disabled),hidden:ue("invisible",d.hidden),...t},components:{Root:({className:f,rootRef:m,...p})=>i.jsx("div",{"data-slot":"calendar",ref:m,className:ue(f),...p}),Chevron:({className:f,orientation:m,...p})=>m==="left"?i.jsx(Yh,{className:ue("size-4",f),...p}):m==="right"?i.jsx(Kh,{className:ue("size-4",f),...p}):i.jsx(gh,{className:ue("size-4",f),...p}),DayButton:tCe,WeekNumber:({children:f,...m})=>i.jsx("td",{...m,children:i.jsx("div",{className:"flex size-[--cell-size] items-center justify-center text-center",children:f})}),...l},...u})}function tCe({className:e,day:t,modifiers:n,...r}){const a=zE(),s=y.useRef(null);return y.useEffect(()=>{n.focused&&s.current?.focus()},[n.focused]),i.jsx(oe,{ref:s,variant:"ghost",size:"icon","data-day":t.date.toLocaleDateString(),"data-selected-single":n.selected&&!n.range_start&&!n.range_end&&!n.range_middle,"data-range-start":n.range_start,"data-range-end":n.range_end,"data-range-middle":n.range_middle,className:ue("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-auto w-full min-w-[--cell-size] flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70",a.day,e),...r})}class nCe{ws=null;reconnectTimeout=null;reconnectAttempts=0;maxReconnectAttempts=10;heartbeatInterval=null;logCallbacks=new Set;connectionCallbacks=new Set;isConnected=!1;logCache=[];maxCacheSize=1e3;getWebSocketUrl(){{const t=window.location.protocol==="https:"?"wss:":"ws:",n=window.location.host;return`${t}//${n}/ws/logs`}}connect(){if(this.ws?.readyState===WebSocket.OPEN||this.ws?.readyState===WebSocket.CONNECTING)return;const t=this.getWebSocketUrl();try{this.ws=new WebSocket(t),this.ws.onopen=()=>{this.isConnected=!0,this.reconnectAttempts=0,this.notifyConnection(!0),this.startHeartbeat()},this.ws.onmessage=n=>{try{if(n.data==="pong")return;const r=JSON.parse(n.data);this.notifyLog(r)}catch(r){console.error("解析日志消息失败:",r)}},this.ws.onerror=n=>{console.error("❌ WebSocket 错误:",n),this.isConnected=!1,this.notifyConnection(!1)},this.ws.onclose=()=>{this.isConnected=!1,this.notifyConnection(!1),this.stopHeartbeat(),this.attemptReconnect()}}catch(n){console.error("创建 WebSocket 连接失败:",n),this.attemptReconnect()}}attemptReconnect(){if(this.reconnectAttempts>=this.maxReconnectAttempts)return;this.reconnectAttempts+=1;const t=Math.min(1e3*this.reconnectAttempts,1e4);this.reconnectTimeout=window.setTimeout(()=>{this.connect()},t)}startHeartbeat(){this.heartbeatInterval=window.setInterval(()=>{this.ws?.readyState===WebSocket.OPEN&&this.ws.send("ping")},3e4)}stopHeartbeat(){this.heartbeatInterval!==null&&(clearInterval(this.heartbeatInterval),this.heartbeatInterval=null)}disconnect(){this.reconnectTimeout!==null&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null),this.stopHeartbeat(),this.ws&&(this.ws.close(),this.ws=null),this.isConnected=!1,this.reconnectAttempts=0}onLog(t){return this.logCallbacks.add(t),()=>this.logCallbacks.delete(t)}onConnectionChange(t){return this.connectionCallbacks.add(t),t(this.isConnected),()=>this.connectionCallbacks.delete(t)}notifyLog(t){this.logCache.some(r=>r.id===t.id)||(this.logCache.push(t),this.logCache.length>this.maxCacheSize&&(this.logCache=this.logCache.slice(-this.maxCacheSize)),this.logCallbacks.forEach(r=>{try{r(t)}catch(a){console.error("日志回调执行失败:",a)}}))}notifyConnection(t){this.connectionCallbacks.forEach(n=>{try{n(t)}catch(r){console.error("连接状态回调执行失败:",r)}})}getAllLogs(){return[...this.logCache]}clearLogs(){this.logCache=[]}getConnectionStatus(){return this.isConnected}}const Bc=new nCe;typeof window<"u"&&Bc.connect();const rCe={lessThanXSeconds:{one:"不到 1 秒",other:"不到 {{count}} 秒"},xSeconds:{one:"1 秒",other:"{{count}} 秒"},halfAMinute:"半分钟",lessThanXMinutes:{one:"不到 1 分钟",other:"不到 {{count}} 分钟"},xMinutes:{one:"1 分钟",other:"{{count}} 分钟"},xHours:{one:"1 小时",other:"{{count}} 小时"},aboutXHours:{one:"大约 1 小时",other:"大约 {{count}} 小时"},xDays:{one:"1 天",other:"{{count}} 天"},aboutXWeeks:{one:"大约 1 个星期",other:"大约 {{count}} 个星期"},xWeeks:{one:"1 个星期",other:"{{count}} 个星期"},aboutXMonths:{one:"大约 1 个月",other:"大约 {{count}} 个月"},xMonths:{one:"1 个月",other:"{{count}} 个月"},aboutXYears:{one:"大约 1 年",other:"大约 {{count}} 年"},xYears:{one:"1 年",other:"{{count}} 年"},overXYears:{one:"超过 1 年",other:"超过 {{count}} 年"},almostXYears:{one:"将近 1 年",other:"将近 {{count}} 年"}},aCe=(e,t,n)=>{let r;const a=rCe[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",String(t)),n?.addSuffix?n.comparison&&n.comparison>0?r+"内":r+"前":r},iCe={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},sCe={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},oCe={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},lCe={date:tu({formats:iCe,defaultWidth:"full"}),time:tu({formats:sCe,defaultWidth:"full"}),dateTime:tu({formats:oCe,defaultWidth:"full"})};function ZL(e,t,n){const r="eeee p";return x_e(e,t,n)?r:e.getTime()>t.getTime()?"'下个'"+r:"'上个'"+r}const cCe={lastWeek:ZL,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:ZL,other:"PP p"},uCe=(e,t,n,r)=>{const a=cCe[e];return typeof a=="function"?a(t,n,r):a},dCe={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},fCe={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},hCe={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},mCe={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},pCe={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},vCe={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},gCe=(e,t)=>{const n=Number(e);switch(t?.unit){case"date":return n.toString()+"日";case"hour":return n.toString()+"时";case"minute":return n.toString()+"分";case"second":return n.toString()+"秒";default:return"第 "+n.toString()}},yCe={ordinalNumber:gCe,era:ci({values:dCe,defaultWidth:"wide"}),quarter:ci({values:fCe,defaultWidth:"wide",argumentCallback:e=>e-1}),month:ci({values:hCe,defaultWidth:"wide"}),day:ci({values:mCe,defaultWidth:"wide"}),dayPeriod:ci({values:pCe,defaultWidth:"wide",formattingValues:vCe,defaultFormattingWidth:"wide"})},xCe=/^(第\s*)?\d+(日|时|分|秒)?/i,bCe=/\d+/i,wCe={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},jCe={any:[/^(前)/i,/^(公元)/i]},SCe={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},_Ce={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},NCe={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一])/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一])月/i},CCe={narrow:[/^一/i,/^二/i,/^三/i,/^四/i,/^五/i,/^六/i,/^七/i,/^八/i,/^九/i,/^十(?!(一|二))/i,/^十一/i,/^十二/i],any:[/^一|1/i,/^二|2/i,/^三|3/i,/^四|4/i,/^五|5/i,/^六|6/i,/^七|7/i,/^八|8/i,/^九|9/i,/^十(?!(一|二))|10/i,/^十一|11/i,/^十二|12/i]},OCe={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},ECe={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},ACe={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},TCe={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},kCe={ordinalNumber:qH({matchPattern:xCe,parsePattern:bCe,valueCallback:e=>parseInt(e,10)}),era:ui({matchPatterns:wCe,defaultMatchWidth:"wide",parsePatterns:jCe,defaultParseWidth:"any"}),quarter:ui({matchPatterns:SCe,defaultMatchWidth:"wide",parsePatterns:_Ce,defaultParseWidth:"any",valueCallback:e=>e+1}),month:ui({matchPatterns:NCe,defaultMatchWidth:"wide",parsePatterns:CCe,defaultParseWidth:"any"}),day:ui({matchPatterns:OCe,defaultMatchWidth:"wide",parsePatterns:ECe,defaultParseWidth:"any"}),dayPeriod:ui({matchPatterns:ACe,defaultMatchWidth:"any",parsePatterns:TCe,defaultParseWidth:"any"})},ev={code:"zh-CN",formatDistance:aCe,formatLong:lCe,formatRelative:uCe,localize:yCe,match:kCe,options:{weekStartsOn:1,firstWeekContainsDate:4}};function MCe(){const[e,t]=y.useState([]),[n,r]=y.useState(""),[a,s]=y.useState("all"),[l,u]=y.useState("all"),[d,f]=y.useState(void 0),[m,p]=y.useState(void 0),[g,x]=y.useState(!0),[j,w]=y.useState(!1),b=y.useRef(null),N=y.useRef(null);y.useEffect(()=>{const D=Bc.getAllLogs();t(D);const U=Bc.onLog(()=>{t(Bc.getAllLogs())}),V=Bc.onConnectionChange(H=>{w(H)});return()=>{U(),V()}},[]),y.useEffect(()=>{g&&N.current&&N.current.scrollIntoView({behavior:"smooth",block:"end"})},[e,g]);const E=y.useMemo(()=>{const D=new Set(e.map(U=>U.module));return Array.from(D).sort()},[e]),O=D=>{switch(D){case"DEBUG":return"text-muted-foreground";case"INFO":return"text-blue-500 dark:text-blue-400";case"WARNING":return"text-yellow-600 dark:text-yellow-500";case"ERROR":return"text-red-600 dark:text-red-500";case"CRITICAL":return"text-red-700 dark:text-red-400 font-bold";default:return"text-foreground"}},A=D=>{switch(D){case"DEBUG":return"bg-gray-800/30 dark:bg-gray-800/50";case"INFO":return"bg-blue-900/20 dark:bg-blue-500/20";case"WARNING":return"bg-yellow-900/20 dark:bg-yellow-500/20";case"ERROR":return"bg-red-900/20 dark:bg-red-500/20";case"CRITICAL":return"bg-red-900/30 dark:bg-red-600/30";default:return"bg-gray-800/20 dark:bg-gray-800/30"}},C=()=>{window.location.reload()},k=()=>{Bc.clearLogs(),t([])},T=()=>{const D=L.map(G=>`${G.timestamp} [${G.level.padEnd(8)}] [${G.module}] ${G.message}`).join(` -`),U=new Blob([D],{type:"text/plain;charset=utf-8"}),V=URL.createObjectURL(U),H=document.createElement("a");H.href=V,H.download=`logs-${gv(new Date,"yyyy-MM-dd-HHmmss")}.txt`,H.click(),URL.revokeObjectURL(V)},M=()=>{x(!g)},R=()=>{f(void 0),p(void 0)},L=y.useMemo(()=>e.filter(D=>{const U=n===""||D.message.toLowerCase().includes(n.toLowerCase())||D.module.toLowerCase().includes(n.toLowerCase()),V=a==="all"||D.level===a,H=l==="all"||D.module===l;let G=!0;if(d||m){const $=new Date(D.timestamp);if(d){const I=new Date(d);I.setHours(0,0,0,0),G=G&&$>=I}if(m){const I=new Date(m);I.setHours(23,59,59,999),G=G&&$<=I}}return U&&V&&H&&G}),[e,n,a,l,d,m]);return i.jsx(Gt,{className:"h-full",children:i.jsxs("div",{className:"space-y-4 p-3 sm:p-4 lg:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-xl sm:text-2xl lg:text-3xl font-bold",children:"日志查看器"}),i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground mt-1",children:"实时查看和分析麦麦运行日志"})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("div",{className:ue("h-2.5 w-2.5 sm:h-3 sm:w-3 rounded-full",j?"bg-green-500 animate-pulse":"bg-red-500")}),i.jsx("span",{className:"text-xs sm:text-sm text-muted-foreground",children:j?"已连接":"未连接"})]})]}),i.jsx(Ke,{className:"p-3 sm:p-4",children:i.jsxs("div",{className:"flex flex-col gap-3 sm:gap-4",children:[i.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:gap-4",children:[i.jsxs("div",{className:"flex-1 relative",children:[i.jsx(Br,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),i.jsx(Ce,{placeholder:"搜索日志...",value:n,onChange:D=>r(D.target.value),className:"pl-9 h-9 text-sm"})]}),i.jsxs(St,{value:a,onValueChange:s,children:[i.jsxs(xt,{className:"w-full sm:w-[140px] lg:w-[180px] h-9 text-sm",children:[i.jsx(rC,{className:"h-4 w-4 mr-2"}),i.jsx(_t,{placeholder:"级别"})]}),i.jsxs(bt,{children:[i.jsx(ke,{value:"all",children:"全部级别"}),i.jsx(ke,{value:"DEBUG",children:"DEBUG"}),i.jsx(ke,{value:"INFO",children:"INFO"}),i.jsx(ke,{value:"WARNING",children:"WARNING"}),i.jsx(ke,{value:"ERROR",children:"ERROR"}),i.jsx(ke,{value:"CRITICAL",children:"CRITICAL"})]})]}),i.jsxs(St,{value:l,onValueChange:u,children:[i.jsxs(xt,{className:"w-full sm:w-[160px] lg:w-[200px] h-9 text-sm",children:[i.jsx(rC,{className:"h-4 w-4 mr-2"}),i.jsx(_t,{placeholder:"模块"})]}),i.jsxs(bt,{children:[i.jsx(ke,{value:"all",children:"全部模块"}),E.map(D=>i.jsx(ke,{value:D,children:D},D))]})]})]}),i.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:gap-4",children:[i.jsxs(oo,{children:[i.jsx(lo,{asChild:!0,children:i.jsxs(oe,{variant:"outline",size:"sm",className:ue("w-full sm:w-[200px] lg:w-[240px] justify-start text-left font-normal h-9",!d&&"text-muted-foreground"),children:[i.jsx(eL,{className:"mr-2 h-4 w-4"}),i.jsx("span",{className:"text-xs sm:text-sm",children:d?gv(d,"PPP",{locale:ev}):"开始日期"})]})}),i.jsx(hs,{className:"w-auto p-0",align:"start",children:i.jsx(XL,{mode:"single",selected:d,onSelect:f,initialFocus:!0,locale:ev})})]}),i.jsxs(oo,{children:[i.jsx(lo,{asChild:!0,children:i.jsxs(oe,{variant:"outline",size:"sm",className:ue("w-full sm:w-[200px] lg:w-[240px] justify-start text-left font-normal h-9",!m&&"text-muted-foreground"),children:[i.jsx(eL,{className:"mr-2 h-4 w-4"}),i.jsx("span",{className:"text-xs sm:text-sm",children:m?gv(m,"PPP",{locale:ev}):"结束日期"})]})}),i.jsx(hs,{className:"w-auto p-0",align:"start",children:i.jsx(XL,{mode:"single",selected:m,onSelect:p,initialFocus:!0,locale:ev})})]}),(d||m)&&i.jsxs(oe,{variant:"outline",size:"sm",onClick:R,className:"w-full sm:w-auto h-9",children:[i.jsx(Zh,{className:"h-4 w-4 sm:mr-2"}),i.jsx("span",{className:"hidden sm:inline text-sm",children:"清除时间筛选"}),i.jsx("span",{className:"sm:hidden text-sm",children:"清除"})]})]}),i.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:flex-wrap sm:items-center",children:[i.jsxs("div",{className:"flex gap-2 flex-wrap",children:[i.jsxs(oe,{variant:g?"default":"outline",size:"sm",onClick:M,className:"flex-1 sm:flex-none h-9",children:[g?i.jsx(jge,{className:"h-4 w-4"}):i.jsx(Nge,{className:"h-4 w-4"}),i.jsx("span",{className:"ml-2 text-sm",children:g?"自动滚动":"已暂停"})]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:C,className:"flex-1 sm:flex-none h-9",children:[i.jsx(os,{className:"h-4 w-4"}),i.jsx("span",{className:"ml-2 text-sm",children:"刷新"})]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:k,className:"flex-1 sm:flex-none h-9",children:[i.jsx(Ct,{className:"h-4 w-4"}),i.jsx("span",{className:"ml-2 text-sm",children:"清空"})]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:T,className:"flex-1 sm:flex-none h-9",children:[i.jsx(tC,{className:"h-4 w-4"}),i.jsx("span",{className:"ml-2 text-sm",children:"导出"})]})]}),i.jsx("div",{className:"flex-1 hidden sm:block"}),i.jsxs("div",{className:"text-xs sm:text-sm text-muted-foreground flex items-center justify-center sm:justify-end",children:[i.jsxs("span",{className:"font-mono",children:[L.length," / ",e.length]}),i.jsx("span",{className:"ml-1",children:"条日志"})]})]})]})}),i.jsx(Ke,{className:"bg-black dark:bg-gray-950 border-gray-800 dark:border-gray-900",children:i.jsx(Gt,{className:"h-[calc(100vh-280px)] sm:h-[calc(100vh-320px)] lg:h-[calc(100vh-400px)]",children:i.jsxs("div",{ref:b,className:"p-2 sm:p-3 lg:p-4 font-mono text-xs sm:text-sm space-y-1",children:[L.length===0?i.jsx("div",{className:"text-gray-500 dark:text-gray-600 text-center py-8 text-sm",children:"暂无日志数据"}):L.map(D=>i.jsxs("div",{className:ue("py-2 px-2 sm:px-3 rounded hover:bg-white/5 transition-colors group",A(D.level)),children:[i.jsxs("div",{className:"flex flex-col gap-1 sm:hidden",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-gray-500 dark:text-gray-600 text-xs",children:D.timestamp}),i.jsxs("span",{className:ue("text-xs font-semibold",O(D.level)),children:["[",D.level,"]"]})]}),i.jsx("div",{className:"text-cyan-400 dark:text-cyan-500 text-xs truncate",children:D.module}),i.jsx("div",{className:"text-gray-300 dark:text-gray-400 text-xs break-all",children:D.message})]}),i.jsxs("div",{className:"hidden sm:flex gap-3 items-start",children:[i.jsx("span",{className:"text-gray-500 dark:text-gray-600 flex-shrink-0 w-[140px] lg:w-[180px] text-xs lg:text-sm",children:D.timestamp}),i.jsxs("span",{className:ue("flex-shrink-0 w-[70px] lg:w-[80px] font-semibold text-xs lg:text-sm",O(D.level)),children:["[",D.level,"]"]}),i.jsx("span",{className:"text-cyan-400 dark:text-cyan-500 flex-shrink-0 w-[120px] lg:w-[150px] truncate text-xs lg:text-sm",children:D.module}),i.jsx("span",{className:"text-gray-300 dark:text-gray-400 flex-1 break-all text-xs lg:text-sm",children:D.message})]})]},D.id)),i.jsx("div",{ref:N,className:"h-4"})]})})})]})})}const PCe="Mai-with-u",RCe="plugin-repo",DCe="main",$Ce="plugin_details.json";async function ICe(){try{const e=await Ze("/api/webui/plugins/fetch-raw",{method:"POST",headers:st(),body:JSON.stringify({owner:PCe,repo:RCe,branch:DCe,file_path:$Ce})});if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const t=await e.json();if(!t.success||!t.data)throw new Error(t.error||"获取插件列表失败");return JSON.parse(t.data).filter(a=>!a?.id||!a?.manifest?(console.warn("跳过无效插件数据:",a),!1):!a.manifest.name||!a.manifest.version?(console.warn("跳过缺少必需字段的插件:",a.id),!1):!0).map(a=>({id:a.id,manifest:{manifest_version:a.manifest.manifest_version||1,name:a.manifest.name,version:a.manifest.version,description:a.manifest.description||"",author:a.manifest.author||{name:"Unknown"},license:a.manifest.license||"Unknown",host_application:a.manifest.host_application||{min_version:"0.0.0"},homepage_url:a.manifest.homepage_url,repository_url:a.manifest.repository_url,keywords:a.manifest.keywords||[],categories:a.manifest.categories||[],default_locale:a.manifest.default_locale||"zh-CN",locales_path:a.manifest.locales_path},downloads:0,rating:0,review_count:0,installed:!1,published_at:new Date().toISOString(),updated_at:new Date().toISOString()}))}catch(e){throw console.error("Failed to fetch plugin list:",e),e}}async function LCe(){try{const e=await Ze("/api/webui/plugins/git-status");if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);return await e.json()}catch(e){return console.error("Failed to check Git status:",e),{installed:!1,error:"无法检测 Git 安装状态"}}}async function zCe(){try{const e=await Ze("/api/webui/plugins/version");if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);return await e.json()}catch(e){return console.error("Failed to get Maimai version:",e),{version:"0.0.0",version_major:0,version_minor:0,version_patch:0}}}function BCe(e,t,n){const r=e.split(".").map(u=>parseInt(u)||0),a=r[0]||0,s=r[1]||0,l=r[2]||0;if(n.version_majorparseInt(p)||0),d=u[0]||0,f=u[1]||0,m=u[2]||0;if(n.version_major>d||n.version_major===d&&n.version_minor>f||n.version_major===d&&n.version_minor===f&&n.version_patch>m)return!1}return!0}function qCe(e,t){const n=window.location.protocol==="https:"?"wss:":"ws:",r=window.location.host,a=new WebSocket(`${n}//${r}/api/webui/ws/plugin-progress`);return a.onopen=()=>{console.log("Plugin progress WebSocket connected");const s=setInterval(()=>{a.readyState===WebSocket.OPEN?a.send("ping"):clearInterval(s)},3e4)},a.onmessage=s=>{try{if(s.data==="pong")return;const l=JSON.parse(s.data);e(l)}catch(l){console.error("Failed to parse progress data:",l)}},a.onerror=s=>{console.error("Plugin progress WebSocket error:",s),t?.(s)},a.onclose=()=>{console.log("Plugin progress WebSocket disconnected")},a}async function tv(){try{const e=await Ze("/api/webui/plugins/installed",{headers:st()});if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const t=await e.json();if(!t.success)throw new Error(t.message||"获取已安装插件列表失败");return t.plugins||[]}catch(e){return console.error("Failed to get installed plugins:",e),[]}}function nv(e,t){return t.some(n=>n.id===e)}function rv(e,t){const n=t.find(r=>r.id===e);if(n)return n.manifest?.version||n.version}async function FCe(e,t,n="main"){const r=await Ze("/api/webui/plugins/install",{method:"POST",headers:st(),body:JSON.stringify({plugin_id:e,repository_url:t,branch:n})});if(!r.ok){const a=await r.json();throw new Error(a.detail||"安装失败")}return await r.json()}async function UCe(e){const t=await Ze("/api/webui/plugins/uninstall",{method:"POST",headers:st(),body:JSON.stringify({plugin_id:e})});if(!t.ok){const n=await t.json();throw new Error(n.detail||"卸载失败")}return await t.json()}async function HCe(e,t,n="main"){const r=await Ze("/api/webui/plugins/update",{method:"POST",headers:st(),body:JSON.stringify({plugin_id:e,repository_url:t,branch:n})});if(!r.ok){const a=await r.json();throw new Error(a.detail||"更新失败")}return await r.json()}const QL={"Group Management":"群组管理","Entertainment & Interaction":"娱乐互动","Utility Tools":"实用工具","Content Generation":"内容生成",Multimedia:"多媒体","External Integration":"外部集成","Data Analysis & Insights":"数据分析与洞察",Other:"其他"};function WCe(){const e=ua(),[t,n]=y.useState(null),[r,a]=y.useState(""),[s,l]=y.useState("all"),[u,d]=y.useState("all"),[f,m]=y.useState(!1),[p,g]=y.useState([]),[x,j]=y.useState(!0),[w,b]=y.useState(null),[N,E]=y.useState(null),[O,A]=y.useState(null),[C,k]=y.useState(null),[,T]=y.useState([]),{toast:M}=xr();y.useEffect(()=>{let I=null,q=!1;return(async()=>{if(I=qCe(ee=>{q||(A(ee),ee.stage==="success"?setTimeout(()=>{q||A(null)},2e3):ee.stage==="error"&&(j(!1),b(ee.error||"加载失败")))},ee=>{console.error("WebSocket error:",ee),q||M({title:"WebSocket 连接失败",description:"无法实时显示加载进度",variant:"destructive"})}),await new Promise(ee=>{if(!I){ee();return}const F=()=>{I&&I.readyState===WebSocket.OPEN?(console.log("WebSocket connected, starting to load plugins"),ee()):I&&I.readyState===WebSocket.CLOSED?(console.warn("WebSocket closed before loading plugins"),ee()):setTimeout(F,100)};F()}),!q){const ee=await LCe();E(ee),ee.installed||M({title:"Git 未安装",description:ee.error||"请先安装 Git 才能使用插件安装功能",variant:"destructive"})}if(!q){const ee=await zCe();k(ee)}if(!q)try{j(!0),b(null);const ee=await ICe();if(!q){const F=await tv();T(F);const z=ee.map(K=>{const ie=nv(K.id,F),Q=rv(K.id,F);return{...K,installed:ie,installed_version:Q}});for(const K of F)!z.some(Q=>Q.id===K.id)&&K.manifest&&z.push({id:K.id,manifest:{manifest_version:K.manifest.manifest_version||1,name:K.manifest.name,version:K.manifest.version,description:K.manifest.description||"",author:K.manifest.author,license:K.manifest.license||"Unknown",host_application:K.manifest.host_application,homepage_url:K.manifest.homepage_url,repository_url:K.manifest.repository_url,keywords:K.manifest.keywords||[],categories:K.manifest.categories||[],default_locale:K.manifest.default_locale||"zh-CN",locales_path:K.manifest.locales_path},downloads:0,rating:0,review_count:0,installed:!0,installed_version:K.manifest.version,published_at:new Date().toISOString(),updated_at:new Date().toISOString()});g(z)}}catch(ee){if(!q){const F=ee instanceof Error?ee.message:"加载插件列表失败";b(F),M({title:"加载失败",description:F,variant:"destructive"})}}finally{q||j(!1)}})(),()=>{q=!0,I&&I.close()}},[M]);const R=I=>{if(!I.installed&&C&&!L(I))return i.jsxs(Ht,{variant:"destructive",className:"gap-1",children:[i.jsx(xl,{className:"h-3 w-3"}),"不兼容"]});if(I.installed){const q=I.installed_version?.trim(),Z=I.manifest.version?.trim();if(q!==Z){const ee=q?.split(".").map(Number)||[0,0,0],F=Z?.split(".").map(Number)||[0,0,0];for(let z=0;z<3;z++){if((F[z]||0)>(ee[z]||0))return i.jsxs(Ht,{variant:"outline",className:"gap-1 text-orange-600 border-orange-600",children:[i.jsx(xl,{className:"h-3 w-3"}),"可更新"]});if((F[z]||0)<(ee[z]||0))break}}return i.jsxs(Ht,{variant:"default",className:"gap-1",children:[i.jsx(Dr,{className:"h-3 w-3"}),"已安装"]})}return null},L=I=>!C||!I.manifest?.host_application?!0:BCe(I.manifest.host_application.min_version,I.manifest.host_application.max_version,C),D=I=>{if(!I.installed||!I.installed_version||!I.manifest?.version)return!1;const q=I.installed_version.trim(),Z=I.manifest.version.trim();if(q===Z)return!1;const ee=q.split(".").map(Number),F=Z.split(".").map(Number);for(let z=0;z<3;z++){if((F[z]||0)>(ee[z]||0))return!0;if((F[z]||0)<(ee[z]||0))return!1}return!1},U=p.filter(I=>{if(!I.manifest)return console.warn("[过滤] 跳过无 manifest 的插件:",I.id),!1;const q=r===""||I.manifest.name?.toLowerCase().includes(r.toLowerCase())||I.manifest.description?.toLowerCase().includes(r.toLowerCase())||I.manifest.keywords&&I.manifest.keywords.some(z=>z.toLowerCase().includes(r.toLowerCase())),Z=s==="all"||I.manifest.categories&&I.manifest.categories.includes(s);let ee=!0;u==="installed"?ee=I.installed===!0:u==="updates"&&(ee=I.installed===!0&&D(I));const F=!f||!C||L(I);return q&&Z&&ee&&F}),V=()=>{n(null)},H=async I=>{if(!N?.installed){M({title:"无法安装",description:"Git 未安装",variant:"destructive"});return}if(C&&!L(I)){M({title:"无法安装",description:"插件与当前麦麦版本不兼容",variant:"destructive"});return}try{await FCe(I.id,I.manifest.repository_url||"","main"),M({title:"安装成功",description:`${I.manifest.name} 已成功安装`});const q=await tv();T(q),g(Z=>Z.map(ee=>{if(ee.id===I.id){const F=nv(ee.id,q),z=rv(ee.id,q);return{...ee,installed:F,installed_version:z}}return ee}))}catch(q){M({title:"安装失败",description:q instanceof Error?q.message:"未知错误",variant:"destructive"})}},G=async I=>{try{await UCe(I.id),M({title:"卸载成功",description:`${I.manifest.name} 已成功卸载`});const q=await tv();T(q),g(Z=>Z.map(ee=>{if(ee.id===I.id){const F=nv(ee.id,q),z=rv(ee.id,q);return{...ee,installed:F,installed_version:z}}return ee}))}catch(q){M({title:"卸载失败",description:q instanceof Error?q.message:"未知错误",variant:"destructive"})}},$=async I=>{if(!N?.installed){M({title:"无法更新",description:"Git 未安装",variant:"destructive"});return}try{const q=await HCe(I.id,I.manifest.repository_url||"","main");M({title:"更新成功",description:`${I.manifest.name} 已从 ${q.old_version} 更新到 ${q.new_version}`});const Z=await tv();T(Z),g(ee=>ee.map(F=>{if(F.id===I.id){const z=nv(F.id,Z),K=rv(F.id,Z);return{...F,installed:z,installed_version:K}}return F}))}catch(q){M({title:"更新失败",description:q instanceof Error?q.message:"未知错误",variant:"destructive"})}};return i.jsx(Gt,{className:"h-full",children:i.jsxs("div",{className:"space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"插件市场"}),i.jsx("p",{className:"text-muted-foreground mt-2",children:"浏览和管理麦麦的插件"})]}),i.jsxs(oe,{onClick:()=>e({to:"/plugin-mirrors"}),children:[i.jsx(Ige,{className:"h-4 w-4 mr-2"}),"配置镜像源"]})]}),N&&!N.installed&&i.jsxs(Ke,{className:"border-orange-600 bg-orange-50 dark:bg-orange-950/20",children:[i.jsx(gt,{children:i.jsxs("div",{className:"flex items-center gap-3",children:[i.jsx(Xc,{className:"h-5 w-5 text-orange-600"}),i.jsxs("div",{children:[i.jsx(yt,{className:"text-lg text-orange-900 dark:text-orange-100",children:"Git 未安装"}),i.jsx(Wn,{className:"text-orange-800 dark:text-orange-200",children:N.error||"请先安装 Git 才能使用插件安装功能"})]})]})}),i.jsx(Pt,{children:i.jsxs("p",{className:"text-sm text-orange-800 dark:text-orange-200",children:["您可以从 ",i.jsx("a",{href:"https://git-scm.com/downloads",target:"_blank",rel:"noopener noreferrer",className:"underline font-medium",children:"git-scm.com"})," 下载并安装 Git。 安装完成后,请重启麦麦应用。"]})})]}),i.jsx(Ke,{className:"p-4",children:i.jsxs("div",{className:"flex flex-col gap-4",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row gap-4",children:[i.jsxs("div",{className:"flex-1 relative",children:[i.jsx(Br,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),i.jsx(Ce,{placeholder:"搜索插件...",value:r,onChange:I=>a(I.target.value),className:"pl-9"})]}),i.jsxs(St,{value:s,onValueChange:l,children:[i.jsx(xt,{className:"w-full sm:w-[200px]",children:i.jsx(_t,{placeholder:"选择分类"})}),i.jsxs(bt,{children:[i.jsx(ke,{value:"all",children:"全部分类"}),i.jsx(ke,{value:"Group Management",children:"群组管理"}),i.jsx(ke,{value:"Entertainment & Interaction",children:"娱乐互动"}),i.jsx(ke,{value:"Utility Tools",children:"实用工具"}),i.jsx(ke,{value:"Content Generation",children:"内容生成"}),i.jsx(ke,{value:"Multimedia",children:"多媒体"}),i.jsx(ke,{value:"External Integration",children:"外部集成"}),i.jsx(ke,{value:"Data Analysis & Insights",children:"数据分析与洞察"}),i.jsx(ke,{value:"Other",children:"其他"})]})]})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(pr,{id:"compatible-only",checked:f,onCheckedChange:I=>m(I===!0)}),i.jsx("label",{htmlFor:"compatible-only",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer",children:"只显示兼容当前版本的插件"})]})]})}),i.jsx(hl,{value:u,onValueChange:d,className:"w-full",children:i.jsxs(ao,{className:"grid w-full grid-cols-3",children:[i.jsxs(Lt,{value:"all",children:["全部插件 (",p.length,")"]}),i.jsxs(Lt,{value:"installed",children:["已安装 (",p.filter(I=>I.installed).length,")"]}),i.jsxs(Lt,{value:"updates",children:["可更新 (",p.filter(I=>I.installed&&D(I)).length,")"]})]})}),O&&O.stage==="loading"&&i.jsx(Ke,{className:"p-4",children:i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(yh,{className:"h-4 w-4 animate-spin"}),i.jsxs("span",{className:"text-sm font-medium",children:[O.operation==="fetch"&&"加载插件列表",O.operation==="install"&&`安装插件${O.plugin_id?`: ${O.plugin_id}`:""}`,O.operation==="uninstall"&&`卸载插件${O.plugin_id?`: ${O.plugin_id}`:""}`,O.operation==="update"&&`更新插件${O.plugin_id?`: ${O.plugin_id}`:""}`]})]}),i.jsxs("span",{className:"text-sm font-medium",children:[O.progress,"%"]})]}),i.jsx(Ih,{value:O.progress,className:"h-2"}),i.jsx("div",{className:"text-xs text-muted-foreground",children:O.message}),O.operation==="fetch"&&O.total_plugins>0&&i.jsxs("div",{className:"text-xs text-muted-foreground text-center",children:["已加载 ",O.loaded_plugins," / ",O.total_plugins," 个插件"]})]})}),O&&O.stage==="error"&&O.error&&i.jsx(Ke,{className:"border-destructive bg-destructive/10",children:i.jsx(gt,{children:i.jsxs("div",{className:"flex items-center gap-3",children:[i.jsx(Xc,{className:"h-5 w-5 text-destructive"}),i.jsxs("div",{children:[i.jsx(yt,{className:"text-lg text-destructive",children:"加载失败"}),i.jsx(Wn,{className:"text-destructive/80",children:O.error})]})]})})}),x?i.jsxs("div",{className:"flex items-center justify-center py-12",children:[i.jsx(yh,{className:"h-8 w-8 animate-spin text-muted-foreground"}),i.jsx("span",{className:"ml-3 text-muted-foreground",children:"加载插件列表中..."})]}):w?i.jsx(Ke,{className:"p-6",children:i.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[i.jsx(Xc,{className:"h-12 w-12 text-destructive mb-4"}),i.jsx("h3",{className:"text-lg font-semibold mb-2",children:"加载失败"}),i.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:w}),i.jsx(oe,{onClick:()=>window.location.reload(),children:"重新加载"})]})}):U.length===0?i.jsx(Ke,{className:"p-6",children:i.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[i.jsx(Br,{className:"h-12 w-12 text-muted-foreground mb-4"}),i.jsx("h3",{className:"text-lg font-semibold mb-2",children:"未找到插件"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:r||s!=="all"?"尝试调整搜索条件或筛选器":"暂无可用插件"})]})}):i.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:U.map(I=>i.jsxs(Ke,{className:"flex flex-col hover:shadow-lg transition-shadow h-full",children:[i.jsxs(gt,{children:[i.jsxs("div",{className:"flex items-start justify-between gap-2",children:[i.jsx(yt,{className:"text-xl",children:I.manifest?.name||I.id}),i.jsxs("div",{className:"flex flex-col gap-1",children:[I.manifest?.categories&&I.manifest.categories[0]&&i.jsx(Ht,{variant:"secondary",className:"text-xs whitespace-nowrap",children:QL[I.manifest.categories[0]]||I.manifest.categories[0]}),R(I)]})]}),i.jsx(Wn,{className:"line-clamp-2",children:I.manifest?.description||"无描述"})]}),i.jsx(Pt,{className:"flex-1",children:i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground",children:[i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx(tC,{className:"h-4 w-4"}),i.jsx("span",{children:I.downloads.toLocaleString()})]}),i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx(rL,{className:"h-4 w-4 fill-yellow-400 text-yellow-400"}),i.jsx("span",{children:I.rating.toFixed(1)})]})]}),i.jsxs("div",{className:"flex flex-wrap gap-2",children:[I.manifest?.keywords&&I.manifest.keywords.slice(0,3).map(q=>i.jsx(Ht,{variant:"outline",className:"text-xs",children:q},q)),I.manifest?.keywords&&I.manifest.keywords.length>3&&i.jsxs(Ht,{variant:"outline",className:"text-xs",children:["+",I.manifest.keywords.length-3]})]}),i.jsxs("div",{className:"text-xs text-muted-foreground pt-2 border-t space-y-1",children:[i.jsxs("div",{children:["v",I.manifest?.version||"unknown"," · ",I.manifest?.author?.name||"Unknown"]}),I.manifest?.host_application&&i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx("span",{children:"支持:"}),i.jsxs("span",{className:"font-medium",children:[I.manifest.host_application.min_version,I.manifest.host_application.max_version?` - ${I.manifest.host_application.max_version}`:" - 最新版本"]})]})]})]})}),i.jsx(nz,{className:"pt-4",children:i.jsxs("div",{className:"flex items-center justify-end gap-2 w-full",children:[i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>n(I),children:"查看详情"}),I.installed?D(I)?i.jsxs(oe,{size:"sm",disabled:!N?.installed,title:N?.installed?void 0:"Git 未安装",onClick:()=>$(I),children:[i.jsx(os,{className:"h-4 w-4 mr-1"}),"更新"]}):i.jsxs(oe,{variant:"destructive",size:"sm",disabled:!N?.installed,title:N?.installed?void 0:"Git 未安装",onClick:()=>G(I),children:[i.jsx(Ct,{className:"h-4 w-4 mr-1"}),"卸载"]}):i.jsxs(oe,{size:"sm",disabled:!N?.installed||O?.operation==="install"||C!==null&&!L(I),title:N?.installed?C!==null&&!L(I)?`不兼容当前版本 (需要 ${I.manifest?.host_application?.min_version||"未知"}${I.manifest?.host_application?.max_version?` - ${I.manifest.host_application.max_version}`:"+"},当前 ${C?.version})`:void 0:"Git 未安装",onClick:()=>H(I),children:[i.jsx(tC,{className:"h-4 w-4 mr-1"}),O?.operation==="install"&&O?.plugin_id===I.id?"安装中...":"安装"]})]})})]},I.id))}),i.jsx(sr,{open:t!==null,onOpenChange:V,children:t&&t.manifest&&i.jsxs(Kn,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[i.jsx(Xn,{children:i.jsxs("div",{className:"flex items-start justify-between gap-4",children:[i.jsxs("div",{className:"space-y-2 flex-1",children:[i.jsx(Zn,{className:"text-2xl",children:t.manifest.name}),i.jsxs(gr,{children:["作者: ",t.manifest.author?.name||"Unknown",t.manifest.author?.url&&i.jsx("a",{href:t.manifest.author.url,target:"_blank",rel:"noopener noreferrer",className:"ml-2 text-primary hover:underline",children:i.jsx(Pf,{className:"h-3 w-3 inline"})})]})]}),i.jsxs("div",{className:"flex flex-col gap-2",children:[t.manifest.categories&&t.manifest.categories[0]&&i.jsx(Ht,{variant:"secondary",children:QL[t.manifest.categories[0]]||t.manifest.categories[0]}),R(t)]})]})}),i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-4",children:[i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"版本"}),i.jsxs("p",{className:"text-sm text-muted-foreground",children:["v",t.manifest?.version||"unknown"]}),t.installed&&t.installed_version&&i.jsxs("p",{className:"text-xs text-muted-foreground",children:["已安装: v",t.installed_version]})]}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"下载量"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:t.downloads.toLocaleString()})]}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"评分"}),i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx(rL,{className:"h-4 w-4 fill-yellow-400 text-yellow-400"}),i.jsxs("span",{className:"text-sm text-muted-foreground",children:[t.rating.toFixed(1)," (",t.review_count,")"]})]})]}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"许可证"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:t.manifest.license||"Unknown"})]}),i.jsxs("div",{className:"col-span-2",children:[i.jsx("p",{className:"text-sm font-medium",children:"支持版本"}),i.jsxs("p",{className:"text-sm text-muted-foreground",children:[t.manifest.host_application?.min_version||"未知",t.manifest.host_application?.max_version?` - ${t.manifest.host_application.max_version}`:" - 最新版本"]})]})]}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium mb-2",children:"关键词"}),i.jsx("div",{className:"flex flex-wrap gap-2",children:t.manifest.keywords&&t.manifest.keywords.map(I=>i.jsx(Ht,{variant:"outline",children:I},I))})]}),t.detailed_description&&i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium mb-2",children:"详细说明"}),i.jsx("p",{className:"text-sm text-muted-foreground whitespace-pre-line",children:t.detailed_description})]}),!t.detailed_description&&i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium mb-2",children:"说明"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:t.manifest.description||"无描述"})]}),i.jsxs("div",{className:"space-y-2",children:[t.manifest.homepage_url&&i.jsxs("div",{className:"text-sm",children:[i.jsx("span",{className:"font-medium",children:"主页: "}),i.jsx("a",{href:t.manifest.homepage_url,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:t.manifest.homepage_url})]}),t.manifest.repository_url&&i.jsxs("div",{className:"text-sm",children:[i.jsx("span",{className:"font-medium",children:"仓库: "}),i.jsx("a",{href:t.manifest.repository_url,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:t.manifest.repository_url})]})]})]}),i.jsxs(qr,{children:[t.manifest.homepage_url&&i.jsxs(oe,{onClick:()=>window.open(t.manifest.homepage_url,"_blank"),children:[i.jsx(Pf,{className:"h-4 w-4 mr-2"}),"访问主页"]}),t.manifest.repository_url&&i.jsxs(oe,{variant:"outline",onClick:()=>window.open(t.manifest.repository_url,"_blank"),children:[i.jsx(Pf,{className:"h-4 w-4 mr-2"}),"查看仓库"]})]})]})})]})})}function VCe(){return i.jsx(Gt,{className:"h-full",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"插件配置"}),i.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理和配置已安装的插件"})]}),i.jsxs("div",{className:"flex gap-2",children:[i.jsxs(oe,{variant:"outline",size:"sm",children:[i.jsx(os,{className:"h-4 w-4 mr-2"}),"刷新"]}),i.jsxs(oe,{size:"sm",children:[i.jsx(Ha,{className:"h-4 w-4 mr-2"}),"全局设置"]})]})]}),i.jsxs("div",{className:"grid gap-4 grid-cols-1 xs:grid-cols-2 lg:grid-cols-4",children:[i.jsxs(Ke,{children:[i.jsxs(gt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(yt,{className:"text-sm font-medium",children:"已安装插件"}),i.jsx(Mg,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Pt,{children:[i.jsx("div",{className:"text-2xl font-bold",children:"0"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"正在加载..."})]})]}),i.jsxs(Ke,{children:[i.jsxs(gt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(yt,{className:"text-sm font-medium",children:"已启用"}),i.jsx(Dr,{className:"h-4 w-4 text-green-600"})]}),i.jsxs(Pt,{children:[i.jsx("div",{className:"text-2xl font-bold",children:"0"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"运行中的插件"})]})]}),i.jsxs(Ke,{children:[i.jsxs(gt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(yt,{className:"text-sm font-medium",children:"已禁用"}),i.jsx(xl,{className:"h-4 w-4 text-orange-600"})]}),i.jsxs(Pt,{children:[i.jsx("div",{className:"text-2xl font-bold",children:"0"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"未激活的插件"})]})]}),i.jsxs(Ke,{children:[i.jsxs(gt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(yt,{className:"text-sm font-medium",children:"可更新"}),i.jsx(os,{className:"h-4 w-4 text-blue-600"})]}),i.jsxs(Pt,{children:[i.jsx("div",{className:"text-2xl font-bold",children:"0"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"有新版本可用"})]})]})]}),i.jsxs(Ke,{children:[i.jsxs(gt,{children:[i.jsx(yt,{children:"已安装的插件"}),i.jsx(Wn,{children:"查看和管理已安装插件的配置"})]}),i.jsx(Pt,{children:i.jsxs("div",{className:"flex flex-col items-center justify-center py-12 space-y-4",children:[i.jsx(Mg,{className:"h-16 w-16 text-muted-foreground/50"}),i.jsxs("div",{className:"text-center space-y-2",children:[i.jsx("p",{className:"text-lg font-medium text-muted-foreground",children:"插件配置功能开发中"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"即将支持插件的启用/禁用、参数配置等功能"})]}),i.jsx("div",{className:"flex gap-2",children:i.jsx(oe,{variant:"outline",asChild:!0,children:i.jsxs("a",{href:"/plugins",children:[i.jsx(Pf,{className:"h-4 w-4 mr-2"}),"前往插件市场"]})})})]})})]}),i.jsxs("div",{className:"grid gap-4 grid-cols-1 lg:grid-cols-2",children:[i.jsxs(Ke,{children:[i.jsx(gt,{children:i.jsx(yt,{className:"text-base",children:"即将推出的功能"})}),i.jsx(Pt,{children:i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-primary/10 p-1 mt-0.5",children:i.jsx(Dr,{className:"h-4 w-4 text-primary"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"插件启用/禁用"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"快速切换插件运行状态"})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-primary/10 p-1 mt-0.5",children:i.jsx(Dr,{className:"h-4 w-4 text-primary"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"配置参数编辑"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"可视化编辑插件配置文件"})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-primary/10 p-1 mt-0.5",children:i.jsx(Dr,{className:"h-4 w-4 text-primary"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"依赖管理"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"查看和安装插件依赖包"})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-primary/10 p-1 mt-0.5",children:i.jsx(Dr,{className:"h-4 w-4 text-primary"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"插件日志"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"查看插件运行日志和错误信息"})]})]})]})})]}),i.jsxs(Ke,{children:[i.jsx(gt,{children:i.jsx(yt,{className:"text-base",children:"开发者工具"})}),i.jsx(Pt,{children:i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-blue-500/10 p-1 mt-0.5",children:i.jsx(Ha,{className:"h-4 w-4 text-blue-600"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"热重载"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"无需重启即可重新加载插件"})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-blue-500/10 p-1 mt-0.5",children:i.jsx(Ha,{className:"h-4 w-4 text-blue-600"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"配置验证"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"检查配置文件格式和完整性"})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-blue-500/10 p-1 mt-0.5",children:i.jsx(Ha,{className:"h-4 w-4 text-blue-600"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"性能监控"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"监控插件的资源占用情况"})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-blue-500/10 p-1 mt-0.5",children:i.jsx(Ha,{className:"h-4 w-4 text-blue-600"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"调试模式"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"详细的调试信息和错误追踪"})]})]})]})})]})]}),i.jsx(Ke,{className:"border-blue-200 bg-blue-50 dark:bg-blue-950/20 dark:border-blue-900",children:i.jsx(Pt,{className:"pt-6",children:i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx(xl,{className:"h-5 w-5 text-blue-600 mt-0.5 flex-shrink-0"}),i.jsxs("div",{className:"space-y-1",children:[i.jsx("p",{className:"text-sm font-medium text-blue-900 dark:text-blue-100",children:"开发进行中"}),i.jsxs("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:["插件配置功能正在积极开发中。目前您可以通过",i.jsx("strong",{children:"插件市场"}),"安装和卸载插件,完整的配置管理功能即将推出。"]})]})]})})})]})})}function GCe(){const e=ua(),{toast:t}=xr(),[n,r]=y.useState([]),[a,s]=y.useState(!0),[l,u]=y.useState(null),[d,f]=y.useState(null),[m,p]=y.useState(!1),[g,x]=y.useState(!1),[j,w]=y.useState({id:"",name:"",raw_prefix:"",clone_prefix:"",enabled:!0,priority:1}),b=y.useCallback(async()=>{try{s(!0),u(null);const T=localStorage.getItem("access-token"),M=await fetch("/api/webui/plugins/mirrors",{headers:{Authorization:`Bearer ${T}`}});if(!M.ok)throw new Error("获取镜像源列表失败");const R=await M.json();r(R.mirrors||[])}catch(T){const M=T instanceof Error?T.message:"加载镜像源失败";u(M),t({title:"加载失败",description:M,variant:"destructive"})}finally{s(!1)}},[t]);y.useEffect(()=>{b()},[b]);const N=async()=>{try{const T=localStorage.getItem("access-token"),M=await fetch("/api/webui/plugins/mirrors",{method:"POST",headers:{Authorization:`Bearer ${T}`,"Content-Type":"application/json"},body:JSON.stringify(j)});if(!M.ok){const R=await M.json();throw new Error(R.detail||"添加镜像源失败")}t({title:"添加成功",description:"镜像源已添加"}),p(!1),w({id:"",name:"",raw_prefix:"",clone_prefix:"",enabled:!0,priority:1}),b()}catch(T){t({title:"添加失败",description:T instanceof Error?T.message:"未知错误",variant:"destructive"})}},E=async()=>{if(d)try{const T=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${d.id}`,{method:"PUT",headers:{Authorization:`Bearer ${T}`,"Content-Type":"application/json"},body:JSON.stringify({name:j.name,raw_prefix:j.raw_prefix,clone_prefix:j.clone_prefix,enabled:j.enabled,priority:j.priority})})).ok)throw new Error("更新镜像源失败");t({title:"更新成功",description:"镜像源已更新"}),x(!1),f(null),b()}catch(T){t({title:"更新失败",description:T instanceof Error?T.message:"未知错误",variant:"destructive"})}},O=async T=>{if(confirm("确定要删除这个镜像源吗?"))try{const M=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${T}`,{method:"DELETE",headers:{Authorization:`Bearer ${M}`}})).ok)throw new Error("删除镜像源失败");t({title:"删除成功",description:"镜像源已删除"}),b()}catch(M){t({title:"删除失败",description:M instanceof Error?M.message:"未知错误",variant:"destructive"})}},A=async T=>{try{const M=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${T.id}`,{method:"PUT",headers:{Authorization:`Bearer ${M}`,"Content-Type":"application/json"},body:JSON.stringify({enabled:!T.enabled})})).ok)throw new Error("更新状态失败");b()}catch(M){t({title:"更新失败",description:M instanceof Error?M.message:"未知错误",variant:"destructive"})}},C=T=>{f(T),w({id:T.id,name:T.name,raw_prefix:T.raw_prefix,clone_prefix:T.clone_prefix,enabled:T.enabled,priority:T.priority}),x(!0)},k=async(T,M)=>{const R=M==="up"?T.priority-1:T.priority+1;if(!(R<1))try{const L=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${T.id}`,{method:"PUT",headers:{Authorization:`Bearer ${L}`,"Content-Type":"application/json"},body:JSON.stringify({priority:R})})).ok)throw new Error("更新优先级失败");b()}catch(L){t({title:"更新失败",description:L instanceof Error?L.message:"未知错误",variant:"destructive"})}};return i.jsx(Gt,{className:"h-full",children:i.jsxs("div",{className:"space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",children:[i.jsxs("div",{className:"flex items-center gap-4",children:[i.jsx(oe,{variant:"ghost",size:"icon",onClick:()=>e({to:"/plugins"}),children:i.jsx(m8,{className:"h-5 w-5"})}),i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"镜像源配置"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"管理 Git 克隆和文件下载的镜像源"})]})]}),i.jsxs(oe,{onClick:()=>p(!0),children:[i.jsx(ir,{className:"h-4 w-4 mr-2"}),"添加镜像源"]})]}),a?i.jsx(Ke,{className:"p-6",children:i.jsx("div",{className:"flex items-center justify-center py-8",children:i.jsx(yh,{className:"h-8 w-8 animate-spin text-primary"})})}):l?i.jsx(Ke,{className:"p-6",children:i.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[i.jsx(Xc,{className:"h-12 w-12 text-destructive mb-4"}),i.jsx("h3",{className:"text-lg font-semibold mb-2",children:"加载失败"}),i.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:l}),i.jsx(oe,{onClick:b,children:"重新加载"})]})}):i.jsxs(Ke,{children:[i.jsx("div",{className:"hidden md:block",children:i.jsxs(Pl,{children:[i.jsx(Rl,{children:i.jsxs(Tn,{children:[i.jsx(Xe,{children:"状态"}),i.jsx(Xe,{children:"名称"}),i.jsx(Xe,{children:"ID"}),i.jsx(Xe,{children:"优先级"}),i.jsx(Xe,{className:"text-right",children:"操作"})]})}),i.jsx(Dl,{children:n.map(T=>i.jsxs(Tn,{children:[i.jsx(Be,{children:i.jsx(dt,{checked:T.enabled,onCheckedChange:()=>A(T)})}),i.jsx(Be,{children:i.jsxs("div",{children:[i.jsx("div",{className:"font-medium",children:T.name}),i.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:["Raw: ",T.raw_prefix]})]})}),i.jsx(Be,{children:i.jsx(Ht,{variant:"outline",children:T.id})}),i.jsx(Be,{children:i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"font-mono",children:T.priority}),i.jsxs("div",{className:"flex flex-col gap-1",children:[i.jsx(oe,{variant:"ghost",size:"icon",className:"h-5 w-5",onClick:()=>k(T,"up"),disabled:T.priority===1,children:i.jsx(QN,{className:"h-3 w-3"})}),i.jsx(oe,{variant:"ghost",size:"icon",className:"h-5 w-5",onClick:()=>k(T,"down"),children:i.jsx(gh,{className:"h-3 w-3"})})]})]})}),i.jsx(Be,{className:"text-right",children:i.jsxs("div",{className:"flex items-center justify-end gap-2",children:[i.jsx(oe,{variant:"ghost",size:"icon",onClick:()=>C(T),children:i.jsx(Ru,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"ghost",size:"icon",onClick:()=>O(T.id),children:i.jsx(Ct,{className:"h-4 w-4 text-destructive"})})]})})]},T.id))})]})}),i.jsx("div",{className:"md:hidden p-4 space-y-4",children:n.map(T=>i.jsx(Ke,{className:"p-4",children:i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-start justify-between",children:[i.jsxs("div",{className:"flex-1",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("h3",{className:"font-semibold",children:T.name}),T.enabled&&i.jsx(Ht,{variant:"default",className:"text-xs",children:"启用"})]}),i.jsx(Ht,{variant:"outline",className:"mt-1 text-xs",children:T.id})]}),i.jsx(dt,{checked:T.enabled,onCheckedChange:()=>A(T)})]}),i.jsxs("div",{className:"text-sm space-y-1",children:[i.jsxs("div",{className:"text-muted-foreground",children:[i.jsx("span",{className:"font-medium",children:"Raw: "}),i.jsx("span",{className:"break-all",children:T.raw_prefix})]}),i.jsxs("div",{className:"text-muted-foreground",children:[i.jsx("span",{className:"font-medium",children:"优先级: "}),i.jsx("span",{className:"font-mono",children:T.priority})]})]}),i.jsxs("div",{className:"flex items-center gap-2 pt-2 border-t",children:[i.jsxs(oe,{variant:"outline",size:"sm",className:"flex-1",onClick:()=>C(T),children:[i.jsx(Ru,{className:"h-4 w-4 mr-1"}),"编辑"]}),i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>k(T,"up"),disabled:T.priority===1,children:i.jsx(QN,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>k(T,"down"),children:i.jsx(gh,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"destructive",size:"sm",onClick:()=>O(T.id),children:i.jsx(Ct,{className:"h-4 w-4"})})]})]})},T.id))})]}),i.jsx(sr,{open:m,onOpenChange:p,children:i.jsxs(Kn,{className:"max-w-lg",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"添加镜像源"}),i.jsx(gr,{children:"添加新的 Git 镜像源配置"})]}),i.jsxs("div",{className:"space-y-4 py-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"add-id",children:"镜像源 ID *"}),i.jsx(Ce,{id:"add-id",placeholder:"例如: my-mirror",value:j.id,onChange:T=>w({...j,id:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"add-name",children:"名称 *"}),i.jsx(Ce,{id:"add-name",placeholder:"例如: 我的镜像源",value:j.name,onChange:T=>w({...j,name:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"add-raw",children:"Raw 文件前缀 *"}),i.jsx(Ce,{id:"add-raw",placeholder:"https://example.com/raw",value:j.raw_prefix,onChange:T=>w({...j,raw_prefix:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"add-clone",children:"克隆前缀 *"}),i.jsx(Ce,{id:"add-clone",placeholder:"https://example.com/clone",value:j.clone_prefix,onChange:T=>w({...j,clone_prefix:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"add-priority",children:"优先级"}),i.jsx(Ce,{id:"add-priority",type:"number",min:"1",value:j.priority,onChange:T=>w({...j,priority:parseInt(T.target.value)||1})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"数字越小优先级越高"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(dt,{id:"add-enabled",checked:j.enabled,onCheckedChange:T=>w({...j,enabled:T})}),i.jsx(ne,{htmlFor:"add-enabled",children:"启用此镜像源"})]})]}),i.jsxs(qr,{children:[i.jsx(oe,{variant:"outline",onClick:()=>p(!1),children:"取消"}),i.jsx(oe,{onClick:N,children:"添加"})]})]})}),i.jsx(sr,{open:g,onOpenChange:x,children:i.jsxs(Kn,{className:"max-w-lg",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"编辑镜像源"}),i.jsx(gr,{children:"修改镜像源配置"})]}),i.jsxs("div",{className:"space-y-4 py-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{children:"镜像源 ID"}),i.jsx(Ce,{value:j.id,disabled:!0})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"edit-name",children:"名称 *"}),i.jsx(Ce,{id:"edit-name",value:j.name,onChange:T=>w({...j,name:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"edit-raw",children:"Raw 文件前缀 *"}),i.jsx(Ce,{id:"edit-raw",value:j.raw_prefix,onChange:T=>w({...j,raw_prefix:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"edit-clone",children:"克隆前缀 *"}),i.jsx(Ce,{id:"edit-clone",value:j.clone_prefix,onChange:T=>w({...j,clone_prefix:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(ne,{htmlFor:"edit-priority",children:"优先级"}),i.jsx(Ce,{id:"edit-priority",type:"number",min:"1",value:j.priority,onChange:T=>w({...j,priority:parseInt(T.target.value)||1})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"数字越小优先级越高"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(dt,{id:"edit-enabled",checked:j.enabled,onCheckedChange:T=>w({...j,enabled:T})}),i.jsx(ne,{htmlFor:"edit-enabled",children:"启用此镜像源"})]})]}),i.jsxs(qr,{children:[i.jsx(oe,{variant:"outline",onClick:()=>x(!1),children:"取消"}),i.jsx(oe,{onClick:E,children:"保存"})]})]})})]})})}const YCe=Qu("pointer-events-none inline-flex select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono font-medium opacity-100",{variants:{size:{sm:"h-5 text-[10px]",default:"h-6 text-xs",lg:"h-7 text-sm"}},defaultVariants:{size:"default"}}),i9=y.forwardRef(({className:e,size:t,abbrTitle:n,children:r,...a},s)=>i.jsx("kbd",{className:ue(YCe({size:t,className:e})),ref:s,...a,children:n?i.jsx("abbr",{title:n,children:r}):r}));i9.displayName="Kbd";const KCe=[{icon:kg,title:"首页",description:"查看仪表板概览",path:"/",category:"概览"},{icon:sE,title:"麦麦主程序配置",description:"配置麦麦的核心设置",path:"/config/bot",category:"配置"},{icon:y8,title:"麦麦模型提供商配置",description:"配置模型提供商",path:"/config/modelProvider",category:"配置"},{icon:p8,title:"麦麦模型配置",description:"配置模型参数",path:"/config/model",category:"配置"},{icon:cE,title:"表情包管理",description:"管理麦麦的表情包",path:"/resource/emoji",category:"资源"},{icon:Xh,title:"表达方式管理",description:"管理麦麦的表达方式",path:"/resource/expression",category:"资源"},{icon:v8,title:"人物信息管理",description:"管理人物信息",path:"/resource/person",category:"资源"},{icon:Tve,title:"统计信息",description:"查看使用统计",path:"/statistics",category:"监控"},{icon:Mg,title:"插件市场",description:"浏览和安装插件",path:"/plugins",category:"扩展"},{icon:Ag,title:"日志查看器",description:"查看系统日志",path:"/logs",category:"监控"},{icon:Ha,title:"系统设置",description:"配置系统参数",path:"/settings",category:"系统"}];function XCe({open:e,onOpenChange:t}){const[n,r]=y.useState(""),[a,s]=y.useState(0),l=ua(),u=KCe.filter(m=>m.title.toLowerCase().includes(n.toLowerCase())||m.description.toLowerCase().includes(n.toLowerCase())||m.category.toLowerCase().includes(n.toLowerCase()));y.useEffect(()=>{e&&(r(""),s(0))},[e]);const d=y.useCallback(m=>{l({to:m}),t(!1)},[l,t]),f=y.useCallback(m=>{m.key==="ArrowDown"?(m.preventDefault(),s(p=>(p+1)%u.length)):m.key==="ArrowUp"?(m.preventDefault(),s(p=>(p-1+u.length)%u.length)):m.key==="Enter"&&u[a]&&(m.preventDefault(),d(u[a].path))},[u,a,d]);return i.jsx(sr,{open:e,onOpenChange:t,children:i.jsxs(Kn,{className:"max-w-2xl p-0 gap-0",children:[i.jsxs(Xn,{className:"px-4 pt-4 pb-0",children:[i.jsx(Zn,{className:"sr-only",children:"搜索"}),i.jsxs("div",{className:"relative",children:[i.jsx(Br,{className:"absolute left-3 top-1/2 h-5 w-5 -translate-y-1/2 text-muted-foreground"}),i.jsx(Ce,{value:n,onChange:m=>{r(m.target.value),s(0)},onKeyDown:f,placeholder:"搜索页面...",className:"h-12 pl-11 text-base border-0 focus-visible:ring-0 shadow-none",autoFocus:!0})]})]}),i.jsx("div",{className:"border-t",children:i.jsx(Gt,{className:"h-[400px]",children:u.length>0?i.jsx("div",{className:"p-2",children:u.map((m,p)=>{const g=m.icon;return i.jsxs("button",{onClick:()=>d(m.path),onMouseEnter:()=>s(p),className:ue("w-full flex items-center gap-3 px-3 py-2.5 rounded-md text-left transition-colors",p===a?"bg-accent text-accent-foreground":"hover:bg-accent/50"),children:[i.jsx(g,{className:"h-5 w-5 flex-shrink-0"}),i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:"font-medium text-sm",children:m.title}),i.jsx("div",{className:"text-xs text-muted-foreground truncate",children:m.description})]}),i.jsx("div",{className:"text-xs text-muted-foreground px-2 py-1 bg-muted rounded",children:m.category})]},m.path)})}):i.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[i.jsx(Br,{className:"h-12 w-12 text-muted-foreground/50 mb-4"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:n?"未找到匹配的页面":"输入关键词开始搜索"})]})})}),i.jsx("div",{className:"border-t px-4 py-3 flex items-center justify-between text-xs text-muted-foreground",children:i.jsxs("div",{className:"flex items-center gap-4",children:[i.jsxs("span",{className:"flex items-center gap-1",children:[i.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"↑"}),i.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"↓"}),"导航"]}),i.jsxs("span",{className:"flex items-center gap-1",children:[i.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"Enter"}),"选择"]}),i.jsxs("span",{className:"flex items-center gap-1",children:[i.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"Esc"}),"关闭"]})]})})]})})}function ZCe(e){const t=QCe(e),n=y.forwardRef((r,a)=>{const{children:s,...l}=r,u=y.Children.toArray(s),d=u.find(eOe);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}function QCe(e){const t=y.forwardRef((n,r)=>{const{children:a,...s}=n;if(y.isValidElement(a)){const l=nOe(a),u=tOe(s,a.props);return a.type!==y.Fragment&&(u.ref=r?zr(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var JCe=Symbol("radix.slottable");function eOe(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===JCe}function tOe(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function nOe(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var _C=["Enter"," "],rOe=["ArrowDown","PageUp","Home"],s9=["ArrowUp","PageDown","End"],aOe=[...rOe,...s9],iOe={ltr:[..._C,"ArrowRight"],rtl:[..._C,"ArrowLeft"]},sOe={ltr:["ArrowLeft"],rtl:["ArrowRight"]},lm="Menu",[Ch,oOe,lOe]=Rh(lm),[Ll,o9]=yr(lm,[lOe,vo,Xg]),cm=vo(),l9=Xg(),[c9,wo]=Ll(lm),[cOe,um]=Ll(lm),u9=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:a,onOpenChange:s,modal:l=!0}=e,u=cm(t),[d,f]=y.useState(null),m=y.useRef(!1),p=yn(s),g=Uu(a);return y.useEffect(()=>{const x=()=>{m.current=!0,document.addEventListener("pointerdown",j,{capture:!0,once:!0}),document.addEventListener("pointermove",j,{capture:!0,once:!0})},j=()=>m.current=!1;return document.addEventListener("keydown",x,{capture:!0}),()=>{document.removeEventListener("keydown",x,{capture:!0}),document.removeEventListener("pointerdown",j,{capture:!0}),document.removeEventListener("pointermove",j,{capture:!0})}},[]),i.jsx(tm,{...u,children:i.jsx(c9,{scope:t,open:n,onOpenChange:p,content:d,onContentChange:f,children:i.jsx(cOe,{scope:t,onClose:y.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:m,dir:g,modal:l,children:r})})})};u9.displayName=lm;var uOe="MenuAnchor",BE=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,a=cm(n);return i.jsx(nm,{...a,...r,ref:t})});BE.displayName=uOe;var qE="MenuPortal",[dOe,d9]=Ll(qE,{forceMount:void 0}),f9=e=>{const{__scopeMenu:t,forceMount:n,children:r,container:a}=e,s=wo(qE,t);return i.jsx(dOe,{scope:t,forceMount:n,children:i.jsx(zn,{present:n||s.open,children:i.jsx(Ml,{asChild:!0,container:a,children:r})})})};f9.displayName=qE;var Aa="MenuContent",[fOe,FE]=Ll(Aa),h9=y.forwardRef((e,t)=>{const n=d9(Aa,e.__scopeMenu),{forceMount:r=n.forceMount,...a}=e,s=wo(Aa,e.__scopeMenu),l=um(Aa,e.__scopeMenu);return i.jsx(Ch.Provider,{scope:e.__scopeMenu,children:i.jsx(zn,{present:r||s.open,children:i.jsx(Ch.Slot,{scope:e.__scopeMenu,children:l.modal?i.jsx(hOe,{...a,ref:t}):i.jsx(mOe,{...a,ref:t})})})})}),hOe=y.forwardRef((e,t)=>{const n=wo(Aa,e.__scopeMenu),r=y.useRef(null),a=Ue(t,r);return y.useEffect(()=>{const s=r.current;if(s)return Fy(s)},[]),i.jsx(UE,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:Ne(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),mOe=y.forwardRef((e,t)=>{const n=wo(Aa,e.__scopeMenu);return i.jsx(UE,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),pOe=ZCe("MenuContent.ScrollLock"),UE=y.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:a,onOpenAutoFocus:s,onCloseAutoFocus:l,disableOutsidePointerEvents:u,onEntryFocus:d,onEscapeKeyDown:f,onPointerDownOutside:m,onFocusOutside:p,onInteractOutside:g,onDismiss:x,disableOutsideScroll:j,...w}=e,b=wo(Aa,n),N=um(Aa,n),E=cm(n),O=l9(n),A=oOe(n),[C,k]=y.useState(null),T=y.useRef(null),M=Ue(t,T,b.onContentChange),R=y.useRef(0),L=y.useRef(""),D=y.useRef(0),U=y.useRef(null),V=y.useRef("right"),H=y.useRef(0),G=j?Jh:y.Fragment,$=j?{as:pOe,allowPinchZoom:!0}:void 0,I=Z=>{const ee=L.current+Z,F=A().filter(ae=>!ae.disabled),z=document.activeElement,K=F.find(ae=>ae.ref.current===z)?.textValue,ie=F.map(ae=>ae.textValue),Q=OOe(ie,ee,K),he=F.find(ae=>ae.textValue===Q)?.ref.current;(function ae(we){L.current=we,window.clearTimeout(R.current),we!==""&&(R.current=window.setTimeout(()=>ae(""),1e3))})(ee),he&&setTimeout(()=>he.focus())};y.useEffect(()=>()=>window.clearTimeout(R.current),[]),By();const q=y.useCallback(Z=>V.current===U.current?.side&&AOe(Z,U.current?.area),[]);return i.jsx(fOe,{scope:n,searchRef:L,onItemEnter:y.useCallback(Z=>{q(Z)&&Z.preventDefault()},[q]),onItemLeave:y.useCallback(Z=>{q(Z)||(T.current?.focus(),k(null))},[q]),onTriggerLeave:y.useCallback(Z=>{q(Z)&&Z.preventDefault()},[q]),pointerGraceTimerRef:D,onPointerGraceIntentChange:y.useCallback(Z=>{U.current=Z},[]),children:i.jsx(G,{...$,children:i.jsx(Qh,{asChild:!0,trapped:a,onMountAutoFocus:Ne(s,Z=>{Z.preventDefault(),T.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:l,children:i.jsx(kl,{asChild:!0,disableOutsidePointerEvents:u,onEscapeKeyDown:f,onPointerDownOutside:m,onFocusOutside:p,onInteractOutside:g,onDismiss:x,children:i.jsx(lz,{asChild:!0,...O,dir:N.dir,orientation:"vertical",loop:r,currentTabStopId:C,onCurrentTabStopIdChange:k,onEntryFocus:Ne(d,Z=>{N.isUsingKeyboardRef.current||Z.preventDefault()}),preventScrollOnEntryFocus:!0,children:i.jsx(Qy,{role:"menu","aria-orientation":"vertical","data-state":T9(b.open),"data-radix-menu-content":"",dir:N.dir,...E,...w,ref:M,style:{outline:"none",...w.style},onKeyDown:Ne(w.onKeyDown,Z=>{const F=Z.target.closest("[data-radix-menu-content]")===Z.currentTarget,z=Z.ctrlKey||Z.altKey||Z.metaKey,K=Z.key.length===1;F&&(Z.key==="Tab"&&Z.preventDefault(),!z&&K&&I(Z.key));const ie=T.current;if(Z.target!==ie||!aOe.includes(Z.key))return;Z.preventDefault();const he=A().filter(ae=>!ae.disabled).map(ae=>ae.ref.current);s9.includes(Z.key)&&he.reverse(),NOe(he)}),onBlur:Ne(e.onBlur,Z=>{Z.currentTarget.contains(Z.target)||(window.clearTimeout(R.current),L.current="")}),onPointerMove:Ne(e.onPointerMove,Oh(Z=>{const ee=Z.target,F=H.current!==Z.clientX;if(Z.currentTarget.contains(ee)&&F){const z=Z.clientX>H.current?"right":"left";V.current=z,H.current=Z.clientX}}))})})})})})})});h9.displayName=Aa;var vOe="MenuGroup",HE=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return i.jsx($e.div,{role:"group",...r,ref:t})});HE.displayName=vOe;var gOe="MenuLabel",m9=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return i.jsx($e.div,{...r,ref:t})});m9.displayName=gOe;var Bg="MenuItem",JL="menu.itemSelect",ux=y.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...a}=e,s=y.useRef(null),l=um(Bg,e.__scopeMenu),u=FE(Bg,e.__scopeMenu),d=Ue(t,s),f=y.useRef(!1),m=()=>{const p=s.current;if(!n&&p){const g=new CustomEvent(JL,{bubbles:!0,cancelable:!0});p.addEventListener(JL,x=>r?.(x),{once:!0}),VC(p,g),g.defaultPrevented?f.current=!1:l.onClose()}};return i.jsx(p9,{...a,ref:d,disabled:n,onClick:Ne(e.onClick,m),onPointerDown:p=>{e.onPointerDown?.(p),f.current=!0},onPointerUp:Ne(e.onPointerUp,p=>{f.current||p.currentTarget?.click()}),onKeyDown:Ne(e.onKeyDown,p=>{const g=u.searchRef.current!=="";n||g&&p.key===" "||_C.includes(p.key)&&(p.currentTarget.click(),p.preventDefault())})})});ux.displayName=Bg;var p9=y.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:a,...s}=e,l=FE(Bg,n),u=l9(n),d=y.useRef(null),f=Ue(t,d),[m,p]=y.useState(!1),[g,x]=y.useState("");return y.useEffect(()=>{const j=d.current;j&&x((j.textContent??"").trim())},[s.children]),i.jsx(Ch.ItemSlot,{scope:n,disabled:r,textValue:a??g,children:i.jsx(cz,{asChild:!0,...u,focusable:!r,children:i.jsx($e.div,{role:"menuitem","data-highlighted":m?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...s,ref:f,onPointerMove:Ne(e.onPointerMove,Oh(j=>{r?l.onItemLeave(j):(l.onItemEnter(j),j.defaultPrevented||j.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Ne(e.onPointerLeave,Oh(j=>l.onItemLeave(j))),onFocus:Ne(e.onFocus,()=>p(!0)),onBlur:Ne(e.onBlur,()=>p(!1))})})})}),yOe="MenuCheckboxItem",v9=y.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:r,...a}=e;return i.jsx(w9,{scope:e.__scopeMenu,checked:n,children:i.jsx(ux,{role:"menuitemcheckbox","aria-checked":qg(n)?"mixed":n,...a,ref:t,"data-state":GE(n),onSelect:Ne(a.onSelect,()=>r?.(qg(n)?!0:!n),{checkForDefaultPrevented:!1})})})});v9.displayName=yOe;var g9="MenuRadioGroup",[xOe,bOe]=Ll(g9,{value:void 0,onValueChange:()=>{}}),y9=y.forwardRef((e,t)=>{const{value:n,onValueChange:r,...a}=e,s=yn(r);return i.jsx(xOe,{scope:e.__scopeMenu,value:n,onValueChange:s,children:i.jsx(HE,{...a,ref:t})})});y9.displayName=g9;var x9="MenuRadioItem",b9=y.forwardRef((e,t)=>{const{value:n,...r}=e,a=bOe(x9,e.__scopeMenu),s=n===a.value;return i.jsx(w9,{scope:e.__scopeMenu,checked:s,children:i.jsx(ux,{role:"menuitemradio","aria-checked":s,...r,ref:t,"data-state":GE(s),onSelect:Ne(r.onSelect,()=>a.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});b9.displayName=x9;var WE="MenuItemIndicator",[w9,wOe]=Ll(WE,{checked:!1}),j9=y.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:r,...a}=e,s=wOe(WE,n);return i.jsx(zn,{present:r||qg(s.checked)||s.checked===!0,children:i.jsx($e.span,{...a,ref:t,"data-state":GE(s.checked)})})});j9.displayName=WE;var jOe="MenuSeparator",S9=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return i.jsx($e.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});S9.displayName=jOe;var SOe="MenuArrow",_9=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,a=cm(n);return i.jsx(Jy,{...a,...r,ref:t})});_9.displayName=SOe;var VE="MenuSub",[_Oe,N9]=Ll(VE),C9=e=>{const{__scopeMenu:t,children:n,open:r=!1,onOpenChange:a}=e,s=wo(VE,t),l=cm(t),[u,d]=y.useState(null),[f,m]=y.useState(null),p=yn(a);return y.useEffect(()=>(s.open===!1&&p(!1),()=>p(!1)),[s.open,p]),i.jsx(tm,{...l,children:i.jsx(c9,{scope:t,open:r,onOpenChange:p,content:f,onContentChange:m,children:i.jsx(_Oe,{scope:t,contentId:Gn(),triggerId:Gn(),trigger:u,onTriggerChange:d,children:n})})})};C9.displayName=VE;var wf="MenuSubTrigger",O9=y.forwardRef((e,t)=>{const n=wo(wf,e.__scopeMenu),r=um(wf,e.__scopeMenu),a=N9(wf,e.__scopeMenu),s=FE(wf,e.__scopeMenu),l=y.useRef(null),{pointerGraceTimerRef:u,onPointerGraceIntentChange:d}=s,f={__scopeMenu:e.__scopeMenu},m=y.useCallback(()=>{l.current&&window.clearTimeout(l.current),l.current=null},[]);return y.useEffect(()=>m,[m]),y.useEffect(()=>{const p=u.current;return()=>{window.clearTimeout(p),d(null)}},[u,d]),i.jsx(BE,{asChild:!0,...f,children:i.jsx(p9,{id:a.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":a.contentId,"data-state":T9(n.open),...e,ref:zr(t,a.onTriggerChange),onClick:p=>{e.onClick?.(p),!(e.disabled||p.defaultPrevented)&&(p.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:Ne(e.onPointerMove,Oh(p=>{s.onItemEnter(p),!p.defaultPrevented&&!e.disabled&&!n.open&&!l.current&&(s.onPointerGraceIntentChange(null),l.current=window.setTimeout(()=>{n.onOpenChange(!0),m()},100))})),onPointerLeave:Ne(e.onPointerLeave,Oh(p=>{m();const g=n.content?.getBoundingClientRect();if(g){const x=n.content?.dataset.side,j=x==="right",w=j?-5:5,b=g[j?"left":"right"],N=g[j?"right":"left"];s.onPointerGraceIntentChange({area:[{x:p.clientX+w,y:p.clientY},{x:b,y:g.top},{x:N,y:g.top},{x:N,y:g.bottom},{x:b,y:g.bottom}],side:x}),window.clearTimeout(u.current),u.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(p),p.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:Ne(e.onKeyDown,p=>{const g=s.searchRef.current!=="";e.disabled||g&&p.key===" "||iOe[r.dir].includes(p.key)&&(n.onOpenChange(!0),n.content?.focus(),p.preventDefault())})})})});O9.displayName=wf;var E9="MenuSubContent",A9=y.forwardRef((e,t)=>{const n=d9(Aa,e.__scopeMenu),{forceMount:r=n.forceMount,...a}=e,s=wo(Aa,e.__scopeMenu),l=um(Aa,e.__scopeMenu),u=N9(E9,e.__scopeMenu),d=y.useRef(null),f=Ue(t,d);return i.jsx(Ch.Provider,{scope:e.__scopeMenu,children:i.jsx(zn,{present:r||s.open,children:i.jsx(Ch.Slot,{scope:e.__scopeMenu,children:i.jsx(UE,{id:u.contentId,"aria-labelledby":u.triggerId,...a,ref:f,align:"start",side:l.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:m=>{l.isUsingKeyboardRef.current&&d.current?.focus(),m.preventDefault()},onCloseAutoFocus:m=>m.preventDefault(),onFocusOutside:Ne(e.onFocusOutside,m=>{m.target!==u.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:Ne(e.onEscapeKeyDown,m=>{l.onClose(),m.preventDefault()}),onKeyDown:Ne(e.onKeyDown,m=>{const p=m.currentTarget.contains(m.target),g=sOe[l.dir].includes(m.key);p&&g&&(s.onOpenChange(!1),u.trigger?.focus(),m.preventDefault())})})})})})});A9.displayName=E9;function T9(e){return e?"open":"closed"}function qg(e){return e==="indeterminate"}function GE(e){return qg(e)?"indeterminate":e?"checked":"unchecked"}function NOe(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function COe(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function OOe(e,t,n){const a=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let l=COe(e,Math.max(s,0));a.length===1&&(l=l.filter(f=>f!==n));const d=l.find(f=>f.toLowerCase().startsWith(a.toLowerCase()));return d!==n?d:void 0}function EOe(e,t){const{x:n,y:r}=e;let a=!1;for(let s=0,l=t.length-1;sr!=g>r&&n<(p-f)*(r-m)/(g-m)+f&&(a=!a)}return a}function AOe(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return EOe(n,t)}function Oh(e){return t=>t.pointerType==="mouse"?e(t):void 0}var TOe=u9,kOe=BE,MOe=f9,POe=h9,ROe=HE,DOe=m9,$Oe=ux,IOe=v9,LOe=y9,zOe=b9,BOe=j9,qOe=S9,FOe=_9,UOe=C9,HOe=O9,WOe=A9,YE="ContextMenu",[VOe]=yr(YE,[o9]),br=o9(),[GOe,k9]=VOe(YE),M9=e=>{const{__scopeContextMenu:t,children:n,onOpenChange:r,dir:a,modal:s=!0}=e,[l,u]=y.useState(!1),d=br(t),f=yn(r),m=y.useCallback(p=>{u(p),f(p)},[f]);return i.jsx(GOe,{scope:t,open:l,onOpenChange:m,modal:s,children:i.jsx(TOe,{...d,dir:a,open:l,onOpenChange:m,modal:s,children:n})})};M9.displayName=YE;var P9="ContextMenuTrigger",R9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,disabled:r=!1,...a}=e,s=k9(P9,n),l=br(n),u=y.useRef({x:0,y:0}),d=y.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...u.current})}),f=y.useRef(0),m=y.useCallback(()=>window.clearTimeout(f.current),[]),p=g=>{u.current={x:g.clientX,y:g.clientY},s.onOpenChange(!0)};return y.useEffect(()=>m,[m]),y.useEffect(()=>void(r&&m()),[r,m]),i.jsxs(i.Fragment,{children:[i.jsx(kOe,{...l,virtualRef:d}),i.jsx($e.span,{"data-state":s.open?"open":"closed","data-disabled":r?"":void 0,...a,ref:t,style:{WebkitTouchCallout:"none",...e.style},onContextMenu:r?e.onContextMenu:Ne(e.onContextMenu,g=>{m(),p(g),g.preventDefault()}),onPointerDown:r?e.onPointerDown:Ne(e.onPointerDown,av(g=>{m(),f.current=window.setTimeout(()=>p(g),700)})),onPointerMove:r?e.onPointerMove:Ne(e.onPointerMove,av(m)),onPointerCancel:r?e.onPointerCancel:Ne(e.onPointerCancel,av(m)),onPointerUp:r?e.onPointerUp:Ne(e.onPointerUp,av(m))})]})});R9.displayName=P9;var YOe="ContextMenuPortal",D9=e=>{const{__scopeContextMenu:t,...n}=e,r=br(t);return i.jsx(MOe,{...r,...n})};D9.displayName=YOe;var $9="ContextMenuContent",I9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=k9($9,n),s=br(n),l=y.useRef(!1);return i.jsx(POe,{...s,...r,ref:t,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:u=>{e.onCloseAutoFocus?.(u),!u.defaultPrevented&&l.current&&u.preventDefault(),l.current=!1},onInteractOutside:u=>{e.onInteractOutside?.(u),!u.defaultPrevented&&!a.modal&&(l.current=!0)},style:{...e.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});I9.displayName=$9;var KOe="ContextMenuGroup",XOe=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=br(n);return i.jsx(ROe,{...a,...r,ref:t})});XOe.displayName=KOe;var ZOe="ContextMenuLabel",L9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=br(n);return i.jsx(DOe,{...a,...r,ref:t})});L9.displayName=ZOe;var QOe="ContextMenuItem",z9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=br(n);return i.jsx($Oe,{...a,...r,ref:t})});z9.displayName=QOe;var JOe="ContextMenuCheckboxItem",B9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=br(n);return i.jsx(IOe,{...a,...r,ref:t})});B9.displayName=JOe;var eEe="ContextMenuRadioGroup",tEe=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=br(n);return i.jsx(LOe,{...a,...r,ref:t})});tEe.displayName=eEe;var nEe="ContextMenuRadioItem",q9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=br(n);return i.jsx(zOe,{...a,...r,ref:t})});q9.displayName=nEe;var rEe="ContextMenuItemIndicator",F9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=br(n);return i.jsx(BOe,{...a,...r,ref:t})});F9.displayName=rEe;var aEe="ContextMenuSeparator",U9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=br(n);return i.jsx(qOe,{...a,...r,ref:t})});U9.displayName=aEe;var iEe="ContextMenuArrow",sEe=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=br(n);return i.jsx(FOe,{...a,...r,ref:t})});sEe.displayName=iEe;var H9="ContextMenuSub",W9=e=>{const{__scopeContextMenu:t,children:n,onOpenChange:r,open:a,defaultOpen:s}=e,l=br(t),[u,d]=Ta({prop:a,defaultProp:s??!1,onChange:r,caller:H9});return i.jsx(UOe,{...l,open:u,onOpenChange:d,children:n})};W9.displayName=H9;var oEe="ContextMenuSubTrigger",V9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=br(n);return i.jsx(HOe,{...a,...r,ref:t})});V9.displayName=oEe;var lEe="ContextMenuSubContent",G9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=br(n);return i.jsx(WOe,{...a,...r,ref:t,style:{...e.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});G9.displayName=lEe;function av(e){return t=>t.pointerType!=="mouse"?e(t):void 0}var cEe=M9,uEe=R9,dEe=D9,Y9=I9,K9=L9,X9=z9,Z9=B9,Q9=q9,J9=F9,eW=U9,fEe=W9,tW=V9,nW=G9;const hEe=cEe,mEe=uEe,pEe=fEe,rW=y.forwardRef(({className:e,inset:t,children:n,...r},a)=>i.jsxs(tW,{ref:a,className:ue("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",t&&"pl-8",e),...r,children:[n,i.jsx(Kh,{className:"ml-auto h-4 w-4"})]}));rW.displayName=tW.displayName;const aW=y.forwardRef(({className:e,...t},n)=>i.jsx(nW,{ref:n,className:ue("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-context-menu-content-transform-origin]",e),...t}));aW.displayName=nW.displayName;const iW=y.forwardRef(({className:e,...t},n)=>i.jsx(dEe,{children:i.jsx(Y9,{ref:n,className:ue("z-50 max-h-[--radix-context-menu-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-context-menu-content-transform-origin]",e),...t})}));iW.displayName=Y9.displayName;const za=y.forwardRef(({className:e,inset:t,...n},r)=>i.jsx(X9,{ref:r,className:ue("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",e),...n}));za.displayName=X9.displayName;const vEe=y.forwardRef(({className:e,children:t,checked:n,...r},a)=>i.jsxs(Z9,{ref:a,className:ue("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:n,...r,children:[i.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(J9,{children:i.jsx(cl,{className:"h-4 w-4"})})}),t]}));vEe.displayName=Z9.displayName;const gEe=y.forwardRef(({className:e,children:t,...n},r)=>i.jsxs(Q9,{ref:r,className:ue("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[i.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(J9,{children:i.jsx(Gve,{className:"h-2 w-2 fill-current"})})}),t]}));gEe.displayName=Q9.displayName;const yEe=y.forwardRef(({className:e,inset:t,...n},r)=>i.jsx(K9,{ref:r,className:ue("px-2 py-1.5 text-sm font-semibold text-foreground",t&&"pl-8",e),...n}));yEe.displayName=K9.displayName;const jf=y.forwardRef(({className:e,...t},n)=>i.jsx(eW,{ref:n,className:ue("-mx-1 my-1 h-px bg-border",e),...t}));jf.displayName=eW.displayName;const qc=({className:e,...t})=>i.jsx("span",{className:ue("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});qc.displayName="ContextMenuShortcut";var xEe=Symbol("radix.slottable");function bEe(e){const t=({children:n})=>i.jsx(i.Fragment,{children:n});return t.displayName=`${e}.Slottable`,t.__radixId=xEe,t}var[dx]=yr("Tooltip",[vo]),fx=vo(),sW="TooltipProvider",wEe=700,NC="tooltip.open",[jEe,KE]=dx(sW),oW=e=>{const{__scopeTooltip:t,delayDuration:n=wEe,skipDelayDuration:r=300,disableHoverableContent:a=!1,children:s}=e,l=y.useRef(!0),u=y.useRef(!1),d=y.useRef(0);return y.useEffect(()=>{const f=d.current;return()=>window.clearTimeout(f)},[]),i.jsx(jEe,{scope:t,isOpenDelayedRef:l,delayDuration:n,onOpen:y.useCallback(()=>{window.clearTimeout(d.current),l.current=!1},[]),onClose:y.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>l.current=!0,r)},[r]),isPointerInTransitRef:u,onPointerInTransitChange:y.useCallback(f=>{u.current=f},[]),disableHoverableContent:a,children:s})};oW.displayName=sW;var Eh="Tooltip",[SEe,dm]=dx(Eh),lW=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:a,onOpenChange:s,disableHoverableContent:l,delayDuration:u}=e,d=KE(Eh,e.__scopeTooltip),f=fx(t),[m,p]=y.useState(null),g=Gn(),x=y.useRef(0),j=l??d.disableHoverableContent,w=u??d.delayDuration,b=y.useRef(!1),[N,E]=Ta({prop:r,defaultProp:a??!1,onChange:T=>{T?(d.onOpen(),document.dispatchEvent(new CustomEvent(NC))):d.onClose(),s?.(T)},caller:Eh}),O=y.useMemo(()=>N?b.current?"delayed-open":"instant-open":"closed",[N]),A=y.useCallback(()=>{window.clearTimeout(x.current),x.current=0,b.current=!1,E(!0)},[E]),C=y.useCallback(()=>{window.clearTimeout(x.current),x.current=0,E(!1)},[E]),k=y.useCallback(()=>{window.clearTimeout(x.current),x.current=window.setTimeout(()=>{b.current=!0,E(!0),x.current=0},w)},[w,E]);return y.useEffect(()=>()=>{x.current&&(window.clearTimeout(x.current),x.current=0)},[]),i.jsx(tm,{...f,children:i.jsx(SEe,{scope:t,contentId:g,open:N,stateAttribute:O,trigger:m,onTriggerChange:p,onTriggerEnter:y.useCallback(()=>{d.isOpenDelayedRef.current?k():A()},[d.isOpenDelayedRef,k,A]),onTriggerLeave:y.useCallback(()=>{j?C():(window.clearTimeout(x.current),x.current=0)},[C,j]),onOpen:A,onClose:C,disableHoverableContent:j,children:n})})};lW.displayName=Eh;var CC="TooltipTrigger",cW=y.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,a=dm(CC,n),s=KE(CC,n),l=fx(n),u=y.useRef(null),d=Ue(t,u,a.onTriggerChange),f=y.useRef(!1),m=y.useRef(!1),p=y.useCallback(()=>f.current=!1,[]);return y.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),i.jsx(nm,{asChild:!0,...l,children:i.jsx($e.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...r,ref:d,onPointerMove:Ne(e.onPointerMove,g=>{g.pointerType!=="touch"&&!m.current&&!s.isPointerInTransitRef.current&&(a.onTriggerEnter(),m.current=!0)}),onPointerLeave:Ne(e.onPointerLeave,()=>{a.onTriggerLeave(),m.current=!1}),onPointerDown:Ne(e.onPointerDown,()=>{a.open&&a.onClose(),f.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:Ne(e.onFocus,()=>{f.current||a.onOpen()}),onBlur:Ne(e.onBlur,a.onClose),onClick:Ne(e.onClick,a.onClose)})})});cW.displayName=CC;var XE="TooltipPortal",[_Ee,NEe]=dx(XE,{forceMount:void 0}),uW=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:a}=e,s=dm(XE,t);return i.jsx(_Ee,{scope:t,forceMount:n,children:i.jsx(zn,{present:n||s.open,children:i.jsx(Ml,{asChild:!0,container:a,children:r})})})};uW.displayName=XE;var Lu="TooltipContent",dW=y.forwardRef((e,t)=>{const n=NEe(Lu,e.__scopeTooltip),{forceMount:r=n.forceMount,side:a="top",...s}=e,l=dm(Lu,e.__scopeTooltip);return i.jsx(zn,{present:r||l.open,children:l.disableHoverableContent?i.jsx(fW,{side:a,...s,ref:t}):i.jsx(CEe,{side:a,...s,ref:t})})}),CEe=y.forwardRef((e,t)=>{const n=dm(Lu,e.__scopeTooltip),r=KE(Lu,e.__scopeTooltip),a=y.useRef(null),s=Ue(t,a),[l,u]=y.useState(null),{trigger:d,onClose:f}=n,m=a.current,{onPointerInTransitChange:p}=r,g=y.useCallback(()=>{u(null),p(!1)},[p]),x=y.useCallback((j,w)=>{const b=j.currentTarget,N={x:j.clientX,y:j.clientY},E=kEe(N,b.getBoundingClientRect()),O=MEe(N,E),A=PEe(w.getBoundingClientRect()),C=DEe([...O,...A]);u(C),p(!0)},[p]);return y.useEffect(()=>()=>g(),[g]),y.useEffect(()=>{if(d&&m){const j=b=>x(b,m),w=b=>x(b,d);return d.addEventListener("pointerleave",j),m.addEventListener("pointerleave",w),()=>{d.removeEventListener("pointerleave",j),m.removeEventListener("pointerleave",w)}}},[d,m,x,g]),y.useEffect(()=>{if(l){const j=w=>{const b=w.target,N={x:w.clientX,y:w.clientY},E=d?.contains(b)||m?.contains(b),O=!REe(N,l);E?g():O&&(g(),f())};return document.addEventListener("pointermove",j),()=>document.removeEventListener("pointermove",j)}},[d,m,l,f,g]),i.jsx(fW,{...e,ref:s})}),[OEe,EEe]=dx(Eh,{isInside:!1}),AEe=bEe("TooltipContent"),fW=y.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":a,onEscapeKeyDown:s,onPointerDownOutside:l,...u}=e,d=dm(Lu,n),f=fx(n),{onClose:m}=d;return y.useEffect(()=>(document.addEventListener(NC,m),()=>document.removeEventListener(NC,m)),[m]),y.useEffect(()=>{if(d.trigger){const p=g=>{g.target?.contains(d.trigger)&&m()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[d.trigger,m]),i.jsx(kl,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:p=>p.preventDefault(),onDismiss:m,children:i.jsxs(Qy,{"data-state":d.stateAttribute,...f,...u,ref:t,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[i.jsx(AEe,{children:r}),i.jsx(OEe,{scope:n,isInside:!0,children:i.jsx(Cwe,{id:d.contentId,role:"tooltip",children:a||r})})]})})});dW.displayName=Lu;var hW="TooltipArrow",TEe=y.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,a=fx(n);return EEe(hW,n).isInside?null:i.jsx(Jy,{...a,...r,ref:t})});TEe.displayName=hW;function kEe(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),a=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(n,r,a,s)){case s:return"left";case a:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function MEe(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function PEe(e){const{top:t,right:n,bottom:r,left:a}=e;return[{x:a,y:t},{x:n,y:t},{x:n,y:r},{x:a,y:r}]}function REe(e,t){const{x:n,y:r}=e;let a=!1;for(let s=0,l=t.length-1;sr!=g>r&&n<(p-f)*(r-m)/(g-m)+f&&(a=!a)}return a}function DEe(e){const t=e.slice();return t.sort((n,r)=>n.xr.x?1:n.yr.y?1:0),$Ee(t)}function $Ee(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r=2;){const s=t[t.length-1],l=t[t.length-2];if((s.x-l.x)*(a.y-l.y)>=(s.y-l.y)*(a.x-l.x))t.pop();else break}t.push(a)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const a=e[r];for(;n.length>=2;){const s=n[n.length-1],l=n[n.length-2];if((s.x-l.x)*(a.y-l.y)>=(s.y-l.y)*(a.x-l.x))n.pop();else break}n.push(a)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var IEe=oW,LEe=lW,zEe=cW,BEe=uW,mW=dW;const qEe=IEe,FEe=LEe,UEe=zEe,pW=y.forwardRef(({className:e,sideOffset:t=4,...n},r)=>i.jsx(BEe,{children:i.jsx(mW,{ref:r,sideOffset:t,className:ue("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",e),...n})}));pW.displayName=mW.displayName;function HEe({children:e}){vbe();const[t,n]=y.useState(!0),[r,a]=y.useState(!1),[s,l]=y.useState(!1),{theme:u,setTheme:d}=uE(),f=YY(),m=ua();y.useEffect(()=>{const w=b=>{(b.metaKey||b.ctrlKey)&&b.key==="k"&&(b.preventDefault(),l(!0))};return window.addEventListener("keydown",w),()=>window.removeEventListener("keydown",w)},[]);const p=[{title:"概览",items:[{icon:kg,label:"首页",path:"/"}]},{title:"麦麦配置编辑",items:[{icon:sE,label:"麦麦主程序配置",path:"/config/bot"},{icon:y8,label:"麦麦模型提供商配置",path:"/config/modelProvider"},{icon:p8,label:"麦麦模型配置",path:"/config/model"}]},{title:"麦麦资源管理",items:[{icon:cE,label:"表情包管理",path:"/resource/emoji"},{icon:Xh,label:"表达方式管理",path:"/resource/expression"},{icon:v8,label:"人物信息管理",path:"/resource/person"}]},{title:"扩展与监控",items:[{icon:Mg,label:"插件市场",path:"/plugins"},{icon:Hge,label:"插件配置",path:"/plugin-config"},{icon:Ag,label:"日志查看器",path:"/logs"}]},{title:"系统",items:[{icon:Ha,label:"系统设置",path:"/settings"}]}],x=u==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":u,j=()=>{localStorage.removeItem("access-token"),m({to:"/auth"})};return i.jsx(qEe,{delayDuration:300,children:i.jsxs("div",{className:"flex h-screen overflow-hidden",children:[i.jsxs("aside",{className:ue("fixed inset-y-0 left-0 z-50 flex flex-col border-r bg-card transition-all duration-300 lg:relative lg:z-0","w-64 lg:w-auto",t?"lg:w-64":"lg:w-16",r?"translate-x-0":"-translate-x-full lg:translate-x-0"),children:[i.jsx("div",{className:"flex h-16 items-center border-b px-4",children:i.jsxs("div",{className:ue("relative flex items-center justify-center flex-1 transition-all overflow-hidden","lg:flex-1",!t&&"lg:flex-none lg:w-8"),children:[i.jsxs("div",{className:ue("flex items-baseline gap-2",!t&&"lg:hidden"),children:[i.jsx("span",{className:"font-bold text-xl text-primary-gradient whitespace-nowrap",children:"MaiBot WebUI"}),i.jsx("span",{className:"text-xs text-primary/60 whitespace-nowrap",children:Eye()})]}),!t&&i.jsx("span",{className:"hidden lg:block font-bold text-primary-gradient text-2xl",children:"M"})]})}),i.jsx("nav",{className:"flex-1 overflow-y-auto p-4",children:i.jsx("ul",{className:ue("space-y-6",!t&&"lg:space-y-3"),children:p.map((w,b)=>i.jsxs("li",{children:[i.jsx("div",{className:ue("px-3 h-[1.25rem]","mb-2",!t&&"lg:mb-1 lg:invisible"),children:i.jsx("h3",{className:"text-xs font-semibold uppercase tracking-wider text-muted-foreground/60 whitespace-nowrap",children:w.title})}),!t&&b>0&&i.jsx("div",{className:"hidden lg:block mb-2 border-t border-border"}),i.jsx("ul",{className:"space-y-1",children:w.items.map(N=>{const E=f({to:N.path}),O=N.icon,A=i.jsxs(i.Fragment,{children:[E&&i.jsx("div",{className:"absolute left-0 top-1/2 h-8 w-1 -translate-y-1/2 rounded-r-full bg-primary transition-opacity duration-300"}),i.jsxs("div",{className:ue("flex items-center transition-all duration-300",t?"gap-3":"lg:gap-0"),children:[i.jsx(O,{className:ue("h-5 w-5 flex-shrink-0",E&&"text-primary"),strokeWidth:2,fill:"none"}),i.jsx("span",{className:ue("text-sm font-medium whitespace-nowrap transition-all duration-300",E&&"font-semibold",t?"opacity-100 max-w-[200px]":"lg:opacity-0 lg:max-w-0 lg:overflow-hidden"),children:N.label})]})]});return i.jsx("li",{className:"relative",children:i.jsxs(FEe,{children:[i.jsx(UEe,{asChild:!0,children:i.jsx(zC,{to:N.path,className:ue("relative flex items-center rounded-lg py-2 transition-all duration-300","hover:bg-accent hover:text-accent-foreground",E?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground",t?"px-3":"lg:px-0 lg:justify-center"),onClick:()=>a(!1),children:A})}),!t&&i.jsx(pW,{side:"right",className:"hidden lg:block",children:i.jsx("p",{children:N.label})})]})},N.path)})})]},w.title))})})]}),r&&i.jsx("div",{className:"fixed inset-0 z-40 bg-black/50 lg:hidden",onClick:()=>a(!1)}),i.jsxs("div",{className:"flex flex-1 flex-col overflow-hidden",children:[i.jsxs("header",{className:"flex h-16 items-center justify-between border-b bg-card/80 backdrop-blur-md px-4 sticky top-0 z-10",children:[i.jsxs("div",{className:"flex items-center gap-4",children:[i.jsx("button",{onClick:()=>a(!r),className:"rounded-lg p-2 hover:bg-accent lg:hidden",children:i.jsx(vge,{className:"h-5 w-5"})}),i.jsx("button",{onClick:()=>n(!t),className:"hidden rounded-lg p-2 hover:bg-accent lg:block",title:t?"收起侧边栏":"展开侧边栏",children:i.jsx(Yh,{className:ue("h-5 w-5 transition-transform",!t&&"rotate-180")})})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsxs("button",{onClick:()=>l(!0),className:"relative hidden md:flex items-center w-64 h-9 pl-9 pr-16 bg-background/50 border rounded-md hover:bg-accent/50 transition-colors text-left",children:[i.jsx(Br,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),i.jsx("span",{className:"text-sm text-muted-foreground",children:"搜索..."}),i.jsxs(i9,{size:"sm",className:"absolute right-2 top-1/2 -translate-y-1/2",children:[i.jsx("span",{className:"text-xs",children:"⌘"}),"K"]})]}),i.jsx(XCe,{open:s,onOpenChange:l}),i.jsxs(oe,{variant:"ghost",size:"sm",onClick:()=>window.open("https://docs.mai-mai.org","_blank"),className:"gap-2",title:"查看麦麦文档",children:[i.jsx(_ve,{className:"h-4 w-4"}),i.jsx("span",{className:"hidden sm:inline",children:"麦麦文档"})]}),i.jsx("button",{onClick:w=>{uye(x==="dark"?"light":"dark",d,w)},className:"rounded-lg p-2 hover:bg-accent",title:x==="dark"?"切换到浅色模式":"切换到深色模式",children:x==="dark"?i.jsx(iC,{className:"h-5 w-5"}):i.jsx(aC,{className:"h-5 w-5"})}),i.jsx("div",{className:"h-6 w-px bg-border"}),i.jsxs(oe,{variant:"ghost",size:"sm",onClick:j,className:"gap-2",title:"登出系统",children:[i.jsx(nL,{className:"h-4 w-4"}),i.jsx("span",{className:"hidden sm:inline",children:"登出"})]})]})]}),i.jsxs(hEe,{children:[i.jsx(mEe,{asChild:!0,children:i.jsx("main",{className:"flex-1 overflow-hidden bg-background",children:e})}),i.jsxs(iW,{className:"w-64",children:[i.jsxs(za,{onClick:()=>m({to:"/"}),children:[i.jsx(kg,{className:"mr-2 h-4 w-4"}),"首页"]}),i.jsxs(za,{onClick:()=>m({to:"/settings"}),children:[i.jsx(Ha,{className:"mr-2 h-4 w-4"}),"系统设置"]}),i.jsxs(za,{onClick:()=>m({to:"/logs"}),children:[i.jsx(Ag,{className:"mr-2 h-4 w-4"}),"日志查看器"]}),i.jsx(jf,{}),i.jsxs(pEe,{children:[i.jsxs(rW,{children:[i.jsx(g8,{className:"mr-2 h-4 w-4"}),"切换主题"]}),i.jsxs(aW,{className:"w-48",children:[i.jsxs(za,{onClick:()=>d("light"),disabled:u==="light",children:[i.jsx(iC,{className:"mr-2 h-4 w-4"}),"浅色",u==="light"&&i.jsx(qc,{children:"✓"})]}),i.jsxs(za,{onClick:()=>d("dark"),disabled:u==="dark",children:[i.jsx(aC,{className:"mr-2 h-4 w-4"}),"深色",u==="dark"&&i.jsx(qc,{children:"✓"})]}),i.jsxs(za,{onClick:()=>d("system"),disabled:u==="system",children:[i.jsx(Ha,{className:"mr-2 h-4 w-4"}),"跟随系统",u==="system"&&i.jsx(qc,{children:"✓"})]})]})]}),i.jsx(jf,{}),i.jsxs(za,{onClick:()=>window.location.reload(),children:[i.jsx(Mge,{className:"mr-2 h-4 w-4"}),"刷新页面",i.jsx(qc,{children:"⌘R"})]}),i.jsxs(za,{onClick:()=>l(!0),children:[i.jsx(Br,{className:"mr-2 h-4 w-4"}),"搜索",i.jsx(qc,{children:"⌘K"})]}),i.jsx(jf,{}),i.jsxs(za,{onClick:()=>window.open("https://docs.mai-mai.org","_blank"),children:[i.jsx(Pf,{className:"mr-2 h-4 w-4"}),"麦麦文档"]}),i.jsx(jf,{}),i.jsxs(za,{onClick:j,className:"text-destructive focus:text-destructive",children:[i.jsx(nL,{className:"mr-2 h-4 w-4"}),"登出系统"]})]})]})]})]})})}const fm=zY({component:()=>i.jsxs(i.Fragment,{children:[i.jsx(BC,{}),!1]}),beforeLoad:()=>{if(window.location.pathname==="/"&&!AF())throw i5({to:"/auth"})}}),WEe=or({getParentRoute:()=>fm,path:"/auth",component:gbe}),VEe=or({getParentRoute:()=>fm,path:"/setup",component:$be}),da=or({getParentRoute:()=>fm,id:"protected",component:()=>i.jsx(HEe,{children:i.jsx(BC,{})})}),GEe=or({getParentRoute:()=>da,path:"/",component:lye}),YEe=or({getParentRoute:()=>da,path:"/config/bot",component:Oje}),KEe=or({getParentRoute:()=>da,path:"/config/modelProvider",component:Gje}),XEe=or({getParentRoute:()=>da,path:"/config/model",component:w1e}),ZEe=or({getParentRoute:()=>da,path:"/resource/emoji",component:T1e}),QEe=or({getParentRoute:()=>da,path:"/resource/expression",component:B1e}),JEe=or({getParentRoute:()=>da,path:"/resource/person",component:Z1e}),e2e=or({getParentRoute:()=>da,path:"/logs",component:MCe}),t2e=or({getParentRoute:()=>da,path:"/plugins",component:WCe}),n2e=or({getParentRoute:()=>da,path:"/plugin-config",component:VCe}),r2e=or({getParentRoute:()=>da,path:"/plugin-mirrors",component:GCe}),a2e=or({getParentRoute:()=>da,path:"/settings",component:cbe}),i2e=or({getParentRoute:()=>fm,path:"*",component:MF}),s2e=fm.addChildren([WEe,VEe,da.addChildren([GEe,YEe,KEe,XEe,ZEe,QEe,JEe,t2e,n2e,r2e,e2e,a2e]),i2e]),o2e=KY({routeTree:s2e,defaultNotFoundComponent:MF});function l2e({children:e,defaultTheme:t="system",storageKey:n="ui-theme",...r}){const[a,s]=y.useState(()=>localStorage.getItem(n)||t);y.useEffect(()=>{const u=window.document.documentElement;if(u.classList.remove("light","dark"),a==="system"){const d=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";u.classList.add(d);return}u.classList.add(a)},[a]),y.useEffect(()=>{const u=localStorage.getItem("accent-color");if(u){const d=document.documentElement,m={blue:{hsl:"221.2 83.2% 53.3%",darkHsl:"217.2 91.2% 59.8%",gradient:null},purple:{hsl:"271 91% 65%",darkHsl:"270 95% 75%",gradient:null},green:{hsl:"142 71% 45%",darkHsl:"142 76% 36%",gradient:null},orange:{hsl:"25 95% 53%",darkHsl:"20 90% 48%",gradient:null},pink:{hsl:"330 81% 60%",darkHsl:"330 85% 70%",gradient:null},red:{hsl:"0 84% 60%",darkHsl:"0 90% 70%",gradient:null},"gradient-sunset":{hsl:"15 95% 60%",darkHsl:"15 95% 65%",gradient:"linear-gradient(135deg, hsl(25 95% 53%) 0%, hsl(330 81% 60%) 100%)"},"gradient-ocean":{hsl:"200 90% 55%",darkHsl:"200 90% 60%",gradient:"linear-gradient(135deg, hsl(221.2 83.2% 53.3%) 0%, hsl(189 94% 43%) 100%)"},"gradient-forest":{hsl:"150 70% 45%",darkHsl:"150 75% 40%",gradient:"linear-gradient(135deg, hsl(142 71% 45%) 0%, hsl(158 64% 52%) 100%)"},"gradient-aurora":{hsl:"310 85% 65%",darkHsl:"310 90% 70%",gradient:"linear-gradient(135deg, hsl(271 91% 65%) 0%, hsl(330 81% 60%) 100%)"},"gradient-fire":{hsl:"15 95% 55%",darkHsl:"15 95% 60%",gradient:"linear-gradient(135deg, hsl(0 84% 60%) 0%, hsl(25 95% 53%) 100%)"},"gradient-twilight":{hsl:"250 90% 60%",darkHsl:"250 95% 65%",gradient:"linear-gradient(135deg, hsl(239 84% 67%) 0%, hsl(271 91% 65%) 100%)"}}[u];m&&(d.style.setProperty("--primary",m.hsl),m.gradient?(d.style.setProperty("--primary-gradient",m.gradient),d.classList.add("has-gradient")):(d.style.removeProperty("--primary-gradient"),d.classList.remove("has-gradient")))}},[]);const l={theme:a,setTheme:u=>{localStorage.setItem(n,u),s(u)}};return i.jsx(b8.Provider,{...r,value:l,children:e})}function c2e({children:e,defaultEnabled:t=!0,defaultWavesEnabled:n=!0,storageKey:r="enable-animations",wavesStorageKey:a="enable-waves-background"}){const[s,l]=y.useState(()=>{const m=localStorage.getItem(r);return m!==null?m==="true":t}),[u,d]=y.useState(()=>{const m=localStorage.getItem(a);return m!==null?m==="true":n});y.useEffect(()=>{const m=document.documentElement;s?m.classList.remove("no-animations"):m.classList.add("no-animations"),localStorage.setItem(r,String(s))},[s,r]),y.useEffect(()=>{localStorage.setItem(a,String(u))},[u,a]);const f={enableAnimations:s,setEnableAnimations:l,enableWavesBackground:u,setEnableWavesBackground:d};return i.jsx(w8.Provider,{value:f,children:e})}var ZE="ToastProvider",[QE,u2e,d2e]=Rh("Toast"),[vW]=yr("Toast",[d2e]),[f2e,hx]=vW(ZE),gW=e=>{const{__scopeToast:t,label:n="Notification",duration:r=5e3,swipeDirection:a="right",swipeThreshold:s=50,children:l}=e,[u,d]=y.useState(null),[f,m]=y.useState(0),p=y.useRef(!1),g=y.useRef(!1);return n.trim()||console.error(`Invalid prop \`label\` supplied to \`${ZE}\`. Expected non-empty \`string\`.`),i.jsx(QE.Provider,{scope:t,children:i.jsx(f2e,{scope:t,label:n,duration:r,swipeDirection:a,swipeThreshold:s,toastCount:f,viewport:u,onViewportChange:d,onToastAdd:y.useCallback(()=>m(x=>x+1),[]),onToastRemove:y.useCallback(()=>m(x=>x-1),[]),isFocusedToastEscapeKeyDownRef:p,isClosePausedRef:g,children:l})})};gW.displayName=ZE;var yW="ToastViewport",h2e=["F8"],OC="toast.viewportPause",EC="toast.viewportResume",xW=y.forwardRef((e,t)=>{const{__scopeToast:n,hotkey:r=h2e,label:a="Notifications ({hotkey})",...s}=e,l=hx(yW,n),u=u2e(n),d=y.useRef(null),f=y.useRef(null),m=y.useRef(null),p=y.useRef(null),g=Ue(t,p,l.onViewportChange),x=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),j=l.toastCount>0;y.useEffect(()=>{const b=N=>{r.length!==0&&r.every(O=>N[O]||N.code===O)&&p.current?.focus()};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[r]),y.useEffect(()=>{const b=d.current,N=p.current;if(j&&b&&N){const E=()=>{if(!l.isClosePausedRef.current){const k=new CustomEvent(OC);N.dispatchEvent(k),l.isClosePausedRef.current=!0}},O=()=>{if(l.isClosePausedRef.current){const k=new CustomEvent(EC);N.dispatchEvent(k),l.isClosePausedRef.current=!1}},A=k=>{!b.contains(k.relatedTarget)&&O()},C=()=>{b.contains(document.activeElement)||O()};return b.addEventListener("focusin",E),b.addEventListener("focusout",A),b.addEventListener("pointermove",E),b.addEventListener("pointerleave",C),window.addEventListener("blur",E),window.addEventListener("focus",O),()=>{b.removeEventListener("focusin",E),b.removeEventListener("focusout",A),b.removeEventListener("pointermove",E),b.removeEventListener("pointerleave",C),window.removeEventListener("blur",E),window.removeEventListener("focus",O)}}},[j,l.isClosePausedRef]);const w=y.useCallback(({tabbingDirection:b})=>{const E=u().map(O=>{const A=O.ref.current,C=[A,...C2e(A)];return b==="forwards"?C:C.reverse()});return(b==="forwards"?E.reverse():E).flat()},[u]);return y.useEffect(()=>{const b=p.current;if(b){const N=E=>{const O=E.altKey||E.ctrlKey||E.metaKey;if(E.key==="Tab"&&!O){const C=document.activeElement,k=E.shiftKey;if(E.target===b&&k){f.current?.focus();return}const R=w({tabbingDirection:k?"backwards":"forwards"}),L=R.findIndex(D=>D===C);y_(R.slice(L+1))?E.preventDefault():k?f.current?.focus():m.current?.focus()}};return b.addEventListener("keydown",N),()=>b.removeEventListener("keydown",N)}},[u,w]),i.jsxs(Iye,{ref:d,role:"region","aria-label":a.replace("{hotkey}",x),tabIndex:-1,style:{pointerEvents:j?void 0:"none"},children:[j&&i.jsx(AC,{ref:f,onFocusFromOutsideViewport:()=>{const b=w({tabbingDirection:"forwards"});y_(b)}}),i.jsx(QE.Slot,{scope:n,children:i.jsx($e.ol,{tabIndex:-1,...s,ref:g})}),j&&i.jsx(AC,{ref:m,onFocusFromOutsideViewport:()=>{const b=w({tabbingDirection:"backwards"});y_(b)}})]})});xW.displayName=yW;var bW="ToastFocusProxy",AC=y.forwardRef((e,t)=>{const{__scopeToast:n,onFocusFromOutsideViewport:r,...a}=e,s=hx(bW,n);return i.jsx(ex,{tabIndex:0,...a,ref:t,style:{position:"fixed"},onFocus:l=>{const u=l.relatedTarget;!s.viewport?.contains(u)&&r()}})});AC.displayName=bW;var hm="Toast",m2e="toast.swipeStart",p2e="toast.swipeMove",v2e="toast.swipeCancel",g2e="toast.swipeEnd",wW=y.forwardRef((e,t)=>{const{forceMount:n,open:r,defaultOpen:a,onOpenChange:s,...l}=e,[u,d]=Ta({prop:r,defaultProp:a??!0,onChange:s,caller:hm});return i.jsx(zn,{present:n||u,children:i.jsx(b2e,{open:u,...l,ref:t,onClose:()=>d(!1),onPause:yn(e.onPause),onResume:yn(e.onResume),onSwipeStart:Ne(e.onSwipeStart,f=>{f.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:Ne(e.onSwipeMove,f=>{const{x:m,y:p}=f.detail.delta;f.currentTarget.setAttribute("data-swipe","move"),f.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${m}px`),f.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${p}px`)}),onSwipeCancel:Ne(e.onSwipeCancel,f=>{f.currentTarget.setAttribute("data-swipe","cancel"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),f.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),f.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:Ne(e.onSwipeEnd,f=>{const{x:m,y:p}=f.detail.delta;f.currentTarget.setAttribute("data-swipe","end"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),f.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${m}px`),f.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${p}px`),d(!1)})})})});wW.displayName=hm;var[y2e,x2e]=vW(hm,{onClose(){}}),b2e=y.forwardRef((e,t)=>{const{__scopeToast:n,type:r="foreground",duration:a,open:s,onClose:l,onEscapeKeyDown:u,onPause:d,onResume:f,onSwipeStart:m,onSwipeMove:p,onSwipeCancel:g,onSwipeEnd:x,...j}=e,w=hx(hm,n),[b,N]=y.useState(null),E=Ue(t,H=>N(H)),O=y.useRef(null),A=y.useRef(null),C=a||w.duration,k=y.useRef(0),T=y.useRef(C),M=y.useRef(0),{onToastAdd:R,onToastRemove:L}=w,D=yn(()=>{b?.contains(document.activeElement)&&w.viewport?.focus(),l()}),U=y.useCallback(H=>{!H||H===1/0||(window.clearTimeout(M.current),k.current=new Date().getTime(),M.current=window.setTimeout(D,H))},[D]);y.useEffect(()=>{const H=w.viewport;if(H){const G=()=>{U(T.current),f?.()},$=()=>{const I=new Date().getTime()-k.current;T.current=T.current-I,window.clearTimeout(M.current),d?.()};return H.addEventListener(OC,$),H.addEventListener(EC,G),()=>{H.removeEventListener(OC,$),H.removeEventListener(EC,G)}}},[w.viewport,C,d,f,U]),y.useEffect(()=>{s&&!w.isClosePausedRef.current&&U(C)},[s,C,w.isClosePausedRef,U]),y.useEffect(()=>(R(),()=>L()),[R,L]);const V=y.useMemo(()=>b?EW(b):null,[b]);return w.viewport?i.jsxs(i.Fragment,{children:[V&&i.jsx(w2e,{__scopeToast:n,role:"status","aria-live":r==="foreground"?"assertive":"polite",children:V}),i.jsx(y2e,{scope:n,onClose:D,children:Nl.createPortal(i.jsx(QE.ItemSlot,{scope:n,children:i.jsx($ye,{asChild:!0,onEscapeKeyDown:Ne(u,()=>{w.isFocusedToastEscapeKeyDownRef.current||D(),w.isFocusedToastEscapeKeyDownRef.current=!1}),children:i.jsx($e.li,{tabIndex:0,"data-state":s?"open":"closed","data-swipe-direction":w.swipeDirection,...j,ref:E,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:Ne(e.onKeyDown,H=>{H.key==="Escape"&&(u?.(H.nativeEvent),H.nativeEvent.defaultPrevented||(w.isFocusedToastEscapeKeyDownRef.current=!0,D()))}),onPointerDown:Ne(e.onPointerDown,H=>{H.button===0&&(O.current={x:H.clientX,y:H.clientY})}),onPointerMove:Ne(e.onPointerMove,H=>{if(!O.current)return;const G=H.clientX-O.current.x,$=H.clientY-O.current.y,I=!!A.current,q=["left","right"].includes(w.swipeDirection),Z=["left","up"].includes(w.swipeDirection)?Math.min:Math.max,ee=q?Z(0,G):0,F=q?0:Z(0,$),z=H.pointerType==="touch"?10:2,K={x:ee,y:F},ie={originalEvent:H,delta:K};I?(A.current=K,iv(p2e,p,ie,{discrete:!1})):e5(K,w.swipeDirection,z)?(A.current=K,iv(m2e,m,ie,{discrete:!1}),H.target.setPointerCapture(H.pointerId)):(Math.abs(G)>z||Math.abs($)>z)&&(O.current=null)}),onPointerUp:Ne(e.onPointerUp,H=>{const G=A.current,$=H.target;if($.hasPointerCapture(H.pointerId)&&$.releasePointerCapture(H.pointerId),A.current=null,O.current=null,G){const I=H.currentTarget,q={originalEvent:H,delta:G};e5(G,w.swipeDirection,w.swipeThreshold)?iv(g2e,x,q,{discrete:!0}):iv(v2e,g,q,{discrete:!0}),I.addEventListener("click",Z=>Z.preventDefault(),{once:!0})}})})})}),w.viewport)})]}):null}),w2e=e=>{const{__scopeToast:t,children:n,...r}=e,a=hx(hm,t),[s,l]=y.useState(!1),[u,d]=y.useState(!1);return _2e(()=>l(!0)),y.useEffect(()=>{const f=window.setTimeout(()=>d(!0),1e3);return()=>window.clearTimeout(f)},[]),u?null:i.jsx(Ml,{asChild:!0,children:i.jsx(ex,{...r,children:s&&i.jsxs(i.Fragment,{children:[a.label," ",n]})})})},j2e="ToastTitle",jW=y.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e;return i.jsx($e.div,{...r,ref:t})});jW.displayName=j2e;var S2e="ToastDescription",SW=y.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e;return i.jsx($e.div,{...r,ref:t})});SW.displayName=S2e;var _W="ToastAction",NW=y.forwardRef((e,t)=>{const{altText:n,...r}=e;return n.trim()?i.jsx(OW,{altText:n,asChild:!0,children:i.jsx(JE,{...r,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${_W}\`. Expected non-empty \`string\`.`),null)});NW.displayName=_W;var CW="ToastClose",JE=y.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e,a=x2e(CW,n);return i.jsx(OW,{asChild:!0,children:i.jsx($e.button,{type:"button",...r,ref:t,onClick:Ne(e.onClick,a.onClose)})})});JE.displayName=CW;var OW=y.forwardRef((e,t)=>{const{__scopeToast:n,altText:r,...a}=e;return i.jsx($e.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":r||void 0,...a,ref:t})});function EW(e){const t=[];return Array.from(e.childNodes).forEach(r=>{if(r.nodeType===r.TEXT_NODE&&r.textContent&&t.push(r.textContent),N2e(r)){const a=r.ariaHidden||r.hidden||r.style.display==="none",s=r.dataset.radixToastAnnounceExclude==="";if(!a)if(s){const l=r.dataset.radixToastAnnounceAlt;l&&t.push(l)}else t.push(...EW(r))}}),t}function iv(e,t,n,{discrete:r}){const a=n.originalEvent.currentTarget,s=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:n});t&&a.addEventListener(e,t,{once:!0}),r?VC(a,s):a.dispatchEvent(s)}var e5=(e,t,n=0)=>{const r=Math.abs(e.x),a=Math.abs(e.y),s=r>a;return t==="left"||t==="right"?s&&r>n:!s&&a>n};function _2e(e=()=>{}){const t=yn(e);Yn(()=>{let n=0,r=0;return n=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(n),window.cancelAnimationFrame(r)}},[t])}function N2e(e){return e.nodeType===e.ELEMENT_NODE}function C2e(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const a=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||a?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function y_(e){const t=document.activeElement;return e.some(n=>n===t?!0:(n.focus(),document.activeElement!==t))}var O2e=gW,AW=xW,TW=wW,kW=jW,MW=SW,PW=NW,RW=JE;const E2e=O2e,DW=y.forwardRef(({className:e,...t},n)=>i.jsx(AW,{ref:n,className:ue("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...t}));DW.displayName=AW.displayName;const A2e=Qu("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),$W=y.forwardRef(({className:e,variant:t,...n},r)=>i.jsx(TW,{ref:r,className:ue(A2e({variant:t}),e),...n}));$W.displayName=TW.displayName;const T2e=y.forwardRef(({className:e,...t},n)=>i.jsx(PW,{ref:n,className:ue("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",e),...t}));T2e.displayName=PW.displayName;const IW=y.forwardRef(({className:e,...t},n)=>i.jsx(RW,{ref:n,className:ue("absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...t,children:i.jsx(Zh,{className:"h-4 w-4"})}));IW.displayName=RW.displayName;const LW=y.forwardRef(({className:e,...t},n)=>i.jsx(kW,{ref:n,className:ue("text-sm font-semibold [&+div]:text-xs",e),...t}));LW.displayName=kW.displayName;const zW=y.forwardRef(({className:e,...t},n)=>i.jsx(MW,{ref:n,className:ue("text-sm opacity-90",e),...t}));zW.displayName=MW.displayName;function k2e(){const{toasts:e}=xr();return i.jsxs(E2e,{children:[e.map(function({id:t,title:n,description:r,action:a,...s}){return i.jsxs($W,{...s,children:[i.jsxs("div",{className:"grid gap-1",children:[n&&i.jsx(LW,{children:n}),r&&i.jsx(zW,{children:r})]}),a,i.jsx(IW,{})]},t)}),i.jsx(DW,{})]})}oG.createRoot(document.getElementById("root")).render(i.jsx(y.StrictMode,{children:i.jsx(l2e,{defaultTheme:"system",children:i.jsxs(c2e,{children:[i.jsx(QY,{router:o2e}),i.jsx(k2e,{})]})})})); diff --git a/webui/dist/assets/index-D2uz_15W.css b/webui/dist/assets/index-D2uz_15W.css new file mode 100644 index 00000000..33288344 --- /dev/null +++ b/webui/dist/assets/index-D2uz_15W.css @@ -0,0 +1 @@ +*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 221.2 83.2% 53.3%;--primary-foreground: 210 40% 98%;--primary-gradient: none;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 221.2 83.2% 53.3%;--radius: .5rem;--chart-1: 221.2 83.2% 53.3%;--chart-2: 160 60% 45%;--chart-3: 30 80% 55%;--chart-4: 280 65% 60%;--chart-5: 340 75% 55%}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 217.2 91.2% 59.8%;--primary-foreground: 222.2 47.4% 11.2%;--primary-gradient: none;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 224.3 76.3% 48%;--chart-1: 217.2 91.2% 59.8%;--chart-2: 160 60% 50%;--chart-3: 30 80% 60%;--chart-4: 280 65% 65%;--chart-5: 340 75% 60%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-1\/4{bottom:25%}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-1\/4{left:25%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-1\.5{right:.375rem}.right-1\/4{right:25%}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-1\/4{top:25%}.top-2{top:.5rem}.top-2\.5{top:.625rem}.top-3{top:.75rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.order-1{order:1}.order-2{order:2}.col-span-2{grid-column:span 2 / span 2}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-mt-2{margin-top:-.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-6{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-auto{aspect-ratio:auto}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-4{width:1rem;height:1rem}.size-\[--cell-size\]{width:var(--cell-size);height:var(--cell-size)}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[--cell-size\]{height:var(--cell-size)}.h-\[1\.25rem\]{height:1.25rem}.h-\[1px\]{height:1px}.h-\[250px\]{height:250px}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-\[calc\(100vh-200px\)\]{height:calc(100vh - 200px)}.h-\[calc\(100vh-240px\)\]{height:calc(100vh - 240px)}.h-\[calc\(100vh-260px\)\]{height:calc(100vh - 260px)}.h-\[calc\(100vh-280px\)\]{height:calc(100vh - 280px)}.h-\[calc\(100vh-4rem\)\]{height:calc(100vh - 4rem)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[--radix-context-menu-content-available-height\]{max-height:var(--radix-context-menu-content-available-height)}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(90vh-120px\)\]{max-height:calc(90vh - 120px)}.max-h-\[calc\(90vh-8rem\)\]{max-height:calc(90vh - 8rem)}.max-h-screen{max-height:100vh}.min-h-10{min-height:2.5rem}.min-h-\[100px\]{min-height:100px}.min-h-\[300px\]{min-height:300px}.min-h-\[60px\]{min-height:60px}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/4{width:25%}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[--cell-size\]{width:var(--cell-size)}.w-\[120px\]{width:120px}.w-\[140px\]{width:140px}.w-\[1px\]{width:1px}.w-\[70px\]{width:70px}.w-\[95vw\]{width:95vw}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[--cell-size\]{min-width:var(--cell-size)}.min-w-\[80px\]{min-width:80px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-\[200px\]{max-width:200px}.max-w-\[60px\]{max-width:60px}.max-w-\[95vw\]{max-width:95vw}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\[--radix-context-menu-content-transform-origin\]{transform-origin:var(--radix-context-menu-content-transform-origin)}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[--color-border\]{border-color:var(--color-border)}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-current{border-color:currentColor}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.border-input{border-color:hsl(var(--input))}.border-orange-600{--tw-border-opacity: 1;border-color:rgb(234 88 12 / var(--tw-border-opacity, 1))}.border-primary{border-color:hsl(var(--primary))}.border-primary\/20{border-color:hsl(var(--primary) / .2)}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-background\/50{background-color:hsl(var(--background) / .5)}.bg-background\/95{background-color:hsl(var(--background) / .95)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/50{background-color:#00000080}.bg-black\/80{background-color:#000c}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-blue-900\/20{background-color:#1e3a8a33}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-card\/80{background-color:hsl(var(--card) / .8)}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-800\/20{background-color:#1f293733}.bg-gray-800\/30{background-color:#1f29374d}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-orange-600{--tw-bg-opacity: 1;background-color:rgb(234 88 12 / var(--tw-bg-opacity, 1))}.bg-pink-500{--tw-bg-opacity: 1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-red-900\/20{background-color:#7f1d1d33}.bg-red-900\/30{background-color:#7f1d1d4d}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\/5{background-color:hsl(var(--secondary) / .05)}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.bg-slate-400{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity, 1))}.bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-200{--tw-bg-opacity: 1;background-color:rgb(254 240 138 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-900\/20{background-color:#713f1233}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500{--tw-gradient-from: #22c55e var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from: #f97316 var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/5{--tw-gradient-from: hsl(var(--primary) / .05) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #a855f7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500{--tw-gradient-from: #ef4444 var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-200{--tw-gradient-from: #e2e8f0 var(--tw-gradient-from-position);--tw-gradient-to: rgb(226 232 240 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-300{--tw-gradient-from: #cbd5e1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(203 213 225 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-400{--tw-gradient-from: #94a3b8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(148 163 184 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-background{--tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background)) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-cyan-500{--tw-gradient-to: #06b6d4 var(--tw-gradient-to-position)}.to-emerald-500{--tw-gradient-to: #10b981 var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to: #f97316 var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #ec4899 var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to: #a855f7 var(--tw-gradient-to-position)}.to-secondary\/5{--tw-gradient-to: hsl(var(--secondary) / .05) var(--tw-gradient-to-position)}.to-slate-700{--tw-gradient-to: #334155 var(--tw-gradient-to-position)}.to-slate-800{--tw-gradient-to: #1e293b var(--tw-gradient-to-position)}.to-slate-900{--tw-gradient-to: #0f172a var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-yellow-400{fill:#facc15}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[--cell-size\]{padding-left:var(--cell-size);padding-right:var(--cell-size)}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-16{padding-right:4rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10px\]{font-size:10px}.text-\[150px\]{font-size:150px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-orange-800{--tw-text-opacity: 1;color:rgb(154 52 18 / var(--tw-text-opacity, 1))}.text-orange-900{--tw-text-opacity: 1;color:rgb(124 45 18 / var(--tw-text-opacity, 1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary\/10{color:hsl(var(--primary) / .1)}.text-primary\/30{color:hsl(var(--primary) / .3)}.text-primary\/60{color:hsl(var(--primary) / .6)}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.text-yellow-900{--tw-text-opacity: 1;color:rgb(113 63 18 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.blur-3xl{--tw-blur: blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.text-primary-gradient{color:hsl(var(--primary))}.has-gradient .text-primary-gradient{background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.\[--cell-size\:2rem\]{--cell-size: 2rem}.no-animations *,.no-animations *:before,.no-animations *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.no-animations *:hover{transition-duration:.01ms!important}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:999}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary) / .5)}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-orange-700:hover{--tw-bg-opacity: 1;background-color:rgb(194 65 12 / var(--tw-bg-opacity, 1))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-secondary\/90:hover{background-color:hsl(var(--secondary) / .9)}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-primary\/80:hover{color:hsl(var(--primary) / .8)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-gray-100:focus{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-red-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color: #dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x: var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x: var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[range-end\=true\]\:rounded-md[data-range-end=true]{border-radius:calc(var(--radius) - 2px)}.data-\[range-middle\=true\]\:rounded-none[data-range-middle=true]{border-radius:0}.data-\[range-start\=true\]\:rounded-md[data-range-start=true]{border-radius:calc(var(--radius) - 2px)}.data-\[selected\=true\]\:rounded-none[data-selected=true]{border-radius:0}.data-\[range-end\=true\]\:bg-primary[data-range-end=true]{background-color:hsl(var(--primary))}.data-\[range-middle\=true\]\:bg-accent[data-range-middle=true]{background-color:hsl(var(--accent))}.data-\[range-start\=true\]\:bg-primary[data-range-start=true],.data-\[selected-single\=true\]\:bg-primary[data-selected-single=true]{background-color:hsl(var(--primary))}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:hsl(var(--muted-foreground))}.data-\[range-end\=true\]\:text-primary-foreground[data-range-end=true]{color:hsl(var(--primary-foreground))}.data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle=true]{color:hsl(var(--accent-foreground))}.data-\[range-start\=true\]\:text-primary-foreground[data-range-start=true],.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single=true]{color:hsl(var(--primary-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=active\]\:duration-300[data-state=active]{transition-duration:.3s}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:relative{position:relative}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:z-10{z-index:10}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:border-ring{border-color:hsl(var(--ring))}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:ring-\[3px\]{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:ring-ring\/50{--tw-ring-color: hsl(var(--ring) / .5)}.dark\:border-blue-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1))}.dark\:border-blue-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(30 58 138 / var(--tw-border-opacity, 1))}.dark\:border-gray-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(17 24 39 / var(--tw-border-opacity, 1))}.dark\:border-yellow-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(113 63 18 / var(--tw-border-opacity, 1))}.dark\:bg-blue-500\/20:is(.dark *){background-color:#3b82f633}.dark\:bg-blue-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity, 1))}.dark\:bg-blue-950\/20:is(.dark *){background-color:#17255433}.dark\:bg-blue-950\/30:is(.dark *){background-color:#1725544d}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800\/30:is(.dark *){background-color:#1f29374d}.dark\:bg-gray-800\/50:is(.dark *){background-color:#1f293780}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900\/30:is(.dark *){background-color:#14532d4d}.dark\:bg-orange-950\/20:is(.dark *){background-color:#43140733}.dark\:bg-red-500\/20:is(.dark *){background-color:#ef444433}.dark\:bg-red-600\/30:is(.dark *){background-color:#dc26264d}.dark\:bg-red-950\/50:is(.dark *){background-color:#450a0a80}.dark\:bg-yellow-500\/20:is(.dark *){background-color:#eab30833}.dark\:bg-yellow-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(113 63 18 / var(--tw-bg-opacity, 1))}.dark\:bg-yellow-950\/30:is(.dark *){background-color:#4220064d}.dark\:text-blue-100:is(.dark *){--tw-text-opacity: 1;color:rgb(219 234 254 / var(--tw-text-opacity, 1))}.dark\:text-blue-200:is(.dark *){--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-cyan-500:is(.dark *){--tw-text-opacity: 1;color:rgb(6 182 212 / var(--tw-text-opacity, 1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-gray-600:is(.dark *){--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-orange-100:is(.dark *){--tw-text-opacity: 1;color:rgb(255 237 213 / var(--tw-text-opacity, 1))}.dark\:text-orange-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 215 170 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-red-500:is(.dark *){--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.dark\:text-yellow-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 240 138 / var(--tw-text-opacity, 1))}.dark\:text-yellow-300:is(.dark *){--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.dark\:text-yellow-500:is(.dark *){--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-gray-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:focus\:bg-gray-800:focus:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}@media(min-width:640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:right-2{right:.5rem}.sm\:right-3{right:.75rem}.sm\:top-2{top:.5rem}.sm\:top-3{top:.75rem}.sm\:top-auto{top:auto}.sm\:order-1{order:1}.sm\:order-2{order:2}.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:mb-3{margin-bottom:.75rem}.sm\:mb-4{margin-bottom:1rem}.sm\:mb-6{margin-bottom:1.5rem}.sm\:ml-1{margin-left:.25rem}.sm\:mr-1{margin-right:.25rem}.sm\:mr-2{margin-right:.5rem}.sm\:mt-0{margin-top:0}.sm\:mt-2{margin-top:.5rem}.sm\:mt-3{margin-top:.75rem}.sm\:mt-6{margin-top:1.5rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:h-10{height:2.5rem}.sm\:h-12{height:3rem}.sm\:h-2{height:.5rem}.sm\:h-24{height:6rem}.sm\:h-3{height:.75rem}.sm\:h-4{height:1rem}.sm\:h-\[300px\]{height:300px}.sm\:h-\[400px\]{height:400px}.sm\:h-\[500px\]{height:500px}.sm\:h-\[calc\(100vh-280px\)\]{height:calc(100vh - 280px)}.sm\:h-\[calc\(100vh-320px\)\]{height:calc(100vh - 320px)}.sm\:w-10{width:2.5rem}.sm\:w-2{width:.5rem}.sm\:w-24{width:6rem}.sm\:w-3{width:.75rem}.sm\:w-4{width:1rem}.sm\:w-\[140px\]{width:140px}.sm\:w-\[160px\]{width:160px}.sm\:w-\[200px\]{width:200px}.sm\:w-\[500px\]{width:500px}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-\[900px\]{max-width:900px}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:flex-1{flex:1 1 0%}.sm\:flex-none{flex:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-0{gap:0px}.sm\:gap-1{gap:.25rem}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:gap-6{gap:1.5rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.sm\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.sm\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:text-left{text-align:left}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-\[200px\]{font-size:200px}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media(min-width:768px){.md\:top-4{top:1rem}.md\:mb-6{margin-bottom:1.5rem}.md\:mb-8{margin-bottom:2rem}.md\:mt-8{margin-top:2rem}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-16{height:4rem}.md\:h-4{height:1rem}.md\:h-8{height:2rem}.md\:h-96{height:24rem}.md\:h-\[500px\]{height:500px}.md\:min-h-\[400px\]{min-height:400px}.md\:w-16{width:4rem}.md\:w-4{width:1rem}.md\:w-8{width:2rem}.md\:w-96{width:24rem}.md\:max-w-\[420px\]{max-width:420px}.md\:max-w-none{max-width:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:gap-2{gap:.5rem}.md\:whitespace-normal{white-space:normal}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xs{font-size:.75rem;line-height:1rem}}@media(min-width:1024px){.lg\:invisible{visibility:hidden}.lg\:relative{position:relative}.lg\:z-0{z-index:0}.lg\:mb-1{margin-bottom:.25rem}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:h-\[calc\(100vh-400px\)\]{height:calc(100vh - 400px)}.lg\:w-16{width:4rem}.lg\:w-64{width:16rem}.lg\:w-8{width:2rem}.lg\:w-\[150px\]{width:150px}.lg\:w-\[180px\]{width:180px}.lg\:w-\[200px\]{width:200px}.lg\:w-\[240px\]{width:240px}.lg\:w-\[80px\]{width:80px}.lg\:w-auto{width:auto}.lg\:max-w-0{max-width:0px}.lg\:flex-1{flex:1 1 0%}.lg\:flex-none{flex:none}.lg\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:justify-center{justify-content:center}.lg\:gap-0{gap:0px}.lg\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.lg\:overflow-hidden{overflow:hidden}.lg\:p-4{padding:1rem}.lg\:p-6{padding:1.5rem}.lg\:px-0{padding-left:0;padding-right:0}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}.lg\:text-sm{font-size:.875rem;line-height:1.25rem}.lg\:opacity-0{opacity:0}}.\[\&\+div\]\:text-xs+div{font-size:.75rem;line-height:1rem}.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y: 2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>span\]\:text-xs>span{font-size:.75rem;line-height:1rem}.\[\&\>span\]\:opacity-70>span{opacity:.7}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y: -3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:hsl(var(--border) / .5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline:2px solid transparent;outline-offset:2px}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline:2px solid transparent;outline-offset:2px}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:invisible svg{visibility:hidden}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent{background-color:transparent} diff --git a/webui/dist/assets/index-DgvN-P_n.js b/webui/dist/assets/index-DgvN-P_n.js new file mode 100644 index 00000000..c055516c --- /dev/null +++ b/webui/dist/assets/index-DgvN-P_n.js @@ -0,0 +1,48 @@ +import{r as x,j as e,u as qn,R as Ne,d as K_,L as Q_,e as Z_,f as Ts,g as J_,h as e2,O as ry,b as t2,k as s2}from"./router-BWgTyY51.js";import{a as n2,b as a2}from"./react-vendor-Dtc2IqVY.js";import{c as iy,R as l2,T as r2,L as i2,a as o2,C as Xc,X as Kc,Y as Ii,b as c2,B as uf,d as Qc,P as d2,e as u2,f as m2}from"./charts-DU5SeejN.js";import{c as Dn,a as _d,u as jn,P as dt,b as be,d as Tt,e as xo,f as Qa,g as ws,h as Is,i as oy,j as rh,k as ih,S as f2,l as cy,m as dy,R as uy,O as Cd,n as oh,C as kd,o as ch,T as dh,D as uh,p as mh,q as my,r as fy,W as h2,s as hy,I as x2,t as xy,v as py,w as p2,x as gy,V as g2,L as vy,y as jy,z as v2,A as j2,B as yy,E as y2,F as b2,G as Ga,H as Td,J as Wr,K as by,M as Ny,N as wy,Q as Sy,U as fh,X as hh,Y as Ed,Z as Md,_ as xh,$ as _y,a0 as N2,a1 as Cy,a2 as w2,a3 as S2,a4 as ky,a5 as _2}from"./ui-vendor-nTGLnMlb.js";import{R as xa,A as C2,D as k2,a as T2,Z as ao,C as _l,M as po,T as E2,X as go,P as Ty,S as M2,b as Tn,I as Fr,c as Lr,d as Cl,e as Df,E as Of,f as Mn,g as Ys,h as Af,i as D2,j as Rf,k as zf,L as Zv,K as O2,l as Tl,m as A2,n as R2,F as ph,o as z2,B as P2,U as Ey,p as gh,q as L2,r as B2,s as Gs,H as fd,t as My,u as lo,v as Pf,w as ro,x as vh,y as jh,z as ys,G as ft,J as hd,N as Yr,O as vo,Q as Ol,V as Al,W as jo,Y as U2,_ as Lf,$ as qr,a0 as Jv,a1 as xd,a2 as H2,a3 as ej,a4 as F2,a5 as Y2,a6 as Bf,a7 as q2,a8 as tj,a9 as so,aa as pd,ab as Dy,ac as Oy,ad as Ay,ae as V2,af as G2,ag as $2,ah as I2,ai as W2,aj as sj,ak as X2}from"./icons-DnP4c9nr.js";(function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))i(c);new MutationObserver(c=>{for(const d of c)if(d.type==="childList")for(const m of d.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&i(m)}).observe(document,{childList:!0,subtree:!0});function l(c){const d={};return c.integrity&&(d.integrity=c.integrity),c.referrerPolicy&&(d.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?d.credentials="include":c.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function i(c){if(c.ep)return;c.ep=!0;const d=l(c);fetch(c.href,d)}})();var mf={exports:{}},Wi={},ff={exports:{}},hf={};var nj;function K2(){return nj||(nj=1,(function(s){function a(R,O){var L=R.length;R.push(O);e:for(;0>>1,le=R[ee];if(0>>1;eec(W,L))fec(I,W)?(R[ee]=I,R[fe]=L,ee=fe):(R[ee]=W,R[F]=L,ee=F);else if(fec(I,L))R[ee]=I,R[fe]=L,ee=fe;else break e}}return O}function c(R,O){var L=R.sortIndex-O.sortIndex;return L!==0?L:R.id-O.id}if(s.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;s.unstable_now=function(){return d.now()}}else{var m=Date,h=m.now();s.unstable_now=function(){return m.now()-h}}var p=[],v=[],g=1,j=null,b=3,w=!1,S=!1,C=!1,N=!1,T=typeof setTimeout=="function"?setTimeout:null,P=typeof clearTimeout=="function"?clearTimeout:null,M=typeof setImmediate<"u"?setImmediate:null;function k(R){for(var O=l(v);O!==null;){if(O.callback===null)i(v);else if(O.startTime<=R)i(v),O.sortIndex=O.expirationTime,a(p,O);else break;O=l(v)}}function D(R){if(C=!1,k(R),!S)if(l(p)!==null)S=!0,A||(A=!0,oe());else{var O=l(v);O!==null&&me(D,O.startTime-R)}}var A=!1,E=-1,B=5,Y=-1;function G(){return N?!0:!(s.unstable_now()-YR&&G());){var ee=j.callback;if(typeof ee=="function"){j.callback=null,b=j.priorityLevel;var le=ee(j.expirationTime<=R);if(R=s.unstable_now(),typeof le=="function"){j.callback=le,k(R),O=!0;break t}j===l(p)&&i(p),k(R)}else i(p);j=l(p)}if(j!==null)O=!0;else{var xe=l(v);xe!==null&&me(D,xe.startTime-R),O=!1}}break e}finally{j=null,b=L,w=!1}O=void 0}}finally{O?oe():A=!1}}}var oe;if(typeof M=="function")oe=function(){M($)};else if(typeof MessageChannel<"u"){var je=new MessageChannel,ae=je.port2;je.port1.onmessage=$,oe=function(){ae.postMessage(null)}}else oe=function(){T($,0)};function me(R,O){E=T(function(){R(s.unstable_now())},O)}s.unstable_IdlePriority=5,s.unstable_ImmediatePriority=1,s.unstable_LowPriority=4,s.unstable_NormalPriority=3,s.unstable_Profiling=null,s.unstable_UserBlockingPriority=2,s.unstable_cancelCallback=function(R){R.callback=null},s.unstable_forceFrameRate=function(R){0>R||125ee?(R.sortIndex=L,a(v,R),l(p)===null&&R===l(v)&&(C?(P(E),E=-1):C=!0,me(D,L-ee))):(R.sortIndex=le,a(p,R),S||w||(S=!0,A||(A=!0,oe()))),R},s.unstable_shouldYield=G,s.unstable_wrapCallback=function(R){var O=b;return function(){var L=b;b=O;try{return R.apply(this,arguments)}finally{b=L}}}})(hf)),hf}var aj;function Q2(){return aj||(aj=1,ff.exports=K2()),ff.exports}var lj;function Z2(){if(lj)return Wi;lj=1;var s=Q2(),a=n2(),l=a2();function i(t){var n="https://react.dev/errors/"+t;if(1le||(t.current=ee[le],ee[le]=null,le--)}function W(t,n){le++,ee[le]=t.current,t.current=n}var fe=xe(null),I=xe(null),ve=xe(null),de=xe(null);function Ce(t,n){switch(W(ve,n),W(I,t),W(fe,null),n.nodeType){case 9:case 11:t=(t=n.documentElement)&&(t=t.namespaceURI)?bv(t):0;break;default:if(t=n.tagName,n=n.namespaceURI)n=bv(n),t=Nv(n,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}F(fe),W(fe,t)}function Q(){F(fe),F(I),F(ve)}function Oe(t){t.memoizedState!==null&&W(de,t);var n=fe.current,r=Nv(n,t.type);n!==r&&(W(I,t),W(fe,r))}function $e(t){I.current===t&&(F(fe),F(I)),de.current===t&&(F(de),qi._currentValue=L)}var re,Pe;function ze(t){if(re===void 0)try{throw Error()}catch(r){var n=r.stack.trim().match(/\n( *(at )?)/);re=n&&n[1]||"",Pe=-1)":-1u||z[o]!==K[u]){var ie=` +`+z[o].replace(" at new "," at ");return t.displayName&&ie.includes("")&&(ie=ie.replace("",t.displayName)),ie}while(1<=o&&0<=u);break}}}finally{Zt=!1,Error.prepareStackTrace=r}return(r=t?t.displayName||t.name:"")?ze(r):""}function An(t,n){switch(t.tag){case 26:case 27:case 5:return ze(t.type);case 16:return ze("Lazy");case 13:return t.child!==n&&n!==null?ze("Suspense Fallback"):ze("Suspense");case 19:return ze("SuspenseList");case 0:case 15:return Rs(t.type,!1);case 11:return Rs(t.type.render,!1);case 1:return Rs(t.type,!0);case 31:return ze("Activity");default:return""}}function Le(t){try{var n="",r=null;do n+=An(t,r),r=t,t=t.return;while(t);return n}catch(o){return` +Error generating stack: `+o.message+` +`+o.stack}}var Nn=Object.prototype.hasOwnProperty,ln=s.unstable_scheduleCallback,rn=s.unstable_cancelCallback,Xt=s.unstable_shouldYield,Ds=s.unstable_requestPaint,ke=s.unstable_now,is=s.unstable_getCurrentPriorityLevel,he=s.unstable_ImmediatePriority,Ee=s.unstable_UserBlockingPriority,Ve=s.unstable_NormalPriority,Os=s.unstable_LowPriority,$n=s.unstable_IdlePriority,Hl=s.log,Fl=s.unstable_setDisableYieldValue,se=null,ge=null;function Qe(t){if(typeof Hl=="function"&&Fl(t),ge&&typeof ge.setStrictMode=="function")try{ge.setStrictMode(se,t)}catch{}}var pt=Math.clz32?Math.clz32:Mt,tl=Math.log,We=Math.LN2;function Mt(t){return t>>>=0,t===0?32:31-(tl(t)/We|0)|0}var Be=256,ht=262144,os=4194304;function Xe(t){var n=t&42;if(n!==0)return n;switch(t&-t){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 t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Yl(t,n,r){var o=t.pendingLanes;if(o===0)return 0;var u=0,f=t.suspendedLanes,y=t.pingedLanes;t=t.warmLanes;var _=o&134217727;return _!==0?(o=_&~f,o!==0?u=Xe(o):(y&=_,y!==0?u=Xe(y):r||(r=_&~t,r!==0&&(u=Xe(r))))):(_=o&~f,_!==0?u=Xe(_):y!==0?u=Xe(y):r||(r=o&~t,r!==0&&(u=Xe(r)))),u===0?0:n!==0&&n!==u&&(n&f)===0&&(f=u&-u,r=n&-n,f>=r||f===32&&(r&4194048)!==0)?n:u}function sl(t,n){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&n)===0}function Zd(t,n){switch(t){case 1:case 2:case 4:case 8:case 64:return n+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 n+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 ql(){var t=os;return os<<=1,(os&62914560)===0&&(os=4194304),t}function nl(t){for(var n=[],r=0;31>r;r++)n.push(t);return n}function ni(t,n){t.pendingLanes|=n,n!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function B1(t,n,r,o,u,f){var y=t.pendingLanes;t.pendingLanes=r,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=r,t.entangledLanes&=r,t.errorRecoveryDisabledLanes&=r,t.shellSuspendCounter=0;var _=t.entanglements,z=t.expirationTimes,K=t.hiddenUpdates;for(r=y&~r;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var V1=/[\n"\\]/g;function cn(t){return t.replace(V1,function(n){return"\\"+n.charCodeAt(0).toString(16)+" "})}function au(t,n,r,o,u,f,y,_){t.name="",y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"?t.type=y:t.removeAttribute("type"),n!=null?y==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+on(n)):t.value!==""+on(n)&&(t.value=""+on(n)):y!=="submit"&&y!=="reset"||t.removeAttribute("value"),n!=null?lu(t,y,on(n)):r!=null?lu(t,y,on(r)):o!=null&&t.removeAttribute("value"),u==null&&f!=null&&(t.defaultChecked=!!f),u!=null&&(t.checked=u&&typeof u!="function"&&typeof u!="symbol"),_!=null&&typeof _!="function"&&typeof _!="symbol"&&typeof _!="boolean"?t.name=""+on(_):t.removeAttribute("name")}function xx(t,n,r,o,u,f,y,_){if(f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"&&(t.type=f),n!=null||r!=null){if(!(f!=="submit"&&f!=="reset"||n!=null)){nu(t);return}r=r!=null?""+on(r):"",n=n!=null?""+on(n):r,_||n===t.value||(t.value=n),t.defaultValue=n}o=o??u,o=typeof o!="function"&&typeof o!="symbol"&&!!o,t.checked=_?t.checked:!!o,t.defaultChecked=!!o,y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"&&(t.name=y),nu(t)}function lu(t,n,r){n==="number"&&Uo(t.ownerDocument)===t||t.defaultValue===""+r||(t.defaultValue=""+r)}function Xl(t,n,r,o){if(t=t.options,n){n={};for(var u=0;u"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),du=!1;if(Xn)try{var ii={};Object.defineProperty(ii,"passive",{get:function(){du=!0}}),window.addEventListener("test",ii,ii),window.removeEventListener("test",ii,ii)}catch{du=!1}var ya=null,uu=null,Fo=null;function Nx(){if(Fo)return Fo;var t,n=uu,r=n.length,o,u="value"in ya?ya.value:ya.textContent,f=u.length;for(t=0;t=di),Tx=" ",Ex=!1;function Mx(t,n){switch(t){case"keyup":return vS.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Dx(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Jl=!1;function yS(t,n){switch(t){case"compositionend":return Dx(n);case"keypress":return n.which!==32?null:(Ex=!0,Tx);case"textInput":return t=n.data,t===Tx&&Ex?null:t;default:return null}}function bS(t,n){if(Jl)return t==="compositionend"||!pu&&Mx(t,n)?(t=Nx(),Fo=uu=ya=null,Jl=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:r,offset:n-t};t=o}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Ux(r)}}function Fx(t,n){return t&&n?t===n?!0:t&&t.nodeType===3?!1:n&&n.nodeType===3?Fx(t,n.parentNode):"contains"in t?t.contains(n):t.compareDocumentPosition?!!(t.compareDocumentPosition(n)&16):!1:!1}function Yx(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var n=Uo(t.document);n instanceof t.HTMLIFrameElement;){try{var r=typeof n.contentWindow.location.href=="string"}catch{r=!1}if(r)t=n.contentWindow;else break;n=Uo(t.document)}return n}function ju(t){var n=t&&t.nodeName&&t.nodeName.toLowerCase();return n&&(n==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||n==="textarea"||t.contentEditable==="true")}var ES=Xn&&"documentMode"in document&&11>=document.documentMode,er=null,yu=null,hi=null,bu=!1;function qx(t,n,r){var o=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;bu||er==null||er!==Uo(o)||(o=er,"selectionStart"in o&&ju(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),hi&&fi(hi,o)||(hi=o,o=Rc(yu,"onSelect"),0>=y,u-=y,Rn=1<<32-pt(n)+u|r<Ge?(st=Te,Te=null):st=Te.sibling;var mt=J(V,Te,X[Ge],ce);if(mt===null){Te===null&&(Te=st);break}t&&Te&&mt.alternate===null&&n(V,Te),H=f(mt,H,Ge),ut===null?De=mt:ut.sibling=mt,ut=mt,Te=st}if(Ge===X.length)return r(V,Te),nt&&Qn(V,Ge),De;if(Te===null){for(;GeGe?(st=Te,Te=null):st=Te.sibling;var Ya=J(V,Te,mt.value,ce);if(Ya===null){Te===null&&(Te=st);break}t&&Te&&Ya.alternate===null&&n(V,Te),H=f(Ya,H,Ge),ut===null?De=Ya:ut.sibling=Ya,ut=Ya,Te=st}if(mt.done)return r(V,Te),nt&&Qn(V,Ge),De;if(Te===null){for(;!mt.done;Ge++,mt=X.next())mt=ue(V,mt.value,ce),mt!==null&&(H=f(mt,H,Ge),ut===null?De=mt:ut.sibling=mt,ut=mt);return nt&&Qn(V,Ge),De}for(Te=o(Te);!mt.done;Ge++,mt=X.next())mt=ne(Te,V,Ge,mt.value,ce),mt!==null&&(t&&mt.alternate!==null&&Te.delete(mt.key===null?Ge:mt.key),H=f(mt,H,Ge),ut===null?De=mt:ut.sibling=mt,ut=mt);return t&&Te.forEach(function(X_){return n(V,X_)}),nt&&Qn(V,Ge),De}function St(V,H,X,ce){if(typeof X=="object"&&X!==null&&X.type===C&&X.key===null&&(X=X.props.children),typeof X=="object"&&X!==null){switch(X.$$typeof){case w:e:{for(var De=X.key;H!==null;){if(H.key===De){if(De=X.type,De===C){if(H.tag===7){r(V,H.sibling),ce=u(H,X.props.children),ce.return=V,V=ce;break e}}else if(H.elementType===De||typeof De=="object"&&De!==null&&De.$$typeof===B&&hl(De)===H.type){r(V,H.sibling),ce=u(H,X.props),yi(ce,X),ce.return=V,V=ce;break e}r(V,H);break}else n(V,H);H=H.sibling}X.type===C?(ce=cl(X.props.children,V.mode,ce,X.key),ce.return=V,V=ce):(ce=Qo(X.type,X.key,X.props,null,V.mode,ce),yi(ce,X),ce.return=V,V=ce)}return y(V);case S:e:{for(De=X.key;H!==null;){if(H.key===De)if(H.tag===4&&H.stateNode.containerInfo===X.containerInfo&&H.stateNode.implementation===X.implementation){r(V,H.sibling),ce=u(H,X.children||[]),ce.return=V,V=ce;break e}else{r(V,H);break}else n(V,H);H=H.sibling}ce=Tu(X,V.mode,ce),ce.return=V,V=ce}return y(V);case B:return X=hl(X),St(V,H,X,ce)}if(me(X))return we(V,H,X,ce);if(oe(X)){if(De=oe(X),typeof De!="function")throw Error(i(150));return X=De.call(X),Re(V,H,X,ce)}if(typeof X.then=="function")return St(V,H,ac(X),ce);if(X.$$typeof===M)return St(V,H,ec(V,X),ce);lc(V,X)}return typeof X=="string"&&X!==""||typeof X=="number"||typeof X=="bigint"?(X=""+X,H!==null&&H.tag===6?(r(V,H.sibling),ce=u(H,X),ce.return=V,V=ce):(r(V,H),ce=ku(X,V.mode,ce),ce.return=V,V=ce),y(V)):r(V,H)}return function(V,H,X,ce){try{ji=0;var De=St(V,H,X,ce);return ur=null,De}catch(Te){if(Te===dr||Te===sc)throw Te;var ut=Ks(29,Te,null,V.mode);return ut.lanes=ce,ut.return=V,ut}finally{}}}var pl=mp(!0),fp=mp(!1),_a=!1;function Hu(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Fu(t,n){t=t.updateQueue,n.updateQueue===t&&(n.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Ca(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function ka(t,n,r){var o=t.updateQueue;if(o===null)return null;if(o=o.shared,(xt&2)!==0){var u=o.pending;return u===null?n.next=n:(n.next=u.next,u.next=n),o.pending=n,n=Ko(t),Kx(t,null,r),n}return Xo(t,o,n,r),Ko(t)}function bi(t,n,r){if(n=n.updateQueue,n!==null&&(n=n.shared,(r&4194048)!==0)){var o=n.lanes;o&=t.pendingLanes,r|=o,n.lanes=r,ax(t,r)}}function Yu(t,n){var r=t.updateQueue,o=t.alternate;if(o!==null&&(o=o.updateQueue,r===o)){var u=null,f=null;if(r=r.firstBaseUpdate,r!==null){do{var y={lane:r.lane,tag:r.tag,payload:r.payload,callback:null,next:null};f===null?u=f=y:f=f.next=y,r=r.next}while(r!==null);f===null?u=f=n:f=f.next=n}else u=f=n;r={baseState:o.baseState,firstBaseUpdate:u,lastBaseUpdate:f,shared:o.shared,callbacks:o.callbacks},t.updateQueue=r;return}t=r.lastBaseUpdate,t===null?r.firstBaseUpdate=n:t.next=n,r.lastBaseUpdate=n}var qu=!1;function Ni(){if(qu){var t=cr;if(t!==null)throw t}}function wi(t,n,r,o){qu=!1;var u=t.updateQueue;_a=!1;var f=u.firstBaseUpdate,y=u.lastBaseUpdate,_=u.shared.pending;if(_!==null){u.shared.pending=null;var z=_,K=z.next;z.next=null,y===null?f=K:y.next=K,y=z;var ie=t.alternate;ie!==null&&(ie=ie.updateQueue,_=ie.lastBaseUpdate,_!==y&&(_===null?ie.firstBaseUpdate=K:_.next=K,ie.lastBaseUpdate=z))}if(f!==null){var ue=u.baseState;y=0,ie=K=z=null,_=f;do{var J=_.lane&-536870913,ne=J!==_.lane;if(ne?(tt&J)===J:(o&J)===J){J!==0&&J===or&&(qu=!0),ie!==null&&(ie=ie.next={lane:0,tag:_.tag,payload:_.payload,callback:null,next:null});e:{var we=t,Re=_;J=n;var St=r;switch(Re.tag){case 1:if(we=Re.payload,typeof we=="function"){ue=we.call(St,ue,J);break e}ue=we;break e;case 3:we.flags=we.flags&-65537|128;case 0:if(we=Re.payload,J=typeof we=="function"?we.call(St,ue,J):we,J==null)break e;ue=j({},ue,J);break e;case 2:_a=!0}}J=_.callback,J!==null&&(t.flags|=64,ne&&(t.flags|=8192),ne=u.callbacks,ne===null?u.callbacks=[J]:ne.push(J))}else ne={lane:J,tag:_.tag,payload:_.payload,callback:_.callback,next:null},ie===null?(K=ie=ne,z=ue):ie=ie.next=ne,y|=J;if(_=_.next,_===null){if(_=u.shared.pending,_===null)break;ne=_,_=ne.next,ne.next=null,u.lastBaseUpdate=ne,u.shared.pending=null}}while(!0);ie===null&&(z=ue),u.baseState=z,u.firstBaseUpdate=K,u.lastBaseUpdate=ie,f===null&&(u.shared.lanes=0),Oa|=y,t.lanes=y,t.memoizedState=ue}}function hp(t,n){if(typeof t!="function")throw Error(i(191,t));t.call(n)}function xp(t,n){var r=t.callbacks;if(r!==null)for(t.callbacks=null,t=0;tf?f:8;var y=R.T,_={};R.T=_,om(t,!1,n,r);try{var z=u(),K=R.S;if(K!==null&&K(_,z),z!==null&&typeof z=="object"&&typeof z.then=="function"){var ie=BS(z,o);Ci(t,n,ie,tn(t))}else Ci(t,n,o,tn(t))}catch(ue){Ci(t,n,{then:function(){},status:"rejected",reason:ue},tn())}finally{O.p=f,y!==null&&_.types!==null&&(y.types=_.types),R.T=y}}function VS(){}function rm(t,n,r,o){if(t.tag!==5)throw Error(i(476));var u=Ip(t).queue;$p(t,u,n,L,r===null?VS:function(){return Wp(t),r(o)})}function Ip(t){var n=t.memoizedState;if(n!==null)return n;n={memoizedState:L,baseState:L,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ta,lastRenderedState:L},next:null};var r={};return n.next={memoizedState:r,baseState:r,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ta,lastRenderedState:r},next:null},t.memoizedState=n,t=t.alternate,t!==null&&(t.memoizedState=n),n}function Wp(t){var n=Ip(t);n.next===null&&(n=t.alternate.memoizedState),Ci(t,n.next.queue,{},tn())}function im(){return gs(qi)}function Xp(){return Qt().memoizedState}function Kp(){return Qt().memoizedState}function GS(t){for(var n=t.return;n!==null;){switch(n.tag){case 24:case 3:var r=tn();t=Ca(r);var o=ka(n,t,r);o!==null&&(Fs(o,n,r),bi(o,n,r)),n={cache:Pu()},t.payload=n;return}n=n.return}}function $S(t,n,r){var o=tn();r={lane:o,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},xc(t)?Zp(n,r):(r=_u(t,n,r,o),r!==null&&(Fs(r,t,o),Jp(r,n,o)))}function Qp(t,n,r){var o=tn();Ci(t,n,r,o)}function Ci(t,n,r,o){var u={lane:o,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null};if(xc(t))Zp(n,u);else{var f=t.alternate;if(t.lanes===0&&(f===null||f.lanes===0)&&(f=n.lastRenderedReducer,f!==null))try{var y=n.lastRenderedState,_=f(y,r);if(u.hasEagerState=!0,u.eagerState=_,Xs(_,y))return Xo(t,n,u,0),Et===null&&Wo(),!1}catch{}finally{}if(r=_u(t,n,u,o),r!==null)return Fs(r,t,o),Jp(r,n,o),!0}return!1}function om(t,n,r,o){if(o={lane:2,revertLane:Hm(),gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},xc(t)){if(n)throw Error(i(479))}else n=_u(t,r,o,2),n!==null&&Fs(n,t,2)}function xc(t){var n=t.alternate;return t===Ye||n!==null&&n===Ye}function Zp(t,n){fr=oc=!0;var r=t.pending;r===null?n.next=n:(n.next=r.next,r.next=n),t.pending=n}function Jp(t,n,r){if((r&4194048)!==0){var o=n.lanes;o&=t.pendingLanes,r|=o,n.lanes=r,ax(t,r)}}var ki={readContext:gs,use:uc,useCallback:It,useContext:It,useEffect:It,useImperativeHandle:It,useLayoutEffect:It,useInsertionEffect:It,useMemo:It,useReducer:It,useRef:It,useState:It,useDebugValue:It,useDeferredValue:It,useTransition:It,useSyncExternalStore:It,useId:It,useHostTransitionStatus:It,useFormState:It,useActionState:It,useOptimistic:It,useMemoCache:It,useCacheRefresh:It};ki.useEffectEvent=It;var eg={readContext:gs,use:uc,useCallback:function(t,n){return As().memoizedState=[t,n===void 0?null:n],t},useContext:gs,useEffect:Lp,useImperativeHandle:function(t,n,r){r=r!=null?r.concat([t]):null,fc(4194308,4,Fp.bind(null,n,t),r)},useLayoutEffect:function(t,n){return fc(4194308,4,t,n)},useInsertionEffect:function(t,n){fc(4,2,t,n)},useMemo:function(t,n){var r=As();n=n===void 0?null:n;var o=t();if(gl){Qe(!0);try{t()}finally{Qe(!1)}}return r.memoizedState=[o,n],o},useReducer:function(t,n,r){var o=As();if(r!==void 0){var u=r(n);if(gl){Qe(!0);try{r(n)}finally{Qe(!1)}}}else u=n;return o.memoizedState=o.baseState=u,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:u},o.queue=t,t=t.dispatch=$S.bind(null,Ye,t),[o.memoizedState,t]},useRef:function(t){var n=As();return t={current:t},n.memoizedState=t},useState:function(t){t=tm(t);var n=t.queue,r=Qp.bind(null,Ye,n);return n.dispatch=r,[t.memoizedState,r]},useDebugValue:am,useDeferredValue:function(t,n){var r=As();return lm(r,t,n)},useTransition:function(){var t=tm(!1);return t=$p.bind(null,Ye,t.queue,!0,!1),As().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,n,r){var o=Ye,u=As();if(nt){if(r===void 0)throw Error(i(407));r=r()}else{if(r=n(),Et===null)throw Error(i(349));(tt&127)!==0||bp(o,n,r)}u.memoizedState=r;var f={value:r,getSnapshot:n};return u.queue=f,Lp(wp.bind(null,o,f,t),[t]),o.flags|=2048,xr(9,{destroy:void 0},Np.bind(null,o,f,r,n),null),r},useId:function(){var t=As(),n=Et.identifierPrefix;if(nt){var r=zn,o=Rn;r=(o&~(1<<32-pt(o)-1)).toString(32)+r,n="_"+n+"R_"+r,r=cc++,0<\/script>",f=f.removeChild(f.firstChild);break;case"select":f=typeof o.is=="string"?y.createElement("select",{is:o.is}):y.createElement("select"),o.multiple?f.multiple=!0:o.size&&(f.size=o.size);break;default:f=typeof o.is=="string"?y.createElement(u,{is:o.is}):y.createElement(u)}}f[xs]=n,f[zs]=o;e:for(y=n.child;y!==null;){if(y.tag===5||y.tag===6)f.appendChild(y.stateNode);else if(y.tag!==4&&y.tag!==27&&y.child!==null){y.child.return=y,y=y.child;continue}if(y===n)break e;for(;y.sibling===null;){if(y.return===null||y.return===n)break e;y=y.return}y.sibling.return=y.return,y=y.sibling}n.stateNode=f;e:switch(js(f,u,o),u){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break e;case"img":o=!0;break e;default:o=!1}o&&na(n)}}return Ht(n),Nm(n,n.type,t===null?null:t.memoizedProps,n.pendingProps,r),null;case 6:if(t&&n.stateNode!=null)t.memoizedProps!==o&&na(n);else{if(typeof o!="string"&&n.stateNode===null)throw Error(i(166));if(t=ve.current,rr(n)){if(t=n.stateNode,r=n.memoizedProps,o=null,u=ps,u!==null)switch(u.tag){case 27:case 5:o=u.memoizedProps}t[xs]=n,t=!!(t.nodeValue===r||o!==null&&o.suppressHydrationWarning===!0||jv(t.nodeValue,r)),t||wa(n,!0)}else t=zc(t).createTextNode(o),t[xs]=n,n.stateNode=t}return Ht(n),null;case 31:if(r=n.memoizedState,t===null||t.memoizedState!==null){if(o=rr(n),r!==null){if(t===null){if(!o)throw Error(i(318));if(t=n.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(i(557));t[xs]=n}else dl(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;Ht(n),t=!1}else r=Ou(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=r),t=!0;if(!t)return n.flags&256?(Zs(n),n):(Zs(n),null);if((n.flags&128)!==0)throw Error(i(558))}return Ht(n),null;case 13:if(o=n.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(u=rr(n),o!==null&&o.dehydrated!==null){if(t===null){if(!u)throw Error(i(318));if(u=n.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(i(317));u[xs]=n}else dl(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;Ht(n),u=!1}else u=Ou(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=u),u=!0;if(!u)return n.flags&256?(Zs(n),n):(Zs(n),null)}return Zs(n),(n.flags&128)!==0?(n.lanes=r,n):(r=o!==null,t=t!==null&&t.memoizedState!==null,r&&(o=n.child,u=null,o.alternate!==null&&o.alternate.memoizedState!==null&&o.alternate.memoizedState.cachePool!==null&&(u=o.alternate.memoizedState.cachePool.pool),f=null,o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(f=o.memoizedState.cachePool.pool),f!==u&&(o.flags|=2048)),r!==t&&r&&(n.child.flags|=8192),yc(n,n.updateQueue),Ht(n),null);case 4:return Q(),t===null&&Vm(n.stateNode.containerInfo),Ht(n),null;case 10:return Jn(n.type),Ht(n),null;case 19:if(F(Kt),o=n.memoizedState,o===null)return Ht(n),null;if(u=(n.flags&128)!==0,f=o.rendering,f===null)if(u)Ei(o,!1);else{if(Wt!==0||t!==null&&(t.flags&128)!==0)for(t=n.child;t!==null;){if(f=ic(t),f!==null){for(n.flags|=128,Ei(o,!1),t=f.updateQueue,n.updateQueue=t,yc(n,t),n.subtreeFlags=0,t=r,r=n.child;r!==null;)Qx(r,t),r=r.sibling;return W(Kt,Kt.current&1|2),nt&&Qn(n,o.treeForkCount),n.child}t=t.sibling}o.tail!==null&&ke()>_c&&(n.flags|=128,u=!0,Ei(o,!1),n.lanes=4194304)}else{if(!u)if(t=ic(f),t!==null){if(n.flags|=128,u=!0,t=t.updateQueue,n.updateQueue=t,yc(n,t),Ei(o,!0),o.tail===null&&o.tailMode==="hidden"&&!f.alternate&&!nt)return Ht(n),null}else 2*ke()-o.renderingStartTime>_c&&r!==536870912&&(n.flags|=128,u=!0,Ei(o,!1),n.lanes=4194304);o.isBackwards?(f.sibling=n.child,n.child=f):(t=o.last,t!==null?t.sibling=f:n.child=f,o.last=f)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=ke(),t.sibling=null,r=Kt.current,W(Kt,u?r&1|2:r&1),nt&&Qn(n,o.treeForkCount),t):(Ht(n),null);case 22:case 23:return Zs(n),Gu(),o=n.memoizedState!==null,t!==null?t.memoizedState!==null!==o&&(n.flags|=8192):o&&(n.flags|=8192),o?(r&536870912)!==0&&(n.flags&128)===0&&(Ht(n),n.subtreeFlags&6&&(n.flags|=8192)):Ht(n),r=n.updateQueue,r!==null&&yc(n,r.retryQueue),r=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),o=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(o=n.memoizedState.cachePool.pool),o!==r&&(n.flags|=2048),t!==null&&F(fl),null;case 24:return r=null,t!==null&&(r=t.memoizedState.cache),n.memoizedState.cache!==r&&(n.flags|=2048),Jn(Jt),Ht(n),null;case 25:return null;case 30:return null}throw Error(i(156,n.tag))}function QS(t,n){switch(Mu(n),n.tag){case 1:return t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 3:return Jn(Jt),Q(),t=n.flags,(t&65536)!==0&&(t&128)===0?(n.flags=t&-65537|128,n):null;case 26:case 27:case 5:return $e(n),null;case 31:if(n.memoizedState!==null){if(Zs(n),n.alternate===null)throw Error(i(340));dl()}return t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 13:if(Zs(n),t=n.memoizedState,t!==null&&t.dehydrated!==null){if(n.alternate===null)throw Error(i(340));dl()}return t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 19:return F(Kt),null;case 4:return Q(),null;case 10:return Jn(n.type),null;case 22:case 23:return Zs(n),Gu(),t!==null&&F(fl),t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 24:return Jn(Jt),null;case 25:return null;default:return null}}function Sg(t,n){switch(Mu(n),n.tag){case 3:Jn(Jt),Q();break;case 26:case 27:case 5:$e(n);break;case 4:Q();break;case 31:n.memoizedState!==null&&Zs(n);break;case 13:Zs(n);break;case 19:F(Kt);break;case 10:Jn(n.type);break;case 22:case 23:Zs(n),Gu(),t!==null&&F(fl);break;case 24:Jn(Jt)}}function Mi(t,n){try{var r=n.updateQueue,o=r!==null?r.lastEffect:null;if(o!==null){var u=o.next;r=u;do{if((r.tag&t)===t){o=void 0;var f=r.create,y=r.inst;o=f(),y.destroy=o}r=r.next}while(r!==u)}}catch(_){jt(n,n.return,_)}}function Ma(t,n,r){try{var o=n.updateQueue,u=o!==null?o.lastEffect:null;if(u!==null){var f=u.next;o=f;do{if((o.tag&t)===t){var y=o.inst,_=y.destroy;if(_!==void 0){y.destroy=void 0,u=n;var z=r,K=_;try{K()}catch(ie){jt(u,z,ie)}}}o=o.next}while(o!==f)}}catch(ie){jt(n,n.return,ie)}}function _g(t){var n=t.updateQueue;if(n!==null){var r=t.stateNode;try{xp(n,r)}catch(o){jt(t,t.return,o)}}}function Cg(t,n,r){r.props=vl(t.type,t.memoizedProps),r.state=t.memoizedState;try{r.componentWillUnmount()}catch(o){jt(t,n,o)}}function Di(t,n){try{var r=t.ref;if(r!==null){switch(t.tag){case 26:case 27:case 5:var o=t.stateNode;break;case 30:o=t.stateNode;break;default:o=t.stateNode}typeof r=="function"?t.refCleanup=r(o):r.current=o}}catch(u){jt(t,n,u)}}function Pn(t,n){var r=t.ref,o=t.refCleanup;if(r!==null)if(typeof o=="function")try{o()}catch(u){jt(t,n,u)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof r=="function")try{r(null)}catch(u){jt(t,n,u)}else r.current=null}function kg(t){var n=t.type,r=t.memoizedProps,o=t.stateNode;try{e:switch(n){case"button":case"input":case"select":case"textarea":r.autoFocus&&o.focus();break e;case"img":r.src?o.src=r.src:r.srcSet&&(o.srcset=r.srcSet)}}catch(u){jt(t,t.return,u)}}function wm(t,n,r){try{var o=t.stateNode;j_(o,t.type,r,n),o[zs]=n}catch(u){jt(t,t.return,u)}}function Tg(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&La(t.type)||t.tag===4}function Sm(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Tg(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&La(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function _m(t,n,r){var o=t.tag;if(o===5||o===6)t=t.stateNode,n?(r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r).insertBefore(t,n):(n=r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r,n.appendChild(t),r=r._reactRootContainer,r!=null||n.onclick!==null||(n.onclick=Wn));else if(o!==4&&(o===27&&La(t.type)&&(r=t.stateNode,n=null),t=t.child,t!==null))for(_m(t,n,r),t=t.sibling;t!==null;)_m(t,n,r),t=t.sibling}function bc(t,n,r){var o=t.tag;if(o===5||o===6)t=t.stateNode,n?r.insertBefore(t,n):r.appendChild(t);else if(o!==4&&(o===27&&La(t.type)&&(r=t.stateNode),t=t.child,t!==null))for(bc(t,n,r),t=t.sibling;t!==null;)bc(t,n,r),t=t.sibling}function Eg(t){var n=t.stateNode,r=t.memoizedProps;try{for(var o=t.type,u=n.attributes;u.length;)n.removeAttributeNode(u[0]);js(n,o,r),n[xs]=t,n[zs]=r}catch(f){jt(t,t.return,f)}}var aa=!1,ss=!1,Cm=!1,Mg=typeof WeakSet=="function"?WeakSet:Set,ds=null;function ZS(t,n){if(t=t.containerInfo,Im=Yc,t=Yx(t),ju(t)){if("selectionStart"in t)var r={start:t.selectionStart,end:t.selectionEnd};else e:{r=(r=t.ownerDocument)&&r.defaultView||window;var o=r.getSelection&&r.getSelection();if(o&&o.rangeCount!==0){r=o.anchorNode;var u=o.anchorOffset,f=o.focusNode;o=o.focusOffset;try{r.nodeType,f.nodeType}catch{r=null;break e}var y=0,_=-1,z=-1,K=0,ie=0,ue=t,J=null;t:for(;;){for(var ne;ue!==r||u!==0&&ue.nodeType!==3||(_=y+u),ue!==f||o!==0&&ue.nodeType!==3||(z=y+o),ue.nodeType===3&&(y+=ue.nodeValue.length),(ne=ue.firstChild)!==null;)J=ue,ue=ne;for(;;){if(ue===t)break t;if(J===r&&++K===u&&(_=y),J===f&&++ie===o&&(z=y),(ne=ue.nextSibling)!==null)break;ue=J,J=ue.parentNode}ue=ne}r=_===-1||z===-1?null:{start:_,end:z}}else r=null}r=r||{start:0,end:0}}else r=null;for(Wm={focusedElem:t,selectionRange:r},Yc=!1,ds=n;ds!==null;)if(n=ds,t=n.child,(n.subtreeFlags&1028)!==0&&t!==null)t.return=n,ds=t;else for(;ds!==null;){switch(n=ds,f=n.alternate,t=n.flags,n.tag){case 0:if((t&4)!==0&&(t=n.updateQueue,t=t!==null?t.events:null,t!==null))for(r=0;r title"))),js(f,o,r),f[xs]=t,cs(f),o=f;break e;case"link":var y=Pv("link","href",u).get(o+(r.href||""));if(y){for(var _=0;_St&&(y=St,St=Re,Re=y);var V=Hx(_,Re),H=Hx(_,St);if(V&&H&&(ne.rangeCount!==1||ne.anchorNode!==V.node||ne.anchorOffset!==V.offset||ne.focusNode!==H.node||ne.focusOffset!==H.offset)){var X=ue.createRange();X.setStart(V.node,V.offset),ne.removeAllRanges(),Re>St?(ne.addRange(X),ne.extend(H.node,H.offset)):(X.setEnd(H.node,H.offset),ne.addRange(X))}}}}for(ue=[],ne=_;ne=ne.parentNode;)ne.nodeType===1&&ue.push({element:ne,left:ne.scrollLeft,top:ne.scrollTop});for(typeof _.focus=="function"&&_.focus(),_=0;_r?32:r,R.T=null,r=Am,Am=null;var f=Ra,y=ca;if(ls=0,yr=Ra=null,ca=0,(xt&6)!==0)throw Error(i(331));var _=xt;if(xt|=4,Fg(f.current),Bg(f,f.current,y,r),xt=_,Li(0,!1),ge&&typeof ge.onPostCommitFiberRoot=="function")try{ge.onPostCommitFiberRoot(se,f)}catch{}return!0}finally{O.p=u,R.T=o,lv(t,n)}}function iv(t,n,r){n=un(r,n),n=mm(t.stateNode,n,2),t=ka(t,n,2),t!==null&&(ni(t,2),Ln(t))}function jt(t,n,r){if(t.tag===3)iv(t,t,r);else for(;n!==null;){if(n.tag===3){iv(n,t,r);break}else if(n.tag===1){var o=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(Aa===null||!Aa.has(o))){t=un(r,t),r=og(2),o=ka(n,r,2),o!==null&&(cg(r,o,n,t),ni(o,2),Ln(o));break}}n=n.return}}function Lm(t,n,r){var o=t.pingCache;if(o===null){o=t.pingCache=new t_;var u=new Set;o.set(n,u)}else u=o.get(n),u===void 0&&(u=new Set,o.set(n,u));u.has(r)||(Em=!0,u.add(r),t=r_.bind(null,t,n,r),n.then(t,t))}function r_(t,n,r){var o=t.pingCache;o!==null&&o.delete(n),t.pingedLanes|=t.suspendedLanes&r,t.warmLanes&=~r,Et===t&&(tt&r)===r&&(Wt===4||Wt===3&&(tt&62914560)===tt&&300>ke()-Sc?(xt&2)===0&&br(t,0):Mm|=r,jr===tt&&(jr=0)),Ln(t)}function ov(t,n){n===0&&(n=ql()),t=ol(t,n),t!==null&&(ni(t,n),Ln(t))}function i_(t){var n=t.memoizedState,r=0;n!==null&&(r=n.retryLane),ov(t,r)}function o_(t,n){var r=0;switch(t.tag){case 31:case 13:var o=t.stateNode,u=t.memoizedState;u!==null&&(r=u.retryLane);break;case 19:o=t.stateNode;break;case 22:o=t.stateNode._retryCache;break;default:throw Error(i(314))}o!==null&&o.delete(n),ov(t,r)}function c_(t,n){return ln(t,n)}var Dc=null,wr=null,Bm=!1,Oc=!1,Um=!1,Pa=0;function Ln(t){t!==wr&&t.next===null&&(wr===null?Dc=wr=t:wr=wr.next=t),Oc=!0,Bm||(Bm=!0,u_())}function Li(t,n){if(!Um&&Oc){Um=!0;do for(var r=!1,o=Dc;o!==null;){if(t!==0){var u=o.pendingLanes;if(u===0)var f=0;else{var y=o.suspendedLanes,_=o.pingedLanes;f=(1<<31-pt(42|t)+1)-1,f&=u&~(y&~_),f=f&201326741?f&201326741|1:f?f|2:0}f!==0&&(r=!0,mv(o,f))}else f=tt,f=Yl(o,o===Et?f:0,o.cancelPendingCommit!==null||o.timeoutHandle!==-1),(f&3)===0||sl(o,f)||(r=!0,mv(o,f));o=o.next}while(r);Um=!1}}function d_(){cv()}function cv(){Oc=Bm=!1;var t=0;Pa!==0&&b_()&&(t=Pa);for(var n=ke(),r=null,o=Dc;o!==null;){var u=o.next,f=dv(o,n);f===0?(o.next=null,r===null?Dc=u:r.next=u,u===null&&(wr=r)):(r=o,(t!==0||(f&3)!==0)&&(Oc=!0)),o=u}ls!==0&&ls!==5||Li(t),Pa!==0&&(Pa=0)}function dv(t,n){for(var r=t.suspendedLanes,o=t.pingedLanes,u=t.expirationTimes,f=t.pendingLanes&-62914561;0_)break;var ie=z.transferSize,ue=z.initiatorType;ie&&yv(ue)&&(z=z.responseEnd,y+=ie*(z<_?1:(_-K)/(z-K)))}if(--o,n+=8*(f+y)/(u.duration/1e3),t++,10"u"?null:document;function Ov(t,n,r){var o=Sr;if(o&&typeof n=="string"&&n){var u=cn(n);u='link[rel="'+t+'"][href="'+u+'"]',typeof r=="string"&&(u+='[crossorigin="'+r+'"]'),Dv.has(u)||(Dv.add(u),t={rel:t,crossOrigin:r,href:n},o.querySelector(u)===null&&(n=o.createElement("link"),js(n,"link",t),cs(n),o.head.appendChild(n)))}}function M_(t){da.D(t),Ov("dns-prefetch",t,null)}function D_(t,n){da.C(t,n),Ov("preconnect",t,n)}function O_(t,n,r){da.L(t,n,r);var o=Sr;if(o&&t&&n){var u='link[rel="preload"][as="'+cn(n)+'"]';n==="image"&&r&&r.imageSrcSet?(u+='[imagesrcset="'+cn(r.imageSrcSet)+'"]',typeof r.imageSizes=="string"&&(u+='[imagesizes="'+cn(r.imageSizes)+'"]')):u+='[href="'+cn(t)+'"]';var f=u;switch(n){case"style":f=_r(t);break;case"script":f=Cr(t)}gn.has(f)||(t=j({rel:"preload",href:n==="image"&&r&&r.imageSrcSet?void 0:t,as:n},r),gn.set(f,t),o.querySelector(u)!==null||n==="style"&&o.querySelector(Fi(f))||n==="script"&&o.querySelector(Yi(f))||(n=o.createElement("link"),js(n,"link",t),cs(n),o.head.appendChild(n)))}}function A_(t,n){da.m(t,n);var r=Sr;if(r&&t){var o=n&&typeof n.as=="string"?n.as:"script",u='link[rel="modulepreload"][as="'+cn(o)+'"][href="'+cn(t)+'"]',f=u;switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":f=Cr(t)}if(!gn.has(f)&&(t=j({rel:"modulepreload",href:t},n),gn.set(f,t),r.querySelector(u)===null)){switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(r.querySelector(Yi(f)))return}o=r.createElement("link"),js(o,"link",t),cs(o),r.head.appendChild(o)}}}function R_(t,n,r){da.S(t,n,r);var o=Sr;if(o&&t){var u=Il(o).hoistableStyles,f=_r(t);n=n||"default";var y=u.get(f);if(!y){var _={loading:0,preload:null};if(y=o.querySelector(Fi(f)))_.loading=5;else{t=j({rel:"stylesheet",href:t,"data-precedence":n},r),(r=gn.get(f))&&tf(t,r);var z=y=o.createElement("link");cs(z),js(z,"link",t),z._p=new Promise(function(K,ie){z.onload=K,z.onerror=ie}),z.addEventListener("load",function(){_.loading|=1}),z.addEventListener("error",function(){_.loading|=2}),_.loading|=4,Lc(y,n,o)}y={type:"stylesheet",instance:y,count:1,state:_},u.set(f,y)}}}function z_(t,n){da.X(t,n);var r=Sr;if(r&&t){var o=Il(r).hoistableScripts,u=Cr(t),f=o.get(u);f||(f=r.querySelector(Yi(u)),f||(t=j({src:t,async:!0},n),(n=gn.get(u))&&sf(t,n),f=r.createElement("script"),cs(f),js(f,"link",t),r.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},o.set(u,f))}}function P_(t,n){da.M(t,n);var r=Sr;if(r&&t){var o=Il(r).hoistableScripts,u=Cr(t),f=o.get(u);f||(f=r.querySelector(Yi(u)),f||(t=j({src:t,async:!0,type:"module"},n),(n=gn.get(u))&&sf(t,n),f=r.createElement("script"),cs(f),js(f,"link",t),r.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},o.set(u,f))}}function Av(t,n,r,o){var u=(u=ve.current)?Pc(u):null;if(!u)throw Error(i(446));switch(t){case"meta":case"title":return null;case"style":return typeof r.precedence=="string"&&typeof r.href=="string"?(n=_r(r.href),r=Il(u).hoistableStyles,o=r.get(n),o||(o={type:"style",instance:null,count:0,state:null},r.set(n,o)),o):{type:"void",instance:null,count:0,state:null};case"link":if(r.rel==="stylesheet"&&typeof r.href=="string"&&typeof r.precedence=="string"){t=_r(r.href);var f=Il(u).hoistableStyles,y=f.get(t);if(y||(u=u.ownerDocument||u,y={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},f.set(t,y),(f=u.querySelector(Fi(t)))&&!f._p&&(y.instance=f,y.state.loading=5),gn.has(t)||(r={rel:"preload",as:"style",href:r.href,crossOrigin:r.crossOrigin,integrity:r.integrity,media:r.media,hrefLang:r.hrefLang,referrerPolicy:r.referrerPolicy},gn.set(t,r),f||L_(u,t,r,y.state))),n&&o===null)throw Error(i(528,""));return y}if(n&&o!==null)throw Error(i(529,""));return null;case"script":return n=r.async,r=r.src,typeof r=="string"&&n&&typeof n!="function"&&typeof n!="symbol"?(n=Cr(r),r=Il(u).hoistableScripts,o=r.get(n),o||(o={type:"script",instance:null,count:0,state:null},r.set(n,o)),o):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,t))}}function _r(t){return'href="'+cn(t)+'"'}function Fi(t){return'link[rel="stylesheet"]['+t+"]"}function Rv(t){return j({},t,{"data-precedence":t.precedence,precedence:null})}function L_(t,n,r,o){t.querySelector('link[rel="preload"][as="style"]['+n+"]")?o.loading=1:(n=t.createElement("link"),o.preload=n,n.addEventListener("load",function(){return o.loading|=1}),n.addEventListener("error",function(){return o.loading|=2}),js(n,"link",r),cs(n),t.head.appendChild(n))}function Cr(t){return'[src="'+cn(t)+'"]'}function Yi(t){return"script[async]"+t}function zv(t,n,r){if(n.count++,n.instance===null)switch(n.type){case"style":var o=t.querySelector('style[data-href~="'+cn(r.href)+'"]');if(o)return n.instance=o,cs(o),o;var u=j({},r,{"data-href":r.href,"data-precedence":r.precedence,href:null,precedence:null});return o=(t.ownerDocument||t).createElement("style"),cs(o),js(o,"style",u),Lc(o,r.precedence,t),n.instance=o;case"stylesheet":u=_r(r.href);var f=t.querySelector(Fi(u));if(f)return n.state.loading|=4,n.instance=f,cs(f),f;o=Rv(r),(u=gn.get(u))&&tf(o,u),f=(t.ownerDocument||t).createElement("link"),cs(f);var y=f;return y._p=new Promise(function(_,z){y.onload=_,y.onerror=z}),js(f,"link",o),n.state.loading|=4,Lc(f,r.precedence,t),n.instance=f;case"script":return f=Cr(r.src),(u=t.querySelector(Yi(f)))?(n.instance=u,cs(u),u):(o=r,(u=gn.get(f))&&(o=j({},r),sf(o,u)),t=t.ownerDocument||t,u=t.createElement("script"),cs(u),js(u,"link",o),t.head.appendChild(u),n.instance=u);case"void":return null;default:throw Error(i(443,n.type))}else n.type==="stylesheet"&&(n.state.loading&4)===0&&(o=n.instance,n.state.loading|=4,Lc(o,r.precedence,t));return n.instance}function Lc(t,n,r){for(var o=r.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),u=o.length?o[o.length-1]:null,f=u,y=0;y title"):null)}function B_(t,n,r){if(r===1||n.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof n.precedence!="string"||typeof n.href!="string"||n.href==="")break;return!0;case"link":if(typeof n.rel!="string"||typeof n.href!="string"||n.href===""||n.onLoad||n.onError)break;switch(n.rel){case"stylesheet":return t=n.disabled,typeof n.precedence=="string"&&t==null;default:return!0}case"script":if(n.async&&typeof n.async!="function"&&typeof n.async!="symbol"&&!n.onLoad&&!n.onError&&n.src&&typeof n.src=="string")return!0}return!1}function Bv(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function U_(t,n,r,o){if(r.type==="stylesheet"&&(typeof o.media!="string"||matchMedia(o.media).matches!==!1)&&(r.state.loading&4)===0){if(r.instance===null){var u=_r(o.href),f=n.querySelector(Fi(u));if(f){n=f._p,n!==null&&typeof n=="object"&&typeof n.then=="function"&&(t.count++,t=Uc.bind(t),n.then(t,t)),r.state.loading|=4,r.instance=f,cs(f);return}f=n.ownerDocument||n,o=Rv(o),(u=gn.get(u))&&tf(o,u),f=f.createElement("link"),cs(f);var y=f;y._p=new Promise(function(_,z){y.onload=_,y.onerror=z}),js(f,"link",o),r.instance=f}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(r,n),(n=r.state.preload)&&(r.state.loading&3)===0&&(t.count++,r=Uc.bind(t),n.addEventListener("load",r),n.addEventListener("error",r))}}var nf=0;function H_(t,n){return t.stylesheets&&t.count===0&&Fc(t,t.stylesheets),0nf?50:800)+n);return t.unsuspend=r,function(){t.unsuspend=null,clearTimeout(o),clearTimeout(u)}}:null}function Uc(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Fc(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Hc=null;function Fc(t,n){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Hc=new Map,n.forEach(F_,t),Hc=null,Uc.call(t))}function F_(t,n){if(!(n.state.loading&4)){var r=Hc.get(t);if(r)var o=r.get(null);else{r=new Map,Hc.set(t,r);for(var u=t.querySelectorAll("link[data-precedence],style[data-precedence]"),f=0;f"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(s)}catch(a){console.error(a)}}return s(),mf.exports=Z2(),mf.exports}var eC=J2();function Ry(s,a){return function(){return s.apply(a,arguments)}}const{toString:tC}=Object.prototype,{getPrototypeOf:yh}=Object,{iterator:Dd,toStringTag:zy}=Symbol,Od=(s=>a=>{const l=tC.call(a);return s[l]||(s[l]=l.slice(8,-1).toLowerCase())})(Object.create(null)),On=s=>(s=s.toLowerCase(),a=>Od(a)===s),Ad=s=>a=>typeof a===s,{isArray:Xr}=Array,Vr=Ad("undefined");function yo(s){return s!==null&&!Vr(s)&&s.constructor!==null&&!Vr(s.constructor)&&qs(s.constructor.isBuffer)&&s.constructor.isBuffer(s)}const Py=On("ArrayBuffer");function sC(s){let a;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?a=ArrayBuffer.isView(s):a=s&&s.buffer&&Py(s.buffer),a}const nC=Ad("string"),qs=Ad("function"),Ly=Ad("number"),bo=s=>s!==null&&typeof s=="object",aC=s=>s===!0||s===!1,id=s=>{if(Od(s)!=="object")return!1;const a=yh(s);return(a===null||a===Object.prototype||Object.getPrototypeOf(a)===null)&&!(zy in s)&&!(Dd in s)},lC=s=>{if(!bo(s)||yo(s))return!1;try{return Object.keys(s).length===0&&Object.getPrototypeOf(s)===Object.prototype}catch{return!1}},rC=On("Date"),iC=On("File"),oC=On("Blob"),cC=On("FileList"),dC=s=>bo(s)&&qs(s.pipe),uC=s=>{let a;return s&&(typeof FormData=="function"&&s instanceof FormData||qs(s.append)&&((a=Od(s))==="formdata"||a==="object"&&qs(s.toString)&&s.toString()==="[object FormData]"))},mC=On("URLSearchParams"),[fC,hC,xC,pC]=["ReadableStream","Request","Response","Headers"].map(On),gC=s=>s.trim?s.trim():s.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function No(s,a,{allOwnKeys:l=!1}={}){if(s===null||typeof s>"u")return;let i,c;if(typeof s!="object"&&(s=[s]),Xr(s))for(i=0,c=s.length;i0;)if(c=l[i],a===c.toLowerCase())return c;return null}const wl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Uy=s=>!Vr(s)&&s!==wl;function Uf(){const{caseless:s,skipUndefined:a}=Uy(this)&&this||{},l={},i=(c,d)=>{const m=s&&By(l,d)||d;id(l[m])&&id(c)?l[m]=Uf(l[m],c):id(c)?l[m]=Uf({},c):Xr(c)?l[m]=c.slice():(!a||!Vr(c))&&(l[m]=c)};for(let c=0,d=arguments.length;c(No(a,(c,d)=>{l&&qs(c)?s[d]=Ry(c,l):s[d]=c},{allOwnKeys:i}),s),jC=s=>(s.charCodeAt(0)===65279&&(s=s.slice(1)),s),yC=(s,a,l,i)=>{s.prototype=Object.create(a.prototype,i),s.prototype.constructor=s,Object.defineProperty(s,"super",{value:a.prototype}),l&&Object.assign(s.prototype,l)},bC=(s,a,l,i)=>{let c,d,m;const h={};if(a=a||{},s==null)return a;do{for(c=Object.getOwnPropertyNames(s),d=c.length;d-- >0;)m=c[d],(!i||i(m,s,a))&&!h[m]&&(a[m]=s[m],h[m]=!0);s=l!==!1&&yh(s)}while(s&&(!l||l(s,a))&&s!==Object.prototype);return a},NC=(s,a,l)=>{s=String(s),(l===void 0||l>s.length)&&(l=s.length),l-=a.length;const i=s.indexOf(a,l);return i!==-1&&i===l},wC=s=>{if(!s)return null;if(Xr(s))return s;let a=s.length;if(!Ly(a))return null;const l=new Array(a);for(;a-- >0;)l[a]=s[a];return l},SC=(s=>a=>s&&a instanceof s)(typeof Uint8Array<"u"&&yh(Uint8Array)),_C=(s,a)=>{const i=(s&&s[Dd]).call(s);let c;for(;(c=i.next())&&!c.done;){const d=c.value;a.call(s,d[0],d[1])}},CC=(s,a)=>{let l;const i=[];for(;(l=s.exec(a))!==null;)i.push(l);return i},kC=On("HTMLFormElement"),TC=s=>s.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(l,i,c){return i.toUpperCase()+c}),ij=(({hasOwnProperty:s})=>(a,l)=>s.call(a,l))(Object.prototype),EC=On("RegExp"),Hy=(s,a)=>{const l=Object.getOwnPropertyDescriptors(s),i={};No(l,(c,d)=>{let m;(m=a(c,d,s))!==!1&&(i[d]=m||c)}),Object.defineProperties(s,i)},MC=s=>{Hy(s,(a,l)=>{if(qs(s)&&["arguments","caller","callee"].indexOf(l)!==-1)return!1;const i=s[l];if(qs(i)){if(a.enumerable=!1,"writable"in a){a.writable=!1;return}a.set||(a.set=()=>{throw Error("Can not rewrite read-only method '"+l+"'")})}})},DC=(s,a)=>{const l={},i=c=>{c.forEach(d=>{l[d]=!0})};return Xr(s)?i(s):i(String(s).split(a)),l},OC=()=>{},AC=(s,a)=>s!=null&&Number.isFinite(s=+s)?s:a;function RC(s){return!!(s&&qs(s.append)&&s[zy]==="FormData"&&s[Dd])}const zC=s=>{const a=new Array(10),l=(i,c)=>{if(bo(i)){if(a.indexOf(i)>=0)return;if(yo(i))return i;if(!("toJSON"in i)){a[c]=i;const d=Xr(i)?[]:{};return No(i,(m,h)=>{const p=l(m,c+1);!Vr(p)&&(d[h]=p)}),a[c]=void 0,d}}return i};return l(s,0)},PC=On("AsyncFunction"),LC=s=>s&&(bo(s)||qs(s))&&qs(s.then)&&qs(s.catch),Fy=((s,a)=>s?setImmediate:a?((l,i)=>(wl.addEventListener("message",({source:c,data:d})=>{c===wl&&d===l&&i.length&&i.shift()()},!1),c=>{i.push(c),wl.postMessage(l,"*")}))(`axios@${Math.random()}`,[]):l=>setTimeout(l))(typeof setImmediate=="function",qs(wl.postMessage)),BC=typeof queueMicrotask<"u"?queueMicrotask.bind(wl):typeof process<"u"&&process.nextTick||Fy,UC=s=>s!=null&&qs(s[Dd]),te={isArray:Xr,isArrayBuffer:Py,isBuffer:yo,isFormData:uC,isArrayBufferView:sC,isString:nC,isNumber:Ly,isBoolean:aC,isObject:bo,isPlainObject:id,isEmptyObject:lC,isReadableStream:fC,isRequest:hC,isResponse:xC,isHeaders:pC,isUndefined:Vr,isDate:rC,isFile:iC,isBlob:oC,isRegExp:EC,isFunction:qs,isStream:dC,isURLSearchParams:mC,isTypedArray:SC,isFileList:cC,forEach:No,merge:Uf,extend:vC,trim:gC,stripBOM:jC,inherits:yC,toFlatObject:bC,kindOf:Od,kindOfTest:On,endsWith:NC,toArray:wC,forEachEntry:_C,matchAll:CC,isHTMLForm:kC,hasOwnProperty:ij,hasOwnProp:ij,reduceDescriptors:Hy,freezeMethods:MC,toObjectSet:DC,toCamelCase:TC,noop:OC,toFiniteNumber:AC,findKey:By,global:wl,isContextDefined:Uy,isSpecCompliantForm:RC,toJSONObject:zC,isAsyncFn:PC,isThenable:LC,setImmediate:Fy,asap:BC,isIterable:UC};function qe(s,a,l,i,c){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=s,this.name="AxiosError",a&&(this.code=a),l&&(this.config=l),i&&(this.request=i),c&&(this.response=c,this.status=c.status?c.status:null)}te.inherits(qe,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:te.toJSONObject(this.config),code:this.code,status:this.status}}});const Yy=qe.prototype,qy={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(s=>{qy[s]={value:s}});Object.defineProperties(qe,qy);Object.defineProperty(Yy,"isAxiosError",{value:!0});qe.from=(s,a,l,i,c,d)=>{const m=Object.create(Yy);te.toFlatObject(s,m,function(g){return g!==Error.prototype},v=>v!=="isAxiosError");const h=s&&s.message?s.message:"Error",p=a==null&&s?s.code:a;return qe.call(m,h,p,l,i,c),s&&m.cause==null&&Object.defineProperty(m,"cause",{value:s,configurable:!0}),m.name=s&&s.name||"Error",d&&Object.assign(m,d),m};const HC=null;function Hf(s){return te.isPlainObject(s)||te.isArray(s)}function Vy(s){return te.endsWith(s,"[]")?s.slice(0,-2):s}function oj(s,a,l){return s?s.concat(a).map(function(c,d){return c=Vy(c),!l&&d?"["+c+"]":c}).join(l?".":""):a}function FC(s){return te.isArray(s)&&!s.some(Hf)}const YC=te.toFlatObject(te,{},null,function(a){return/^is[A-Z]/.test(a)});function Rd(s,a,l){if(!te.isObject(s))throw new TypeError("target must be an object");a=a||new FormData,l=te.toFlatObject(l,{metaTokens:!0,dots:!1,indexes:!1},!1,function(C,N){return!te.isUndefined(N[C])});const i=l.metaTokens,c=l.visitor||g,d=l.dots,m=l.indexes,p=(l.Blob||typeof Blob<"u"&&Blob)&&te.isSpecCompliantForm(a);if(!te.isFunction(c))throw new TypeError("visitor must be a function");function v(S){if(S===null)return"";if(te.isDate(S))return S.toISOString();if(te.isBoolean(S))return S.toString();if(!p&&te.isBlob(S))throw new qe("Blob is not supported. Use a Buffer instead.");return te.isArrayBuffer(S)||te.isTypedArray(S)?p&&typeof Blob=="function"?new Blob([S]):Buffer.from(S):S}function g(S,C,N){let T=S;if(S&&!N&&typeof S=="object"){if(te.endsWith(C,"{}"))C=i?C:C.slice(0,-2),S=JSON.stringify(S);else if(te.isArray(S)&&FC(S)||(te.isFileList(S)||te.endsWith(C,"[]"))&&(T=te.toArray(S)))return C=Vy(C),T.forEach(function(M,k){!(te.isUndefined(M)||M===null)&&a.append(m===!0?oj([C],k,d):m===null?C:C+"[]",v(M))}),!1}return Hf(S)?!0:(a.append(oj(N,C,d),v(S)),!1)}const j=[],b=Object.assign(YC,{defaultVisitor:g,convertValue:v,isVisitable:Hf});function w(S,C){if(!te.isUndefined(S)){if(j.indexOf(S)!==-1)throw Error("Circular reference detected in "+C.join("."));j.push(S),te.forEach(S,function(T,P){(!(te.isUndefined(T)||T===null)&&c.call(a,T,te.isString(P)?P.trim():P,C,b))===!0&&w(T,C?C.concat(P):[P])}),j.pop()}}if(!te.isObject(s))throw new TypeError("data must be an object");return w(s),a}function cj(s){const a={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(s).replace(/[!'()~]|%20|%00/g,function(i){return a[i]})}function bh(s,a){this._pairs=[],s&&Rd(s,this,a)}const Gy=bh.prototype;Gy.append=function(a,l){this._pairs.push([a,l])};Gy.toString=function(a){const l=a?function(i){return a.call(this,i,cj)}:cj;return this._pairs.map(function(c){return l(c[0])+"="+l(c[1])},"").join("&")};function qC(s){return encodeURIComponent(s).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function $y(s,a,l){if(!a)return s;const i=l&&l.encode||qC;te.isFunction(l)&&(l={serialize:l});const c=l&&l.serialize;let d;if(c?d=c(a,l):d=te.isURLSearchParams(a)?a.toString():new bh(a,l).toString(i),d){const m=s.indexOf("#");m!==-1&&(s=s.slice(0,m)),s+=(s.indexOf("?")===-1?"?":"&")+d}return s}class dj{constructor(){this.handlers=[]}use(a,l,i){return this.handlers.push({fulfilled:a,rejected:l,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(a){this.handlers[a]&&(this.handlers[a]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(a){te.forEach(this.handlers,function(i){i!==null&&a(i)})}}const Iy={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},VC=typeof URLSearchParams<"u"?URLSearchParams:bh,GC=typeof FormData<"u"?FormData:null,$C=typeof Blob<"u"?Blob:null,IC={isBrowser:!0,classes:{URLSearchParams:VC,FormData:GC,Blob:$C},protocols:["http","https","file","blob","url","data"]},Nh=typeof window<"u"&&typeof document<"u",Ff=typeof navigator=="object"&&navigator||void 0,WC=Nh&&(!Ff||["ReactNative","NativeScript","NS"].indexOf(Ff.product)<0),XC=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",KC=Nh&&window.location.href||"http://localhost",QC=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Nh,hasStandardBrowserEnv:WC,hasStandardBrowserWebWorkerEnv:XC,navigator:Ff,origin:KC},Symbol.toStringTag,{value:"Module"})),Ss={...QC,...IC};function ZC(s,a){return Rd(s,new Ss.classes.URLSearchParams,{visitor:function(l,i,c,d){return Ss.isNode&&te.isBuffer(l)?(this.append(i,l.toString("base64")),!1):d.defaultVisitor.apply(this,arguments)},...a})}function JC(s){return te.matchAll(/\w+|\[(\w*)]/g,s).map(a=>a[0]==="[]"?"":a[1]||a[0])}function ek(s){const a={},l=Object.keys(s);let i;const c=l.length;let d;for(i=0;i=l.length;return m=!m&&te.isArray(c)?c.length:m,p?(te.hasOwnProp(c,m)?c[m]=[c[m],i]:c[m]=i,!h):((!c[m]||!te.isObject(c[m]))&&(c[m]=[]),a(l,i,c[m],d)&&te.isArray(c[m])&&(c[m]=ek(c[m])),!h)}if(te.isFormData(s)&&te.isFunction(s.entries)){const l={};return te.forEachEntry(s,(i,c)=>{a(JC(i),c,l,0)}),l}return null}function tk(s,a,l){if(te.isString(s))try{return(a||JSON.parse)(s),te.trim(s)}catch(i){if(i.name!=="SyntaxError")throw i}return(l||JSON.stringify)(s)}const wo={transitional:Iy,adapter:["xhr","http","fetch"],transformRequest:[function(a,l){const i=l.getContentType()||"",c=i.indexOf("application/json")>-1,d=te.isObject(a);if(d&&te.isHTMLForm(a)&&(a=new FormData(a)),te.isFormData(a))return c?JSON.stringify(Wy(a)):a;if(te.isArrayBuffer(a)||te.isBuffer(a)||te.isStream(a)||te.isFile(a)||te.isBlob(a)||te.isReadableStream(a))return a;if(te.isArrayBufferView(a))return a.buffer;if(te.isURLSearchParams(a))return l.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),a.toString();let h;if(d){if(i.indexOf("application/x-www-form-urlencoded")>-1)return ZC(a,this.formSerializer).toString();if((h=te.isFileList(a))||i.indexOf("multipart/form-data")>-1){const p=this.env&&this.env.FormData;return Rd(h?{"files[]":a}:a,p&&new p,this.formSerializer)}}return d||c?(l.setContentType("application/json",!1),tk(a)):a}],transformResponse:[function(a){const l=this.transitional||wo.transitional,i=l&&l.forcedJSONParsing,c=this.responseType==="json";if(te.isResponse(a)||te.isReadableStream(a))return a;if(a&&te.isString(a)&&(i&&!this.responseType||c)){const m=!(l&&l.silentJSONParsing)&&c;try{return JSON.parse(a,this.parseReviver)}catch(h){if(m)throw h.name==="SyntaxError"?qe.from(h,qe.ERR_BAD_RESPONSE,this,null,this.response):h}}return a}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ss.classes.FormData,Blob:Ss.classes.Blob},validateStatus:function(a){return a>=200&&a<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};te.forEach(["delete","get","head","post","put","patch"],s=>{wo.headers[s]={}});const sk=te.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),nk=s=>{const a={};let l,i,c;return s&&s.split(` +`).forEach(function(m){c=m.indexOf(":"),l=m.substring(0,c).trim().toLowerCase(),i=m.substring(c+1).trim(),!(!l||a[l]&&sk[l])&&(l==="set-cookie"?a[l]?a[l].push(i):a[l]=[i]:a[l]=a[l]?a[l]+", "+i:i)}),a},uj=Symbol("internals");function Xi(s){return s&&String(s).trim().toLowerCase()}function od(s){return s===!1||s==null?s:te.isArray(s)?s.map(od):String(s)}function ak(s){const a=Object.create(null),l=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let i;for(;i=l.exec(s);)a[i[1]]=i[2];return a}const lk=s=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(s.trim());function xf(s,a,l,i,c){if(te.isFunction(i))return i.call(this,a,l);if(c&&(a=l),!!te.isString(a)){if(te.isString(i))return a.indexOf(i)!==-1;if(te.isRegExp(i))return i.test(a)}}function rk(s){return s.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(a,l,i)=>l.toUpperCase()+i)}function ik(s,a){const l=te.toCamelCase(" "+a);["get","set","has"].forEach(i=>{Object.defineProperty(s,i+l,{value:function(c,d,m){return this[i].call(this,a,c,d,m)},configurable:!0})})}let Vs=class{constructor(a){a&&this.set(a)}set(a,l,i){const c=this;function d(h,p,v){const g=Xi(p);if(!g)throw new Error("header name must be a non-empty string");const j=te.findKey(c,g);(!j||c[j]===void 0||v===!0||v===void 0&&c[j]!==!1)&&(c[j||p]=od(h))}const m=(h,p)=>te.forEach(h,(v,g)=>d(v,g,p));if(te.isPlainObject(a)||a instanceof this.constructor)m(a,l);else if(te.isString(a)&&(a=a.trim())&&!lk(a))m(nk(a),l);else if(te.isObject(a)&&te.isIterable(a)){let h={},p,v;for(const g of a){if(!te.isArray(g))throw TypeError("Object iterator must return a key-value pair");h[v=g[0]]=(p=h[v])?te.isArray(p)?[...p,g[1]]:[p,g[1]]:g[1]}m(h,l)}else a!=null&&d(l,a,i);return this}get(a,l){if(a=Xi(a),a){const i=te.findKey(this,a);if(i){const c=this[i];if(!l)return c;if(l===!0)return ak(c);if(te.isFunction(l))return l.call(this,c,i);if(te.isRegExp(l))return l.exec(c);throw new TypeError("parser must be boolean|regexp|function")}}}has(a,l){if(a=Xi(a),a){const i=te.findKey(this,a);return!!(i&&this[i]!==void 0&&(!l||xf(this,this[i],i,l)))}return!1}delete(a,l){const i=this;let c=!1;function d(m){if(m=Xi(m),m){const h=te.findKey(i,m);h&&(!l||xf(i,i[h],h,l))&&(delete i[h],c=!0)}}return te.isArray(a)?a.forEach(d):d(a),c}clear(a){const l=Object.keys(this);let i=l.length,c=!1;for(;i--;){const d=l[i];(!a||xf(this,this[d],d,a,!0))&&(delete this[d],c=!0)}return c}normalize(a){const l=this,i={};return te.forEach(this,(c,d)=>{const m=te.findKey(i,d);if(m){l[m]=od(c),delete l[d];return}const h=a?rk(d):String(d).trim();h!==d&&delete l[d],l[h]=od(c),i[h]=!0}),this}concat(...a){return this.constructor.concat(this,...a)}toJSON(a){const l=Object.create(null);return te.forEach(this,(i,c)=>{i!=null&&i!==!1&&(l[c]=a&&te.isArray(i)?i.join(", "):i)}),l}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([a,l])=>a+": "+l).join(` +`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(a){return a instanceof this?a:new this(a)}static concat(a,...l){const i=new this(a);return l.forEach(c=>i.set(c)),i}static accessor(a){const i=(this[uj]=this[uj]={accessors:{}}).accessors,c=this.prototype;function d(m){const h=Xi(m);i[h]||(ik(c,m),i[h]=!0)}return te.isArray(a)?a.forEach(d):d(a),this}};Vs.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);te.reduceDescriptors(Vs.prototype,({value:s},a)=>{let l=a[0].toUpperCase()+a.slice(1);return{get:()=>s,set(i){this[l]=i}}});te.freezeMethods(Vs);function pf(s,a){const l=this||wo,i=a||l,c=Vs.from(i.headers);let d=i.data;return te.forEach(s,function(h){d=h.call(l,d,c.normalize(),a?a.status:void 0)}),c.normalize(),d}function Xy(s){return!!(s&&s.__CANCEL__)}function Kr(s,a,l){qe.call(this,s??"canceled",qe.ERR_CANCELED,a,l),this.name="CanceledError"}te.inherits(Kr,qe,{__CANCEL__:!0});function Ky(s,a,l){const i=l.config.validateStatus;!l.status||!i||i(l.status)?s(l):a(new qe("Request failed with status code "+l.status,[qe.ERR_BAD_REQUEST,qe.ERR_BAD_RESPONSE][Math.floor(l.status/100)-4],l.config,l.request,l))}function ok(s){const a=/^([-+\w]{1,25})(:?\/\/|:)/.exec(s);return a&&a[1]||""}function ck(s,a){s=s||10;const l=new Array(s),i=new Array(s);let c=0,d=0,m;return a=a!==void 0?a:1e3,function(p){const v=Date.now(),g=i[d];m||(m=v),l[c]=p,i[c]=v;let j=d,b=0;for(;j!==c;)b+=l[j++],j=j%s;if(c=(c+1)%s,c===d&&(d=(d+1)%s),v-m{l=g,c=null,d&&(clearTimeout(d),d=null),s(...v)};return[(...v)=>{const g=Date.now(),j=g-l;j>=i?m(v,g):(c=v,d||(d=setTimeout(()=>{d=null,m(c)},i-j)))},()=>c&&m(c)]}const gd=(s,a,l=3)=>{let i=0;const c=ck(50,250);return dk(d=>{const m=d.loaded,h=d.lengthComputable?d.total:void 0,p=m-i,v=c(p),g=m<=h;i=m;const j={loaded:m,total:h,progress:h?m/h:void 0,bytes:p,rate:v||void 0,estimated:v&&h&&g?(h-m)/v:void 0,event:d,lengthComputable:h!=null,[a?"download":"upload"]:!0};s(j)},l)},mj=(s,a)=>{const l=s!=null;return[i=>a[0]({lengthComputable:l,total:s,loaded:i}),a[1]]},fj=s=>(...a)=>te.asap(()=>s(...a)),uk=Ss.hasStandardBrowserEnv?((s,a)=>l=>(l=new URL(l,Ss.origin),s.protocol===l.protocol&&s.host===l.host&&(a||s.port===l.port)))(new URL(Ss.origin),Ss.navigator&&/(msie|trident)/i.test(Ss.navigator.userAgent)):()=>!0,mk=Ss.hasStandardBrowserEnv?{write(s,a,l,i,c,d,m){if(typeof document>"u")return;const h=[`${s}=${encodeURIComponent(a)}`];te.isNumber(l)&&h.push(`expires=${new Date(l).toUTCString()}`),te.isString(i)&&h.push(`path=${i}`),te.isString(c)&&h.push(`domain=${c}`),d===!0&&h.push("secure"),te.isString(m)&&h.push(`SameSite=${m}`),document.cookie=h.join("; ")},read(s){if(typeof document>"u")return null;const a=document.cookie.match(new RegExp("(?:^|; )"+s+"=([^;]*)"));return a?decodeURIComponent(a[1]):null},remove(s){this.write(s,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function fk(s){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(s)}function hk(s,a){return a?s.replace(/\/?\/$/,"")+"/"+a.replace(/^\/+/,""):s}function Qy(s,a,l){let i=!fk(a);return s&&(i||l==!1)?hk(s,a):a}const hj=s=>s instanceof Vs?{...s}:s;function El(s,a){a=a||{};const l={};function i(v,g,j,b){return te.isPlainObject(v)&&te.isPlainObject(g)?te.merge.call({caseless:b},v,g):te.isPlainObject(g)?te.merge({},g):te.isArray(g)?g.slice():g}function c(v,g,j,b){if(te.isUndefined(g)){if(!te.isUndefined(v))return i(void 0,v,j,b)}else return i(v,g,j,b)}function d(v,g){if(!te.isUndefined(g))return i(void 0,g)}function m(v,g){if(te.isUndefined(g)){if(!te.isUndefined(v))return i(void 0,v)}else return i(void 0,g)}function h(v,g,j){if(j in a)return i(v,g);if(j in s)return i(void 0,v)}const p={url:d,method:d,data:d,baseURL:m,transformRequest:m,transformResponse:m,paramsSerializer:m,timeout:m,timeoutMessage:m,withCredentials:m,withXSRFToken:m,adapter:m,responseType:m,xsrfCookieName:m,xsrfHeaderName:m,onUploadProgress:m,onDownloadProgress:m,decompress:m,maxContentLength:m,maxBodyLength:m,beforeRedirect:m,transport:m,httpAgent:m,httpsAgent:m,cancelToken:m,socketPath:m,responseEncoding:m,validateStatus:h,headers:(v,g,j)=>c(hj(v),hj(g),j,!0)};return te.forEach(Object.keys({...s,...a}),function(g){const j=p[g]||c,b=j(s[g],a[g],g);te.isUndefined(b)&&j!==h||(l[g]=b)}),l}const Zy=s=>{const a=El({},s);let{data:l,withXSRFToken:i,xsrfHeaderName:c,xsrfCookieName:d,headers:m,auth:h}=a;if(a.headers=m=Vs.from(m),a.url=$y(Qy(a.baseURL,a.url,a.allowAbsoluteUrls),s.params,s.paramsSerializer),h&&m.set("Authorization","Basic "+btoa((h.username||"")+":"+(h.password?unescape(encodeURIComponent(h.password)):""))),te.isFormData(l)){if(Ss.hasStandardBrowserEnv||Ss.hasStandardBrowserWebWorkerEnv)m.setContentType(void 0);else if(te.isFunction(l.getHeaders)){const p=l.getHeaders(),v=["content-type","content-length"];Object.entries(p).forEach(([g,j])=>{v.includes(g.toLowerCase())&&m.set(g,j)})}}if(Ss.hasStandardBrowserEnv&&(i&&te.isFunction(i)&&(i=i(a)),i||i!==!1&&uk(a.url))){const p=c&&d&&mk.read(d);p&&m.set(c,p)}return a},xk=typeof XMLHttpRequest<"u",pk=xk&&function(s){return new Promise(function(l,i){const c=Zy(s);let d=c.data;const m=Vs.from(c.headers).normalize();let{responseType:h,onUploadProgress:p,onDownloadProgress:v}=c,g,j,b,w,S;function C(){w&&w(),S&&S(),c.cancelToken&&c.cancelToken.unsubscribe(g),c.signal&&c.signal.removeEventListener("abort",g)}let N=new XMLHttpRequest;N.open(c.method.toUpperCase(),c.url,!0),N.timeout=c.timeout;function T(){if(!N)return;const M=Vs.from("getAllResponseHeaders"in N&&N.getAllResponseHeaders()),D={data:!h||h==="text"||h==="json"?N.responseText:N.response,status:N.status,statusText:N.statusText,headers:M,config:s,request:N};Ky(function(E){l(E),C()},function(E){i(E),C()},D),N=null}"onloadend"in N?N.onloadend=T:N.onreadystatechange=function(){!N||N.readyState!==4||N.status===0&&!(N.responseURL&&N.responseURL.indexOf("file:")===0)||setTimeout(T)},N.onabort=function(){N&&(i(new qe("Request aborted",qe.ECONNABORTED,s,N)),N=null)},N.onerror=function(k){const D=k&&k.message?k.message:"Network Error",A=new qe(D,qe.ERR_NETWORK,s,N);A.event=k||null,i(A),N=null},N.ontimeout=function(){let k=c.timeout?"timeout of "+c.timeout+"ms exceeded":"timeout exceeded";const D=c.transitional||Iy;c.timeoutErrorMessage&&(k=c.timeoutErrorMessage),i(new qe(k,D.clarifyTimeoutError?qe.ETIMEDOUT:qe.ECONNABORTED,s,N)),N=null},d===void 0&&m.setContentType(null),"setRequestHeader"in N&&te.forEach(m.toJSON(),function(k,D){N.setRequestHeader(D,k)}),te.isUndefined(c.withCredentials)||(N.withCredentials=!!c.withCredentials),h&&h!=="json"&&(N.responseType=c.responseType),v&&([b,S]=gd(v,!0),N.addEventListener("progress",b)),p&&N.upload&&([j,w]=gd(p),N.upload.addEventListener("progress",j),N.upload.addEventListener("loadend",w)),(c.cancelToken||c.signal)&&(g=M=>{N&&(i(!M||M.type?new Kr(null,s,N):M),N.abort(),N=null)},c.cancelToken&&c.cancelToken.subscribe(g),c.signal&&(c.signal.aborted?g():c.signal.addEventListener("abort",g)));const P=ok(c.url);if(P&&Ss.protocols.indexOf(P)===-1){i(new qe("Unsupported protocol "+P+":",qe.ERR_BAD_REQUEST,s));return}N.send(d||null)})},gk=(s,a)=>{const{length:l}=s=s?s.filter(Boolean):[];if(a||l){let i=new AbortController,c;const d=function(v){if(!c){c=!0,h();const g=v instanceof Error?v:this.reason;i.abort(g instanceof qe?g:new Kr(g instanceof Error?g.message:g))}};let m=a&&setTimeout(()=>{m=null,d(new qe(`timeout ${a} of ms exceeded`,qe.ETIMEDOUT))},a);const h=()=>{s&&(m&&clearTimeout(m),m=null,s.forEach(v=>{v.unsubscribe?v.unsubscribe(d):v.removeEventListener("abort",d)}),s=null)};s.forEach(v=>v.addEventListener("abort",d));const{signal:p}=i;return p.unsubscribe=()=>te.asap(h),p}},vk=function*(s,a){let l=s.byteLength;if(l{const c=jk(s,a);let d=0,m,h=p=>{m||(m=!0,i&&i(p))};return new ReadableStream({async pull(p){try{const{done:v,value:g}=await c.next();if(v){h(),p.close();return}let j=g.byteLength;if(l){let b=d+=j;l(b)}p.enqueue(new Uint8Array(g))}catch(v){throw h(v),v}},cancel(p){return h(p),c.return()}},{highWaterMark:2})},pj=64*1024,{isFunction:Zc}=te,bk=(({Request:s,Response:a})=>({Request:s,Response:a}))(te.global),{ReadableStream:gj,TextEncoder:vj}=te.global,jj=(s,...a)=>{try{return!!s(...a)}catch{return!1}},Nk=s=>{s=te.merge.call({skipUndefined:!0},bk,s);const{fetch:a,Request:l,Response:i}=s,c=a?Zc(a):typeof fetch=="function",d=Zc(l),m=Zc(i);if(!c)return!1;const h=c&&Zc(gj),p=c&&(typeof vj=="function"?(S=>C=>S.encode(C))(new vj):async S=>new Uint8Array(await new l(S).arrayBuffer())),v=d&&h&&jj(()=>{let S=!1;const C=new l(Ss.origin,{body:new gj,method:"POST",get duplex(){return S=!0,"half"}}).headers.has("Content-Type");return S&&!C}),g=m&&h&&jj(()=>te.isReadableStream(new i("").body)),j={stream:g&&(S=>S.body)};c&&["text","arrayBuffer","blob","formData","stream"].forEach(S=>{!j[S]&&(j[S]=(C,N)=>{let T=C&&C[S];if(T)return T.call(C);throw new qe(`Response type '${S}' is not supported`,qe.ERR_NOT_SUPPORT,N)})});const b=async S=>{if(S==null)return 0;if(te.isBlob(S))return S.size;if(te.isSpecCompliantForm(S))return(await new l(Ss.origin,{method:"POST",body:S}).arrayBuffer()).byteLength;if(te.isArrayBufferView(S)||te.isArrayBuffer(S))return S.byteLength;if(te.isURLSearchParams(S)&&(S=S+""),te.isString(S))return(await p(S)).byteLength},w=async(S,C)=>{const N=te.toFiniteNumber(S.getContentLength());return N??b(C)};return async S=>{let{url:C,method:N,data:T,signal:P,cancelToken:M,timeout:k,onDownloadProgress:D,onUploadProgress:A,responseType:E,headers:B,withCredentials:Y="same-origin",fetchOptions:G}=Zy(S),$=a||fetch;E=E?(E+"").toLowerCase():"text";let oe=gk([P,M&&M.toAbortSignal()],k),je=null;const ae=oe&&oe.unsubscribe&&(()=>{oe.unsubscribe()});let me;try{if(A&&v&&N!=="get"&&N!=="head"&&(me=await w(B,T))!==0){let xe=new l(C,{method:"POST",body:T,duplex:"half"}),F;if(te.isFormData(T)&&(F=xe.headers.get("content-type"))&&B.setContentType(F),xe.body){const[W,fe]=mj(me,gd(fj(A)));T=xj(xe.body,pj,W,fe)}}te.isString(Y)||(Y=Y?"include":"omit");const R=d&&"credentials"in l.prototype,O={...G,signal:oe,method:N.toUpperCase(),headers:B.normalize().toJSON(),body:T,duplex:"half",credentials:R?Y:void 0};je=d&&new l(C,O);let L=await(d?$(je,G):$(C,O));const ee=g&&(E==="stream"||E==="response");if(g&&(D||ee&&ae)){const xe={};["status","statusText","headers"].forEach(I=>{xe[I]=L[I]});const F=te.toFiniteNumber(L.headers.get("content-length")),[W,fe]=D&&mj(F,gd(fj(D),!0))||[];L=new i(xj(L.body,pj,W,()=>{fe&&fe(),ae&&ae()}),xe)}E=E||"text";let le=await j[te.findKey(j,E)||"text"](L,S);return!ee&&ae&&ae(),await new Promise((xe,F)=>{Ky(xe,F,{data:le,headers:Vs.from(L.headers),status:L.status,statusText:L.statusText,config:S,request:je})})}catch(R){throw ae&&ae(),R&&R.name==="TypeError"&&/Load failed|fetch/i.test(R.message)?Object.assign(new qe("Network Error",qe.ERR_NETWORK,S,je),{cause:R.cause||R}):qe.from(R,R&&R.code,S,je)}}},wk=new Map,Jy=s=>{let a=s&&s.env||{};const{fetch:l,Request:i,Response:c}=a,d=[i,c,l];let m=d.length,h=m,p,v,g=wk;for(;h--;)p=d[h],v=g.get(p),v===void 0&&g.set(p,v=h?new Map:Nk(a)),g=v;return v};Jy();const wh={http:HC,xhr:pk,fetch:{get:Jy}};te.forEach(wh,(s,a)=>{if(s){try{Object.defineProperty(s,"name",{value:a})}catch{}Object.defineProperty(s,"adapterName",{value:a})}});const yj=s=>`- ${s}`,Sk=s=>te.isFunction(s)||s===null||s===!1;function _k(s,a){s=te.isArray(s)?s:[s];const{length:l}=s;let i,c;const d={};for(let m=0;m`adapter ${p} `+(v===!1?"is not supported by the environment":"is not available in the build"));let h=l?m.length>1?`since : +`+m.map(yj).join(` +`):" "+yj(m[0]):"as no adapter specified";throw new qe("There is no suitable adapter to dispatch the request "+h,"ERR_NOT_SUPPORT")}return c}const eb={getAdapter:_k,adapters:wh};function gf(s){if(s.cancelToken&&s.cancelToken.throwIfRequested(),s.signal&&s.signal.aborted)throw new Kr(null,s)}function bj(s){return gf(s),s.headers=Vs.from(s.headers),s.data=pf.call(s,s.transformRequest),["post","put","patch"].indexOf(s.method)!==-1&&s.headers.setContentType("application/x-www-form-urlencoded",!1),eb.getAdapter(s.adapter||wo.adapter,s)(s).then(function(i){return gf(s),i.data=pf.call(s,s.transformResponse,i),i.headers=Vs.from(i.headers),i},function(i){return Xy(i)||(gf(s),i&&i.response&&(i.response.data=pf.call(s,s.transformResponse,i.response),i.response.headers=Vs.from(i.response.headers))),Promise.reject(i)})}const tb="1.13.2",zd={};["object","boolean","number","function","string","symbol"].forEach((s,a)=>{zd[s]=function(i){return typeof i===s||"a"+(a<1?"n ":" ")+s}});const Nj={};zd.transitional=function(a,l,i){function c(d,m){return"[Axios v"+tb+"] Transitional option '"+d+"'"+m+(i?". "+i:"")}return(d,m,h)=>{if(a===!1)throw new qe(c(m," has been removed"+(l?" in "+l:"")),qe.ERR_DEPRECATED);return l&&!Nj[m]&&(Nj[m]=!0,console.warn(c(m," has been deprecated since v"+l+" and will be removed in the near future"))),a?a(d,m,h):!0}};zd.spelling=function(a){return(l,i)=>(console.warn(`${i} is likely a misspelling of ${a}`),!0)};function Ck(s,a,l){if(typeof s!="object")throw new qe("options must be an object",qe.ERR_BAD_OPTION_VALUE);const i=Object.keys(s);let c=i.length;for(;c-- >0;){const d=i[c],m=a[d];if(m){const h=s[d],p=h===void 0||m(h,d,s);if(p!==!0)throw new qe("option "+d+" must be "+p,qe.ERR_BAD_OPTION_VALUE);continue}if(l!==!0)throw new qe("Unknown option "+d,qe.ERR_BAD_OPTION)}}const cd={assertOptions:Ck,validators:zd},Bn=cd.validators;let kl=class{constructor(a){this.defaults=a||{},this.interceptors={request:new dj,response:new dj}}async request(a,l){try{return await this._request(a,l)}catch(i){if(i instanceof Error){let c={};Error.captureStackTrace?Error.captureStackTrace(c):c=new Error;const d=c.stack?c.stack.replace(/^.+\n/,""):"";try{i.stack?d&&!String(i.stack).endsWith(d.replace(/^.+\n.+\n/,""))&&(i.stack+=` +`+d):i.stack=d}catch{}}throw i}}_request(a,l){typeof a=="string"?(l=l||{},l.url=a):l=a||{},l=El(this.defaults,l);const{transitional:i,paramsSerializer:c,headers:d}=l;i!==void 0&&cd.assertOptions(i,{silentJSONParsing:Bn.transitional(Bn.boolean),forcedJSONParsing:Bn.transitional(Bn.boolean),clarifyTimeoutError:Bn.transitional(Bn.boolean)},!1),c!=null&&(te.isFunction(c)?l.paramsSerializer={serialize:c}:cd.assertOptions(c,{encode:Bn.function,serialize:Bn.function},!0)),l.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?l.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:l.allowAbsoluteUrls=!0),cd.assertOptions(l,{baseUrl:Bn.spelling("baseURL"),withXsrfToken:Bn.spelling("withXSRFToken")},!0),l.method=(l.method||this.defaults.method||"get").toLowerCase();let m=d&&te.merge(d.common,d[l.method]);d&&te.forEach(["delete","get","head","post","put","patch","common"],S=>{delete d[S]}),l.headers=Vs.concat(m,d);const h=[];let p=!0;this.interceptors.request.forEach(function(C){typeof C.runWhen=="function"&&C.runWhen(l)===!1||(p=p&&C.synchronous,h.unshift(C.fulfilled,C.rejected))});const v=[];this.interceptors.response.forEach(function(C){v.push(C.fulfilled,C.rejected)});let g,j=0,b;if(!p){const S=[bj.bind(this),void 0];for(S.unshift(...h),S.push(...v),b=S.length,g=Promise.resolve(l);j{if(!i._listeners)return;let d=i._listeners.length;for(;d-- >0;)i._listeners[d](c);i._listeners=null}),this.promise.then=c=>{let d;const m=new Promise(h=>{i.subscribe(h),d=h}).then(c);return m.cancel=function(){i.unsubscribe(d)},m},a(function(d,m,h){i.reason||(i.reason=new Kr(d,m,h),l(i.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(a){if(this.reason){a(this.reason);return}this._listeners?this._listeners.push(a):this._listeners=[a]}unsubscribe(a){if(!this._listeners)return;const l=this._listeners.indexOf(a);l!==-1&&this._listeners.splice(l,1)}toAbortSignal(){const a=new AbortController,l=i=>{a.abort(i)};return this.subscribe(l),a.signal.unsubscribe=()=>this.unsubscribe(l),a.signal}static source(){let a;return{token:new sb(function(c){a=c}),cancel:a}}};function Tk(s){return function(l){return s.apply(null,l)}}function Ek(s){return te.isObject(s)&&s.isAxiosError===!0}const Yf={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Yf).forEach(([s,a])=>{Yf[a]=s});function nb(s){const a=new kl(s),l=Ry(kl.prototype.request,a);return te.extend(l,kl.prototype,a,{allOwnKeys:!0}),te.extend(l,a,null,{allOwnKeys:!0}),l.create=function(c){return nb(El(s,c))},l}const $t=nb(wo);$t.Axios=kl;$t.CanceledError=Kr;$t.CancelToken=kk;$t.isCancel=Xy;$t.VERSION=tb;$t.toFormData=Rd;$t.AxiosError=qe;$t.Cancel=$t.CanceledError;$t.all=function(a){return Promise.all(a)};$t.spread=Tk;$t.isAxiosError=Ek;$t.mergeConfig=El;$t.AxiosHeaders=Vs;$t.formToJSON=s=>Wy(te.isHTMLForm(s)?new FormData(s):s);$t.getAdapter=eb.getAdapter;$t.HttpStatusCode=Yf;$t.default=$t;const{Axios:c6,AxiosError:d6,CanceledError:u6,isCancel:m6,CancelToken:f6,VERSION:h6,all:x6,Cancel:p6,isAxiosError:g6,spread:v6,toFormData:j6,AxiosHeaders:y6,HttpStatusCode:b6,formToJSON:N6,getAdapter:w6,mergeConfig:S6}=$t,Mk=(s,a)=>{const l=new Array(s.length+a.length);for(let i=0;i({classGroupId:s,validator:a}),ab=(s=new Map,a=null,l)=>({nextPart:s,validators:a,classGroupId:l}),vd="-",wj=[],Ok="arbitrary..",Ak=s=>{const a=zk(s),{conflictingClassGroups:l,conflictingClassGroupModifiers:i}=s;return{getClassGroupId:m=>{if(m.startsWith("[")&&m.endsWith("]"))return Rk(m);const h=m.split(vd),p=h[0]===""&&h.length>1?1:0;return lb(h,p,a)},getConflictingClassGroupIds:(m,h)=>{if(h){const p=i[m],v=l[m];return p?v?Mk(v,p):p:v||wj}return l[m]||wj}}},lb=(s,a,l)=>{if(s.length-a===0)return l.classGroupId;const c=s[a],d=l.nextPart.get(c);if(d){const v=lb(s,a+1,d);if(v)return v}const m=l.validators;if(m===null)return;const h=a===0?s.join(vd):s.slice(a).join(vd),p=m.length;for(let v=0;vs.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const a=s.slice(1,-1),l=a.indexOf(":"),i=a.slice(0,l);return i?Ok+i:void 0})(),zk=s=>{const{theme:a,classGroups:l}=s;return Pk(l,a)},Pk=(s,a)=>{const l=ab();for(const i in s){const c=s[i];Sh(c,l,i,a)}return l},Sh=(s,a,l,i)=>{const c=s.length;for(let d=0;d{if(typeof s=="string"){Bk(s,a,l);return}if(typeof s=="function"){Uk(s,a,l,i);return}Hk(s,a,l,i)},Bk=(s,a,l)=>{const i=s===""?a:rb(a,s);i.classGroupId=l},Uk=(s,a,l,i)=>{if(Fk(s)){Sh(s(i),a,l,i);return}a.validators===null&&(a.validators=[]),a.validators.push(Dk(l,s))},Hk=(s,a,l,i)=>{const c=Object.entries(s),d=c.length;for(let m=0;m{let l=s;const i=a.split(vd),c=i.length;for(let d=0;d"isThemeGetter"in s&&s.isThemeGetter===!0,Yk=s=>{if(s<1)return{get:()=>{},set:()=>{}};let a=0,l=Object.create(null),i=Object.create(null);const c=(d,m)=>{l[d]=m,a++,a>s&&(a=0,i=l,l=Object.create(null))};return{get(d){let m=l[d];if(m!==void 0)return m;if((m=i[d])!==void 0)return c(d,m),m},set(d,m){d in l?l[d]=m:c(d,m)}}},qf="!",Sj=":",qk=[],_j=(s,a,l,i,c)=>({modifiers:s,hasImportantModifier:a,baseClassName:l,maybePostfixModifierPosition:i,isExternal:c}),Vk=s=>{const{prefix:a,experimentalParseClassName:l}=s;let i=c=>{const d=[];let m=0,h=0,p=0,v;const g=c.length;for(let C=0;Cp?v-p:void 0;return _j(d,w,b,S)};if(a){const c=a+Sj,d=i;i=m=>m.startsWith(c)?d(m.slice(c.length)):_j(qk,!1,m,void 0,!0)}if(l){const c=i;i=d=>l({className:d,parseClassName:c})}return i},Gk=s=>{const a=new Map;return s.orderSensitiveModifiers.forEach((l,i)=>{a.set(l,1e6+i)}),l=>{const i=[];let c=[];for(let d=0;d0&&(c.sort(),i.push(...c),c=[]),i.push(m)):c.push(m)}return c.length>0&&(c.sort(),i.push(...c)),i}},$k=s=>({cache:Yk(s.cacheSize),parseClassName:Vk(s),sortModifiers:Gk(s),...Ak(s)}),Ik=/\s+/,Wk=(s,a)=>{const{parseClassName:l,getClassGroupId:i,getConflictingClassGroupIds:c,sortModifiers:d}=a,m=[],h=s.trim().split(Ik);let p="";for(let v=h.length-1;v>=0;v-=1){const g=h[v],{isExternal:j,modifiers:b,hasImportantModifier:w,baseClassName:S,maybePostfixModifierPosition:C}=l(g);if(j){p=g+(p.length>0?" "+p:p);continue}let N=!!C,T=i(N?S.substring(0,C):S);if(!T){if(!N){p=g+(p.length>0?" "+p:p);continue}if(T=i(S),!T){p=g+(p.length>0?" "+p:p);continue}N=!1}const P=b.length===0?"":b.length===1?b[0]:d(b).join(":"),M=w?P+qf:P,k=M+T;if(m.indexOf(k)>-1)continue;m.push(k);const D=c(T,N);for(let A=0;A0?" "+p:p)}return p},Xk=(...s)=>{let a=0,l,i,c="";for(;a{if(typeof s=="string")return s;let a,l="";for(let i=0;i{let l,i,c,d;const m=p=>{const v=a.reduce((g,j)=>j(g),s());return l=$k(v),i=l.cache.get,c=l.cache.set,d=h,h(p)},h=p=>{const v=i(p);if(v)return v;const g=Wk(p,l);return c(p,g),g};return d=m,(...p)=>d(Xk(...p))},Qk=[],rs=s=>{const a=l=>l[s]||Qk;return a.isThemeGetter=!0,a},ob=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,cb=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Zk=/^\d+\/\d+$/,Jk=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,eT=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,tT=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,sT=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,nT=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Tr=s=>Zk.test(s),Ke=s=>!!s&&!Number.isNaN(Number(s)),qa=s=>!!s&&Number.isInteger(Number(s)),vf=s=>s.endsWith("%")&&Ke(s.slice(0,-1)),ua=s=>Jk.test(s),aT=()=>!0,lT=s=>eT.test(s)&&!tT.test(s),db=()=>!1,rT=s=>sT.test(s),iT=s=>nT.test(s),oT=s=>!Se(s)&&!_e(s),cT=s=>Qr(s,fb,db),Se=s=>ob.test(s),bl=s=>Qr(s,hb,lT),jf=s=>Qr(s,hT,Ke),Cj=s=>Qr(s,ub,db),dT=s=>Qr(s,mb,iT),Jc=s=>Qr(s,xb,rT),_e=s=>cb.test(s),Ki=s=>Zr(s,hb),uT=s=>Zr(s,xT),kj=s=>Zr(s,ub),mT=s=>Zr(s,fb),fT=s=>Zr(s,mb),ed=s=>Zr(s,xb,!0),Qr=(s,a,l)=>{const i=ob.exec(s);return i?i[1]?a(i[1]):l(i[2]):!1},Zr=(s,a,l=!1)=>{const i=cb.exec(s);return i?i[1]?a(i[1]):l:!1},ub=s=>s==="position"||s==="percentage",mb=s=>s==="image"||s==="url",fb=s=>s==="length"||s==="size"||s==="bg-size",hb=s=>s==="length",hT=s=>s==="number",xT=s=>s==="family-name",xb=s=>s==="shadow",pT=()=>{const s=rs("color"),a=rs("font"),l=rs("text"),i=rs("font-weight"),c=rs("tracking"),d=rs("leading"),m=rs("breakpoint"),h=rs("container"),p=rs("spacing"),v=rs("radius"),g=rs("shadow"),j=rs("inset-shadow"),b=rs("text-shadow"),w=rs("drop-shadow"),S=rs("blur"),C=rs("perspective"),N=rs("aspect"),T=rs("ease"),P=rs("animate"),M=()=>["auto","avoid","all","avoid-page","page","left","right","column"],k=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],D=()=>[...k(),_e,Se],A=()=>["auto","hidden","clip","visible","scroll"],E=()=>["auto","contain","none"],B=()=>[_e,Se,p],Y=()=>[Tr,"full","auto",...B()],G=()=>[qa,"none","subgrid",_e,Se],$=()=>["auto",{span:["full",qa,_e,Se]},qa,_e,Se],oe=()=>[qa,"auto",_e,Se],je=()=>["auto","min","max","fr",_e,Se],ae=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],me=()=>["start","end","center","stretch","center-safe","end-safe"],R=()=>["auto",...B()],O=()=>[Tr,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...B()],L=()=>[s,_e,Se],ee=()=>[...k(),kj,Cj,{position:[_e,Se]}],le=()=>["no-repeat",{repeat:["","x","y","space","round"]}],xe=()=>["auto","cover","contain",mT,cT,{size:[_e,Se]}],F=()=>[vf,Ki,bl],W=()=>["","none","full",v,_e,Se],fe=()=>["",Ke,Ki,bl],I=()=>["solid","dashed","dotted","double"],ve=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],de=()=>[Ke,vf,kj,Cj],Ce=()=>["","none",S,_e,Se],Q=()=>["none",Ke,_e,Se],Oe=()=>["none",Ke,_e,Se],$e=()=>[Ke,_e,Se],re=()=>[Tr,"full",...B()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ua],breakpoint:[ua],color:[aT],container:[ua],"drop-shadow":[ua],ease:["in","out","in-out"],font:[oT],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ua],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ua],shadow:[ua],spacing:["px",Ke],text:[ua],"text-shadow":[ua],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Tr,Se,_e,N]}],container:["container"],columns:[{columns:[Ke,Se,_e,h]}],"break-after":[{"break-after":M()}],"break-before":[{"break-before":M()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:D()}],overflow:[{overflow:A()}],"overflow-x":[{"overflow-x":A()}],"overflow-y":[{"overflow-y":A()}],overscroll:[{overscroll:E()}],"overscroll-x":[{"overscroll-x":E()}],"overscroll-y":[{"overscroll-y":E()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:Y()}],"inset-x":[{"inset-x":Y()}],"inset-y":[{"inset-y":Y()}],start:[{start:Y()}],end:[{end:Y()}],top:[{top:Y()}],right:[{right:Y()}],bottom:[{bottom:Y()}],left:[{left:Y()}],visibility:["visible","invisible","collapse"],z:[{z:[qa,"auto",_e,Se]}],basis:[{basis:[Tr,"full","auto",h,...B()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Ke,Tr,"auto","initial","none",Se]}],grow:[{grow:["",Ke,_e,Se]}],shrink:[{shrink:["",Ke,_e,Se]}],order:[{order:[qa,"first","last","none",_e,Se]}],"grid-cols":[{"grid-cols":G()}],"col-start-end":[{col:$()}],"col-start":[{"col-start":oe()}],"col-end":[{"col-end":oe()}],"grid-rows":[{"grid-rows":G()}],"row-start-end":[{row:$()}],"row-start":[{"row-start":oe()}],"row-end":[{"row-end":oe()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":je()}],"auto-rows":[{"auto-rows":je()}],gap:[{gap:B()}],"gap-x":[{"gap-x":B()}],"gap-y":[{"gap-y":B()}],"justify-content":[{justify:[...ae(),"normal"]}],"justify-items":[{"justify-items":[...me(),"normal"]}],"justify-self":[{"justify-self":["auto",...me()]}],"align-content":[{content:["normal",...ae()]}],"align-items":[{items:[...me(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...me(),{baseline:["","last"]}]}],"place-content":[{"place-content":ae()}],"place-items":[{"place-items":[...me(),"baseline"]}],"place-self":[{"place-self":["auto",...me()]}],p:[{p:B()}],px:[{px:B()}],py:[{py:B()}],ps:[{ps:B()}],pe:[{pe:B()}],pt:[{pt:B()}],pr:[{pr:B()}],pb:[{pb:B()}],pl:[{pl:B()}],m:[{m:R()}],mx:[{mx:R()}],my:[{my:R()}],ms:[{ms:R()}],me:[{me:R()}],mt:[{mt:R()}],mr:[{mr:R()}],mb:[{mb:R()}],ml:[{ml:R()}],"space-x":[{"space-x":B()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":B()}],"space-y-reverse":["space-y-reverse"],size:[{size:O()}],w:[{w:[h,"screen",...O()]}],"min-w":[{"min-w":[h,"screen","none",...O()]}],"max-w":[{"max-w":[h,"screen","none","prose",{screen:[m]},...O()]}],h:[{h:["screen","lh",...O()]}],"min-h":[{"min-h":["screen","lh","none",...O()]}],"max-h":[{"max-h":["screen","lh",...O()]}],"font-size":[{text:["base",l,Ki,bl]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,_e,jf]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",vf,Se]}],"font-family":[{font:[uT,Se,a]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[c,_e,Se]}],"line-clamp":[{"line-clamp":[Ke,"none",_e,jf]}],leading:[{leading:[d,...B()]}],"list-image":[{"list-image":["none",_e,Se]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",_e,Se]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:L()}],"text-color":[{text:L()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...I(),"wavy"]}],"text-decoration-thickness":[{decoration:[Ke,"from-font","auto",_e,bl]}],"text-decoration-color":[{decoration:L()}],"underline-offset":[{"underline-offset":[Ke,"auto",_e,Se]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:B()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",_e,Se]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",_e,Se]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ee()}],"bg-repeat":[{bg:le()}],"bg-size":[{bg:xe()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},qa,_e,Se],radial:["",_e,Se],conic:[qa,_e,Se]},fT,dT]}],"bg-color":[{bg:L()}],"gradient-from-pos":[{from:F()}],"gradient-via-pos":[{via:F()}],"gradient-to-pos":[{to:F()}],"gradient-from":[{from:L()}],"gradient-via":[{via:L()}],"gradient-to":[{to:L()}],rounded:[{rounded:W()}],"rounded-s":[{"rounded-s":W()}],"rounded-e":[{"rounded-e":W()}],"rounded-t":[{"rounded-t":W()}],"rounded-r":[{"rounded-r":W()}],"rounded-b":[{"rounded-b":W()}],"rounded-l":[{"rounded-l":W()}],"rounded-ss":[{"rounded-ss":W()}],"rounded-se":[{"rounded-se":W()}],"rounded-ee":[{"rounded-ee":W()}],"rounded-es":[{"rounded-es":W()}],"rounded-tl":[{"rounded-tl":W()}],"rounded-tr":[{"rounded-tr":W()}],"rounded-br":[{"rounded-br":W()}],"rounded-bl":[{"rounded-bl":W()}],"border-w":[{border:fe()}],"border-w-x":[{"border-x":fe()}],"border-w-y":[{"border-y":fe()}],"border-w-s":[{"border-s":fe()}],"border-w-e":[{"border-e":fe()}],"border-w-t":[{"border-t":fe()}],"border-w-r":[{"border-r":fe()}],"border-w-b":[{"border-b":fe()}],"border-w-l":[{"border-l":fe()}],"divide-x":[{"divide-x":fe()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":fe()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...I(),"hidden","none"]}],"divide-style":[{divide:[...I(),"hidden","none"]}],"border-color":[{border:L()}],"border-color-x":[{"border-x":L()}],"border-color-y":[{"border-y":L()}],"border-color-s":[{"border-s":L()}],"border-color-e":[{"border-e":L()}],"border-color-t":[{"border-t":L()}],"border-color-r":[{"border-r":L()}],"border-color-b":[{"border-b":L()}],"border-color-l":[{"border-l":L()}],"divide-color":[{divide:L()}],"outline-style":[{outline:[...I(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Ke,_e,Se]}],"outline-w":[{outline:["",Ke,Ki,bl]}],"outline-color":[{outline:L()}],shadow:[{shadow:["","none",g,ed,Jc]}],"shadow-color":[{shadow:L()}],"inset-shadow":[{"inset-shadow":["none",j,ed,Jc]}],"inset-shadow-color":[{"inset-shadow":L()}],"ring-w":[{ring:fe()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:L()}],"ring-offset-w":[{"ring-offset":[Ke,bl]}],"ring-offset-color":[{"ring-offset":L()}],"inset-ring-w":[{"inset-ring":fe()}],"inset-ring-color":[{"inset-ring":L()}],"text-shadow":[{"text-shadow":["none",b,ed,Jc]}],"text-shadow-color":[{"text-shadow":L()}],opacity:[{opacity:[Ke,_e,Se]}],"mix-blend":[{"mix-blend":[...ve(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ve()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Ke]}],"mask-image-linear-from-pos":[{"mask-linear-from":de()}],"mask-image-linear-to-pos":[{"mask-linear-to":de()}],"mask-image-linear-from-color":[{"mask-linear-from":L()}],"mask-image-linear-to-color":[{"mask-linear-to":L()}],"mask-image-t-from-pos":[{"mask-t-from":de()}],"mask-image-t-to-pos":[{"mask-t-to":de()}],"mask-image-t-from-color":[{"mask-t-from":L()}],"mask-image-t-to-color":[{"mask-t-to":L()}],"mask-image-r-from-pos":[{"mask-r-from":de()}],"mask-image-r-to-pos":[{"mask-r-to":de()}],"mask-image-r-from-color":[{"mask-r-from":L()}],"mask-image-r-to-color":[{"mask-r-to":L()}],"mask-image-b-from-pos":[{"mask-b-from":de()}],"mask-image-b-to-pos":[{"mask-b-to":de()}],"mask-image-b-from-color":[{"mask-b-from":L()}],"mask-image-b-to-color":[{"mask-b-to":L()}],"mask-image-l-from-pos":[{"mask-l-from":de()}],"mask-image-l-to-pos":[{"mask-l-to":de()}],"mask-image-l-from-color":[{"mask-l-from":L()}],"mask-image-l-to-color":[{"mask-l-to":L()}],"mask-image-x-from-pos":[{"mask-x-from":de()}],"mask-image-x-to-pos":[{"mask-x-to":de()}],"mask-image-x-from-color":[{"mask-x-from":L()}],"mask-image-x-to-color":[{"mask-x-to":L()}],"mask-image-y-from-pos":[{"mask-y-from":de()}],"mask-image-y-to-pos":[{"mask-y-to":de()}],"mask-image-y-from-color":[{"mask-y-from":L()}],"mask-image-y-to-color":[{"mask-y-to":L()}],"mask-image-radial":[{"mask-radial":[_e,Se]}],"mask-image-radial-from-pos":[{"mask-radial-from":de()}],"mask-image-radial-to-pos":[{"mask-radial-to":de()}],"mask-image-radial-from-color":[{"mask-radial-from":L()}],"mask-image-radial-to-color":[{"mask-radial-to":L()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":k()}],"mask-image-conic-pos":[{"mask-conic":[Ke]}],"mask-image-conic-from-pos":[{"mask-conic-from":de()}],"mask-image-conic-to-pos":[{"mask-conic-to":de()}],"mask-image-conic-from-color":[{"mask-conic-from":L()}],"mask-image-conic-to-color":[{"mask-conic-to":L()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ee()}],"mask-repeat":[{mask:le()}],"mask-size":[{mask:xe()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",_e,Se]}],filter:[{filter:["","none",_e,Se]}],blur:[{blur:Ce()}],brightness:[{brightness:[Ke,_e,Se]}],contrast:[{contrast:[Ke,_e,Se]}],"drop-shadow":[{"drop-shadow":["","none",w,ed,Jc]}],"drop-shadow-color":[{"drop-shadow":L()}],grayscale:[{grayscale:["",Ke,_e,Se]}],"hue-rotate":[{"hue-rotate":[Ke,_e,Se]}],invert:[{invert:["",Ke,_e,Se]}],saturate:[{saturate:[Ke,_e,Se]}],sepia:[{sepia:["",Ke,_e,Se]}],"backdrop-filter":[{"backdrop-filter":["","none",_e,Se]}],"backdrop-blur":[{"backdrop-blur":Ce()}],"backdrop-brightness":[{"backdrop-brightness":[Ke,_e,Se]}],"backdrop-contrast":[{"backdrop-contrast":[Ke,_e,Se]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Ke,_e,Se]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Ke,_e,Se]}],"backdrop-invert":[{"backdrop-invert":["",Ke,_e,Se]}],"backdrop-opacity":[{"backdrop-opacity":[Ke,_e,Se]}],"backdrop-saturate":[{"backdrop-saturate":[Ke,_e,Se]}],"backdrop-sepia":[{"backdrop-sepia":["",Ke,_e,Se]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":B()}],"border-spacing-x":[{"border-spacing-x":B()}],"border-spacing-y":[{"border-spacing-y":B()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",_e,Se]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Ke,"initial",_e,Se]}],ease:[{ease:["linear","initial",T,_e,Se]}],delay:[{delay:[Ke,_e,Se]}],animate:[{animate:["none",P,_e,Se]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[C,_e,Se]}],"perspective-origin":[{"perspective-origin":D()}],rotate:[{rotate:Q()}],"rotate-x":[{"rotate-x":Q()}],"rotate-y":[{"rotate-y":Q()}],"rotate-z":[{"rotate-z":Q()}],scale:[{scale:Oe()}],"scale-x":[{"scale-x":Oe()}],"scale-y":[{"scale-y":Oe()}],"scale-z":[{"scale-z":Oe()}],"scale-3d":["scale-3d"],skew:[{skew:$e()}],"skew-x":[{"skew-x":$e()}],"skew-y":[{"skew-y":$e()}],transform:[{transform:[_e,Se,"","none","gpu","cpu"]}],"transform-origin":[{origin:D()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:re()}],"translate-x":[{"translate-x":re()}],"translate-y":[{"translate-y":re()}],"translate-z":[{"translate-z":re()}],"translate-none":["translate-none"],accent:[{accent:L()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:L()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",_e,Se]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":B()}],"scroll-mx":[{"scroll-mx":B()}],"scroll-my":[{"scroll-my":B()}],"scroll-ms":[{"scroll-ms":B()}],"scroll-me":[{"scroll-me":B()}],"scroll-mt":[{"scroll-mt":B()}],"scroll-mr":[{"scroll-mr":B()}],"scroll-mb":[{"scroll-mb":B()}],"scroll-ml":[{"scroll-ml":B()}],"scroll-p":[{"scroll-p":B()}],"scroll-px":[{"scroll-px":B()}],"scroll-py":[{"scroll-py":B()}],"scroll-ps":[{"scroll-ps":B()}],"scroll-pe":[{"scroll-pe":B()}],"scroll-pt":[{"scroll-pt":B()}],"scroll-pr":[{"scroll-pr":B()}],"scroll-pb":[{"scroll-pb":B()}],"scroll-pl":[{"scroll-pl":B()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",_e,Se]}],fill:[{fill:["none",...L()]}],"stroke-w":[{stroke:[Ke,Ki,bl,jf]}],stroke:[{stroke:["none",...L()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},gT=Kk(pT);function Z(...s){return gT(iy(s))}const Ue=x.forwardRef(({className:s,...a},l)=>e.jsx("div",{ref:l,className:Z("rounded-xl border bg-card text-card-foreground shadow",s),...a}));Ue.displayName="Card";const ot=x.forwardRef(({className:s,...a},l)=>e.jsx("div",{ref:l,className:Z("flex flex-col space-y-1.5 p-6",s),...a}));ot.displayName="CardHeader";const ct=x.forwardRef(({className:s,...a},l)=>e.jsx("div",{ref:l,className:Z("font-semibold leading-none tracking-tight",s),...a}));ct.displayName="CardTitle";const us=x.forwardRef(({className:s,...a},l)=>e.jsx("div",{ref:l,className:Z("text-sm text-muted-foreground",s),...a}));us.displayName="CardDescription";const gt=x.forwardRef(({className:s,...a},l)=>e.jsx("div",{ref:l,className:Z("p-6 pt-0",s),...a}));gt.displayName="CardContent";const pb=x.forwardRef(({className:s,...a},l)=>e.jsx("div",{ref:l,className:Z("flex items-center p-6 pt-0",s),...a}));pb.displayName="CardFooter";var yf="rovingFocusGroup.onEntryFocus",vT={bubbles:!1,cancelable:!0},So="RovingFocusGroup",[Vf,gb,jT]=_d(So),[yT,Pd]=Dn(So,[jT]),[bT,NT]=yT(So),vb=x.forwardRef((s,a)=>e.jsx(Vf.Provider,{scope:s.__scopeRovingFocusGroup,children:e.jsx(Vf.Slot,{scope:s.__scopeRovingFocusGroup,children:e.jsx(wT,{...s,ref:a})})}));vb.displayName=So;var wT=x.forwardRef((s,a)=>{const{__scopeRovingFocusGroup:l,orientation:i,loop:c=!1,dir:d,currentTabStopId:m,defaultCurrentTabStopId:h,onCurrentTabStopIdChange:p,onEntryFocus:v,preventScrollOnEntryFocus:g=!1,...j}=s,b=x.useRef(null),w=Tt(a,b),S=xo(d),[C,N]=Qa({prop:m,defaultProp:h??null,onChange:p,caller:So}),[T,P]=x.useState(!1),M=ws(v),k=gb(l),D=x.useRef(!1),[A,E]=x.useState(0);return x.useEffect(()=>{const B=b.current;if(B)return B.addEventListener(yf,M),()=>B.removeEventListener(yf,M)},[M]),e.jsx(bT,{scope:l,orientation:i,dir:S,loop:c,currentTabStopId:C,onItemFocus:x.useCallback(B=>N(B),[N]),onItemShiftTab:x.useCallback(()=>P(!0),[]),onFocusableItemAdd:x.useCallback(()=>E(B=>B+1),[]),onFocusableItemRemove:x.useCallback(()=>E(B=>B-1),[]),children:e.jsx(dt.div,{tabIndex:T||A===0?-1:0,"data-orientation":i,...j,ref:w,style:{outline:"none",...s.style},onMouseDown:be(s.onMouseDown,()=>{D.current=!0}),onFocus:be(s.onFocus,B=>{const Y=!D.current;if(B.target===B.currentTarget&&Y&&!T){const G=new CustomEvent(yf,vT);if(B.currentTarget.dispatchEvent(G),!G.defaultPrevented){const $=k().filter(R=>R.focusable),oe=$.find(R=>R.active),je=$.find(R=>R.id===C),me=[oe,je,...$].filter(Boolean).map(R=>R.ref.current);bb(me,g)}}D.current=!1}),onBlur:be(s.onBlur,()=>P(!1))})})}),jb="RovingFocusGroupItem",yb=x.forwardRef((s,a)=>{const{__scopeRovingFocusGroup:l,focusable:i=!0,active:c=!1,tabStopId:d,children:m,...h}=s,p=jn(),v=d||p,g=NT(jb,l),j=g.currentTabStopId===v,b=gb(l),{onFocusableItemAdd:w,onFocusableItemRemove:S,currentTabStopId:C}=g;return x.useEffect(()=>{if(i)return w(),()=>S()},[i,w,S]),e.jsx(Vf.ItemSlot,{scope:l,id:v,focusable:i,active:c,children:e.jsx(dt.span,{tabIndex:j?0:-1,"data-orientation":g.orientation,...h,ref:a,onMouseDown:be(s.onMouseDown,N=>{i?g.onItemFocus(v):N.preventDefault()}),onFocus:be(s.onFocus,()=>g.onItemFocus(v)),onKeyDown:be(s.onKeyDown,N=>{if(N.key==="Tab"&&N.shiftKey){g.onItemShiftTab();return}if(N.target!==N.currentTarget)return;const T=CT(N,g.orientation,g.dir);if(T!==void 0){if(N.metaKey||N.ctrlKey||N.altKey||N.shiftKey)return;N.preventDefault();let M=b().filter(k=>k.focusable).map(k=>k.ref.current);if(T==="last")M.reverse();else if(T==="prev"||T==="next"){T==="prev"&&M.reverse();const k=M.indexOf(N.currentTarget);M=g.loop?kT(M,k+1):M.slice(k+1)}setTimeout(()=>bb(M))}}),children:typeof m=="function"?m({isCurrentTabStop:j,hasTabStop:C!=null}):m})})});yb.displayName=jb;var ST={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function _T(s,a){return a!=="rtl"?s:s==="ArrowLeft"?"ArrowRight":s==="ArrowRight"?"ArrowLeft":s}function CT(s,a,l){const i=_T(s.key,l);if(!(a==="vertical"&&["ArrowLeft","ArrowRight"].includes(i))&&!(a==="horizontal"&&["ArrowUp","ArrowDown"].includes(i)))return ST[i]}function bb(s,a=!1){const l=document.activeElement;for(const i of s)if(i===l||(i.focus({preventScroll:a}),document.activeElement!==l))return}function kT(s,a){return s.map((l,i)=>s[(a+i)%s.length])}var Nb=vb,wb=yb,Ld="Tabs",[TT]=Dn(Ld,[Pd]),Sb=Pd(),[ET,_h]=TT(Ld),_b=x.forwardRef((s,a)=>{const{__scopeTabs:l,value:i,onValueChange:c,defaultValue:d,orientation:m="horizontal",dir:h,activationMode:p="automatic",...v}=s,g=xo(h),[j,b]=Qa({prop:i,onChange:c,defaultProp:d??"",caller:Ld});return e.jsx(ET,{scope:l,baseId:jn(),value:j,onValueChange:b,orientation:m,dir:g,activationMode:p,children:e.jsx(dt.div,{dir:g,"data-orientation":m,...v,ref:a})})});_b.displayName=Ld;var Cb="TabsList",kb=x.forwardRef((s,a)=>{const{__scopeTabs:l,loop:i=!0,...c}=s,d=_h(Cb,l),m=Sb(l);return e.jsx(Nb,{asChild:!0,...m,orientation:d.orientation,dir:d.dir,loop:i,children:e.jsx(dt.div,{role:"tablist","aria-orientation":d.orientation,...c,ref:a})})});kb.displayName=Cb;var Tb="TabsTrigger",Eb=x.forwardRef((s,a)=>{const{__scopeTabs:l,value:i,disabled:c=!1,...d}=s,m=_h(Tb,l),h=Sb(l),p=Ob(m.baseId,i),v=Ab(m.baseId,i),g=i===m.value;return e.jsx(wb,{asChild:!0,...h,focusable:!c,active:g,children:e.jsx(dt.button,{type:"button",role:"tab","aria-selected":g,"aria-controls":v,"data-state":g?"active":"inactive","data-disabled":c?"":void 0,disabled:c,id:p,...d,ref:a,onMouseDown:be(s.onMouseDown,j=>{!c&&j.button===0&&j.ctrlKey===!1?m.onValueChange(i):j.preventDefault()}),onKeyDown:be(s.onKeyDown,j=>{[" ","Enter"].includes(j.key)&&m.onValueChange(i)}),onFocus:be(s.onFocus,()=>{const j=m.activationMode!=="manual";!g&&!c&&j&&m.onValueChange(i)})})})});Eb.displayName=Tb;var Mb="TabsContent",Db=x.forwardRef((s,a)=>{const{__scopeTabs:l,value:i,forceMount:c,children:d,...m}=s,h=_h(Mb,l),p=Ob(h.baseId,i),v=Ab(h.baseId,i),g=i===h.value,j=x.useRef(g);return x.useEffect(()=>{const b=requestAnimationFrame(()=>j.current=!1);return()=>cancelAnimationFrame(b)},[]),e.jsx(Is,{present:c||g,children:({present:b})=>e.jsx(dt.div,{"data-state":g?"active":"inactive","data-orientation":h.orientation,role:"tabpanel","aria-labelledby":p,hidden:!b,id:v,tabIndex:0,...m,ref:a,style:{...s.style,animationDuration:j.current?"0s":void 0},children:b&&d})})});Db.displayName=Mb;function Ob(s,a){return`${s}-trigger-${a}`}function Ab(s,a){return`${s}-content-${a}`}var MT=_b,Rb=kb,zb=Eb,Pb=Db;const Ml=MT,$a=x.forwardRef(({className:s,...a},l)=>e.jsx(Rb,{ref:l,className:Z("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",s),...a}));$a.displayName=Rb.displayName;const bt=x.forwardRef(({className:s,...a},l)=>e.jsx(zb,{ref:l,className:Z("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all duration-300 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",s),...a}));bt.displayName=zb.displayName;const Vt=x.forwardRef(({className:s,...a},l)=>e.jsx(Pb,{ref:l,className:Z("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 data-[state=active]:animate-in data-[state=active]:fade-in data-[state=active]:duration-300",s),...a}));Vt.displayName=Pb.displayName;function DT(s,a){return x.useReducer((l,i)=>a[l][i]??l,s)}var Ch="ScrollArea",[Lb]=Dn(Ch),[OT,bn]=Lb(Ch),Bb=x.forwardRef((s,a)=>{const{__scopeScrollArea:l,type:i="hover",dir:c,scrollHideDelay:d=600,...m}=s,[h,p]=x.useState(null),[v,g]=x.useState(null),[j,b]=x.useState(null),[w,S]=x.useState(null),[C,N]=x.useState(null),[T,P]=x.useState(0),[M,k]=x.useState(0),[D,A]=x.useState(!1),[E,B]=x.useState(!1),Y=Tt(a,$=>p($)),G=xo(c);return e.jsx(OT,{scope:l,type:i,dir:G,scrollHideDelay:d,scrollArea:h,viewport:v,onViewportChange:g,content:j,onContentChange:b,scrollbarX:w,onScrollbarXChange:S,scrollbarXEnabled:D,onScrollbarXEnabledChange:A,scrollbarY:C,onScrollbarYChange:N,scrollbarYEnabled:E,onScrollbarYEnabledChange:B,onCornerWidthChange:P,onCornerHeightChange:k,children:e.jsx(dt.div,{dir:G,...m,ref:Y,style:{position:"relative","--radix-scroll-area-corner-width":T+"px","--radix-scroll-area-corner-height":M+"px",...s.style}})})});Bb.displayName=Ch;var Ub="ScrollAreaViewport",Hb=x.forwardRef((s,a)=>{const{__scopeScrollArea:l,children:i,nonce:c,...d}=s,m=bn(Ub,l),h=x.useRef(null),p=Tt(a,h,m.onViewportChange);return e.jsxs(e.Fragment,{children:[e.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:c}),e.jsx(dt.div,{"data-radix-scroll-area-viewport":"",...d,ref:p,style:{overflowX:m.scrollbarXEnabled?"scroll":"hidden",overflowY:m.scrollbarYEnabled?"scroll":"hidden",...s.style},children:e.jsx("div",{ref:m.onContentChange,style:{minWidth:"100%",display:"table"},children:i})})]})});Hb.displayName=Ub;var Vn="ScrollAreaScrollbar",kh=x.forwardRef((s,a)=>{const{forceMount:l,...i}=s,c=bn(Vn,s.__scopeScrollArea),{onScrollbarXEnabledChange:d,onScrollbarYEnabledChange:m}=c,h=s.orientation==="horizontal";return x.useEffect(()=>(h?d(!0):m(!0),()=>{h?d(!1):m(!1)}),[h,d,m]),c.type==="hover"?e.jsx(AT,{...i,ref:a,forceMount:l}):c.type==="scroll"?e.jsx(RT,{...i,ref:a,forceMount:l}):c.type==="auto"?e.jsx(Fb,{...i,ref:a,forceMount:l}):c.type==="always"?e.jsx(Th,{...i,ref:a}):null});kh.displayName=Vn;var AT=x.forwardRef((s,a)=>{const{forceMount:l,...i}=s,c=bn(Vn,s.__scopeScrollArea),[d,m]=x.useState(!1);return x.useEffect(()=>{const h=c.scrollArea;let p=0;if(h){const v=()=>{window.clearTimeout(p),m(!0)},g=()=>{p=window.setTimeout(()=>m(!1),c.scrollHideDelay)};return h.addEventListener("pointerenter",v),h.addEventListener("pointerleave",g),()=>{window.clearTimeout(p),h.removeEventListener("pointerenter",v),h.removeEventListener("pointerleave",g)}}},[c.scrollArea,c.scrollHideDelay]),e.jsx(Is,{present:l||d,children:e.jsx(Fb,{"data-state":d?"visible":"hidden",...i,ref:a})})}),RT=x.forwardRef((s,a)=>{const{forceMount:l,...i}=s,c=bn(Vn,s.__scopeScrollArea),d=s.orientation==="horizontal",m=Ud(()=>p("SCROLL_END"),100),[h,p]=DT("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return x.useEffect(()=>{if(h==="idle"){const v=window.setTimeout(()=>p("HIDE"),c.scrollHideDelay);return()=>window.clearTimeout(v)}},[h,c.scrollHideDelay,p]),x.useEffect(()=>{const v=c.viewport,g=d?"scrollLeft":"scrollTop";if(v){let j=v[g];const b=()=>{const w=v[g];j!==w&&(p("SCROLL"),m()),j=w};return v.addEventListener("scroll",b),()=>v.removeEventListener("scroll",b)}},[c.viewport,d,p,m]),e.jsx(Is,{present:l||h!=="hidden",children:e.jsx(Th,{"data-state":h==="hidden"?"hidden":"visible",...i,ref:a,onPointerEnter:be(s.onPointerEnter,()=>p("POINTER_ENTER")),onPointerLeave:be(s.onPointerLeave,()=>p("POINTER_LEAVE"))})})}),Fb=x.forwardRef((s,a)=>{const l=bn(Vn,s.__scopeScrollArea),{forceMount:i,...c}=s,[d,m]=x.useState(!1),h=s.orientation==="horizontal",p=Ud(()=>{if(l.viewport){const v=l.viewport.offsetWidth{const{orientation:l="vertical",...i}=s,c=bn(Vn,s.__scopeScrollArea),d=x.useRef(null),m=x.useRef(0),[h,p]=x.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),v=$b(h.viewport,h.content),g={...i,sizes:h,onSizesChange:p,hasThumb:v>0&&v<1,onThumbChange:b=>d.current=b,onThumbPointerUp:()=>m.current=0,onThumbPointerDown:b=>m.current=b};function j(b,w){return HT(b,m.current,h,w)}return l==="horizontal"?e.jsx(zT,{...g,ref:a,onThumbPositionChange:()=>{if(c.viewport&&d.current){const b=c.viewport.scrollLeft,w=Tj(b,h,c.dir);d.current.style.transform=`translate3d(${w}px, 0, 0)`}},onWheelScroll:b=>{c.viewport&&(c.viewport.scrollLeft=b)},onDragScroll:b=>{c.viewport&&(c.viewport.scrollLeft=j(b,c.dir))}}):l==="vertical"?e.jsx(PT,{...g,ref:a,onThumbPositionChange:()=>{if(c.viewport&&d.current){const b=c.viewport.scrollTop,w=Tj(b,h);d.current.style.transform=`translate3d(0, ${w}px, 0)`}},onWheelScroll:b=>{c.viewport&&(c.viewport.scrollTop=b)},onDragScroll:b=>{c.viewport&&(c.viewport.scrollTop=j(b))}}):null}),zT=x.forwardRef((s,a)=>{const{sizes:l,onSizesChange:i,...c}=s,d=bn(Vn,s.__scopeScrollArea),[m,h]=x.useState(),p=x.useRef(null),v=Tt(a,p,d.onScrollbarXChange);return x.useEffect(()=>{p.current&&h(getComputedStyle(p.current))},[p]),e.jsx(qb,{"data-orientation":"horizontal",...c,ref:v,sizes:l,style:{bottom:0,left:d.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:d.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Bd(l)+"px",...s.style},onThumbPointerDown:g=>s.onThumbPointerDown(g.x),onDragScroll:g=>s.onDragScroll(g.x),onWheelScroll:(g,j)=>{if(d.viewport){const b=d.viewport.scrollLeft+g.deltaX;s.onWheelScroll(b),Wb(b,j)&&g.preventDefault()}},onResize:()=>{p.current&&d.viewport&&m&&i({content:d.viewport.scrollWidth,viewport:d.viewport.offsetWidth,scrollbar:{size:p.current.clientWidth,paddingStart:yd(m.paddingLeft),paddingEnd:yd(m.paddingRight)}})}})}),PT=x.forwardRef((s,a)=>{const{sizes:l,onSizesChange:i,...c}=s,d=bn(Vn,s.__scopeScrollArea),[m,h]=x.useState(),p=x.useRef(null),v=Tt(a,p,d.onScrollbarYChange);return x.useEffect(()=>{p.current&&h(getComputedStyle(p.current))},[p]),e.jsx(qb,{"data-orientation":"vertical",...c,ref:v,sizes:l,style:{top:0,right:d.dir==="ltr"?0:void 0,left:d.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Bd(l)+"px",...s.style},onThumbPointerDown:g=>s.onThumbPointerDown(g.y),onDragScroll:g=>s.onDragScroll(g.y),onWheelScroll:(g,j)=>{if(d.viewport){const b=d.viewport.scrollTop+g.deltaY;s.onWheelScroll(b),Wb(b,j)&&g.preventDefault()}},onResize:()=>{p.current&&d.viewport&&m&&i({content:d.viewport.scrollHeight,viewport:d.viewport.offsetHeight,scrollbar:{size:p.current.clientHeight,paddingStart:yd(m.paddingTop),paddingEnd:yd(m.paddingBottom)}})}})}),[LT,Yb]=Lb(Vn),qb=x.forwardRef((s,a)=>{const{__scopeScrollArea:l,sizes:i,hasThumb:c,onThumbChange:d,onThumbPointerUp:m,onThumbPointerDown:h,onThumbPositionChange:p,onDragScroll:v,onWheelScroll:g,onResize:j,...b}=s,w=bn(Vn,l),[S,C]=x.useState(null),N=Tt(a,Y=>C(Y)),T=x.useRef(null),P=x.useRef(""),M=w.viewport,k=i.content-i.viewport,D=ws(g),A=ws(p),E=Ud(j,10);function B(Y){if(T.current){const G=Y.clientX-T.current.left,$=Y.clientY-T.current.top;v({x:G,y:$})}}return x.useEffect(()=>{const Y=G=>{const $=G.target;S?.contains($)&&D(G,k)};return document.addEventListener("wheel",Y,{passive:!1}),()=>document.removeEventListener("wheel",Y,{passive:!1})},[M,S,k,D]),x.useEffect(A,[i,A]),Gr(S,E),Gr(w.content,E),e.jsx(LT,{scope:l,scrollbar:S,hasThumb:c,onThumbChange:ws(d),onThumbPointerUp:ws(m),onThumbPositionChange:A,onThumbPointerDown:ws(h),children:e.jsx(dt.div,{...b,ref:N,style:{position:"absolute",...b.style},onPointerDown:be(s.onPointerDown,Y=>{Y.button===0&&(Y.target.setPointerCapture(Y.pointerId),T.current=S.getBoundingClientRect(),P.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",w.viewport&&(w.viewport.style.scrollBehavior="auto"),B(Y))}),onPointerMove:be(s.onPointerMove,B),onPointerUp:be(s.onPointerUp,Y=>{const G=Y.target;G.hasPointerCapture(Y.pointerId)&&G.releasePointerCapture(Y.pointerId),document.body.style.webkitUserSelect=P.current,w.viewport&&(w.viewport.style.scrollBehavior=""),T.current=null})})})}),jd="ScrollAreaThumb",Vb=x.forwardRef((s,a)=>{const{forceMount:l,...i}=s,c=Yb(jd,s.__scopeScrollArea);return e.jsx(Is,{present:l||c.hasThumb,children:e.jsx(BT,{ref:a,...i})})}),BT=x.forwardRef((s,a)=>{const{__scopeScrollArea:l,style:i,...c}=s,d=bn(jd,l),m=Yb(jd,l),{onThumbPositionChange:h}=m,p=Tt(a,j=>m.onThumbChange(j)),v=x.useRef(void 0),g=Ud(()=>{v.current&&(v.current(),v.current=void 0)},100);return x.useEffect(()=>{const j=d.viewport;if(j){const b=()=>{if(g(),!v.current){const w=FT(j,h);v.current=w,h()}};return h(),j.addEventListener("scroll",b),()=>j.removeEventListener("scroll",b)}},[d.viewport,g,h]),e.jsx(dt.div,{"data-state":m.hasThumb?"visible":"hidden",...c,ref:p,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...i},onPointerDownCapture:be(s.onPointerDownCapture,j=>{const w=j.target.getBoundingClientRect(),S=j.clientX-w.left,C=j.clientY-w.top;m.onThumbPointerDown({x:S,y:C})}),onPointerUp:be(s.onPointerUp,m.onThumbPointerUp)})});Vb.displayName=jd;var Eh="ScrollAreaCorner",Gb=x.forwardRef((s,a)=>{const l=bn(Eh,s.__scopeScrollArea),i=!!(l.scrollbarX&&l.scrollbarY);return l.type!=="scroll"&&i?e.jsx(UT,{...s,ref:a}):null});Gb.displayName=Eh;var UT=x.forwardRef((s,a)=>{const{__scopeScrollArea:l,...i}=s,c=bn(Eh,l),[d,m]=x.useState(0),[h,p]=x.useState(0),v=!!(d&&h);return Gr(c.scrollbarX,()=>{const g=c.scrollbarX?.offsetHeight||0;c.onCornerHeightChange(g),p(g)}),Gr(c.scrollbarY,()=>{const g=c.scrollbarY?.offsetWidth||0;c.onCornerWidthChange(g),m(g)}),v?e.jsx(dt.div,{...i,ref:a,style:{width:d,height:h,position:"absolute",right:c.dir==="ltr"?0:void 0,left:c.dir==="rtl"?0:void 0,bottom:0,...s.style}}):null});function yd(s){return s?parseInt(s,10):0}function $b(s,a){const l=s/a;return isNaN(l)?0:l}function Bd(s){const a=$b(s.viewport,s.content),l=s.scrollbar.paddingStart+s.scrollbar.paddingEnd,i=(s.scrollbar.size-l)*a;return Math.max(i,18)}function HT(s,a,l,i="ltr"){const c=Bd(l),d=c/2,m=a||d,h=c-m,p=l.scrollbar.paddingStart+m,v=l.scrollbar.size-l.scrollbar.paddingEnd-h,g=l.content-l.viewport,j=i==="ltr"?[0,g]:[g*-1,0];return Ib([p,v],j)(s)}function Tj(s,a,l="ltr"){const i=Bd(a),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd,d=a.scrollbar.size-c,m=a.content-a.viewport,h=d-i,p=l==="ltr"?[0,m]:[m*-1,0],v=rh(s,p);return Ib([0,m],[0,h])(v)}function Ib(s,a){return l=>{if(s[0]===s[1]||a[0]===a[1])return a[0];const i=(a[1]-a[0])/(s[1]-s[0]);return a[0]+i*(l-s[0])}}function Wb(s,a){return s>0&&s{})=>{let l={left:s.scrollLeft,top:s.scrollTop},i=0;return(function c(){const d={left:s.scrollLeft,top:s.scrollTop},m=l.left!==d.left,h=l.top!==d.top;(m||h)&&a(),l=d,i=window.requestAnimationFrame(c)})(),()=>window.cancelAnimationFrame(i)};function Ud(s,a){const l=ws(s),i=x.useRef(0);return x.useEffect(()=>()=>window.clearTimeout(i.current),[]),x.useCallback(()=>{window.clearTimeout(i.current),i.current=window.setTimeout(l,a)},[l,a])}function Gr(s,a){const l=ws(a);oy(()=>{let i=0;if(s){const c=new ResizeObserver(()=>{cancelAnimationFrame(i),i=window.requestAnimationFrame(l)});return c.observe(s),()=>{window.cancelAnimationFrame(i),c.unobserve(s)}}},[s,l])}var Xb=Bb,YT=Hb,qT=Gb;const Ct=x.forwardRef(({className:s,children:a,...l},i)=>e.jsxs(Xb,{ref:i,className:Z("relative overflow-hidden",s),...l,children:[e.jsx(YT,{className:"h-full w-full rounded-[inherit]",children:a}),e.jsx(Kb,{}),e.jsx(qT,{})]}));Ct.displayName=Xb.displayName;const Kb=x.forwardRef(({className:s,orientation:a="vertical",...l},i)=>e.jsx(kh,{ref:i,orientation:a,className:Z("flex touch-none select-none transition-colors",a==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",a==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",s),...l,children:e.jsx(Vb,{className:"relative flex-1 rounded-full bg-border"})}));Kb.displayName=kh.displayName;function Ej({className:s,...a}){return e.jsx("div",{className:Z("animate-pulse rounded-md bg-primary/10",s),...a})}function VT(s,a=[]){let l=[];function i(d,m){const h=x.createContext(m);h.displayName=d+"Context";const p=l.length;l=[...l,m];const v=j=>{const{scope:b,children:w,...S}=j,C=b?.[s]?.[p]||h,N=x.useMemo(()=>S,Object.values(S));return e.jsx(C.Provider,{value:N,children:w})};v.displayName=d+"Provider";function g(j,b){const w=b?.[s]?.[p]||h,S=x.useContext(w);if(S)return S;if(m!==void 0)return m;throw new Error(`\`${j}\` must be used within \`${d}\``)}return[v,g]}const c=()=>{const d=l.map(m=>x.createContext(m));return function(h){const p=h?.[s]||d;return x.useMemo(()=>({[`__scope${s}`]:{...h,[s]:p}}),[h,p])}};return c.scopeName=s,[i,GT(c,...a)]}function GT(...s){const a=s[0];if(s.length===1)return a;const l=()=>{const i=s.map(c=>({useScope:c(),scopeName:c.scopeName}));return function(d){const m=i.reduce((h,{useScope:p,scopeName:v})=>{const j=p(d)[`__scope${v}`];return{...h,...j}},{});return x.useMemo(()=>({[`__scope${a.scopeName}`]:m}),[m])}};return l.scopeName=a.scopeName,l}var $T=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Qb=$T.reduce((s,a)=>{const l=ih(`Primitive.${a}`),i=x.forwardRef((c,d)=>{const{asChild:m,...h}=c,p=m?l:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),e.jsx(p,{...h,ref:d})});return i.displayName=`Primitive.${a}`,{...s,[a]:i}},{}),Mh="Progress",Dh=100,[IT]=VT(Mh),[WT,XT]=IT(Mh),Zb=x.forwardRef((s,a)=>{const{__scopeProgress:l,value:i=null,max:c,getValueLabel:d=KT,...m}=s;(c||c===0)&&!Mj(c)&&console.error(QT(`${c}`,"Progress"));const h=Mj(c)?c:Dh;i!==null&&!Dj(i,h)&&console.error(ZT(`${i}`,"Progress"));const p=Dj(i,h)?i:null,v=bd(p)?d(p,h):void 0;return e.jsx(WT,{scope:l,value:p,max:h,children:e.jsx(Qb.div,{"aria-valuemax":h,"aria-valuemin":0,"aria-valuenow":bd(p)?p:void 0,"aria-valuetext":v,role:"progressbar","data-state":t0(p,h),"data-value":p??void 0,"data-max":h,...m,ref:a})})});Zb.displayName=Mh;var Jb="ProgressIndicator",e0=x.forwardRef((s,a)=>{const{__scopeProgress:l,...i}=s,c=XT(Jb,l);return e.jsx(Qb.div,{"data-state":t0(c.value,c.max),"data-value":c.value??void 0,"data-max":c.max,...i,ref:a})});e0.displayName=Jb;function KT(s,a){return`${Math.round(s/a*100)}%`}function t0(s,a){return s==null?"indeterminate":s===a?"complete":"loading"}function bd(s){return typeof s=="number"}function Mj(s){return bd(s)&&!isNaN(s)&&s>0}function Dj(s,a){return bd(s)&&!isNaN(s)&&s<=a&&s>=0}function QT(s,a){return`Invalid prop \`max\` of value \`${s}\` supplied to \`${a}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${Dh}\`.`}function ZT(s,a){return`Invalid prop \`value\` of value \`${s}\` supplied to \`${a}\`. The \`value\` prop must be: + - a positive number + - less than the value passed to \`max\` (or ${Dh} if no \`max\` prop is set) + - \`null\` or \`undefined\` if the progress is indeterminate. + +Defaulting to \`null\`.`}var s0=Zb,JT=e0;const _o=x.forwardRef(({className:s,value:a,...l},i)=>e.jsx(s0,{ref:i,className:Z("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",s),...l,children:e.jsx(JT,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(a||0)}%)`}})}));_o.displayName=s0.displayName;const eE={light:"",dark:".dark"},n0=x.createContext(null);function a0(){const s=x.useContext(n0);if(!s)throw new Error("useChart must be used within a ");return s}const Dr=x.forwardRef(({id:s,className:a,children:l,config:i,...c},d)=>{const m=x.useId(),h=`chart-${s||m.replace(/:/g,"")}`;return e.jsx(n0.Provider,{value:{config:i},children:e.jsxs("div",{"data-chart":h,ref:d,className:Z("flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none",a),...c,children:[e.jsx(tE,{id:h,config:i}),e.jsx(l2,{children:l})]})})});Dr.displayName="Chart";const tE=({id:s,config:a})=>{const l=Object.entries(a).filter(([,i])=>i.theme||i.color);return l.length?e.jsx("style",{dangerouslySetInnerHTML:{__html:Object.entries(eE).map(([i,c])=>` +${c} [data-chart=${s}] { +${l.map(([d,m])=>{const h=m.theme?.[i]||m.color;return h?` --color-${d}: ${h};`:null}).join(` +`)} +} +`).join(` +`)}}):null},Qi=r2,Or=x.forwardRef(({active:s,payload:a,className:l,indicator:i="dot",hideLabel:c=!1,hideIndicator:d=!1,label:m,labelFormatter:h,labelClassName:p,formatter:v,color:g,nameKey:j,labelKey:b},w)=>{const{config:S}=a0(),C=x.useMemo(()=>{if(c||!a?.length)return null;const[T]=a,P=`${b||T?.dataKey||T?.name||"value"}`,M=Gf(S,T,P),k=!b&&typeof m=="string"?S[m]?.label||m:M?.label;return h?e.jsx("div",{className:Z("font-medium",p),children:h(k,a)}):k?e.jsx("div",{className:Z("font-medium",p),children:k}):null},[m,h,a,c,p,S,b]);if(!s||!a?.length)return null;const N=a.length===1&&i!=="dot";return e.jsxs("div",{ref:w,className:Z("grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",l),children:[N?null:C,e.jsx("div",{className:"grid gap-1.5",children:a.filter(T=>T.type!=="none").map((T,P)=>{const M=`${j||T.name||T.dataKey||"value"}`,k=Gf(S,T,M),D=g||T.payload.fill||T.color;return e.jsx("div",{className:Z("flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground",i==="dot"&&"items-center"),children:v&&T?.value!==void 0&&T.name?v(T.value,T.name,T,P,T.payload):e.jsxs(e.Fragment,{children:[k?.icon?e.jsx(k.icon,{}):!d&&e.jsx("div",{className:Z("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]",{"h-2.5 w-2.5":i==="dot","w-1":i==="line","w-0 border-[1.5px] border-dashed bg-transparent":i==="dashed","my-0.5":N&&i==="dashed"}),style:{"--color-bg":D,"--color-border":D}}),e.jsxs("div",{className:Z("flex flex-1 justify-between leading-none",N?"items-end":"items-center"),children:[e.jsxs("div",{className:"grid gap-1.5",children:[N?C:null,e.jsx("span",{className:"text-muted-foreground",children:k?.label||T.name})]}),T.value&&e.jsx("span",{className:"font-mono font-medium tabular-nums text-foreground",children:T.value.toLocaleString()})]})]})},T.dataKey)})})]})});Or.displayName="ChartTooltip";const sE=i2,l0=x.forwardRef(({className:s,hideIcon:a=!1,payload:l,verticalAlign:i="bottom",nameKey:c},d)=>{const{config:m}=a0();return l?.length?e.jsx("div",{ref:d,className:Z("flex items-center justify-center gap-4",i==="top"?"pb-3":"pt-3",s),children:l.filter(h=>h.type!=="none").map(h=>{const p=`${c||h.dataKey||"value"}`,v=Gf(m,h,p);return e.jsxs("div",{className:Z("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),children:[v?.icon&&!a?e.jsx(v.icon,{}):e.jsx("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:h.color}}),v?.label]},h.value)})}):null});l0.displayName="ChartLegend";function Gf(s,a,l){if(typeof a!="object"||a===null)return;const i="payload"in a&&typeof a.payload=="object"&&a.payload!==null?a.payload:void 0;let c=l;return l in a&&typeof a[l]=="string"?c=a[l]:i&&l in i&&typeof i[l]=="string"&&(c=i[l]),c in s?s[c]:s[l]}const Oj=s=>typeof s=="boolean"?`${s}`:s===0?"0":s,Aj=iy,Jr=(s,a)=>l=>{var i;if(a?.variants==null)return Aj(s,l?.class,l?.className);const{variants:c,defaultVariants:d}=a,m=Object.keys(c).map(v=>{const g=l?.[v],j=d?.[v];if(g===null)return null;const b=Oj(g)||Oj(j);return c[v][b]}),h=l&&Object.entries(l).reduce((v,g)=>{let[j,b]=g;return b===void 0||(v[j]=b),v},{}),p=a==null||(i=a.compoundVariants)===null||i===void 0?void 0:i.reduce((v,g)=>{let{class:j,className:b,...w}=g;return Object.entries(w).every(S=>{let[C,N]=S;return Array.isArray(N)?N.includes({...d,...h}[C]):{...d,...h}[C]===N})?[...v,j,b]:v},[]);return Aj(s,m,p,l?.class,l?.className)},io=Jr("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),q=x.forwardRef(({className:s,variant:a,size:l,asChild:i=!1,...c},d)=>{const m=i?f2:"button";return e.jsx(m,{className:Z(io({variant:a,size:l,className:s})),ref:d,...c})});q.displayName="Button";function nE(){const[s,a]=x.useState(null),[l,i]=x.useState(!0),[c,d]=x.useState(0),[m,h]=x.useState(24),[p,v]=x.useState(!0),[g,j]=x.useState(null),[b,w]=x.useState(!0),S=x.useCallback(async()=>{try{w(!0);const Y=await $t.get("https://v1.hitokoto.cn/?c=a&c=b&c=c&c=d&c=h&c=i&c=k");j({hitokoto:Y.data.hitokoto,from:Y.data.from||Y.data.from_who||"未知"})}catch(Y){console.error("获取一言失败:",Y),j({hitokoto:"人生就像一盒巧克力,你永远不知道下一颗是什么味道。",from:"阿甘正传"})}finally{w(!1)}},[]),C=x.useCallback(async()=>{try{const Y=localStorage.getItem("access-token"),G=await $t.get(`/api/webui/statistics/dashboard?hours=${m}`,{headers:{Authorization:`Bearer ${Y}`}});a(G.data),i(!1),d(100)}catch(Y){console.error("Failed to fetch dashboard data:",Y),i(!1),d(100)}},[m]);if(x.useEffect(()=>{if(!l)return;d(0);const Y=setTimeout(()=>d(15),200),G=setTimeout(()=>d(30),800),$=setTimeout(()=>d(45),2e3),oe=setTimeout(()=>d(60),4e3),je=setTimeout(()=>d(75),6500),ae=setTimeout(()=>d(85),9e3),me=setTimeout(()=>d(92),11e3);return()=>{clearTimeout(Y),clearTimeout(G),clearTimeout($),clearTimeout(oe),clearTimeout(je),clearTimeout(ae),clearTimeout(me)}},[l]),x.useEffect(()=>{C(),S()},[C,S]),x.useEffect(()=>{if(!p)return;const Y=setInterval(()=>{C()},3e4);return()=>clearInterval(Y)},[p,C]),l||!s)return e.jsx("div",{className:"flex items-center justify-center h-[calc(100vh-200px)]",children:e.jsxs("div",{className:"text-center space-y-6 w-full max-w-md px-4",children:[e.jsx(xa,{className:"h-12 w-12 animate-spin mx-auto text-primary"}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-lg font-medium",children:"加载统计数据中..."}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"正在获取麦麦运行数据"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(_o,{value:c,className:"h-2"}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[c,"%"]})]})]})});const{summary:N,model_stats:T,hourly_data:P,daily_data:M,recent_activity:k}=s,D=Y=>{const G=Math.floor(Y/3600),$=Math.floor(Y%3600/60);return`${G}小时${$}分钟`},A=Y=>new Date(Y).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}),E=T.slice(0,6).map(Y=>({name:Y.model_name,value:Y.request_count,fill:`hsl(var(--chart-${T.indexOf(Y)%5+1}))`})),B={requests:{label:"请求数",color:"hsl(var(--chart-1))"},cost:{label:"花费(¥)",color:"hsl(var(--chart-2))"},tokens:{label:"Tokens",color:"hsl(var(--chart-3))"}};return e.jsx(Ct,{className:"h-full",children:e.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"实时监控面板"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"麦麦运行状态和统计数据一览"})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(Ml,{value:m.toString(),onValueChange:Y=>h(Number(Y)),children:e.jsxs($a,{className:"grid grid-cols-3 w-full sm:w-auto",children:[e.jsx(bt,{value:"24",children:"24小时"}),e.jsx(bt,{value:"168",children:"7天"}),e.jsx(bt,{value:"720",children:"30天"})]})}),e.jsxs(q,{variant:p?"default":"outline",size:"sm",onClick:()=>v(!p),className:"gap-2",children:[e.jsx(xa,{className:`h-4 w-4 ${p?"animate-spin":""}`}),e.jsx("span",{className:"hidden sm:inline",children:"自动刷新"})]}),e.jsx(q,{variant:"outline",size:"sm",onClick:C,children:e.jsx(xa,{className:"h-4 w-4"})})]})]}),e.jsxs("div",{className:"grid gap-4 grid-cols-1 xs:grid-cols-2 lg:grid-cols-4",children:[e.jsxs(Ue,{children:[e.jsxs(ot,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(ct,{className:"text-sm font-medium",children:"总请求数"}),e.jsx(C2,{className:"h-4 w-4 text-muted-foreground"})]}),e.jsxs(gt,{children:[e.jsx("div",{className:"text-2xl font-bold",children:N.total_requests.toLocaleString()}),e.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["最近",m<48?m+"小时":Math.floor(m/24)+"天"]})]})]}),e.jsxs(Ue,{children:[e.jsxs(ot,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(ct,{className:"text-sm font-medium",children:"总花费"}),e.jsx(k2,{className:"h-4 w-4 text-muted-foreground"})]}),e.jsxs(gt,{children:[e.jsxs("div",{className:"text-2xl font-bold",children:["¥",N.total_cost.toFixed(2)]}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:N.cost_per_hour>0?`¥${N.cost_per_hour.toFixed(2)}/小时`:"暂无数据"})]})]}),e.jsxs(Ue,{children:[e.jsxs(ot,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(ct,{className:"text-sm font-medium",children:"Token消耗"}),e.jsx(T2,{className:"h-4 w-4 text-muted-foreground"})]}),e.jsxs(gt,{children:[e.jsxs("div",{className:"text-2xl font-bold",children:[(N.total_tokens/1e3).toFixed(1),"K"]}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:N.tokens_per_hour>0?`${(N.tokens_per_hour/1e3).toFixed(1)}K/小时`:"暂无数据"})]})]}),e.jsxs(Ue,{children:[e.jsxs(ot,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(ct,{className:"text-sm font-medium",children:"平均响应"}),e.jsx(ao,{className:"h-4 w-4 text-muted-foreground"})]}),e.jsxs(gt,{children:[e.jsxs("div",{className:"text-2xl font-bold",children:[N.avg_response_time.toFixed(2),"s"]}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"API平均耗时"})]})]})]}),e.jsxs("div",{className:"grid gap-4 grid-cols-1 sm:grid-cols-3",children:[e.jsxs(Ue,{children:[e.jsxs(ot,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(ct,{className:"text-sm font-medium",children:"在线时长"}),e.jsx(_l,{className:"h-4 w-4 text-muted-foreground"})]}),e.jsx(gt,{children:e.jsx("div",{className:"text-xl font-bold",children:D(N.online_time)})})]}),e.jsxs(Ue,{children:[e.jsxs(ot,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(ct,{className:"text-sm font-medium",children:"消息处理"}),e.jsx(po,{className:"h-4 w-4 text-muted-foreground"})]}),e.jsxs(gt,{children:[e.jsx("div",{className:"text-xl font-bold",children:N.total_messages.toLocaleString()}),e.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["回复 ",N.total_replies.toLocaleString()," 条"]})]})]}),e.jsxs(Ue,{children:[e.jsxs(ot,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(ct,{className:"text-sm font-medium",children:"成本效率"}),e.jsx(E2,{className:"h-4 w-4 text-muted-foreground"})]}),e.jsxs(gt,{children:[e.jsx("div",{className:"text-xl font-bold",children:N.total_messages>0?`¥${(N.total_cost/N.total_messages*100).toFixed(2)}`:"¥0.00"}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"每100条消息"})]})]})]}),e.jsxs(Ml,{defaultValue:"trends",className:"space-y-4",children:[e.jsxs($a,{className:"grid w-full grid-cols-2 sm:grid-cols-4",children:[e.jsx(bt,{value:"trends",children:"趋势"}),e.jsx(bt,{value:"models",children:"模型"}),e.jsx(bt,{value:"activity",children:"活动"}),e.jsx(bt,{value:"daily",children:"日统计"})]}),e.jsxs(Vt,{value:"trends",className:"space-y-4",children:[e.jsxs(Ue,{children:[e.jsxs(ot,{children:[e.jsx(ct,{children:"请求趋势"}),e.jsxs(us,{children:["最近",m,"小时的请求量变化"]})]}),e.jsx(gt,{children:e.jsx(Dr,{config:B,className:"h-[300px] sm:h-[400px] w-full aspect-auto",children:e.jsxs(o2,{data:P,children:[e.jsx(Xc,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),e.jsx(Kc,{dataKey:"timestamp",tickFormatter:Y=>A(Y),angle:-45,textAnchor:"end",height:60,stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),e.jsx(Ii,{stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),e.jsx(Qi,{content:e.jsx(Or,{labelFormatter:Y=>A(Y)})}),e.jsx(c2,{type:"monotone",dataKey:"requests",stroke:"var(--color-requests)",strokeWidth:2})]})})})]}),e.jsxs("div",{className:"grid gap-4 grid-cols-1 lg:grid-cols-2",children:[e.jsxs(Ue,{children:[e.jsxs(ot,{children:[e.jsx(ct,{children:"花费趋势"}),e.jsx(us,{children:"API调用成本变化"})]}),e.jsx(gt,{children:e.jsx(Dr,{config:B,className:"h-[250px] sm:h-[300px] w-full aspect-auto",children:e.jsxs(uf,{data:P,children:[e.jsx(Xc,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),e.jsx(Kc,{dataKey:"timestamp",tickFormatter:Y=>A(Y),angle:-45,textAnchor:"end",height:60,stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),e.jsx(Ii,{stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),e.jsx(Qi,{content:e.jsx(Or,{labelFormatter:Y=>A(Y)})}),e.jsx(Qc,{dataKey:"cost",fill:"var(--color-cost)"})]})})})]}),e.jsxs(Ue,{children:[e.jsxs(ot,{children:[e.jsx(ct,{children:"Token消耗"}),e.jsx(us,{children:"Token使用量变化"})]}),e.jsx(gt,{children:e.jsx(Dr,{config:B,className:"h-[250px] sm:h-[300px] w-full aspect-auto",children:e.jsxs(uf,{data:P,children:[e.jsx(Xc,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),e.jsx(Kc,{dataKey:"timestamp",tickFormatter:Y=>A(Y),angle:-45,textAnchor:"end",height:60,stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),e.jsx(Ii,{stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),e.jsx(Qi,{content:e.jsx(Or,{labelFormatter:Y=>A(Y)})}),e.jsx(Qc,{dataKey:"tokens",fill:"var(--color-tokens)"})]})})})]})]})]}),e.jsx(Vt,{value:"models",className:"space-y-4",children:e.jsxs("div",{className:"grid gap-4 grid-cols-1 lg:grid-cols-2",children:[e.jsxs(Ue,{children:[e.jsxs(ot,{children:[e.jsx(ct,{children:"模型请求分布"}),e.jsx(us,{children:"各模型使用占比"})]}),e.jsx(gt,{children:e.jsx(Dr,{config:Object.fromEntries(T.slice(0,6).map((Y,G)=>[Y.model_name,{label:Y.model_name,color:`hsl(var(--chart-${G%5+1}))`}])),className:"h-[300px] sm:h-[400px] w-full aspect-auto",children:e.jsxs(d2,{children:[e.jsx(Qi,{content:e.jsx(Or,{})}),e.jsx(u2,{data:E,cx:"50%",cy:"50%",labelLine:!1,label:({name:Y,percent:G})=>`${Y} ${G?(G*100).toFixed(0):0}%`,outerRadius:100,dataKey:"value",children:E.map((Y,G)=>e.jsx(m2,{fill:Y.fill},`cell-${G}`))})]})})})]}),e.jsxs(Ue,{children:[e.jsxs(ot,{children:[e.jsx(ct,{children:"模型详细统计"}),e.jsx(us,{children:"请求数、花费和性能"})]}),e.jsx(gt,{children:e.jsx(Ct,{className:"h-[300px] sm:h-[400px]",children:e.jsx("div",{className:"space-y-3",children:T.map((Y,G)=>e.jsxs("div",{className:"p-4 rounded-lg border bg-card hover:bg-accent/50 transition-colors",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("h4",{className:"font-semibold text-sm truncate flex-1 min-w-0",children:Y.model_name}),e.jsx("div",{className:"w-3 h-3 rounded-full ml-2 flex-shrink-0",style:{backgroundColor:`hsl(var(--chart-${G%5+1}))`}})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"请求数:"}),e.jsx("span",{className:"ml-1 font-medium",children:Y.request_count.toLocaleString()})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"花费:"}),e.jsxs("span",{className:"ml-1 font-medium",children:["¥",Y.total_cost.toFixed(2)]})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Tokens:"}),e.jsxs("span",{className:"ml-1 font-medium",children:[(Y.total_tokens/1e3).toFixed(1),"K"]})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"平均耗时:"}),e.jsxs("span",{className:"ml-1 font-medium",children:[Y.avg_response_time.toFixed(2),"s"]})]})]})]},G))})})})]})]})}),e.jsx(Vt,{value:"activity",children:e.jsxs(Ue,{children:[e.jsxs(ot,{children:[e.jsx(ct,{children:"最近活动"}),e.jsx(us,{children:"最新的API调用记录"})]}),e.jsx(gt,{children:e.jsx(Ct,{className:"h-[400px] sm:h-[500px]",children:e.jsx("div",{className:"space-y-2",children:k.map((Y,G)=>e.jsxs("div",{className:"p-3 sm:p-4 rounded-lg border bg-card hover:bg-accent/50 transition-colors",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-2 mb-2",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"font-medium text-sm truncate",children:Y.model}),e.jsx("div",{className:"text-xs text-muted-foreground",children:Y.request_type})]}),e.jsx("div",{className:"text-xs text-muted-foreground flex-shrink-0",children:A(Y.timestamp)})]}),e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-2 text-xs",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Tokens:"}),e.jsx("span",{className:"ml-1",children:Y.tokens})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"花费:"}),e.jsxs("span",{className:"ml-1",children:["¥",Y.cost.toFixed(4)]})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"耗时:"}),e.jsxs("span",{className:"ml-1",children:[Y.time_cost.toFixed(2),"s"]})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"状态:"}),e.jsx("span",{className:`ml-1 ${Y.status==="success"?"text-green-600":"text-red-600"}`,children:Y.status})]})]})]},G))})})})]})}),e.jsx(Vt,{value:"daily",children:e.jsxs(Ue,{children:[e.jsxs(ot,{children:[e.jsx(ct,{children:"每日统计"}),e.jsx(us,{children:"最近7天的数据汇总"})]}),e.jsx(gt,{children:e.jsx(Dr,{config:{requests:{label:"请求数",color:"hsl(var(--chart-1))"},cost:{label:"花费(¥)",color:"hsl(var(--chart-2))"}},className:"h-[400px] sm:h-[500px] w-full aspect-auto",children:e.jsxs(uf,{data:M,children:[e.jsx(Xc,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),e.jsx(Kc,{dataKey:"timestamp",tickFormatter:Y=>{const G=new Date(Y);return`${G.getMonth()+1}/${G.getDate()}`},stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),e.jsx(Ii,{yAxisId:"left",stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),e.jsx(Ii,{yAxisId:"right",orientation:"right",stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),e.jsx(Qi,{content:e.jsx(Or,{labelFormatter:Y=>new Date(Y).toLocaleDateString("zh-CN")})}),e.jsx(sE,{content:e.jsx(l0,{})}),e.jsx(Qc,{yAxisId:"left",dataKey:"requests",fill:"var(--color-requests)"}),e.jsx(Qc,{yAxisId:"right",dataKey:"cost",fill:"var(--color-cost)"})]})})})]})})]}),e.jsxs(Ue,{className:"border-2 border-primary/20",children:[e.jsx(ot,{className:"pb-3",children:e.jsx(ct,{className:"text-lg",children:"每日一言"})}),e.jsx(gt,{children:b?e.jsxs("div",{className:"space-y-2",children:[e.jsx(Ej,{className:"h-6 w-3/4"}),e.jsx(Ej,{className:"h-4 w-1/4"})]}):g?e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{className:"text-lg font-medium leading-relaxed italic",children:['"',g.hitokoto,'"']}),e.jsxs("p",{className:"text-sm text-muted-foreground text-right",children:["—— ",g.from]})]}):null})]})]})})}const aE={theme:"system",setTheme:()=>null},r0=x.createContext(aE),Oh=()=>{const s=x.useContext(r0);if(s===void 0)throw new Error("useTheme must be used within a ThemeProvider");return s},lE=(s,a,l)=>{const i=document.documentElement.classList.contains("no-animations");if(!document.startViewTransition||i){a(s);return}const c=l.clientX,d=l.clientY,m=Math.hypot(Math.max(c,innerWidth-c),Math.max(d,innerHeight-d));document.startViewTransition(()=>{a(s)}).ready.then(()=>{document.documentElement.animate({clipPath:[`circle(0px at ${c}px ${d}px)`,`circle(${m}px at ${c}px ${d}px)`]},{duration:500,easing:"ease-in-out",pseudoElement:"::view-transition-new(root)"})})},i0=x.createContext(void 0),o0=()=>{const s=x.useContext(i0);if(s===void 0)throw new Error("useAnimation must be used within an AnimationProvider");return s};var Hd="Switch",[rE]=Dn(Hd),[iE,oE]=rE(Hd),c0=x.forwardRef((s,a)=>{const{__scopeSwitch:l,name:i,checked:c,defaultChecked:d,required:m,disabled:h,value:p="on",onCheckedChange:v,form:g,...j}=s,[b,w]=x.useState(null),S=Tt(a,M=>w(M)),C=x.useRef(!1),N=b?g||!!b.closest("form"):!0,[T,P]=Qa({prop:c,defaultProp:d??!1,onChange:v,caller:Hd});return e.jsxs(iE,{scope:l,checked:T,disabled:h,children:[e.jsx(dt.button,{type:"button",role:"switch","aria-checked":T,"aria-required":m,"data-state":f0(T),"data-disabled":h?"":void 0,disabled:h,value:p,...j,ref:S,onClick:be(s.onClick,M=>{P(k=>!k),N&&(C.current=M.isPropagationStopped(),C.current||M.stopPropagation())})}),N&&e.jsx(m0,{control:b,bubbles:!C.current,name:i,value:p,checked:T,required:m,disabled:h,form:g,style:{transform:"translateX(-100%)"}})]})});c0.displayName=Hd;var d0="SwitchThumb",u0=x.forwardRef((s,a)=>{const{__scopeSwitch:l,...i}=s,c=oE(d0,l);return e.jsx(dt.span,{"data-state":f0(c.checked),"data-disabled":c.disabled?"":void 0,...i,ref:a})});u0.displayName=d0;var cE="SwitchBubbleInput",m0=x.forwardRef(({__scopeSwitch:s,control:a,checked:l,bubbles:i=!0,...c},d)=>{const m=x.useRef(null),h=Tt(m,d),p=cy(l),v=dy(a);return x.useEffect(()=>{const g=m.current;if(!g)return;const j=window.HTMLInputElement.prototype,w=Object.getOwnPropertyDescriptor(j,"checked").set;if(p!==l&&w){const S=new Event("click",{bubbles:i});w.call(g,l),g.dispatchEvent(S)}},[p,l,i]),e.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:l,...c,tabIndex:-1,ref:h,style:{...c.style,...v,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});m0.displayName=cE;function f0(s){return s?"checked":"unchecked"}var h0=c0,dE=u0;const Ze=x.forwardRef(({className:s,...a},l)=>e.jsx(h0,{className:Z("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",s),...a,ref:l,children:e.jsx(dE,{className:Z("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));Ze.displayName=h0.displayName;const uE=Jr("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),U=x.forwardRef(({className:s,...a},l)=>e.jsx(uy,{ref:l,className:Z(uE(),s),...a}));U.displayName=uy.displayName;const pe=x.forwardRef(({className:s,type:a,...l},i)=>e.jsx("input",{type:a,className:Z("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",s),ref:i,...l}));pe.displayName="Input";const mE=1,fE=1e6;let bf=0;function hE(){return bf=(bf+1)%Number.MAX_SAFE_INTEGER,bf.toString()}const Nf=new Map,Rj=s=>{if(Nf.has(s))return;const a=setTimeout(()=>{Nf.delete(s),no({type:"REMOVE_TOAST",toastId:s})},fE);Nf.set(s,a)},xE=(s,a)=>{switch(a.type){case"ADD_TOAST":return{...s,toasts:[a.toast,...s.toasts].slice(0,mE)};case"UPDATE_TOAST":return{...s,toasts:s.toasts.map(l=>l.id===a.toast.id?{...l,...a.toast}:l)};case"DISMISS_TOAST":{const{toastId:l}=a;return l?Rj(l):s.toasts.forEach(i=>{Rj(i.id)}),{...s,toasts:s.toasts.map(i=>i.id===l||l===void 0?{...i,open:!1}:i)}}case"REMOVE_TOAST":return a.toastId===void 0?{...s,toasts:[]}:{...s,toasts:s.toasts.filter(l=>l.id!==a.toastId)}}},dd=[];let ud={toasts:[]};function no(s){ud=xE(ud,s),dd.forEach(a=>{a(ud)})}function pE({...s}){const a=hE(),l=c=>no({type:"UPDATE_TOAST",toast:{...c,id:a}}),i=()=>no({type:"DISMISS_TOAST",toastId:a});return no({type:"ADD_TOAST",toast:{...s,id:a,open:!0,onOpenChange:c=>{c||i()}}}),{id:a,dismiss:i,update:l}}function Es(){const[s,a]=x.useState(ud);return x.useEffect(()=>(dd.push(a),()=>{const l=dd.indexOf(a);l>-1&&dd.splice(l,1)}),[s]),{...s,toast:pE,dismiss:l=>no({type:"DISMISS_TOAST",toastId:l})}}const gE=[{id:"minLength",label:"长度至少 10 位",description:"Token 长度必须大于等于 10 个字符",validate:s=>s.length>=10},{id:"hasUppercase",label:"包含大写字母",description:"至少包含一个大写字母 (A-Z)",validate:s=>/[A-Z]/.test(s)},{id:"hasLowercase",label:"包含小写字母",description:"至少包含一个小写字母 (a-z)",validate:s=>/[a-z]/.test(s)},{id:"hasSpecialChar",label:"包含特殊符号",description:"至少包含一个特殊符号 (!@#$%^&*()_+-=[]{}|;:,.<>?/)",validate:s=>/[!@#$%^&*()_+\-=[\]{}|;:,.<>?/]/.test(s)}];function vE(s){const a=gE.map(i=>({id:i.id,label:i.label,description:i.description,passed:i.validate(s)}));return{isValid:a.every(i=>i.passed),rules:a}}const Ah="0.11.5 Beta",Rh="MaiBot Dashboard",jE=`${Rh} v${Ah}`,yE=(s="v")=>`${s}${Ah}`,bs=mh,x0=my,bE=oh,p0=x.forwardRef(({className:s,...a},l)=>e.jsx(Cd,{ref:l,className:Z("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",s),...a}));p0.displayName=Cd.displayName;const ms=x.forwardRef(({className:s,children:a,...l},i)=>e.jsxs(bE,{children:[e.jsx(p0,{}),e.jsxs(kd,{ref:i,className:Z("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",s),...l,children:[a,e.jsxs(ch,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[e.jsx(go,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));ms.displayName=kd.displayName;const fs=({className:s,...a})=>e.jsx("div",{className:Z("flex flex-col space-y-1.5 text-center sm:text-left",s),...a});fs.displayName="DialogHeader";const $s=({className:s,...a})=>e.jsx("div",{className:Z("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",s),...a});$s.displayName="DialogFooter";const hs=x.forwardRef(({className:s,...a},l)=>e.jsx(dh,{ref:l,className:Z("text-lg font-semibold leading-none tracking-tight",s),...a}));hs.displayName=dh.displayName;const ks=x.forwardRef(({className:s,...a},l)=>e.jsx(uh,{ref:l,className:Z("text-sm text-muted-foreground",s),...a}));ks.displayName=uh.displayName;var NE=Symbol("radix.slottable");function wE(s){const a=({children:l})=>e.jsx(e.Fragment,{children:l});return a.displayName=`${s}.Slottable`,a.__radixId=NE,a}var g0="AlertDialog",[SE]=Dn(g0,[fy]),ga=fy(),v0=s=>{const{__scopeAlertDialog:a,...l}=s,i=ga(a);return e.jsx(mh,{...i,...l,modal:!0})};v0.displayName=g0;var _E="AlertDialogTrigger",j0=x.forwardRef((s,a)=>{const{__scopeAlertDialog:l,...i}=s,c=ga(l);return e.jsx(my,{...c,...i,ref:a})});j0.displayName=_E;var CE="AlertDialogPortal",y0=s=>{const{__scopeAlertDialog:a,...l}=s,i=ga(a);return e.jsx(oh,{...i,...l})};y0.displayName=CE;var kE="AlertDialogOverlay",b0=x.forwardRef((s,a)=>{const{__scopeAlertDialog:l,...i}=s,c=ga(l);return e.jsx(Cd,{...c,...i,ref:a})});b0.displayName=kE;var Br="AlertDialogContent",[TE,EE]=SE(Br),ME=wE("AlertDialogContent"),N0=x.forwardRef((s,a)=>{const{__scopeAlertDialog:l,children:i,...c}=s,d=ga(l),m=x.useRef(null),h=Tt(a,m),p=x.useRef(null);return e.jsx(h2,{contentName:Br,titleName:w0,docsSlug:"alert-dialog",children:e.jsx(TE,{scope:l,cancelRef:p,children:e.jsxs(kd,{role:"alertdialog",...d,...c,ref:h,onOpenAutoFocus:be(c.onOpenAutoFocus,v=>{v.preventDefault(),p.current?.focus({preventScroll:!0})}),onPointerDownOutside:v=>v.preventDefault(),onInteractOutside:v=>v.preventDefault(),children:[e.jsx(ME,{children:i}),e.jsx(OE,{contentRef:m})]})})})});N0.displayName=Br;var w0="AlertDialogTitle",S0=x.forwardRef((s,a)=>{const{__scopeAlertDialog:l,...i}=s,c=ga(l);return e.jsx(dh,{...c,...i,ref:a})});S0.displayName=w0;var _0="AlertDialogDescription",C0=x.forwardRef((s,a)=>{const{__scopeAlertDialog:l,...i}=s,c=ga(l);return e.jsx(uh,{...c,...i,ref:a})});C0.displayName=_0;var DE="AlertDialogAction",k0=x.forwardRef((s,a)=>{const{__scopeAlertDialog:l,...i}=s,c=ga(l);return e.jsx(ch,{...c,...i,ref:a})});k0.displayName=DE;var T0="AlertDialogCancel",E0=x.forwardRef((s,a)=>{const{__scopeAlertDialog:l,...i}=s,{cancelRef:c}=EE(T0,l),d=ga(l),m=Tt(a,c);return e.jsx(ch,{...d,...i,ref:m})});E0.displayName=T0;var OE=({contentRef:s})=>{const a=`\`${Br}\` requires a description for the component to be accessible for screen reader users. + +You can add a description to the \`${Br}\` by passing a \`${_0}\` component as a child, which also benefits sighted users by adding visible context to the dialog. + +Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${Br}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component. + +For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return x.useEffect(()=>{document.getElementById(s.current?.getAttribute("aria-describedby"))||console.warn(a)},[a,s]),null},AE=v0,RE=j0,zE=y0,M0=b0,D0=N0,O0=k0,A0=E0,R0=S0,z0=C0;const Ft=AE,_s=RE,PE=zE,P0=x.forwardRef(({className:s,...a},l)=>e.jsx(M0,{className:Z("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",s),...a,ref:l}));P0.displayName=M0.displayName;const Ot=x.forwardRef(({className:s,...a},l)=>e.jsxs(PE,{children:[e.jsx(P0,{}),e.jsx(D0,{ref:l,className:Z("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",s),...a})]}));Ot.displayName=D0.displayName;const At=({className:s,...a})=>e.jsx("div",{className:Z("flex flex-col space-y-2 text-center sm:text-left",s),...a});At.displayName="AlertDialogHeader";const Rt=({className:s,...a})=>e.jsx("div",{className:Z("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",s),...a});Rt.displayName="AlertDialogFooter";const zt=x.forwardRef(({className:s,...a},l)=>e.jsx(R0,{ref:l,className:Z("text-lg font-semibold",s),...a}));zt.displayName=R0.displayName;const Pt=x.forwardRef(({className:s,...a},l)=>e.jsx(z0,{ref:l,className:Z("text-sm text-muted-foreground",s),...a}));Pt.displayName=z0.displayName;const Lt=x.forwardRef(({className:s,...a},l)=>e.jsx(O0,{ref:l,className:Z(io(),s),...a}));Lt.displayName=O0.displayName;const Bt=x.forwardRef(({className:s,...a},l)=>e.jsx(A0,{ref:l,className:Z(io({variant:"outline"}),"mt-2 sm:mt-0",s),...a}));Bt.displayName=A0.displayName;function LE(){return e.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[e.jsx("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"系统设置"}),e.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理您的应用偏好设置"})]})}),e.jsxs(Ml,{defaultValue:"appearance",className:"w-full",children:[e.jsxs($a,{className:"grid w-full grid-cols-2 sm:grid-cols-4 gap-0.5 sm:gap-1 h-auto p-1",children:[e.jsxs(bt,{value:"appearance",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[e.jsx(Ty,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),e.jsx("span",{children:"外观"})]}),e.jsxs(bt,{value:"security",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[e.jsx(M2,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),e.jsx("span",{children:"安全"})]}),e.jsxs(bt,{value:"other",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[e.jsx(Tn,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),e.jsx("span",{children:"其他"})]}),e.jsxs(bt,{value:"about",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[e.jsx(Fr,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),e.jsx("span",{children:"关于"})]})]}),e.jsxs(Ct,{className:"h-[calc(100vh-240px)] sm:h-[calc(100vh-280px)] mt-4 sm:mt-6",children:[e.jsx(Vt,{value:"appearance",className:"mt-0",children:e.jsx(BE,{})}),e.jsx(Vt,{value:"security",className:"mt-0",children:e.jsx(UE,{})}),e.jsx(Vt,{value:"other",className:"mt-0",children:e.jsx(HE,{})}),e.jsx(Vt,{value:"about",className:"mt-0",children:e.jsx(FE,{})})]})]})]})}function zj(s){const a=document.documentElement,i={blue:{hsl:"221.2 83.2% 53.3%",darkHsl:"217.2 91.2% 59.8%",gradient:null},purple:{hsl:"271 91% 65%",darkHsl:"270 95% 75%",gradient:null},green:{hsl:"142 71% 45%",darkHsl:"142 76% 36%",gradient:null},orange:{hsl:"25 95% 53%",darkHsl:"20 90% 48%",gradient:null},pink:{hsl:"330 81% 60%",darkHsl:"330 85% 70%",gradient:null},red:{hsl:"0 84% 60%",darkHsl:"0 90% 70%",gradient:null},"gradient-sunset":{hsl:"15 95% 60%",darkHsl:"15 95% 65%",gradient:"linear-gradient(135deg, hsl(25 95% 53%) 0%, hsl(330 81% 60%) 100%)"},"gradient-ocean":{hsl:"200 90% 55%",darkHsl:"200 90% 60%",gradient:"linear-gradient(135deg, hsl(221.2 83.2% 53.3%) 0%, hsl(189 94% 43%) 100%)"},"gradient-forest":{hsl:"150 70% 45%",darkHsl:"150 75% 40%",gradient:"linear-gradient(135deg, hsl(142 71% 45%) 0%, hsl(158 64% 52%) 100%)"},"gradient-aurora":{hsl:"310 85% 65%",darkHsl:"310 90% 70%",gradient:"linear-gradient(135deg, hsl(271 91% 65%) 0%, hsl(330 81% 60%) 100%)"},"gradient-fire":{hsl:"15 95% 55%",darkHsl:"15 95% 60%",gradient:"linear-gradient(135deg, hsl(0 84% 60%) 0%, hsl(25 95% 53%) 100%)"},"gradient-twilight":{hsl:"250 90% 60%",darkHsl:"250 95% 65%",gradient:"linear-gradient(135deg, hsl(239 84% 67%) 0%, hsl(271 91% 65%) 100%)"}}[s];if(i)a.style.setProperty("--primary",i.hsl),i.gradient?(a.style.setProperty("--primary-gradient",i.gradient),a.classList.add("has-gradient")):(a.style.removeProperty("--primary-gradient"),a.classList.remove("has-gradient"));else if(s.startsWith("#")){const c=d=>{d=d.replace("#","");const m=parseInt(d.substring(0,2),16)/255,h=parseInt(d.substring(2,4),16)/255,p=parseInt(d.substring(4,6),16)/255,v=Math.max(m,h,p),g=Math.min(m,h,p);let j=0,b=0;const w=(v+g)/2;if(v!==g){const S=v-g;switch(b=w>.5?S/(2-v-g):S/(v+g),v){case m:j=((h-p)/S+(hlocalStorage.getItem("accent-color")||"blue");x.useEffect(()=>{const v=localStorage.getItem("accent-color")||"blue";zj(v)},[]);const p=v=>{h(v),localStorage.setItem("accent-color",v),zj(v)};return e.jsxs("div",{className:"space-y-6 sm:space-y-8",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"主题模式"}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3 sm:gap-4",children:[e.jsx(wf,{value:"light",current:s,onChange:a,label:"浅色",description:"始终使用浅色主题"}),e.jsx(wf,{value:"dark",current:s,onChange:a,label:"深色",description:"始终使用深色主题"}),e.jsx(wf,{value:"system",current:s,onChange:a,label:"跟随系统",description:"根据系统设置自动切换"})]})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"主题色"}),e.jsxs("div",{className:"space-y-3 sm:space-y-4",children:[e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs sm:text-sm font-medium mb-2 sm:mb-3",children:"单色"}),e.jsxs("div",{className:"grid grid-cols-3 sm:grid-cols-6 gap-2 sm:gap-3",children:[e.jsx(vn,{value:"blue",current:m,onChange:p,label:"蓝色",colorClass:"bg-blue-500"}),e.jsx(vn,{value:"purple",current:m,onChange:p,label:"紫色",colorClass:"bg-purple-500"}),e.jsx(vn,{value:"green",current:m,onChange:p,label:"绿色",colorClass:"bg-green-500"}),e.jsx(vn,{value:"orange",current:m,onChange:p,label:"橙色",colorClass:"bg-orange-500"}),e.jsx(vn,{value:"pink",current:m,onChange:p,label:"粉色",colorClass:"bg-pink-500"}),e.jsx(vn,{value:"red",current:m,onChange:p,label:"红色",colorClass:"bg-red-500"})]})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs sm:text-sm font-medium mb-2 sm:mb-3",children:"渐变色"}),e.jsxs("div",{className:"grid grid-cols-3 sm:grid-cols-6 gap-2 sm:gap-3",children:[e.jsx(vn,{value:"gradient-sunset",current:m,onChange:p,label:"日落",colorClass:"bg-gradient-to-r from-orange-500 to-pink-500"}),e.jsx(vn,{value:"gradient-ocean",current:m,onChange:p,label:"海洋",colorClass:"bg-gradient-to-r from-blue-500 to-cyan-500"}),e.jsx(vn,{value:"gradient-forest",current:m,onChange:p,label:"森林",colorClass:"bg-gradient-to-r from-green-500 to-emerald-500"}),e.jsx(vn,{value:"gradient-aurora",current:m,onChange:p,label:"极光",colorClass:"bg-gradient-to-r from-purple-500 to-pink-500"}),e.jsx(vn,{value:"gradient-fire",current:m,onChange:p,label:"烈焰",colorClass:"bg-gradient-to-r from-red-500 to-orange-500"}),e.jsx(vn,{value:"gradient-twilight",current:m,onChange:p,label:"暮光",colorClass:"bg-gradient-to-r from-indigo-500 to-purple-500"})]})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs sm:text-sm font-medium mb-2 sm:mb-3",children:"自定义颜色"}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 sm:gap-4",children:[e.jsx("div",{className:"flex-1",children:e.jsx("input",{type:"color",value:m.startsWith("#")?m:"#3b82f6",onChange:v=>p(v.target.value),className:"h-10 sm:h-12 w-full rounded-lg border-2 border-border cursor-pointer",title:"选择自定义颜色"})}),e.jsx("div",{className:"flex-1",children:e.jsx(pe,{type:"text",value:m,onChange:v=>p(v.target.value),placeholder:"#3b82f6",className:"font-mono text-sm"})})]}),e.jsx("p",{className:"text-[10px] sm:text-xs text-muted-foreground mt-2",children:"点击色块选择颜色,或手动输入 HEX 颜色代码"})]})]})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"动画效果"}),e.jsxs("div",{className:"space-y-2 sm:space-y-3",children:[e.jsx("div",{className:"rounded-lg border bg-card p-3 sm:p-4",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5 flex-1",children:[e.jsx(U,{htmlFor:"animations",className:"text-base font-medium cursor-pointer",children:"启用动画效果"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"关闭后将禁用所有过渡动画和特效,提升性能"})]}),e.jsx(Ze,{id:"animations",checked:l,onCheckedChange:i})]})}),e.jsx("div",{className:"rounded-lg border bg-card p-4",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5 flex-1",children:[e.jsx(U,{htmlFor:"waves-background",className:"text-base font-medium cursor-pointer",children:"登录页波浪背景"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"关闭后登录页将使用纯色背景,适合低性能设备"})]}),e.jsx(Ze,{id:"waves-background",checked:c,onCheckedChange:d})]})})]})]})]})}function UE(){const s=qn(),[a,l]=x.useState(""),[i,c]=x.useState(""),[d,m]=x.useState(!1),[h,p]=x.useState(!1),[v,g]=x.useState(!1),[j,b]=x.useState(!1),[w,S]=x.useState(!1),[C,N]=x.useState(!1),[T,P]=x.useState(""),[M,k]=x.useState(!1),{toast:D}=Es(),A=x.useMemo(()=>vE(i),[i]),E=()=>localStorage.getItem("access-token")||"",B=async ae=>{try{await navigator.clipboard.writeText(ae),S(!0),D({title:"复制成功",description:"Token 已复制到剪贴板"}),setTimeout(()=>S(!1),2e3)}catch{D({title:"复制失败",description:"请手动复制 Token",variant:"destructive"})}},Y=async()=>{if(!i.trim()){D({title:"输入错误",description:"请输入新的 Token",variant:"destructive"});return}if(!A.isValid){const ae=A.rules.filter(me=>!me.passed).map(me=>me.label).join(", ");D({title:"格式错误",description:`Token 不符合要求: ${ae}`,variant:"destructive"});return}g(!0);try{const ae=E(),me=await fetch("/api/webui/auth/update",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${ae}`},body:JSON.stringify({new_token:i.trim()})}),R=await me.json();me.ok&&R.success?(localStorage.setItem("access-token",i.trim()),c(""),a&&l(i.trim()),D({title:"更新成功",description:"Access Token 已更新,即将跳转到登录页"}),setTimeout(()=>{localStorage.removeItem("access-token"),s({to:"/auth"})},1500)):D({title:"更新失败",description:R.message||"无法更新 Token",variant:"destructive"})}catch(ae){console.error("更新 Token 错误:",ae),D({title:"更新失败",description:"连接服务器失败",variant:"destructive"})}finally{g(!1)}},G=async()=>{b(!0);try{const ae=E(),me=await fetch("/api/webui/auth/regenerate",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${ae}`}}),R=await me.json();me.ok&&R.success?(localStorage.setItem("access-token",R.token),l(R.token),P(R.token),N(!0),k(!1),D({title:"生成成功",description:"新的 Access Token 已生成,请及时保存"})):D({title:"生成失败",description:R.message||"无法生成新 Token",variant:"destructive"})}catch(ae){console.error("生成 Token 错误:",ae),D({title:"生成失败",description:"连接服务器失败",variant:"destructive"})}finally{b(!1)}},$=async()=>{try{await navigator.clipboard.writeText(T),k(!0),D({title:"复制成功",description:"Token 已复制到剪贴板"})}catch{D({title:"复制失败",description:"请手动复制 Token",variant:"destructive"})}},oe=()=>{N(!1),setTimeout(()=>{P(""),k(!1)},300),setTimeout(()=>{localStorage.removeItem("access-token"),s({to:"/auth"})},500)},je=ae=>{ae||oe()};return e.jsxs("div",{className:"space-y-4 sm:space-y-6",children:[e.jsx(bs,{open:C,onOpenChange:je,children:e.jsxs(ms,{className:"sm:max-w-md",children:[e.jsxs(fs,{children:[e.jsxs(hs,{className:"flex items-center gap-2",children:[e.jsx(Lr,{className:"h-5 w-5 text-yellow-500"}),"新的 Access Token"]}),e.jsx(ks,{children:"这是您的新 Token,请立即保存。关闭此窗口后将跳转到登录页面。"})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"rounded-lg border-2 border-primary/20 bg-primary/5 p-4",children:[e.jsx(U,{className:"text-xs text-muted-foreground mb-2 block",children:"您的新 Token (64位安全令牌)"}),e.jsx("div",{className:"font-mono text-sm break-all select-all bg-background p-3 rounded border",children:T})]}),e.jsx("div",{className:"rounded-lg border border-yellow-200 dark:border-yellow-900 bg-yellow-50 dark:bg-yellow-950/30 p-3",children:e.jsxs("div",{className:"flex gap-2",children:[e.jsx(Lr,{className:"h-4 w-4 text-yellow-600 dark:text-yellow-500 flex-shrink-0 mt-0.5"}),e.jsxs("div",{className:"text-sm text-yellow-800 dark:text-yellow-300 space-y-1",children:[e.jsx("p",{className:"font-semibold",children:"重要提示"}),e.jsxs("ul",{className:"list-disc list-inside space-y-0.5 text-xs",children:[e.jsx("li",{children:"此 Token 仅显示一次,关闭后无法再查看"}),e.jsx("li",{children:"请立即复制并保存到安全的位置"}),e.jsx("li",{children:"关闭窗口后将自动跳转到登录页面"}),e.jsx("li",{children:"请使用新 Token 重新登录系统"})]})]})]})})]}),e.jsxs($s,{className:"gap-2 sm:gap-0",children:[e.jsx(q,{variant:"outline",onClick:$,className:"gap-2",children:M?e.jsxs(e.Fragment,{children:[e.jsx(Cl,{className:"h-4 w-4 text-green-500"}),"已复制"]}):e.jsxs(e.Fragment,{children:[e.jsx(Df,{className:"h-4 w-4"}),"复制 Token"]})}),e.jsx(q,{onClick:oe,children:"我已保存,关闭"})]})]})}),e.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[e.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"当前 Access Token"}),e.jsx("div",{className:"space-y-3 sm:space-y-4",children:e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"current-token",className:"text-sm",children:"您的访问令牌"}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(pe,{id:"current-token",type:d?"text":"password",value:a||E(),readOnly:!0,className:"pr-10 font-mono text-sm",placeholder:"点击查看按钮显示 Token"}),e.jsx("button",{onClick:()=>{a||l(E()),m(!d)},className:"absolute right-2 top-1/2 -translate-y-1/2 p-1.5 hover:bg-accent rounded",title:d?"隐藏":"显示",children:d?e.jsx(Of,{className:"h-4 w-4 text-muted-foreground"}):e.jsx(Mn,{className:"h-4 w-4 text-muted-foreground"})})]}),e.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[e.jsx(q,{variant:"outline",size:"icon",onClick:()=>B(E()),title:"复制到剪贴板",className:"flex-shrink-0",children:w?e.jsx(Cl,{className:"h-4 w-4 text-green-500"}):e.jsx(Df,{className:"h-4 w-4"})}),e.jsxs(Ft,{children:[e.jsx(_s,{asChild:!0,children:e.jsxs(q,{variant:"outline",disabled:j,className:"gap-2 flex-1 sm:flex-none",children:[e.jsx(xa,{className:Z("h-4 w-4",j&&"animate-spin")}),e.jsx("span",{className:"hidden sm:inline",children:"重新生成"}),e.jsx("span",{className:"sm:hidden",children:"生成"})]})}),e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认重新生成 Token"}),e.jsx(Pt,{children:"这将生成一个新的 64 位安全令牌,并使当前 Token 立即失效。 您需要使用新 Token 重新登录系统。此操作不可撤销,确定要继续吗?"})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:G,children:"确认生成"})]})]})]})]})]}),e.jsx("p",{className:"text-[10px] sm:text-xs text-muted-foreground",children:"请妥善保管您的 Access Token,不要泄露给他人"})]})})]}),e.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[e.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"自定义 Access Token"}),e.jsxs("div",{className:"space-y-3 sm:space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"new-token",className:"text-sm",children:"新的访问令牌"}),e.jsxs("div",{className:"relative",children:[e.jsx(pe,{id:"new-token",type:h?"text":"password",value:i,onChange:ae=>c(ae.target.value),className:"pr-10 font-mono text-sm",placeholder:"输入自定义 Token"}),e.jsx("button",{onClick:()=>p(!h),className:"absolute right-2 top-1/2 -translate-y-1/2 p-1.5 hover:bg-accent rounded",title:h?"隐藏":"显示",children:h?e.jsx(Of,{className:"h-4 w-4 text-muted-foreground"}):e.jsx(Mn,{className:"h-4 w-4 text-muted-foreground"})})]}),i&&e.jsxs("div",{className:"mt-3 space-y-2 p-3 rounded-lg bg-muted/50",children:[e.jsx("p",{className:"text-sm font-medium text-foreground",children:"Token 安全要求:"}),e.jsx("div",{className:"space-y-1.5",children:A.rules.map(ae=>e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[ae.passed?e.jsx(Ys,{className:"h-4 w-4 text-green-500 flex-shrink-0"}):e.jsx(Af,{className:"h-4 w-4 text-muted-foreground flex-shrink-0"}),e.jsx("span",{className:Z(ae.passed?"text-green-600 dark:text-green-400":"text-muted-foreground"),children:ae.label})]},ae.id))}),A.isValid&&e.jsx("div",{className:"mt-2 pt-2 border-t border-border",children:e.jsxs("div",{className:"flex items-center gap-2 text-sm text-green-600 dark:text-green-400",children:[e.jsx(Cl,{className:"h-4 w-4"}),e.jsx("span",{className:"font-medium",children:"Token 格式正确,可以使用"})]})})]})]}),e.jsx(q,{onClick:Y,disabled:v||!A.isValid||!i,className:"w-full sm:w-auto",children:v?"更新中...":"更新自定义 Token"})]})]}),e.jsxs("div",{className:"rounded-lg border border-yellow-200 dark:border-yellow-900 bg-yellow-50 dark:bg-yellow-950/30 p-3 sm:p-4",children:[e.jsx("h4",{className:"text-sm sm:text-base font-semibold text-yellow-900 dark:text-yellow-200 mb-2",children:"安全提示"}),e.jsxs("ul",{className:"text-xs sm:text-sm text-yellow-800 dark:text-yellow-300 space-y-1 list-disc list-inside",children:[e.jsx("li",{children:"重新生成 Token 会创建系统随机生成的 64 位安全令牌"}),e.jsx("li",{children:"自定义 Token 必须满足所有安全要求才能使用"}),e.jsx("li",{children:"更新 Token 后,旧的 Token 将立即失效"}),e.jsx("li",{children:"请在安全的环境下查看和复制 Token"}),e.jsx("li",{children:"如果怀疑 Token 泄露,请立即重新生成或更新"}),e.jsx("li",{children:"建议使用系统生成的 Token 以获得最高安全性"})]})]})]})}function HE(){const s=qn(),{toast:a}=Es(),[l,i]=x.useState(!1),c=async()=>{i(!0);try{const d=localStorage.getItem("access-token"),m=await fetch("/api/webui/setup/reset",{method:"POST",headers:{Authorization:`Bearer ${d}`}}),h=await m.json();m.ok&&h.success?(a({title:"重置成功",description:"即将进入初次配置向导"}),setTimeout(()=>{s({to:"/setup"})},1e3)):a({title:"重置失败",description:h.message||"无法重置配置状态",variant:"destructive"})}catch(d){console.error("重置配置状态错误:",d),a({title:"重置失败",description:"连接服务器失败",variant:"destructive"})}finally{i(!1)}};return e.jsx("div",{className:"space-y-4 sm:space-y-6",children:e.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[e.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"配置向导"}),e.jsxs("div",{className:"space-y-3 sm:space-y-4",children:[e.jsx("div",{className:"space-y-2",children:e.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"重新进行初次配置向导,可以帮助您重新设置系统的基础配置。"})}),e.jsxs(Ft,{children:[e.jsx(_s,{asChild:!0,children:e.jsxs(q,{variant:"outline",disabled:l,className:"gap-2",children:[e.jsx(D2,{className:Z("h-4 w-4",l&&"animate-spin")}),"重新进行初次配置"]})}),e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认重新配置"}),e.jsx(Pt,{children:"这将带您重新进入初次配置向导。您可以重新设置系统的基础配置项。确定要继续吗?"})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:c,children:"确认重置"})]})]})]})]})]})})}function FE(){return e.jsxs("div",{className:"space-y-4 sm:space-y-6",children:[e.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[e.jsxs("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:["关于 ",Rh]}),e.jsxs("div",{className:"space-y-2 text-xs sm:text-sm text-muted-foreground",children:[e.jsxs("p",{children:["版本: ",Ah]}),e.jsx("p",{children:"麦麦(MaiBot)的现代化 Web 管理界面"})]})]}),e.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[e.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"作者"}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-sm font-medium",children:"MaiBot 核心"}),e.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"Mai-with-u"})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-sm font-medium",children:"WebUI"}),e.jsxs("p",{className:"text-xs sm:text-sm text-muted-foreground",children:["Mai-with-u ",e.jsx("a",{href:"https://github.com/DrSmoothl",target:"_blank",rel:"noopener noreferrer",className:"text-primary underline",children:"@MotricSeven"})]})]})]})]}),e.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[e.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"技术栈"}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 text-xs sm:text-sm text-muted-foreground",children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("p",{className:"font-medium text-foreground",children:"前端框架"}),e.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[e.jsx("li",{children:"React 19.2.0"}),e.jsx("li",{children:"TypeScript 5.7.2"}),e.jsx("li",{children:"Vite 6.0.7"}),e.jsx("li",{children:"TanStack Router 1.94.2"})]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("p",{className:"font-medium text-foreground",children:"UI 组件"}),e.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[e.jsx("li",{children:"shadcn/ui"}),e.jsx("li",{children:"Radix UI"}),e.jsx("li",{children:"Tailwind CSS 3.4.17"}),e.jsx("li",{children:"Lucide Icons"})]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("p",{className:"font-medium text-foreground",children:"后端"}),e.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[e.jsx("li",{children:"Python 3.12+"}),e.jsx("li",{children:"FastAPI"}),e.jsx("li",{children:"Uvicorn"}),e.jsx("li",{children:"WebSocket"})]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("p",{className:"font-medium text-foreground",children:"构建工具"}),e.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[e.jsx("li",{children:"Bun / npm"}),e.jsx("li",{children:"ESLint 9.17.0"}),e.jsx("li",{children:"PostCSS"})]})]})]})]}),e.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[e.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"开源库感谢"}),e.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground mb-3",children:"本项目使用了以下优秀的开源库,感谢他们的贡献:"}),e.jsx(Ct,{className:"h-[300px] sm:h-[400px]",children:e.jsxs("div",{className:"space-y-4 pr-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-sm font-medium text-foreground",children:"UI 框架与组件"}),e.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[e.jsx(qt,{name:"React",description:"用户界面构建库",license:"MIT"}),e.jsx(qt,{name:"shadcn/ui",description:"优雅的 React 组件库",license:"MIT"}),e.jsx(qt,{name:"Radix UI",description:"无样式的可访问组件库",license:"MIT"}),e.jsx(qt,{name:"Tailwind CSS",description:"实用优先的 CSS 框架",license:"MIT"}),e.jsx(qt,{name:"Lucide React",description:"精美的图标库",license:"ISC"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-sm font-medium text-foreground",children:"路由与状态管理"}),e.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[e.jsx(qt,{name:"TanStack Router",description:"类型安全的路由库",license:"MIT"}),e.jsx(qt,{name:"Zustand",description:"轻量级状态管理",license:"MIT"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-sm font-medium text-foreground",children:"表单处理"}),e.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[e.jsx(qt,{name:"React Hook Form",description:"高性能表单库",license:"MIT"}),e.jsx(qt,{name:"Zod",description:"TypeScript 优先的 schema 验证",license:"MIT"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-sm font-medium text-foreground",children:"工具库"}),e.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[e.jsx(qt,{name:"clsx",description:"条件 className 构建工具",license:"MIT"}),e.jsx(qt,{name:"tailwind-merge",description:"Tailwind 类名合并工具",license:"MIT"}),e.jsx(qt,{name:"class-variance-authority",description:"组件变体管理",license:"Apache-2.0"}),e.jsx(qt,{name:"date-fns",description:"现代化日期处理库",license:"MIT"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-sm font-medium text-foreground",children:"动画效果"}),e.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[e.jsx(qt,{name:"Framer Motion",description:"React 动画库",license:"MIT"}),e.jsx(qt,{name:"vaul",description:"抽屉组件动画",license:"MIT"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-sm font-medium text-foreground",children:"后端框架"}),e.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[e.jsx(qt,{name:"FastAPI",description:"现代化 Python Web 框架",license:"MIT"}),e.jsx(qt,{name:"Uvicorn",description:"ASGI 服务器",license:"BSD-3-Clause"}),e.jsx(qt,{name:"Pydantic",description:"数据验证库",license:"MIT"}),e.jsx(qt,{name:"python-multipart",description:"文件上传支持",license:"Apache-2.0"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-sm font-medium text-foreground",children:"开发工具"}),e.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[e.jsx(qt,{name:"TypeScript",description:"JavaScript 的超集",license:"Apache-2.0"}),e.jsx(qt,{name:"Vite",description:"下一代前端构建工具",license:"MIT"}),e.jsx(qt,{name:"ESLint",description:"JavaScript 代码检查工具",license:"MIT"}),e.jsx(qt,{name:"PostCSS",description:"CSS 转换工具",license:"MIT"})]})]})]})})]}),e.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[e.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"开源许可"}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("div",{className:"rounded-lg bg-primary/5 border border-primary/20 p-3 sm:p-4",children:e.jsxs("div",{className:"flex items-start gap-2 sm:gap-3",children:[e.jsx("div",{className:"flex-shrink-0 mt-0.5",children:e.jsx("div",{className:"rounded-md bg-primary/10 px-2 py-1",children:e.jsx("span",{className:"text-xs sm:text-sm font-bold text-primary",children:"GPLv3"})})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-sm sm:text-base font-semibold text-foreground mb-1",children:"MaiBot WebUI"}),e.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"本项目采用 GNU General Public License v3.0 开源许可证。 您可以自由地使用、修改和分发本软件,但必须保持相同的开源许可。"})]})]})}),e.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"本项目依赖的所有开源库均遵循各自的开源许可证(MIT、Apache-2.0、BSD 等)。 感谢所有开源贡献者的无私奉献。"})]})]})]})}function qt({name:s,description:a,license:l}){return e.jsxs("div",{className:"flex items-start justify-between gap-2 rounded-lg border bg-muted/30 p-2.5 sm:p-3",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"font-medium text-foreground truncate",children:s}),e.jsx("p",{className:"text-muted-foreground text-xs mt-0.5",children:a})]}),e.jsx("span",{className:"inline-flex items-center rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-medium text-primary flex-shrink-0",children:l})]})}function wf({value:s,current:a,onChange:l,label:i,description:c}){const d=a===s;return e.jsxs("button",{onClick:()=>l(s),className:Z("relative rounded-lg border-2 p-3 sm:p-4 text-left transition-all","hover:border-primary/50 hover:bg-accent/50",d?"border-primary bg-accent":"border-border"),children:[d&&e.jsx("div",{className:"absolute top-2 right-2 sm:top-3 sm:right-3 h-2 w-2 rounded-full bg-primary"}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"text-sm sm:text-base font-medium",children:i}),e.jsx("div",{className:"text-[10px] sm:text-xs text-muted-foreground",children:c})]}),e.jsxs("div",{className:"mt-2 sm:mt-3 flex gap-1",children:[s==="light"&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-200"}),e.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-300"}),e.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-400"})]}),s==="dark"&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-700"}),e.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-800"}),e.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-900"})]}),s==="system"&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"h-2 w-2 rounded-full bg-gradient-to-r from-slate-200 to-slate-700"}),e.jsx("div",{className:"h-2 w-2 rounded-full bg-gradient-to-r from-slate-300 to-slate-800"}),e.jsx("div",{className:"h-2 w-2 rounded-full bg-gradient-to-r from-slate-400 to-slate-900"})]})]})]})}function vn({value:s,current:a,onChange:l,label:i,colorClass:c}){const d=a===s;return e.jsxs("button",{onClick:()=>l(s),className:Z("relative rounded-lg border-2 p-2 sm:p-3 text-left transition-all","hover:border-primary/50 hover:bg-accent/50",d?"border-primary bg-accent":"border-border"),children:[d&&e.jsx("div",{className:"absolute top-1.5 right-1.5 sm:top-2 sm:right-2 h-1.5 w-1.5 sm:h-2 sm:w-2 rounded-full bg-primary"}),e.jsxs("div",{className:"flex flex-col items-center gap-1.5 sm:gap-2",children:[e.jsx("div",{className:Z("h-8 w-8 sm:h-10 sm:w-10 rounded-full",c)}),e.jsx("div",{className:"text-[10px] sm:text-xs font-medium text-center",children:i})]})]})}class YE{grad3;p;perm;constructor(a=0){this.grad3=[[1,1,0],[-1,1,0],[1,-1,0],[-1,-1,0],[1,0,1],[-1,0,1],[1,0,-1],[-1,0,-1],[0,1,1],[0,-1,1],[0,1,-1],[0,-1,-1]],this.p=[];for(let l=0;l<256;l++)this.p[l]=Math.floor(Math.random()*256);this.perm=[];for(let l=0;l<512;l++)this.perm[l]=this.p[l&255]}dot(a,l,i){return a[0]*l+a[1]*i}mix(a,l,i){return(1-i)*a+i*l}fade(a){return a*a*a*(a*(a*6-15)+10)}perlin2(a,l){const i=Math.floor(a)&255,c=Math.floor(l)&255;a-=Math.floor(a),l-=Math.floor(l);const d=this.fade(a),m=this.fade(l),h=this.perm[i]+c,p=this.perm[h],v=this.perm[h+1],g=this.perm[i+1]+c,j=this.perm[g],b=this.perm[g+1];return this.mix(this.mix(this.dot(this.grad3[p%12],a,l),this.dot(this.grad3[j%12],a-1,l),d),this.mix(this.dot(this.grad3[v%12],a,l-1),this.dot(this.grad3[b%12],a-1,l-1),d),m)}}function qE(){const s=x.useRef(null),a=x.useRef(null),l=x.useRef(void 0),i=x.useRef({mouse:{x:-10,y:0,lx:0,ly:0,sx:0,sy:0,v:0,vs:0,a:0,set:!1},lines:[],paths:[],noise:new YE(Math.random()),bounding:null});return x.useEffect(()=>{const c=a.current,d=s.current;if(!c||!d)return;const m=i.current,h=()=>{const C=c.getBoundingClientRect();m.bounding=C,d.style.width=`${C.width}px`,d.style.height=`${C.height}px`},p=()=>{if(!m.bounding)return;const{width:C,height:N}=m.bounding;m.lines=[],m.paths.forEach(Y=>Y.remove()),m.paths=[];const T=10,P=32,M=C+200,k=N+30,D=Math.ceil(M/T),A=Math.ceil(k/P),E=(C-T*D)/2,B=(N-P*A)/2;for(let Y=0;Y<=D;Y++){const G=[];for(let oe=0;oe<=A;oe++){const je={x:E+T*Y,y:B+P*oe,wave:{x:0,y:0},cursor:{x:0,y:0,vx:0,vy:0}};G.push(je)}const $=document.createElementNS("http://www.w3.org/2000/svg","path");d.appendChild($),m.paths.push($),m.lines.push(G)}},v=C=>{const{lines:N,mouse:T,noise:P}=m;N.forEach(M=>{M.forEach(k=>{const D=P.perlin2((k.x+C*.0125)*.002,(k.y+C*.005)*.0015)*12;k.wave.x=Math.cos(D)*32,k.wave.y=Math.sin(D)*16;const A=k.x-T.sx,E=k.y-T.sy,B=Math.hypot(A,E),Y=Math.max(175,T.vs);if(B{const T={x:C.x+C.wave.x+(N?C.cursor.x:0),y:C.y+C.wave.y+(N?C.cursor.y:0)};return T.x=Math.round(T.x*10)/10,T.y=Math.round(T.y*10)/10,T},j=()=>{const{lines:C,paths:N}=m;C.forEach((T,P)=>{let M=g(T[0],!1),k=`M ${M.x} ${M.y}`;T.forEach((D,A)=>{const E=A===T.length-1;M=g(D,!E),k+=`L ${M.x} ${M.y}`}),N[P].setAttribute("d",k)})},b=C=>{const{mouse:N}=m;N.sx+=(N.x-N.sx)*.1,N.sy+=(N.y-N.sy)*.1;const T=N.x-N.lx,P=N.y-N.ly,M=Math.hypot(T,P);N.v=M,N.vs+=(M-N.vs)*.1,N.vs=Math.min(100,N.vs),N.lx=N.x,N.ly=N.y,N.a=Math.atan2(P,T),c&&(c.style.setProperty("--x",`${N.sx}px`),c.style.setProperty("--y",`${N.sy}px`)),v(C),j(),l.current=requestAnimationFrame(b)},w=C=>{if(!m.bounding)return;const{mouse:N}=m;N.x=C.pageX-m.bounding.left,N.y=C.pageY-m.bounding.top+window.scrollY,N.set||(N.sx=N.x,N.sy=N.y,N.lx=N.x,N.ly=N.y,N.set=!0)},S=()=>{h(),p()};return h(),p(),window.addEventListener("resize",S),window.addEventListener("mousemove",w),l.current=requestAnimationFrame(b),()=>{window.removeEventListener("resize",S),window.removeEventListener("mousemove",w),l.current&&cancelAnimationFrame(l.current)}},[]),e.jsxs("div",{ref:a,className:"waves-background",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",overflow:"hidden",pointerEvents:"none"},children:[e.jsx("div",{className:"waves-cursor",style:{position:"absolute",top:0,left:0,width:"0.5rem",height:"0.5rem",background:"hsl(var(--primary) / 0.3)",borderRadius:"50%",transform:"translate3d(calc(var(--x, -0.5rem) - 50%), calc(var(--y, 50%) - 50%), 0)",willChange:"transform",pointerEvents:"none"}}),e.jsx("svg",{ref:s,style:{display:"block",width:"100%",height:"100%"},children:e.jsx("style",{children:` + path { + fill: none; + stroke: hsl(var(--primary) / 0.20); + stroke-width: 1px; + } + `})})]})}function VE(){const s=qn();x.useEffect(()=>{localStorage.getItem("access-token")||s({to:"/auth"})},[s])}function L0(){return!!localStorage.getItem("access-token")}function GE(){const[s,a]=x.useState(""),[l,i]=x.useState(!1),[c,d]=x.useState(""),m=qn(),{enableWavesBackground:h,setEnableWavesBackground:p}=o0(),{theme:v,setTheme:g}=Oh();x.useEffect(()=>{L0()&&m({to:"/"})},[m]);const b=v==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":v,w=()=>{g(b==="dark"?"light":"dark")},S=async C=>{if(C.preventDefault(),d(""),!s.trim()){d("请输入 Access Token");return}i(!0);try{const N=await fetch("/api/webui/auth/verify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:s.trim()})}),T=await N.json();if(N.ok&&T.valid){localStorage.setItem("access-token",s.trim());const P=await fetch("/api/webui/setup/status",{method:"GET",headers:{Authorization:`Bearer ${s.trim()}`}}),M=await P.json();P.ok&&M.is_first_setup?m({to:"/setup"}):m({to:"/"})}else d(T.message||"Token 验证失败,请检查后重试")}catch(N){console.error("Token 验证错误:",N),d("连接服务器失败,请检查网络连接")}finally{i(!1)}};return e.jsxs("div",{className:"relative flex min-h-screen items-center justify-center overflow-hidden bg-background p-4",children:[h&&e.jsx(qE,{}),e.jsxs(Ue,{className:"relative z-10 w-full max-w-md shadow-2xl backdrop-blur-xl bg-card/80 border-border/50",children:[e.jsx("button",{onClick:w,className:"absolute right-4 top-4 rounded-lg p-2 hover:bg-accent transition-colors z-10 text-foreground",title:b==="dark"?"切换到浅色模式":"切换到深色模式",children:b==="dark"?e.jsx(Rf,{className:"h-5 w-5",strokeWidth:2.5,fill:"none"}):e.jsx(zf,{className:"h-5 w-5",strokeWidth:2.5,fill:"none"})}),e.jsxs(ot,{className:"space-y-4 text-center",children:[e.jsx("div",{className:"mx-auto flex h-16 w-16 items-center justify-center rounded-2xl bg-primary/10",children:e.jsx(Zv,{className:"h-8 w-8 text-primary",strokeWidth:2,fill:"none"})}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ct,{className:"text-2xl font-bold",children:"欢迎使用 MaiBot"}),e.jsx(us,{className:"text-base",children:"请输入您的 Access Token 以继续访问系统"})]})]}),e.jsx(gt,{children:e.jsxs("form",{onSubmit:S,className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"token",className:"text-sm font-medium",children:"Access Token"}),e.jsxs("div",{className:"relative",children:[e.jsx(O2,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground",strokeWidth:2,fill:"none"}),e.jsx(pe,{id:"token",type:"password",placeholder:"请输入您的 Access Token",value:s,onChange:C=>a(C.target.value),className:Z("pl-10",c&&"border-red-500 focus-visible:ring-red-500"),disabled:l,autoFocus:!0,autoComplete:"off"})]})]}),c&&e.jsxs("div",{className:"flex items-center gap-2 rounded-md bg-red-50 p-3 text-sm text-red-600 dark:bg-red-950/50 dark:text-red-400",children:[e.jsx(Tl,{className:"h-4 w-4 flex-shrink-0",strokeWidth:2,fill:"none"}),e.jsx("span",{children:c})]}),e.jsx(q,{type:"submit",className:"w-full",disabled:l,children:l?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mr-2 h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent"}),"验证中..."]}):"验证并进入"}),e.jsxs(bs,{children:[e.jsx(x0,{asChild:!0,children:e.jsxs("button",{className:"w-full text-center text-sm text-primary hover:text-primary/80 transition-colors underline-offset-4 hover:underline flex items-center justify-center gap-1",children:[e.jsx(A2,{className:"h-4 w-4",strokeWidth:2,fill:"none"}),"我没有 Token,我该去哪里获得 Token?"]})}),e.jsxs(ms,{className:"sm:max-w-md",children:[e.jsxs(fs,{children:[e.jsxs(hs,{className:"flex items-center gap-2",children:[e.jsx(Zv,{className:"h-5 w-5 text-primary",strokeWidth:2,fill:"none"}),"如何获取 Access Token"]}),e.jsx(ks,{children:"Access Token 是访问 MaiBot WebUI 的唯一凭证,请按以下方式获取"})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-2",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(R2,{className:"h-5 w-5 text-primary flex-shrink-0 mt-0.5",strokeWidth:2,fill:"none"}),e.jsxs("div",{className:"flex-1 space-y-2",children:[e.jsx("h4",{className:"font-semibold text-sm",children:"方式一:查看启动日志"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"在 MaiBot 启动时,控制台会显示 WebUI Access Token。"}),e.jsxs("div",{className:"rounded bg-background p-2 font-mono text-xs",children:[e.jsx("p",{className:"text-muted-foreground",children:"🔑 WebUI Access Token: abc123..."}),e.jsx("p",{className:"text-muted-foreground",children:"💡 请使用此 Token 登录 WebUI"})]})]})]})}),e.jsx("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-2",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(ph,{className:"h-5 w-5 text-primary flex-shrink-0 mt-0.5",strokeWidth:2,fill:"none"}),e.jsxs("div",{className:"flex-1 space-y-2",children:[e.jsx("h4",{className:"font-semibold text-sm",children:"方式二:查看配置文件"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Token 保存在项目根目录的配置文件中:"}),e.jsx("div",{className:"rounded bg-background p-2 font-mono text-xs break-all",children:e.jsx("code",{className:"text-primary",children:"data/webui.json"})}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["打开此文件,复制 ",e.jsx("code",{className:"px-1 py-0.5 bg-background rounded",children:"access_token"})," 字段的值"]})]})]})}),e.jsx("div",{className:"rounded-lg border border-yellow-200 dark:border-yellow-900 bg-yellow-50 dark:bg-yellow-950/30 p-3",children:e.jsxs("div",{className:"flex gap-2",children:[e.jsx(Tl,{className:"h-4 w-4 text-yellow-600 dark:text-yellow-500 flex-shrink-0 mt-0.5",strokeWidth:2,fill:"none"}),e.jsxs("div",{className:"text-sm text-yellow-800 dark:text-yellow-300 space-y-1",children:[e.jsx("p",{className:"font-semibold",children:"安全提示"}),e.jsxs("ul",{className:"list-disc list-inside space-y-0.5 text-xs",children:[e.jsx("li",{children:"请妥善保管您的 Token,不要泄露给他人"}),e.jsx("li",{children:"如需重置 Token,请在登录后前往系统设置"})]})]})]})})]})]})]}),e.jsxs(Ft,{children:[e.jsx(_s,{asChild:!0,children:e.jsxs("button",{className:"w-full text-center text-sm text-muted-foreground hover:text-foreground transition-colors underline-offset-4 hover:underline flex items-center justify-center gap-1",children:[e.jsx(ao,{className:"h-4 w-4",strokeWidth:2,fill:"none"}),"我觉得这个界面很卡怎么办?"]})}),e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsxs(zt,{className:"flex items-center gap-2",children:[e.jsx(ao,{className:"h-5 w-5 text-primary",strokeWidth:2,fill:"none"}),"关闭背景动画"]}),e.jsx(Pt,{children:"背景动画可能会在低性能设备上造成卡顿。关闭动画可以显著提升界面流畅度。"})]}),e.jsx("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-2",children:e.jsx("p",{className:"text-sm text-muted-foreground",children:"关闭动画后,背景将变为纯色,但不影响任何功能的使用。您可以随时在系统设置中重新开启动画。"})}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:()=>p(!1),children:"关闭动画"})]})]})]})]})})]}),e.jsx("div",{className:"absolute bottom-4 left-0 right-0 text-center text-xs text-muted-foreground",children:e.jsx("p",{children:jE})})]})}const Dt=x.forwardRef(({className:s,...a},l)=>e.jsx("textarea",{className:Z("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",s),ref:l,...a}));Dt.displayName="Textarea";var $E=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],IE=$E.reduce((s,a)=>{const l=ih(`Primitive.${a}`),i=x.forwardRef((c,d)=>{const{asChild:m,...h}=c,p=m?l:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),e.jsx(p,{...h,ref:d})});return i.displayName=`Primitive.${a}`,{...s,[a]:i}},{}),WE="Separator",Pj="horizontal",XE=["horizontal","vertical"],B0=x.forwardRef((s,a)=>{const{decorative:l,orientation:i=Pj,...c}=s,d=KE(i)?i:Pj,h=l?{role:"none"}:{"aria-orientation":d==="vertical"?d:void 0,role:"separator"};return e.jsx(IE.div,{"data-orientation":d,...h,...c,ref:a})});B0.displayName=WE;function KE(s){return XE.includes(s)}var U0=B0;const oo=x.forwardRef(({className:s,orientation:a="horizontal",decorative:l=!0,...i},c)=>e.jsx(U0,{ref:c,decorative:l,orientation:a,className:Z("shrink-0 bg-border",a==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",s),...i}));oo.displayName=U0.displayName;const QE=Jr("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function _t({className:s,variant:a,...l}){return e.jsx("div",{className:Z(QE({variant:a}),s),...l})}function ZE({config:s,onChange:a}){const l=c=>{c.trim()&&!s.alias_names.includes(c.trim())&&a({...s,alias_names:[...s.alias_names,c.trim()]})},i=c=>{a({...s,alias_names:s.alias_names.filter((d,m)=>m!==c)})};return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx(U,{htmlFor:"qq_account",children:"QQ账号 *"}),e.jsx(pe,{id:"qq_account",type:"number",placeholder:"请输入机器人的QQ账号",value:s.qq_account||"",onChange:c=>a({...s,qq_account:Number(c.target.value)})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人登录使用的QQ账号"})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(U,{htmlFor:"nickname",children:"昵称 *"}),e.jsx(pe,{id:"nickname",placeholder:"请输入机器人的昵称",value:s.nickname,onChange:c=>a({...s,nickname:c.target.value})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人的主要称呼名称"})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(U,{children:"别名"}),e.jsx("div",{className:"flex flex-wrap gap-2 mb-2",children:s.alias_names.map((c,d)=>e.jsxs(_t,{variant:"secondary",className:"gap-1",children:[c,e.jsx("button",{type:"button",onClick:()=>i(d),className:"ml-1 hover:text-destructive",children:e.jsx(go,{className:"h-3 w-3"})})]},d))}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(pe,{id:"alias_input",placeholder:"输入别名后按回车添加",onKeyPress:c=>{c.key==="Enter"&&(l(c.target.value),c.target.value="")}}),e.jsx(q,{type:"button",variant:"outline",onClick:()=>{const c=document.getElementById("alias_input");c&&(l(c.value),c.value="")},children:"添加"})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人的其他称呼,可以添加多个"})]})]})}function JE({config:s,onChange:a}){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx(U,{htmlFor:"personality",children:"人格特征 *"}),e.jsx(Dt,{id:"personality",placeholder:"描述机器人的人格特质和身份特征(建议120字以内)",value:s.personality,onChange:l=>a({...s,personality:l.target.value}),rows:3}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"例如:是一个女大学生,现在在读大二,会刷贴吧"})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(U,{htmlFor:"reply_style",children:"表达风格 *"}),e.jsx(Dt,{id:"reply_style",placeholder:"描述机器人说话的表达风格、表达习惯",value:s.reply_style,onChange:l=>a({...s,reply_style:l.target.value}),rows:3}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"例如:回复平淡一些,简短一些,说中文,参考贴吧、知乎和微博的回复风格"})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(U,{htmlFor:"interest",children:"兴趣 *"}),e.jsx(Dt,{id:"interest",placeholder:"描述机器人感兴趣的话题",value:s.interest,onChange:l=>a({...s,interest:l.target.value}),rows:2}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"会影响机器人对什么话题进行回复"})]}),e.jsx(oo,{}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(U,{htmlFor:"plan_style",children:"群聊说话规则 *"}),e.jsx(Dt,{id:"plan_style",placeholder:"机器人在群聊中的行为风格和规则",value:s.plan_style,onChange:l=>a({...s,plan_style:l.target.value}),rows:4}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"定义机器人在群聊中如何行动,例如回复频率、条件等"})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(U,{htmlFor:"private_plan_style",children:"私聊说话规则 *"}),e.jsx(Dt,{id:"private_plan_style",placeholder:"机器人在私聊中的行为风格和规则",value:s.private_plan_style,onChange:l=>a({...s,private_plan_style:l.target.value}),rows:3}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"定义机器人在私聊中的行为方式"})]})]})}function e4({config:s,onChange:a}){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(U,{htmlFor:"emoji_chance",children:"表情包激活概率"}),e.jsxs("span",{className:"text-sm text-muted-foreground",children:[(s.emoji_chance*100).toFixed(0),"%"]})]}),e.jsx(pe,{id:"emoji_chance",type:"range",min:"0",max:"1",step:"0.1",value:s.emoji_chance,onChange:l=>a({...s,emoji_chance:Number(l.target.value)})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人发送表情包的概率"})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(U,{htmlFor:"max_reg_num",children:"最大表情包数量"}),e.jsx(pe,{id:"max_reg_num",type:"number",min:"1",max:"200",value:s.max_reg_num,onChange:l=>a({...s,max_reg_num:Number(l.target.value)})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人最多保存的表情包数量"})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx(U,{htmlFor:"do_replace",children:"达到最大数量时替换"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"开启后会删除旧表情包,关闭则不再收集新表情包"})]}),e.jsx(Ze,{id:"do_replace",checked:s.do_replace,onCheckedChange:l=>a({...s,do_replace:l})})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(U,{htmlFor:"check_interval",children:"检查间隔(分钟)"}),e.jsx(pe,{id:"check_interval",type:"number",min:"1",max:"120",value:s.check_interval,onChange:l=>a({...s,check_interval:Number(l.target.value)})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"检查表情包注册、破损、删除的时间间隔"})]}),e.jsx(oo,{}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx(U,{htmlFor:"steal_emoji",children:"偷取表情包"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"允许机器人将一些表情包据为己有"})]}),e.jsx(Ze,{id:"steal_emoji",checked:s.steal_emoji,onCheckedChange:l=>a({...s,steal_emoji:l})})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx(U,{htmlFor:"content_filtration",children:"启用表情包过滤"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"只保存符合要求的表情包"})]}),e.jsx(Ze,{id:"content_filtration",checked:s.content_filtration,onCheckedChange:l=>a({...s,content_filtration:l})})]}),s.content_filtration&&e.jsxs("div",{className:"space-y-3",children:[e.jsx(U,{htmlFor:"filtration_prompt",children:"过滤要求"}),e.jsx(pe,{id:"filtration_prompt",placeholder:"例如:符合公序良俗",value:s.filtration_prompt,onChange:l=>a({...s,filtration_prompt:l.target.value})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"描述表情包应该符合的要求"})]})]})}function t4({config:s,onChange:a}){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx(U,{htmlFor:"enable_tool",children:"启用工具系统"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"允许机器人使用各种工具增强功能"})]}),e.jsx(Ze,{id:"enable_tool",checked:s.enable_tool,onCheckedChange:l=>a({...s,enable_tool:l})})]}),e.jsx(oo,{}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx(U,{htmlFor:"enable_mood",children:"启用情绪系统"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"让机器人具有情绪变化能力"})]}),e.jsx(Ze,{id:"enable_mood",checked:s.enable_mood,onCheckedChange:l=>a({...s,enable_mood:l})})]}),s.enable_mood&&e.jsxs("div",{className:"ml-6 space-y-6 border-l-2 border-primary/20 pl-6",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx(U,{htmlFor:"mood_update_threshold",children:"情绪更新阈值"}),e.jsx(pe,{id:"mood_update_threshold",type:"number",min:"0.1",max:"10",step:"0.1",value:s.mood_update_threshold||1,onChange:l=>a({...s,mood_update_threshold:Number(l.target.value)})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"值越高,情绪更新越慢"})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(U,{htmlFor:"emotion_style",children:"情感特征"}),e.jsx(Dt,{id:"emotion_style",placeholder:"描述情绪的变化情况,例如:情绪较为稳定,但遭遇特定事件时起伏较大",value:s.emotion_style||"",onChange:l=>a({...s,emotion_style:l.target.value}),rows:2}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"影响机器人的情绪变化方式"})]})]}),e.jsx(oo,{}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx(U,{htmlFor:"all_global",children:"启用全局黑话模式"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"允许机器人学习和使用群组黑话"})]}),e.jsx(Ze,{id:"all_global",checked:s.all_global,onCheckedChange:l=>a({...s,all_global:l})})]})]})}async function Fe(s,a){const l=await fetch(s,a);if(l.status===401)throw localStorage.removeItem("access-token"),window.location.href="/auth",new Error("认证失败,请重新登录");return l}function Ie(){return{"Content-Type":"application/json",Authorization:`Bearer ${localStorage.getItem("access-token")}`}}async function s4(){const s=await Fe("/api/webui/config/bot",{method:"GET",headers:Ie()});if(!s.ok)throw new Error("读取Bot配置失败");const l=(await s.json()).config.bot||{};return{qq_account:l.qq_account||0,nickname:l.nickname||"",alias_names:l.alias_names||[]}}async function n4(){const s=await Fe("/api/webui/config/bot",{method:"GET",headers:Ie()});if(!s.ok)throw new Error("读取人格配置失败");const l=(await s.json()).config.personality||{};return{personality:l.personality||"",reply_style:l.reply_style||"",interest:l.interest||"",plan_style:l.plan_style||"",private_plan_style:l.private_plan_style||""}}async function a4(){const s=await Fe("/api/webui/config/bot",{method:"GET",headers:Ie()});if(!s.ok)throw new Error("读取表情包配置失败");const l=(await s.json()).config.emoji||{};return{emoji_chance:l.emoji_chance??.4,max_reg_num:l.max_reg_num??40,do_replace:l.do_replace??!0,check_interval:l.check_interval??10,steal_emoji:l.steal_emoji??!0,content_filtration:l.content_filtration??!1,filtration_prompt:l.filtration_prompt||""}}async function l4(){const s=await Fe("/api/webui/config/bot",{method:"GET",headers:Ie()});if(!s.ok)throw new Error("读取其他配置失败");const l=(await s.json()).config,i=l.tool||{},c=l.mood||{},d=l.jargon||{};return{enable_tool:i.enable_tool??!0,enable_mood:c.enable_mood??!1,mood_update_threshold:c.mood_update_threshold,emotion_style:c.emotion_style,all_global:d.all_global??!0}}async function r4(s){const a=await Fe("/api/webui/config/bot/section/bot",{method:"POST",headers:Ie(),body:JSON.stringify(s)});if(!a.ok){const l=await a.json();throw new Error(l.detail||"保存Bot基础配置失败")}return await a.json()}async function i4(s){const a=await Fe("/api/webui/config/bot/section/personality",{method:"POST",headers:Ie(),body:JSON.stringify(s)});if(!a.ok){const l=await a.json();throw new Error(l.detail||"保存人格配置失败")}return await a.json()}async function o4(s){const a=await Fe("/api/webui/config/bot/section/emoji",{method:"POST",headers:Ie(),body:JSON.stringify(s)});if(!a.ok){const l=await a.json();throw new Error(l.detail||"保存表情包配置失败")}return await a.json()}async function c4(s){const a=[];a.push(Fe("/api/webui/config/bot/section/tool",{method:"POST",headers:Ie(),body:JSON.stringify({enable_tool:s.enable_tool})})),a.push(Fe("/api/webui/config/bot/section/jargon",{method:"POST",headers:Ie(),body:JSON.stringify({all_global:s.all_global})}));const l={enable_mood:s.enable_mood};s.enable_mood&&(l.mood_update_threshold=s.mood_update_threshold||1,l.emotion_style=s.emotion_style||""),a.push(Fe("/api/webui/config/bot/section/mood",{method:"POST",headers:Ie(),body:JSON.stringify(l)}));const i=await Promise.all(a);for(const c of i)if(!c.ok){const d=await c.json();throw new Error(d.detail||"保存其他配置失败")}return{success:!0}}async function Lj(){const s=localStorage.getItem("access-token"),a=await Fe("/api/webui/setup/complete",{method:"POST",headers:{Authorization:`Bearer ${s}`}});if(!a.ok){const l=await a.json();throw new Error(l.message||"标记配置完成失败")}return await a.json()}function d4(){const s=qn(),{toast:a}=Es(),[l,i]=x.useState(0),[c,d]=x.useState(!1),[m,h]=x.useState(!1),[p,v]=x.useState(!0),[g,j]=x.useState({qq_account:0,nickname:"",alias_names:[]}),[b,w]=x.useState({personality:"是一个女大学生,现在在读大二,会刷贴吧。",reply_style:"请回复的平淡一些,简短一些,说中文,不要刻意突出自身学科背景。可以参考贴吧,知乎和微博的回复风格。",interest:"对技术相关话题,游戏和动漫相关话题感兴趣,也对日常话题感兴趣,不喜欢太过沉重严肃的话题",plan_style:`1.思考**所有**的可用的action中的**每个动作**是否符合当下条件,如果动作使用条件符合聊天内容就使用 +2.如果相同的内容已经被执行,请不要重复执行 +3.请控制你的发言频率,不要太过频繁的发言 +4.如果有人对你感到厌烦,请减少回复 +5.如果有人对你进行攻击,或者情绪激动,请你以合适的方法应对`,private_plan_style:`1.思考**所有**的可用的action中的**每个动作**是否符合当下条件,如果动作使用条件符合聊天内容就使用 +2.如果相同的内容已经被执行,请不要重复执行 +3.某句话如果已经被回复过,不要重复回复`}),[S,C]=x.useState({emoji_chance:.4,max_reg_num:40,do_replace:!0,check_interval:10,steal_emoji:!0,content_filtration:!1,filtration_prompt:"符合公序良俗"}),[N,T]=x.useState({enable_tool:!0,enable_mood:!1,mood_update_threshold:1,emotion_style:"情绪较为稳定,但遭遇特定事件的时候起伏较大",all_global:!0}),P=[{id:"bot-basic",title:"Bot基础",description:"配置机器人的基本信息",icon:P2},{id:"personality",title:"人格配置",description:"定义机器人的性格和说话风格",icon:Ey},{id:"emoji",title:"表情包",description:"配置表情包相关设置",icon:gh},{id:"other",title:"其他设置",description:"工具、情绪系统等配置",icon:Tn},{id:"complete",title:"完成设置",description:"后续配置提示",icon:ao}],M=(l+1)/P.length*100;x.useEffect(()=>{(async()=>{try{v(!0);const[$,oe,je,ae]=await Promise.all([s4(),n4(),a4(),l4()]);j($),w(oe),C(je),T(ae)}catch($){a({title:"加载配置失败",description:$ instanceof Error?$.message:"无法加载现有配置,将使用默认值",variant:"destructive"})}finally{v(!1)}})()},[a]);const k=async()=>{h(!0);try{switch(l){case 0:await r4(g);break;case 1:await i4(b);break;case 2:await o4(S);break;case 3:await c4(N);break}return a({title:"保存成功",description:`${P[l].title}配置已保存`}),!0}catch(G){return a({title:"保存失败",description:G instanceof Error?G.message:"未知错误",variant:"destructive"}),!1}finally{h(!1)}},D=async()=>{await k()&&l{l>0&&i(l-1)},E=async()=>{d(!0);try{if(!await k()){d(!1);return}await Lj(),a({title:"配置完成",description:"所有配置已保存,正在跳转..."}),setTimeout(()=>{s({to:"/"})},500)}catch(G){a({title:"完成失败",description:G instanceof Error?G.message:"未知错误",variant:"destructive"})}finally{d(!1)}},B=async()=>{try{await Lj(),s({to:"/"})}catch(G){a({title:"跳过失败",description:G instanceof Error?G.message:"未知错误",variant:"destructive"})}},Y=()=>{switch(l){case 0:return e.jsx(ZE,{config:g,onChange:j});case 1:return e.jsx(JE,{config:b,onChange:w});case 2:return e.jsx(e4,{config:S,onChange:C});case 3:return e.jsx(t4,{config:N,onChange:T});case 4:return e.jsxs("div",{className:"space-y-6 text-center py-8",children:[e.jsx("div",{className:"mx-auto w-16 h-16 rounded-full bg-primary/10 flex items-center justify-center",children:e.jsx(ao,{className:"h-8 w-8 text-primary",strokeWidth:2})}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold",children:"模型配置"}),e.jsx("p",{className:"text-muted-foreground max-w-md mx-auto",children:"为了让机器人正常工作,您需要配置 AI 模型提供商和模型。"})]}),e.jsxs("div",{className:"rounded-lg border bg-muted/50 p-6 max-w-md mx-auto text-left space-y-4",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"mt-0.5",children:e.jsx("div",{className:"h-6 w-6 rounded-full bg-primary/20 flex items-center justify-center text-primary text-sm font-semibold",children:"1"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:"配置 API 提供商"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:'在"系统设置 → 模型配置 → API 提供商"中添加您的 API 提供商信息'})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"mt-0.5",children:e.jsx("div",{className:"h-6 w-6 rounded-full bg-primary/20 flex items-center justify-center text-primary text-sm font-semibold",children:"2"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:"添加模型"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:'在"系统设置 → 模型配置 → 模型列表"中添加需要使用的模型'})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"mt-0.5",children:e.jsx("div",{className:"h-6 w-6 rounded-full bg-primary/20 flex items-center justify-center text-primary text-sm font-semibold",children:"3"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:"配置模型任务"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:'在"系统设置 → 模型配置 → 模型任务配置"中为不同任务分配模型'})]})]})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"💡 提示:完成向导后,您可以在系统设置中进行详细的模型配置"})]});default:return null}};return e.jsxs("div",{className:"relative flex min-h-screen flex-col items-center justify-center overflow-hidden bg-gradient-to-br from-primary/5 via-background to-secondary/5 p-4 md:p-6",children:[e.jsxs("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[e.jsx("div",{className:"absolute left-1/4 top-1/4 h-64 w-64 md:h-96 md:w-96 rounded-full bg-primary/5 blur-3xl"}),e.jsx("div",{className:"absolute right-1/4 bottom-1/4 h-64 w-64 md:h-96 md:w-96 rounded-full bg-secondary/5 blur-3xl"})]}),p?e.jsxs("div",{className:"relative z-10 text-center",children:[e.jsx("div",{className:"mx-auto mb-4 flex h-16 w-16 items-center justify-center",children:e.jsx("div",{className:"h-12 w-12 animate-spin rounded-full border-4 border-primary border-t-transparent"})}),e.jsx("p",{className:"text-lg font-medium",children:"加载配置中..."}),e.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"正在读取现有配置"})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"relative z-10 w-full max-w-4xl",children:[e.jsxs("div",{className:"mb-6 md:mb-8 text-center",children:[e.jsx("div",{className:"mx-auto mb-4 flex h-12 w-12 md:h-16 md:w-16 items-center justify-center rounded-2xl bg-primary/10",children:e.jsx(z2,{className:"h-6 w-6 md:h-8 md:w-8 text-primary",strokeWidth:2,fill:"none"})}),e.jsx("h1",{className:"mb-2 text-2xl md:text-3xl font-bold",children:"首次配置向导"}),e.jsxs("p",{className:"text-sm md:text-base text-muted-foreground",children:["让我们一起完成 ",Rh," 的初始配置"]})]}),e.jsxs("div",{className:"mb-6 md:mb-8",children:[e.jsxs("div",{className:"mb-2 flex items-center justify-between text-xs md:text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:["步骤 ",l+1," / ",P.length]}),e.jsxs("span",{className:"font-medium text-primary",children:[Math.round(M),"%"]})]}),e.jsx(_o,{value:M,className:"h-2"})]}),e.jsx("div",{className:"mb-6 md:mb-8 flex justify-between",children:P.map((G,$)=>{const oe=G.icon;return e.jsxs("div",{className:Z("flex flex-1 flex-col items-center gap-1 md:gap-2",$s({to:"/"}),className:"gap-2 w-full sm:w-auto",children:[e.jsx(fd,{className:"h-4 w-4"}),"返回首页"]}),e.jsxs(q,{size:"lg",variant:"outline",onClick:()=>window.history.back(),className:"gap-2 w-full sm:w-auto",children:[e.jsx(My,{className:"h-4 w-4"}),"返回上一页"]})]}),e.jsx("div",{className:"mt-12 pt-8 border-t border-border",children:e.jsx("p",{className:"text-sm text-muted-foreground",children:"如果您认为这是一个错误,请联系系统管理员"})})]})})}var F0=["PageUp","PageDown"],Y0=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],q0={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},ei="Slider",[$f,u4,m4]=_d(ei),[V0]=Dn(ei,[m4]),[f4,Fd]=V0(ei),G0=x.forwardRef((s,a)=>{const{name:l,min:i=0,max:c=100,step:d=1,orientation:m="horizontal",disabled:h=!1,minStepsBetweenThumbs:p=0,defaultValue:v=[i],value:g,onValueChange:j=()=>{},onValueCommit:b=()=>{},inverted:w=!1,form:S,...C}=s,N=x.useRef(new Set),T=x.useRef(0),M=m==="horizontal"?h4:x4,[k=[],D]=Qa({prop:g,defaultProp:v,onChange:$=>{[...N.current][T.current]?.focus(),j($)}}),A=x.useRef(k);function E($){const oe=y4(k,$);G($,oe)}function B($){G($,T.current)}function Y(){const $=A.current[T.current];k[T.current]!==$&&b(k)}function G($,oe,{commit:je}={commit:!1}){const ae=S4(d),me=_4(Math.round(($-i)/d)*d+i,ae),R=rh(me,[i,c]);D((O=[])=>{const L=v4(O,R,oe);if(w4(L,p*d)){T.current=L.indexOf(R);const ee=String(L)!==String(O);return ee&&je&&b(L),ee?L:O}else return O})}return e.jsx(f4,{scope:s.__scopeSlider,name:l,disabled:h,min:i,max:c,valueIndexToChangeRef:T,thumbs:N.current,values:k,orientation:m,form:S,children:e.jsx($f.Provider,{scope:s.__scopeSlider,children:e.jsx($f.Slot,{scope:s.__scopeSlider,children:e.jsx(M,{"aria-disabled":h,"data-disabled":h?"":void 0,...C,ref:a,onPointerDown:be(C.onPointerDown,()=>{h||(A.current=k)}),min:i,max:c,inverted:w,onSlideStart:h?void 0:E,onSlideMove:h?void 0:B,onSlideEnd:h?void 0:Y,onHomeKeyDown:()=>!h&&G(i,0,{commit:!0}),onEndKeyDown:()=>!h&&G(c,k.length-1,{commit:!0}),onStepKeyDown:({event:$,direction:oe})=>{if(!h){const me=F0.includes($.key)||$.shiftKey&&Y0.includes($.key)?10:1,R=T.current,O=k[R],L=d*me*oe;G(O+L,R,{commit:!0})}}})})})})});G0.displayName=ei;var[$0,I0]=V0(ei,{startEdge:"left",endEdge:"right",size:"width",direction:1}),h4=x.forwardRef((s,a)=>{const{min:l,max:i,dir:c,inverted:d,onSlideStart:m,onSlideMove:h,onSlideEnd:p,onStepKeyDown:v,...g}=s,[j,b]=x.useState(null),w=Tt(a,M=>b(M)),S=x.useRef(void 0),C=xo(c),N=C==="ltr",T=N&&!d||!N&&d;function P(M){const k=S.current||j.getBoundingClientRect(),D=[0,k.width],E=zh(D,T?[l,i]:[i,l]);return S.current=k,E(M-k.left)}return e.jsx($0,{scope:s.__scopeSlider,startEdge:T?"left":"right",endEdge:T?"right":"left",direction:T?1:-1,size:"width",children:e.jsx(W0,{dir:C,"data-orientation":"horizontal",...g,ref:w,style:{...g.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:M=>{const k=P(M.clientX);m?.(k)},onSlideMove:M=>{const k=P(M.clientX);h?.(k)},onSlideEnd:()=>{S.current=void 0,p?.()},onStepKeyDown:M=>{const D=q0[T?"from-left":"from-right"].includes(M.key);v?.({event:M,direction:D?-1:1})}})})}),x4=x.forwardRef((s,a)=>{const{min:l,max:i,inverted:c,onSlideStart:d,onSlideMove:m,onSlideEnd:h,onStepKeyDown:p,...v}=s,g=x.useRef(null),j=Tt(a,g),b=x.useRef(void 0),w=!c;function S(C){const N=b.current||g.current.getBoundingClientRect(),T=[0,N.height],M=zh(T,w?[i,l]:[l,i]);return b.current=N,M(C-N.top)}return e.jsx($0,{scope:s.__scopeSlider,startEdge:w?"bottom":"top",endEdge:w?"top":"bottom",size:"height",direction:w?1:-1,children:e.jsx(W0,{"data-orientation":"vertical",...v,ref:j,style:{...v.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:C=>{const N=S(C.clientY);d?.(N)},onSlideMove:C=>{const N=S(C.clientY);m?.(N)},onSlideEnd:()=>{b.current=void 0,h?.()},onStepKeyDown:C=>{const T=q0[w?"from-bottom":"from-top"].includes(C.key);p?.({event:C,direction:T?-1:1})}})})}),W0=x.forwardRef((s,a)=>{const{__scopeSlider:l,onSlideStart:i,onSlideMove:c,onSlideEnd:d,onHomeKeyDown:m,onEndKeyDown:h,onStepKeyDown:p,...v}=s,g=Fd(ei,l);return e.jsx(dt.span,{...v,ref:a,onKeyDown:be(s.onKeyDown,j=>{j.key==="Home"?(m(j),j.preventDefault()):j.key==="End"?(h(j),j.preventDefault()):F0.concat(Y0).includes(j.key)&&(p(j),j.preventDefault())}),onPointerDown:be(s.onPointerDown,j=>{const b=j.target;b.setPointerCapture(j.pointerId),j.preventDefault(),g.thumbs.has(b)?b.focus():i(j)}),onPointerMove:be(s.onPointerMove,j=>{j.target.hasPointerCapture(j.pointerId)&&c(j)}),onPointerUp:be(s.onPointerUp,j=>{const b=j.target;b.hasPointerCapture(j.pointerId)&&(b.releasePointerCapture(j.pointerId),d(j))})})}),X0="SliderTrack",K0=x.forwardRef((s,a)=>{const{__scopeSlider:l,...i}=s,c=Fd(X0,l);return e.jsx(dt.span,{"data-disabled":c.disabled?"":void 0,"data-orientation":c.orientation,...i,ref:a})});K0.displayName=X0;var If="SliderRange",Q0=x.forwardRef((s,a)=>{const{__scopeSlider:l,...i}=s,c=Fd(If,l),d=I0(If,l),m=x.useRef(null),h=Tt(a,m),p=c.values.length,v=c.values.map(b=>eN(b,c.min,c.max)),g=p>1?Math.min(...v):0,j=100-Math.max(...v);return e.jsx(dt.span,{"data-orientation":c.orientation,"data-disabled":c.disabled?"":void 0,...i,ref:h,style:{...s.style,[d.startEdge]:g+"%",[d.endEdge]:j+"%"}})});Q0.displayName=If;var Wf="SliderThumb",Z0=x.forwardRef((s,a)=>{const l=u4(s.__scopeSlider),[i,c]=x.useState(null),d=Tt(a,h=>c(h)),m=x.useMemo(()=>i?l().findIndex(h=>h.ref.current===i):-1,[l,i]);return e.jsx(p4,{...s,ref:d,index:m})}),p4=x.forwardRef((s,a)=>{const{__scopeSlider:l,index:i,name:c,...d}=s,m=Fd(Wf,l),h=I0(Wf,l),[p,v]=x.useState(null),g=Tt(a,P=>v(P)),j=p?m.form||!!p.closest("form"):!0,b=dy(p),w=m.values[i],S=w===void 0?0:eN(w,m.min,m.max),C=j4(i,m.values.length),N=b?.[h.size],T=N?b4(N,S,h.direction):0;return x.useEffect(()=>{if(p)return m.thumbs.add(p),()=>{m.thumbs.delete(p)}},[p,m.thumbs]),e.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[h.startEdge]:`calc(${S}% + ${T}px)`},children:[e.jsx($f.ItemSlot,{scope:s.__scopeSlider,children:e.jsx(dt.span,{role:"slider","aria-label":s["aria-label"]||C,"aria-valuemin":m.min,"aria-valuenow":w,"aria-valuemax":m.max,"aria-orientation":m.orientation,"data-orientation":m.orientation,"data-disabled":m.disabled?"":void 0,tabIndex:m.disabled?void 0:0,...d,ref:g,style:w===void 0?{display:"none"}:s.style,onFocus:be(s.onFocus,()=>{m.valueIndexToChangeRef.current=i})})}),j&&e.jsx(J0,{name:c??(m.name?m.name+(m.values.length>1?"[]":""):void 0),form:m.form,value:w},i)]})});Z0.displayName=Wf;var g4="RadioBubbleInput",J0=x.forwardRef(({__scopeSlider:s,value:a,...l},i)=>{const c=x.useRef(null),d=Tt(c,i),m=cy(a);return x.useEffect(()=>{const h=c.current;if(!h)return;const p=window.HTMLInputElement.prototype,g=Object.getOwnPropertyDescriptor(p,"value").set;if(m!==a&&g){const j=new Event("input",{bubbles:!0});g.call(h,a),h.dispatchEvent(j)}},[m,a]),e.jsx(dt.input,{style:{display:"none"},...l,ref:d,defaultValue:a})});J0.displayName=g4;function v4(s=[],a,l){const i=[...s];return i[l]=a,i.sort((c,d)=>c-d)}function eN(s,a,l){const d=100/(l-a)*(s-a);return rh(d,[0,100])}function j4(s,a){return a>2?`Value ${s+1} of ${a}`:a===2?["Minimum","Maximum"][s]:void 0}function y4(s,a){if(s.length===1)return 0;const l=s.map(c=>Math.abs(c-a)),i=Math.min(...l);return l.indexOf(i)}function b4(s,a,l){const i=s/2,d=zh([0,50],[0,i]);return(i-d(a)*l)*l}function N4(s){return s.slice(0,-1).map((a,l)=>s[l+1]-a)}function w4(s,a){if(a>0){const l=N4(s);return Math.min(...l)>=a}return!0}function zh(s,a){return l=>{if(s[0]===s[1]||a[0]===a[1])return a[0];const i=(a[1]-a[0])/(s[1]-s[0]);return a[0]+i*(l-s[0])}}function S4(s){return(String(s).split(".")[1]||"").length}function _4(s,a){const l=Math.pow(10,a);return Math.round(s*l)/l}var tN=G0,C4=K0,k4=Q0,T4=Z0;const Yd=x.forwardRef(({className:s,...a},l)=>e.jsxs(tN,{ref:l,className:Z("relative flex w-full touch-none select-none items-center",s),...a,children:[e.jsx(C4,{className:"relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20",children:e.jsx(k4,{className:"absolute h-full bg-primary"})}),e.jsx(T4,{className:"block h-4 w-4 rounded-full border border-primary/50 bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50"})]}));Yd.displayName=tN.displayName;const rt=y2,it=b2,at=x.forwardRef(({className:s,children:a,...l},i)=>e.jsxs(hy,{ref:i,className:Z("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",s),...l,children:[a,e.jsx(x2,{asChild:!0,children:e.jsx(lo,{className:"h-4 w-4 opacity-50"})})]}));at.displayName=hy.displayName;const sN=x.forwardRef(({className:s,...a},l)=>e.jsx(xy,{ref:l,className:Z("flex cursor-default items-center justify-center py-1",s),...a,children:e.jsx(Pf,{className:"h-4 w-4"})}));sN.displayName=xy.displayName;const nN=x.forwardRef(({className:s,...a},l)=>e.jsx(py,{ref:l,className:Z("flex cursor-default items-center justify-center py-1",s),...a,children:e.jsx(lo,{className:"h-4 w-4"})}));nN.displayName=py.displayName;const lt=x.forwardRef(({className:s,children:a,position:l="popper",...i},c)=>e.jsx(p2,{children:e.jsxs(gy,{ref:c,className:Z("relative z-[100] max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-hidden rounded-md border border-border bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100 shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]",l==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",s),position:l,...i,children:[e.jsx(sN,{}),e.jsx(g2,{className:Z("p-1",l==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:a}),e.jsx(nN,{})]})}));lt.displayName=gy.displayName;const E4=x.forwardRef(({className:s,...a},l)=>e.jsx(vy,{ref:l,className:Z("px-2 py-1.5 text-sm font-semibold",s),...a}));E4.displayName=vy.displayName;const ye=x.forwardRef(({className:s,children:a,...l},i)=>e.jsxs(jy,{ref:i,className:Z("relative flex w-full cursor-default select-none items-center rounded-sm py-2 pl-2 pr-8 text-sm outline-none bg-white dark:bg-gray-900 hover:bg-gray-100 dark:hover:bg-gray-800 focus:bg-gray-100 dark:focus:bg-gray-800 data-[disabled]:pointer-events-none data-[disabled]:opacity-50",s),...l,children:[e.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(v2,{children:e.jsx(Cl,{className:"h-4 w-4"})})}),e.jsx(j2,{children:a})]}));ye.displayName=jy.displayName;const M4=x.forwardRef(({className:s,...a},l)=>e.jsx(yy,{ref:l,className:Z("-mx-1 my-1 h-px bg-muted",s),...a}));M4.displayName=yy.displayName;function D4(s){const a=O4(s),l=x.forwardRef((i,c)=>{const{children:d,...m}=i,h=x.Children.toArray(d),p=h.find(R4);if(p){const v=p.props.children,g=h.map(j=>j===p?x.Children.count(v)>1?x.Children.only(null):x.isValidElement(v)?v.props.children:null:j);return e.jsx(a,{...m,ref:c,children:x.isValidElement(v)?x.cloneElement(v,void 0,g):null})}return e.jsx(a,{...m,ref:c,children:d})});return l.displayName=`${s}.Slot`,l}function O4(s){const a=x.forwardRef((l,i)=>{const{children:c,...d}=l;if(x.isValidElement(c)){const m=P4(c),h=z4(d,c.props);return c.type!==x.Fragment&&(h.ref=i?Ga(i,m):m),x.cloneElement(c,h)}return x.Children.count(c)>1?x.Children.only(null):null});return a.displayName=`${s}.SlotClone`,a}var A4=Symbol("radix.slottable");function R4(s){return x.isValidElement(s)&&typeof s.type=="function"&&"__radixId"in s.type&&s.type.__radixId===A4}function z4(s,a){const l={...a};for(const i in a){const c=s[i],d=a[i];/^on[A-Z]/.test(i)?c&&d?l[i]=(...h)=>{const p=d(...h);return c(...h),p}:c&&(l[i]=c):i==="style"?l[i]={...c,...d}:i==="className"&&(l[i]=[c,d].filter(Boolean).join(" "))}return{...s,...l}}function P4(s){let a=Object.getOwnPropertyDescriptor(s.props,"ref")?.get,l=a&&"isReactWarning"in a&&a.isReactWarning;return l?s.ref:(a=Object.getOwnPropertyDescriptor(s,"ref")?.get,l=a&&"isReactWarning"in a&&a.isReactWarning,l?s.props.ref:s.props.ref||s.ref)}var qd="Popover",[aN]=Dn(qd,[Wr]),Co=Wr(),[L4,Za]=aN(qd),lN=s=>{const{__scopePopover:a,children:l,open:i,defaultOpen:c,onOpenChange:d,modal:m=!1}=s,h=Co(a),p=x.useRef(null),[v,g]=x.useState(!1),[j,b]=Qa({prop:i,defaultProp:c??!1,onChange:d,caller:qd});return e.jsx(Ed,{...h,children:e.jsx(L4,{scope:a,contentId:jn(),triggerRef:p,open:j,onOpenChange:b,onOpenToggle:x.useCallback(()=>b(w=>!w),[b]),hasCustomAnchor:v,onCustomAnchorAdd:x.useCallback(()=>g(!0),[]),onCustomAnchorRemove:x.useCallback(()=>g(!1),[]),modal:m,children:l})})};lN.displayName=qd;var rN="PopoverAnchor",B4=x.forwardRef((s,a)=>{const{__scopePopover:l,...i}=s,c=Za(rN,l),d=Co(l),{onCustomAnchorAdd:m,onCustomAnchorRemove:h}=c;return x.useEffect(()=>(m(),()=>h()),[m,h]),e.jsx(Md,{...d,...i,ref:a})});B4.displayName=rN;var iN="PopoverTrigger",oN=x.forwardRef((s,a)=>{const{__scopePopover:l,...i}=s,c=Za(iN,l),d=Co(l),m=Tt(a,c.triggerRef),h=e.jsx(dt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":c.open,"aria-controls":c.contentId,"data-state":fN(c.open),...i,ref:m,onClick:be(s.onClick,c.onOpenToggle)});return c.hasCustomAnchor?h:e.jsx(Md,{asChild:!0,...d,children:h})});oN.displayName=iN;var Ph="PopoverPortal",[U4,H4]=aN(Ph,{forceMount:void 0}),cN=s=>{const{__scopePopover:a,forceMount:l,children:i,container:c}=s,d=Za(Ph,a);return e.jsx(U4,{scope:a,forceMount:l,children:e.jsx(Is,{present:l||d.open,children:e.jsx(Td,{asChild:!0,container:c,children:i})})})};cN.displayName=Ph;var $r="PopoverContent",dN=x.forwardRef((s,a)=>{const l=H4($r,s.__scopePopover),{forceMount:i=l.forceMount,...c}=s,d=Za($r,s.__scopePopover);return e.jsx(Is,{present:i||d.open,children:d.modal?e.jsx(Y4,{...c,ref:a}):e.jsx(q4,{...c,ref:a})})});dN.displayName=$r;var F4=D4("PopoverContent.RemoveScroll"),Y4=x.forwardRef((s,a)=>{const l=Za($r,s.__scopePopover),i=x.useRef(null),c=Tt(a,i),d=x.useRef(!1);return x.useEffect(()=>{const m=i.current;if(m)return by(m)},[]),e.jsx(Ny,{as:F4,allowPinchZoom:!0,children:e.jsx(uN,{...s,ref:c,trapFocus:l.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:be(s.onCloseAutoFocus,m=>{m.preventDefault(),d.current||l.triggerRef.current?.focus()}),onPointerDownOutside:be(s.onPointerDownOutside,m=>{const h=m.detail.originalEvent,p=h.button===0&&h.ctrlKey===!0,v=h.button===2||p;d.current=v},{checkForDefaultPrevented:!1}),onFocusOutside:be(s.onFocusOutside,m=>m.preventDefault(),{checkForDefaultPrevented:!1})})})}),q4=x.forwardRef((s,a)=>{const l=Za($r,s.__scopePopover),i=x.useRef(!1),c=x.useRef(!1);return e.jsx(uN,{...s,ref:a,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:d=>{s.onCloseAutoFocus?.(d),d.defaultPrevented||(i.current||l.triggerRef.current?.focus(),d.preventDefault()),i.current=!1,c.current=!1},onInteractOutside:d=>{s.onInteractOutside?.(d),d.defaultPrevented||(i.current=!0,d.detail.originalEvent.type==="pointerdown"&&(c.current=!0));const m=d.target;l.triggerRef.current?.contains(m)&&d.preventDefault(),d.detail.originalEvent.type==="focusin"&&c.current&&d.preventDefault()}})}),uN=x.forwardRef((s,a)=>{const{__scopePopover:l,trapFocus:i,onOpenAutoFocus:c,onCloseAutoFocus:d,disableOutsidePointerEvents:m,onEscapeKeyDown:h,onPointerDownOutside:p,onFocusOutside:v,onInteractOutside:g,...j}=s,b=Za($r,l),w=Co(l);return wy(),e.jsx(Sy,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:c,onUnmountAutoFocus:d,children:e.jsx(fh,{asChild:!0,disableOutsidePointerEvents:m,onInteractOutside:g,onEscapeKeyDown:h,onPointerDownOutside:p,onFocusOutside:v,onDismiss:()=>b.onOpenChange(!1),children:e.jsx(hh,{"data-state":fN(b.open),role:"dialog",id:b.contentId,...w,...j,ref:a,style:{...j.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),mN="PopoverClose",V4=x.forwardRef((s,a)=>{const{__scopePopover:l,...i}=s,c=Za(mN,l);return e.jsx(dt.button,{type:"button",...i,ref:a,onClick:be(s.onClick,()=>c.onOpenChange(!1))})});V4.displayName=mN;var G4="PopoverArrow",$4=x.forwardRef((s,a)=>{const{__scopePopover:l,...i}=s,c=Co(l);return e.jsx(xh,{...c,...i,ref:a})});$4.displayName=G4;function fN(s){return s?"open":"closed"}var I4=lN,W4=oN,X4=cN,hN=dN;const Ia=I4,Wa=W4,pa=x.forwardRef(({className:s,align:a="center",sideOffset:l=4,...i},c)=>e.jsx(X4,{children:e.jsx(hN,{ref:c,align:a,sideOffset:l,className:Z("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]",s),...i})}));pa.displayName=hN.displayName;const ti="/api/webui/config";async function K4(){const a=await(await Fe(`${ti}/bot`)).json();if(!a.success)throw new Error("获取配置数据失败");return a.config}async function Ur(){const a=await(await Fe(`${ti}/model`)).json();if(!a.success)throw new Error("获取模型配置数据失败");return a.config}async function Bj(s){const l=await(await Fe(`${ti}/bot`,{method:"POST",headers:Ie(),body:JSON.stringify(s)})).json();if(!l.success)throw new Error(l.message||"保存配置失败")}async function Nd(s){const l=await(await Fe(`${ti}/model`,{method:"POST",headers:Ie(),body:JSON.stringify(s)})).json();if(!l.success)throw new Error(l.message||"保存配置失败")}async function Q4(s,a){const i=await(await Fe(`${ti}/bot/section/${s}`,{method:"POST",headers:Ie(),body:JSON.stringify(a)})).json();if(!i.success)throw new Error(i.message||`保存配置节 ${s} 失败`)}async function Xf(s,a){const i=await(await Fe(`${ti}/model/section/${s}`,{method:"POST",headers:Ie(),body:JSON.stringify(a)})).json();if(!i.success)throw new Error(i.message||`保存配置节 ${s} 失败`)}const Z4=$t.create({baseURL:"",timeout:1e4});async function Lh(){try{return(await Z4.post("/api/webui/system/restart")).data}catch(s){throw console.error("重启麦麦失败:",s),s}}const J4=Jr("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),Vd=x.forwardRef(({className:s,variant:a,...l},i)=>e.jsx("div",{ref:i,role:"alert",className:Z(J4({variant:a}),s),...l}));Vd.displayName="Alert";const eM=x.forwardRef(({className:s,...a},l)=>e.jsx("h5",{ref:l,className:Z("mb-1 font-medium leading-none tracking-tight",s),...a}));eM.displayName="AlertTitle";const Gd=x.forwardRef(({className:s,...a},l)=>e.jsx("div",{ref:l,className:Z("text-sm [&_p]:leading-relaxed",s),...a}));Gd.displayName="AlertDescription";function Bh({onRestartComplete:s,onRestartFailed:a}){const[l,i]=x.useState(0),[c,d]=x.useState("restarting"),[m,h]=x.useState(0),[p,v]=x.useState(0);x.useEffect(()=>{const b=setInterval(()=>{i(C=>C>=90?C:C+1)},200),w=setInterval(()=>{h(C=>C+1)},1e3),S=setTimeout(()=>{d("checking"),g()},3e3);return()=>{clearInterval(b),clearInterval(w),clearTimeout(S)}},[]);const g=()=>{const w=async()=>{try{if(v(C=>C+1),(await fetch("/api/webui/system/status",{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(3e3)})).ok)i(100),d("success"),setTimeout(()=>{s?.()},1500);else throw new Error("Status check failed")}catch{p<60?setTimeout(w,2e3):(d("failed"),a?.())}};w()},j=b=>{const w=Math.floor(b/60),S=b%60;return`${w}:${S.toString().padStart(2,"0")}`};return e.jsx("div",{className:"fixed inset-0 bg-background/95 backdrop-blur-sm z-50 flex items-center justify-center",children:e.jsxs("div",{className:"max-w-md w-full mx-4 space-y-8",children:[e.jsxs("div",{className:"flex flex-col items-center space-y-4",children:[c==="restarting"&&e.jsxs(e.Fragment,{children:[e.jsx(ro,{className:"h-16 w-16 text-primary animate-spin"}),e.jsx("h2",{className:"text-2xl font-bold",children:"正在重启麦麦"}),e.jsx("p",{className:"text-muted-foreground text-center",children:"请稍候,麦麦正在重启中..."})]}),c==="checking"&&e.jsxs(e.Fragment,{children:[e.jsx(ro,{className:"h-16 w-16 text-primary animate-spin"}),e.jsx("h2",{className:"text-2xl font-bold",children:"检查服务状态"}),e.jsxs("p",{className:"text-muted-foreground text-center",children:["等待服务恢复... (尝试 ",p,"/60)"]})]}),c==="success"&&e.jsxs(e.Fragment,{children:[e.jsx(Ys,{className:"h-16 w-16 text-green-500"}),e.jsx("h2",{className:"text-2xl font-bold",children:"重启成功"}),e.jsx("p",{className:"text-muted-foreground text-center",children:"正在跳转到登录页面..."})]}),c==="failed"&&e.jsxs(e.Fragment,{children:[e.jsx(Tl,{className:"h-16 w-16 text-destructive"}),e.jsx("h2",{className:"text-2xl font-bold",children:"重启超时"}),e.jsx("p",{className:"text-muted-foreground text-center",children:"服务未能在预期时间内恢复,请手动检查或刷新页面"})]})]}),c!=="failed"&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(_o,{value:l,className:"h-2"}),e.jsxs("div",{className:"flex justify-between text-sm text-muted-foreground",children:[e.jsxs("span",{children:[l,"%"]}),e.jsxs("span",{children:["已用时: ",j(m)]})]})]}),e.jsx("div",{className:"bg-muted/50 rounded-lg p-4 space-y-2",children:e.jsxs("p",{className:"text-sm text-muted-foreground",children:[c==="restarting"&&"🔄 配置已保存,正在重启主程序...",c==="checking"&&"⏳ 正在等待服务恢复,请勿关闭页面...",c==="success"&&"✅ 配置已生效,服务运行正常",c==="failed"&&"⚠️ 如果长时间无响应,请尝试手动重启"]})}),c==="failed"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{onClick:()=>window.location.reload(),className:"flex-1 px-4 py-2 bg-primary text-primary-foreground rounded-md hover:bg-primary/90",children:"刷新页面"}),e.jsx("button",{onClick:()=>{d("checking"),v(0),g()},className:"flex-1 px-4 py-2 bg-secondary text-secondary-foreground rounded-md hover:bg-secondary/90",children:"重试检测"})]})]})})}function tM(){const[s,a]=x.useState(!0),[l,i]=x.useState(!1),[c,d]=x.useState(!1),[m,h]=x.useState(!1),[p,v]=x.useState(!1),[g,j]=x.useState(!1),{toast:b}=Es(),[w,S]=x.useState(null),[C,N]=x.useState(null),[T,P]=x.useState(null),[M,k]=x.useState(null),[D,A]=x.useState(null),[E,B]=x.useState(null),[Y,G]=x.useState(null),[$,oe]=x.useState(null),[je,ae]=x.useState(null),[me,R]=x.useState(null),[O,L]=x.useState(null),[ee,le]=x.useState(null),[xe,F]=x.useState(null),[W,fe]=x.useState(null),[I,ve]=x.useState(null),[de,Ce]=x.useState(null),[Q,Oe]=x.useState(null),[$e,re]=x.useState(null),Pe=x.useRef(null),ze=x.useRef(!0),Zt=x.useRef({}),Rs=x.useCallback(async()=>{try{a(!0);const ke=await K4();Zt.current=ke,S(ke.bot),N(ke.personality);const is=ke.chat;is.talk_value_rules||(is.talk_value_rules=[]),P(is),k(ke.expression),A(ke.emoji),B(ke.memory),G(ke.tool),oe(ke.mood),ae(ke.voice),R(ke.lpmm_knowledge),L(ke.keyword_reaction),le(ke.response_post_process),F(ke.chinese_typo),fe(ke.response_splitter),ve(ke.log),Ce(ke.debug),Oe(ke.maim_message),re(ke.telemetry),h(!1),ze.current=!1}catch(ke){console.error("加载配置失败:",ke),b({title:"加载失败",description:"无法加载配置文件",variant:"destructive"})}finally{a(!1)}},[b]);x.useEffect(()=>{Rs()},[Rs]);const An=x.useCallback(async(ke,is)=>{if(!ze.current)try{d(!0),await Q4(ke,is),h(!1)}catch(he){console.error(`自动保存 ${ke} 失败:`,he),h(!0)}finally{d(!1)}},[]),Le=x.useCallback((ke,is)=>{ze.current||(h(!0),Pe.current&&clearTimeout(Pe.current),Pe.current=setTimeout(()=>{An(ke,is)},2e3))},[An]);x.useEffect(()=>{w&&!ze.current&&Le("bot",w)},[w,Le]),x.useEffect(()=>{C&&!ze.current&&Le("personality",C)},[C,Le]),x.useEffect(()=>{T&&!ze.current&&Le("chat",T)},[T,Le]),x.useEffect(()=>{M&&!ze.current&&Le("expression",M)},[M,Le]),x.useEffect(()=>{D&&!ze.current&&Le("emoji",D)},[D,Le]),x.useEffect(()=>{E&&!ze.current&&Le("memory",E)},[E,Le]),x.useEffect(()=>{Y&&!ze.current&&Le("tool",Y)},[Y,Le]),x.useEffect(()=>{$&&!ze.current&&Le("mood",$)},[$,Le]),x.useEffect(()=>{je&&!ze.current&&Le("voice",je)},[je,Le]),x.useEffect(()=>{me&&!ze.current&&Le("lpmm_knowledge",me)},[me,Le]),x.useEffect(()=>{O&&!ze.current&&Le("keyword_reaction",O)},[O,Le]),x.useEffect(()=>{ee&&!ze.current&&Le("response_post_process",ee)},[ee,Le]),x.useEffect(()=>{xe&&!ze.current&&Le("chinese_typo",xe)},[xe,Le]),x.useEffect(()=>{W&&!ze.current&&Le("response_splitter",W)},[W,Le]),x.useEffect(()=>{I&&!ze.current&&Le("log",I)},[I,Le]),x.useEffect(()=>{de&&!ze.current&&Le("debug",de)},[de,Le]),x.useEffect(()=>{Q&&!ze.current&&Le("maim_message",Q)},[Q,Le]),x.useEffect(()=>{$e&&!ze.current&&Le("telemetry",$e)},[$e,Le]);const Nn=async()=>{try{i(!0),Pe.current&&clearTimeout(Pe.current);const ke={...Zt.current,bot:w,personality:C,chat:T,expression:M,emoji:D,memory:E,tool:Y,mood:$,voice:je,lpmm_knowledge:me,keyword_reaction:O,response_post_process:ee,chinese_typo:xe,response_splitter:W,log:I,debug:de,maim_message:Q,telemetry:$e};await Bj(ke),h(!1),b({title:"保存成功",description:"麦麦主程序配置已保存"})}catch(ke){console.error("保存配置失败:",ke),b({title:"保存失败",description:ke.message,variant:"destructive"})}finally{i(!1)}},ln=async()=>{try{v(!0),Lh().catch(()=>{}),j(!0)}catch(ke){console.error("重启失败:",ke),j(!1),b({title:"重启失败",description:"无法发送重启请求,请手动重启",variant:"destructive"}),v(!1)}},rn=async()=>{try{i(!0),Pe.current&&clearTimeout(Pe.current);const ke={...Zt.current,bot:w,personality:C,chat:T,expression:M,emoji:D,memory:E,tool:Y,mood:$,voice:je,lpmm_knowledge:me,keyword_reaction:O,response_post_process:ee,chinese_typo:xe,response_splitter:W,log:I,debug:de,maim_message:Q,telemetry:$e};await Bj(ke),h(!1),b({title:"保存成功",description:"配置已保存,即将重启麦麦..."}),await new Promise(is=>setTimeout(is,500)),await ln()}catch(ke){console.error("保存失败:",ke),b({title:"保存失败",description:ke.message,variant:"destructive"})}finally{i(!1)}},Xt=()=>{localStorage.removeItem("access-token"),window.location.href="/auth"},Ds=()=>{j(!1),v(!1),b({title:"重启失败",description:"服务器未能在预期时间内恢复,请手动检查",variant:"destructive"})};return s?e.jsx(Ct,{className:"h-full",children:e.jsx("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:e.jsx("div",{className:"flex items-center justify-center h-64",children:e.jsx("p",{className:"text-muted-foreground",children:"加载中..."})})})}):e.jsx(Ct,{className:"h-full",children:e.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"麦麦主程序配置"}),e.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理麦麦的核心功能和行为设置"})]}),e.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[e.jsxs(q,{onClick:Nn,disabled:l||c||!m||p,size:"sm",variant:"outline",className:"flex-1 sm:flex-none",children:[e.jsx(vh,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),l?"保存中...":c?"自动保存中...":m?"保存配置":"已保存"]}),e.jsxs(Ft,{children:[e.jsx(_s,{asChild:!0,children:e.jsxs(q,{disabled:l||c||p,size:"sm",className:"flex-1 sm:flex-none",children:[e.jsx(jh,{className:"mr-2 h-4 w-4"}),p?"重启中...":m?"保存并重启":"重启麦麦"]})}),e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认重启麦麦?"}),e.jsx(Pt,{children:m?"当前有未保存的配置更改。点击确认将先保存配置,然后重启麦麦使新配置生效。重启过程中麦麦将暂时离线。":"即将重启麦麦主程序。重启过程中麦麦将暂时离线,配置将在重启后生效。"})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:m?rn:ln,children:m?"保存并重启":"确认重启"})]})]})]})]})]}),e.jsxs(Vd,{children:[e.jsx(Fr,{className:"h-4 w-4"}),e.jsxs(Gd,{children:["配置更新后需要",e.jsx("strong",{children:"重启麦麦"}),'才能生效。你可以点击右上角的"保存并重启"按钮一键完成保存和重启。']})]}),e.jsxs(Ml,{defaultValue:"bot",className:"w-full",children:[e.jsx("div",{className:"overflow-x-auto -mx-4 px-4 sm:mx-0 sm:px-0",children:e.jsxs($a,{className:"inline-flex w-auto min-w-full sm:grid sm:w-full sm:grid-cols-5 lg:grid-cols-10",children:[e.jsx(bt,{value:"bot",className:"flex-shrink-0",children:"基本信息"}),e.jsx(bt,{value:"personality",className:"flex-shrink-0",children:"人格"}),e.jsx(bt,{value:"chat",className:"flex-shrink-0",children:"聊天"}),e.jsx(bt,{value:"expression",className:"flex-shrink-0",children:"表达"}),e.jsx(bt,{value:"features",className:"flex-shrink-0",children:"功能"}),e.jsx(bt,{value:"processing",className:"flex-shrink-0",children:"处理"}),e.jsx(bt,{value:"mood",className:"flex-shrink-0",children:"情绪"}),e.jsx(bt,{value:"voice",className:"flex-shrink-0",children:"语音"}),e.jsx(bt,{value:"lpmm",className:"flex-shrink-0",children:"知识库"}),e.jsx(bt,{value:"other",className:"flex-shrink-0",children:"其他"})]})}),e.jsx(Vt,{value:"bot",className:"space-y-4",children:w&&e.jsx(sM,{config:w,onChange:S})}),e.jsx(Vt,{value:"personality",className:"space-y-4",children:C&&e.jsx(nM,{config:C,onChange:N})}),e.jsx(Vt,{value:"chat",className:"space-y-4",children:T&&e.jsx(aM,{config:T,onChange:P})}),e.jsx(Vt,{value:"expression",className:"space-y-4",children:M&&e.jsx(lM,{config:M,onChange:k})}),e.jsx(Vt,{value:"features",className:"space-y-4",children:D&&E&&Y&&e.jsx(rM,{emojiConfig:D,memoryConfig:E,toolConfig:Y,onEmojiChange:A,onMemoryChange:B,onToolChange:G})}),e.jsx(Vt,{value:"processing",className:"space-y-4",children:O&&ee&&xe&&W&&e.jsx(iM,{keywordReactionConfig:O,responsePostProcessConfig:ee,chineseTypoConfig:xe,responseSplitterConfig:W,onKeywordReactionChange:L,onResponsePostProcessChange:le,onChineseTypoChange:F,onResponseSplitterChange:fe})}),e.jsx(Vt,{value:"mood",className:"space-y-4",children:$&&e.jsx(oM,{config:$,onChange:oe})}),e.jsx(Vt,{value:"voice",className:"space-y-4",children:je&&e.jsx(cM,{config:je,onChange:ae})}),e.jsx(Vt,{value:"lpmm",className:"space-y-4",children:me&&e.jsx(dM,{config:me,onChange:R})}),e.jsxs(Vt,{value:"other",className:"space-y-4",children:[I&&e.jsx(uM,{config:I,onChange:ve}),de&&e.jsx(mM,{config:de,onChange:Ce}),Q&&e.jsx(fM,{config:Q,onChange:Oe}),$e&&e.jsx(hM,{config:$e,onChange:re})]})]}),g&&e.jsx(Bh,{onRestartComplete:Xt,onRestartFailed:Ds})]})})}function sM({config:s,onChange:a}){const l=()=>{a({...s,platforms:[...s.platforms,""]})},i=p=>{a({...s,platforms:s.platforms.filter((v,g)=>g!==p)})},c=(p,v)=>{const g=[...s.platforms];g[p]=v,a({...s,platforms:g})},d=()=>{a({...s,alias_names:[...s.alias_names,""]})},m=p=>{a({...s,alias_names:s.alias_names.filter((v,g)=>g!==p)})},h=(p,v)=>{const g=[...s.alias_names];g[p]=v,a({...s,alias_names:g})};return e.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold mb-4",children:"基本信息"}),e.jsxs("div",{className:"grid gap-4",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"platform",children:"平台"}),e.jsx(pe,{id:"platform",value:s.platform,onChange:p=>a({...s,platform:p.target.value}),placeholder:"qq"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"qq_account",children:"QQ账号"}),e.jsx(pe,{id:"qq_account",value:s.qq_account,onChange:p=>a({...s,qq_account:p.target.value}),placeholder:"123456789"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"nickname",children:"昵称"}),e.jsx(pe,{id:"nickname",value:s.nickname,onChange:p=>a({...s,nickname:p.target.value}),placeholder:"麦麦"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(U,{children:"其他平台账号"}),e.jsxs(q,{onClick:l,size:"sm",variant:"outline",children:[e.jsx(ys,{className:"h-4 w-4 mr-1"}),"添加"]})]}),e.jsxs("div",{className:"space-y-2",children:[s.platforms.map((p,v)=>e.jsxs("div",{className:"flex gap-2",children:[e.jsx(pe,{value:p,onChange:g=>c(v,g.target.value),placeholder:"wx:114514"}),e.jsxs(Ft,{children:[e.jsx(_s,{asChild:!0,children:e.jsx(q,{size:"icon",variant:"outline",children:e.jsx(ft,{className:"h-4 w-4"})})}),e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认删除"}),e.jsxs(Pt,{children:['确定要删除平台账号 "',p||"(空)",'" 吗?此操作无法撤销。']})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:()=>i(v),children:"删除"})]})]})]})]},v)),s.platforms.length===0&&e.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无其他平台账号"})]})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(U,{children:"别名"}),e.jsxs(q,{onClick:d,size:"sm",variant:"outline",children:[e.jsx(ys,{className:"h-4 w-4 mr-1"}),"添加"]})]}),e.jsxs("div",{className:"space-y-2",children:[s.alias_names.map((p,v)=>e.jsxs("div",{className:"flex gap-2",children:[e.jsx(pe,{value:p,onChange:g=>h(v,g.target.value),placeholder:"小麦"}),e.jsxs(Ft,{children:[e.jsx(_s,{asChild:!0,children:e.jsx(q,{size:"icon",variant:"outline",children:e.jsx(ft,{className:"h-4 w-4"})})}),e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认删除"}),e.jsxs(Pt,{children:['确定要删除别名 "',p||"(空)",'" 吗?此操作无法撤销。']})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:()=>m(v),children:"删除"})]})]})]})]},v)),s.alias_names.length===0&&e.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无别名"})]})]})]})]})})}function nM({config:s,onChange:a}){const l=()=>{a({...s,states:[...s.states,""]})},i=d=>{a({...s,states:s.states.filter((m,h)=>h!==d)})},c=(d,m)=>{const h=[...s.states];h[d]=m,a({...s,states:h})};return e.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold mb-4",children:"人格设置"}),e.jsxs("div",{className:"grid gap-4",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"personality",children:"人格特质"}),e.jsx(Dt,{id:"personality",value:s.personality,onChange:d=>a({...s,personality:d.target.value}),placeholder:"描述人格特质和身份特征(建议120字以内)",rows:3}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"建议120字以内,描述人格特质和身份特征"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"reply_style",children:"表达风格"}),e.jsx(Dt,{id:"reply_style",value:s.reply_style,onChange:d=>a({...s,reply_style:d.target.value}),placeholder:"描述说话的表达风格和习惯",rows:3})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"interest",children:"兴趣"}),e.jsx(Dt,{id:"interest",value:s.interest,onChange:d=>a({...s,interest:d.target.value}),placeholder:"会影响麦麦对什么话题进行回复",rows:2})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"plan_style",children:"说话规则与行为风格"}),e.jsx(Dt,{id:"plan_style",value:s.plan_style,onChange:d=>a({...s,plan_style:d.target.value}),placeholder:"麦麦的说话规则和行为风格",rows:5})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"visual_style",children:"识图规则"}),e.jsx(Dt,{id:"visual_style",value:s.visual_style,onChange:d=>a({...s,visual_style:d.target.value}),placeholder:"识图时的处理规则",rows:3})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"private_plan_style",children:"私聊规则"}),e.jsx(Dt,{id:"private_plan_style",value:s.private_plan_style,onChange:d=>a({...s,private_plan_style:d.target.value}),placeholder:"私聊的说话规则和行为风格",rows:4})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(U,{children:"状态列表(人格多样性)"}),e.jsxs(q,{onClick:l,size:"sm",variant:"outline",children:[e.jsx(ys,{className:"h-4 w-4 mr-1"}),"添加状态"]})]}),e.jsx("div",{className:"space-y-2",children:s.states.map((d,m)=>e.jsxs("div",{className:"flex gap-2",children:[e.jsx(Dt,{value:d,onChange:h=>c(m,h.target.value),placeholder:"描述一个人格状态",rows:2}),e.jsxs(Ft,{children:[e.jsx(_s,{asChild:!0,children:e.jsx(q,{size:"icon",variant:"outline",children:e.jsx(ft,{className:"h-4 w-4"})})}),e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认删除"}),e.jsx(Pt,{children:"确定要删除这个人格状态吗?此操作无法撤销。"})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:()=>i(m),children:"删除"})]})]})]})]},m))})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"state_probability",children:"状态替换概率"}),e.jsx(pe,{id:"state_probability",type:"number",step:"0.1",min:"0",max:"1",value:s.state_probability,onChange:d=>a({...s,state_probability:parseFloat(d.target.value)})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"每次构建人格时替换 personality 的概率(0.0-1.0)"})]})]})]})})}function aM({config:s,onChange:a}){const l=()=>{a({...s,talk_value_rules:[...s.talk_value_rules,{target:"",time:"00:00-23:59",value:1}]})},i=h=>{a({...s,talk_value_rules:s.talk_value_rules.filter((p,v)=>v!==h)})},c=(h,p,v)=>{const g=[...s.talk_value_rules];g[h]={...g[h],[p]:v},a({...s,talk_value_rules:g})},d=({value:h,onChange:p})=>{const[v,g]=x.useState("00"),[j,b]=x.useState("00"),[w,S]=x.useState("23"),[C,N]=x.useState("59");x.useEffect(()=>{const P=h.split("-");if(P.length===2){const[M,k]=P,[D,A]=M.split(":"),[E,B]=k.split(":");D&&g(D.padStart(2,"0")),A&&b(A.padStart(2,"0")),E&&S(E.padStart(2,"0")),B&&N(B.padStart(2,"0"))}},[h]);const T=(P,M,k,D)=>{const A=`${P}:${M}-${k}:${D}`;p(A)};return e.jsxs(Ia,{children:[e.jsx(Wa,{asChild:!0,children:e.jsxs(q,{variant:"outline",className:"w-full justify-start font-mono text-sm",children:[e.jsx(_l,{className:"h-4 w-4 mr-2"}),h||"选择时间段"]})}),e.jsx(pa,{className:"w-80",children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("h4",{className:"font-medium text-sm mb-3",children:"开始时间"}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:gap-3",children:[e.jsxs("div",{children:[e.jsx(U,{className:"text-xs",children:"小时"}),e.jsxs(rt,{value:v,onValueChange:P=>{g(P),T(P,j,w,C)},children:[e.jsx(at,{children:e.jsx(it,{})}),e.jsx(lt,{children:Array.from({length:24},(P,M)=>M).map(P=>e.jsx(ye,{value:P.toString().padStart(2,"0"),children:P.toString().padStart(2,"0")},P))})]})]}),e.jsxs("div",{children:[e.jsx(U,{className:"text-xs",children:"分钟"}),e.jsxs(rt,{value:j,onValueChange:P=>{b(P),T(v,P,w,C)},children:[e.jsx(at,{children:e.jsx(it,{})}),e.jsx(lt,{children:Array.from({length:60},(P,M)=>M).map(P=>e.jsx(ye,{value:P.toString().padStart(2,"0"),children:P.toString().padStart(2,"0")},P))})]})]})]})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-medium text-sm mb-3",children:"结束时间"}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:gap-3",children:[e.jsxs("div",{children:[e.jsx(U,{className:"text-xs",children:"小时"}),e.jsxs(rt,{value:w,onValueChange:P=>{S(P),T(v,j,P,C)},children:[e.jsx(at,{children:e.jsx(it,{})}),e.jsx(lt,{children:Array.from({length:24},(P,M)=>M).map(P=>e.jsx(ye,{value:P.toString().padStart(2,"0"),children:P.toString().padStart(2,"0")},P))})]})]}),e.jsxs("div",{children:[e.jsx(U,{className:"text-xs",children:"分钟"}),e.jsxs(rt,{value:C,onValueChange:P=>{N(P),T(v,j,w,P)},children:[e.jsx(at,{children:e.jsx(it,{})}),e.jsx(lt,{children:Array.from({length:60},(P,M)=>M).map(P=>e.jsx(ye,{value:P.toString().padStart(2,"0"),children:P.toString().padStart(2,"0")},P))})]})]})]})]})]})})]})},m=({rule:h})=>{const p=`{ target = "${h.target}", time = "${h.time}", value = ${h.value.toFixed(1)} }`;return e.jsxs(Ia,{children:[e.jsx(Wa,{asChild:!0,children:e.jsxs(q,{variant:"outline",size:"sm",children:[e.jsx(Mn,{className:"h-4 w-4 mr-1"}),"预览"]})}),e.jsx(pa,{className:"w-96",children:e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),e.jsx("div",{className:"rounded-md bg-muted p-3 font-mono text-xs break-all",children:p}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})};return e.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold mb-4",children:"聊天设置"}),e.jsxs("div",{className:"grid gap-4",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"talk_value",children:"聊天频率(基础值)"}),e.jsx(pe,{id:"talk_value",type:"number",step:"0.1",min:"0",max:"1",value:s.talk_value,onChange:h=>a({...s,talk_value:parseFloat(h.target.value)})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"越小越沉默,范围 0-1"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"mentioned_bot_reply",children:"提及回复增幅"}),e.jsx(pe,{id:"mentioned_bot_reply",type:"number",step:"0.1",min:"0",max:"1",value:s.mentioned_bot_reply,onChange:h=>a({...s,mentioned_bot_reply:parseFloat(h.target.value)})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"提及时回复概率增幅,1 为 100% 回复"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"max_context_size",children:"上下文长度"}),e.jsx(pe,{id:"max_context_size",type:"number",min:"1",value:s.max_context_size,onChange:h=>a({...s,max_context_size:parseInt(h.target.value)})})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"planner_smooth",children:"规划器平滑"}),e.jsx(pe,{id:"planner_smooth",type:"number",step:"1",min:"0",value:s.planner_smooth,onChange:h=>a({...s,planner_smooth:parseFloat(h.target.value)})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"增大数值会减小 planner 负荷,推荐 1-5,0 为关闭"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ze,{id:"enable_talk_value_rules",checked:s.enable_talk_value_rules,onCheckedChange:h=>a({...s,enable_talk_value_rules:h})}),e.jsx(U,{htmlFor:"enable_talk_value_rules",className:"cursor-pointer",children:"启用动态发言频率规则"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ze,{id:"include_planner_reasoning",checked:s.include_planner_reasoning,onCheckedChange:h=>a({...s,include_planner_reasoning:h})}),e.jsx(U,{htmlFor:"include_planner_reasoning",className:"cursor-pointer",children:"将 planner 推理加入 replyer"})]})]})]}),s.enable_talk_value_rules&&e.jsxs("div",{className:"border-t pt-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{children:[e.jsx("h4",{className:"text-base font-semibold",children:"动态发言频率规则"}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"按时段或聊天流ID调整发言频率,优先匹配具体聊天,再匹配全局规则"})]}),e.jsxs(q,{onClick:l,size:"sm",children:[e.jsx(ys,{className:"h-4 w-4 mr-1"}),"添加规则"]})]}),s.talk_value_rules&&s.talk_value_rules.length>0?e.jsx("div",{className:"space-y-4",children:s.talk_value_rules.map((h,p)=>e.jsxs("div",{className:"rounded-lg border p-4 bg-muted/50 space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-sm font-medium text-muted-foreground",children:["规则 #",p+1]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(m,{rule:h}),e.jsxs(Ft,{children:[e.jsx(_s,{asChild:!0,children:e.jsx(q,{variant:"ghost",size:"sm",children:e.jsx(ft,{className:"h-4 w-4 text-destructive"})})}),e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认删除"}),e.jsxs(Pt,{children:["确定要删除规则 #",p+1," 吗?此操作无法撤销。"]})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:()=>i(p),children:"删除"})]})]})]})]})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{className:"text-xs font-medium",children:"配置类型"}),e.jsxs(rt,{value:h.target===""?"global":"specific",onValueChange:v=>{v==="global"?c(p,"target",""):c(p,"target","qq::group")},children:[e.jsx(at,{children:e.jsx(it,{})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"global",children:"全局配置"}),e.jsx(ye,{value:"specific",children:"详细配置"})]})]})]}),h.target!==""&&(()=>{const v=h.target.split(":"),g=v[0]||"qq",j=v[1]||"",b=v[2]||"group";return e.jsxs("div",{className:"grid gap-4 p-4 rounded-lg bg-muted/50",children:[e.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{className:"text-xs font-medium",children:"平台"}),e.jsxs(rt,{value:g,onValueChange:w=>{c(p,"target",`${w}:${j}:${b}`)},children:[e.jsx(at,{children:e.jsx(it,{})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"qq",children:"QQ"}),e.jsx(ye,{value:"wx",children:"微信"})]})]})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{className:"text-xs font-medium",children:"群 ID"}),e.jsx(pe,{value:j,onChange:w=>{c(p,"target",`${g}:${w.target.value}:${b}`)},placeholder:"输入群 ID",className:"font-mono text-sm"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{className:"text-xs font-medium",children:"类型"}),e.jsxs(rt,{value:b,onValueChange:w=>{c(p,"target",`${g}:${j}:${w}`)},children:[e.jsx(at,{children:e.jsx(it,{})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"group",children:"群组(group)"}),e.jsx(ye,{value:"private",children:"私聊(private)"})]})]})]})]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["当前聊天流 ID:",h.target||"(未设置)"]})]})})(),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{className:"text-xs font-medium",children:"时间段 (Time)"}),e.jsx(d,{value:h.time,onChange:v=>c(p,"time",v)}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"支持跨夜区间,例如 23:00-02:00"})]}),e.jsxs("div",{className:"grid gap-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(U,{htmlFor:`rule-value-${p}`,className:"text-xs font-medium",children:"发言频率值 (Value)"}),e.jsx(pe,{id:`rule-value-${p}`,type:"number",step:"0.01",min:"0",max:"1",value:h.value,onChange:v=>{const g=parseFloat(v.target.value);isNaN(g)||c(p,"value",Math.max(0,Math.min(1,g)))},className:"w-20 h-8 text-xs"})]}),e.jsx(Yd,{value:[h.value],onValueChange:v=>c(p,"value",v[0]),min:0,max:1,step:.01,className:"w-full"}),e.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground",children:[e.jsx("span",{children:"0 (完全沉默)"}),e.jsx("span",{children:"0.5"}),e.jsx("span",{children:"1.0 (正常)"})]})]})]})]},p))}):e.jsx("div",{className:"text-center py-8 text-muted-foreground",children:e.jsx("p",{className:"text-sm",children:'暂无规则,点击"添加规则"按钮创建'})}),e.jsxs("div",{className:"mt-4 p-4 bg-blue-50 dark:bg-blue-950/20 border border-blue-200 dark:border-blue-800 rounded-lg",children:[e.jsx("h5",{className:"text-sm font-semibold text-blue-900 dark:text-blue-100 mb-2",children:"📝 规则说明"}),e.jsxs("ul",{className:"text-xs text-blue-800 dark:text-blue-200 space-y-1",children:[e.jsxs("li",{children:["• ",e.jsx("strong",{children:"Target 为空"}),":全局规则,对所有聊天生效"]}),e.jsxs("li",{children:["• ",e.jsx("strong",{children:"Target 指定"}),":仅对特定聊天流生效(格式:platform:id:type)"]}),e.jsxs("li",{children:["• ",e.jsx("strong",{children:"优先级"}),":先匹配具体聊天流规则,再匹配全局规则"]}),e.jsxs("li",{children:["• ",e.jsx("strong",{children:"时间支持跨夜"}),":例如 23:00-02:00 表示晚上11点到次日凌晨2点"]}),e.jsxs("li",{children:["• ",e.jsx("strong",{children:"数值范围"}),":建议 0-1,0 表示完全沉默,1 表示正常发言"]})]})]})]})]})}function lM({config:s,onChange:a}){const l=()=>{a({...s,learning_list:[...s.learning_list,["","enable","enable","1.0"]]})},i=b=>{a({...s,learning_list:s.learning_list.filter((w,S)=>S!==b)})},c=(b,w,S)=>{const C=[...s.learning_list];C[b][w]=S,a({...s,learning_list:C})},d=({rule:b})=>{const w=`["${b[0]}", "${b[1]}", "${b[2]}", "${b[3]}"]`;return e.jsxs(Ia,{children:[e.jsx(Wa,{asChild:!0,children:e.jsxs(q,{variant:"outline",size:"sm",children:[e.jsx(Mn,{className:"h-4 w-4 mr-1"}),"预览"]})}),e.jsx(pa,{className:"w-96",children:e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),e.jsx("div",{className:"rounded-md bg-muted p-3 font-mono text-xs break-all",children:w}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})},m=({member:b,groupIndex:w,memberIndex:S,availableChatIds:C})=>{const N=C.includes(b)||b==="*",[T,P]=x.useState(!N);return e.jsxs("div",{className:"flex gap-2",children:[e.jsx("div",{className:"flex-1 flex gap-2",children:T?e.jsxs(e.Fragment,{children:[e.jsx(pe,{value:b,onChange:M=>j(w,S,M.target.value),placeholder:'输入 "*" 或 "qq:123456:group"',className:"flex-1"}),C.length>0&&e.jsx(q,{size:"sm",variant:"outline",onClick:()=>P(!1),title:"切换到下拉选择",children:"下拉"})]}):e.jsxs(e.Fragment,{children:[e.jsxs(rt,{value:b,onValueChange:M=>j(w,S,M),children:[e.jsx(at,{className:"flex-1",children:e.jsx(it,{placeholder:"选择聊天流"})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"*",children:"* (全局共享)"}),C.map((M,k)=>e.jsx(ye,{value:M,children:M},k))]})]}),e.jsx(q,{size:"sm",variant:"outline",onClick:()=>P(!0),title:"切换到手动输入",children:"输入"})]})}),e.jsxs(Ft,{children:[e.jsx(_s,{asChild:!0,children:e.jsx(q,{size:"icon",variant:"outline",children:e.jsx(ft,{className:"h-4 w-4"})})}),e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认删除"}),e.jsxs(Pt,{children:['确定要删除组成员 "',b||"(空)",'" 吗?此操作无法撤销。']})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:()=>g(w,S),children:"删除"})]})]})]})]})},h=()=>{a({...s,expression_groups:[...s.expression_groups,[]]})},p=b=>{a({...s,expression_groups:s.expression_groups.filter((w,S)=>S!==b)})},v=b=>{const w=[...s.expression_groups];w[b]=[...w[b],""],a({...s,expression_groups:w})},g=(b,w)=>{const S=[...s.expression_groups];S[b]=S[b].filter((C,N)=>N!==w),a({...s,expression_groups:S})},j=(b,w,S)=>{const C=[...s.expression_groups];C[b][w]=S,a({...s,expression_groups:C})};return e.jsxs("div",{className:"space-y-6",children:[e.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold",children:"表达学习配置"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"配置麦麦如何学习和使用表达方式"})]}),e.jsxs(q,{onClick:l,size:"sm",variant:"outline",children:[e.jsx(ys,{className:"h-4 w-4 mr-1"}),"添加规则"]})]}),e.jsxs("div",{className:"space-y-4",children:[s.learning_list.map((b,w)=>{const S=s.learning_list.some((k,D)=>D!==w&&k[0]===""),C=b[0]==="",N=b[0].split(":"),T=N[0]||"qq",P=N[1]||"",M=N[2]||"group";return e.jsxs("div",{className:"rounded-lg border p-4 space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-sm font-medium",children:["规则 ",w+1," ",C&&"(全局配置)"]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(d,{rule:b}),e.jsxs(Ft,{children:[e.jsx(_s,{asChild:!0,children:e.jsx(q,{size:"sm",variant:"ghost",children:e.jsx(ft,{className:"h-4 w-4"})})}),e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认删除"}),e.jsxs(Pt,{children:["确定要删除学习规则 ",w+1," 吗?此操作无法撤销。"]})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:()=>i(w),children:"删除"})]})]})]})]})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{className:"text-xs font-medium",children:"配置类型"}),e.jsxs(rt,{value:C?"global":"specific",onValueChange:k=>{k==="global"?c(w,0,""):c(w,0,"qq::group")},disabled:S&&!C,children:[e.jsx(at,{children:e.jsx(it,{})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"global",children:"全局配置"}),e.jsx(ye,{value:"specific",disabled:S&&!C,children:"详细配置"})]})]}),S&&!C&&e.jsx("p",{className:"text-xs text-amber-600",children:"已存在全局配置,无法创建新的全局配置"})]}),!C&&e.jsxs("div",{className:"grid gap-4 p-4 rounded-lg bg-muted/50",children:[e.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{className:"text-xs font-medium",children:"平台"}),e.jsxs(rt,{value:T,onValueChange:k=>{c(w,0,`${k}:${P}:${M}`)},children:[e.jsx(at,{children:e.jsx(it,{})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"qq",children:"QQ"}),e.jsx(ye,{value:"wx",children:"微信"})]})]})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{className:"text-xs font-medium",children:"群 ID"}),e.jsx(pe,{value:P,onChange:k=>{c(w,0,`${T}:${k.target.value}:${M}`)},placeholder:"输入群 ID",className:"font-mono text-sm"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{className:"text-xs font-medium",children:"类型"}),e.jsxs(rt,{value:M,onValueChange:k=>{c(w,0,`${T}:${P}:${k}`)},children:[e.jsx(at,{children:e.jsx(it,{})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"group",children:"群组(group)"}),e.jsx(ye,{value:"private",children:"私聊(private)"})]})]})]})]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["当前聊天流 ID:",b[0]||"(未设置)"]})]}),e.jsx("div",{className:"grid gap-2",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx(U,{className:"text-xs font-medium",children:"使用学到的表达"}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"允许麦麦使用从聊天中学到的表达方式"})]}),e.jsx(Ze,{checked:b[1]==="enable",onCheckedChange:k=>c(w,1,k?"enable":"disable")})]})}),e.jsx("div",{className:"grid gap-2",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx(U,{className:"text-xs font-medium",children:"学习表达"}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"允许麦麦从聊天中学习新的表达方式"})]}),e.jsx(Ze,{checked:b[2]==="enable",onCheckedChange:k=>c(w,2,k?"enable":"disable")})]})}),e.jsxs("div",{className:"grid gap-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(U,{className:"text-xs font-medium",children:"学习强度"}),e.jsx(pe,{type:"number",step:"0.1",min:"0",max:"5",value:b[3],onChange:k=>{const D=parseFloat(k.target.value);isNaN(D)||c(w,3,Math.max(0,Math.min(5,D)).toFixed(1))},className:"w-20 h-8 text-xs"})]}),e.jsx(Yd,{value:[parseFloat(b[3])||1],onValueChange:k=>c(w,3,k[0].toFixed(1)),min:0,max:5,step:.1,className:"w-full"}),e.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground",children:[e.jsx("span",{children:"0 (不学习)"}),e.jsx("span",{children:"2.5"}),e.jsx("span",{children:"5.0 (快速学习)"})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"影响学习频率,最短学习间隔 = 300/学习强度(秒)"})]})]})]},w)}),s.learning_list.length===0&&e.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无学习规则,点击"添加规则"开始配置'})]})]})}),e.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold",children:"表达共享组配置"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"配置不同聊天流之间如何共享学到的表达方式"})]}),e.jsxs(q,{onClick:h,size:"sm",variant:"outline",children:[e.jsx(ys,{className:"h-4 w-4 mr-1"}),"添加共享组"]})]}),e.jsxs("div",{className:"space-y-4",children:[s.expression_groups.map((b,w)=>{const S=s.learning_list.map(C=>C[0]).filter(C=>C!=="");return e.jsxs("div",{className:"rounded-lg border p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-sm font-medium",children:["共享组 ",w+1,b.length===1&&b[0]==="*"&&"(全局共享)"]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(q,{onClick:()=>v(w),size:"sm",variant:"outline",children:e.jsx(ys,{className:"h-4 w-4"})}),e.jsxs(Ft,{children:[e.jsx(_s,{asChild:!0,children:e.jsx(q,{size:"sm",variant:"ghost",children:e.jsx(ft,{className:"h-4 w-4"})})}),e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认删除"}),e.jsxs(Pt,{children:["确定要删除共享组 ",w+1," 吗?此操作无法撤销。"]})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:()=>p(w),children:"删除"})]})]})]})]})]}),e.jsx("div",{className:"space-y-2",children:b.map((C,N)=>e.jsx(m,{member:C,groupIndex:w,memberIndex:N,availableChatIds:S},N))}),e.jsx("p",{className:"text-xs text-muted-foreground",children:'提示:可以从下拉框选择已配置的聊天流,或手动输入。输入 "*" 启用全局共享'})]},w)}),s.expression_groups.length===0&&e.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无共享组,点击"添加共享组"开始配置'})]})]})})]})}function rM({emojiConfig:s,memoryConfig:a,toolConfig:l,onEmojiChange:i,onMemoryChange:c,onToolChange:d}){return e.jsxs("div",{className:"space-y-6",children:[e.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold mb-4",children:"工具设置"}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ze,{id:"enable_tool",checked:l.enable_tool,onCheckedChange:m=>d({...l,enable_tool:m})}),e.jsx(U,{htmlFor:"enable_tool",className:"cursor-pointer",children:"启用工具系统"})]}),e.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"允许麦麦使用各种工具来增强功能"})]})}),e.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold mb-4",children:"记忆设置"}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"max_agent_iterations",children:"记忆思考深度"}),e.jsx(pe,{id:"max_agent_iterations",type:"number",min:"1",value:a.max_agent_iterations,onChange:m=>c({...a,max_agent_iterations:parseInt(m.target.value)})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"最低为 1(不深入思考)"})]})]})}),e.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold mb-4",children:"表情包设置"}),e.jsxs("div",{className:"grid gap-4",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"emoji_chance",children:"表情包激活概率"}),e.jsx(pe,{id:"emoji_chance",type:"number",step:"0.1",min:"0",max:"1",value:s.emoji_chance,onChange:m=>i({...s,emoji_chance:parseFloat(m.target.value)})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"范围 0-1,越大越容易发送表情包"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"max_reg_num",children:"最大注册数量"}),e.jsx(pe,{id:"max_reg_num",type:"number",min:"1",value:s.max_reg_num,onChange:m=>i({...s,max_reg_num:parseInt(m.target.value)})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"麦麦最多可以注册的表情包数量"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"check_interval",children:"检查间隔(分钟)"}),e.jsx(pe,{id:"check_interval",type:"number",min:"1",value:s.check_interval,onChange:m=>i({...s,check_interval:parseInt(m.target.value)})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"检查表情包(注册、破损、删除)的时间间隔"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ze,{id:"do_replace",checked:s.do_replace,onCheckedChange:m=>i({...s,do_replace:m})}),e.jsx(U,{htmlFor:"do_replace",className:"cursor-pointer",children:"达到最大数量时替换表情包"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ze,{id:"steal_emoji",checked:s.steal_emoji,onCheckedChange:m=>i({...s,steal_emoji:m})}),e.jsx(U,{htmlFor:"steal_emoji",className:"cursor-pointer",children:"偷取表情包"})]}),e.jsx("p",{className:"text-xs text-muted-foreground -mt-2",children:"允许麦麦将看到的表情包据为己有"}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ze,{id:"content_filtration",checked:s.content_filtration,onCheckedChange:m=>i({...s,content_filtration:m})}),e.jsx(U,{htmlFor:"content_filtration",className:"cursor-pointer",children:"启用表情包过滤"})]}),s.content_filtration&&e.jsxs("div",{className:"grid gap-2 pl-6 border-l-2 border-primary/20",children:[e.jsx(U,{htmlFor:"filtration_prompt",children:"过滤要求"}),e.jsx(pe,{id:"filtration_prompt",value:s.filtration_prompt,onChange:m=>i({...s,filtration_prompt:m.target.value}),placeholder:"符合公序良俗"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"只有符合此要求的表情包才会被保存"})]})]})]})})]})}function iM({keywordReactionConfig:s,responsePostProcessConfig:a,chineseTypoConfig:l,responseSplitterConfig:i,onKeywordReactionChange:c,onResponsePostProcessChange:d,onChineseTypoChange:m,onResponseSplitterChange:h}){const p=()=>{c({...s,regex_rules:[...s.regex_rules,{regex:[""],reaction:""}]})},v=k=>{c({...s,regex_rules:s.regex_rules.filter((D,A)=>A!==k)})},g=(k,D,A)=>{const E=[...s.regex_rules];D==="regex"&&typeof A=="string"?E[k]={...E[k],regex:[A]}:D==="reaction"&&typeof A=="string"&&(E[k]={...E[k],reaction:A}),c({...s,regex_rules:E})},j=({regex:k,reaction:D,onRegexChange:A,onReactionChange:E})=>{const[B,Y]=x.useState(!1),[G,$]=x.useState(""),[oe,je]=x.useState(null),[ae,me]=x.useState(""),[R,O]=x.useState({}),[L,ee]=x.useState(""),le=x.useRef(null),[xe,F]=x.useState("build"),W=de=>de.replace(/\(\?P<([^>]+)>/g,"(?<$1>"),fe=(de,Ce=0)=>{const Q=le.current;if(!Q)return;const Oe=Q.selectionStart||0,$e=Q.selectionEnd||0,re=k.substring(0,Oe)+de+k.substring($e);A(re),setTimeout(()=>{const Pe=Oe+de.length+Ce;Q.setSelectionRange(Pe,Pe),Q.focus()},0)};x.useEffect(()=>{if(!k||!G){je(null),O({}),ee(D),me("");return}try{const de=W(k),Ce=new RegExp(de,"g"),Q=G.match(Ce);je(Q),me("");const $e=new RegExp(de).exec(G);if($e&&$e.groups){O($e.groups);let re=D;Object.entries($e.groups).forEach(([Pe,ze])=>{re=re.replace(new RegExp(`\\[${Pe}\\]`,"g"),ze||"")}),ee(re)}else O({}),ee(D)}catch(de){me(de.message),je(null),O({}),ee(D)}},[k,G,D]);const I=()=>{if(!G||!oe||oe.length===0)return e.jsx("span",{className:"text-muted-foreground",children:G||"请输入测试文本"});try{const de=W(k),Ce=new RegExp(de,"g");let Q=0;const Oe=[];let $e;for(;($e=Ce.exec(G))!==null;)$e.index>Q&&Oe.push(e.jsx("span",{children:G.substring(Q,$e.index)},`text-${Q}`)),Oe.push(e.jsx("span",{className:"bg-yellow-200 dark:bg-yellow-900 font-semibold",children:$e[0]},`match-${$e.index}`)),Q=$e.index+$e[0].length;return Q)",desc:"Python风格命名捕获组",moveCursor:-1},{label:"非捕获组",pattern:"(?:)",desc:"分组但不保存匹配结果",moveCursor:-1}]},{category:"字符类",items:[{label:"字符集",pattern:"[]",desc:"匹配括号内的任意字符",moveCursor:-1},{label:"排除字符",pattern:"[^]",desc:"匹配不在括号内的字符",moveCursor:-1},{label:"范围",pattern:"[a-z]",desc:"匹配a到z的字符"},{label:"中文字符",pattern:"[\\u4e00-\\u9fa5]",desc:"匹配中文汉字"}]},{category:"常用模板",items:[{label:"捕获词语",pattern:"(?P\\S+)",desc:"捕获一个词语"},{label:"捕获句子",pattern:"(?P.+)",desc:"捕获整个句子"},{label:"捕获数字",pattern:"(?P\\d+)",desc:"捕获一个或多个数字"},{label:"可选词语",pattern:"(?:词语1|词语2)",desc:"匹配多个可选项之一"}]}];return e.jsxs(bs,{open:B,onOpenChange:Y,children:[e.jsx(x0,{asChild:!0,children:e.jsxs(q,{variant:"outline",size:"sm",children:[e.jsx(hd,{className:"h-4 w-4 mr-1"}),"正则编辑器"]})}),e.jsxs(ms,{className:"max-w-[95vw] sm:max-w-[900px] max-h-[90vh]",children:[e.jsxs(fs,{children:[e.jsx(hs,{children:"正则表达式编辑器"}),e.jsx(ks,{className:"text-sm",children:"使用可视化工具构建正则表达式,并实时测试效果"})]}),e.jsx(Ct,{className:"max-h-[calc(90vh-120px)]",children:e.jsxs(Ml,{value:xe,onValueChange:de=>F(de),className:"w-full",children:[e.jsxs($a,{className:"grid w-full grid-cols-2",children:[e.jsx(bt,{value:"build",children:"🔧 构建器"}),e.jsx(bt,{value:"test",children:"🧪 测试器"})]}),e.jsxs(Vt,{value:"build",className:"space-y-4 mt-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{className:"text-sm font-medium",children:"正则表达式"}),e.jsx(pe,{ref:le,value:k,onChange:de=>A(de.target.value),className:"font-mono text-sm",placeholder:"点击下方按钮构建正则表达式..."})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{className:"text-sm font-medium",children:"Reaction 内容"}),e.jsx(Dt,{value:D,onChange:de=>E(de.target.value),placeholder:"使用 [捕获组名] 引用捕获的内容...",rows:3,className:"text-sm"})]}),e.jsxs("div",{className:"space-y-4 border-t pt-4",children:[ve.map(de=>e.jsxs("div",{className:"space-y-2",children:[e.jsx("h5",{className:"text-xs font-semibold text-primary",children:de.category}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2",children:de.items.map(Ce=>e.jsx(q,{variant:"outline",size:"sm",className:"justify-start h-auto py-2 px-3",onClick:()=>fe(Ce.pattern,Ce.moveCursor||0),children:e.jsxs("div",{className:"flex flex-col items-start w-full",children:[e.jsxs("div",{className:"flex items-center gap-2 w-full",children:[e.jsx("span",{className:"text-xs font-medium",children:Ce.label}),e.jsx("code",{className:"ml-auto text-xs bg-muted px-1.5 py-0.5 rounded font-mono",children:Ce.pattern})]}),e.jsx("span",{className:"text-xs text-muted-foreground mt-0.5",children:Ce.desc})]})},Ce.label))})]},de.category)),e.jsxs("div",{className:"space-y-2 border-t pt-4",children:[e.jsx("h5",{className:"text-xs font-semibold text-primary",children:"完整示例模板"}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(q,{variant:"outline",size:"sm",className:"w-full justify-start h-auto py-2 px-3",onClick:()=>A("^(?P\\S{1,20})是这样的$"),children:e.jsxs("div",{className:"flex flex-col items-start w-full",children:[e.jsxs("code",{className:"text-xs font-mono bg-muted px-2 py-1 rounded w-full overflow-x-auto",children:["^(?P\\S","{1,20}",")是这样的$"]}),e.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"匹配「某事物是这样的」并捕获事物名称"})]})}),e.jsx(q,{variant:"outline",size:"sm",className:"w-full justify-start h-auto py-2 px-3",onClick:()=>A("(?:[^,。.\\s]+,\\s*)?我(?:也)?[没沒]要求你\\s*(?P.+?)[.。,,]?$"),children:e.jsxs("div",{className:"flex flex-col items-start w-full",children:[e.jsx("code",{className:"text-xs font-mono bg-muted px-2 py-1 rounded w-full overflow-x-auto",children:"(?:[^,。.\\s]+,\\s*)?我(?:也)?[没沒]要求你\\s*(?P.+?)[.。,,]?$"}),e.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"匹配「我没要求你做某事」并捕获具体行为"})]})}),e.jsx(q,{variant:"outline",size:"sm",className:"w-full justify-start h-auto py-2 px-3",onClick:()=>A("(?P.+?)(?:是|为什么|怎么)"),children:e.jsxs("div",{className:"flex flex-col items-start w-full",children:[e.jsx("code",{className:"text-xs font-mono bg-muted px-2 py-1 rounded w-full overflow-x-auto",children:"(?P.+?)(?:是|为什么|怎么)"}),e.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"捕获问题主题词"})]})})]})]})]}),e.jsxs("div",{className:"rounded-md bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 p-3 space-y-1",children:[e.jsx("p",{className:"text-xs font-medium text-blue-900 dark:text-blue-100",children:"💡 使用提示"}),e.jsxs("ul",{className:"text-xs text-blue-700 dark:text-blue-300 space-y-1 list-disc list-inside",children:[e.jsx("li",{children:"点击输入框设置光标位置,然后点击按钮插入模式"}),e.jsxs("li",{children:["命名捕获组格式:",e.jsx("code",{className:"bg-blue-100 dark:bg-blue-900 px-1 rounded",children:"(?P<名称>模式)"})]}),e.jsxs("li",{children:["在 reaction 中使用 ",e.jsx("code",{className:"bg-blue-100 dark:bg-blue-900 px-1 rounded",children:"[名称]"})," 引用捕获的内容"]}),e.jsx("li",{children:"切换到测试器标签页验证正则表达式效果"})]})]})]}),e.jsxs(Vt,{value:"test",className:"space-y-4 mt-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{className:"text-sm font-medium",children:"当前正则表达式"}),e.jsx("div",{className:"rounded-md bg-muted p-3 font-mono text-xs break-all",children:k||"(未设置)"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"test-text",className:"text-sm font-medium",children:"测试文本"}),e.jsx(Dt,{id:"test-text",value:G,onChange:de=>$(de.target.value),placeholder:`在此输入要测试的文本... +例如:打游戏是这样的`,className:"min-h-[100px] text-sm"})]}),ae&&e.jsxs("div",{className:"rounded-md bg-destructive/10 border border-destructive/20 p-3",children:[e.jsx("p",{className:"text-sm text-destructive font-medium",children:"正则表达式错误"}),e.jsx("p",{className:"text-xs text-destructive/80 mt-1",children:ae})]}),!ae&&G&&e.jsxs("div",{className:"space-y-3",children:[e.jsx("div",{className:"flex items-center gap-2",children:oe&&oe.length>0?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"h-2 w-2 rounded-full bg-green-500"}),e.jsxs("span",{className:"text-sm font-medium text-green-600 dark:text-green-400",children:["匹配成功 (",oe.length," 处)"]})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"h-2 w-2 rounded-full bg-gray-400"}),e.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"无匹配"})]})}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{className:"text-sm font-medium",children:"匹配高亮"}),e.jsx(Ct,{className:"h-40 rounded-md bg-muted p-3",children:e.jsx("div",{className:"text-sm break-words",children:I()})})]}),Object.keys(R).length>0&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{className:"text-sm font-medium",children:"命名捕获组"}),e.jsx(Ct,{className:"h-32 rounded-md border p-3",children:e.jsx("div",{className:"space-y-2",children:Object.entries(R).map(([de,Ce])=>e.jsxs("div",{className:"flex items-start gap-2 text-sm",children:[e.jsxs("span",{className:"font-mono font-semibold text-primary min-w-[80px]",children:["[",de,"]"]}),e.jsx("span",{className:"text-muted-foreground",children:"="}),e.jsx("span",{className:"font-mono bg-muted px-2 py-0.5 rounded",children:Ce})]},de))})})]}),Object.keys(R).length>0&&D&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{className:"text-sm font-medium",children:"Reaction 替换预览"}),e.jsx(Ct,{className:"h-48 rounded-md bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 p-3",children:e.jsx("div",{className:"text-sm break-words",children:L})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"reaction 中的 [name] 已被替换为对应的捕获组值"})]})]}),e.jsxs("div",{className:"rounded-md bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 p-3 space-y-1",children:[e.jsx("p",{className:"text-xs font-medium text-blue-900 dark:text-blue-100",children:"💡 测试说明"}),e.jsxs("ul",{className:"text-xs text-blue-700 dark:text-blue-300 space-y-1 list-disc list-inside",children:[e.jsx("li",{children:"匹配的文本会以黄色背景高亮显示"}),e.jsx("li",{children:"命名捕获组的值会显示在下方列表中"}),e.jsx("li",{children:"Reaction 替换预览显示最终生成的反应内容"}),e.jsx("li",{children:"如需修改正则,切换回构建器标签页"})]})]})]})]})})]})]})},b=()=>{c({...s,keyword_rules:[...s.keyword_rules,{keywords:[],reaction:""}]})},w=k=>{c({...s,keyword_rules:s.keyword_rules.filter((D,A)=>A!==k)})},S=(k,D,A)=>{const E=[...s.keyword_rules];typeof A=="string"&&(E[k]={...E[k],reaction:A}),c({...s,keyword_rules:E})},C=k=>{const D=[...s.keyword_rules];D[k]={...D[k],keywords:[...D[k].keywords||[],""]},c({...s,keyword_rules:D})},N=(k,D)=>{const A=[...s.keyword_rules];A[k]={...A[k],keywords:(A[k].keywords||[]).filter((E,B)=>B!==D)},c({...s,keyword_rules:A})},T=(k,D,A)=>{const E=[...s.keyword_rules],B=[...E[k].keywords||[]];B[D]=A,E[k]={...E[k],keywords:B},c({...s,keyword_rules:E})},P=({rule:k})=>{const D=`{ regex = [${(k.regex||[]).map(A=>`"${A}"`).join(", ")}], reaction = "${k.reaction}" }`;return e.jsxs(Ia,{children:[e.jsx(Wa,{asChild:!0,children:e.jsxs(q,{variant:"outline",size:"sm",children:[e.jsx(Mn,{className:"h-4 w-4 mr-1"}),"预览"]})}),e.jsx(pa,{className:"w-[95vw] sm:w-[500px]",children:e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),e.jsx(Ct,{className:"h-60 rounded-md bg-muted p-3",children:e.jsx("pre",{className:"font-mono text-xs break-all",children:D})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})},M=({rule:k})=>{const D=`[[keyword_reaction.keyword_rules]] +keywords = [${(k.keywords||[]).map(A=>`"${A}"`).join(", ")}] +reaction = "${k.reaction}"`;return e.jsxs(Ia,{children:[e.jsx(Wa,{asChild:!0,children:e.jsxs(q,{variant:"outline",size:"sm",children:[e.jsx(Mn,{className:"h-4 w-4 mr-1"}),"预览"]})}),e.jsx(pa,{className:"w-[95vw] sm:w-[500px]",children:e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),e.jsx(Ct,{className:"h-60 rounded-md bg-muted p-3",children:e.jsx("pre",{className:"font-mono text-xs whitespace-pre-wrap break-all",children:D})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})};return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold mb-2",children:"关键词反应配置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置触发特定反应的关键词和正则表达式规则"})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h4",{className:"text-base font-semibold",children:"正则表达式规则"}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"使用正则表达式匹配消息内容"})]}),e.jsxs(q,{onClick:p,size:"sm",variant:"outline",children:[e.jsx(ys,{className:"h-4 w-4 mr-1"}),"添加正则规则"]})]}),e.jsxs("div",{className:"space-y-3",children:[s.regex_rules.map((k,D)=>e.jsxs("div",{className:"rounded-lg border p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-sm font-medium",children:["正则规则 ",D+1]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(j,{regex:k.regex&&k.regex[0]||"",reaction:k.reaction,onRegexChange:A=>g(D,"regex",A),onReactionChange:A=>g(D,"reaction",A)}),e.jsx(P,{rule:k}),e.jsxs(Ft,{children:[e.jsx(_s,{asChild:!0,children:e.jsx(q,{size:"sm",variant:"ghost",children:e.jsx(ft,{className:"h-4 w-4"})})}),e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认删除"}),e.jsxs(Pt,{children:["确定要删除正则规则 ",D+1," 吗?此操作无法撤销。"]})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:()=>v(D),children:"删除"})]})]})]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{className:"text-xs font-medium",children:"正则表达式(Python 语法)"}),e.jsx(pe,{value:k.regex&&k.regex[0]||"",onChange:A=>g(D,"regex",A.target.value),placeholder:"例如:^(?P\\\\S{1,20})是这样的$ (点击正则编辑器按钮可视化构建)",className:"font-mono text-sm"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:'支持命名捕获组 (?Ppattern),可在 reaction 中使用 [name] 引用。点击"正则编辑器"可视化构建和测试!'})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{className:"text-xs font-medium",children:"反应内容"}),e.jsx(Dt,{value:k.reaction,onChange:A=>g(D,"reaction",A.target.value),placeholder:`触发后麦麦的反应... +可以使用 [捕获组名] 来引用正则表达式中的内容`,rows:3,className:"text-sm"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"使用 [捕获组名] 引用正则表达式中的命名捕获组,例如 [n] 会被替换为捕获的内容"})]})]})]},D)),s.regex_rules.length===0&&e.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无正则规则,点击"添加正则规则"开始配置'})]})]}),e.jsxs("div",{className:"space-y-4 border-t pt-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h4",{className:"text-base font-semibold",children:"关键词规则"}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"使用关键词列表匹配消息内容"})]}),e.jsxs(q,{onClick:b,size:"sm",variant:"outline",children:[e.jsx(ys,{className:"h-4 w-4 mr-1"}),"添加关键词规则"]})]}),e.jsxs("div",{className:"space-y-3",children:[s.keyword_rules.map((k,D)=>e.jsxs("div",{className:"rounded-lg border p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-sm font-medium",children:["关键词规则 ",D+1]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(M,{rule:k}),e.jsxs(Ft,{children:[e.jsx(_s,{asChild:!0,children:e.jsx(q,{size:"sm",variant:"ghost",children:e.jsx(ft,{className:"h-4 w-4"})})}),e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认删除"}),e.jsxs(Pt,{children:["确定要删除关键词规则 ",D+1," 吗?此操作无法撤销。"]})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:()=>w(D),children:"删除"})]})]})]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(U,{className:"text-xs font-medium",children:"关键词列表"}),e.jsxs(q,{onClick:()=>C(D),size:"sm",variant:"ghost",children:[e.jsx(ys,{className:"h-3 w-3 mr-1"}),"添加关键词"]})]}),e.jsxs("div",{className:"space-y-2",children:[(k.keywords||[]).map((A,E)=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(pe,{value:A,onChange:B=>T(D,E,B.target.value),placeholder:"关键词",className:"flex-1"}),e.jsx(q,{onClick:()=>N(D,E),size:"sm",variant:"ghost",children:e.jsx(ft,{className:"h-4 w-4"})})]},E)),(!k.keywords||k.keywords.length===0)&&e.jsx("p",{className:"text-xs text-muted-foreground text-center py-2",children:'暂无关键词,点击"添加关键词"开始配置'})]})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{className:"text-xs font-medium",children:"反应内容"}),e.jsx(Dt,{value:k.reaction,onChange:A=>S(D,"reaction",A.target.value),placeholder:"触发后麦麦的反应...",rows:3,className:"text-sm"})]})]})]},D)),s.keyword_rules.length===0&&e.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无关键词规则,点击"添加关键词规则"开始配置'})]})]})]}),e.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold mb-4",children:"回复后处理配置"}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ze,{id:"enable_response_post_process",checked:a.enable_response_post_process,onCheckedChange:k=>d({...a,enable_response_post_process:k})}),e.jsx(U,{htmlFor:"enable_response_post_process",className:"cursor-pointer",children:"启用回复后处理"})]}),e.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"包括错别字生成器和回复分割器"})]}),a.enable_response_post_process&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"border-t pt-6 space-y-4",children:e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center space-x-2 mb-4",children:[e.jsx(Ze,{id:"enable_chinese_typo",checked:l.enable,onCheckedChange:k=>m({...l,enable:k})}),e.jsx(U,{htmlFor:"enable_chinese_typo",className:"cursor-pointer font-semibold",children:"中文错别字生成器"})]}),e.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"为回复添加随机错别字,让麦麦的回复更自然"}),l.enable&&e.jsxs("div",{className:"grid gap-4 pl-6 border-l-2 border-primary/20",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"error_rate",className:"text-xs font-medium",children:"单字替换概率"}),e.jsx(pe,{id:"error_rate",type:"number",step:"0.001",min:"0",max:"1",value:l.error_rate,onChange:k=>m({...l,error_rate:parseFloat(k.target.value)})})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"min_freq",className:"text-xs font-medium",children:"最小字频阈值"}),e.jsx(pe,{id:"min_freq",type:"number",min:"0",value:l.min_freq,onChange:k=>m({...l,min_freq:parseInt(k.target.value)})})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"tone_error_rate",className:"text-xs font-medium",children:"声调错误概率"}),e.jsx(pe,{id:"tone_error_rate",type:"number",step:"0.01",min:"0",max:"1",value:l.tone_error_rate,onChange:k=>m({...l,tone_error_rate:parseFloat(k.target.value)})})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"word_replace_rate",className:"text-xs font-medium",children:"整词替换概率"}),e.jsx(pe,{id:"word_replace_rate",type:"number",step:"0.001",min:"0",max:"1",value:l.word_replace_rate,onChange:k=>m({...l,word_replace_rate:parseFloat(k.target.value)})})]})]})]})}),e.jsx("div",{className:"border-t pt-6 space-y-4",children:e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center space-x-2 mb-4",children:[e.jsx(Ze,{id:"enable_response_splitter",checked:i.enable,onCheckedChange:k=>h({...i,enable:k})}),e.jsx(U,{htmlFor:"enable_response_splitter",className:"cursor-pointer font-semibold",children:"回复分割器"})]}),e.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"控制回复的长度和句子数量"}),i.enable&&e.jsxs("div",{className:"grid gap-4 pl-6 border-l-2 border-primary/20",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"max_length",className:"text-xs font-medium",children:"最大长度"}),e.jsx(pe,{id:"max_length",type:"number",min:"1",value:i.max_length,onChange:k=>h({...i,max_length:parseInt(k.target.value)})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"回复允许的最大字符数"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"max_sentence_num",className:"text-xs font-medium",children:"最大句子数"}),e.jsx(pe,{id:"max_sentence_num",type:"number",min:"1",value:i.max_sentence_num,onChange:k=>h({...i,max_sentence_num:parseInt(k.target.value)})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"回复允许的最大句子数量"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ze,{id:"enable_kaomoji_protection",checked:i.enable_kaomoji_protection,onCheckedChange:k=>h({...i,enable_kaomoji_protection:k})}),e.jsx(U,{htmlFor:"enable_kaomoji_protection",className:"cursor-pointer",children:"启用颜文字保护"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ze,{id:"enable_overflow_return_all",checked:i.enable_overflow_return_all,onCheckedChange:k=>h({...i,enable_overflow_return_all:k})}),e.jsx(U,{htmlFor:"enable_overflow_return_all",className:"cursor-pointer",children:"超出时一次性返回全部"})]}),e.jsx("p",{className:"text-xs text-muted-foreground -mt-2",children:"当句子数量超出限制时,合并后一次性返回所有内容"})]})]})})]})]})]})}function oM({config:s,onChange:a}){return e.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[e.jsx("h3",{className:"text-lg font-semibold",children:"情绪设置"}),e.jsxs("div",{className:"grid gap-4",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ze,{checked:s.enable_mood,onCheckedChange:l=>a({...s,enable_mood:l})}),e.jsx(U,{className:"cursor-pointer",children:"启用情绪系统"})]}),s.enable_mood&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"情绪更新阈值"}),e.jsx(pe,{type:"number",min:"1",value:s.mood_update_threshold,onChange:l=>a({...s,mood_update_threshold:parseInt(l.target.value)})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"越高,更新越慢"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"情感特征"}),e.jsx(Dt,{value:s.emotion_style,onChange:l=>a({...s,emotion_style:l.target.value}),placeholder:"影响情绪的变化情况",rows:2})]})]})]})]})}function cM({config:s,onChange:a}){return e.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[e.jsx("h3",{className:"text-lg font-semibold",children:"语音设置"}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ze,{checked:s.enable_asr,onCheckedChange:l=>a({...s,enable_asr:l})}),e.jsx(U,{className:"cursor-pointer",children:"启用语音识别"})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"启用后麦麦可以识别语音消息,需要配置语音识别模型"})]})}function dM({config:s,onChange:a}){return e.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[e.jsx("h3",{className:"text-lg font-semibold",children:"LPMM 知识库设置"}),e.jsxs("div",{className:"grid gap-4",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ze,{checked:s.enable,onCheckedChange:l=>a({...s,enable:l})}),e.jsx(U,{className:"cursor-pointer",children:"启用 LPMM 知识库"})]}),s.enable&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"LPMM 模式"}),e.jsxs(rt,{value:s.lpmm_mode,onValueChange:l=>a({...s,lpmm_mode:l}),children:[e.jsx(at,{children:e.jsx(it,{placeholder:"选择 LPMM 模式"})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"classic",children:"经典模式"}),e.jsx(ye,{value:"agent",children:"Agent 模式"})]})]})]}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"同义词搜索 TopK"}),e.jsx(pe,{type:"number",min:"1",value:s.rag_synonym_search_top_k,onChange:l=>a({...s,rag_synonym_search_top_k:parseInt(l.target.value)})})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"同义词阈值"}),e.jsx(pe,{type:"number",step:"0.1",min:"0",max:"1",value:s.rag_synonym_threshold,onChange:l=>a({...s,rag_synonym_threshold:parseFloat(l.target.value)})})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"实体提取线程数"}),e.jsx(pe,{type:"number",min:"1",value:s.info_extraction_workers,onChange:l=>a({...s,info_extraction_workers:parseInt(l.target.value)})})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"嵌入向量维度"}),e.jsx(pe,{type:"number",min:"1",value:s.embedding_dimension,onChange:l=>a({...s,embedding_dimension:parseInt(l.target.value)})})]})]})]})]})]})}function uM({config:s,onChange:a}){const[l,i]=x.useState(""),[c,d]=x.useState("WARNING"),m=()=>{l&&!s.suppress_libraries.includes(l)&&(a({...s,suppress_libraries:[...s.suppress_libraries,l]}),i(""))},h=w=>{a({...s,suppress_libraries:s.suppress_libraries.filter(S=>S!==w)})},p=()=>{l&&!s.library_log_levels[l]&&(a({...s,library_log_levels:{...s.library_log_levels,[l]:c}}),i(""),d("WARNING"))},v=w=>{const S={...s.library_log_levels};delete S[w],a({...s,library_log_levels:S})},g=["DEBUG","INFO","WARNING","ERROR","CRITICAL"],j=["FULL","compact","lite"],b=["none","title","full"];return e.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6 space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold mb-4",children:"日志配置"}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"日期格式"}),e.jsx(pe,{value:s.date_style,onChange:w=>a({...s,date_style:w.target.value}),placeholder:"例如: m-d H:i:s"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"m=月, d=日, H=时, i=分, s=秒"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"日志级别样式"}),e.jsxs(rt,{value:s.log_level_style,onValueChange:w=>a({...s,log_level_style:w}),children:[e.jsx(at,{children:e.jsx(it,{})}),e.jsx(lt,{children:j.map(w=>e.jsx(ye,{value:w,children:w},w))})]})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"日志文本颜色"}),e.jsxs(rt,{value:s.color_text,onValueChange:w=>a({...s,color_text:w}),children:[e.jsx(at,{children:e.jsx(it,{})}),e.jsx(lt,{children:b.map(w=>e.jsx(ye,{value:w,children:w},w))})]})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"全局日志级别"}),e.jsxs(rt,{value:s.log_level,onValueChange:w=>a({...s,log_level:w}),children:[e.jsx(at,{children:e.jsx(it,{})}),e.jsx(lt,{children:g.map(w=>e.jsx(ye,{value:w,children:w},w))})]})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"控制台日志级别"}),e.jsxs(rt,{value:s.console_log_level,onValueChange:w=>a({...s,console_log_level:w}),children:[e.jsx(at,{children:e.jsx(it,{})}),e.jsx(lt,{children:g.map(w=>e.jsx(ye,{value:w,children:w},w))})]})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"文件日志级别"}),e.jsxs(rt,{value:s.file_log_level,onValueChange:w=>a({...s,file_log_level:w}),children:[e.jsx(at,{children:e.jsx(it,{})}),e.jsx(lt,{children:g.map(w=>e.jsx(ye,{value:w,children:w},w))})]})]})]})]}),e.jsxs("div",{children:[e.jsx(U,{className:"mb-2 block",children:"完全屏蔽的库"}),e.jsxs("div",{className:"flex gap-2 mb-2",children:[e.jsx(pe,{value:l,onChange:w=>i(w.target.value),placeholder:"输入库名",className:"flex-1",onKeyDown:w=>{w.key==="Enter"&&(w.preventDefault(),m())}}),e.jsx(q,{onClick:m,size:"sm",className:"flex-shrink-0",children:e.jsx(ys,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:s.suppress_libraries.map(w=>e.jsxs("div",{className:"flex items-center gap-1 bg-secondary px-3 py-1 rounded-md",children:[e.jsx("span",{className:"text-sm",children:w}),e.jsx(q,{variant:"ghost",size:"sm",className:"h-5 w-5 p-0",onClick:()=>h(w),children:e.jsx(ft,{className:"h-3 w-3",strokeWidth:2,fill:"none"})})]},w))})]}),e.jsxs("div",{children:[e.jsx(U,{className:"mb-2 block",children:"特定库的日志级别"}),e.jsxs("div",{className:"flex gap-2 mb-2",children:[e.jsx(pe,{value:l,onChange:w=>i(w.target.value),placeholder:"输入库名",className:"flex-1"}),e.jsxs(rt,{value:c,onValueChange:d,children:[e.jsx(at,{className:"w-32",children:e.jsx(it,{})}),e.jsx(lt,{children:g.map(w=>e.jsx(ye,{value:w,children:w},w))})]}),e.jsx(q,{onClick:p,size:"sm",children:e.jsx(ys,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]}),e.jsx("div",{className:"space-y-2",children:Object.entries(s.library_log_levels).map(([w,S])=>e.jsxs("div",{className:"flex items-center justify-between bg-secondary px-3 py-2 rounded-md",children:[e.jsx("span",{className:"text-sm font-medium",children:w}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:S}),e.jsx(q,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:()=>v(w),children:e.jsx(ft,{className:"h-3 w-3",strokeWidth:2,fill:"none"})})]})]},w))})]})]})}function mM({config:s,onChange:a}){return e.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[e.jsx("h3",{className:"text-lg font-semibold",children:"调试配置"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(U,{children:"显示 Prompt"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"是否在日志中显示提示词"})]}),e.jsx(Ze,{checked:s.show_prompt,onCheckedChange:l=>a({...s,show_prompt:l})})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(U,{children:"显示回复器 Prompt"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"是否显示回复器的提示词"})]}),e.jsx(Ze,{checked:s.show_replyer_prompt,onCheckedChange:l=>a({...s,show_replyer_prompt:l})})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(U,{children:"显示回复器推理"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"是否显示回复器的推理过程"})]}),e.jsx(Ze,{checked:s.show_replyer_reasoning,onCheckedChange:l=>a({...s,show_replyer_reasoning:l})})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(U,{children:"显示 Jargon Prompt"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"是否显示术语相关的提示词"})]}),e.jsx(Ze,{checked:s.show_jargon_prompt,onCheckedChange:l=>a({...s,show_jargon_prompt:l})})]})]})]})}function fM({config:s,onChange:a}){const[l,i]=x.useState(""),c=()=>{l&&!s.auth_token.includes(l)&&(a({...s,auth_token:[...s.auth_token,l]}),i(""))},d=m=>{a({...s,auth_token:s.auth_token.filter((h,p)=>p!==m)})};return e.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold mb-4",children:"MaimMessage 服务配置"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(U,{children:"启用自定义服务器"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"是否使用自定义的 MaimMessage 服务器"})]}),e.jsx(Ze,{checked:s.use_custom,onCheckedChange:m=>a({...s,use_custom:m})})]}),s.use_custom&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"主机地址"}),e.jsx(pe,{value:s.host,onChange:m=>a({...s,host:m.target.value}),placeholder:"127.0.0.1"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"端口号"}),e.jsx(pe,{type:"number",value:s.port,onChange:m=>a({...s,port:parseInt(m.target.value)}),placeholder:"8090"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"连接模式"}),e.jsxs(rt,{value:s.mode,onValueChange:m=>a({...s,mode:m}),children:[e.jsx(at,{children:e.jsx(it,{})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"ws",children:"WebSocket (ws)"}),e.jsx(ye,{value:"tcp",children:"TCP"})]})]})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ze,{checked:s.use_wss,onCheckedChange:m=>a({...s,use_wss:m}),disabled:s.mode!=="ws"}),e.jsx(U,{children:"使用 WSS 安全连接"})]})]}),s.use_wss&&s.mode==="ws"&&e.jsxs("div",{className:"grid gap-4",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"SSL 证书文件路径"}),e.jsx(pe,{value:s.cert_file,onChange:m=>a({...s,cert_file:m.target.value}),placeholder:"cert.pem"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"SSL 密钥文件路径"}),e.jsx(pe,{value:s.key_file,onChange:m=>a({...s,key_file:m.target.value}),placeholder:"key.pem"})]})]})]})]})]}),e.jsxs("div",{children:[e.jsx(U,{className:"mb-2 block",children:"认证令牌"}),e.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:"用于 API 验证,为空则不启用验证"}),e.jsxs("div",{className:"flex gap-2 mb-2",children:[e.jsx(pe,{value:l,onChange:m=>i(m.target.value),placeholder:"输入认证令牌",onKeyDown:m=>{m.key==="Enter"&&(m.preventDefault(),c())}}),e.jsx(q,{onClick:c,size:"sm",children:e.jsx(ys,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]}),e.jsx("div",{className:"space-y-2",children:s.auth_token.map((m,h)=>e.jsxs("div",{className:"flex items-center justify-between bg-secondary px-3 py-2 rounded-md",children:[e.jsx("span",{className:"text-sm font-mono",children:m}),e.jsx(q,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:()=>d(h),children:e.jsx(ft,{className:"h-3 w-3",strokeWidth:2,fill:"none"})})]},h))})]})]})}function hM({config:s,onChange:a}){return e.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[e.jsx("h3",{className:"text-lg font-semibold",children:"统计信息"}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(U,{children:"启用统计信息发送"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"发送匿名统计信息,帮助我们了解全球有多少只麦麦在运行"})]}),e.jsx(Ze,{checked:s.enable,onCheckedChange:l=>a({...s,enable:l})})]})]})}const Rl=x.forwardRef(({className:s,...a},l)=>e.jsx("div",{className:"relative w-full overflow-auto",children:e.jsx("table",{ref:l,className:Z("w-full caption-bottom text-sm",s),...a})}));Rl.displayName="Table";const zl=x.forwardRef(({className:s,...a},l)=>e.jsx("thead",{ref:l,className:Z("[&_tr]:border-b",s),...a}));zl.displayName="TableHeader";const Pl=x.forwardRef(({className:s,...a},l)=>e.jsx("tbody",{ref:l,className:Z("[&_tr:last-child]:border-0",s),...a}));Pl.displayName="TableBody";const xM=x.forwardRef(({className:s,...a},l)=>e.jsx("tfoot",{ref:l,className:Z("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",s),...a}));xM.displayName="TableFooter";const ns=x.forwardRef(({className:s,...a},l)=>e.jsx("tr",{ref:l,className:Z("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",s),...a}));ns.displayName="TableRow";const He=x.forwardRef(({className:s,...a},l)=>e.jsx("th",{ref:l,className:Z("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",s),...a}));He.displayName="TableHead";const Ae=x.forwardRef(({className:s,...a},l)=>e.jsx("td",{ref:l,className:Z("px-4 py-3 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",s),...a}));Ae.displayName="TableCell";const pM=x.forwardRef(({className:s,...a},l)=>e.jsx("caption",{ref:l,className:Z("mt-4 text-sm text-muted-foreground",s),...a}));pM.displayName="TableCaption";const Cs=x.forwardRef(({className:s,...a},l)=>e.jsx(_y,{ref:l,className:Z("grid place-content-center peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",s),...a,children:e.jsx(N2,{className:Z("grid place-content-center text-current"),children:e.jsx(Cl,{className:"h-4 w-4"})})}));Cs.displayName=_y.displayName;function gM(){const[s,a]=x.useState([]),[l,i]=x.useState(!0),[c,d]=x.useState(!1),[m,h]=x.useState(!1),[p,v]=x.useState(!1),[g,j]=x.useState(!1),[b,w]=x.useState(!1),[S,C]=x.useState(!1),[N,T]=x.useState(null),[P,M]=x.useState(null),[k,D]=x.useState(!1),[A,E]=x.useState(null),[B,Y]=x.useState(!1),[G,$]=x.useState(""),[oe,je]=x.useState(new Set),[ae,me]=x.useState(!1),[R,O]=x.useState(1),[L,ee]=x.useState(20),[le,xe]=x.useState(""),{toast:F}=Es(),W=x.useRef(null),fe=x.useRef(!0);x.useEffect(()=>{I()},[]);const I=async()=>{try{i(!0);const he=await Ur();a(he.api_providers||[]),v(!1),fe.current=!1}catch(he){console.error("加载配置失败:",he)}finally{i(!1)}},ve=async()=>{try{j(!0),Lh().catch(()=>{}),w(!0)}catch(he){console.error("重启失败:",he),w(!1),F({title:"重启失败",description:"无法发送重启请求,请手动重启",variant:"destructive"}),j(!1)}},de=async()=>{try{d(!0),W.current&&clearTimeout(W.current);const he=await Ur();he.api_providers=s,await Nd(he),v(!1),F({title:"保存成功",description:"正在重启麦麦..."}),await ve()}catch(he){console.error("保存配置失败:",he),F({title:"保存失败",description:he.message,variant:"destructive"}),d(!1)}},Ce=()=>{localStorage.removeItem("access-token"),window.location.href="/auth"},Q=()=>{w(!1),j(!1),F({title:"重启超时",description:"服务未能在预期时间内恢复,请手动检查或刷新页面",variant:"destructive"})},Oe=x.useCallback(async he=>{if(!fe.current)try{h(!0),await Xf("api_providers",he),v(!1)}catch(Ee){console.error("自动保存失败:",Ee),v(!0)}finally{h(!1)}},[]);x.useEffect(()=>{if(!fe.current)return v(!0),W.current&&clearTimeout(W.current),W.current=setTimeout(()=>{Oe(s)},2e3),()=>{W.current&&clearTimeout(W.current)}},[s,Oe]);const $e=async()=>{try{d(!0),W.current&&clearTimeout(W.current);const he=await Ur();he.api_providers=s,await Nd(he),v(!1),F({title:"保存成功",description:"模型提供商配置已保存"})}catch(he){console.error("保存配置失败:",he),F({title:"保存失败",description:he.message,variant:"destructive"})}finally{d(!1)}},re=(he,Ee)=>{T(he||{name:"",base_url:"",api_key:"",client_type:"openai",max_retry:2,timeout:30,retry_interval:10}),M(Ee),Y(!1),C(!0)},Pe=async()=>{if(N?.api_key)try{await navigator.clipboard.writeText(N.api_key),F({title:"复制成功",description:"API Key 已复制到剪贴板"})}catch{F({title:"复制失败",description:"无法访问剪贴板",variant:"destructive"})}},ze=()=>{if(!N)return;const he={...N,max_retry:N.max_retry??2,timeout:N.timeout??30,retry_interval:N.retry_interval??10};if(P!==null){const Ee=[...s];Ee[P]=he,a(Ee)}else a([...s,he]);C(!1),T(null),M(null)},Zt=he=>{if(!he&&N){const Ee={...N,max_retry:N.max_retry??2,timeout:N.timeout??30,retry_interval:N.retry_interval??10};T(Ee)}C(he)},Rs=he=>{E(he),D(!0)},An=()=>{if(A!==null){const he=s.filter((Ee,Ve)=>Ve!==A);a(he),F({title:"删除成功",description:"提供商已从列表中移除"})}D(!1),E(null)},Le=he=>{const Ee=new Set(oe);Ee.has(he)?Ee.delete(he):Ee.add(he),je(Ee)},Nn=()=>{if(oe.size===Xt.length)je(new Set);else{const he=Xt.map((Ee,Ve)=>s.findIndex(Os=>Os===Xt[Ve]));je(new Set(he))}},ln=()=>{if(oe.size===0){F({title:"提示",description:"请先选择要删除的提供商",variant:"default"});return}me(!0)},rn=()=>{const he=s.filter((Ee,Ve)=>!oe.has(Ve));a(he),je(new Set),me(!1),F({title:"批量删除成功",description:`已删除 ${oe.size} 个提供商`})},Xt=s.filter(he=>{if(!G)return!0;const Ee=G.toLowerCase();return he.name.toLowerCase().includes(Ee)||he.base_url.toLowerCase().includes(Ee)||he.client_type.toLowerCase().includes(Ee)}),Ds=Math.ceil(Xt.length/L),ke=Xt.slice((R-1)*L,R*L),is=()=>{const he=parseInt(le);he>=1&&he<=Ds&&(O(he),xe(""))};return l?e.jsx("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:e.jsx("div",{className:"flex items-center justify-center h-64",children:e.jsx("p",{className:"text-muted-foreground",children:"加载中..."})})}):e.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"模型提供商配置"}),e.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理 API 提供商配置"})]}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[oe.size>0&&e.jsxs(q,{onClick:ln,size:"sm",variant:"destructive",className:"w-full sm:w-auto",children:[e.jsx(ft,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"批量删除 (",oe.size,")"]}),e.jsxs(q,{onClick:()=>re(null,null),size:"sm",className:"w-full sm:w-auto",children:[e.jsx(ys,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"添加提供商"]}),e.jsxs(q,{onClick:$e,disabled:c||m||!p||g,size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[e.jsx(vh,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),c?"保存中...":m?"自动保存中...":p?"保存配置":"已保存"]}),e.jsxs(Ft,{children:[e.jsx(_s,{asChild:!0,children:e.jsxs(q,{disabled:c||m||g,size:"sm",className:"w-full sm:w-auto",children:[e.jsx(jh,{className:"mr-2 h-4 w-4"}),g?"重启中...":p?"保存并重启":"重启麦麦"]})}),e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认重启麦麦?"}),e.jsx(Pt,{children:p?"当前有未保存的配置更改。点击确认将先保存配置,然后重启麦麦使新配置生效。重启过程中麦麦将暂时离线。":"即将重启麦麦主程序。重启过程中麦麦将暂时离线,配置将在重启后生效。"})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:p?de:ve,children:p?"保存并重启":"确认重启"})]})]})]})]})]}),e.jsxs(Vd,{children:[e.jsx(Fr,{className:"h-4 w-4"}),e.jsxs(Gd,{children:["配置更新后需要",e.jsx("strong",{children:"重启麦麦"}),'才能生效。你可以点击右上角的"保存并重启"按钮一键完成保存和重启。']})]}),e.jsxs(Ct,{className:"h-[calc(100vh-260px)]",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-2 mb-4",children:[e.jsxs("div",{className:"relative w-full sm:flex-1 sm:max-w-sm",children:[e.jsx(Gs,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),e.jsx(pe,{placeholder:"搜索提供商名称、URL 或类型...",value:G,onChange:he=>$(he.target.value),className:"pl-9"})]}),G&&e.jsxs("p",{className:"text-sm text-muted-foreground whitespace-nowrap",children:["找到 ",Xt.length," 个结果"]})]}),e.jsx("div",{className:"md:hidden space-y-3",children:Xt.length===0?e.jsx("div",{className:"text-center text-muted-foreground py-8 rounded-lg border bg-card",children:G?"未找到匹配的提供商":'暂无提供商配置,点击"添加提供商"开始配置'}):ke.map((he,Ee)=>{const Ve=s.findIndex(Os=>Os===he);return e.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"font-semibold text-base truncate",children:he.name}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1 break-all",children:he.base_url})]}),e.jsxs("div",{className:"flex gap-1 flex-shrink-0",children:[e.jsxs(q,{variant:"default",size:"sm",onClick:()=>re(he,Ve),children:[e.jsx(Yr,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"编辑"]}),e.jsxs(q,{size:"sm",onClick:()=>Rs(Ve),className:"bg-red-600 hover:bg-red-700 text-white",children:[e.jsx(ft,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"删除"]})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground text-xs",children:"客户端类型"}),e.jsx("p",{className:"font-medium",children:he.client_type})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground text-xs",children:"最大重试"}),e.jsx("p",{className:"font-medium",children:he.max_retry})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground text-xs",children:"超时(秒)"}),e.jsx("p",{className:"font-medium",children:he.timeout})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground text-xs",children:"重试间隔(秒)"}),e.jsx("p",{className:"font-medium",children:he.retry_interval})]})]})]},Ee)})}),e.jsx("div",{className:"hidden md:block rounded-lg border bg-card overflow-hidden",children:e.jsxs(Rl,{children:[e.jsx(zl,{children:e.jsxs(ns,{children:[e.jsx(He,{className:"w-12",children:e.jsx(Cs,{checked:oe.size===Xt.length&&Xt.length>0,onCheckedChange:Nn})}),e.jsx(He,{children:"名称"}),e.jsx(He,{children:"基础URL"}),e.jsx(He,{children:"客户端类型"}),e.jsx(He,{className:"text-right",children:"最大重试"}),e.jsx(He,{className:"text-right",children:"超时(秒)"}),e.jsx(He,{className:"text-right",children:"重试间隔(秒)"}),e.jsx(He,{className:"text-right",children:"操作"})]})}),e.jsx(Pl,{children:ke.length===0?e.jsx(ns,{children:e.jsx(Ae,{colSpan:8,className:"text-center text-muted-foreground py-8",children:G?"未找到匹配的提供商":'暂无提供商配置,点击"添加提供商"开始配置'})}):ke.map((he,Ee)=>{const Ve=s.findIndex(Os=>Os===he);return e.jsxs(ns,{children:[e.jsx(Ae,{children:e.jsx(Cs,{checked:oe.has(Ve),onCheckedChange:()=>Le(Ve)})}),e.jsx(Ae,{className:"font-medium",children:he.name}),e.jsx(Ae,{className:"max-w-xs truncate",title:he.base_url,children:he.base_url}),e.jsx(Ae,{children:he.client_type}),e.jsx(Ae,{className:"text-right",children:he.max_retry}),e.jsx(Ae,{className:"text-right",children:he.timeout}),e.jsx(Ae,{className:"text-right",children:he.retry_interval}),e.jsx(Ae,{className:"text-right",children:e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsxs(q,{variant:"default",size:"sm",onClick:()=>re(he,Ve),children:[e.jsx(Yr,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"编辑"]}),e.jsxs(q,{size:"sm",onClick:()=>Rs(Ve),className:"bg-red-600 hover:bg-red-700 text-white",children:[e.jsx(ft,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"删除"]})]})})]},Ee)})})]})}),Xt.length>0&&e.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 mt-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(U,{htmlFor:"page-size-provider",className:"text-sm whitespace-nowrap",children:"每页显示"}),e.jsxs(rt,{value:L.toString(),onValueChange:he=>{ee(parseInt(he)),O(1),je(new Set)},children:[e.jsx(at,{id:"page-size-provider",className:"w-20",children:e.jsx(it,{})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"10",children:"10"}),e.jsx(ye,{value:"20",children:"20"}),e.jsx(ye,{value:"50",children:"50"}),e.jsx(ye,{value:"100",children:"100"})]})]}),e.jsxs("span",{className:"text-sm text-muted-foreground",children:["显示 ",(R-1)*L+1," 到"," ",Math.min(R*L,Xt.length)," 条,共 ",Xt.length," 条"]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(q,{variant:"outline",size:"sm",onClick:()=>O(1),disabled:R===1,className:"hidden sm:flex",children:e.jsx(vo,{className:"h-4 w-4"})}),e.jsxs(q,{variant:"outline",size:"sm",onClick:()=>O(he=>Math.max(1,he-1)),disabled:R===1,children:[e.jsx(Ol,{className:"h-4 w-4 sm:mr-1"}),e.jsx("span",{className:"hidden sm:inline",children:"上一页"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(pe,{type:"number",value:le,onChange:he=>xe(he.target.value),onKeyDown:he=>he.key==="Enter"&&is(),placeholder:R.toString(),className:"w-16 h-8 text-center",min:1,max:Ds}),e.jsx(q,{variant:"outline",size:"sm",onClick:is,disabled:!le,className:"h-8",children:"跳转"})]}),e.jsxs(q,{variant:"outline",size:"sm",onClick:()=>O(he=>he+1),disabled:R>=Ds,children:[e.jsx("span",{className:"hidden sm:inline",children:"下一页"}),e.jsx(Al,{className:"h-4 w-4 sm:ml-1"})]}),e.jsx(q,{variant:"outline",size:"sm",onClick:()=>O(Ds),disabled:R>=Ds,className:"hidden sm:flex",children:e.jsx(jo,{className:"h-4 w-4"})})]})]})]}),e.jsx(bs,{open:S,onOpenChange:Zt,children:e.jsxs(ms,{className:"max-w-[95vw] sm:max-w-2xl max-h-[90vh] overflow-y-auto",children:[e.jsxs(fs,{children:[e.jsx(hs,{children:P!==null?"编辑提供商":"添加提供商"}),e.jsx(ks,{children:"配置 API 提供商的连接信息和参数"})]}),e.jsxs("div",{className:"grid gap-4 py-4",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"name",children:"名称 *"}),e.jsx(pe,{id:"name",value:N?.name||"",onChange:he=>T(Ee=>Ee?{...Ee,name:he.target.value}:null),placeholder:"例如: DeepSeek, SiliconFlow"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"base_url",children:"基础 URL *"}),e.jsx(pe,{id:"base_url",value:N?.base_url||"",onChange:he=>T(Ee=>Ee?{...Ee,base_url:he.target.value}:null),placeholder:"https://api.example.com/v1"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"api_key",children:"API Key *"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(pe,{id:"api_key",type:B?"text":"password",value:N?.api_key||"",onChange:he=>T(Ee=>Ee?{...Ee,api_key:he.target.value}:null),placeholder:"sk-...",className:"flex-1"}),e.jsx(q,{type:"button",variant:"outline",size:"icon",onClick:()=>Y(!B),title:B?"隐藏密钥":"显示密钥",children:B?e.jsx(Of,{className:"h-4 w-4"}):e.jsx(Mn,{className:"h-4 w-4"})}),e.jsx(q,{type:"button",variant:"outline",size:"icon",onClick:Pe,title:"复制密钥",children:e.jsx(Df,{className:"h-4 w-4"})})]})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"client_type",children:"客户端类型"}),e.jsxs(rt,{value:N?.client_type||"openai",onValueChange:he=>T(Ee=>Ee?{...Ee,client_type:he}:null),children:[e.jsx(at,{id:"client_type",children:e.jsx(it,{placeholder:"选择客户端类型"})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"openai",children:"OpenAI"}),e.jsx(ye,{value:"gemini",children:"Gemini"})]})]})]}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"max_retry",children:"最大重试"}),e.jsx(pe,{id:"max_retry",type:"number",min:"0",value:N?.max_retry??"",onChange:he=>{const Ee=he.target.value===""?null:parseInt(he.target.value);T(Ve=>Ve?{...Ve,max_retry:Ee}:null)},placeholder:"默认: 2"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"timeout",children:"超时(秒)"}),e.jsx(pe,{id:"timeout",type:"number",min:"1",value:N?.timeout??"",onChange:he=>{const Ee=he.target.value===""?null:parseInt(he.target.value);T(Ve=>Ve?{...Ve,timeout:Ee}:null)},placeholder:"默认: 30"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"retry_interval",children:"重试间隔(秒)"}),e.jsx(pe,{id:"retry_interval",type:"number",min:"1",value:N?.retry_interval??"",onChange:he=>{const Ee=he.target.value===""?null:parseInt(he.target.value);T(Ve=>Ve?{...Ve,retry_interval:Ee}:null)},placeholder:"默认: 10"})]})]})]}),e.jsxs($s,{children:[e.jsx(q,{variant:"outline",onClick:()=>C(!1),children:"取消"}),e.jsx(q,{onClick:ze,children:"保存"})]})]})}),e.jsx(Ft,{open:k,onOpenChange:D,children:e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认删除"}),e.jsxs(Pt,{children:['确定要删除提供商 "',A!==null?s[A]?.name:"",'" 吗? 此操作无法撤销。']})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:An,children:"删除"})]})]})}),e.jsx(Ft,{open:ae,onOpenChange:me,children:e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认批量删除"}),e.jsxs(Pt,{children:["确定要删除选中的 ",oe.size," 个提供商吗? 此操作无法撤销。"]})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:rn,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"批量删除"})]})]})}),b&&e.jsx(Bh,{onRestartComplete:Ce,onRestartFailed:Q})]})}var Uj=1,vM=.9,jM=.8,yM=.17,Sf=.1,_f=.999,bM=.9999,NM=.99,wM=/[\\\/_+.#"@\[\(\{&]/,SM=/[\\\/_+.#"@\[\(\{&]/g,_M=/[\s-]/,xN=/[\s-]/g;function Kf(s,a,l,i,c,d,m){if(d===a.length)return c===s.length?Uj:NM;var h=`${c},${d}`;if(m[h]!==void 0)return m[h];for(var p=i.charAt(d),v=l.indexOf(p,c),g=0,j,b,w,S;v>=0;)j=Kf(s,a,l,i,v+1,d+1,m),j>g&&(v===c?j*=Uj:wM.test(s.charAt(v-1))?(j*=jM,w=s.slice(c,v-1).match(SM),w&&c>0&&(j*=Math.pow(_f,w.length))):_M.test(s.charAt(v-1))?(j*=vM,S=s.slice(c,v-1).match(xN),S&&c>0&&(j*=Math.pow(_f,S.length))):(j*=yM,c>0&&(j*=Math.pow(_f,v-c))),s.charAt(v)!==a.charAt(d)&&(j*=bM)),(jj&&(j=b*Sf)),j>g&&(g=j),v=l.indexOf(p,v+1);return m[h]=g,g}function Hj(s){return s.toLowerCase().replace(xN," ")}function CM(s,a,l){return s=l&&l.length>0?`${s+" "+l.join(" ")}`:s,Kf(s,a,Hj(s),Hj(a),0,0,{})}var kM=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Ja=kM.reduce((s,a)=>{const l=ih(`Primitive.${a}`),i=x.forwardRef((c,d)=>{const{asChild:m,...h}=c,p=m?l:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),e.jsx(p,{...h,ref:d})});return i.displayName=`Primitive.${a}`,{...s,[a]:i}},{}),Zi='[cmdk-group=""]',Cf='[cmdk-group-items=""]',TM='[cmdk-group-heading=""]',pN='[cmdk-item=""]',Fj=`${pN}:not([aria-disabled="true"])`,Qf="cmdk-item-select",Ar="data-value",EM=(s,a,l)=>CM(s,a,l),gN=x.createContext(void 0),ko=()=>x.useContext(gN),vN=x.createContext(void 0),Uh=()=>x.useContext(vN),jN=x.createContext(void 0),yN=x.forwardRef((s,a)=>{let l=Rr(()=>{var F,W;return{search:"",value:(W=(F=s.value)!=null?F:s.defaultValue)!=null?W:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),i=Rr(()=>new Set),c=Rr(()=>new Map),d=Rr(()=>new Map),m=Rr(()=>new Set),h=bN(s),{label:p,children:v,value:g,onValueChange:j,filter:b,shouldFilter:w,loop:S,disablePointerSelection:C=!1,vimBindings:N=!0,...T}=s,P=jn(),M=jn(),k=jn(),D=x.useRef(null),A=HM();Dl(()=>{if(g!==void 0){let F=g.trim();l.current.value=F,E.emit()}},[g]),Dl(()=>{A(6,je)},[]);let E=x.useMemo(()=>({subscribe:F=>(m.current.add(F),()=>m.current.delete(F)),snapshot:()=>l.current,setState:(F,W,fe)=>{var I,ve,de,Ce;if(!Object.is(l.current[F],W)){if(l.current[F]=W,F==="search")oe(),G(),A(1,$);else if(F==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let Q=document.getElementById(k);Q?Q.focus():(I=document.getElementById(P))==null||I.focus()}if(A(7,()=>{var Q;l.current.selectedItemId=(Q=ae())==null?void 0:Q.id,E.emit()}),fe||A(5,je),((ve=h.current)==null?void 0:ve.value)!==void 0){let Q=W??"";(Ce=(de=h.current).onValueChange)==null||Ce.call(de,Q);return}}E.emit()}},emit:()=>{m.current.forEach(F=>F())}}),[]),B=x.useMemo(()=>({value:(F,W,fe)=>{var I;W!==((I=d.current.get(F))==null?void 0:I.value)&&(d.current.set(F,{value:W,keywords:fe}),l.current.filtered.items.set(F,Y(W,fe)),A(2,()=>{G(),E.emit()}))},item:(F,W)=>(i.current.add(F),W&&(c.current.has(W)?c.current.get(W).add(F):c.current.set(W,new Set([F]))),A(3,()=>{oe(),G(),l.current.value||$(),E.emit()}),()=>{d.current.delete(F),i.current.delete(F),l.current.filtered.items.delete(F);let fe=ae();A(4,()=>{oe(),fe?.getAttribute("id")===F&&$(),E.emit()})}),group:F=>(c.current.has(F)||c.current.set(F,new Set),()=>{d.current.delete(F),c.current.delete(F)}),filter:()=>h.current.shouldFilter,label:p||s["aria-label"],getDisablePointerSelection:()=>h.current.disablePointerSelection,listId:P,inputId:k,labelId:M,listInnerRef:D}),[]);function Y(F,W){var fe,I;let ve=(I=(fe=h.current)==null?void 0:fe.filter)!=null?I:EM;return F?ve(F,l.current.search,W):0}function G(){if(!l.current.search||h.current.shouldFilter===!1)return;let F=l.current.filtered.items,W=[];l.current.filtered.groups.forEach(I=>{let ve=c.current.get(I),de=0;ve.forEach(Ce=>{let Q=F.get(Ce);de=Math.max(Q,de)}),W.push([I,de])});let fe=D.current;me().sort((I,ve)=>{var de,Ce;let Q=I.getAttribute("id"),Oe=ve.getAttribute("id");return((de=F.get(Oe))!=null?de:0)-((Ce=F.get(Q))!=null?Ce:0)}).forEach(I=>{let ve=I.closest(Cf);ve?ve.appendChild(I.parentElement===ve?I:I.closest(`${Cf} > *`)):fe.appendChild(I.parentElement===fe?I:I.closest(`${Cf} > *`))}),W.sort((I,ve)=>ve[1]-I[1]).forEach(I=>{var ve;let de=(ve=D.current)==null?void 0:ve.querySelector(`${Zi}[${Ar}="${encodeURIComponent(I[0])}"]`);de?.parentElement.appendChild(de)})}function $(){let F=me().find(fe=>fe.getAttribute("aria-disabled")!=="true"),W=F?.getAttribute(Ar);E.setState("value",W||void 0)}function oe(){var F,W,fe,I;if(!l.current.search||h.current.shouldFilter===!1){l.current.filtered.count=i.current.size;return}l.current.filtered.groups=new Set;let ve=0;for(let de of i.current){let Ce=(W=(F=d.current.get(de))==null?void 0:F.value)!=null?W:"",Q=(I=(fe=d.current.get(de))==null?void 0:fe.keywords)!=null?I:[],Oe=Y(Ce,Q);l.current.filtered.items.set(de,Oe),Oe>0&&ve++}for(let[de,Ce]of c.current)for(let Q of Ce)if(l.current.filtered.items.get(Q)>0){l.current.filtered.groups.add(de);break}l.current.filtered.count=ve}function je(){var F,W,fe;let I=ae();I&&(((F=I.parentElement)==null?void 0:F.firstChild)===I&&((fe=(W=I.closest(Zi))==null?void 0:W.querySelector(TM))==null||fe.scrollIntoView({block:"nearest"})),I.scrollIntoView({block:"nearest"}))}function ae(){var F;return(F=D.current)==null?void 0:F.querySelector(`${pN}[aria-selected="true"]`)}function me(){var F;return Array.from(((F=D.current)==null?void 0:F.querySelectorAll(Fj))||[])}function R(F){let W=me()[F];W&&E.setState("value",W.getAttribute(Ar))}function O(F){var W;let fe=ae(),I=me(),ve=I.findIndex(Ce=>Ce===fe),de=I[ve+F];(W=h.current)!=null&&W.loop&&(de=ve+F<0?I[I.length-1]:ve+F===I.length?I[0]:I[ve+F]),de&&E.setState("value",de.getAttribute(Ar))}function L(F){let W=ae(),fe=W?.closest(Zi),I;for(;fe&&!I;)fe=F>0?BM(fe,Zi):UM(fe,Zi),I=fe?.querySelector(Fj);I?E.setState("value",I.getAttribute(Ar)):O(F)}let ee=()=>R(me().length-1),le=F=>{F.preventDefault(),F.metaKey?ee():F.altKey?L(1):O(1)},xe=F=>{F.preventDefault(),F.metaKey?R(0):F.altKey?L(-1):O(-1)};return x.createElement(Ja.div,{ref:a,tabIndex:-1,...T,"cmdk-root":"",onKeyDown:F=>{var W;(W=T.onKeyDown)==null||W.call(T,F);let fe=F.nativeEvent.isComposing||F.keyCode===229;if(!(F.defaultPrevented||fe))switch(F.key){case"n":case"j":{N&&F.ctrlKey&&le(F);break}case"ArrowDown":{le(F);break}case"p":case"k":{N&&F.ctrlKey&&xe(F);break}case"ArrowUp":{xe(F);break}case"Home":{F.preventDefault(),R(0);break}case"End":{F.preventDefault(),ee();break}case"Enter":{F.preventDefault();let I=ae();if(I){let ve=new Event(Qf);I.dispatchEvent(ve)}}}}},x.createElement("label",{"cmdk-label":"",htmlFor:B.inputId,id:B.labelId,style:YM},p),$d(s,F=>x.createElement(vN.Provider,{value:E},x.createElement(gN.Provider,{value:B},F))))}),MM=x.forwardRef((s,a)=>{var l,i;let c=jn(),d=x.useRef(null),m=x.useContext(jN),h=ko(),p=bN(s),v=(i=(l=p.current)==null?void 0:l.forceMount)!=null?i:m?.forceMount;Dl(()=>{if(!v)return h.item(c,m?.id)},[v]);let g=NN(c,d,[s.value,s.children,d],s.keywords),j=Uh(),b=Xa(A=>A.value&&A.value===g.current),w=Xa(A=>v||h.filter()===!1?!0:A.search?A.filtered.items.get(c)>0:!0);x.useEffect(()=>{let A=d.current;if(!(!A||s.disabled))return A.addEventListener(Qf,S),()=>A.removeEventListener(Qf,S)},[w,s.onSelect,s.disabled]);function S(){var A,E;C(),(E=(A=p.current).onSelect)==null||E.call(A,g.current)}function C(){j.setState("value",g.current,!0)}if(!w)return null;let{disabled:N,value:T,onSelect:P,forceMount:M,keywords:k,...D}=s;return x.createElement(Ja.div,{ref:Ga(d,a),...D,id:c,"cmdk-item":"",role:"option","aria-disabled":!!N,"aria-selected":!!b,"data-disabled":!!N,"data-selected":!!b,onPointerMove:N||h.getDisablePointerSelection()?void 0:C,onClick:N?void 0:S},s.children)}),DM=x.forwardRef((s,a)=>{let{heading:l,children:i,forceMount:c,...d}=s,m=jn(),h=x.useRef(null),p=x.useRef(null),v=jn(),g=ko(),j=Xa(w=>c||g.filter()===!1?!0:w.search?w.filtered.groups.has(m):!0);Dl(()=>g.group(m),[]),NN(m,h,[s.value,s.heading,p]);let b=x.useMemo(()=>({id:m,forceMount:c}),[c]);return x.createElement(Ja.div,{ref:Ga(h,a),...d,"cmdk-group":"",role:"presentation",hidden:j?void 0:!0},l&&x.createElement("div",{ref:p,"cmdk-group-heading":"","aria-hidden":!0,id:v},l),$d(s,w=>x.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":l?v:void 0},x.createElement(jN.Provider,{value:b},w))))}),OM=x.forwardRef((s,a)=>{let{alwaysRender:l,...i}=s,c=x.useRef(null),d=Xa(m=>!m.search);return!l&&!d?null:x.createElement(Ja.div,{ref:Ga(c,a),...i,"cmdk-separator":"",role:"separator"})}),AM=x.forwardRef((s,a)=>{let{onValueChange:l,...i}=s,c=s.value!=null,d=Uh(),m=Xa(v=>v.search),h=Xa(v=>v.selectedItemId),p=ko();return x.useEffect(()=>{s.value!=null&&d.setState("search",s.value)},[s.value]),x.createElement(Ja.input,{ref:a,...i,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":p.listId,"aria-labelledby":p.labelId,"aria-activedescendant":h,id:p.inputId,type:"text",value:c?s.value:m,onChange:v=>{c||d.setState("search",v.target.value),l?.(v.target.value)}})}),RM=x.forwardRef((s,a)=>{let{children:l,label:i="Suggestions",...c}=s,d=x.useRef(null),m=x.useRef(null),h=Xa(v=>v.selectedItemId),p=ko();return x.useEffect(()=>{if(m.current&&d.current){let v=m.current,g=d.current,j,b=new ResizeObserver(()=>{j=requestAnimationFrame(()=>{let w=v.offsetHeight;g.style.setProperty("--cmdk-list-height",w.toFixed(1)+"px")})});return b.observe(v),()=>{cancelAnimationFrame(j),b.unobserve(v)}}},[]),x.createElement(Ja.div,{ref:Ga(d,a),...c,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":h,"aria-label":i,id:p.listId},$d(s,v=>x.createElement("div",{ref:Ga(m,p.listInnerRef),"cmdk-list-sizer":""},v)))}),zM=x.forwardRef((s,a)=>{let{open:l,onOpenChange:i,overlayClassName:c,contentClassName:d,container:m,...h}=s;return x.createElement(mh,{open:l,onOpenChange:i},x.createElement(oh,{container:m},x.createElement(Cd,{"cmdk-overlay":"",className:c}),x.createElement(kd,{"aria-label":s.label,"cmdk-dialog":"",className:d},x.createElement(yN,{ref:a,...h}))))}),PM=x.forwardRef((s,a)=>Xa(l=>l.filtered.count===0)?x.createElement(Ja.div,{ref:a,...s,"cmdk-empty":"",role:"presentation"}):null),LM=x.forwardRef((s,a)=>{let{progress:l,children:i,label:c="Loading...",...d}=s;return x.createElement(Ja.div,{ref:a,...d,"cmdk-loading":"",role:"progressbar","aria-valuenow":l,"aria-valuemin":0,"aria-valuemax":100,"aria-label":c},$d(s,m=>x.createElement("div",{"aria-hidden":!0},m)))}),Ws=Object.assign(yN,{List:RM,Item:MM,Input:AM,Group:DM,Separator:OM,Dialog:zM,Empty:PM,Loading:LM});function BM(s,a){let l=s.nextElementSibling;for(;l;){if(l.matches(a))return l;l=l.nextElementSibling}}function UM(s,a){let l=s.previousElementSibling;for(;l;){if(l.matches(a))return l;l=l.previousElementSibling}}function bN(s){let a=x.useRef(s);return Dl(()=>{a.current=s}),a}var Dl=typeof window>"u"?x.useEffect:x.useLayoutEffect;function Rr(s){let a=x.useRef();return a.current===void 0&&(a.current=s()),a}function Xa(s){let a=Uh(),l=()=>s(a.snapshot());return x.useSyncExternalStore(a.subscribe,l,l)}function NN(s,a,l,i=[]){let c=x.useRef(),d=ko();return Dl(()=>{var m;let h=(()=>{var v;for(let g of l){if(typeof g=="string")return g.trim();if(typeof g=="object"&&"current"in g)return g.current?(v=g.current.textContent)==null?void 0:v.trim():c.current}})(),p=i.map(v=>v.trim());d.value(s,h,p),(m=a.current)==null||m.setAttribute(Ar,h),c.current=h}),c}var HM=()=>{let[s,a]=x.useState(),l=Rr(()=>new Map);return Dl(()=>{l.current.forEach(i=>i()),l.current=new Map},[s]),(i,c)=>{l.current.set(i,c),a({})}};function FM(s){let a=s.type;return typeof a=="function"?a(s.props):"render"in a?a.render(s.props):s}function $d({asChild:s,children:a},l){return s&&x.isValidElement(a)?x.cloneElement(FM(a),{ref:a.ref},l(a.props.children)):l(a)}var YM={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const wN=x.forwardRef(({className:s,...a},l)=>e.jsx(Ws,{ref:l,className:Z("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",s),...a}));wN.displayName=Ws.displayName;const SN=x.forwardRef(({className:s,...a},l)=>e.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[e.jsx(Gs,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),e.jsx(Ws.Input,{ref:l,className:Z("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",s),...a})]}));SN.displayName=Ws.Input.displayName;const _N=x.forwardRef(({className:s,...a},l)=>e.jsx(Ws.List,{ref:l,className:Z("max-h-[300px] overflow-y-auto overflow-x-hidden",s),...a}));_N.displayName=Ws.List.displayName;const CN=x.forwardRef((s,a)=>e.jsx(Ws.Empty,{ref:a,className:"py-6 text-center text-sm",...s}));CN.displayName=Ws.Empty.displayName;const kN=x.forwardRef(({className:s,...a},l)=>e.jsx(Ws.Group,{ref:l,className:Z("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",s),...a}));kN.displayName=Ws.Group.displayName;const qM=x.forwardRef(({className:s,...a},l)=>e.jsx(Ws.Separator,{ref:l,className:Z("-mx-1 h-px bg-border",s),...a}));qM.displayName=Ws.Separator.displayName;const TN=x.forwardRef(({className:s,...a},l)=>e.jsx(Ws.Item,{ref:l,className:Z("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",s),...a}));TN.displayName=Ws.Item.displayName;function VM({options:s,selected:a,onChange:l,placeholder:i="选择选项...",emptyText:c="未找到选项",className:d}){const[m,h]=x.useState(!1),p=g=>{a.includes(g)?l(a.filter(j=>j!==g)):l([...a,g])},v=g=>{l(a.filter(j=>j!==g))};return e.jsxs(Ia,{open:m,onOpenChange:h,children:[e.jsx(Wa,{asChild:!0,children:e.jsxs(q,{variant:"outline",role:"combobox","aria-expanded":m,className:Z("w-full justify-between min-h-10 h-auto",d),children:[e.jsx("div",{className:"flex gap-1 flex-wrap flex-1",children:a.length===0?e.jsx("span",{className:"text-muted-foreground",children:i}):a.map(g=>{const j=s.find(b=>b.value===g);return e.jsxs(_t,{variant:"secondary",className:"cursor-pointer hover:bg-secondary/80",onClick:b=>{b.stopPropagation(),v(g)},children:[j?.label||g,e.jsx(go,{className:"ml-1 h-3 w-3",strokeWidth:2,fill:"none"})]},g)})}),e.jsx(U2,{className:"ml-2 h-4 w-4 shrink-0 opacity-50",strokeWidth:2,fill:"none"})]})}),e.jsx(pa,{className:"w-full p-0",align:"start",children:e.jsxs(wN,{children:[e.jsx(SN,{placeholder:"搜索...",className:"h-9"}),e.jsxs(_N,{children:[e.jsx(CN,{children:c}),e.jsx(kN,{children:s.map(g=>{const j=a.includes(g.value);return e.jsxs(TN,{value:g.value,onSelect:()=>p(g.value),children:[e.jsx("div",{className:Z("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",j?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(Cl,{className:"h-3 w-3",strokeWidth:2,fill:"none"})}),e.jsx("span",{children:g.label})]},g.value)})})]})]})})]})}function GM(){const[s,a]=x.useState([]),[l,i]=x.useState([]),[c,d]=x.useState([]),[m,h]=x.useState(null),[p,v]=x.useState(!0),[g,j]=x.useState(!1),[b,w]=x.useState(!1),[S,C]=x.useState(!1),[N,T]=x.useState(!1),[P,M]=x.useState(!1),[k,D]=x.useState(!1),[A,E]=x.useState(null),[B,Y]=x.useState(null),[G,$]=x.useState(!1),[oe,je]=x.useState(null),[ae,me]=x.useState(""),[R,O]=x.useState(new Set),[L,ee]=x.useState(!1),[le,xe]=x.useState(1),[F,W]=x.useState(20),[fe,I]=x.useState(""),{toast:ve}=Es(),de=x.useRef(null),Ce=x.useRef(null),Q=x.useRef(!0);x.useEffect(()=>{Oe()},[]);const Oe=async()=>{try{v(!0);const se=await Ur(),ge=se.models||[];a(ge),d(ge.map(pt=>pt.name));const Qe=se.api_providers||[];i(Qe.map(pt=>pt.name)),h(se.model_task_config||null),C(!1),Q.current=!1}catch(se){console.error("加载配置失败:",se)}finally{v(!1)}},$e=async()=>{try{T(!0),Lh().catch(()=>{}),M(!0)}catch(se){console.error("重启失败:",se),M(!1),ve({title:"重启失败",description:"无法发送重启请求,请手动重启",variant:"destructive"}),T(!1)}},re=async()=>{try{j(!0),de.current&&clearTimeout(de.current),Ce.current&&clearTimeout(Ce.current);const se=await Ur();se.models=s,se.model_task_config=m,await Nd(se),C(!1),ve({title:"保存成功",description:"正在重启麦麦..."}),await $e()}catch(se){console.error("保存配置失败:",se),ve({title:"保存失败",description:se.message,variant:"destructive"}),j(!1)}},Pe=()=>{localStorage.removeItem("access-token"),window.location.href="/auth"},ze=()=>{M(!1),T(!1),ve({title:"重启超时",description:"服务未能在预期时间内恢复,请手动检查或刷新页面",variant:"destructive"})},Zt=x.useCallback(async se=>{if(!Q.current)try{w(!0),await Xf("models",se),C(!1)}catch(ge){console.error("自动保存模型列表失败:",ge),C(!0)}finally{w(!1)}},[]),Rs=x.useCallback(async se=>{if(!Q.current)try{w(!0),await Xf("model_task_config",se),C(!1)}catch(ge){console.error("自动保存任务配置失败:",ge),C(!0)}finally{w(!1)}},[]);x.useEffect(()=>{if(!Q.current)return C(!0),de.current&&clearTimeout(de.current),de.current=setTimeout(()=>{Zt(s)},2e3),()=>{de.current&&clearTimeout(de.current)}},[s,Zt]),x.useEffect(()=>{if(!(Q.current||!m))return C(!0),Ce.current&&clearTimeout(Ce.current),Ce.current=setTimeout(()=>{Rs(m)},2e3),()=>{Ce.current&&clearTimeout(Ce.current)}},[m,Rs]);const An=async()=>{try{j(!0),de.current&&clearTimeout(de.current),Ce.current&&clearTimeout(Ce.current);const se=await Ur();se.models=s,se.model_task_config=m,await Nd(se),C(!1),ve({title:"保存成功",description:"模型配置已保存"}),await Oe()}catch(se){console.error("保存配置失败:",se),ve({title:"保存失败",description:se.message,variant:"destructive"})}finally{j(!1)}},Le=(se,ge)=>{E(se||{model_identifier:"",name:"",api_provider:l[0]||"",price_in:0,price_out:0,force_stream_mode:!1,extra_params:{}}),Y(ge),D(!0)},Nn=()=>{if(!A)return;const se={...A,price_in:A.price_in??0,price_out:A.price_out??0};let ge;B!==null?(ge=[...s],ge[B]=se):ge=[...s,se],a(ge),d(ge.map(Qe=>Qe.name)),D(!1),E(null),Y(null)},ln=se=>{if(!se&&A){const ge={...A,price_in:A.price_in??0,price_out:A.price_out??0};E(ge)}D(se)},rn=se=>{je(se),$(!0)},Xt=()=>{if(oe!==null){const se=s.filter((ge,Qe)=>Qe!==oe);a(se),d(se.map(ge=>ge.name)),ve({title:"删除成功",description:"模型已从列表中移除"})}$(!1),je(null)},Ds=se=>{const ge=new Set(R);ge.has(se)?ge.delete(se):ge.add(se),O(ge)},ke=()=>{if(R.size===Ve.length)O(new Set);else{const se=Ve.map((ge,Qe)=>s.findIndex(pt=>pt===Ve[Qe]));O(new Set(se))}},is=()=>{if(R.size===0){ve({title:"提示",description:"请先选择要删除的模型",variant:"default"});return}ee(!0)},he=()=>{const se=s.filter((ge,Qe)=>!R.has(Qe));a(se),d(se.map(ge=>ge.name)),O(new Set),ee(!1),ve({title:"批量删除成功",description:`已删除 ${R.size} 个模型`})},Ee=(se,ge,Qe)=>{m&&h({...m,[se]:{...m[se],[ge]:Qe}})},Ve=s.filter(se=>{if(!ae)return!0;const ge=ae.toLowerCase();return se.name.toLowerCase().includes(ge)||se.model_identifier.toLowerCase().includes(ge)||se.api_provider.toLowerCase().includes(ge)}),Os=Math.ceil(Ve.length/F),$n=Ve.slice((le-1)*F,le*F),Hl=()=>{const se=parseInt(fe);se>=1&&se<=Os&&(xe(se),I(""))},Fl=se=>m?[m.utils?.model_list||[],m.utils_small?.model_list||[],m.tool_use?.model_list||[],m.replyer?.model_list||[],m.planner?.model_list||[],m.vlm?.model_list||[],m.voice?.model_list||[],m.embedding?.model_list||[],m.lpmm_entity_extract?.model_list||[],m.lpmm_rdf_build?.model_list||[],m.lpmm_qa?.model_list||[]].some(Qe=>Qe.includes(se)):!1;return p?e.jsx(Ct,{className:"h-full",children:e.jsx("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:e.jsx("div",{className:"flex items-center justify-center h-64",children:e.jsx("p",{className:"text-muted-foreground",children:"加载中..."})})})}):e.jsx(Ct,{className:"h-full",children:e.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"模型配置"}),e.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理模型和任务配置"})]}),e.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[e.jsxs(q,{onClick:An,disabled:g||b||!S||N,size:"sm",variant:"outline",className:"flex-1 sm:flex-none",children:[e.jsx(vh,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),g?"保存中...":b?"自动保存中...":S?"保存配置":"已保存"]}),e.jsxs(Ft,{children:[e.jsx(_s,{asChild:!0,children:e.jsxs(q,{disabled:g||b||N,size:"sm",className:"flex-1 sm:flex-none",children:[e.jsx(jh,{className:"mr-2 h-4 w-4"}),N?"重启中...":S?"保存并重启":"重启麦麦"]})}),e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认重启麦麦?"}),e.jsx(Pt,{children:S?"当前有未保存的配置更改。点击确认将先保存配置,然后重启麦麦使新配置生效。重启过程中麦麦将暂时离线。":"即将重启麦麦主程序。重启过程中麦麦将暂时离线,配置将在重启后生效。"})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:S?re:$e,children:S?"保存并重启":"确认重启"})]})]})]})]})]}),e.jsxs(Vd,{children:[e.jsx(Fr,{className:"h-4 w-4"}),e.jsxs(Gd,{children:["配置更新后需要",e.jsx("strong",{children:"重启麦麦"}),'才能生效。你可以点击右上角的"保存并重启"按钮一键完成保存和重启。']})]}),e.jsxs(Ml,{defaultValue:"models",className:"w-full",children:[e.jsxs($a,{className:"grid w-full max-w-full sm:max-w-md grid-cols-2",children:[e.jsx(bt,{value:"models",children:"模型配置"}),e.jsx(bt,{value:"tasks",children:"模型任务配置"})]}),e.jsxs(Vt,{value:"models",className:"space-y-4 mt-0",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-center gap-2",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置可用的模型列表"}),e.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[R.size>0&&e.jsxs(q,{onClick:is,size:"sm",variant:"destructive",className:"w-full sm:w-auto",children:[e.jsx(ft,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"批量删除 (",R.size,")"]}),e.jsxs(q,{onClick:()=>Le(null,null),size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[e.jsx(ys,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"添加模型"]})]})]}),e.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-2",children:[e.jsxs("div",{className:"relative w-full sm:flex-1 sm:max-w-sm",children:[e.jsx(Gs,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),e.jsx(pe,{placeholder:"搜索模型名称、标识符或提供商...",value:ae,onChange:se=>me(se.target.value),className:"pl-9"})]}),ae&&e.jsxs("p",{className:"text-sm text-muted-foreground whitespace-nowrap",children:["找到 ",Ve.length," 个结果"]})]}),e.jsx("div",{className:"md:hidden space-y-3",children:$n.length===0?e.jsx("div",{className:"text-center text-muted-foreground py-8 rounded-lg border bg-card",children:ae?"未找到匹配的模型":"暂无模型配置"}):$n.map((se,ge)=>{const Qe=s.findIndex(tl=>tl===se),pt=Fl(se.name);return e.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("h3",{className:"font-semibold text-base",children:se.name}),e.jsx(_t,{variant:pt?"default":"secondary",className:pt?"bg-green-600 hover:bg-green-700":"",children:pt?"已使用":"未使用"})]}),e.jsx("p",{className:"text-xs text-muted-foreground break-all",title:se.model_identifier,children:se.model_identifier})]}),e.jsxs("div",{className:"flex gap-1 flex-shrink-0",children:[e.jsxs(q,{variant:"default",size:"sm",onClick:()=>Le(se,Qe),children:[e.jsx(Yr,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"编辑"]}),e.jsxs(q,{size:"sm",onClick:()=>rn(Qe),className:"bg-red-600 hover:bg-red-700 text-white",children:[e.jsx(ft,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"删除"]})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground text-xs",children:"提供商"}),e.jsx("p",{className:"font-medium",children:se.api_provider})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground text-xs",children:"强制流式"}),e.jsx("p",{className:"font-medium",children:se.force_stream_mode?"是":"否"})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground text-xs",children:"输入价格"}),e.jsxs("p",{className:"font-medium",children:["¥",se.price_in,"/M"]})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground text-xs",children:"输出价格"}),e.jsxs("p",{className:"font-medium",children:["¥",se.price_out,"/M"]})]})]})]},ge)})}),e.jsx("div",{className:"hidden md:block rounded-lg border bg-card overflow-hidden",children:e.jsxs(Rl,{children:[e.jsx(zl,{children:e.jsxs(ns,{children:[e.jsx(He,{className:"w-12",children:e.jsx(Cs,{checked:R.size===Ve.length&&Ve.length>0,onCheckedChange:ke})}),e.jsx(He,{className:"w-24",children:"使用状态"}),e.jsx(He,{children:"模型名称"}),e.jsx(He,{children:"模型标识符"}),e.jsx(He,{children:"提供商"}),e.jsx(He,{className:"text-right",children:"输入价格"}),e.jsx(He,{className:"text-right",children:"输出价格"}),e.jsx(He,{className:"text-center",children:"强制流式"}),e.jsx(He,{className:"text-right",children:"操作"})]})}),e.jsx(Pl,{children:$n.length===0?e.jsx(ns,{children:e.jsx(Ae,{colSpan:9,className:"text-center text-muted-foreground py-8",children:ae?"未找到匹配的模型":"暂无模型配置"})}):$n.map((se,ge)=>{const Qe=s.findIndex(tl=>tl===se),pt=Fl(se.name);return e.jsxs(ns,{children:[e.jsx(Ae,{children:e.jsx(Cs,{checked:R.has(Qe),onCheckedChange:()=>Ds(Qe)})}),e.jsx(Ae,{children:e.jsx(_t,{variant:pt?"default":"secondary",className:pt?"bg-green-600 hover:bg-green-700":"",children:pt?"已使用":"未使用"})}),e.jsx(Ae,{className:"font-medium",children:se.name}),e.jsx(Ae,{className:"max-w-xs truncate",title:se.model_identifier,children:se.model_identifier}),e.jsx(Ae,{children:se.api_provider}),e.jsxs(Ae,{className:"text-right",children:["¥",se.price_in,"/M"]}),e.jsxs(Ae,{className:"text-right",children:["¥",se.price_out,"/M"]}),e.jsx(Ae,{className:"text-center",children:se.force_stream_mode?"是":"否"}),e.jsx(Ae,{className:"text-right",children:e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsxs(q,{variant:"default",size:"sm",onClick:()=>Le(se,Qe),children:[e.jsx(Yr,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"编辑"]}),e.jsxs(q,{size:"sm",onClick:()=>rn(Qe),className:"bg-red-600 hover:bg-red-700 text-white",children:[e.jsx(ft,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"删除"]})]})})]},ge)})})]})}),Ve.length>0&&e.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 mt-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(U,{htmlFor:"page-size-model",className:"text-sm whitespace-nowrap",children:"每页显示"}),e.jsxs(rt,{value:F.toString(),onValueChange:se=>{W(parseInt(se)),xe(1),O(new Set)},children:[e.jsx(at,{id:"page-size-model",className:"w-20",children:e.jsx(it,{})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"10",children:"10"}),e.jsx(ye,{value:"20",children:"20"}),e.jsx(ye,{value:"50",children:"50"}),e.jsx(ye,{value:"100",children:"100"})]})]}),e.jsxs("span",{className:"text-sm text-muted-foreground",children:["显示 ",(le-1)*F+1," 到"," ",Math.min(le*F,Ve.length)," 条,共 ",Ve.length," 条"]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(q,{variant:"outline",size:"sm",onClick:()=>xe(1),disabled:le===1,className:"hidden sm:flex",children:e.jsx(vo,{className:"h-4 w-4"})}),e.jsxs(q,{variant:"outline",size:"sm",onClick:()=>xe(se=>Math.max(1,se-1)),disabled:le===1,children:[e.jsx(Ol,{className:"h-4 w-4 sm:mr-1"}),e.jsx("span",{className:"hidden sm:inline",children:"上一页"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(pe,{type:"number",value:fe,onChange:se=>I(se.target.value),onKeyDown:se=>se.key==="Enter"&&Hl(),placeholder:le.toString(),className:"w-16 h-8 text-center",min:1,max:Os}),e.jsx(q,{variant:"outline",size:"sm",onClick:Hl,disabled:!fe,className:"h-8",children:"跳转"})]}),e.jsxs(q,{variant:"outline",size:"sm",onClick:()=>xe(se=>se+1),disabled:le>=Os,children:[e.jsx("span",{className:"hidden sm:inline",children:"下一页"}),e.jsx(Al,{className:"h-4 w-4 sm:ml-1"})]}),e.jsx(q,{variant:"outline",size:"sm",onClick:()=>xe(Os),disabled:le>=Os,className:"hidden sm:flex",children:e.jsx(jo,{className:"h-4 w-4"})})]})]})]}),e.jsxs(Vt,{value:"tasks",className:"space-y-6 mt-0",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"为不同的任务配置使用的模型和参数"}),m&&e.jsxs("div",{className:"grid gap-4 sm:gap-6",children:[e.jsx(Cn,{title:"组件模型 (utils)",description:"用于表情包、取名、关系、情绪变化等组件",taskConfig:m.utils,modelNames:c,onChange:(se,ge)=>Ee("utils",se,ge)}),e.jsx(Cn,{title:"组件小模型 (utils_small)",description:"消耗量较大的组件,建议使用速度较快的小模型",taskConfig:m.utils_small,modelNames:c,onChange:(se,ge)=>Ee("utils_small",se,ge)}),e.jsx(Cn,{title:"工具调用模型 (tool_use)",description:"需要使用支持工具调用的模型",taskConfig:m.tool_use,modelNames:c,onChange:(se,ge)=>Ee("tool_use",se,ge)}),e.jsx(Cn,{title:"首要回复模型 (replyer)",description:"用于表达器和表达方式学习",taskConfig:m.replyer,modelNames:c,onChange:(se,ge)=>Ee("replyer",se,ge)}),e.jsx(Cn,{title:"决策模型 (planner)",description:"负责决定麦麦该什么时候回复",taskConfig:m.planner,modelNames:c,onChange:(se,ge)=>Ee("planner",se,ge)}),e.jsx(Cn,{title:"图像识别模型 (vlm)",description:"视觉语言模型",taskConfig:m.vlm,modelNames:c,onChange:(se,ge)=>Ee("vlm",se,ge),hideTemperature:!0}),e.jsx(Cn,{title:"语音识别模型 (voice)",description:"语音转文字",taskConfig:m.voice,modelNames:c,onChange:(se,ge)=>Ee("voice",se,ge),hideTemperature:!0,hideMaxTokens:!0}),e.jsx(Cn,{title:"嵌入模型 (embedding)",description:"用于向量化",taskConfig:m.embedding,modelNames:c,onChange:(se,ge)=>Ee("embedding",se,ge),hideTemperature:!0,hideMaxTokens:!0}),e.jsxs("div",{className:"space-y-4",children:[e.jsx("h3",{className:"text-lg font-semibold",children:"LPMM 知识库模型"}),e.jsx(Cn,{title:"实体提取模型 (lpmm_entity_extract)",description:"从文本中提取实体",taskConfig:m.lpmm_entity_extract,modelNames:c,onChange:(se,ge)=>Ee("lpmm_entity_extract",se,ge)}),e.jsx(Cn,{title:"RDF 构建模型 (lpmm_rdf_build)",description:"构建知识图谱",taskConfig:m.lpmm_rdf_build,modelNames:c,onChange:(se,ge)=>Ee("lpmm_rdf_build",se,ge)}),e.jsx(Cn,{title:"问答模型 (lpmm_qa)",description:"知识库问答",taskConfig:m.lpmm_qa,modelNames:c,onChange:(se,ge)=>Ee("lpmm_qa",se,ge)})]})]})]})]}),e.jsx(bs,{open:k,onOpenChange:ln,children:e.jsxs(ms,{className:"max-w-[95vw] sm:max-w-2xl max-h-[90vh] overflow-y-auto",children:[e.jsxs(fs,{children:[e.jsx(hs,{children:B!==null?"编辑模型":"添加模型"}),e.jsx(ks,{children:"配置模型的基本信息和参数"})]}),e.jsxs("div",{className:"grid gap-4 py-4",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"model_name",children:"模型名称 *"}),e.jsx(pe,{id:"model_name",value:A?.name||"",onChange:se=>E(ge=>ge?{...ge,name:se.target.value}:null),placeholder:"例如: qwen3-30b"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"用于在任务配置中引用此模型"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"model_identifier",children:"模型标识符 *"}),e.jsx(pe,{id:"model_identifier",value:A?.model_identifier||"",onChange:se=>E(ge=>ge?{...ge,model_identifier:se.target.value}:null),placeholder:"Qwen/Qwen3-30B-A3B-Instruct-2507"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"API 提供商提供的模型 ID"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"api_provider",children:"API 提供商 *"}),e.jsxs(rt,{value:A?.api_provider||"",onValueChange:se=>E(ge=>ge?{...ge,api_provider:se}:null),children:[e.jsx(at,{id:"api_provider",children:e.jsx(it,{placeholder:"选择提供商"})}),e.jsx(lt,{children:l.map(se=>e.jsx(ye,{value:se,children:se},se))})]})]}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"price_in",children:"输入价格 (¥/M token)"}),e.jsx(pe,{id:"price_in",type:"number",step:"0.1",min:"0",value:A?.price_in??"",onChange:se=>{const ge=se.target.value===""?null:parseFloat(se.target.value);E(Qe=>Qe?{...Qe,price_in:ge}:null)},placeholder:"默认: 0"})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{htmlFor:"price_out",children:"输出价格 (¥/M token)"}),e.jsx(pe,{id:"price_out",type:"number",step:"0.1",min:"0",value:A?.price_out??"",onChange:se=>{const ge=se.target.value===""?null:parseFloat(se.target.value);E(Qe=>Qe?{...Qe,price_out:ge}:null)},placeholder:"默认: 0"})]})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ze,{id:"force_stream_mode",checked:A?.force_stream_mode||!1,onCheckedChange:se=>E(ge=>ge?{...ge,force_stream_mode:se}:null)}),e.jsx(U,{htmlFor:"force_stream_mode",className:"cursor-pointer",children:"强制流式输出模式"})]})]}),e.jsxs($s,{children:[e.jsx(q,{variant:"outline",onClick:()=>D(!1),children:"取消"}),e.jsx(q,{onClick:Nn,children:"保存"})]})]})}),e.jsx(Ft,{open:G,onOpenChange:$,children:e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认删除"}),e.jsxs(Pt,{children:['确定要删除模型 "',oe!==null?s[oe]?.name:"",'" 吗? 此操作无法撤销。']})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:Xt,children:"删除"})]})]})}),e.jsx(Ft,{open:L,onOpenChange:ee,children:e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认批量删除"}),e.jsxs(Pt,{children:["确定要删除选中的 ",R.size," 个模型吗? 此操作无法撤销。"]})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:he,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"批量删除"})]})]})}),P&&e.jsx(Bh,{onRestartComplete:Pe,onRestartFailed:ze})]})})}function Cn({title:s,description:a,taskConfig:l,modelNames:i,onChange:c,hideTemperature:d=!1,hideMaxTokens:m=!1}){const h=p=>{c("model_list",p)};return e.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6 space-y-4",children:[e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-base sm:text-lg",children:s}),e.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground mt-1",children:a})]}),e.jsxs("div",{className:"grid gap-4",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"模型列表"}),e.jsx(VM,{options:i.map(p=>({label:p,value:p})),selected:l.model_list||[],onChange:h,placeholder:"选择模型...",emptyText:"暂无可用模型"})]}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[!d&&e.jsxs("div",{className:"grid gap-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(U,{children:"温度"}),e.jsx(pe,{type:"number",step:"0.1",min:"0",max:"1",value:l.temperature??.3,onChange:p=>{const v=parseFloat(p.target.value);!isNaN(v)&&v>=0&&v<=1&&c("temperature",v)},className:"w-20 h-8 text-sm"})]}),e.jsx(Yd,{value:[l.temperature??.3],onValueChange:p=>c("temperature",p[0]),min:0,max:1,step:.1,className:"w-full"})]}),!m&&e.jsxs("div",{className:"grid gap-2",children:[e.jsx(U,{children:"最大 Token"}),e.jsx(pe,{type:"number",step:"1",min:"1",value:l.max_tokens??1024,onChange:p=>c("max_tokens",parseInt(p.target.value))})]})]})]})]})}const va="/api/webui/emoji";async function $M(s){const a=new URLSearchParams;s.page&&a.append("page",s.page.toString()),s.page_size&&a.append("page_size",s.page_size.toString()),s.search&&a.append("search",s.search),s.is_registered!==void 0&&a.append("is_registered",s.is_registered.toString()),s.is_banned!==void 0&&a.append("is_banned",s.is_banned.toString()),s.format&&a.append("format",s.format),s.sort_by&&a.append("sort_by",s.sort_by),s.sort_order&&a.append("sort_order",s.sort_order);const l=await Fe(`${va}/list?${a}`,{headers:Ie()});if(!l.ok)throw new Error(`获取表情包列表失败: ${l.statusText}`);return l.json()}async function IM(s){const a=await Fe(`${va}/${s}`,{headers:Ie()});if(!a.ok)throw new Error(`获取表情包详情失败: ${a.statusText}`);return a.json()}async function WM(s,a){const l=await Fe(`${va}/${s}`,{method:"PATCH",headers:Ie(),body:JSON.stringify(a)});if(!l.ok)throw new Error(`更新表情包失败: ${l.statusText}`);return l.json()}async function XM(s){const a=await Fe(`${va}/${s}`,{method:"DELETE",headers:Ie()});if(!a.ok)throw new Error(`删除表情包失败: ${a.statusText}`);return a.json()}async function KM(){const s=await Fe(`${va}/stats/summary`,{headers:Ie()});if(!s.ok)throw new Error(`获取统计数据失败: ${s.statusText}`);return s.json()}async function QM(s){const a=await Fe(`${va}/${s}/register`,{method:"POST",headers:Ie()});if(!a.ok)throw new Error(`注册表情包失败: ${a.statusText}`);return a.json()}async function ZM(s){const a=await Fe(`${va}/${s}/ban`,{method:"POST",headers:Ie()});if(!a.ok)throw new Error(`封禁表情包失败: ${a.statusText}`);return a.json()}function Zf(s){const a=localStorage.getItem("access-token");return`${va}/${s}/thumbnail?token=${encodeURIComponent(a||"")}`}async function JM(s){const a=await Fe(`${va}/batch/delete`,{method:"POST",headers:Ie(),body:JSON.stringify({emoji_ids:s})});if(!a.ok){const l=await a.json();throw new Error(l.detail||"批量删除失败")}return a.json()}function eD(){const[s,a]=x.useState([]),[l,i]=x.useState(null),[c,d]=x.useState(!1),[m,h]=x.useState(1),[p,v]=x.useState(0),[g,j]=x.useState(20),[b,w]=x.useState(""),[S,C]=x.useState("all"),[N,T]=x.useState("all"),[P,M]=x.useState("all"),[k,D]=x.useState(null),[A,E]=x.useState(!1),[B,Y]=x.useState(!1),[G,$]=x.useState(!1),[oe,je]=x.useState(new Set),[ae,me]=x.useState(!1),[R,O]=x.useState(""),{toast:L}=Es(),ee=x.useCallback(async()=>{try{d(!0);const re=await $M({page:m,page_size:g,search:b||void 0,is_registered:S==="all"?void 0:S==="registered",is_banned:N==="all"?void 0:N==="banned",format:P==="all"?void 0:P,sort_by:"usage_count",sort_order:"desc"});a(re.data),v(re.total)}catch(re){const Pe=re instanceof Error?re.message:"加载表情包列表失败";L({title:"错误",description:Pe,variant:"destructive"})}finally{d(!1)}},[m,g,b,S,N,P,L]),le=async()=>{try{const re=await KM();i(re.data)}catch(re){console.error("加载统计数据失败:",re)}};x.useEffect(()=>{ee()},[ee]),x.useEffect(()=>{le()},[]);const xe=async re=>{try{const Pe=await IM(re.id);D(Pe.data),E(!0)}catch(Pe){const ze=Pe instanceof Error?Pe.message:"加载详情失败";L({title:"错误",description:ze,variant:"destructive"})}},F=re=>{D(re),Y(!0)},W=re=>{D(re),$(!0)},fe=async()=>{if(k)try{await XM(k.id),L({title:"成功",description:"表情包已删除"}),$(!1),D(null),ee(),le()}catch(re){const Pe=re instanceof Error?re.message:"删除失败";L({title:"错误",description:Pe,variant:"destructive"})}},I=async re=>{try{await QM(re.id),L({title:"成功",description:"表情包已注册"}),ee(),le()}catch(Pe){const ze=Pe instanceof Error?Pe.message:"注册失败";L({title:"错误",description:ze,variant:"destructive"})}},ve=async re=>{try{await ZM(re.id),L({title:"成功",description:"表情包已封禁"}),ee(),le()}catch(Pe){const ze=Pe instanceof Error?Pe.message:"封禁失败";L({title:"错误",description:ze,variant:"destructive"})}},de=re=>{const Pe=new Set(oe);Pe.has(re)?Pe.delete(re):Pe.add(re),je(Pe)},Ce=()=>{oe.size===s.length&&s.length>0?je(new Set):je(new Set(s.map(re=>re.id)))},Q=async()=>{try{const re=await JM(Array.from(oe));L({title:"批量删除完成",description:re.message}),je(new Set),me(!1),ee(),le()}catch(re){L({title:"批量删除失败",description:re instanceof Error?re.message:"批量删除失败",variant:"destructive"})}},Oe=()=>{const re=parseInt(R),Pe=Math.ceil(p/g);re>=1&&re<=Pe?(h(re),O("")):L({title:"无效的页码",description:`请输入1-${Pe}之间的页码`,variant:"destructive"})},$e=l?.formats?Object.keys(l.formats):[];return e.jsxs("div",{className:"h-[calc(100vh-4rem)] flex flex-col p-4 sm:p-6",children:[e.jsxs("div",{className:"mb-4 sm:mb-6",children:[e.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"表情包管理"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"管理麦麦的表情包资源"})]}),e.jsx(Ct,{className:"flex-1",children:e.jsxs("div",{className:"space-y-4 sm:space-y-6 pr-4",children:[l&&e.jsxs("div",{className:"grid gap-4 grid-cols-2 lg:grid-cols-4",children:[e.jsx(Ue,{children:e.jsxs(ot,{className:"pb-2",children:[e.jsx(us,{children:"总数"}),e.jsx(ct,{className:"text-2xl",children:l.total})]})}),e.jsx(Ue,{children:e.jsxs(ot,{className:"pb-2",children:[e.jsx(us,{children:"已注册"}),e.jsx(ct,{className:"text-2xl text-green-600",children:l.registered})]})}),e.jsx(Ue,{children:e.jsxs(ot,{className:"pb-2",children:[e.jsx(us,{children:"已封禁"}),e.jsx(ct,{className:"text-2xl text-red-600",children:l.banned})]})}),e.jsx(Ue,{children:e.jsxs(ot,{className:"pb-2",children:[e.jsx(us,{children:"未注册"}),e.jsx(ct,{className:"text-2xl text-gray-600",children:l.unregistered})]})})]}),e.jsxs(Ue,{children:[e.jsx(ot,{children:e.jsxs(ct,{className:"flex items-center gap-2",children:[e.jsx(Lf,{className:"h-5 w-5"}),"搜索和筛选"]})}),e.jsxs(gt,{className:"space-y-4",children:[e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{children:"搜索"}),e.jsxs("div",{className:"relative",children:[e.jsx(Gs,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),e.jsx(pe,{placeholder:"描述或哈希值...",value:b,onChange:re=>{w(re.target.value),h(1)},className:"pl-8"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{children:"注册状态"}),e.jsxs(rt,{value:S,onValueChange:re=>{C(re),h(1)},children:[e.jsx(at,{children:e.jsx(it,{})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"all",children:"全部"}),e.jsx(ye,{value:"registered",children:"已注册"}),e.jsx(ye,{value:"unregistered",children:"未注册"})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{children:"封禁状态"}),e.jsxs(rt,{value:N,onValueChange:re=>{T(re),h(1)},children:[e.jsx(at,{children:e.jsx(it,{})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"all",children:"全部"}),e.jsx(ye,{value:"banned",children:"已封禁"}),e.jsx(ye,{value:"unbanned",children:"未封禁"})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{children:"格式"}),e.jsxs(rt,{value:P,onValueChange:re=>{M(re),h(1)},children:[e.jsx(at,{children:e.jsx(it,{})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"all",children:"全部"}),$e.map(re=>e.jsxs(ye,{value:re,children:[re.toUpperCase()," (",l?.formats[re],")"]},re))]})]})]})]}),e.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-3 pt-4 border-t",children:[e.jsx("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:oe.size>0&&e.jsxs("span",{children:["已选择 ",oe.size," 个表情包"]})}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(U,{htmlFor:"emoji-page-size",className:"text-sm whitespace-nowrap",children:"每页显示"}),e.jsxs(rt,{value:g.toString(),onValueChange:re=>{j(parseInt(re)),h(1),je(new Set)},children:[e.jsx(at,{id:"emoji-page-size",className:"w-20",children:e.jsx(it,{})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"10",children:"10"}),e.jsx(ye,{value:"20",children:"20"}),e.jsx(ye,{value:"50",children:"50"}),e.jsx(ye,{value:"100",children:"100"})]})]}),oe.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(q,{variant:"outline",size:"sm",onClick:()=>je(new Set),children:"取消选择"}),e.jsxs(q,{variant:"destructive",size:"sm",onClick:()=>me(!0),children:[e.jsx(ft,{className:"h-4 w-4 mr-1"}),"批量删除"]})]})]})]}),e.jsx("div",{className:"flex justify-end pt-4 border-t",children:e.jsxs(q,{variant:"outline",size:"sm",onClick:ee,disabled:c,children:[e.jsx(xa,{className:`h-4 w-4 mr-2 ${c?"animate-spin":""}`}),"刷新"]})})]})]}),e.jsxs(Ue,{children:[e.jsxs(ot,{children:[e.jsx(ct,{children:"表情包列表"}),e.jsxs(us,{children:["共 ",p," 个表情包,当前第 ",m," 页"]})]}),e.jsxs(gt,{children:[e.jsx("div",{className:"hidden md:block rounded-md border overflow-hidden",children:e.jsxs(Rl,{children:[e.jsx(zl,{children:e.jsxs(ns,{children:[e.jsx(He,{className:"w-12",children:e.jsx(Cs,{checked:s.length>0&&oe.size===s.length,onCheckedChange:Ce,"aria-label":"全选"})}),e.jsx(He,{className:"w-16",children:"预览"}),e.jsx(He,{children:"描述"}),e.jsx(He,{children:"格式"}),e.jsx(He,{children:"情绪标签"}),e.jsx(He,{className:"text-center",children:"状态"}),e.jsx(He,{className:"text-right",children:"使用次数"}),e.jsx(He,{className:"text-right",children:"操作"})]})}),e.jsx(Pl,{children:s.length===0?e.jsx(ns,{children:e.jsx(Ae,{colSpan:8,className:"text-center py-8 text-muted-foreground",children:"暂无数据"})}):s.map(re=>e.jsxs(ns,{children:[e.jsx(Ae,{children:e.jsx(Cs,{checked:oe.has(re.id),onCheckedChange:()=>de(re.id),"aria-label":`选择 ${re.description}`})}),e.jsx(Ae,{children:e.jsx("div",{className:"w-20 h-20 bg-muted rounded flex items-center justify-center overflow-hidden",children:e.jsx("img",{src:Zf(re.id),alt:re.description||"表情包",className:"w-full h-full object-cover",onError:Pe=>{const ze=Pe.target;ze.style.display="none";const Zt=ze.parentElement;Zt&&(Zt.innerHTML='')}})})}),e.jsx(Ae,{children:e.jsxs("div",{className:"space-y-1 max-w-xs",children:[e.jsx("div",{className:"font-medium truncate",title:re.description||"无描述",children:re.description||"无描述"}),e.jsxs("div",{className:"text-xs text-muted-foreground font-mono",children:[re.emoji_hash.slice(0,16),"..."]})]})}),e.jsx(Ae,{children:e.jsx(_t,{variant:"outline",children:re.format.toUpperCase()})}),e.jsx(Ae,{children:e.jsx(Yj,{emotions:re.emotion})}),e.jsx(Ae,{className:"align-middle",children:e.jsxs("div",{className:"flex gap-2 justify-center",children:[re.is_registered&&e.jsxs(_t,{variant:"default",className:"bg-green-600",children:[e.jsx(Ys,{className:"h-3 w-3 mr-1"}),"已注册"]}),re.is_banned&&e.jsxs(_t,{variant:"destructive",children:[e.jsx(Af,{className:"h-3 w-3 mr-1"}),"已封禁"]})]})}),e.jsx(Ae,{className:"text-right font-mono",children:re.usage_count}),e.jsx(Ae,{children:e.jsxs("div",{className:"flex items-center justify-end gap-1 flex-wrap",children:[e.jsxs(q,{variant:"default",size:"sm",onClick:()=>xe(re),children:[e.jsx(Fr,{className:"h-4 w-4 mr-1"}),"详情"]}),e.jsxs(q,{variant:"default",size:"sm",onClick:()=>F(re),children:[e.jsx(qr,{className:"h-4 w-4 mr-1"}),"编辑"]}),!re.is_registered&&e.jsxs(q,{size:"sm",onClick:()=>I(re),className:"bg-green-600 hover:bg-green-700 text-white",children:[e.jsx(Ys,{className:"h-4 w-4 mr-1"}),"注册"]}),!re.is_banned&&e.jsxs(q,{size:"sm",onClick:()=>ve(re),className:"bg-orange-600 hover:bg-orange-700 text-white",children:[e.jsx(Jv,{className:"h-4 w-4 mr-1"}),"封禁"]}),e.jsxs(q,{size:"sm",onClick:()=>W(re),className:"bg-red-600 hover:bg-red-700 text-white",children:[e.jsx(ft,{className:"h-4 w-4 mr-1"}),"删除"]})]})})]},re.id))})]})}),e.jsx("div",{className:"md:hidden space-y-3",children:s.length===0?e.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"暂无数据"}):s.map(re=>e.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3 overflow-hidden",children:[e.jsxs("div",{className:"flex gap-3",children:[e.jsx("div",{className:"flex-shrink-0",children:e.jsx("div",{className:"w-16 h-16 bg-muted rounded flex items-center justify-center overflow-hidden",children:e.jsx("img",{src:Zf(re.id),alt:re.description||"表情包",className:"w-full h-full object-cover",onError:Pe=>{const ze=Pe.target;ze.style.display="none";const Zt=ze.parentElement;Zt&&(Zt.innerHTML='')}})})}),e.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[e.jsxs("div",{className:"min-w-0 w-full overflow-hidden",children:[e.jsx("h3",{className:"font-semibold text-sm line-clamp-1 w-full break-all",title:re.description||"无描述",children:re.description||"无描述"}),e.jsxs("p",{className:"text-xs text-muted-foreground font-mono line-clamp-1 w-full break-all",children:[re.emoji_hash.slice(0,16),"..."]})]}),e.jsxs("div",{className:"flex flex-wrap gap-1 items-center min-w-0",children:[e.jsx(_t,{variant:"outline",className:"text-xs flex-shrink-0",children:re.format.toUpperCase()}),re.is_registered&&e.jsxs(_t,{variant:"default",className:"bg-green-600 text-xs flex-shrink-0",children:[e.jsx(Ys,{className:"h-3 w-3 mr-1"}),"已注册"]}),re.is_banned&&e.jsxs(_t,{variant:"destructive",className:"text-xs flex-shrink-0",children:[e.jsx(Af,{className:"h-3 w-3 mr-1"}),"已封禁"]}),e.jsxs("span",{className:"text-xs text-muted-foreground flex-shrink-0",children:["使用: ",re.usage_count]})]}),re.emotion&&re.emotion.length>0&&e.jsx("div",{className:"min-w-0 overflow-hidden",children:e.jsx(Yj,{emotions:re.emotion})})]})]}),e.jsxs("div",{className:"flex flex-wrap gap-1 pt-2 border-t overflow-hidden",children:[e.jsxs(q,{variant:"default",size:"sm",onClick:()=>xe(re),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[e.jsx(Fr,{className:"h-3 w-3 mr-1"}),"详情"]}),e.jsxs(q,{variant:"default",size:"sm",onClick:()=>F(re),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[e.jsx(qr,{className:"h-3 w-3 mr-1"}),"编辑"]}),!re.is_registered&&e.jsxs(q,{size:"sm",onClick:()=>I(re),className:"text-xs px-2 py-1 h-auto flex-shrink-0 bg-green-600 hover:bg-green-700 text-white",children:[e.jsx(Ys,{className:"h-3 w-3 mr-1"}),"注册"]}),!re.is_banned&&e.jsxs(q,{size:"sm",onClick:()=>ve(re),className:"text-xs px-2 py-1 h-auto flex-shrink-0 bg-orange-600 hover:bg-orange-700 text-white",children:[e.jsx(Jv,{className:"h-3 w-3 mr-1"}),"封禁"]}),e.jsxs(q,{size:"sm",onClick:()=>W(re),className:"text-xs px-2 py-1 h-auto flex-shrink-0 bg-red-600 hover:bg-red-700 text-white",children:[e.jsx(ft,{className:"h-3 w-3 mr-1"}),"删除"]})]})]},re.id))}),p>0&&e.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 mt-4",children:[e.jsxs("div",{className:"text-sm text-muted-foreground",children:["显示 ",(m-1)*g+1," 到"," ",Math.min(m*g,p)," 条,共 ",p," 条"]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(q,{variant:"outline",size:"sm",onClick:()=>h(1),disabled:m===1,className:"hidden sm:flex",children:e.jsx(vo,{className:"h-4 w-4"})}),e.jsxs(q,{variant:"outline",size:"sm",onClick:()=>h(re=>Math.max(1,re-1)),disabled:m===1,children:[e.jsx(Ol,{className:"h-4 w-4 sm:mr-1"}),e.jsx("span",{className:"hidden sm:inline",children:"上一页"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(pe,{type:"number",value:R,onChange:re=>O(re.target.value),onKeyDown:re=>re.key==="Enter"&&Oe(),placeholder:m.toString(),className:"w-16 h-8 text-center",min:1,max:Math.ceil(p/g)}),e.jsx(q,{variant:"outline",size:"sm",onClick:Oe,disabled:!R,className:"h-8",children:"跳转"})]}),e.jsxs(q,{variant:"outline",size:"sm",onClick:()=>h(re=>re+1),disabled:m>=Math.ceil(p/g),children:[e.jsx("span",{className:"hidden sm:inline",children:"下一页"}),e.jsx(Al,{className:"h-4 w-4 sm:ml-1"})]}),e.jsx(q,{variant:"outline",size:"sm",onClick:()=>h(Math.ceil(p/g)),disabled:m>=Math.ceil(p/g),className:"hidden sm:flex",children:e.jsx(jo,{className:"h-4 w-4"})})]})]})]})]}),e.jsx(tD,{emoji:k,open:A,onOpenChange:E}),e.jsx(sD,{emoji:k,open:B,onOpenChange:Y,onSuccess:()=>{ee(),le()}})]})}),e.jsx(Ft,{open:ae,onOpenChange:me,children:e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认批量删除"}),e.jsxs(Pt,{children:["你确定要删除选中的 ",oe.size," 个表情包吗?此操作不可撤销。"]})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:Q,children:"确认删除"})]})]})}),e.jsx(bs,{open:G,onOpenChange:$,children:e.jsxs(ms,{children:[e.jsxs(fs,{children:[e.jsx(hs,{children:"确认删除"}),e.jsx(ks,{children:"确定要删除这个表情包吗?此操作无法撤销。"})]}),e.jsxs($s,{children:[e.jsx(q,{variant:"outline",onClick:()=>$(!1),children:"取消"}),e.jsx(q,{variant:"destructive",onClick:fe,children:"删除"})]})]})})]})}function tD({emoji:s,open:a,onOpenChange:l}){if(!s)return null;const i=c=>c?new Date(c*1e3).toLocaleString("zh-CN"):"-";return e.jsx(bs,{open:a,onOpenChange:l,children:e.jsxs(ms,{className:"max-w-2xl max-h-[90vh]",children:[e.jsx(fs,{children:e.jsx(hs,{children:"表情包详情"})}),e.jsx(Ct,{className:"max-h-[calc(90vh-8rem)] pr-4",children:e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"flex justify-center",children:e.jsx("div",{className:"w-32 h-32 bg-muted rounded-lg flex items-center justify-center overflow-hidden",children:e.jsx("img",{src:Zf(s.id),alt:s.description||"表情包",className:"w-full h-full object-cover",onError:c=>{const d=c.target;d.style.display="none";const m=d.parentElement;m&&(m.innerHTML='')}})})}),e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[e.jsxs("div",{children:[e.jsx(U,{className:"text-muted-foreground",children:"ID"}),e.jsx("div",{className:"mt-1 font-mono",children:s.id})]}),e.jsxs("div",{children:[e.jsx(U,{className:"text-muted-foreground",children:"格式"}),e.jsx("div",{className:"mt-1",children:e.jsx(_t,{variant:"outline",children:s.format.toUpperCase()})})]})]}),e.jsxs("div",{children:[e.jsx(U,{className:"text-muted-foreground",children:"文件路径"}),e.jsx("div",{className:"mt-1 font-mono text-sm break-all bg-muted p-2 rounded",children:s.full_path})]}),e.jsxs("div",{children:[e.jsx(U,{className:"text-muted-foreground",children:"哈希值"}),e.jsx("div",{className:"mt-1 font-mono text-sm break-all bg-muted p-2 rounded",children:s.emoji_hash})]}),e.jsxs("div",{children:[e.jsx(U,{className:"text-muted-foreground",children:"描述"}),e.jsx("div",{className:"mt-1",children:s.description||"-"})]}),e.jsxs("div",{children:[e.jsx(U,{className:"text-muted-foreground",children:"情绪标签"}),e.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:(()=>{const c=s.emotion?s.emotion.split(/[,,]/).map(d=>d.trim()).filter(Boolean):[];return c.length>0?c.map((d,m)=>e.jsx(_t,{variant:"secondary",children:d},m)):e.jsx("span",{className:"text-sm text-muted-foreground",children:"无"})})()})]}),e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[e.jsxs("div",{children:[e.jsx(U,{className:"text-muted-foreground",children:"状态"}),e.jsxs("div",{className:"mt-2 flex gap-2",children:[s.is_registered&&e.jsx(_t,{variant:"default",className:"bg-green-600",children:"已注册"}),s.is_banned&&e.jsx(_t,{variant:"destructive",children:"已封禁"}),!s.is_registered&&!s.is_banned&&e.jsx(_t,{variant:"outline",children:"未注册"})]})]}),e.jsxs("div",{children:[e.jsx(U,{className:"text-muted-foreground",children:"使用次数"}),e.jsx("div",{className:"mt-1 font-mono text-lg",children:s.usage_count})]})]}),e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[e.jsxs("div",{children:[e.jsx(U,{className:"text-muted-foreground",children:"记录时间"}),e.jsx("div",{className:"mt-1 text-sm",children:i(s.record_time)})]}),e.jsxs("div",{children:[e.jsx(U,{className:"text-muted-foreground",children:"注册时间"}),e.jsx("div",{className:"mt-1 text-sm",children:i(s.register_time)})]})]}),e.jsxs("div",{children:[e.jsx(U,{className:"text-muted-foreground",children:"最后使用"}),e.jsx("div",{className:"mt-1 text-sm",children:i(s.last_used_time)})]})]})})]})})}function sD({emoji:s,open:a,onOpenChange:l,onSuccess:i}){const[c,d]=x.useState(""),[m,h]=x.useState(""),[p,v]=x.useState(!1),[g,j]=x.useState(!1),[b,w]=x.useState(!1),{toast:S}=Es();x.useEffect(()=>{s&&(d(s.description||""),h(s.emotion||""),v(s.is_registered),j(s.is_banned))},[s]);const C=async()=>{if(s)try{w(!0);const N=m.split(/[,,]/).map(T=>T.trim()).filter(Boolean).join(",");await WM(s.id,{description:c||void 0,emotion:N||void 0,is_registered:p,is_banned:g}),S({title:"成功",description:"表情包信息已更新"}),l(!1),i()}catch(N){const T=N instanceof Error?N.message:"保存失败";S({title:"错误",description:T,variant:"destructive"})}finally{w(!1)}};return s?e.jsx(bs,{open:a,onOpenChange:l,children:e.jsxs(ms,{className:"max-w-2xl",children:[e.jsxs(fs,{children:[e.jsx(hs,{children:"编辑表情包"}),e.jsx(ks,{children:"修改表情包的描述和标签信息"})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx(U,{children:"描述"}),e.jsx(Dt,{value:c,onChange:N=>d(N.target.value),placeholder:"输入表情包描述...",rows:3,className:"mt-1"})]}),e.jsxs("div",{children:[e.jsx(U,{children:"情绪标签"}),e.jsx(pe,{value:m,onChange:N=>h(N.target.value),placeholder:"使用逗号分隔多个标签,如:开心, 微笑, 快乐",className:"mt-1"}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"输入多个标签时使用逗号分隔(支持中英文逗号)"})]}),e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Cs,{id:"is_registered",checked:p,onCheckedChange:N=>v(N===!0)}),e.jsx(U,{htmlFor:"is_registered",className:"cursor-pointer",children:"已注册"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Cs,{id:"is_banned",checked:g,onCheckedChange:N=>j(N===!0)}),e.jsx(U,{htmlFor:"is_banned",className:"cursor-pointer",children:"已封禁"})]})]})]}),e.jsxs($s,{children:[e.jsx(q,{variant:"outline",onClick:()=>l(!1),children:"取消"}),e.jsx(q,{onClick:C,disabled:b,children:b?"保存中...":"保存"})]})]})}):null}function Yj({emotions:s}){const a=s?s.split(/[,,]/).map(d=>d.trim()).filter(Boolean):[];if(a.length===0)return e.jsx("span",{className:"text-xs text-muted-foreground",children:"-"});const l=(d,m=6)=>d.length<=m?d:d.slice(0,m)+"...",i=a.slice(0,3),c=a.length-3;return e.jsxs("div",{className:"flex flex-wrap gap-1 max-w-full overflow-hidden",children:[i.map((d,m)=>e.jsx(_t,{variant:"secondary",className:"text-xs flex-shrink-0",title:d,children:l(d)},m)),c>0&&e.jsxs(_t,{variant:"outline",className:"text-xs flex-shrink-0",title:`还有 ${c} 个标签: ${a.slice(3).join(", ")}`,children:["+",c]})]})}const Ll="/api/webui/expression";async function nD(s){const a=new URLSearchParams;s.page&&a.append("page",s.page.toString()),s.page_size&&a.append("page_size",s.page_size.toString()),s.search&&a.append("search",s.search),s.chat_id&&a.append("chat_id",s.chat_id);const l=await Fe(`${Ll}/list?${a}`,{headers:Ie()});if(!l.ok){const i=await l.json();throw new Error(i.detail||"获取表达方式列表失败")}return l.json()}async function aD(s){const a=await Fe(`${Ll}/${s}`,{headers:Ie()});if(!a.ok){const l=await a.json();throw new Error(l.detail||"获取表达方式详情失败")}return a.json()}async function lD(s){const a=await Fe(`${Ll}/`,{method:"POST",headers:Ie(),body:JSON.stringify(s)});if(!a.ok){const l=await a.json();throw new Error(l.detail||"创建表达方式失败")}return a.json()}async function rD(s,a){const l=await Fe(`${Ll}/${s}`,{method:"PATCH",headers:Ie(),body:JSON.stringify(a)});if(!l.ok){const i=await l.json();throw new Error(i.detail||"更新表达方式失败")}return l.json()}async function iD(s){const a=await Fe(`${Ll}/${s}`,{method:"DELETE",headers:Ie()});if(!a.ok){const l=await a.json();throw new Error(l.detail||"删除表达方式失败")}return a.json()}async function oD(s){const a=await Fe(`${Ll}/batch/delete`,{method:"POST",headers:Ie(),body:JSON.stringify({ids:s})});if(!a.ok){const l=await a.json();throw new Error(l.detail||"批量删除表达方式失败")}return a.json()}async function cD(){const s=await Fe(`${Ll}/stats/summary`,{headers:Ie()});if(!s.ok){const a=await s.json();throw new Error(a.detail||"获取统计数据失败")}return s.json()}function dD(){const[s,a]=x.useState([]),[l,i]=x.useState(!0),[c,d]=x.useState(0),[m,h]=x.useState(1),[p,v]=x.useState(20),[g,j]=x.useState(""),[b,w]=x.useState(null),[S,C]=x.useState(!1),[N,T]=x.useState(!1),[P,M]=x.useState(!1),[k,D]=x.useState(null),[A,E]=x.useState(new Set),[B,Y]=x.useState(!1),[G,$]=x.useState(""),[oe,je]=x.useState({total:0,recent_7days:0,chat_count:0,top_chats:{}}),{toast:ae}=Es(),me=async()=>{try{i(!0);const I=await nD({page:m,page_size:p,search:g||void 0});a(I.data),d(I.total)}catch(I){ae({title:"加载失败",description:I instanceof Error?I.message:"无法加载表达方式",variant:"destructive"})}finally{i(!1)}},R=async()=>{try{const I=await cD();je(I.data)}catch(I){console.error("加载统计数据失败:",I)}};x.useEffect(()=>{me(),R()},[m,p,g]);const O=async I=>{try{const ve=await aD(I.id);w(ve.data),C(!0)}catch(ve){ae({title:"加载详情失败",description:ve instanceof Error?ve.message:"无法加载表达方式详情",variant:"destructive"})}},L=I=>{w(I),T(!0)},ee=async I=>{try{await iD(I.id),ae({title:"删除成功",description:`已删除表达方式: ${I.situation}`}),D(null),me(),R()}catch(ve){ae({title:"删除失败",description:ve instanceof Error?ve.message:"无法删除表达方式",variant:"destructive"})}},le=I=>{const ve=new Set(A);ve.has(I)?ve.delete(I):ve.add(I),E(ve)},xe=()=>{A.size===s.length&&s.length>0?E(new Set):E(new Set(s.map(I=>I.id)))},F=async()=>{try{await oD(Array.from(A)),ae({title:"批量删除成功",description:`已删除 ${A.size} 个表达方式`}),E(new Set),Y(!1),me(),R()}catch(I){ae({title:"批量删除失败",description:I instanceof Error?I.message:"无法批量删除表达方式",variant:"destructive"})}},W=()=>{const I=parseInt(G),ve=Math.ceil(c/p);I>=1&&I<=ve?(h(I),$("")):ae({title:"无效的页码",description:`请输入1-${ve}之间的页码`,variant:"destructive"})},fe=I=>I?new Date(I*1e3).toLocaleString("zh-CN"):"-";return e.jsxs("div",{className:"h-[calc(100vh-4rem)] flex flex-col p-4 sm:p-6",children:[e.jsx("div",{className:"mb-4 sm:mb-6",children:e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[e.jsxs("div",{children:[e.jsxs("h1",{className:"text-2xl sm:text-3xl font-bold flex items-center gap-2",children:[e.jsx(po,{className:"h-8 w-8",strokeWidth:2}),"表达方式管理"]}),e.jsx("p",{className:"text-muted-foreground mt-1 text-sm sm:text-base",children:"管理麦麦的表达方式和话术模板"})]}),e.jsxs(q,{onClick:()=>M(!0),className:"gap-2",children:[e.jsx(ys,{className:"h-4 w-4"}),"新增表达方式"]})]})}),e.jsx(Ct,{className:"flex-1",children:e.jsxs("div",{className:"space-y-4 sm:space-y-6 pr-4",children:[e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[e.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:"总数量"}),e.jsx("div",{className:"text-2xl font-bold mt-1",children:oe.total})]}),e.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:"近7天新增"}),e.jsx("div",{className:"text-2xl font-bold mt-1 text-green-600",children:oe.recent_7days})]}),e.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:"关联聊天数"}),e.jsx("div",{className:"text-2xl font-bold mt-1 text-blue-600",children:oe.chat_count})]})]}),e.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[e.jsx(U,{htmlFor:"search",children:"搜索"}),e.jsx("div",{className:"flex flex-col sm:flex-row gap-2 mt-1.5",children:e.jsxs("div",{className:"flex-1 relative",children:[e.jsx(Gs,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),e.jsx(pe,{id:"search",placeholder:"搜索情境、风格或上下文...",value:g,onChange:I=>j(I.target.value),className:"pl-9"})]})}),e.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-3 mt-4 pt-4 border-t",children:[e.jsx("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:A.size>0&&e.jsxs("span",{children:["已选择 ",A.size," 个表达方式"]})}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(U,{htmlFor:"page-size",className:"text-sm whitespace-nowrap",children:"每页显示"}),e.jsxs(rt,{value:p.toString(),onValueChange:I=>{v(parseInt(I)),h(1),E(new Set)},children:[e.jsx(at,{id:"page-size",className:"w-20",children:e.jsx(it,{})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"10",children:"10"}),e.jsx(ye,{value:"20",children:"20"}),e.jsx(ye,{value:"50",children:"50"}),e.jsx(ye,{value:"100",children:"100"})]})]}),A.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(q,{variant:"outline",size:"sm",onClick:()=>E(new Set),children:"取消选择"}),e.jsxs(q,{variant:"destructive",size:"sm",onClick:()=>Y(!0),children:[e.jsx(ft,{className:"h-4 w-4 mr-1"}),"批量删除"]})]})]})]})]}),e.jsxs("div",{className:"rounded-lg border bg-card",children:[e.jsx("div",{className:"hidden md:block",children:e.jsxs(Rl,{children:[e.jsx(zl,{children:e.jsxs(ns,{children:[e.jsx(He,{className:"w-12",children:e.jsx(Cs,{checked:A.size===s.length&&s.length>0,onCheckedChange:xe})}),e.jsx(He,{children:"情境"}),e.jsx(He,{children:"风格"}),e.jsx(He,{children:"聊天ID"}),e.jsx(He,{children:"最后活跃"}),e.jsx(He,{className:"text-right",children:"操作"})]})}),e.jsx(Pl,{children:l?e.jsx(ns,{children:e.jsx(Ae,{colSpan:6,className:"text-center py-8 text-muted-foreground",children:"加载中..."})}):s.length===0?e.jsx(ns,{children:e.jsx(Ae,{colSpan:6,className:"text-center py-8 text-muted-foreground",children:"暂无数据"})}):s.map(I=>e.jsxs(ns,{children:[e.jsx(Ae,{children:e.jsx(Cs,{checked:A.has(I.id),onCheckedChange:()=>le(I.id)})}),e.jsx(Ae,{className:"font-medium max-w-xs truncate",children:I.situation}),e.jsx(Ae,{className:"max-w-xs truncate",children:I.style}),e.jsx(Ae,{className:"font-mono text-sm",children:I.chat_id}),e.jsx(Ae,{className:"text-sm text-muted-foreground",children:fe(I.last_active_time)}),e.jsx(Ae,{className:"text-right",children:e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsxs(q,{variant:"default",size:"sm",onClick:()=>O(I),children:[e.jsx(Mn,{className:"h-4 w-4 mr-1"}),"详情"]}),e.jsxs(q,{variant:"default",size:"sm",onClick:()=>L(I),children:[e.jsx(qr,{className:"h-4 w-4 mr-1"}),"编辑"]}),e.jsxs(q,{size:"sm",onClick:()=>D(I),className:"bg-red-600 hover:bg-red-700 text-white",children:[e.jsx(ft,{className:"h-4 w-4 mr-1"}),"删除"]})]})})]},I.id))})]})}),e.jsx("div",{className:"md:hidden space-y-3 p-4",children:l?e.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"加载中..."}):s.length===0?e.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"暂无数据"}):s.map(I=>e.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3 overflow-hidden",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(Cs,{checked:A.has(I.id),onCheckedChange:()=>le(I.id),className:"mt-1"}),e.jsxs("div",{className:"min-w-0 flex-1 overflow-hidden space-y-2",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"情境"}),e.jsx("h3",{className:"font-semibold text-sm line-clamp-2 w-full break-all",title:I.situation,children:I.situation})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"风格"}),e.jsx("p",{className:"text-sm line-clamp-2 w-full break-all",title:I.style,children:I.style})]})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"聊天ID"}),e.jsx("p",{className:"font-mono text-xs truncate",children:I.chat_id})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"最后活跃"}),e.jsx("p",{className:"text-xs",children:fe(I.last_active_time)})]})]}),e.jsxs("div",{className:"flex flex-wrap gap-1 pt-2 border-t overflow-hidden",children:[e.jsxs(q,{variant:"outline",size:"sm",onClick:()=>O(I),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[e.jsx(Mn,{className:"h-3 w-3 mr-1"}),"查看"]}),e.jsxs(q,{variant:"outline",size:"sm",onClick:()=>L(I),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[e.jsx(qr,{className:"h-3 w-3 mr-1"}),"编辑"]}),e.jsxs(q,{variant:"outline",size:"sm",onClick:()=>D(I),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-destructive hover:text-destructive",children:[e.jsx(ft,{className:"h-3 w-3 mr-1"}),"删除"]})]})]},I.id))}),c>0&&e.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 px-4 py-3 border-t",children:[e.jsxs("div",{className:"text-sm text-muted-foreground",children:["共 ",c," 条记录,第 ",m," / ",Math.ceil(c/p)," 页"]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(q,{variant:"outline",size:"sm",onClick:()=>h(1),disabled:m===1,className:"hidden sm:flex",children:e.jsx(vo,{className:"h-4 w-4"})}),e.jsxs(q,{variant:"outline",size:"sm",onClick:()=>h(m-1),disabled:m===1,children:[e.jsx(Ol,{className:"h-4 w-4 sm:mr-1"}),e.jsx("span",{className:"hidden sm:inline",children:"上一页"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(pe,{type:"number",value:G,onChange:I=>$(I.target.value),onKeyDown:I=>I.key==="Enter"&&W(),placeholder:m.toString(),className:"w-16 h-8 text-center",min:1,max:Math.ceil(c/p)}),e.jsx(q,{variant:"outline",size:"sm",onClick:W,disabled:!G,className:"h-8",children:"跳转"})]}),e.jsxs(q,{variant:"outline",size:"sm",onClick:()=>h(m+1),disabled:m>=Math.ceil(c/p),children:[e.jsx("span",{className:"hidden sm:inline",children:"下一页"}),e.jsx(Al,{className:"h-4 w-4 sm:ml-1"})]}),e.jsx(q,{variant:"outline",size:"sm",onClick:()=>h(Math.ceil(c/p)),disabled:m>=Math.ceil(c/p),className:"hidden sm:flex",children:e.jsx(jo,{className:"h-4 w-4"})})]})]})]})]})}),e.jsx(uD,{expression:b,open:S,onOpenChange:C}),e.jsx(mD,{open:P,onOpenChange:M,onSuccess:()=>{me(),R(),M(!1)}}),e.jsx(fD,{expression:b,open:N,onOpenChange:T,onSuccess:()=>{me(),R(),T(!1)}}),e.jsx(Ft,{open:!!k,onOpenChange:()=>D(null),children:e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认删除"}),e.jsxs(Pt,{children:['确定要删除表达方式 "',k?.situation,'" 吗? 此操作不可撤销。']})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:()=>k&&ee(k),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"删除"})]})]})}),e.jsx(hD,{open:B,onOpenChange:Y,onConfirm:F,count:A.size})]})}function uD({expression:s,open:a,onOpenChange:l}){if(!s)return null;const i=c=>c?new Date(c*1e3).toLocaleString("zh-CN"):"-";return e.jsx(bs,{open:a,onOpenChange:l,children:e.jsxs(ms,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[e.jsxs(fs,{children:[e.jsx(hs,{children:"表达方式详情"}),e.jsx(ks,{children:"查看表达方式的完整信息"})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(Er,{label:"情境",value:s.situation}),e.jsx(Er,{label:"风格",value:s.style}),e.jsx(Er,{icon:xd,label:"聊天ID",value:s.chat_id,mono:!0}),e.jsx(Er,{icon:xd,label:"记录ID",value:s.id.toString(),mono:!0})]}),s.context&&e.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[e.jsx(U,{className:"text-xs text-muted-foreground",children:"上下文"}),e.jsx("p",{className:"mt-1 text-sm whitespace-pre-wrap",children:s.context})]}),s.up_content&&e.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[e.jsx(U,{className:"text-xs text-muted-foreground",children:"上文内容"}),e.jsx("p",{className:"mt-1 text-sm whitespace-pre-wrap",children:s.up_content})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(Er,{icon:_l,label:"最后活跃",value:i(s.last_active_time)}),e.jsx(Er,{icon:_l,label:"创建时间",value:i(s.create_date)})]})]}),e.jsx($s,{children:e.jsx(q,{onClick:()=>l(!1),children:"关闭"})})]})})}function Er({icon:s,label:a,value:l,mono:i=!1}){return e.jsxs("div",{className:"space-y-1",children:[e.jsxs(U,{className:"text-xs text-muted-foreground flex items-center gap-1",children:[s&&e.jsx(s,{className:"h-3 w-3"}),a]}),e.jsx("div",{className:Z("text-sm",i&&"font-mono",!l&&"text-muted-foreground"),children:l||"-"})]})}function mD({open:s,onOpenChange:a,onSuccess:l}){const[i,c]=x.useState({situation:"",style:"",context:"",up_content:"",chat_id:""}),[d,m]=x.useState(!1),{toast:h}=Es(),p=async()=>{if(!i.situation||!i.style||!i.chat_id){h({title:"验证失败",description:"请填写必填字段:情境、风格和聊天ID",variant:"destructive"});return}try{m(!0),await lD(i),h({title:"创建成功",description:"表达方式已创建"}),c({situation:"",style:"",context:"",up_content:"",chat_id:""}),l()}catch(v){h({title:"创建失败",description:v instanceof Error?v.message:"无法创建表达方式",variant:"destructive"})}finally{m(!1)}};return e.jsx(bs,{open:s,onOpenChange:a,children:e.jsxs(ms,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[e.jsxs(fs,{children:[e.jsx(hs,{children:"新增表达方式"}),e.jsx(ks,{children:"创建新的表达方式记录"})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(U,{htmlFor:"situation",children:["情境 ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(pe,{id:"situation",value:i.situation,onChange:v=>c({...i,situation:v.target.value}),placeholder:"描述使用场景"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(U,{htmlFor:"style",children:["风格 ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(pe,{id:"style",value:i.style,onChange:v=>c({...i,style:v.target.value}),placeholder:"描述表达风格"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(U,{htmlFor:"chat_id",children:["聊天ID ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(pe,{id:"chat_id",value:i.chat_id,onChange:v=>c({...i,chat_id:v.target.value}),placeholder:"关联的聊天ID"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"context",children:"上下文"}),e.jsx(Dt,{id:"context",value:i.context,onChange:v=>c({...i,context:v.target.value}),placeholder:"上下文信息(可选)",rows:3})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"up_content",children:"上文内容"}),e.jsx(Dt,{id:"up_content",value:i.up_content,onChange:v=>c({...i,up_content:v.target.value}),placeholder:"上文内容(可选)",rows:3})]})]}),e.jsxs($s,{children:[e.jsx(q,{variant:"outline",onClick:()=>a(!1),children:"取消"}),e.jsx(q,{onClick:p,disabled:d,children:d?"创建中...":"创建"})]})]})})}function fD({expression:s,open:a,onOpenChange:l,onSuccess:i}){const[c,d]=x.useState({}),[m,h]=x.useState(!1),{toast:p}=Es();x.useEffect(()=>{s&&d({situation:s.situation,style:s.style,context:s.context||"",up_content:s.up_content||"",chat_id:s.chat_id})},[s]);const v=async()=>{if(s)try{h(!0),await rD(s.id,c),p({title:"保存成功",description:"表达方式已更新"}),i()}catch(g){p({title:"保存失败",description:g instanceof Error?g.message:"无法更新表达方式",variant:"destructive"})}finally{h(!1)}};return s?e.jsx(bs,{open:a,onOpenChange:l,children:e.jsxs(ms,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[e.jsxs(fs,{children:[e.jsx(hs,{children:"编辑表达方式"}),e.jsx(ks,{children:"修改表达方式的信息"})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"edit_situation",children:"情境"}),e.jsx(pe,{id:"edit_situation",value:c.situation||"",onChange:g=>d({...c,situation:g.target.value}),placeholder:"描述使用场景"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"edit_style",children:"风格"}),e.jsx(pe,{id:"edit_style",value:c.style||"",onChange:g=>d({...c,style:g.target.value}),placeholder:"描述表达风格"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"edit_chat_id",children:"聊天ID"}),e.jsx(pe,{id:"edit_chat_id",value:c.chat_id||"",onChange:g=>d({...c,chat_id:g.target.value}),placeholder:"关联的聊天ID"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"edit_context",children:"上下文"}),e.jsx(Dt,{id:"edit_context",value:c.context||"",onChange:g=>d({...c,context:g.target.value}),placeholder:"上下文信息",rows:3})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"edit_up_content",children:"上文内容"}),e.jsx(Dt,{id:"edit_up_content",value:c.up_content||"",onChange:g=>d({...c,up_content:g.target.value}),placeholder:"上文内容",rows:3})]})]}),e.jsxs($s,{children:[e.jsx(q,{variant:"outline",onClick:()=>l(!1),children:"取消"}),e.jsx(q,{onClick:v,disabled:m,children:m?"保存中...":"保存"})]})]})}):null}function hD({open:s,onOpenChange:a,onConfirm:l,count:i}){return e.jsx(Ft,{open:s,onOpenChange:a,children:e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认批量删除"}),e.jsxs(Pt,{children:["您即将删除 ",i," 个表达方式,此操作无法撤销。确定要继续吗?"]})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:l,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"确认删除"})]})]})})}const si="/api/webui/person";async function xD(s){const a=new URLSearchParams;s.page&&a.append("page",s.page.toString()),s.page_size&&a.append("page_size",s.page_size.toString()),s.search&&a.append("search",s.search),s.is_known!==void 0&&a.append("is_known",s.is_known.toString()),s.platform&&a.append("platform",s.platform);const l=await Fe(`${si}/list?${a}`,{headers:Ie()});if(!l.ok){const i=await l.json();throw new Error(i.detail||"获取人物列表失败")}return l.json()}async function pD(s){const a=await Fe(`${si}/${s}`,{headers:Ie()});if(!a.ok){const l=await a.json();throw new Error(l.detail||"获取人物详情失败")}return a.json()}async function gD(s,a){const l=await Fe(`${si}/${s}`,{method:"PATCH",headers:Ie(),body:JSON.stringify(a)});if(!l.ok){const i=await l.json();throw new Error(i.detail||"更新人物信息失败")}return l.json()}async function vD(s){const a=await Fe(`${si}/${s}`,{method:"DELETE",headers:Ie()});if(!a.ok){const l=await a.json();throw new Error(l.detail||"删除人物信息失败")}return a.json()}async function jD(){const s=await Fe(`${si}/stats/summary`,{headers:Ie()});if(!s.ok){const a=await s.json();throw new Error(a.detail||"获取统计数据失败")}return s.json()}async function yD(s){const a=await Fe(`${si}/batch/delete`,{method:"POST",headers:Ie(),body:JSON.stringify({person_ids:s})});if(!a.ok){const l=await a.json();throw new Error(l.detail||"批量删除失败")}return a.json()}function bD(){const[s,a]=x.useState([]),[l,i]=x.useState(!0),[c,d]=x.useState(0),[m,h]=x.useState(1),[p,v]=x.useState(20),[g,j]=x.useState(""),[b,w]=x.useState(void 0),[S,C]=x.useState(void 0),[N,T]=x.useState(null),[P,M]=x.useState(!1),[k,D]=x.useState(!1),[A,E]=x.useState(null),[B,Y]=x.useState({total:0,known:0,unknown:0,platforms:{}}),[G,$]=x.useState(new Set),[oe,je]=x.useState(!1),[ae,me]=x.useState(""),{toast:R}=Es(),O=async()=>{try{i(!0);const Q=await xD({page:m,page_size:p,search:g||void 0,is_known:b,platform:S});a(Q.data),d(Q.total)}catch(Q){R({title:"加载失败",description:Q instanceof Error?Q.message:"无法加载人物信息",variant:"destructive"})}finally{i(!1)}},L=async()=>{try{const Q=await jD();Y(Q.data)}catch(Q){console.error("加载统计数据失败:",Q)}};x.useEffect(()=>{O(),L()},[m,p,g,b,S]);const ee=async Q=>{try{const Oe=await pD(Q.person_id);T(Oe.data),M(!0)}catch(Oe){R({title:"加载详情失败",description:Oe instanceof Error?Oe.message:"无法加载人物详情",variant:"destructive"})}},le=Q=>{T(Q),D(!0)},xe=async Q=>{try{await vD(Q.person_id),R({title:"删除成功",description:`已删除人物信息: ${Q.person_name||Q.nickname||Q.user_id}`}),E(null),O(),L()}catch(Oe){R({title:"删除失败",description:Oe instanceof Error?Oe.message:"无法删除人物信息",variant:"destructive"})}},F=x.useMemo(()=>Object.keys(B.platforms),[B.platforms]),W=Q=>{const Oe=new Set(G);Oe.has(Q)?Oe.delete(Q):Oe.add(Q),$(Oe)},fe=()=>{G.size===s.length&&s.length>0?$(new Set):$(new Set(s.map(Q=>Q.person_id)))},I=()=>{if(G.size===0){R({title:"未选择任何人物",description:"请先选择要删除的人物",variant:"destructive"});return}je(!0)},ve=async()=>{try{const Q=await yD(Array.from(G));R({title:"批量删除完成",description:Q.message}),$(new Set),je(!1),O(),L()}catch(Q){R({title:"批量删除失败",description:Q instanceof Error?Q.message:"批量删除失败",variant:"destructive"})}},de=()=>{const Q=parseInt(ae),Oe=Math.ceil(c/p);Q>=1&&Q<=Oe?(h(Q),me("")):R({title:"无效的页码",description:`请输入1-${Oe}之间的页码`,variant:"destructive"})},Ce=Q=>Q?new Date(Q*1e3).toLocaleString("zh-CN"):"-";return e.jsxs("div",{className:"h-[calc(100vh-4rem)] flex flex-col p-4 sm:p-6",children:[e.jsx("div",{className:"mb-4 sm:mb-6",children:e.jsx("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:e.jsxs("div",{children:[e.jsxs("h1",{className:"text-2xl sm:text-3xl font-bold flex items-center gap-2",children:[e.jsx(H2,{className:"h-8 w-8",strokeWidth:2}),"人物信息管理"]}),e.jsx("p",{className:"text-muted-foreground mt-1 text-sm sm:text-base",children:"管理麦麦认识的所有人物信息"})]})})}),e.jsx(Ct,{className:"flex-1",children:e.jsxs("div",{className:"space-y-4 sm:space-y-6 pr-4",children:[e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[e.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:"总人数"}),e.jsx("div",{className:"text-2xl font-bold mt-1",children:B.total})]}),e.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:"已认识"}),e.jsx("div",{className:"text-2xl font-bold mt-1 text-green-600",children:B.known})]}),e.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:"未认识"}),e.jsx("div",{className:"text-2xl font-bold mt-1 text-muted-foreground",children:B.unknown})]})]}),e.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-4 gap-4",children:[e.jsxs("div",{className:"sm:col-span-2",children:[e.jsx(U,{htmlFor:"search",children:"搜索"}),e.jsxs("div",{className:"relative mt-1.5",children:[e.jsx(Gs,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),e.jsx(pe,{id:"search",placeholder:"搜索名称、昵称或用户ID...",value:g,onChange:Q=>j(Q.target.value),className:"pl-9"})]})]}),e.jsxs("div",{children:[e.jsx(U,{htmlFor:"filter-known",children:"认识状态"}),e.jsxs(rt,{value:b===void 0?"all":b.toString(),onValueChange:Q=>{w(Q==="all"?void 0:Q==="true"),h(1)},children:[e.jsx(at,{id:"filter-known",className:"mt-1.5",children:e.jsx(it,{})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"all",children:"全部"}),e.jsx(ye,{value:"true",children:"已认识"}),e.jsx(ye,{value:"false",children:"未认识"})]})]})]}),e.jsxs("div",{children:[e.jsx(U,{htmlFor:"filter-platform",children:"平台"}),e.jsxs(rt,{value:S||"all",onValueChange:Q=>{C(Q==="all"?void 0:Q),h(1)},children:[e.jsx(at,{id:"filter-platform",className:"mt-1.5",children:e.jsx(it,{})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"all",children:"全部平台"}),F.map(Q=>e.jsxs(ye,{value:Q,children:[Q," (",B.platforms[Q],")"]},Q))]})]})]})]}),e.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-3 mt-4 pt-4 border-t",children:[e.jsx("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:G.size>0&&e.jsxs("span",{children:["已选择 ",G.size," 个人物"]})}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(U,{htmlFor:"page-size",className:"text-sm whitespace-nowrap",children:"每页显示"}),e.jsxs(rt,{value:p.toString(),onValueChange:Q=>{v(parseInt(Q)),h(1),$(new Set)},children:[e.jsx(at,{id:"page-size",className:"w-20",children:e.jsx(it,{})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"10",children:"10"}),e.jsx(ye,{value:"20",children:"20"}),e.jsx(ye,{value:"50",children:"50"}),e.jsx(ye,{value:"100",children:"100"})]})]}),G.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(q,{variant:"outline",size:"sm",onClick:()=>$(new Set),children:"取消选择"}),e.jsxs(q,{variant:"destructive",size:"sm",onClick:I,children:[e.jsx(ft,{className:"h-4 w-4 mr-1"}),"批量删除"]})]})]})]})]}),e.jsxs("div",{className:"rounded-lg border bg-card",children:[e.jsx("div",{className:"hidden md:block",children:e.jsxs(Rl,{children:[e.jsx(zl,{children:e.jsxs(ns,{children:[e.jsx(He,{className:"w-12",children:e.jsx(Cs,{checked:s.length>0&&G.size===s.length,onCheckedChange:fe,"aria-label":"全选"})}),e.jsx(He,{children:"状态"}),e.jsx(He,{children:"名称"}),e.jsx(He,{children:"昵称"}),e.jsx(He,{children:"平台"}),e.jsx(He,{children:"用户ID"}),e.jsx(He,{children:"最后更新"}),e.jsx(He,{className:"text-right",children:"操作"})]})}),e.jsx(Pl,{children:l?e.jsx(ns,{children:e.jsx(Ae,{colSpan:8,className:"text-center py-8 text-muted-foreground",children:"加载中..."})}):s.length===0?e.jsx(ns,{children:e.jsx(Ae,{colSpan:8,className:"text-center py-8 text-muted-foreground",children:"暂无数据"})}):s.map(Q=>e.jsxs(ns,{children:[e.jsx(Ae,{children:e.jsx(Cs,{checked:G.has(Q.person_id),onCheckedChange:()=>W(Q.person_id),"aria-label":`选择 ${Q.person_name||Q.nickname||Q.user_id}`})}),e.jsx(Ae,{children:e.jsx("div",{className:Z("inline-flex items-center gap-1 px-2 py-1 rounded-full text-xs font-medium",Q.is_known?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-400"),children:Q.is_known?"已认识":"未认识"})}),e.jsx(Ae,{className:"font-medium",children:Q.person_name||e.jsx("span",{className:"text-muted-foreground",children:"-"})}),e.jsx(Ae,{children:Q.nickname||"-"}),e.jsx(Ae,{children:Q.platform}),e.jsx(Ae,{className:"font-mono text-sm",children:Q.user_id}),e.jsx(Ae,{className:"text-sm text-muted-foreground",children:Ce(Q.last_know)}),e.jsx(Ae,{className:"text-right",children:e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsxs(q,{variant:"default",size:"sm",onClick:()=>ee(Q),children:[e.jsx(Mn,{className:"h-4 w-4 mr-1"}),"详情"]}),e.jsxs(q,{variant:"default",size:"sm",onClick:()=>le(Q),children:[e.jsx(qr,{className:"h-4 w-4 mr-1"}),"编辑"]}),e.jsxs(q,{size:"sm",onClick:()=>E(Q),className:"bg-red-600 hover:bg-red-700 text-white",children:[e.jsx(ft,{className:"h-4 w-4 mr-1"}),"删除"]})]})})]},Q.id))})]})}),e.jsx("div",{className:"md:hidden space-y-3 p-4",children:l?e.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"加载中..."}):s.length===0?e.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"暂无数据"}):s.map(Q=>e.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3 overflow-hidden",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(Cs,{checked:G.has(Q.person_id),onCheckedChange:()=>W(Q.person_id),className:"mt-1"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:Z("inline-flex items-center gap-1 px-2 py-1 rounded-full text-xs font-medium mb-2",Q.is_known?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-400"),children:Q.is_known?"已认识":"未认识"}),e.jsx("h3",{className:"font-semibold text-sm line-clamp-1 w-full break-all",children:Q.person_name||e.jsx("span",{className:"text-muted-foreground",children:"未命名"})}),Q.nickname&&e.jsxs("p",{className:"text-xs text-muted-foreground mt-1 line-clamp-1 w-full break-all",children:["昵称: ",Q.nickname]})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"平台"}),e.jsx("p",{className:"font-medium text-xs",children:Q.platform})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"用户ID"}),e.jsx("p",{className:"font-mono text-xs truncate",title:Q.user_id,children:Q.user_id})]}),e.jsxs("div",{className:"col-span-2",children:[e.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"最后更新"}),e.jsx("p",{className:"text-xs",children:Ce(Q.last_know)})]})]}),e.jsxs("div",{className:"flex flex-wrap gap-1 pt-2 border-t overflow-hidden",children:[e.jsxs(q,{variant:"outline",size:"sm",onClick:()=>ee(Q),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[e.jsx(Mn,{className:"h-3 w-3 mr-1"}),"查看"]}),e.jsxs(q,{variant:"outline",size:"sm",onClick:()=>le(Q),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[e.jsx(qr,{className:"h-3 w-3 mr-1"}),"编辑"]}),e.jsxs(q,{variant:"outline",size:"sm",onClick:()=>E(Q),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-destructive hover:text-destructive",children:[e.jsx(ft,{className:"h-3 w-3 mr-1"}),"删除"]})]})]},Q.id))}),c>0&&e.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 px-4 py-3 border-t",children:[e.jsxs("div",{className:"text-sm text-muted-foreground",children:["共 ",c," 条记录,第 ",m," / ",Math.ceil(c/p)," 页"]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(q,{variant:"outline",size:"sm",onClick:()=>h(1),disabled:m===1,className:"hidden sm:flex",children:e.jsx(vo,{className:"h-4 w-4"})}),e.jsxs(q,{variant:"outline",size:"sm",onClick:()=>h(m-1),disabled:m===1,children:[e.jsx(Ol,{className:"h-4 w-4 sm:mr-1"}),e.jsx("span",{className:"hidden sm:inline",children:"上一页"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(pe,{type:"number",value:ae,onChange:Q=>me(Q.target.value),onKeyDown:Q=>Q.key==="Enter"&&de(),placeholder:m.toString(),className:"w-16 h-8 text-center",min:1,max:Math.ceil(c/p)}),e.jsx(q,{variant:"outline",size:"sm",onClick:de,disabled:!ae,className:"h-8",children:"跳转"})]}),e.jsxs(q,{variant:"outline",size:"sm",onClick:()=>h(m+1),disabled:m>=Math.ceil(c/p),children:[e.jsx("span",{className:"hidden sm:inline",children:"下一页"}),e.jsx(Al,{className:"h-4 w-4 sm:ml-1"})]}),e.jsx(q,{variant:"outline",size:"sm",onClick:()=>h(Math.ceil(c/p)),disabled:m>=Math.ceil(c/p),className:"hidden sm:flex",children:e.jsx(jo,{className:"h-4 w-4"})})]})]})]})]})}),e.jsx(ND,{person:N,open:P,onOpenChange:M}),e.jsx(wD,{person:N,open:k,onOpenChange:D,onSuccess:()=>{O(),L(),D(!1)}}),e.jsx(Ft,{open:!!A,onOpenChange:()=>E(null),children:e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认删除"}),e.jsxs(Pt,{children:['确定要删除人物信息 "',A?.person_name||A?.nickname||A?.user_id,'" 吗? 此操作不可撤销。']})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:()=>A&&xe(A),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"删除"})]})]})}),e.jsx(Ft,{open:oe,onOpenChange:je,children:e.jsxs(Ot,{children:[e.jsxs(At,{children:[e.jsx(zt,{children:"确认批量删除"}),e.jsxs(Pt,{children:["确定要删除选中的 ",G.size," 个人物信息吗? 此操作不可撤销。"]})]}),e.jsxs(Rt,{children:[e.jsx(Bt,{children:"取消"}),e.jsx(Lt,{onClick:ve,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"批量删除"})]})]})})]})}function ND({person:s,open:a,onOpenChange:l}){if(!s)return null;const i=c=>c?new Date(c*1e3).toLocaleString("zh-CN"):"-";return e.jsx(bs,{open:a,onOpenChange:l,children:e.jsxs(ms,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[e.jsxs(fs,{children:[e.jsx(hs,{children:"人物详情"}),e.jsxs(ks,{children:["查看 ",s.person_name||s.nickname||s.user_id," 的完整信息"]})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(ma,{icon:Ey,label:"人物名称",value:s.person_name}),e.jsx(ma,{icon:po,label:"昵称",value:s.nickname}),e.jsx(ma,{icon:xd,label:"用户ID",value:s.user_id,mono:!0}),e.jsx(ma,{icon:xd,label:"人物ID",value:s.person_id,mono:!0}),e.jsx(ma,{label:"平台",value:s.platform}),e.jsx(ma,{label:"状态",value:s.is_known?"已认识":"未认识"})]}),s.name_reason&&e.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[e.jsx(U,{className:"text-xs text-muted-foreground",children:"名称设定原因"}),e.jsx("p",{className:"mt-1 text-sm",children:s.name_reason})]}),s.memory_points&&e.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[e.jsx(U,{className:"text-xs text-muted-foreground",children:"个人印象"}),e.jsx("p",{className:"mt-1 text-sm whitespace-pre-wrap",children:s.memory_points})]}),s.group_nick_name&&s.group_nick_name.length>0&&e.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[e.jsx(U,{className:"text-xs text-muted-foreground",children:"群昵称"}),e.jsx("div",{className:"mt-2 space-y-1",children:s.group_nick_name.map((c,d)=>e.jsxs("div",{className:"text-sm flex items-center gap-2",children:[e.jsx("span",{className:"font-mono text-xs text-muted-foreground",children:c.group_id}),e.jsx("span",{children:"→"}),e.jsx("span",{children:c.group_nick_name})]},d))})]}),e.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[e.jsx(ma,{icon:_l,label:"认识时间",value:i(s.know_times)}),e.jsx(ma,{icon:_l,label:"首次记录",value:i(s.know_since)}),e.jsx(ma,{icon:_l,label:"最后更新",value:i(s.last_know)})]})]}),e.jsx($s,{children:e.jsx(q,{onClick:()=>l(!1),children:"关闭"})})]})})}function ma({icon:s,label:a,value:l,mono:i=!1}){return e.jsxs("div",{className:"space-y-1",children:[e.jsxs(U,{className:"text-xs text-muted-foreground flex items-center gap-1",children:[s&&e.jsx(s,{className:"h-3 w-3"}),a]}),e.jsx("div",{className:Z("text-sm",i&&"font-mono",!l&&"text-muted-foreground"),children:l||"-"})]})}function wD({person:s,open:a,onOpenChange:l,onSuccess:i}){const[c,d]=x.useState({}),[m,h]=x.useState(!1),{toast:p}=Es();x.useEffect(()=>{s&&d({person_name:s.person_name||"",name_reason:s.name_reason||"",nickname:s.nickname||"",memory_points:s.memory_points||"",is_known:s.is_known})},[s]);const v=async()=>{if(s)try{h(!0),await gD(s.person_id,c),p({title:"保存成功",description:"人物信息已更新"}),i()}catch(g){p({title:"保存失败",description:g instanceof Error?g.message:"无法更新人物信息",variant:"destructive"})}finally{h(!1)}};return s?e.jsx(bs,{open:a,onOpenChange:l,children:e.jsxs(ms,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[e.jsxs(fs,{children:[e.jsx(hs,{children:"编辑人物信息"}),e.jsxs(ks,{children:["修改 ",s.person_name||s.nickname||s.user_id," 的信息"]})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"person_name",children:"人物名称"}),e.jsx(pe,{id:"person_name",value:c.person_name||"",onChange:g=>d({...c,person_name:g.target.value}),placeholder:"为这个人设置一个名称"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"nickname",children:"昵称"}),e.jsx(pe,{id:"nickname",value:c.nickname||"",onChange:g=>d({...c,nickname:g.target.value}),placeholder:"昵称"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"name_reason",children:"名称设定原因"}),e.jsx(Dt,{id:"name_reason",value:c.name_reason||"",onChange:g=>d({...c,name_reason:g.target.value}),placeholder:"为什么这样称呼这个人?",rows:2})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"memory_points",children:"个人印象"}),e.jsx(Dt,{id:"memory_points",value:c.memory_points||"",onChange:g=>d({...c,memory_points:g.target.value}),placeholder:"对这个人的印象和记忆点...",rows:4})]}),e.jsxs("div",{className:"flex items-center justify-between rounded-lg border p-3",children:[e.jsxs("div",{children:[e.jsx(U,{htmlFor:"is_known",className:"text-base font-medium",children:"已认识"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"标记是否已经认识这个人"})]}),e.jsx(Ze,{id:"is_known",checked:c.is_known,onCheckedChange:g=>d({...c,is_known:g})})]})]}),e.jsxs($s,{children:[e.jsx(q,{variant:"outline",onClick:()=>l(!1),children:"取消"}),e.jsx(q,{onClick:v,disabled:m,children:m?"保存中...":"保存"})]})]})}):null}function SD(s,a,l="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:s,timeZoneName:l}).format(a).split(/\s/g).slice(2).join(" ")}const _D={},Ji={};function Sl(s,a){try{const i=(_D[s]||=new Intl.DateTimeFormat("en-US",{timeZone:s,timeZoneName:"longOffset"}).format)(a).split("GMT")[1];return i in Ji?Ji[i]:qj(i,i.split(":"))}catch{if(s in Ji)return Ji[s];const l=s?.match(CD);return l?qj(s,l.slice(1)):NaN}}const CD=/([+-]\d\d):?(\d\d)?/;function qj(s,a){const l=+(a[0]||0),i=+(a[1]||0),c=+(a[2]||0)/60;return Ji[s]=l*60+i>0?l*60+i+c:l*60-i-c}class Yn extends Date{constructor(...a){super(),a.length>1&&typeof a[a.length-1]=="string"&&(this.timeZone=a.pop()),this.internal=new Date,isNaN(Sl(this.timeZone,this))?this.setTime(NaN):a.length?typeof a[0]=="number"&&(a.length===1||a.length===2&&typeof a[1]!="number")?this.setTime(a[0]):typeof a[0]=="string"?this.setTime(+new Date(a[0])):a[0]instanceof Date?this.setTime(+a[0]):(this.setTime(+new Date(...a)),EN(this),Jf(this)):this.setTime(Date.now())}static tz(a,...l){return l.length?new Yn(...l,a):new Yn(Date.now(),a)}withTimeZone(a){return new Yn(+this,a)}getTimezoneOffset(){const a=-Sl(this.timeZone,this);return a>0?Math.floor(a):Math.ceil(a)}setTime(a){return Date.prototype.setTime.apply(this,arguments),Jf(this),+this}[Symbol.for("constructDateFrom")](a){return new Yn(+new Date(a),this.timeZone)}}const Vj=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(s=>{if(!Vj.test(s))return;const a=s.replace(Vj,"$1UTC");Yn.prototype[a]&&(s.startsWith("get")?Yn.prototype[s]=function(){return this.internal[a]()}:(Yn.prototype[s]=function(){return Date.prototype[a].apply(this.internal,arguments),kD(this),+this},Yn.prototype[a]=function(){return Date.prototype[a].apply(this,arguments),Jf(this),+this}))});function Jf(s){s.internal.setTime(+s),s.internal.setUTCSeconds(s.internal.getUTCSeconds()-Math.round(-Sl(s.timeZone,s)*60))}function kD(s){Date.prototype.setFullYear.call(s,s.internal.getUTCFullYear(),s.internal.getUTCMonth(),s.internal.getUTCDate()),Date.prototype.setHours.call(s,s.internal.getUTCHours(),s.internal.getUTCMinutes(),s.internal.getUTCSeconds(),s.internal.getUTCMilliseconds()),EN(s)}function EN(s){const a=Sl(s.timeZone,s),l=a>0?Math.floor(a):Math.ceil(a),i=new Date(+s);i.setUTCHours(i.getUTCHours()-1);const c=-new Date(+s).getTimezoneOffset(),d=-new Date(+i).getTimezoneOffset(),m=c-d,h=Date.prototype.getHours.apply(s)!==s.internal.getUTCHours();m&&h&&s.internal.setUTCMinutes(s.internal.getUTCMinutes()+m);const p=c-l;p&&Date.prototype.setUTCMinutes.call(s,Date.prototype.getUTCMinutes.call(s)+p);const v=new Date(+s);v.setUTCSeconds(0);const g=c>0?v.getSeconds():(v.getSeconds()-60)%60,j=Math.round(-(Sl(s.timeZone,s)*60))%60;(j||g)&&(s.internal.setUTCSeconds(s.internal.getUTCSeconds()+j),Date.prototype.setUTCSeconds.call(s,Date.prototype.getUTCSeconds.call(s)+j+g));const b=Sl(s.timeZone,s),w=b>0?Math.floor(b):Math.ceil(b),C=-new Date(+s).getTimezoneOffset()-w,N=w!==l,T=C-p;if(N&&T){Date.prototype.setUTCMinutes.call(s,Date.prototype.getUTCMinutes.call(s)+T);const P=Sl(s.timeZone,s),M=P>0?Math.floor(P):Math.ceil(P),k=w-M;k&&(s.internal.setUTCMinutes(s.internal.getUTCMinutes()+k),Date.prototype.setUTCMinutes.call(s,Date.prototype.getUTCMinutes.call(s)+k))}}class Ns extends Yn{static tz(a,...l){return l.length?new Ns(...l,a):new Ns(Date.now(),a)}toISOString(){const[a,l,i]=this.tzComponents(),c=`${a}${l}:${i}`;return this.internal.toISOString().slice(0,-1)+c}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[a,l,i,c]=this.internal.toUTCString().split(" ");return`${a?.slice(0,-1)} ${i} ${l} ${c}`}toTimeString(){const a=this.internal.toUTCString().split(" ")[4],[l,i,c]=this.tzComponents();return`${a} GMT${l}${i}${c} (${SD(this.timeZone,this)})`}toLocaleString(a,l){return Date.prototype.toLocaleString.call(this,a,{...l,timeZone:l?.timeZone||this.timeZone})}toLocaleDateString(a,l){return Date.prototype.toLocaleDateString.call(this,a,{...l,timeZone:l?.timeZone||this.timeZone})}toLocaleTimeString(a,l){return Date.prototype.toLocaleTimeString.call(this,a,{...l,timeZone:l?.timeZone||this.timeZone})}tzComponents(){const a=this.getTimezoneOffset(),l=a>0?"-":"+",i=String(Math.floor(Math.abs(a)/60)).padStart(2,"0"),c=String(Math.abs(a)%60).padStart(2,"0");return[l,i,c]}withTimeZone(a){return new Ns(+this,a)}[Symbol.for("constructDateFrom")](a){return new Ns(+new Date(a),this.timeZone)}}const MN=6048e5,TD=864e5,Gj=Symbol.for("constructDateFrom");function as(s,a){return typeof s=="function"?s(a):s&&typeof s=="object"&&Gj in s?s[Gj](a):s instanceof Date?new s.constructor(a):new Date(a)}function kt(s,a){return as(a||s,s)}function DN(s,a,l){const i=kt(s,l?.in);return isNaN(a)?as(s,NaN):(a&&i.setDate(i.getDate()+a),i)}function ON(s,a,l){const i=kt(s,l?.in);if(isNaN(a))return as(s,NaN);if(!a)return i;const c=i.getDate(),d=as(s,i.getTime());d.setMonth(i.getMonth()+a+1,0);const m=d.getDate();return c>=m?d:(i.setFullYear(d.getFullYear(),d.getMonth(),c),i)}let ED={};function To(){return ED}function Ka(s,a){const l=To(),i=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??l.weekStartsOn??l.locale?.options?.weekStartsOn??0,c=kt(s,a?.in),d=c.getDay(),m=(d=d.getTime()?i+1:l.getTime()>=h.getTime()?i:i-1}function $j(s){const a=kt(s),l=new Date(Date.UTC(a.getFullYear(),a.getMonth(),a.getDate(),a.getHours(),a.getMinutes(),a.getSeconds(),a.getMilliseconds()));return l.setUTCFullYear(a.getFullYear()),+s-+l}function Bl(s,...a){const l=as.bind(null,s||a.find(i=>typeof i=="object"));return a.map(l)}function uo(s,a){const l=kt(s,a?.in);return l.setHours(0,0,0,0),l}function RN(s,a,l){const[i,c]=Bl(l?.in,s,a),d=uo(i),m=uo(c),h=+d-$j(d),p=+m-$j(m);return Math.round((h-p)/TD)}function MD(s,a){const l=AN(s,a),i=as(s,0);return i.setFullYear(l,0,4),i.setHours(0,0,0,0),co(i)}function DD(s,a,l){return DN(s,a*7,l)}function OD(s,a,l){return ON(s,a*12,l)}function AD(s,a){let l,i=a?.in;return s.forEach(c=>{!i&&typeof c=="object"&&(i=as.bind(null,c));const d=kt(c,i);(!l||l{!i&&typeof c=="object"&&(i=as.bind(null,c));const d=kt(c,i);(!l||l>d||isNaN(+d))&&(l=d)}),as(i,l||NaN)}function zD(s,a,l){const[i,c]=Bl(l?.in,s,a);return+uo(i)==+uo(c)}function zN(s){return s instanceof Date||typeof s=="object"&&Object.prototype.toString.call(s)==="[object Date]"}function PD(s){return!(!zN(s)&&typeof s!="number"||isNaN(+kt(s)))}function LD(s,a,l){const[i,c]=Bl(l?.in,s,a),d=i.getFullYear()-c.getFullYear(),m=i.getMonth()-c.getMonth();return d*12+m}function BD(s,a){const l=kt(s,a?.in),i=l.getMonth();return l.setFullYear(l.getFullYear(),i+1,0),l.setHours(23,59,59,999),l}function PN(s,a){const[l,i]=Bl(s,a.start,a.end);return{start:l,end:i}}function UD(s,a){const{start:l,end:i}=PN(a?.in,s);let c=+l>+i;const d=c?+l:+i,m=c?i:l;m.setHours(0,0,0,0),m.setDate(1);let h=1;const p=[];for(;+m<=d;)p.push(as(l,m)),m.setMonth(m.getMonth()+h);return c?p.reverse():p}function HD(s,a){const l=kt(s,a?.in);return l.setDate(1),l.setHours(0,0,0,0),l}function FD(s,a){const l=kt(s,a?.in),i=l.getFullYear();return l.setFullYear(i+1,0,0),l.setHours(23,59,59,999),l}function LN(s,a){const l=kt(s,a?.in);return l.setFullYear(l.getFullYear(),0,1),l.setHours(0,0,0,0),l}function YD(s,a){const{start:l,end:i}=PN(a?.in,s);let c=+l>+i;const d=c?+l:+i,m=c?i:l;m.setHours(0,0,0,0),m.setMonth(0,1);let h=1;const p=[];for(;+m<=d;)p.push(as(l,m)),m.setFullYear(m.getFullYear()+h);return c?p.reverse():p}function BN(s,a){const l=To(),i=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??l.weekStartsOn??l.locale?.options?.weekStartsOn??0,c=kt(s,a?.in),d=c.getDay(),m=(d{let i;const c=VD[s];return typeof c=="string"?i=c:a===1?i=c.one:i=c.other.replace("{{count}}",a.toString()),l?.addSuffix?l.comparison&&l.comparison>0?"in "+i:i+" ago":i};function Hr(s){return(a={})=>{const l=a.width?String(a.width):s.defaultWidth;return s.formats[l]||s.formats[s.defaultWidth]}}const $D={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},ID={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},WD={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},XD={date:Hr({formats:$D,defaultWidth:"full"}),time:Hr({formats:ID,defaultWidth:"full"}),dateTime:Hr({formats:WD,defaultWidth:"full"})},KD={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},QD=(s,a,l,i)=>KD[s];function Hn(s){return(a,l)=>{const i=l?.context?String(l.context):"standalone";let c;if(i==="formatting"&&s.formattingValues){const m=s.defaultFormattingWidth||s.defaultWidth,h=l?.width?String(l.width):m;c=s.formattingValues[h]||s.formattingValues[m]}else{const m=s.defaultWidth,h=l?.width?String(l.width):s.defaultWidth;c=s.values[h]||s.values[m]}const d=s.argumentCallback?s.argumentCallback(a):a;return c[d]}}const ZD={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},JD={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},eO={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},tO={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},sO={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},nO={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},aO=(s,a)=>{const l=Number(s),i=l%100;if(i>20||i<10)switch(i%10){case 1:return l+"st";case 2:return l+"nd";case 3:return l+"rd"}return l+"th"},lO={ordinalNumber:aO,era:Hn({values:ZD,defaultWidth:"wide"}),quarter:Hn({values:JD,defaultWidth:"wide",argumentCallback:s=>s-1}),month:Hn({values:eO,defaultWidth:"wide"}),day:Hn({values:tO,defaultWidth:"wide"}),dayPeriod:Hn({values:sO,defaultWidth:"wide",formattingValues:nO,defaultFormattingWidth:"wide"})};function Fn(s){return(a,l={})=>{const i=l.width,c=i&&s.matchPatterns[i]||s.matchPatterns[s.defaultMatchWidth],d=a.match(c);if(!d)return null;const m=d[0],h=i&&s.parsePatterns[i]||s.parsePatterns[s.defaultParseWidth],p=Array.isArray(h)?iO(h,j=>j.test(m)):rO(h,j=>j.test(m));let v;v=s.valueCallback?s.valueCallback(p):p,v=l.valueCallback?l.valueCallback(v):v;const g=a.slice(m.length);return{value:v,rest:g}}}function rO(s,a){for(const l in s)if(Object.prototype.hasOwnProperty.call(s,l)&&a(s[l]))return l}function iO(s,a){for(let l=0;l{const i=a.match(s.matchPattern);if(!i)return null;const c=i[0],d=a.match(s.parsePattern);if(!d)return null;let m=s.valueCallback?s.valueCallback(d[0]):d[0];m=l.valueCallback?l.valueCallback(m):m;const h=a.slice(c.length);return{value:m,rest:h}}}const oO=/^(\d+)(th|st|nd|rd)?/i,cO=/\d+/i,dO={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},uO={any:[/^b/i,/^(a|c)/i]},mO={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},fO={any:[/1/i,/2/i,/3/i,/4/i]},hO={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},xO={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},pO={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},gO={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},vO={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},jO={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},yO={ordinalNumber:UN({matchPattern:oO,parsePattern:cO,valueCallback:s=>parseInt(s,10)}),era:Fn({matchPatterns:dO,defaultMatchWidth:"wide",parsePatterns:uO,defaultParseWidth:"any"}),quarter:Fn({matchPatterns:mO,defaultMatchWidth:"wide",parsePatterns:fO,defaultParseWidth:"any",valueCallback:s=>s+1}),month:Fn({matchPatterns:hO,defaultMatchWidth:"wide",parsePatterns:xO,defaultParseWidth:"any"}),day:Fn({matchPatterns:pO,defaultMatchWidth:"wide",parsePatterns:gO,defaultParseWidth:"any"}),dayPeriod:Fn({matchPatterns:vO,defaultMatchWidth:"any",parsePatterns:jO,defaultParseWidth:"any"})},Hh={code:"en-US",formatDistance:GD,formatLong:XD,formatRelative:QD,localize:lO,match:yO,options:{weekStartsOn:0,firstWeekContainsDate:1}};function bO(s,a){const l=kt(s,a?.in);return RN(l,LN(l))+1}function HN(s,a){const l=kt(s,a?.in),i=+co(l)-+MD(l);return Math.round(i/MN)+1}function FN(s,a){const l=kt(s,a?.in),i=l.getFullYear(),c=To(),d=a?.firstWeekContainsDate??a?.locale?.options?.firstWeekContainsDate??c.firstWeekContainsDate??c.locale?.options?.firstWeekContainsDate??1,m=as(a?.in||s,0);m.setFullYear(i+1,0,d),m.setHours(0,0,0,0);const h=Ka(m,a),p=as(a?.in||s,0);p.setFullYear(i,0,d),p.setHours(0,0,0,0);const v=Ka(p,a);return+l>=+h?i+1:+l>=+v?i:i-1}function NO(s,a){const l=To(),i=a?.firstWeekContainsDate??a?.locale?.options?.firstWeekContainsDate??l.firstWeekContainsDate??l.locale?.options?.firstWeekContainsDate??1,c=FN(s,a),d=as(a?.in||s,0);return d.setFullYear(c,0,i),d.setHours(0,0,0,0),Ka(d,a)}function YN(s,a){const l=kt(s,a?.in),i=+Ka(l,a)-+NO(l,a);return Math.round(i/MN)+1}function yt(s,a){const l=s<0?"-":"",i=Math.abs(s).toString().padStart(a,"0");return l+i}const Va={y(s,a){const l=s.getFullYear(),i=l>0?l:1-l;return yt(a==="yy"?i%100:i,a.length)},M(s,a){const l=s.getMonth();return a==="M"?String(l+1):yt(l+1,2)},d(s,a){return yt(s.getDate(),a.length)},a(s,a){const l=s.getHours()/12>=1?"pm":"am";switch(a){case"a":case"aa":return l.toUpperCase();case"aaa":return l;case"aaaaa":return l[0];case"aaaa":default:return l==="am"?"a.m.":"p.m."}},h(s,a){return yt(s.getHours()%12||12,a.length)},H(s,a){return yt(s.getHours(),a.length)},m(s,a){return yt(s.getMinutes(),a.length)},s(s,a){return yt(s.getSeconds(),a.length)},S(s,a){const l=a.length,i=s.getMilliseconds(),c=Math.trunc(i*Math.pow(10,l-3));return yt(c,a.length)}},Mr={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Ij={G:function(s,a,l){const i=s.getFullYear()>0?1:0;switch(a){case"G":case"GG":case"GGG":return l.era(i,{width:"abbreviated"});case"GGGGG":return l.era(i,{width:"narrow"});case"GGGG":default:return l.era(i,{width:"wide"})}},y:function(s,a,l){if(a==="yo"){const i=s.getFullYear(),c=i>0?i:1-i;return l.ordinalNumber(c,{unit:"year"})}return Va.y(s,a)},Y:function(s,a,l,i){const c=FN(s,i),d=c>0?c:1-c;if(a==="YY"){const m=d%100;return yt(m,2)}return a==="Yo"?l.ordinalNumber(d,{unit:"year"}):yt(d,a.length)},R:function(s,a){const l=AN(s);return yt(l,a.length)},u:function(s,a){const l=s.getFullYear();return yt(l,a.length)},Q:function(s,a,l){const i=Math.ceil((s.getMonth()+1)/3);switch(a){case"Q":return String(i);case"QQ":return yt(i,2);case"Qo":return l.ordinalNumber(i,{unit:"quarter"});case"QQQ":return l.quarter(i,{width:"abbreviated",context:"formatting"});case"QQQQQ":return l.quarter(i,{width:"narrow",context:"formatting"});case"QQQQ":default:return l.quarter(i,{width:"wide",context:"formatting"})}},q:function(s,a,l){const i=Math.ceil((s.getMonth()+1)/3);switch(a){case"q":return String(i);case"qq":return yt(i,2);case"qo":return l.ordinalNumber(i,{unit:"quarter"});case"qqq":return l.quarter(i,{width:"abbreviated",context:"standalone"});case"qqqqq":return l.quarter(i,{width:"narrow",context:"standalone"});case"qqqq":default:return l.quarter(i,{width:"wide",context:"standalone"})}},M:function(s,a,l){const i=s.getMonth();switch(a){case"M":case"MM":return Va.M(s,a);case"Mo":return l.ordinalNumber(i+1,{unit:"month"});case"MMM":return l.month(i,{width:"abbreviated",context:"formatting"});case"MMMMM":return l.month(i,{width:"narrow",context:"formatting"});case"MMMM":default:return l.month(i,{width:"wide",context:"formatting"})}},L:function(s,a,l){const i=s.getMonth();switch(a){case"L":return String(i+1);case"LL":return yt(i+1,2);case"Lo":return l.ordinalNumber(i+1,{unit:"month"});case"LLL":return l.month(i,{width:"abbreviated",context:"standalone"});case"LLLLL":return l.month(i,{width:"narrow",context:"standalone"});case"LLLL":default:return l.month(i,{width:"wide",context:"standalone"})}},w:function(s,a,l,i){const c=YN(s,i);return a==="wo"?l.ordinalNumber(c,{unit:"week"}):yt(c,a.length)},I:function(s,a,l){const i=HN(s);return a==="Io"?l.ordinalNumber(i,{unit:"week"}):yt(i,a.length)},d:function(s,a,l){return a==="do"?l.ordinalNumber(s.getDate(),{unit:"date"}):Va.d(s,a)},D:function(s,a,l){const i=bO(s);return a==="Do"?l.ordinalNumber(i,{unit:"dayOfYear"}):yt(i,a.length)},E:function(s,a,l){const i=s.getDay();switch(a){case"E":case"EE":case"EEE":return l.day(i,{width:"abbreviated",context:"formatting"});case"EEEEE":return l.day(i,{width:"narrow",context:"formatting"});case"EEEEEE":return l.day(i,{width:"short",context:"formatting"});case"EEEE":default:return l.day(i,{width:"wide",context:"formatting"})}},e:function(s,a,l,i){const c=s.getDay(),d=(c-i.weekStartsOn+8)%7||7;switch(a){case"e":return String(d);case"ee":return yt(d,2);case"eo":return l.ordinalNumber(d,{unit:"day"});case"eee":return l.day(c,{width:"abbreviated",context:"formatting"});case"eeeee":return l.day(c,{width:"narrow",context:"formatting"});case"eeeeee":return l.day(c,{width:"short",context:"formatting"});case"eeee":default:return l.day(c,{width:"wide",context:"formatting"})}},c:function(s,a,l,i){const c=s.getDay(),d=(c-i.weekStartsOn+8)%7||7;switch(a){case"c":return String(d);case"cc":return yt(d,a.length);case"co":return l.ordinalNumber(d,{unit:"day"});case"ccc":return l.day(c,{width:"abbreviated",context:"standalone"});case"ccccc":return l.day(c,{width:"narrow",context:"standalone"});case"cccccc":return l.day(c,{width:"short",context:"standalone"});case"cccc":default:return l.day(c,{width:"wide",context:"standalone"})}},i:function(s,a,l){const i=s.getDay(),c=i===0?7:i;switch(a){case"i":return String(c);case"ii":return yt(c,a.length);case"io":return l.ordinalNumber(c,{unit:"day"});case"iii":return l.day(i,{width:"abbreviated",context:"formatting"});case"iiiii":return l.day(i,{width:"narrow",context:"formatting"});case"iiiiii":return l.day(i,{width:"short",context:"formatting"});case"iiii":default:return l.day(i,{width:"wide",context:"formatting"})}},a:function(s,a,l){const c=s.getHours()/12>=1?"pm":"am";switch(a){case"a":case"aa":return l.dayPeriod(c,{width:"abbreviated",context:"formatting"});case"aaa":return l.dayPeriod(c,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return l.dayPeriod(c,{width:"narrow",context:"formatting"});case"aaaa":default:return l.dayPeriod(c,{width:"wide",context:"formatting"})}},b:function(s,a,l){const i=s.getHours();let c;switch(i===12?c=Mr.noon:i===0?c=Mr.midnight:c=i/12>=1?"pm":"am",a){case"b":case"bb":return l.dayPeriod(c,{width:"abbreviated",context:"formatting"});case"bbb":return l.dayPeriod(c,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return l.dayPeriod(c,{width:"narrow",context:"formatting"});case"bbbb":default:return l.dayPeriod(c,{width:"wide",context:"formatting"})}},B:function(s,a,l){const i=s.getHours();let c;switch(i>=17?c=Mr.evening:i>=12?c=Mr.afternoon:i>=4?c=Mr.morning:c=Mr.night,a){case"B":case"BB":case"BBB":return l.dayPeriod(c,{width:"abbreviated",context:"formatting"});case"BBBBB":return l.dayPeriod(c,{width:"narrow",context:"formatting"});case"BBBB":default:return l.dayPeriod(c,{width:"wide",context:"formatting"})}},h:function(s,a,l){if(a==="ho"){let i=s.getHours()%12;return i===0&&(i=12),l.ordinalNumber(i,{unit:"hour"})}return Va.h(s,a)},H:function(s,a,l){return a==="Ho"?l.ordinalNumber(s.getHours(),{unit:"hour"}):Va.H(s,a)},K:function(s,a,l){const i=s.getHours()%12;return a==="Ko"?l.ordinalNumber(i,{unit:"hour"}):yt(i,a.length)},k:function(s,a,l){let i=s.getHours();return i===0&&(i=24),a==="ko"?l.ordinalNumber(i,{unit:"hour"}):yt(i,a.length)},m:function(s,a,l){return a==="mo"?l.ordinalNumber(s.getMinutes(),{unit:"minute"}):Va.m(s,a)},s:function(s,a,l){return a==="so"?l.ordinalNumber(s.getSeconds(),{unit:"second"}):Va.s(s,a)},S:function(s,a){return Va.S(s,a)},X:function(s,a,l){const i=s.getTimezoneOffset();if(i===0)return"Z";switch(a){case"X":return Xj(i);case"XXXX":case"XX":return Nl(i);case"XXXXX":case"XXX":default:return Nl(i,":")}},x:function(s,a,l){const i=s.getTimezoneOffset();switch(a){case"x":return Xj(i);case"xxxx":case"xx":return Nl(i);case"xxxxx":case"xxx":default:return Nl(i,":")}},O:function(s,a,l){const i=s.getTimezoneOffset();switch(a){case"O":case"OO":case"OOO":return"GMT"+Wj(i,":");case"OOOO":default:return"GMT"+Nl(i,":")}},z:function(s,a,l){const i=s.getTimezoneOffset();switch(a){case"z":case"zz":case"zzz":return"GMT"+Wj(i,":");case"zzzz":default:return"GMT"+Nl(i,":")}},t:function(s,a,l){const i=Math.trunc(+s/1e3);return yt(i,a.length)},T:function(s,a,l){return yt(+s,a.length)}};function Wj(s,a=""){const l=s>0?"-":"+",i=Math.abs(s),c=Math.trunc(i/60),d=i%60;return d===0?l+String(c):l+String(c)+a+yt(d,2)}function Xj(s,a){return s%60===0?(s>0?"-":"+")+yt(Math.abs(s)/60,2):Nl(s,a)}function Nl(s,a=""){const l=s>0?"-":"+",i=Math.abs(s),c=yt(Math.trunc(i/60),2),d=yt(i%60,2);return l+c+a+d}const Kj=(s,a)=>{switch(s){case"P":return a.date({width:"short"});case"PP":return a.date({width:"medium"});case"PPP":return a.date({width:"long"});case"PPPP":default:return a.date({width:"full"})}},qN=(s,a)=>{switch(s){case"p":return a.time({width:"short"});case"pp":return a.time({width:"medium"});case"ppp":return a.time({width:"long"});case"pppp":default:return a.time({width:"full"})}},wO=(s,a)=>{const l=s.match(/(P+)(p+)?/)||[],i=l[1],c=l[2];if(!c)return Kj(s,a);let d;switch(i){case"P":d=a.dateTime({width:"short"});break;case"PP":d=a.dateTime({width:"medium"});break;case"PPP":d=a.dateTime({width:"long"});break;case"PPPP":default:d=a.dateTime({width:"full"});break}return d.replace("{{date}}",Kj(i,a)).replace("{{time}}",qN(c,a))},SO={p:qN,P:wO},_O=/^D+$/,CO=/^Y+$/,kO=["D","DD","YY","YYYY"];function TO(s){return _O.test(s)}function EO(s){return CO.test(s)}function MO(s,a,l){const i=DO(s,a,l);if(console.warn(i),kO.includes(s))throw new RangeError(i)}function DO(s,a,l){const i=s[0]==="Y"?"years":"days of the month";return`Use \`${s.toLowerCase()}\` instead of \`${s}\` (in \`${a}\`) for formatting ${i} to the input \`${l}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const OO=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,AO=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,RO=/^'([^]*?)'?$/,zO=/''/g,PO=/[a-zA-Z]/;function md(s,a,l){const i=To(),c=l?.locale??i.locale??Hh,d=l?.firstWeekContainsDate??l?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,m=l?.weekStartsOn??l?.locale?.options?.weekStartsOn??i.weekStartsOn??i.locale?.options?.weekStartsOn??0,h=kt(s,l?.in);if(!PD(h))throw new RangeError("Invalid time value");let p=a.match(AO).map(g=>{const j=g[0];if(j==="p"||j==="P"){const b=SO[j];return b(g,c.formatLong)}return g}).join("").match(OO).map(g=>{if(g==="''")return{isToken:!1,value:"'"};const j=g[0];if(j==="'")return{isToken:!1,value:LO(g)};if(Ij[j])return{isToken:!0,value:g};if(j.match(PO))throw new RangeError("Format string contains an unescaped latin alphabet character `"+j+"`");return{isToken:!1,value:g}});c.localize.preprocessor&&(p=c.localize.preprocessor(h,p));const v={firstWeekContainsDate:d,weekStartsOn:m,locale:c};return p.map(g=>{if(!g.isToken)return g.value;const j=g.value;(!l?.useAdditionalWeekYearTokens&&EO(j)||!l?.useAdditionalDayOfYearTokens&&TO(j))&&MO(j,a,String(s));const b=Ij[j[0]];return b(h,j,c.localize,v)}).join("")}function LO(s){const a=s.match(RO);return a?a[1].replace(zO,"'"):s}function BO(s,a){const l=kt(s,a?.in),i=l.getFullYear(),c=l.getMonth(),d=as(l,0);return d.setFullYear(i,c+1,0),d.setHours(0,0,0,0),d.getDate()}function UO(s,a){return kt(s,a?.in).getMonth()}function HO(s,a){return kt(s,a?.in).getFullYear()}function FO(s,a){return+kt(s)>+kt(a)}function YO(s,a){return+kt(s)<+kt(a)}function qO(s,a,l){const[i,c]=Bl(l?.in,s,a);return+Ka(i,l)==+Ka(c,l)}function VO(s,a,l){const[i,c]=Bl(l?.in,s,a);return i.getFullYear()===c.getFullYear()&&i.getMonth()===c.getMonth()}function GO(s,a,l){const[i,c]=Bl(l?.in,s,a);return i.getFullYear()===c.getFullYear()}function $O(s,a,l){const i=kt(s,l?.in),c=i.getFullYear(),d=i.getDate(),m=as(s,0);m.setFullYear(c,a,15),m.setHours(0,0,0,0);const h=BO(m);return i.setMonth(a,Math.min(d,h)),i}function IO(s,a,l){const i=kt(s,l?.in);return isNaN(+i)?as(s,NaN):(i.setFullYear(a),i)}const Qj=5,WO=4;function XO(s,a){const l=a.startOfMonth(s),i=l.getDay()>0?l.getDay():7,c=a.addDays(s,-i+1),d=a.addDays(c,Qj*7-1);return a.getMonth(s)===a.getMonth(d)?Qj:WO}function VN(s,a){const l=a.startOfMonth(s),i=l.getDay();return i===1?l:i===0?a.addDays(l,-6):a.addDays(l,-1*(i-1))}function KO(s,a){const l=VN(s,a),i=XO(s,a);return a.addDays(l,i*7-1)}class nn{constructor(a,l){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?Ns.tz(this.options.timeZone):new this.Date,this.newDate=(i,c,d)=>this.overrides?.newDate?this.overrides.newDate(i,c,d):this.options.timeZone?new Ns(i,c,d,this.options.timeZone):new Date(i,c,d),this.addDays=(i,c)=>this.overrides?.addDays?this.overrides.addDays(i,c):DN(i,c),this.addMonths=(i,c)=>this.overrides?.addMonths?this.overrides.addMonths(i,c):ON(i,c),this.addWeeks=(i,c)=>this.overrides?.addWeeks?this.overrides.addWeeks(i,c):DD(i,c),this.addYears=(i,c)=>this.overrides?.addYears?this.overrides.addYears(i,c):OD(i,c),this.differenceInCalendarDays=(i,c)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(i,c):RN(i,c),this.differenceInCalendarMonths=(i,c)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(i,c):LD(i,c),this.eachMonthOfInterval=i=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(i):UD(i),this.eachYearOfInterval=i=>{const c=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(i):YD(i),d=new Set(c.map(h=>this.getYear(h)));if(d.size===c.length)return c;const m=[];return d.forEach(h=>{m.push(new Date(h,0,1))}),m},this.endOfBroadcastWeek=i=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(i):KO(i,this),this.endOfISOWeek=i=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(i):qD(i),this.endOfMonth=i=>this.overrides?.endOfMonth?this.overrides.endOfMonth(i):BD(i),this.endOfWeek=(i,c)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(i,c):BN(i,this.options),this.endOfYear=i=>this.overrides?.endOfYear?this.overrides.endOfYear(i):FD(i),this.format=(i,c,d)=>{const m=this.overrides?.format?this.overrides.format(i,c,this.options):md(i,c,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(m):m},this.getISOWeek=i=>this.overrides?.getISOWeek?this.overrides.getISOWeek(i):HN(i),this.getMonth=(i,c)=>this.overrides?.getMonth?this.overrides.getMonth(i,this.options):UO(i,this.options),this.getYear=(i,c)=>this.overrides?.getYear?this.overrides.getYear(i,this.options):HO(i,this.options),this.getWeek=(i,c)=>this.overrides?.getWeek?this.overrides.getWeek(i,this.options):YN(i,this.options),this.isAfter=(i,c)=>this.overrides?.isAfter?this.overrides.isAfter(i,c):FO(i,c),this.isBefore=(i,c)=>this.overrides?.isBefore?this.overrides.isBefore(i,c):YO(i,c),this.isDate=i=>this.overrides?.isDate?this.overrides.isDate(i):zN(i),this.isSameDay=(i,c)=>this.overrides?.isSameDay?this.overrides.isSameDay(i,c):zD(i,c),this.isSameMonth=(i,c)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(i,c):VO(i,c),this.isSameYear=(i,c)=>this.overrides?.isSameYear?this.overrides.isSameYear(i,c):GO(i,c),this.max=i=>this.overrides?.max?this.overrides.max(i):AD(i),this.min=i=>this.overrides?.min?this.overrides.min(i):RD(i),this.setMonth=(i,c)=>this.overrides?.setMonth?this.overrides.setMonth(i,c):$O(i,c),this.setYear=(i,c)=>this.overrides?.setYear?this.overrides.setYear(i,c):IO(i,c),this.startOfBroadcastWeek=(i,c)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(i,this):VN(i,this),this.startOfDay=i=>this.overrides?.startOfDay?this.overrides.startOfDay(i):uo(i),this.startOfISOWeek=i=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(i):co(i),this.startOfMonth=i=>this.overrides?.startOfMonth?this.overrides.startOfMonth(i):HD(i),this.startOfWeek=(i,c)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(i,this.options):Ka(i,this.options),this.startOfYear=i=>this.overrides?.startOfYear?this.overrides.startOfYear(i):LN(i),this.options={locale:Hh,...a},this.overrides=l}getDigitMap(){const{numerals:a="latn"}=this.options,l=new Intl.NumberFormat("en-US",{numberingSystem:a}),i={};for(let c=0;c<10;c++)i[c.toString()]=l.format(c);return i}replaceDigits(a){const l=this.getDigitMap();return a.replace(/\d/g,i=>l[i]||i)}formatNumber(a){return this.replaceDigits(a.toString())}getMonthYearOrder(){const a=this.options.locale?.code;return a&&nn.yearFirstLocales.has(a)?"year-first":"month-first"}formatMonthYear(a){const{locale:l,timeZone:i,numerals:c}=this.options,d=l?.code;if(d&&nn.yearFirstLocales.has(d))try{return new Intl.DateTimeFormat(d,{month:"long",year:"numeric",timeZone:i,numberingSystem:c}).format(a)}catch{}const m=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(a,m)}}nn.yearFirstLocales=new Set(["eu","hu","ja","ja-Hira","ja-JP","ko","ko-KR","lt","lt-LT","lv","lv-LV","mn","mn-MN","zh","zh-CN","zh-HK","zh-TW"]);const Gn=new nn;class GN{constructor(a,l,i=Gn){this.date=a,this.displayMonth=l,this.outside=!!(l&&!i.isSameMonth(a,l)),this.dateLib=i}isEqualTo(a){return this.dateLib.isSameDay(a.date,this.date)&&this.dateLib.isSameMonth(a.displayMonth,this.displayMonth)}}class QO{constructor(a,l){this.date=a,this.weeks=l}}class ZO{constructor(a,l){this.days=l,this.weekNumber=a}}function JO(s){return Ne.createElement("button",{...s})}function eA(s){return Ne.createElement("span",{...s})}function tA(s){const{size:a=24,orientation:l="left",className:i}=s;return Ne.createElement("svg",{className:i,width:a,height:a,viewBox:"0 0 24 24"},l==="up"&&Ne.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),l==="down"&&Ne.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),l==="left"&&Ne.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),l==="right"&&Ne.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function sA(s){const{day:a,modifiers:l,...i}=s;return Ne.createElement("td",{...i})}function nA(s){const{day:a,modifiers:l,...i}=s,c=Ne.useRef(null);return Ne.useEffect(()=>{l.focused&&c.current?.focus()},[l.focused]),Ne.createElement("button",{ref:c,...i})}var Me;(function(s){s.Root="root",s.Chevron="chevron",s.Day="day",s.DayButton="day_button",s.CaptionLabel="caption_label",s.Dropdowns="dropdowns",s.Dropdown="dropdown",s.DropdownRoot="dropdown_root",s.Footer="footer",s.MonthGrid="month_grid",s.MonthCaption="month_caption",s.MonthsDropdown="months_dropdown",s.Month="month",s.Months="months",s.Nav="nav",s.NextMonthButton="button_next",s.PreviousMonthButton="button_previous",s.Week="week",s.Weeks="weeks",s.Weekday="weekday",s.Weekdays="weekdays",s.WeekNumber="week_number",s.WeekNumberHeader="week_number_header",s.YearsDropdown="years_dropdown"})(Me||(Me={}));var Gt;(function(s){s.disabled="disabled",s.hidden="hidden",s.outside="outside",s.focused="focused",s.today="today"})(Gt||(Gt={}));var En;(function(s){s.range_end="range_end",s.range_middle="range_middle",s.range_start="range_start",s.selected="selected"})(En||(En={}));var sn;(function(s){s.weeks_before_enter="weeks_before_enter",s.weeks_before_exit="weeks_before_exit",s.weeks_after_enter="weeks_after_enter",s.weeks_after_exit="weeks_after_exit",s.caption_after_enter="caption_after_enter",s.caption_after_exit="caption_after_exit",s.caption_before_enter="caption_before_enter",s.caption_before_exit="caption_before_exit"})(sn||(sn={}));function aA(s){const{options:a,className:l,components:i,classNames:c,...d}=s,m=[c[Me.Dropdown],l].join(" "),h=a?.find(({value:p})=>p===d.value);return Ne.createElement("span",{"data-disabled":d.disabled,className:c[Me.DropdownRoot]},Ne.createElement(i.Select,{className:m,...d},a?.map(({value:p,label:v,disabled:g})=>Ne.createElement(i.Option,{key:p,value:p,disabled:g},v))),Ne.createElement("span",{className:c[Me.CaptionLabel],"aria-hidden":!0},h?.label,Ne.createElement(i.Chevron,{orientation:"down",size:18,className:c[Me.Chevron]})))}function lA(s){return Ne.createElement("div",{...s})}function rA(s){return Ne.createElement("div",{...s})}function iA(s){const{calendarMonth:a,displayIndex:l,...i}=s;return Ne.createElement("div",{...i},s.children)}function oA(s){const{calendarMonth:a,displayIndex:l,...i}=s;return Ne.createElement("div",{...i})}function cA(s){return Ne.createElement("table",{...s})}function dA(s){return Ne.createElement("div",{...s})}const $N=x.createContext(void 0);function Eo(){const s=x.useContext($N);if(s===void 0)throw new Error("useDayPicker() must be used within a custom component.");return s}function uA(s){const{components:a}=Eo();return Ne.createElement(a.Dropdown,{...s})}function mA(s){const{onPreviousClick:a,onNextClick:l,previousMonth:i,nextMonth:c,...d}=s,{components:m,classNames:h,labels:{labelPrevious:p,labelNext:v}}=Eo(),g=x.useCallback(b=>{c&&l?.(b)},[c,l]),j=x.useCallback(b=>{i&&a?.(b)},[i,a]);return Ne.createElement("nav",{...d},Ne.createElement(m.PreviousMonthButton,{type:"button",className:h[Me.PreviousMonthButton],tabIndex:i?void 0:-1,"aria-disabled":i?void 0:!0,"aria-label":p(i),onClick:j},Ne.createElement(m.Chevron,{disabled:i?void 0:!0,className:h[Me.Chevron],orientation:"left"})),Ne.createElement(m.NextMonthButton,{type:"button",className:h[Me.NextMonthButton],tabIndex:c?void 0:-1,"aria-disabled":c?void 0:!0,"aria-label":v(c),onClick:g},Ne.createElement(m.Chevron,{disabled:c?void 0:!0,orientation:"right",className:h[Me.Chevron]})))}function fA(s){const{components:a}=Eo();return Ne.createElement(a.Button,{...s})}function hA(s){return Ne.createElement("option",{...s})}function xA(s){const{components:a}=Eo();return Ne.createElement(a.Button,{...s})}function pA(s){const{rootRef:a,...l}=s;return Ne.createElement("div",{...l,ref:a})}function gA(s){return Ne.createElement("select",{...s})}function vA(s){const{week:a,...l}=s;return Ne.createElement("tr",{...l})}function jA(s){return Ne.createElement("th",{...s})}function yA(s){return Ne.createElement("thead",{"aria-hidden":!0},Ne.createElement("tr",{...s}))}function bA(s){const{week:a,...l}=s;return Ne.createElement("th",{...l})}function NA(s){return Ne.createElement("th",{...s})}function wA(s){return Ne.createElement("tbody",{...s})}function SA(s){const{components:a}=Eo();return Ne.createElement(a.Dropdown,{...s})}const _A=Object.freeze(Object.defineProperty({__proto__:null,Button:JO,CaptionLabel:eA,Chevron:tA,Day:sA,DayButton:nA,Dropdown:aA,DropdownNav:lA,Footer:rA,Month:iA,MonthCaption:oA,MonthGrid:cA,Months:dA,MonthsDropdown:uA,Nav:mA,NextMonthButton:fA,Option:hA,PreviousMonthButton:xA,Root:pA,Select:gA,Week:vA,WeekNumber:bA,WeekNumberHeader:NA,Weekday:jA,Weekdays:yA,Weeks:wA,YearsDropdown:SA},Symbol.toStringTag,{value:"Module"}));function fa(s,a,l=!1,i=Gn){let{from:c,to:d}=s;const{differenceInCalendarDays:m,isSameDay:h}=i;return c&&d?(m(d,c)<0&&([c,d]=[d,c]),m(a,c)>=(l?1:0)&&m(d,a)>=(l?1:0)):!l&&d?h(d,a):!l&&c?h(c,a):!1}function IN(s){return!!(s&&typeof s=="object"&&"before"in s&&"after"in s)}function Fh(s){return!!(s&&typeof s=="object"&&"from"in s)}function WN(s){return!!(s&&typeof s=="object"&&"after"in s)}function XN(s){return!!(s&&typeof s=="object"&&"before"in s)}function KN(s){return!!(s&&typeof s=="object"&&"dayOfWeek"in s)}function QN(s,a){return Array.isArray(s)&&s.every(a.isDate)}function ha(s,a,l=Gn){const i=Array.isArray(a)?a:[a],{isSameDay:c,differenceInCalendarDays:d,isAfter:m}=l;return i.some(h=>{if(typeof h=="boolean")return h;if(l.isDate(h))return c(s,h);if(QN(h,l))return h.includes(s);if(Fh(h))return fa(h,s,!1,l);if(KN(h))return Array.isArray(h.dayOfWeek)?h.dayOfWeek.includes(s.getDay()):h.dayOfWeek===s.getDay();if(IN(h)){const p=d(h.before,s),v=d(h.after,s),g=p>0,j=v<0;return m(h.before,h.after)?j&&g:g||j}return WN(h)?d(s,h.after)>0:XN(h)?d(h.before,s)>0:typeof h=="function"?h(s):!1})}function CA(s,a,l,i,c){const{disabled:d,hidden:m,modifiers:h,showOutsideDays:p,broadcastCalendar:v,today:g}=a,{isSameDay:j,isSameMonth:b,startOfMonth:w,isBefore:S,endOfMonth:C,isAfter:N}=c,T=l&&w(l),P=i&&C(i),M={[Gt.focused]:[],[Gt.outside]:[],[Gt.disabled]:[],[Gt.hidden]:[],[Gt.today]:[]},k={};for(const D of s){const{date:A,displayMonth:E}=D,B=!!(E&&!b(A,E)),Y=!!(T&&S(A,T)),G=!!(P&&N(A,P)),$=!!(d&&ha(A,d,c)),oe=!!(m&&ha(A,m,c))||Y||G||!v&&!p&&B||v&&p===!1&&B,je=j(A,g??c.today());B&&M.outside.push(D),$&&M.disabled.push(D),oe&&M.hidden.push(D),je&&M.today.push(D),h&&Object.keys(h).forEach(ae=>{const me=h?.[ae];me&&ha(A,me,c)&&(k[ae]?k[ae].push(D):k[ae]=[D])})}return D=>{const A={[Gt.focused]:!1,[Gt.disabled]:!1,[Gt.hidden]:!1,[Gt.outside]:!1,[Gt.today]:!1},E={};for(const B in M){const Y=M[B];A[B]=Y.some(G=>G===D)}for(const B in k)E[B]=k[B].some(Y=>Y===D);return{...A,...E}}}function kA(s,a,l={}){return Object.entries(s).filter(([,c])=>c===!0).reduce((c,[d])=>(l[d]?c.push(l[d]):a[Gt[d]]?c.push(a[Gt[d]]):a[En[d]]&&c.push(a[En[d]]),c),[a[Me.Day]])}function TA(s){return{..._A,...s}}function EA(s){const a={"data-mode":s.mode??void 0,"data-required":"required"in s?s.required:void 0,"data-multiple-months":s.numberOfMonths&&s.numberOfMonths>1||void 0,"data-week-numbers":s.showWeekNumber||void 0,"data-broadcast-calendar":s.broadcastCalendar||void 0,"data-nav-layout":s.navLayout||void 0};return Object.entries(s).forEach(([l,i])=>{l.startsWith("data-")&&(a[l]=i)}),a}function Yh(){const s={};for(const a in Me)s[Me[a]]=`rdp-${Me[a]}`;for(const a in Gt)s[Gt[a]]=`rdp-${Gt[a]}`;for(const a in En)s[En[a]]=`rdp-${En[a]}`;for(const a in sn)s[sn[a]]=`rdp-${sn[a]}`;return s}function ZN(s,a,l){return(l??new nn(a)).formatMonthYear(s)}const MA=ZN;function DA(s,a,l){return(l??new nn(a)).format(s,"d")}function OA(s,a=Gn){return a.format(s,"LLLL")}function AA(s,a,l){return(l??new nn(a)).format(s,"cccccc")}function RA(s,a=Gn){return s<10?a.formatNumber(`0${s.toLocaleString()}`):a.formatNumber(`${s.toLocaleString()}`)}function zA(){return""}function JN(s,a=Gn){return a.format(s,"yyyy")}const PA=JN,LA=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:ZN,formatDay:DA,formatMonthCaption:MA,formatMonthDropdown:OA,formatWeekNumber:RA,formatWeekNumberHeader:zA,formatWeekdayName:AA,formatYearCaption:PA,formatYearDropdown:JN},Symbol.toStringTag,{value:"Module"}));function BA(s){return s?.formatMonthCaption&&!s.formatCaption&&(s.formatCaption=s.formatMonthCaption),s?.formatYearCaption&&!s.formatYearDropdown&&(s.formatYearDropdown=s.formatYearCaption),{...LA,...s}}function UA(s,a,l,i,c){const{startOfMonth:d,startOfYear:m,endOfYear:h,eachMonthOfInterval:p,getMonth:v}=c;return p({start:m(s),end:h(s)}).map(b=>{const w=i.formatMonthDropdown(b,c),S=v(b),C=a&&bd(l)||!1;return{value:S,label:w,disabled:C}})}function HA(s,a={},l={}){let i={...a?.[Me.Day]};return Object.entries(s).filter(([,c])=>c===!0).forEach(([c])=>{i={...i,...l?.[c]}}),i}function FA(s,a,l){const i=s.today(),c=a?s.startOfISOWeek(i):s.startOfWeek(i),d=[];for(let m=0;m<7;m++){const h=s.addDays(c,m);d.push(h)}return d}function YA(s,a,l,i,c=!1){if(!s||!a)return;const{startOfYear:d,endOfYear:m,eachYearOfInterval:h,getYear:p}=i,v=d(s),g=m(a),j=h({start:v,end:g});return c&&j.reverse(),j.map(b=>{const w=l.formatYearDropdown(b,i);return{value:p(b),label:w,disabled:!1}})}function ew(s,a,l,i){let c=(i??new nn(l)).format(s,"PPPP");return a.today&&(c=`Today, ${c}`),a.selected&&(c=`${c}, selected`),c}const qA=ew;function tw(s,a,l){return(l??new nn(a)).formatMonthYear(s)}const VA=tw;function GA(s,a,l,i){let c=(i??new nn(l)).format(s,"PPPP");return a?.today&&(c=`Today, ${c}`),c}function $A(s){return"Choose the Month"}function IA(){return""}function WA(s){return"Go to the Next Month"}function XA(s){return"Go to the Previous Month"}function KA(s,a,l){return(l??new nn(a)).format(s,"cccc")}function QA(s,a){return`Week ${s}`}function ZA(s){return"Week Number"}function JA(s){return"Choose the Year"}const eR=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:VA,labelDay:qA,labelDayButton:ew,labelGrid:tw,labelGridcell:GA,labelMonthDropdown:$A,labelNav:IA,labelNext:WA,labelPrevious:XA,labelWeekNumber:QA,labelWeekNumberHeader:ZA,labelWeekday:KA,labelYearDropdown:JA},Symbol.toStringTag,{value:"Module"})),Mo=s=>s instanceof HTMLElement?s:null,kf=s=>[...s.querySelectorAll("[data-animated-month]")??[]],tR=s=>Mo(s.querySelector("[data-animated-month]")),Tf=s=>Mo(s.querySelector("[data-animated-caption]")),Ef=s=>Mo(s.querySelector("[data-animated-weeks]")),sR=s=>Mo(s.querySelector("[data-animated-nav]")),nR=s=>Mo(s.querySelector("[data-animated-weekdays]"));function aR(s,a,{classNames:l,months:i,focused:c,dateLib:d}){const m=x.useRef(null),h=x.useRef(i),p=x.useRef(!1);x.useLayoutEffect(()=>{const v=h.current;if(h.current=i,!a||!s.current||!(s.current instanceof HTMLElement)||i.length===0||v.length===0||i.length!==v.length)return;const g=d.isSameMonth(i[0].date,v[0].date),j=d.isAfter(i[0].date,v[0].date),b=j?l[sn.caption_after_enter]:l[sn.caption_before_enter],w=j?l[sn.weeks_after_enter]:l[sn.weeks_before_enter],S=m.current,C=s.current.cloneNode(!0);if(C instanceof HTMLElement?(kf(C).forEach(M=>{if(!(M instanceof HTMLElement))return;const k=tR(M);k&&M.contains(k)&&M.removeChild(k);const D=Tf(M);D&&D.classList.remove(b);const A=Ef(M);A&&A.classList.remove(w)}),m.current=C):m.current=null,p.current||g||c)return;const N=S instanceof HTMLElement?kf(S):[],T=kf(s.current);if(T?.every(P=>P instanceof HTMLElement)&&N&&N.every(P=>P instanceof HTMLElement)){p.current=!0,s.current.style.isolation="isolate";const P=sR(s.current);P&&(P.style.zIndex="1"),T.forEach((M,k)=>{const D=N[k];if(!D)return;M.style.position="relative",M.style.overflow="hidden";const A=Tf(M);A&&A.classList.add(b);const E=Ef(M);E&&E.classList.add(w);const B=()=>{p.current=!1,s.current&&(s.current.style.isolation=""),P&&(P.style.zIndex=""),A&&A.classList.remove(b),E&&E.classList.remove(w),M.style.position="",M.style.overflow="",M.contains(D)&&M.removeChild(D)};D.style.pointerEvents="none",D.style.position="absolute",D.style.overflow="hidden",D.setAttribute("aria-hidden","true");const Y=nR(D);Y&&(Y.style.opacity="0");const G=Tf(D);G&&(G.classList.add(j?l[sn.caption_before_exit]:l[sn.caption_after_exit]),G.addEventListener("animationend",B));const $=Ef(D);$&&$.classList.add(j?l[sn.weeks_before_exit]:l[sn.weeks_after_exit]),M.insertBefore(D,M.firstChild)})}})}function lR(s,a,l,i){const c=s[0],d=s[s.length-1],{ISOWeek:m,fixedWeeks:h,broadcastCalendar:p}=l??{},{addDays:v,differenceInCalendarDays:g,differenceInCalendarMonths:j,endOfBroadcastWeek:b,endOfISOWeek:w,endOfMonth:S,endOfWeek:C,isAfter:N,startOfBroadcastWeek:T,startOfISOWeek:P,startOfWeek:M}=i,k=p?T(c,i):m?P(c):M(c),D=p?b(d):m?w(S(d)):C(S(d)),A=g(D,k),E=j(d,c)+1,B=[];for(let $=0;$<=A;$++){const oe=v(k,$);if(a&&N(oe,a))break;B.push(oe)}const G=(p?35:42)*E;if(h&&B.length{const c=i.weeks.reduce((d,m)=>d.concat(m.days.slice()),a.slice());return l.concat(c.slice())},a.slice())}function iR(s,a,l,i){const{numberOfMonths:c=1}=l,d=[];for(let m=0;ma)break;d.push(h)}return d}function Zj(s,a,l,i){const{month:c,defaultMonth:d,today:m=i.today(),numberOfMonths:h=1}=s;let p=c||d||m;const{differenceInCalendarMonths:v,addMonths:g,startOfMonth:j}=i;if(l&&v(l,p){const T=l.broadcastCalendar?j(N,i):l.ISOWeek?b(N):w(N),P=l.broadcastCalendar?d(N):l.ISOWeek?m(h(N)):p(h(N)),M=a.filter(E=>E>=T&&E<=P),k=l.broadcastCalendar?35:42;if(l.fixedWeeks&&M.length{const Y=k-M.length;return B>P&&B<=c(P,Y)});M.push(...E)}const D=M.reduce((E,B)=>{const Y=l.ISOWeek?v(B):g(B),G=E.find(oe=>oe.weekNumber===Y),$=new GN(B,N,i);return G?G.days.push($):E.push(new ZO(Y,[$])),E},[]),A=new QO(N,D);return C.push(A),C},[]);return l.reverseMonths?S.reverse():S}function cR(s,a){let{startMonth:l,endMonth:i}=s;const{startOfYear:c,startOfDay:d,startOfMonth:m,endOfMonth:h,addYears:p,endOfYear:v,newDate:g,today:j}=a,{fromYear:b,toYear:w,fromMonth:S,toMonth:C}=s;!l&&S&&(l=S),!l&&b&&(l=a.newDate(b,0,1)),!i&&C&&(i=C),!i&&w&&(i=g(w,11,31));const N=s.captionLayout==="dropdown"||s.captionLayout==="dropdown-years";return l?l=m(l):b?l=g(b,0,1):!l&&N&&(l=c(p(s.today??j(),-100))),i?i=h(i):w?i=g(w,11,31):!i&&N&&(i=v(s.today??j())),[l&&d(l),i&&d(i)]}function dR(s,a,l,i){if(l.disableNavigation)return;const{pagedNavigation:c,numberOfMonths:d=1}=l,{startOfMonth:m,addMonths:h,differenceInCalendarMonths:p}=i,v=c?d:1,g=m(s);if(!a)return h(g,v);if(!(p(a,s)l.concat(i.weeks.slice()),a.slice())}function Id(s,a){const[l,i]=x.useState(s);return[a===void 0?l:a,i]}function fR(s,a){const[l,i]=cR(s,a),{startOfMonth:c,endOfMonth:d}=a,m=Zj(s,l,i,a),[h,p]=Id(m,s.month?m:void 0);x.useEffect(()=>{const A=Zj(s,l,i,a);p(A)},[s.timeZone]);const v=iR(h,i,s,a),g=lR(v,s.endMonth?d(s.endMonth):void 0,s,a),j=oR(v,g,s,a),b=mR(j),w=rR(j),S=uR(h,l,s,a),C=dR(h,i,s,a),{disableNavigation:N,onMonthChange:T}=s,P=A=>b.some(E=>E.days.some(B=>B.isEqualTo(A))),M=A=>{if(N)return;let E=c(A);l&&Ec(i)&&(E=c(i)),p(E),T?.(E)};return{months:j,weeks:b,days:w,navStart:l,navEnd:i,previousMonth:S,nextMonth:C,goToMonth:M,goToDay:A=>{P(A)||M(A.date)}}}var Un;(function(s){s[s.Today=0]="Today",s[s.Selected=1]="Selected",s[s.LastFocused=2]="LastFocused",s[s.FocusedModifier=3]="FocusedModifier"})(Un||(Un={}));function Jj(s){return!s[Gt.disabled]&&!s[Gt.hidden]&&!s[Gt.outside]}function hR(s,a,l,i){let c,d=-1;for(const m of s){const h=a(m);Jj(h)&&(h[Gt.focused]&&dJj(a(m)))),c}function xR(s,a,l,i,c,d,m){const{ISOWeek:h,broadcastCalendar:p}=d,{addDays:v,addMonths:g,addWeeks:j,addYears:b,endOfBroadcastWeek:w,endOfISOWeek:S,endOfWeek:C,max:N,min:T,startOfBroadcastWeek:P,startOfISOWeek:M,startOfWeek:k}=m;let A={day:v,week:j,month:g,year:b,startOfWeek:E=>p?P(E,m):h?M(E):k(E),endOfWeek:E=>p?w(E):h?S(E):C(E)}[s](l,a==="after"?1:-1);return a==="before"&&i?A=N([i,A]):a==="after"&&c&&(A=T([c,A])),A}function sw(s,a,l,i,c,d,m,h=0){if(h>365)return;const p=xR(s,a,l.date,i,c,d,m),v=!!(d.disabled&&ha(p,d.disabled,m)),g=!!(d.hidden&&ha(p,d.hidden,m)),j=p,b=new GN(p,j,m);return!v&&!g?b:sw(s,a,b,i,c,d,m,h+1)}function pR(s,a,l,i,c){const{autoFocus:d}=s,[m,h]=x.useState(),p=hR(a.days,l,i||(()=>!1),m),[v,g]=x.useState(d?p:void 0);return{isFocusTarget:C=>!!p?.isEqualTo(C),setFocused:g,focused:v,blur:()=>{h(v),g(void 0)},moveFocus:(C,N)=>{if(!v)return;const T=sw(C,N,v,a.navStart,a.navEnd,s,c);T&&(s.disableNavigation&&!a.days.some(M=>M.isEqualTo(T))||(a.goToDay(T),g(T)))}}}function gR(s,a){const{selected:l,required:i,onSelect:c}=s,[d,m]=Id(l,c?l:void 0),h=c?l:d,{isSameDay:p}=a,v=w=>h?.some(S=>p(S,w))??!1,{min:g,max:j}=s;return{selected:h,select:(w,S,C)=>{let N=[...h??[]];if(v(w)){if(h?.length===g||i&&h?.length===1)return;N=h?.filter(T=>!p(T,w))}else h?.length===j?N=[w]:N=[...N,w];return c||m(N),c?.(N,w,S,C),N},isSelected:v}}function vR(s,a,l=0,i=0,c=!1,d=Gn){const{from:m,to:h}=a||{},{isSameDay:p,isAfter:v,isBefore:g}=d;let j;if(!m&&!h)j={from:s,to:l>0?void 0:s};else if(m&&!h)p(m,s)?l===0?j={from:m,to:s}:c?j={from:m,to:void 0}:j=void 0:g(s,m)?j={from:s,to:m}:j={from:m,to:s};else if(m&&h)if(p(m,s)&&p(h,s))c?j={from:m,to:h}:j=void 0;else if(p(m,s))j={from:m,to:l>0?void 0:s};else if(p(h,s))j={from:s,to:l>0?void 0:s};else if(g(s,m))j={from:s,to:h};else if(v(s,m))j={from:m,to:s};else if(v(s,h))j={from:m,to:s};else throw new Error("Invalid range");if(j?.from&&j?.to){const b=d.differenceInCalendarDays(j.to,j.from);i>0&&b>i?j={from:s,to:void 0}:l>1&&btypeof h!="function").some(h=>typeof h=="boolean"?h:l.isDate(h)?fa(s,h,!1,l):QN(h,l)?h.some(p=>fa(s,p,!1,l)):Fh(h)?h.from&&h.to?ey(s,{from:h.from,to:h.to},l):!1:KN(h)?jR(s,h.dayOfWeek,l):IN(h)?l.isAfter(h.before,h.after)?ey(s,{from:l.addDays(h.after,1),to:l.addDays(h.before,-1)},l):ha(s.from,h,l)||ha(s.to,h,l):WN(h)||XN(h)?ha(s.from,h,l)||ha(s.to,h,l):!1))return!0;const m=i.filter(h=>typeof h=="function");if(m.length){let h=s.from;const p=l.differenceInCalendarDays(s.to,s.from);for(let v=0;v<=p;v++){if(m.some(g=>g(h)))return!0;h=l.addDays(h,1)}}return!1}function bR(s,a){const{disabled:l,excludeDisabled:i,selected:c,required:d,onSelect:m}=s,[h,p]=Id(c,m?c:void 0),v=m?c:h;return{selected:v,select:(b,w,S)=>{const{min:C,max:N}=s,T=b?vR(b,v,C,N,d,a):void 0;return i&&l&&T?.from&&T.to&&yR({from:T.from,to:T.to},l,a)&&(T.from=b,T.to=void 0),m||p(T),m?.(T,b,w,S),T},isSelected:b=>v&&fa(v,b,!1,a)}}function NR(s,a){const{selected:l,required:i,onSelect:c}=s,[d,m]=Id(l,c?l:void 0),h=c?l:d,{isSameDay:p}=a;return{selected:h,select:(j,b,w)=>{let S=j;return!i&&h&&h&&p(j,h)&&(S=void 0),c||m(S),c?.(S,j,b,w),S},isSelected:j=>h?p(h,j):!1}}function wR(s,a){const l=NR(s,a),i=gR(s,a),c=bR(s,a);switch(s.mode){case"single":return l;case"multiple":return i;case"range":return c;default:return}}function SR(s){let a=s;a.timeZone&&(a={...s},a.today&&(a.today=new Ns(a.today,a.timeZone)),a.month&&(a.month=new Ns(a.month,a.timeZone)),a.defaultMonth&&(a.defaultMonth=new Ns(a.defaultMonth,a.timeZone)),a.startMonth&&(a.startMonth=new Ns(a.startMonth,a.timeZone)),a.endMonth&&(a.endMonth=new Ns(a.endMonth,a.timeZone)),a.mode==="single"&&a.selected?a.selected=new Ns(a.selected,a.timeZone):a.mode==="multiple"&&a.selected?a.selected=a.selected?.map(We=>new Ns(We,a.timeZone)):a.mode==="range"&&a.selected&&(a.selected={from:a.selected.from?new Ns(a.selected.from,a.timeZone):void 0,to:a.selected.to?new Ns(a.selected.to,a.timeZone):void 0}));const{components:l,formatters:i,labels:c,dateLib:d,locale:m,classNames:h}=x.useMemo(()=>{const We={...Hh,...a.locale};return{dateLib:new nn({locale:We,weekStartsOn:a.broadcastCalendar?1:a.weekStartsOn,firstWeekContainsDate:a.firstWeekContainsDate,useAdditionalWeekYearTokens:a.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:a.useAdditionalDayOfYearTokens,timeZone:a.timeZone,numerals:a.numerals},a.dateLib),components:TA(a.components),formatters:BA(a.formatters),labels:{...eR,...a.labels},locale:We,classNames:{...Yh(),...a.classNames}}},[a.locale,a.broadcastCalendar,a.weekStartsOn,a.firstWeekContainsDate,a.useAdditionalWeekYearTokens,a.useAdditionalDayOfYearTokens,a.timeZone,a.numerals,a.dateLib,a.components,a.formatters,a.labels,a.classNames]),{captionLayout:p,mode:v,navLayout:g,numberOfMonths:j=1,onDayBlur:b,onDayClick:w,onDayFocus:S,onDayKeyDown:C,onDayMouseEnter:N,onDayMouseLeave:T,onNextClick:P,onPrevClick:M,showWeekNumber:k,styles:D}=a,{formatCaption:A,formatDay:E,formatMonthDropdown:B,formatWeekNumber:Y,formatWeekNumberHeader:G,formatWeekdayName:$,formatYearDropdown:oe}=i,je=fR(a,d),{days:ae,months:me,navStart:R,navEnd:O,previousMonth:L,nextMonth:ee,goToMonth:le}=je,xe=CA(ae,a,R,O,d),{isSelected:F,select:W,selected:fe}=wR(a,d)??{},{blur:I,focused:ve,isFocusTarget:de,moveFocus:Ce,setFocused:Q}=pR(a,je,xe,F??(()=>!1),d),{labelDayButton:Oe,labelGridcell:$e,labelGrid:re,labelMonthDropdown:Pe,labelNav:ze,labelPrevious:Zt,labelNext:Rs,labelWeekday:An,labelWeekNumber:Le,labelWeekNumberHeader:Nn,labelYearDropdown:ln}=c,rn=x.useMemo(()=>FA(d,a.ISOWeek),[d,a.ISOWeek]),Xt=v!==void 0||w!==void 0,Ds=x.useCallback(()=>{L&&(le(L),M?.(L))},[L,le,M]),ke=x.useCallback(()=>{ee&&(le(ee),P?.(ee))},[le,ee,P]),is=x.useCallback((We,Mt)=>Be=>{Be.preventDefault(),Be.stopPropagation(),Q(We),W?.(We.date,Mt,Be),w?.(We.date,Mt,Be)},[W,w,Q]),he=x.useCallback((We,Mt)=>Be=>{Q(We),S?.(We.date,Mt,Be)},[S,Q]),Ee=x.useCallback((We,Mt)=>Be=>{I(),b?.(We.date,Mt,Be)},[I,b]),Ve=x.useCallback((We,Mt)=>Be=>{const ht={ArrowLeft:[Be.shiftKey?"month":"day",a.dir==="rtl"?"after":"before"],ArrowRight:[Be.shiftKey?"month":"day",a.dir==="rtl"?"before":"after"],ArrowDown:[Be.shiftKey?"year":"week","after"],ArrowUp:[Be.shiftKey?"year":"week","before"],PageUp:[Be.shiftKey?"year":"month","before"],PageDown:[Be.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(ht[Be.key]){Be.preventDefault(),Be.stopPropagation();const[os,Xe]=ht[Be.key];Ce(os,Xe)}C?.(We.date,Mt,Be)},[Ce,C,a.dir]),Os=x.useCallback((We,Mt)=>Be=>{N?.(We.date,Mt,Be)},[N]),$n=x.useCallback((We,Mt)=>Be=>{T?.(We.date,Mt,Be)},[T]),Hl=x.useCallback(We=>Mt=>{const Be=Number(Mt.target.value),ht=d.setMonth(d.startOfMonth(We),Be);le(ht)},[d,le]),Fl=x.useCallback(We=>Mt=>{const Be=Number(Mt.target.value),ht=d.setYear(d.startOfMonth(We),Be);le(ht)},[d,le]),{className:se,style:ge}=x.useMemo(()=>({className:[h[Me.Root],a.className].filter(Boolean).join(" "),style:{...D?.[Me.Root],...a.style}}),[h,a.className,a.style,D]),Qe=EA(a),pt=x.useRef(null);aR(pt,!!a.animate,{classNames:h,months:me,focused:ve,dateLib:d});const tl={dayPickerProps:a,selected:fe,select:W,isSelected:F,months:me,nextMonth:ee,previousMonth:L,goToMonth:le,getModifiers:xe,components:l,classNames:h,styles:D,labels:c,formatters:i};return Ne.createElement($N.Provider,{value:tl},Ne.createElement(l.Root,{rootRef:a.animate?pt:void 0,className:se,style:ge,dir:a.dir,id:a.id,lang:a.lang,nonce:a.nonce,title:a.title,role:a.role,"aria-label":a["aria-label"],"aria-labelledby":a["aria-labelledby"],...Qe},Ne.createElement(l.Months,{className:h[Me.Months],style:D?.[Me.Months]},!a.hideNavigation&&!g&&Ne.createElement(l.Nav,{"data-animated-nav":a.animate?"true":void 0,className:h[Me.Nav],style:D?.[Me.Nav],"aria-label":ze(),onPreviousClick:Ds,onNextClick:ke,previousMonth:L,nextMonth:ee}),me.map((We,Mt)=>Ne.createElement(l.Month,{"data-animated-month":a.animate?"true":void 0,className:h[Me.Month],style:D?.[Me.Month],key:Mt,displayIndex:Mt,calendarMonth:We},g==="around"&&!a.hideNavigation&&Mt===0&&Ne.createElement(l.PreviousMonthButton,{type:"button",className:h[Me.PreviousMonthButton],tabIndex:L?void 0:-1,"aria-disabled":L?void 0:!0,"aria-label":Zt(L),onClick:Ds,"data-animated-button":a.animate?"true":void 0},Ne.createElement(l.Chevron,{disabled:L?void 0:!0,className:h[Me.Chevron],orientation:a.dir==="rtl"?"right":"left"})),Ne.createElement(l.MonthCaption,{"data-animated-caption":a.animate?"true":void 0,className:h[Me.MonthCaption],style:D?.[Me.MonthCaption],calendarMonth:We,displayIndex:Mt},p?.startsWith("dropdown")?Ne.createElement(l.DropdownNav,{className:h[Me.Dropdowns],style:D?.[Me.Dropdowns]},(()=>{const Be=p==="dropdown"||p==="dropdown-months"?Ne.createElement(l.MonthsDropdown,{key:"month",className:h[Me.MonthsDropdown],"aria-label":Pe(),classNames:h,components:l,disabled:!!a.disableNavigation,onChange:Hl(We.date),options:UA(We.date,R,O,i,d),style:D?.[Me.Dropdown],value:d.getMonth(We.date)}):Ne.createElement("span",{key:"month"},B(We.date,d)),ht=p==="dropdown"||p==="dropdown-years"?Ne.createElement(l.YearsDropdown,{key:"year",className:h[Me.YearsDropdown],"aria-label":ln(d.options),classNames:h,components:l,disabled:!!a.disableNavigation,onChange:Fl(We.date),options:YA(R,O,i,d,!!a.reverseYears),style:D?.[Me.Dropdown],value:d.getYear(We.date)}):Ne.createElement("span",{key:"year"},oe(We.date,d));return d.getMonthYearOrder()==="year-first"?[ht,Be]:[Be,ht]})(),Ne.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},A(We.date,d.options,d))):Ne.createElement(l.CaptionLabel,{className:h[Me.CaptionLabel],role:"status","aria-live":"polite"},A(We.date,d.options,d))),g==="around"&&!a.hideNavigation&&Mt===j-1&&Ne.createElement(l.NextMonthButton,{type:"button",className:h[Me.NextMonthButton],tabIndex:ee?void 0:-1,"aria-disabled":ee?void 0:!0,"aria-label":Rs(ee),onClick:ke,"data-animated-button":a.animate?"true":void 0},Ne.createElement(l.Chevron,{disabled:ee?void 0:!0,className:h[Me.Chevron],orientation:a.dir==="rtl"?"left":"right"})),Mt===j-1&&g==="after"&&!a.hideNavigation&&Ne.createElement(l.Nav,{"data-animated-nav":a.animate?"true":void 0,className:h[Me.Nav],style:D?.[Me.Nav],"aria-label":ze(),onPreviousClick:Ds,onNextClick:ke,previousMonth:L,nextMonth:ee}),Ne.createElement(l.MonthGrid,{role:"grid","aria-multiselectable":v==="multiple"||v==="range","aria-label":re(We.date,d.options,d)||void 0,className:h[Me.MonthGrid],style:D?.[Me.MonthGrid]},!a.hideWeekdays&&Ne.createElement(l.Weekdays,{"data-animated-weekdays":a.animate?"true":void 0,className:h[Me.Weekdays],style:D?.[Me.Weekdays]},k&&Ne.createElement(l.WeekNumberHeader,{"aria-label":Nn(d.options),className:h[Me.WeekNumberHeader],style:D?.[Me.WeekNumberHeader],scope:"col"},G()),rn.map(Be=>Ne.createElement(l.Weekday,{"aria-label":An(Be,d.options,d),className:h[Me.Weekday],key:String(Be),style:D?.[Me.Weekday],scope:"col"},$(Be,d.options,d)))),Ne.createElement(l.Weeks,{"data-animated-weeks":a.animate?"true":void 0,className:h[Me.Weeks],style:D?.[Me.Weeks]},We.weeks.map(Be=>Ne.createElement(l.Week,{className:h[Me.Week],key:Be.weekNumber,style:D?.[Me.Week],week:Be},k&&Ne.createElement(l.WeekNumber,{week:Be,style:D?.[Me.WeekNumber],"aria-label":Le(Be.weekNumber,{locale:m}),className:h[Me.WeekNumber],scope:"row",role:"rowheader"},Y(Be.weekNumber,d)),Be.days.map(ht=>{const{date:os}=ht,Xe=xe(ht);if(Xe[Gt.focused]=!Xe.hidden&&!!ve?.isEqualTo(ht),Xe[En.selected]=F?.(os)||Xe.selected,Fh(fe)){const{from:ql,to:nl}=fe;Xe[En.range_start]=!!(ql&&nl&&d.isSameDay(os,ql)),Xe[En.range_end]=!!(ql&&nl&&d.isSameDay(os,nl)),Xe[En.range_middle]=fa(fe,os,!0,d)}const Yl=HA(Xe,D,a.modifiersStyles),sl=kA(Xe,h,a.modifiersClassNames),Zd=!Xt&&!Xe.hidden?$e(os,Xe,d.options,d):void 0;return Ne.createElement(l.Day,{key:`${d.format(os,"yyyy-MM-dd")}_${d.format(ht.displayMonth,"yyyy-MM")}`,day:ht,modifiers:Xe,className:sl.join(" "),style:Yl,role:"gridcell","aria-selected":Xe.selected||void 0,"aria-label":Zd,"data-day":d.format(os,"yyyy-MM-dd"),"data-month":ht.outside?d.format(os,"yyyy-MM"):void 0,"data-selected":Xe.selected||void 0,"data-disabled":Xe.disabled||void 0,"data-hidden":Xe.hidden||void 0,"data-outside":ht.outside||void 0,"data-focused":Xe.focused||void 0,"data-today":Xe.today||void 0},!Xe.hidden&&Xt?Ne.createElement(l.DayButton,{className:h[Me.DayButton],style:D?.[Me.DayButton],type:"button",day:ht,modifiers:Xe,disabled:Xe.disabled||void 0,tabIndex:de(ht)?0:-1,"aria-label":Oe(os,Xe,d.options,d),onClick:is(ht,Xe),onBlur:Ee(ht,Xe),onFocus:he(ht,Xe),onKeyDown:Ve(ht,Xe),onMouseEnter:Os(ht,Xe),onMouseLeave:$n(ht,Xe)},E(os,d.options,d)):!Xe.hidden&&E(ht.date,d.options,d))})))))))),a.footer&&Ne.createElement(l.Footer,{className:h[Me.Footer],style:D?.[Me.Footer],role:"status","aria-live":"polite"},a.footer)))}function ty({className:s,classNames:a,showOutsideDays:l=!0,captionLayout:i="label",buttonVariant:c="ghost",formatters:d,components:m,...h}){const p=Yh();return e.jsx(SR,{showOutsideDays:l,className:Z("bg-background group/calendar p-3 [--cell-size:2rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,s),captionLayout:i,formatters:{formatMonthDropdown:v=>v.toLocaleString("default",{month:"short"}),...d},classNames:{root:Z("w-fit",p.root),months:Z("relative flex flex-col gap-4 md:flex-row",p.months),month:Z("flex w-full flex-col gap-4",p.month),nav:Z("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",p.nav),button_previous:Z(io({variant:c}),"h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",p.button_previous),button_next:Z(io({variant:c}),"h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",p.button_next),month_caption:Z("flex h-[--cell-size] w-full items-center justify-center px-[--cell-size]",p.month_caption),dropdowns:Z("flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium",p.dropdowns),dropdown_root:Z("has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border",p.dropdown_root),dropdown:Z("bg-popover absolute inset-0 opacity-0",p.dropdown),caption_label:Z("select-none font-medium",i==="label"?"text-sm":"[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5",p.caption_label),table:"w-full border-collapse",weekdays:Z("flex",p.weekdays),weekday:Z("text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal",p.weekday),week:Z("mt-2 flex w-full",p.week),week_number_header:Z("w-[--cell-size] select-none",p.week_number_header),week_number:Z("text-muted-foreground select-none text-[0.8rem]",p.week_number),day:Z("group/day relative aspect-square h-full w-full select-none p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md",p.day),range_start:Z("bg-accent rounded-l-md",p.range_start),range_middle:Z("rounded-none",p.range_middle),range_end:Z("bg-accent rounded-r-md",p.range_end),today:Z("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",p.today),outside:Z("text-muted-foreground aria-selected:text-muted-foreground",p.outside),disabled:Z("text-muted-foreground opacity-50",p.disabled),hidden:Z("invisible",p.hidden),...a},components:{Root:({className:v,rootRef:g,...j})=>e.jsx("div",{"data-slot":"calendar",ref:g,className:Z(v),...j}),Chevron:({className:v,orientation:g,...j})=>g==="left"?e.jsx(Ol,{className:Z("size-4",v),...j}):g==="right"?e.jsx(Al,{className:Z("size-4",v),...j}):e.jsx(lo,{className:Z("size-4",v),...j}),DayButton:_R,WeekNumber:({children:v,...g})=>e.jsx("td",{...g,children:e.jsx("div",{className:"flex size-[--cell-size] items-center justify-center text-center",children:v})}),...m},...h})}function _R({className:s,day:a,modifiers:l,...i}){const c=Yh(),d=x.useRef(null);return x.useEffect(()=>{l.focused&&d.current?.focus()},[l.focused]),e.jsx(q,{ref:d,variant:"ghost",size:"icon","data-day":a.date.toLocaleDateString(),"data-selected-single":l.selected&&!l.range_start&&!l.range_end&&!l.range_middle,"data-range-start":l.range_start,"data-range-end":l.range_end,"data-range-middle":l.range_middle,className:Z("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-auto w-full min-w-[--cell-size] flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70",c.day,s),...i})}class CR{ws=null;reconnectTimeout=null;reconnectAttempts=0;maxReconnectAttempts=10;heartbeatInterval=null;logCallbacks=new Set;connectionCallbacks=new Set;isConnected=!1;logCache=[];maxCacheSize=1e3;getWebSocketUrl(){{const a=window.location.protocol==="https:"?"wss:":"ws:",l=window.location.host;return`${a}//${l}/ws/logs`}}connect(){if(this.ws?.readyState===WebSocket.OPEN||this.ws?.readyState===WebSocket.CONNECTING)return;const a=this.getWebSocketUrl();try{this.ws=new WebSocket(a),this.ws.onopen=()=>{this.isConnected=!0,this.reconnectAttempts=0,this.notifyConnection(!0),this.startHeartbeat()},this.ws.onmessage=l=>{try{if(l.data==="pong")return;const i=JSON.parse(l.data);this.notifyLog(i)}catch(i){console.error("解析日志消息失败:",i)}},this.ws.onerror=l=>{console.error("❌ WebSocket 错误:",l),this.isConnected=!1,this.notifyConnection(!1)},this.ws.onclose=()=>{this.isConnected=!1,this.notifyConnection(!1),this.stopHeartbeat(),this.attemptReconnect()}}catch(l){console.error("创建 WebSocket 连接失败:",l),this.attemptReconnect()}}attemptReconnect(){if(this.reconnectAttempts>=this.maxReconnectAttempts)return;this.reconnectAttempts+=1;const a=Math.min(1e3*this.reconnectAttempts,1e4);this.reconnectTimeout=window.setTimeout(()=>{this.connect()},a)}startHeartbeat(){this.heartbeatInterval=window.setInterval(()=>{this.ws?.readyState===WebSocket.OPEN&&this.ws.send("ping")},3e4)}stopHeartbeat(){this.heartbeatInterval!==null&&(clearInterval(this.heartbeatInterval),this.heartbeatInterval=null)}disconnect(){this.reconnectTimeout!==null&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null),this.stopHeartbeat(),this.ws&&(this.ws.close(),this.ws=null),this.isConnected=!1,this.reconnectAttempts=0}onLog(a){return this.logCallbacks.add(a),()=>this.logCallbacks.delete(a)}onConnectionChange(a){return this.connectionCallbacks.add(a),a(this.isConnected),()=>this.connectionCallbacks.delete(a)}notifyLog(a){this.logCache.some(i=>i.id===a.id)||(this.logCache.push(a),this.logCache.length>this.maxCacheSize&&(this.logCache=this.logCache.slice(-this.maxCacheSize)),this.logCallbacks.forEach(i=>{try{i(a)}catch(c){console.error("日志回调执行失败:",c)}}))}notifyConnection(a){this.connectionCallbacks.forEach(l=>{try{l(a)}catch(i){console.error("连接状态回调执行失败:",i)}})}getAllLogs(){return[...this.logCache]}clearLogs(){this.logCache=[]}getConnectionStatus(){return this.isConnected}}const zr=new CR;typeof window<"u"&&zr.connect();const kR={lessThanXSeconds:{one:"不到 1 秒",other:"不到 {{count}} 秒"},xSeconds:{one:"1 秒",other:"{{count}} 秒"},halfAMinute:"半分钟",lessThanXMinutes:{one:"不到 1 分钟",other:"不到 {{count}} 分钟"},xMinutes:{one:"1 分钟",other:"{{count}} 分钟"},xHours:{one:"1 小时",other:"{{count}} 小时"},aboutXHours:{one:"大约 1 小时",other:"大约 {{count}} 小时"},xDays:{one:"1 天",other:"{{count}} 天"},aboutXWeeks:{one:"大约 1 个星期",other:"大约 {{count}} 个星期"},xWeeks:{one:"1 个星期",other:"{{count}} 个星期"},aboutXMonths:{one:"大约 1 个月",other:"大约 {{count}} 个月"},xMonths:{one:"1 个月",other:"{{count}} 个月"},aboutXYears:{one:"大约 1 年",other:"大约 {{count}} 年"},xYears:{one:"1 年",other:"{{count}} 年"},overXYears:{one:"超过 1 年",other:"超过 {{count}} 年"},almostXYears:{one:"将近 1 年",other:"将近 {{count}} 年"}},TR=(s,a,l)=>{let i;const c=kR[s];return typeof c=="string"?i=c:a===1?i=c.one:i=c.other.replace("{{count}}",String(a)),l?.addSuffix?l.comparison&&l.comparison>0?i+"内":i+"前":i},ER={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},MR={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},DR={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},OR={date:Hr({formats:ER,defaultWidth:"full"}),time:Hr({formats:MR,defaultWidth:"full"}),dateTime:Hr({formats:DR,defaultWidth:"full"})};function sy(s,a,l){const i="eeee p";return qO(s,a,l)?i:s.getTime()>a.getTime()?"'下个'"+i:"'上个'"+i}const AR={lastWeek:sy,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:sy,other:"PP p"},RR=(s,a,l,i)=>{const c=AR[s];return typeof c=="function"?c(a,l,i):c},zR={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},PR={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},LR={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},BR={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},UR={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},HR={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},FR=(s,a)=>{const l=Number(s);switch(a?.unit){case"date":return l.toString()+"日";case"hour":return l.toString()+"时";case"minute":return l.toString()+"分";case"second":return l.toString()+"秒";default:return"第 "+l.toString()}},YR={ordinalNumber:FR,era:Hn({values:zR,defaultWidth:"wide"}),quarter:Hn({values:PR,defaultWidth:"wide",argumentCallback:s=>s-1}),month:Hn({values:LR,defaultWidth:"wide"}),day:Hn({values:BR,defaultWidth:"wide"}),dayPeriod:Hn({values:UR,defaultWidth:"wide",formattingValues:HR,defaultFormattingWidth:"wide"})},qR=/^(第\s*)?\d+(日|时|分|秒)?/i,VR=/\d+/i,GR={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},$R={any:[/^(前)/i,/^(公元)/i]},IR={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},WR={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},XR={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一])/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一])月/i},KR={narrow:[/^一/i,/^二/i,/^三/i,/^四/i,/^五/i,/^六/i,/^七/i,/^八/i,/^九/i,/^十(?!(一|二))/i,/^十一/i,/^十二/i],any:[/^一|1/i,/^二|2/i,/^三|3/i,/^四|4/i,/^五|5/i,/^六|6/i,/^七|7/i,/^八|8/i,/^九|9/i,/^十(?!(一|二))|10/i,/^十一|11/i,/^十二|12/i]},QR={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},ZR={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},JR={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},e3={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},t3={ordinalNumber:UN({matchPattern:qR,parsePattern:VR,valueCallback:s=>parseInt(s,10)}),era:Fn({matchPatterns:GR,defaultMatchWidth:"wide",parsePatterns:$R,defaultParseWidth:"any"}),quarter:Fn({matchPatterns:IR,defaultMatchWidth:"wide",parsePatterns:WR,defaultParseWidth:"any",valueCallback:s=>s+1}),month:Fn({matchPatterns:XR,defaultMatchWidth:"wide",parsePatterns:KR,defaultParseWidth:"any"}),day:Fn({matchPatterns:QR,defaultMatchWidth:"wide",parsePatterns:ZR,defaultParseWidth:"any"}),dayPeriod:Fn({matchPatterns:JR,defaultMatchWidth:"any",parsePatterns:e3,defaultParseWidth:"any"})},td={code:"zh-CN",formatDistance:TR,formatLong:OR,formatRelative:RR,localize:YR,match:t3,options:{weekStartsOn:1,firstWeekContainsDate:4}};function s3(){const[s,a]=x.useState([]),[l,i]=x.useState(""),[c,d]=x.useState("all"),[m,h]=x.useState("all"),[p,v]=x.useState(void 0),[g,j]=x.useState(void 0),[b,w]=x.useState(!0),[S,C]=x.useState(!1),N=x.useRef(null),T=x.useRef(null);x.useEffect(()=>{const $=zr.getAllLogs();a($);const oe=zr.onLog(()=>{a(zr.getAllLogs())}),je=zr.onConnectionChange(ae=>{C(ae)});return()=>{oe(),je()}},[]),x.useEffect(()=>{b&&T.current&&T.current.scrollIntoView({behavior:"smooth",block:"end"})},[s,b]);const P=x.useMemo(()=>{const $=new Set(s.map(oe=>oe.module));return Array.from($).sort()},[s]),M=$=>{switch($){case"DEBUG":return"text-muted-foreground";case"INFO":return"text-blue-500 dark:text-blue-400";case"WARNING":return"text-yellow-600 dark:text-yellow-500";case"ERROR":return"text-red-600 dark:text-red-500";case"CRITICAL":return"text-red-700 dark:text-red-400 font-bold";default:return"text-foreground"}},k=$=>{switch($){case"DEBUG":return"bg-gray-800/30 dark:bg-gray-800/50";case"INFO":return"bg-blue-900/20 dark:bg-blue-500/20";case"WARNING":return"bg-yellow-900/20 dark:bg-yellow-500/20";case"ERROR":return"bg-red-900/20 dark:bg-red-500/20";case"CRITICAL":return"bg-red-900/30 dark:bg-red-600/30";default:return"bg-gray-800/20 dark:bg-gray-800/30"}},D=()=>{window.location.reload()},A=()=>{zr.clearLogs(),a([])},E=()=>{const $=G.map(me=>`${me.timestamp} [${me.level.padEnd(8)}] [${me.module}] ${me.message}`).join(` +`),oe=new Blob([$],{type:"text/plain;charset=utf-8"}),je=URL.createObjectURL(oe),ae=document.createElement("a");ae.href=je,ae.download=`logs-${md(new Date,"yyyy-MM-dd-HHmmss")}.txt`,ae.click(),URL.revokeObjectURL(je)},B=()=>{w(!b)},Y=()=>{v(void 0),j(void 0)},G=x.useMemo(()=>s.filter($=>{const oe=l===""||$.message.toLowerCase().includes(l.toLowerCase())||$.module.toLowerCase().includes(l.toLowerCase()),je=c==="all"||$.level===c,ae=m==="all"||$.module===m;let me=!0;if(p||g){const R=new Date($.timestamp);if(p){const O=new Date(p);O.setHours(0,0,0,0),me=me&&R>=O}if(g){const O=new Date(g);O.setHours(23,59,59,999),me=me&&R<=O}}return oe&&je&&ae&&me}),[s,l,c,m,p,g]);return e.jsx(Ct,{className:"h-full",children:e.jsxs("div",{className:"space-y-4 p-3 sm:p-4 lg:p-6",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-xl sm:text-2xl lg:text-3xl font-bold",children:"日志查看器"}),e.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground mt-1",children:"实时查看和分析麦麦运行日志"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:Z("h-2.5 w-2.5 sm:h-3 sm:w-3 rounded-full",S?"bg-green-500 animate-pulse":"bg-red-500")}),e.jsx("span",{className:"text-xs sm:text-sm text-muted-foreground",children:S?"已连接":"未连接"})]})]}),e.jsx(Ue,{className:"p-3 sm:p-4",children:e.jsxs("div",{className:"flex flex-col gap-3 sm:gap-4",children:[e.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:gap-4",children:[e.jsxs("div",{className:"flex-1 relative",children:[e.jsx(Gs,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),e.jsx(pe,{placeholder:"搜索日志...",value:l,onChange:$=>i($.target.value),className:"pl-9 h-9 text-sm"})]}),e.jsxs(rt,{value:c,onValueChange:d,children:[e.jsxs(at,{className:"w-full sm:w-[140px] lg:w-[180px] h-9 text-sm",children:[e.jsx(Lf,{className:"h-4 w-4 mr-2"}),e.jsx(it,{placeholder:"级别"})]}),e.jsxs(lt,{children:[e.jsx(ye,{value:"all",children:"全部级别"}),e.jsx(ye,{value:"DEBUG",children:"DEBUG"}),e.jsx(ye,{value:"INFO",children:"INFO"}),e.jsx(ye,{value:"WARNING",children:"WARNING"}),e.jsx(ye,{value:"ERROR",children:"ERROR"}),e.jsx(ye,{value:"CRITICAL",children:"CRITICAL"})]})]}),e.jsxs(rt,{value:m,onValueChange:h,children:[e.jsxs(at,{className:"w-full sm:w-[160px] lg:w-[200px] h-9 text-sm",children:[e.jsx(Lf,{className:"h-4 w-4 mr-2"}),e.jsx(it,{placeholder:"模块"})]}),e.jsxs(lt,{children:[e.jsx(ye,{value:"all",children:"全部模块"}),P.map($=>e.jsx(ye,{value:$,children:$},$))]})]})]}),e.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:gap-4",children:[e.jsxs(Ia,{children:[e.jsx(Wa,{asChild:!0,children:e.jsxs(q,{variant:"outline",size:"sm",className:Z("w-full sm:w-[200px] lg:w-[240px] justify-start text-left font-normal h-9",!p&&"text-muted-foreground"),children:[e.jsx(ej,{className:"mr-2 h-4 w-4"}),e.jsx("span",{className:"text-xs sm:text-sm",children:p?md(p,"PPP",{locale:td}):"开始日期"})]})}),e.jsx(pa,{className:"w-auto p-0",align:"start",children:e.jsx(ty,{mode:"single",selected:p,onSelect:v,initialFocus:!0,locale:td})})]}),e.jsxs(Ia,{children:[e.jsx(Wa,{asChild:!0,children:e.jsxs(q,{variant:"outline",size:"sm",className:Z("w-full sm:w-[200px] lg:w-[240px] justify-start text-left font-normal h-9",!g&&"text-muted-foreground"),children:[e.jsx(ej,{className:"mr-2 h-4 w-4"}),e.jsx("span",{className:"text-xs sm:text-sm",children:g?md(g,"PPP",{locale:td}):"结束日期"})]})}),e.jsx(pa,{className:"w-auto p-0",align:"start",children:e.jsx(ty,{mode:"single",selected:g,onSelect:j,initialFocus:!0,locale:td})})]}),(p||g)&&e.jsxs(q,{variant:"outline",size:"sm",onClick:Y,className:"w-full sm:w-auto h-9",children:[e.jsx(go,{className:"h-4 w-4 sm:mr-2"}),e.jsx("span",{className:"hidden sm:inline text-sm",children:"清除时间筛选"}),e.jsx("span",{className:"sm:hidden text-sm",children:"清除"})]})]}),e.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:flex-wrap sm:items-center",children:[e.jsxs("div",{className:"flex gap-2 flex-wrap",children:[e.jsxs(q,{variant:b?"default":"outline",size:"sm",onClick:B,className:"flex-1 sm:flex-none h-9",children:[b?e.jsx(F2,{className:"h-4 w-4"}):e.jsx(Y2,{className:"h-4 w-4"}),e.jsx("span",{className:"ml-2 text-sm",children:b?"自动滚动":"已暂停"})]}),e.jsxs(q,{variant:"outline",size:"sm",onClick:D,className:"flex-1 sm:flex-none h-9",children:[e.jsx(xa,{className:"h-4 w-4"}),e.jsx("span",{className:"ml-2 text-sm",children:"刷新"})]}),e.jsxs(q,{variant:"outline",size:"sm",onClick:A,className:"flex-1 sm:flex-none h-9",children:[e.jsx(ft,{className:"h-4 w-4"}),e.jsx("span",{className:"ml-2 text-sm",children:"清空"})]}),e.jsxs(q,{variant:"outline",size:"sm",onClick:E,className:"flex-1 sm:flex-none h-9",children:[e.jsx(Bf,{className:"h-4 w-4"}),e.jsx("span",{className:"ml-2 text-sm",children:"导出"})]})]}),e.jsx("div",{className:"flex-1 hidden sm:block"}),e.jsxs("div",{className:"text-xs sm:text-sm text-muted-foreground flex items-center justify-center sm:justify-end",children:[e.jsxs("span",{className:"font-mono",children:[G.length," / ",s.length]}),e.jsx("span",{className:"ml-1",children:"条日志"})]})]})]})}),e.jsx(Ue,{className:"bg-black dark:bg-gray-950 border-gray-800 dark:border-gray-900",children:e.jsx(Ct,{className:"h-[calc(100vh-280px)] sm:h-[calc(100vh-320px)] lg:h-[calc(100vh-400px)]",children:e.jsxs("div",{ref:N,className:"p-2 sm:p-3 lg:p-4 font-mono text-xs sm:text-sm space-y-1",children:[G.length===0?e.jsx("div",{className:"text-gray-500 dark:text-gray-600 text-center py-8 text-sm",children:"暂无日志数据"}):G.map($=>e.jsxs("div",{className:Z("py-2 px-2 sm:px-3 rounded hover:bg-white/5 transition-colors group",k($.level)),children:[e.jsxs("div",{className:"flex flex-col gap-1 sm:hidden",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-gray-500 dark:text-gray-600 text-xs",children:$.timestamp}),e.jsxs("span",{className:Z("text-xs font-semibold",M($.level)),children:["[",$.level,"]"]})]}),e.jsx("div",{className:"text-cyan-400 dark:text-cyan-500 text-xs truncate",children:$.module}),e.jsx("div",{className:"text-gray-300 dark:text-gray-400 text-xs break-all",children:$.message})]}),e.jsxs("div",{className:"hidden sm:flex gap-3 items-start",children:[e.jsx("span",{className:"text-gray-500 dark:text-gray-600 flex-shrink-0 w-[140px] lg:w-[180px] text-xs lg:text-sm",children:$.timestamp}),e.jsxs("span",{className:Z("flex-shrink-0 w-[70px] lg:w-[80px] font-semibold text-xs lg:text-sm",M($.level)),children:["[",$.level,"]"]}),e.jsx("span",{className:"text-cyan-400 dark:text-cyan-500 flex-shrink-0 w-[120px] lg:w-[150px] truncate text-xs lg:text-sm",children:$.module}),e.jsx("span",{className:"text-gray-300 dark:text-gray-400 flex-1 break-all text-xs lg:text-sm",children:$.message})]})]},$.id)),e.jsx("div",{ref:T,className:"h-4"})]})})})]})})}const n3="Mai-with-u",a3="plugin-repo",l3="main",r3="plugin_details.json";async function i3(){try{const s=await Fe("/api/webui/plugins/fetch-raw",{method:"POST",headers:Ie(),body:JSON.stringify({owner:n3,repo:a3,branch:l3,file_path:r3})});if(!s.ok)throw new Error(`HTTP error! status: ${s.status}`);const a=await s.json();if(!a.success||!a.data)throw new Error(a.error||"获取插件列表失败");return JSON.parse(a.data).filter(c=>!c?.id||!c?.manifest?(console.warn("跳过无效插件数据:",c),!1):!c.manifest.name||!c.manifest.version?(console.warn("跳过缺少必需字段的插件:",c.id),!1):!0).map(c=>({id:c.id,manifest:{manifest_version:c.manifest.manifest_version||1,name:c.manifest.name,version:c.manifest.version,description:c.manifest.description||"",author:c.manifest.author||{name:"Unknown"},license:c.manifest.license||"Unknown",host_application:c.manifest.host_application||{min_version:"0.0.0"},homepage_url:c.manifest.homepage_url,repository_url:c.manifest.repository_url,keywords:c.manifest.keywords||[],categories:c.manifest.categories||[],default_locale:c.manifest.default_locale||"zh-CN",locales_path:c.manifest.locales_path},downloads:0,rating:0,review_count:0,installed:!1,published_at:new Date().toISOString(),updated_at:new Date().toISOString()}))}catch(s){throw console.error("Failed to fetch plugin list:",s),s}}async function o3(){try{const s=await Fe("/api/webui/plugins/git-status");if(!s.ok)throw new Error(`HTTP error! status: ${s.status}`);return await s.json()}catch(s){return console.error("Failed to check Git status:",s),{installed:!1,error:"无法检测 Git 安装状态"}}}async function c3(){try{const s=await Fe("/api/webui/plugins/version");if(!s.ok)throw new Error(`HTTP error! status: ${s.status}`);return await s.json()}catch(s){return console.error("Failed to get Maimai version:",s),{version:"0.0.0",version_major:0,version_minor:0,version_patch:0}}}function d3(s,a,l){const i=s.split(".").map(h=>parseInt(h)||0),c=i[0]||0,d=i[1]||0,m=i[2]||0;if(l.version_majorparseInt(j)||0),p=h[0]||0,v=h[1]||0,g=h[2]||0;if(l.version_major>p||l.version_major===p&&l.version_minor>v||l.version_major===p&&l.version_minor===v&&l.version_patch>g)return!1}return!0}function u3(s,a){const l=window.location.protocol==="https:"?"wss:":"ws:",i=window.location.host,c=new WebSocket(`${l}//${i}/api/webui/ws/plugin-progress`);return c.onopen=()=>{console.log("Plugin progress WebSocket connected");const d=setInterval(()=>{c.readyState===WebSocket.OPEN?c.send("ping"):clearInterval(d)},3e4)},c.onmessage=d=>{try{if(d.data==="pong")return;const m=JSON.parse(d.data);s(m)}catch(m){console.error("Failed to parse progress data:",m)}},c.onerror=d=>{console.error("Plugin progress WebSocket error:",d),a?.(d)},c.onclose=()=>{console.log("Plugin progress WebSocket disconnected")},c}async function sd(){try{const s=await Fe("/api/webui/plugins/installed",{headers:Ie()});if(!s.ok)throw new Error(`HTTP error! status: ${s.status}`);const a=await s.json();if(!a.success)throw new Error(a.message||"获取已安装插件列表失败");return a.plugins||[]}catch(s){return console.error("Failed to get installed plugins:",s),[]}}function nd(s,a){return a.some(l=>l.id===s)}function ad(s,a){const l=a.find(i=>i.id===s);if(l)return l.manifest?.version||l.version}async function m3(s,a,l="main"){const i=await Fe("/api/webui/plugins/install",{method:"POST",headers:Ie(),body:JSON.stringify({plugin_id:s,repository_url:a,branch:l})});if(!i.ok){const c=await i.json();throw new Error(c.detail||"安装失败")}return await i.json()}async function f3(s){const a=await Fe("/api/webui/plugins/uninstall",{method:"POST",headers:Ie(),body:JSON.stringify({plugin_id:s})});if(!a.ok){const l=await a.json();throw new Error(l.detail||"卸载失败")}return await a.json()}async function h3(s,a,l="main"){const i=await Fe("/api/webui/plugins/update",{method:"POST",headers:Ie(),body:JSON.stringify({plugin_id:s,repository_url:a,branch:l})});if(!i.ok){const c=await i.json();throw new Error(c.detail||"更新失败")}return await i.json()}const ny={"Group Management":"群组管理","Entertainment & Interaction":"娱乐互动","Utility Tools":"实用工具","Content Generation":"内容生成",Multimedia:"多媒体","External Integration":"外部集成","Data Analysis & Insights":"数据分析与洞察",Other:"其他"};function x3(){const s=qn(),[a,l]=x.useState(null),[i,c]=x.useState(""),[d,m]=x.useState("all"),[h,p]=x.useState("all"),[v,g]=x.useState(!1),[j,b]=x.useState([]),[w,S]=x.useState(!0),[C,N]=x.useState(null),[T,P]=x.useState(null),[M,k]=x.useState(null),[D,A]=x.useState(null),[,E]=x.useState([]),{toast:B}=Es();x.useEffect(()=>{let O=null,L=!1;return(async()=>{if(O=u3(le=>{L||(k(le),le.stage==="success"?setTimeout(()=>{L||k(null)},2e3):le.stage==="error"&&(S(!1),N(le.error||"加载失败")))},le=>{console.error("WebSocket error:",le),L||B({title:"WebSocket 连接失败",description:"无法实时显示加载进度",variant:"destructive"})}),await new Promise(le=>{if(!O){le();return}const xe=()=>{O&&O.readyState===WebSocket.OPEN?(console.log("WebSocket connected, starting to load plugins"),le()):O&&O.readyState===WebSocket.CLOSED?(console.warn("WebSocket closed before loading plugins"),le()):setTimeout(xe,100)};xe()}),!L){const le=await o3();P(le),le.installed||B({title:"Git 未安装",description:le.error||"请先安装 Git 才能使用插件安装功能",variant:"destructive"})}if(!L){const le=await c3();A(le)}if(!L)try{S(!0),N(null);const le=await i3();if(!L){const xe=await sd();E(xe);const F=le.map(W=>{const fe=nd(W.id,xe),I=ad(W.id,xe);return{...W,installed:fe,installed_version:I}});for(const W of xe)!F.some(I=>I.id===W.id)&&W.manifest&&F.push({id:W.id,manifest:{manifest_version:W.manifest.manifest_version||1,name:W.manifest.name,version:W.manifest.version,description:W.manifest.description||"",author:W.manifest.author,license:W.manifest.license||"Unknown",host_application:W.manifest.host_application,homepage_url:W.manifest.homepage_url,repository_url:W.manifest.repository_url,keywords:W.manifest.keywords||[],categories:W.manifest.categories||[],default_locale:W.manifest.default_locale||"zh-CN",locales_path:W.manifest.locales_path},downloads:0,rating:0,review_count:0,installed:!0,installed_version:W.manifest.version,published_at:new Date().toISOString(),updated_at:new Date().toISOString()});b(F)}}catch(le){if(!L){const xe=le instanceof Error?le.message:"加载插件列表失败";N(xe),B({title:"加载失败",description:xe,variant:"destructive"})}}finally{L||S(!1)}})(),()=>{L=!0,O&&O.close()}},[B]);const Y=O=>{if(!O.installed&&D&&!G(O))return e.jsxs(_t,{variant:"destructive",className:"gap-1",children:[e.jsx(Tl,{className:"h-3 w-3"}),"不兼容"]});if(O.installed){const L=O.installed_version?.trim(),ee=O.manifest.version?.trim();if(L!==ee){const le=L?.split(".").map(Number)||[0,0,0],xe=ee?.split(".").map(Number)||[0,0,0];for(let F=0;F<3;F++){if((xe[F]||0)>(le[F]||0))return e.jsxs(_t,{variant:"outline",className:"gap-1 text-orange-600 border-orange-600",children:[e.jsx(Tl,{className:"h-3 w-3"}),"可更新"]});if((xe[F]||0)<(le[F]||0))break}}return e.jsxs(_t,{variant:"default",className:"gap-1",children:[e.jsx(Ys,{className:"h-3 w-3"}),"已安装"]})}return null},G=O=>!D||!O.manifest?.host_application?!0:d3(O.manifest.host_application.min_version,O.manifest.host_application.max_version,D),$=O=>{if(!O.installed||!O.installed_version||!O.manifest?.version)return!1;const L=O.installed_version.trim(),ee=O.manifest.version.trim();if(L===ee)return!1;const le=L.split(".").map(Number),xe=ee.split(".").map(Number);for(let F=0;F<3;F++){if((xe[F]||0)>(le[F]||0))return!0;if((xe[F]||0)<(le[F]||0))return!1}return!1},oe=j.filter(O=>{if(!O.manifest)return console.warn("[过滤] 跳过无 manifest 的插件:",O.id),!1;const L=i===""||O.manifest.name?.toLowerCase().includes(i.toLowerCase())||O.manifest.description?.toLowerCase().includes(i.toLowerCase())||O.manifest.keywords&&O.manifest.keywords.some(F=>F.toLowerCase().includes(i.toLowerCase())),ee=d==="all"||O.manifest.categories&&O.manifest.categories.includes(d);let le=!0;h==="installed"?le=O.installed===!0:h==="updates"&&(le=O.installed===!0&&$(O));const xe=!v||!D||G(O);return L&&ee&&le&&xe}),je=()=>{l(null)},ae=async O=>{if(!T?.installed){B({title:"无法安装",description:"Git 未安装",variant:"destructive"});return}if(D&&!G(O)){B({title:"无法安装",description:"插件与当前麦麦版本不兼容",variant:"destructive"});return}try{await m3(O.id,O.manifest.repository_url||"","main"),B({title:"安装成功",description:`${O.manifest.name} 已成功安装`});const L=await sd();E(L),b(ee=>ee.map(le=>{if(le.id===O.id){const xe=nd(le.id,L),F=ad(le.id,L);return{...le,installed:xe,installed_version:F}}return le}))}catch(L){B({title:"安装失败",description:L instanceof Error?L.message:"未知错误",variant:"destructive"})}},me=async O=>{try{await f3(O.id),B({title:"卸载成功",description:`${O.manifest.name} 已成功卸载`});const L=await sd();E(L),b(ee=>ee.map(le=>{if(le.id===O.id){const xe=nd(le.id,L),F=ad(le.id,L);return{...le,installed:xe,installed_version:F}}return le}))}catch(L){B({title:"卸载失败",description:L instanceof Error?L.message:"未知错误",variant:"destructive"})}},R=async O=>{if(!T?.installed){B({title:"无法更新",description:"Git 未安装",variant:"destructive"});return}try{const L=await h3(O.id,O.manifest.repository_url||"","main");B({title:"更新成功",description:`${O.manifest.name} 已从 ${L.old_version} 更新到 ${L.new_version}`});const ee=await sd();E(ee),b(le=>le.map(xe=>{if(xe.id===O.id){const F=nd(xe.id,ee),W=ad(xe.id,ee);return{...xe,installed:F,installed_version:W}}return xe}))}catch(L){B({title:"更新失败",description:L instanceof Error?L.message:"未知错误",variant:"destructive"})}};return e.jsx(Ct,{className:"h-full",children:e.jsxs("div",{className:"space-y-6 p-4 sm:p-6",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-4",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"插件市场"}),e.jsx("p",{className:"text-muted-foreground mt-2",children:"浏览和管理麦麦的插件"})]}),e.jsxs(q,{onClick:()=>s({to:"/plugin-mirrors"}),children:[e.jsx(q2,{className:"h-4 w-4 mr-2"}),"配置镜像源"]})]}),T&&!T.installed&&e.jsxs(Ue,{className:"border-orange-600 bg-orange-50 dark:bg-orange-950/20",children:[e.jsx(ot,{children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(Lr,{className:"h-5 w-5 text-orange-600"}),e.jsxs("div",{children:[e.jsx(ct,{className:"text-lg text-orange-900 dark:text-orange-100",children:"Git 未安装"}),e.jsx(us,{className:"text-orange-800 dark:text-orange-200",children:T.error||"请先安装 Git 才能使用插件安装功能"})]})]})}),e.jsx(gt,{children:e.jsxs("p",{className:"text-sm text-orange-800 dark:text-orange-200",children:["您可以从 ",e.jsx("a",{href:"https://git-scm.com/downloads",target:"_blank",rel:"noopener noreferrer",className:"underline font-medium",children:"git-scm.com"})," 下载并安装 Git。 安装完成后,请重启麦麦应用。"]})})]}),e.jsx(Ue,{className:"p-4",children:e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row gap-4",children:[e.jsxs("div",{className:"flex-1 relative",children:[e.jsx(Gs,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),e.jsx(pe,{placeholder:"搜索插件...",value:i,onChange:O=>c(O.target.value),className:"pl-9"})]}),e.jsxs(rt,{value:d,onValueChange:m,children:[e.jsx(at,{className:"w-full sm:w-[200px]",children:e.jsx(it,{placeholder:"选择分类"})}),e.jsxs(lt,{children:[e.jsx(ye,{value:"all",children:"全部分类"}),e.jsx(ye,{value:"Group Management",children:"群组管理"}),e.jsx(ye,{value:"Entertainment & Interaction",children:"娱乐互动"}),e.jsx(ye,{value:"Utility Tools",children:"实用工具"}),e.jsx(ye,{value:"Content Generation",children:"内容生成"}),e.jsx(ye,{value:"Multimedia",children:"多媒体"}),e.jsx(ye,{value:"External Integration",children:"外部集成"}),e.jsx(ye,{value:"Data Analysis & Insights",children:"数据分析与洞察"}),e.jsx(ye,{value:"Other",children:"其他"})]})]})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Cs,{id:"compatible-only",checked:v,onCheckedChange:O=>g(O===!0)}),e.jsx("label",{htmlFor:"compatible-only",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer",children:"只显示兼容当前版本的插件"})]})]})}),e.jsx(Ml,{value:h,onValueChange:p,className:"w-full",children:e.jsxs($a,{className:"grid w-full grid-cols-3",children:[e.jsxs(bt,{value:"all",children:["全部插件 (",j.length,")"]}),e.jsxs(bt,{value:"installed",children:["已安装 (",j.filter(O=>O.installed).length,")"]}),e.jsxs(bt,{value:"updates",children:["可更新 (",j.filter(O=>O.installed&&$(O)).length,")"]})]})}),M&&M.stage==="loading"&&e.jsx(Ue,{className:"p-4",children:e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ro,{className:"h-4 w-4 animate-spin"}),e.jsxs("span",{className:"text-sm font-medium",children:[M.operation==="fetch"&&"加载插件列表",M.operation==="install"&&`安装插件${M.plugin_id?`: ${M.plugin_id}`:""}`,M.operation==="uninstall"&&`卸载插件${M.plugin_id?`: ${M.plugin_id}`:""}`,M.operation==="update"&&`更新插件${M.plugin_id?`: ${M.plugin_id}`:""}`]})]}),e.jsxs("span",{className:"text-sm font-medium",children:[M.progress,"%"]})]}),e.jsx(_o,{value:M.progress,className:"h-2"}),e.jsx("div",{className:"text-xs text-muted-foreground",children:M.message}),M.operation==="fetch"&&M.total_plugins>0&&e.jsxs("div",{className:"text-xs text-muted-foreground text-center",children:["已加载 ",M.loaded_plugins," / ",M.total_plugins," 个插件"]})]})}),M&&M.stage==="error"&&M.error&&e.jsx(Ue,{className:"border-destructive bg-destructive/10",children:e.jsx(ot,{children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(Lr,{className:"h-5 w-5 text-destructive"}),e.jsxs("div",{children:[e.jsx(ct,{className:"text-lg text-destructive",children:"加载失败"}),e.jsx(us,{className:"text-destructive/80",children:M.error})]})]})})}),w?e.jsxs("div",{className:"flex items-center justify-center py-12",children:[e.jsx(ro,{className:"h-8 w-8 animate-spin text-muted-foreground"}),e.jsx("span",{className:"ml-3 text-muted-foreground",children:"加载插件列表中..."})]}):C?e.jsx(Ue,{className:"p-6",children:e.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[e.jsx(Lr,{className:"h-12 w-12 text-destructive mb-4"}),e.jsx("h3",{className:"text-lg font-semibold mb-2",children:"加载失败"}),e.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:C}),e.jsx(q,{onClick:()=>window.location.reload(),children:"重新加载"})]})}):oe.length===0?e.jsx(Ue,{className:"p-6",children:e.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[e.jsx(Gs,{className:"h-12 w-12 text-muted-foreground mb-4"}),e.jsx("h3",{className:"text-lg font-semibold mb-2",children:"未找到插件"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:i||d!=="all"?"尝试调整搜索条件或筛选器":"暂无可用插件"})]})}):e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:oe.map(O=>e.jsxs(Ue,{className:"flex flex-col hover:shadow-lg transition-shadow h-full",children:[e.jsxs(ot,{children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsx(ct,{className:"text-xl",children:O.manifest?.name||O.id}),e.jsxs("div",{className:"flex flex-col gap-1",children:[O.manifest?.categories&&O.manifest.categories[0]&&e.jsx(_t,{variant:"secondary",className:"text-xs whitespace-nowrap",children:ny[O.manifest.categories[0]]||O.manifest.categories[0]}),Y(O)]})]}),e.jsx(us,{className:"line-clamp-2",children:O.manifest?.description||"无描述"})]}),e.jsx(gt,{className:"flex-1",children:e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground",children:[e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(Bf,{className:"h-4 w-4"}),e.jsx("span",{children:O.downloads.toLocaleString()})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(tj,{className:"h-4 w-4 fill-yellow-400 text-yellow-400"}),e.jsx("span",{children:O.rating.toFixed(1)})]})]}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[O.manifest?.keywords&&O.manifest.keywords.slice(0,3).map(L=>e.jsx(_t,{variant:"outline",className:"text-xs",children:L},L)),O.manifest?.keywords&&O.manifest.keywords.length>3&&e.jsxs(_t,{variant:"outline",className:"text-xs",children:["+",O.manifest.keywords.length-3]})]}),e.jsxs("div",{className:"text-xs text-muted-foreground pt-2 border-t space-y-1",children:[e.jsxs("div",{children:["v",O.manifest?.version||"unknown"," · ",O.manifest?.author?.name||"Unknown"]}),O.manifest?.host_application&&e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("span",{children:"支持:"}),e.jsxs("span",{className:"font-medium",children:[O.manifest.host_application.min_version,O.manifest.host_application.max_version?` - ${O.manifest.host_application.max_version}`:" - 最新版本"]})]})]})]})}),e.jsx(pb,{className:"pt-4",children:e.jsxs("div",{className:"flex items-center justify-end gap-2 w-full",children:[e.jsx(q,{variant:"outline",size:"sm",onClick:()=>l(O),children:"查看详情"}),O.installed?$(O)?e.jsxs(q,{size:"sm",disabled:!T?.installed,title:T?.installed?void 0:"Git 未安装",onClick:()=>R(O),children:[e.jsx(xa,{className:"h-4 w-4 mr-1"}),"更新"]}):e.jsxs(q,{variant:"destructive",size:"sm",disabled:!T?.installed,title:T?.installed?void 0:"Git 未安装",onClick:()=>me(O),children:[e.jsx(ft,{className:"h-4 w-4 mr-1"}),"卸载"]}):e.jsxs(q,{size:"sm",disabled:!T?.installed||M?.operation==="install"||D!==null&&!G(O),title:T?.installed?D!==null&&!G(O)?`不兼容当前版本 (需要 ${O.manifest?.host_application?.min_version||"未知"}${O.manifest?.host_application?.max_version?` - ${O.manifest.host_application.max_version}`:"+"},当前 ${D?.version})`:void 0:"Git 未安装",onClick:()=>ae(O),children:[e.jsx(Bf,{className:"h-4 w-4 mr-1"}),M?.operation==="install"&&M?.plugin_id===O.id?"安装中...":"安装"]})]})})]},O.id))}),e.jsx(bs,{open:a!==null,onOpenChange:je,children:a&&a.manifest&&e.jsxs(ms,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[e.jsx(fs,{children:e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"space-y-2 flex-1",children:[e.jsx(hs,{className:"text-2xl",children:a.manifest.name}),e.jsxs(ks,{children:["作者: ",a.manifest.author?.name||"Unknown",a.manifest.author?.url&&e.jsx("a",{href:a.manifest.author.url,target:"_blank",rel:"noopener noreferrer",className:"ml-2 text-primary hover:underline",children:e.jsx(so,{className:"h-3 w-3 inline"})})]})]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[a.manifest.categories&&a.manifest.categories[0]&&e.jsx(_t,{variant:"secondary",children:ny[a.manifest.categories[0]]||a.manifest.categories[0]}),Y(a)]})]})}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-4",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:"版本"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["v",a.manifest?.version||"unknown"]}),a.installed&&a.installed_version&&e.jsxs("p",{className:"text-xs text-muted-foreground",children:["已安装: v",a.installed_version]})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:"下载量"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:a.downloads.toLocaleString()})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:"评分"}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(tj,{className:"h-4 w-4 fill-yellow-400 text-yellow-400"}),e.jsxs("span",{className:"text-sm text-muted-foreground",children:[a.rating.toFixed(1)," (",a.review_count,")"]})]})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:"许可证"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:a.manifest.license||"Unknown"})]}),e.jsxs("div",{className:"col-span-2",children:[e.jsx("p",{className:"text-sm font-medium",children:"支持版本"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[a.manifest.host_application?.min_version||"未知",a.manifest.host_application?.max_version?` - ${a.manifest.host_application.max_version}`:" - 最新版本"]})]})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium mb-2",children:"关键词"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:a.manifest.keywords&&a.manifest.keywords.map(O=>e.jsx(_t,{variant:"outline",children:O},O))})]}),a.detailed_description&&e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium mb-2",children:"详细说明"}),e.jsx("p",{className:"text-sm text-muted-foreground whitespace-pre-line",children:a.detailed_description})]}),!a.detailed_description&&e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium mb-2",children:"说明"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:a.manifest.description||"无描述"})]}),e.jsxs("div",{className:"space-y-2",children:[a.manifest.homepage_url&&e.jsxs("div",{className:"text-sm",children:[e.jsx("span",{className:"font-medium",children:"主页: "}),e.jsx("a",{href:a.manifest.homepage_url,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:a.manifest.homepage_url})]}),a.manifest.repository_url&&e.jsxs("div",{className:"text-sm",children:[e.jsx("span",{className:"font-medium",children:"仓库: "}),e.jsx("a",{href:a.manifest.repository_url,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:a.manifest.repository_url})]})]})]}),e.jsxs($s,{children:[a.manifest.homepage_url&&e.jsxs(q,{onClick:()=>window.open(a.manifest.homepage_url,"_blank"),children:[e.jsx(so,{className:"h-4 w-4 mr-2"}),"访问主页"]}),a.manifest.repository_url&&e.jsxs(q,{variant:"outline",onClick:()=>window.open(a.manifest.repository_url,"_blank"),children:[e.jsx(so,{className:"h-4 w-4 mr-2"}),"查看仓库"]})]})]})})]})})}function p3(){return e.jsx(Ct,{className:"h-full",children:e.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-4",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"插件配置"}),e.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理和配置已安装的插件"})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(q,{variant:"outline",size:"sm",children:[e.jsx(xa,{className:"h-4 w-4 mr-2"}),"刷新"]}),e.jsxs(q,{size:"sm",children:[e.jsx(Tn,{className:"h-4 w-4 mr-2"}),"全局设置"]})]})]}),e.jsxs("div",{className:"grid gap-4 grid-cols-1 xs:grid-cols-2 lg:grid-cols-4",children:[e.jsxs(Ue,{children:[e.jsxs(ot,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(ct,{className:"text-sm font-medium",children:"已安装插件"}),e.jsx(pd,{className:"h-4 w-4 text-muted-foreground"})]}),e.jsxs(gt,{children:[e.jsx("div",{className:"text-2xl font-bold",children:"0"}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"正在加载..."})]})]}),e.jsxs(Ue,{children:[e.jsxs(ot,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(ct,{className:"text-sm font-medium",children:"已启用"}),e.jsx(Ys,{className:"h-4 w-4 text-green-600"})]}),e.jsxs(gt,{children:[e.jsx("div",{className:"text-2xl font-bold",children:"0"}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"运行中的插件"})]})]}),e.jsxs(Ue,{children:[e.jsxs(ot,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(ct,{className:"text-sm font-medium",children:"已禁用"}),e.jsx(Tl,{className:"h-4 w-4 text-orange-600"})]}),e.jsxs(gt,{children:[e.jsx("div",{className:"text-2xl font-bold",children:"0"}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"未激活的插件"})]})]}),e.jsxs(Ue,{children:[e.jsxs(ot,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(ct,{className:"text-sm font-medium",children:"可更新"}),e.jsx(xa,{className:"h-4 w-4 text-blue-600"})]}),e.jsxs(gt,{children:[e.jsx("div",{className:"text-2xl font-bold",children:"0"}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"有新版本可用"})]})]})]}),e.jsxs(Ue,{children:[e.jsxs(ot,{children:[e.jsx(ct,{children:"已安装的插件"}),e.jsx(us,{children:"查看和管理已安装插件的配置"})]}),e.jsx(gt,{children:e.jsxs("div",{className:"flex flex-col items-center justify-center py-12 space-y-4",children:[e.jsx(pd,{className:"h-16 w-16 text-muted-foreground/50"}),e.jsxs("div",{className:"text-center space-y-2",children:[e.jsx("p",{className:"text-lg font-medium text-muted-foreground",children:"插件配置功能开发中"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"即将支持插件的启用/禁用、参数配置等功能"})]}),e.jsx("div",{className:"flex gap-2",children:e.jsx(q,{variant:"outline",asChild:!0,children:e.jsxs("a",{href:"/plugins",children:[e.jsx(so,{className:"h-4 w-4 mr-2"}),"前往插件市场"]})})})]})})]}),e.jsxs("div",{className:"grid gap-4 grid-cols-1 lg:grid-cols-2",children:[e.jsxs(Ue,{children:[e.jsx(ot,{children:e.jsx(ct,{className:"text-base",children:"即将推出的功能"})}),e.jsx(gt,{children:e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"rounded-full bg-primary/10 p-1 mt-0.5",children:e.jsx(Ys,{className:"h-4 w-4 text-primary"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:"插件启用/禁用"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"快速切换插件运行状态"})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"rounded-full bg-primary/10 p-1 mt-0.5",children:e.jsx(Ys,{className:"h-4 w-4 text-primary"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:"配置参数编辑"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"可视化编辑插件配置文件"})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"rounded-full bg-primary/10 p-1 mt-0.5",children:e.jsx(Ys,{className:"h-4 w-4 text-primary"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:"依赖管理"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"查看和安装插件依赖包"})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"rounded-full bg-primary/10 p-1 mt-0.5",children:e.jsx(Ys,{className:"h-4 w-4 text-primary"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:"插件日志"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"查看插件运行日志和错误信息"})]})]})]})})]}),e.jsxs(Ue,{children:[e.jsx(ot,{children:e.jsx(ct,{className:"text-base",children:"开发者工具"})}),e.jsx(gt,{children:e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"rounded-full bg-blue-500/10 p-1 mt-0.5",children:e.jsx(Tn,{className:"h-4 w-4 text-blue-600"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:"热重载"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"无需重启即可重新加载插件"})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"rounded-full bg-blue-500/10 p-1 mt-0.5",children:e.jsx(Tn,{className:"h-4 w-4 text-blue-600"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:"配置验证"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"检查配置文件格式和完整性"})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"rounded-full bg-blue-500/10 p-1 mt-0.5",children:e.jsx(Tn,{className:"h-4 w-4 text-blue-600"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:"性能监控"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"监控插件的资源占用情况"})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"rounded-full bg-blue-500/10 p-1 mt-0.5",children:e.jsx(Tn,{className:"h-4 w-4 text-blue-600"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:"调试模式"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"详细的调试信息和错误追踪"})]})]})]})})]})]}),e.jsx(Ue,{className:"border-blue-200 bg-blue-50 dark:bg-blue-950/20 dark:border-blue-900",children:e.jsx(gt,{className:"pt-6",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(Tl,{className:"h-5 w-5 text-blue-600 mt-0.5 flex-shrink-0"}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-sm font-medium text-blue-900 dark:text-blue-100",children:"开发进行中"}),e.jsxs("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:["插件配置功能正在积极开发中。目前您可以通过",e.jsx("strong",{children:"插件市场"}),"安装和卸载插件,完整的配置管理功能即将推出。"]})]})]})})})]})})}function g3(){const s=qn(),{toast:a}=Es(),[l,i]=x.useState([]),[c,d]=x.useState(!0),[m,h]=x.useState(null),[p,v]=x.useState(null),[g,j]=x.useState(!1),[b,w]=x.useState(!1),[S,C]=x.useState({id:"",name:"",raw_prefix:"",clone_prefix:"",enabled:!0,priority:1}),N=x.useCallback(async()=>{try{d(!0),h(null);const E=localStorage.getItem("access-token"),B=await fetch("/api/webui/plugins/mirrors",{headers:{Authorization:`Bearer ${E}`}});if(!B.ok)throw new Error("获取镜像源列表失败");const Y=await B.json();i(Y.mirrors||[])}catch(E){const B=E instanceof Error?E.message:"加载镜像源失败";h(B),a({title:"加载失败",description:B,variant:"destructive"})}finally{d(!1)}},[a]);x.useEffect(()=>{N()},[N]);const T=async()=>{try{const E=localStorage.getItem("access-token"),B=await fetch("/api/webui/plugins/mirrors",{method:"POST",headers:{Authorization:`Bearer ${E}`,"Content-Type":"application/json"},body:JSON.stringify(S)});if(!B.ok){const Y=await B.json();throw new Error(Y.detail||"添加镜像源失败")}a({title:"添加成功",description:"镜像源已添加"}),j(!1),C({id:"",name:"",raw_prefix:"",clone_prefix:"",enabled:!0,priority:1}),N()}catch(E){a({title:"添加失败",description:E instanceof Error?E.message:"未知错误",variant:"destructive"})}},P=async()=>{if(p)try{const E=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${p.id}`,{method:"PUT",headers:{Authorization:`Bearer ${E}`,"Content-Type":"application/json"},body:JSON.stringify({name:S.name,raw_prefix:S.raw_prefix,clone_prefix:S.clone_prefix,enabled:S.enabled,priority:S.priority})})).ok)throw new Error("更新镜像源失败");a({title:"更新成功",description:"镜像源已更新"}),w(!1),v(null),N()}catch(E){a({title:"更新失败",description:E instanceof Error?E.message:"未知错误",variant:"destructive"})}},M=async E=>{if(confirm("确定要删除这个镜像源吗?"))try{const B=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${E}`,{method:"DELETE",headers:{Authorization:`Bearer ${B}`}})).ok)throw new Error("删除镜像源失败");a({title:"删除成功",description:"镜像源已删除"}),N()}catch(B){a({title:"删除失败",description:B instanceof Error?B.message:"未知错误",variant:"destructive"})}},k=async E=>{try{const B=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${E.id}`,{method:"PUT",headers:{Authorization:`Bearer ${B}`,"Content-Type":"application/json"},body:JSON.stringify({enabled:!E.enabled})})).ok)throw new Error("更新状态失败");N()}catch(B){a({title:"更新失败",description:B instanceof Error?B.message:"未知错误",variant:"destructive"})}},D=E=>{v(E),C({id:E.id,name:E.name,raw_prefix:E.raw_prefix,clone_prefix:E.clone_prefix,enabled:E.enabled,priority:E.priority}),w(!0)},A=async(E,B)=>{const Y=B==="up"?E.priority-1:E.priority+1;if(!(Y<1))try{const G=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${E.id}`,{method:"PUT",headers:{Authorization:`Bearer ${G}`,"Content-Type":"application/json"},body:JSON.stringify({priority:Y})})).ok)throw new Error("更新优先级失败");N()}catch(G){a({title:"更新失败",description:G instanceof Error?G.message:"未知错误",variant:"destructive"})}};return e.jsx(Ct,{className:"h-full",children:e.jsxs("div",{className:"space-y-6 p-4 sm:p-6",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(q,{variant:"ghost",size:"icon",onClick:()=>s({to:"/plugins"}),children:e.jsx(My,{className:"h-5 w-5"})}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"镜像源配置"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"管理 Git 克隆和文件下载的镜像源"})]})]}),e.jsxs(q,{onClick:()=>j(!0),children:[e.jsx(ys,{className:"h-4 w-4 mr-2"}),"添加镜像源"]})]}),c?e.jsx(Ue,{className:"p-6",children:e.jsx("div",{className:"flex items-center justify-center py-8",children:e.jsx(ro,{className:"h-8 w-8 animate-spin text-primary"})})}):m?e.jsx(Ue,{className:"p-6",children:e.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[e.jsx(Lr,{className:"h-12 w-12 text-destructive mb-4"}),e.jsx("h3",{className:"text-lg font-semibold mb-2",children:"加载失败"}),e.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:m}),e.jsx(q,{onClick:N,children:"重新加载"})]})}):e.jsxs(Ue,{children:[e.jsx("div",{className:"hidden md:block",children:e.jsxs(Rl,{children:[e.jsx(zl,{children:e.jsxs(ns,{children:[e.jsx(He,{children:"状态"}),e.jsx(He,{children:"名称"}),e.jsx(He,{children:"ID"}),e.jsx(He,{children:"优先级"}),e.jsx(He,{className:"text-right",children:"操作"})]})}),e.jsx(Pl,{children:l.map(E=>e.jsxs(ns,{children:[e.jsx(Ae,{children:e.jsx(Ze,{checked:E.enabled,onCheckedChange:()=>k(E)})}),e.jsx(Ae,{children:e.jsxs("div",{children:[e.jsx("div",{className:"font-medium",children:E.name}),e.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:["Raw: ",E.raw_prefix]})]})}),e.jsx(Ae,{children:e.jsx(_t,{variant:"outline",children:E.id})}),e.jsx(Ae,{children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"font-mono",children:E.priority}),e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx(q,{variant:"ghost",size:"icon",className:"h-5 w-5",onClick:()=>A(E,"up"),disabled:E.priority===1,children:e.jsx(Pf,{className:"h-3 w-3"})}),e.jsx(q,{variant:"ghost",size:"icon",className:"h-5 w-5",onClick:()=>A(E,"down"),children:e.jsx(lo,{className:"h-3 w-3"})})]})]})}),e.jsx(Ae,{className:"text-right",children:e.jsxs("div",{className:"flex items-center justify-end gap-2",children:[e.jsx(q,{variant:"ghost",size:"icon",onClick:()=>D(E),children:e.jsx(Yr,{className:"h-4 w-4"})}),e.jsx(q,{variant:"ghost",size:"icon",onClick:()=>M(E.id),children:e.jsx(ft,{className:"h-4 w-4 text-destructive"})})]})})]},E.id))})]})}),e.jsx("div",{className:"md:hidden p-4 space-y-4",children:l.map(E=>e.jsx(Ue,{className:"p-4",children:e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-start justify-between",children:[e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h3",{className:"font-semibold",children:E.name}),E.enabled&&e.jsx(_t,{variant:"default",className:"text-xs",children:"启用"})]}),e.jsx(_t,{variant:"outline",className:"mt-1 text-xs",children:E.id})]}),e.jsx(Ze,{checked:E.enabled,onCheckedChange:()=>k(E)})]}),e.jsxs("div",{className:"text-sm space-y-1",children:[e.jsxs("div",{className:"text-muted-foreground",children:[e.jsx("span",{className:"font-medium",children:"Raw: "}),e.jsx("span",{className:"break-all",children:E.raw_prefix})]}),e.jsxs("div",{className:"text-muted-foreground",children:[e.jsx("span",{className:"font-medium",children:"优先级: "}),e.jsx("span",{className:"font-mono",children:E.priority})]})]}),e.jsxs("div",{className:"flex items-center gap-2 pt-2 border-t",children:[e.jsxs(q,{variant:"outline",size:"sm",className:"flex-1",onClick:()=>D(E),children:[e.jsx(Yr,{className:"h-4 w-4 mr-1"}),"编辑"]}),e.jsx(q,{variant:"outline",size:"sm",onClick:()=>A(E,"up"),disabled:E.priority===1,children:e.jsx(Pf,{className:"h-4 w-4"})}),e.jsx(q,{variant:"outline",size:"sm",onClick:()=>A(E,"down"),children:e.jsx(lo,{className:"h-4 w-4"})}),e.jsx(q,{variant:"destructive",size:"sm",onClick:()=>M(E.id),children:e.jsx(ft,{className:"h-4 w-4"})})]})]})},E.id))})]}),e.jsx(bs,{open:g,onOpenChange:j,children:e.jsxs(ms,{className:"max-w-lg",children:[e.jsxs(fs,{children:[e.jsx(hs,{children:"添加镜像源"}),e.jsx(ks,{children:"添加新的 Git 镜像源配置"})]}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"add-id",children:"镜像源 ID *"}),e.jsx(pe,{id:"add-id",placeholder:"例如: my-mirror",value:S.id,onChange:E=>C({...S,id:E.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"add-name",children:"名称 *"}),e.jsx(pe,{id:"add-name",placeholder:"例如: 我的镜像源",value:S.name,onChange:E=>C({...S,name:E.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"add-raw",children:"Raw 文件前缀 *"}),e.jsx(pe,{id:"add-raw",placeholder:"https://example.com/raw",value:S.raw_prefix,onChange:E=>C({...S,raw_prefix:E.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"add-clone",children:"克隆前缀 *"}),e.jsx(pe,{id:"add-clone",placeholder:"https://example.com/clone",value:S.clone_prefix,onChange:E=>C({...S,clone_prefix:E.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"add-priority",children:"优先级"}),e.jsx(pe,{id:"add-priority",type:"number",min:"1",value:S.priority,onChange:E=>C({...S,priority:parseInt(E.target.value)||1})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"数字越小优先级越高"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ze,{id:"add-enabled",checked:S.enabled,onCheckedChange:E=>C({...S,enabled:E})}),e.jsx(U,{htmlFor:"add-enabled",children:"启用此镜像源"})]})]}),e.jsxs($s,{children:[e.jsx(q,{variant:"outline",onClick:()=>j(!1),children:"取消"}),e.jsx(q,{onClick:T,children:"添加"})]})]})}),e.jsx(bs,{open:b,onOpenChange:w,children:e.jsxs(ms,{className:"max-w-lg",children:[e.jsxs(fs,{children:[e.jsx(hs,{children:"编辑镜像源"}),e.jsx(ks,{children:"修改镜像源配置"})]}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{children:"镜像源 ID"}),e.jsx(pe,{value:S.id,disabled:!0})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"edit-name",children:"名称 *"}),e.jsx(pe,{id:"edit-name",value:S.name,onChange:E=>C({...S,name:E.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"edit-raw",children:"Raw 文件前缀 *"}),e.jsx(pe,{id:"edit-raw",value:S.raw_prefix,onChange:E=>C({...S,raw_prefix:E.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"edit-clone",children:"克隆前缀 *"}),e.jsx(pe,{id:"edit-clone",value:S.clone_prefix,onChange:E=>C({...S,clone_prefix:E.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"edit-priority",children:"优先级"}),e.jsx(pe,{id:"edit-priority",type:"number",min:"1",value:S.priority,onChange:E=>C({...S,priority:parseInt(E.target.value)||1})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"数字越小优先级越高"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ze,{id:"edit-enabled",checked:S.enabled,onCheckedChange:E=>C({...S,enabled:E})}),e.jsx(U,{htmlFor:"edit-enabled",children:"启用此镜像源"})]})]}),e.jsxs($s,{children:[e.jsx(q,{variant:"outline",onClick:()=>w(!1),children:"取消"}),e.jsx(q,{onClick:P,children:"保存"})]})]})})]})})}const v3=Jr("pointer-events-none inline-flex select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono font-medium opacity-100",{variants:{size:{sm:"h-5 text-[10px]",default:"h-6 text-xs",lg:"h-7 text-sm"}},defaultVariants:{size:"default"}}),nw=x.forwardRef(({className:s,size:a,abbrTitle:l,children:i,...c},d)=>e.jsx("kbd",{className:Z(v3({size:a,className:s})),ref:d,...c,children:l?e.jsx("abbr",{title:l,children:i}):i}));nw.displayName="Kbd";const j3=[{icon:fd,title:"首页",description:"查看仪表板概览",path:"/",category:"概览"},{icon:ph,title:"麦麦主程序配置",description:"配置麦麦的核心设置",path:"/config/bot",category:"配置"},{icon:Dy,title:"麦麦模型提供商配置",description:"配置模型提供商",path:"/config/modelProvider",category:"配置"},{icon:Oy,title:"麦麦模型配置",description:"配置模型参数",path:"/config/model",category:"配置"},{icon:gh,title:"表情包管理",description:"管理麦麦的表情包",path:"/resource/emoji",category:"资源"},{icon:po,title:"表达方式管理",description:"管理麦麦的表达方式",path:"/resource/expression",category:"资源"},{icon:Ay,title:"人物信息管理",description:"管理人物信息",path:"/resource/person",category:"资源"},{icon:V2,title:"统计信息",description:"查看使用统计",path:"/statistics",category:"监控"},{icon:pd,title:"插件市场",description:"浏览和安装插件",path:"/plugins",category:"扩展"},{icon:hd,title:"日志查看器",description:"查看系统日志",path:"/logs",category:"监控"},{icon:Tn,title:"系统设置",description:"配置系统参数",path:"/settings",category:"系统"}];function y3({open:s,onOpenChange:a}){const[l,i]=x.useState(""),[c,d]=x.useState(0),m=qn(),h=j3.filter(g=>g.title.toLowerCase().includes(l.toLowerCase())||g.description.toLowerCase().includes(l.toLowerCase())||g.category.toLowerCase().includes(l.toLowerCase()));x.useEffect(()=>{s&&(i(""),d(0))},[s]);const p=x.useCallback(g=>{m({to:g}),a(!1)},[m,a]),v=x.useCallback(g=>{g.key==="ArrowDown"?(g.preventDefault(),d(j=>(j+1)%h.length)):g.key==="ArrowUp"?(g.preventDefault(),d(j=>(j-1+h.length)%h.length)):g.key==="Enter"&&h[c]&&(g.preventDefault(),p(h[c].path))},[h,c,p]);return e.jsx(bs,{open:s,onOpenChange:a,children:e.jsxs(ms,{className:"max-w-2xl p-0 gap-0",children:[e.jsxs(fs,{className:"px-4 pt-4 pb-0",children:[e.jsx(hs,{className:"sr-only",children:"搜索"}),e.jsxs("div",{className:"relative",children:[e.jsx(Gs,{className:"absolute left-3 top-1/2 h-5 w-5 -translate-y-1/2 text-muted-foreground"}),e.jsx(pe,{value:l,onChange:g=>{i(g.target.value),d(0)},onKeyDown:v,placeholder:"搜索页面...",className:"h-12 pl-11 text-base border-0 focus-visible:ring-0 shadow-none",autoFocus:!0})]})]}),e.jsx("div",{className:"border-t",children:e.jsx(Ct,{className:"h-[400px]",children:h.length>0?e.jsx("div",{className:"p-2",children:h.map((g,j)=>{const b=g.icon;return e.jsxs("button",{onClick:()=>p(g.path),onMouseEnter:()=>d(j),className:Z("w-full flex items-center gap-3 px-3 py-2.5 rounded-md text-left transition-colors",j===c?"bg-accent text-accent-foreground":"hover:bg-accent/50"),children:[e.jsx(b,{className:"h-5 w-5 flex-shrink-0"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"font-medium text-sm",children:g.title}),e.jsx("div",{className:"text-xs text-muted-foreground truncate",children:g.description})]}),e.jsx("div",{className:"text-xs text-muted-foreground px-2 py-1 bg-muted rounded",children:g.category})]},g.path)})}):e.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[e.jsx(Gs,{className:"h-12 w-12 text-muted-foreground/50 mb-4"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:l?"未找到匹配的页面":"输入关键词开始搜索"})]})})}),e.jsx("div",{className:"border-t px-4 py-3 flex items-center justify-between text-xs text-muted-foreground",children:e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"↑"}),e.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"↓"}),"导航"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"Enter"}),"选择"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"Esc"}),"关闭"]})]})})]})})}function b3(s){const a=N3(s),l=x.forwardRef((i,c)=>{const{children:d,...m}=i,h=x.Children.toArray(d),p=h.find(S3);if(p){const v=p.props.children,g=h.map(j=>j===p?x.Children.count(v)>1?x.Children.only(null):x.isValidElement(v)?v.props.children:null:j);return e.jsx(a,{...m,ref:c,children:x.isValidElement(v)?x.cloneElement(v,void 0,g):null})}return e.jsx(a,{...m,ref:c,children:d})});return l.displayName=`${s}.Slot`,l}function N3(s){const a=x.forwardRef((l,i)=>{const{children:c,...d}=l;if(x.isValidElement(c)){const m=C3(c),h=_3(d,c.props);return c.type!==x.Fragment&&(h.ref=i?Ga(i,m):m),x.cloneElement(c,h)}return x.Children.count(c)>1?x.Children.only(null):null});return a.displayName=`${s}.SlotClone`,a}var w3=Symbol("radix.slottable");function S3(s){return x.isValidElement(s)&&typeof s.type=="function"&&"__radixId"in s.type&&s.type.__radixId===w3}function _3(s,a){const l={...a};for(const i in a){const c=s[i],d=a[i];/^on[A-Z]/.test(i)?c&&d?l[i]=(...h)=>{const p=d(...h);return c(...h),p}:c&&(l[i]=c):i==="style"?l[i]={...c,...d}:i==="className"&&(l[i]=[c,d].filter(Boolean).join(" "))}return{...s,...l}}function C3(s){let a=Object.getOwnPropertyDescriptor(s.props,"ref")?.get,l=a&&"isReactWarning"in a&&a.isReactWarning;return l?s.ref:(a=Object.getOwnPropertyDescriptor(s,"ref")?.get,l=a&&"isReactWarning"in a&&a.isReactWarning,l?s.props.ref:s.props.ref||s.ref)}var eh=["Enter"," "],k3=["ArrowDown","PageUp","Home"],aw=["ArrowUp","PageDown","End"],T3=[...k3,...aw],E3={ltr:[...eh,"ArrowRight"],rtl:[...eh,"ArrowLeft"]},M3={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Do="Menu",[mo,D3,O3]=_d(Do),[Ul,lw]=Dn(Do,[O3,Wr,Pd]),Oo=Wr(),rw=Pd(),[iw,el]=Ul(Do),[A3,Ao]=Ul(Do),ow=s=>{const{__scopeMenu:a,open:l=!1,children:i,dir:c,onOpenChange:d,modal:m=!0}=s,h=Oo(a),[p,v]=x.useState(null),g=x.useRef(!1),j=ws(d),b=xo(c);return x.useEffect(()=>{const w=()=>{g.current=!0,document.addEventListener("pointerdown",S,{capture:!0,once:!0}),document.addEventListener("pointermove",S,{capture:!0,once:!0})},S=()=>g.current=!1;return document.addEventListener("keydown",w,{capture:!0}),()=>{document.removeEventListener("keydown",w,{capture:!0}),document.removeEventListener("pointerdown",S,{capture:!0}),document.removeEventListener("pointermove",S,{capture:!0})}},[]),e.jsx(Ed,{...h,children:e.jsx(iw,{scope:a,open:l,onOpenChange:j,content:p,onContentChange:v,children:e.jsx(A3,{scope:a,onClose:x.useCallback(()=>j(!1),[j]),isUsingKeyboardRef:g,dir:b,modal:m,children:i})})})};ow.displayName=Do;var R3="MenuAnchor",qh=x.forwardRef((s,a)=>{const{__scopeMenu:l,...i}=s,c=Oo(l);return e.jsx(Md,{...c,...i,ref:a})});qh.displayName=R3;var Vh="MenuPortal",[z3,cw]=Ul(Vh,{forceMount:void 0}),dw=s=>{const{__scopeMenu:a,forceMount:l,children:i,container:c}=s,d=el(Vh,a);return e.jsx(z3,{scope:a,forceMount:l,children:e.jsx(Is,{present:l||d.open,children:e.jsx(Td,{asChild:!0,container:c,children:i})})})};dw.displayName=Vh;var yn="MenuContent",[P3,Gh]=Ul(yn),uw=x.forwardRef((s,a)=>{const l=cw(yn,s.__scopeMenu),{forceMount:i=l.forceMount,...c}=s,d=el(yn,s.__scopeMenu),m=Ao(yn,s.__scopeMenu);return e.jsx(mo.Provider,{scope:s.__scopeMenu,children:e.jsx(Is,{present:i||d.open,children:e.jsx(mo.Slot,{scope:s.__scopeMenu,children:m.modal?e.jsx(L3,{...c,ref:a}):e.jsx(B3,{...c,ref:a})})})})}),L3=x.forwardRef((s,a)=>{const l=el(yn,s.__scopeMenu),i=x.useRef(null),c=Tt(a,i);return x.useEffect(()=>{const d=i.current;if(d)return by(d)},[]),e.jsx($h,{...s,ref:c,trapFocus:l.open,disableOutsidePointerEvents:l.open,disableOutsideScroll:!0,onFocusOutside:be(s.onFocusOutside,d=>d.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>l.onOpenChange(!1)})}),B3=x.forwardRef((s,a)=>{const l=el(yn,s.__scopeMenu);return e.jsx($h,{...s,ref:a,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>l.onOpenChange(!1)})}),U3=b3("MenuContent.ScrollLock"),$h=x.forwardRef((s,a)=>{const{__scopeMenu:l,loop:i=!1,trapFocus:c,onOpenAutoFocus:d,onCloseAutoFocus:m,disableOutsidePointerEvents:h,onEntryFocus:p,onEscapeKeyDown:v,onPointerDownOutside:g,onFocusOutside:j,onInteractOutside:b,onDismiss:w,disableOutsideScroll:S,...C}=s,N=el(yn,l),T=Ao(yn,l),P=Oo(l),M=rw(l),k=D3(l),[D,A]=x.useState(null),E=x.useRef(null),B=Tt(a,E,N.onContentChange),Y=x.useRef(0),G=x.useRef(""),$=x.useRef(0),oe=x.useRef(null),je=x.useRef("right"),ae=x.useRef(0),me=S?Ny:x.Fragment,R=S?{as:U3,allowPinchZoom:!0}:void 0,O=ee=>{const le=G.current+ee,xe=k().filter(de=>!de.disabled),F=document.activeElement,W=xe.find(de=>de.ref.current===F)?.textValue,fe=xe.map(de=>de.textValue),I=Q3(fe,le,W),ve=xe.find(de=>de.textValue===I)?.ref.current;(function de(Ce){G.current=Ce,window.clearTimeout(Y.current),Ce!==""&&(Y.current=window.setTimeout(()=>de(""),1e3))})(le),ve&&setTimeout(()=>ve.focus())};x.useEffect(()=>()=>window.clearTimeout(Y.current),[]),wy();const L=x.useCallback(ee=>je.current===oe.current?.side&&J3(ee,oe.current?.area),[]);return e.jsx(P3,{scope:l,searchRef:G,onItemEnter:x.useCallback(ee=>{L(ee)&&ee.preventDefault()},[L]),onItemLeave:x.useCallback(ee=>{L(ee)||(E.current?.focus(),A(null))},[L]),onTriggerLeave:x.useCallback(ee=>{L(ee)&&ee.preventDefault()},[L]),pointerGraceTimerRef:$,onPointerGraceIntentChange:x.useCallback(ee=>{oe.current=ee},[]),children:e.jsx(me,{...R,children:e.jsx(Sy,{asChild:!0,trapped:c,onMountAutoFocus:be(d,ee=>{ee.preventDefault(),E.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:m,children:e.jsx(fh,{asChild:!0,disableOutsidePointerEvents:h,onEscapeKeyDown:v,onPointerDownOutside:g,onFocusOutside:j,onInteractOutside:b,onDismiss:w,children:e.jsx(Nb,{asChild:!0,...M,dir:T.dir,orientation:"vertical",loop:i,currentTabStopId:D,onCurrentTabStopIdChange:A,onEntryFocus:be(p,ee=>{T.isUsingKeyboardRef.current||ee.preventDefault()}),preventScrollOnEntryFocus:!0,children:e.jsx(hh,{role:"menu","aria-orientation":"vertical","data-state":Tw(N.open),"data-radix-menu-content":"",dir:T.dir,...P,...C,ref:B,style:{outline:"none",...C.style},onKeyDown:be(C.onKeyDown,ee=>{const xe=ee.target.closest("[data-radix-menu-content]")===ee.currentTarget,F=ee.ctrlKey||ee.altKey||ee.metaKey,W=ee.key.length===1;xe&&(ee.key==="Tab"&&ee.preventDefault(),!F&&W&&O(ee.key));const fe=E.current;if(ee.target!==fe||!T3.includes(ee.key))return;ee.preventDefault();const ve=k().filter(de=>!de.disabled).map(de=>de.ref.current);aw.includes(ee.key)&&ve.reverse(),X3(ve)}),onBlur:be(s.onBlur,ee=>{ee.currentTarget.contains(ee.target)||(window.clearTimeout(Y.current),G.current="")}),onPointerMove:be(s.onPointerMove,fo(ee=>{const le=ee.target,xe=ae.current!==ee.clientX;if(ee.currentTarget.contains(le)&&xe){const F=ee.clientX>ae.current?"right":"left";je.current=F,ae.current=ee.clientX}}))})})})})})})});uw.displayName=yn;var H3="MenuGroup",Ih=x.forwardRef((s,a)=>{const{__scopeMenu:l,...i}=s;return e.jsx(dt.div,{role:"group",...i,ref:a})});Ih.displayName=H3;var F3="MenuLabel",mw=x.forwardRef((s,a)=>{const{__scopeMenu:l,...i}=s;return e.jsx(dt.div,{...i,ref:a})});mw.displayName=F3;var wd="MenuItem",ay="menu.itemSelect",Wd=x.forwardRef((s,a)=>{const{disabled:l=!1,onSelect:i,...c}=s,d=x.useRef(null),m=Ao(wd,s.__scopeMenu),h=Gh(wd,s.__scopeMenu),p=Tt(a,d),v=x.useRef(!1),g=()=>{const j=d.current;if(!l&&j){const b=new CustomEvent(ay,{bubbles:!0,cancelable:!0});j.addEventListener(ay,w=>i?.(w),{once:!0}),Cy(j,b),b.defaultPrevented?v.current=!1:m.onClose()}};return e.jsx(fw,{...c,ref:p,disabled:l,onClick:be(s.onClick,g),onPointerDown:j=>{s.onPointerDown?.(j),v.current=!0},onPointerUp:be(s.onPointerUp,j=>{v.current||j.currentTarget?.click()}),onKeyDown:be(s.onKeyDown,j=>{const b=h.searchRef.current!=="";l||b&&j.key===" "||eh.includes(j.key)&&(j.currentTarget.click(),j.preventDefault())})})});Wd.displayName=wd;var fw=x.forwardRef((s,a)=>{const{__scopeMenu:l,disabled:i=!1,textValue:c,...d}=s,m=Gh(wd,l),h=rw(l),p=x.useRef(null),v=Tt(a,p),[g,j]=x.useState(!1),[b,w]=x.useState("");return x.useEffect(()=>{const S=p.current;S&&w((S.textContent??"").trim())},[d.children]),e.jsx(mo.ItemSlot,{scope:l,disabled:i,textValue:c??b,children:e.jsx(wb,{asChild:!0,...h,focusable:!i,children:e.jsx(dt.div,{role:"menuitem","data-highlighted":g?"":void 0,"aria-disabled":i||void 0,"data-disabled":i?"":void 0,...d,ref:v,onPointerMove:be(s.onPointerMove,fo(S=>{i?m.onItemLeave(S):(m.onItemEnter(S),S.defaultPrevented||S.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:be(s.onPointerLeave,fo(S=>m.onItemLeave(S))),onFocus:be(s.onFocus,()=>j(!0)),onBlur:be(s.onBlur,()=>j(!1))})})})}),Y3="MenuCheckboxItem",hw=x.forwardRef((s,a)=>{const{checked:l=!1,onCheckedChange:i,...c}=s;return e.jsx(jw,{scope:s.__scopeMenu,checked:l,children:e.jsx(Wd,{role:"menuitemcheckbox","aria-checked":Sd(l)?"mixed":l,...c,ref:a,"data-state":Kh(l),onSelect:be(c.onSelect,()=>i?.(Sd(l)?!0:!l),{checkForDefaultPrevented:!1})})})});hw.displayName=Y3;var xw="MenuRadioGroup",[q3,V3]=Ul(xw,{value:void 0,onValueChange:()=>{}}),pw=x.forwardRef((s,a)=>{const{value:l,onValueChange:i,...c}=s,d=ws(i);return e.jsx(q3,{scope:s.__scopeMenu,value:l,onValueChange:d,children:e.jsx(Ih,{...c,ref:a})})});pw.displayName=xw;var gw="MenuRadioItem",vw=x.forwardRef((s,a)=>{const{value:l,...i}=s,c=V3(gw,s.__scopeMenu),d=l===c.value;return e.jsx(jw,{scope:s.__scopeMenu,checked:d,children:e.jsx(Wd,{role:"menuitemradio","aria-checked":d,...i,ref:a,"data-state":Kh(d),onSelect:be(i.onSelect,()=>c.onValueChange?.(l),{checkForDefaultPrevented:!1})})})});vw.displayName=gw;var Wh="MenuItemIndicator",[jw,G3]=Ul(Wh,{checked:!1}),yw=x.forwardRef((s,a)=>{const{__scopeMenu:l,forceMount:i,...c}=s,d=G3(Wh,l);return e.jsx(Is,{present:i||Sd(d.checked)||d.checked===!0,children:e.jsx(dt.span,{...c,ref:a,"data-state":Kh(d.checked)})})});yw.displayName=Wh;var $3="MenuSeparator",bw=x.forwardRef((s,a)=>{const{__scopeMenu:l,...i}=s;return e.jsx(dt.div,{role:"separator","aria-orientation":"horizontal",...i,ref:a})});bw.displayName=$3;var I3="MenuArrow",Nw=x.forwardRef((s,a)=>{const{__scopeMenu:l,...i}=s,c=Oo(l);return e.jsx(xh,{...c,...i,ref:a})});Nw.displayName=I3;var Xh="MenuSub",[W3,ww]=Ul(Xh),Sw=s=>{const{__scopeMenu:a,children:l,open:i=!1,onOpenChange:c}=s,d=el(Xh,a),m=Oo(a),[h,p]=x.useState(null),[v,g]=x.useState(null),j=ws(c);return x.useEffect(()=>(d.open===!1&&j(!1),()=>j(!1)),[d.open,j]),e.jsx(Ed,{...m,children:e.jsx(iw,{scope:a,open:i,onOpenChange:j,content:v,onContentChange:g,children:e.jsx(W3,{scope:a,contentId:jn(),triggerId:jn(),trigger:h,onTriggerChange:p,children:l})})})};Sw.displayName=Xh;var eo="MenuSubTrigger",_w=x.forwardRef((s,a)=>{const l=el(eo,s.__scopeMenu),i=Ao(eo,s.__scopeMenu),c=ww(eo,s.__scopeMenu),d=Gh(eo,s.__scopeMenu),m=x.useRef(null),{pointerGraceTimerRef:h,onPointerGraceIntentChange:p}=d,v={__scopeMenu:s.__scopeMenu},g=x.useCallback(()=>{m.current&&window.clearTimeout(m.current),m.current=null},[]);return x.useEffect(()=>g,[g]),x.useEffect(()=>{const j=h.current;return()=>{window.clearTimeout(j),p(null)}},[h,p]),e.jsx(qh,{asChild:!0,...v,children:e.jsx(fw,{id:c.triggerId,"aria-haspopup":"menu","aria-expanded":l.open,"aria-controls":c.contentId,"data-state":Tw(l.open),...s,ref:Ga(a,c.onTriggerChange),onClick:j=>{s.onClick?.(j),!(s.disabled||j.defaultPrevented)&&(j.currentTarget.focus(),l.open||l.onOpenChange(!0))},onPointerMove:be(s.onPointerMove,fo(j=>{d.onItemEnter(j),!j.defaultPrevented&&!s.disabled&&!l.open&&!m.current&&(d.onPointerGraceIntentChange(null),m.current=window.setTimeout(()=>{l.onOpenChange(!0),g()},100))})),onPointerLeave:be(s.onPointerLeave,fo(j=>{g();const b=l.content?.getBoundingClientRect();if(b){const w=l.content?.dataset.side,S=w==="right",C=S?-5:5,N=b[S?"left":"right"],T=b[S?"right":"left"];d.onPointerGraceIntentChange({area:[{x:j.clientX+C,y:j.clientY},{x:N,y:b.top},{x:T,y:b.top},{x:T,y:b.bottom},{x:N,y:b.bottom}],side:w}),window.clearTimeout(h.current),h.current=window.setTimeout(()=>d.onPointerGraceIntentChange(null),300)}else{if(d.onTriggerLeave(j),j.defaultPrevented)return;d.onPointerGraceIntentChange(null)}})),onKeyDown:be(s.onKeyDown,j=>{const b=d.searchRef.current!=="";s.disabled||b&&j.key===" "||E3[i.dir].includes(j.key)&&(l.onOpenChange(!0),l.content?.focus(),j.preventDefault())})})})});_w.displayName=eo;var Cw="MenuSubContent",kw=x.forwardRef((s,a)=>{const l=cw(yn,s.__scopeMenu),{forceMount:i=l.forceMount,...c}=s,d=el(yn,s.__scopeMenu),m=Ao(yn,s.__scopeMenu),h=ww(Cw,s.__scopeMenu),p=x.useRef(null),v=Tt(a,p);return e.jsx(mo.Provider,{scope:s.__scopeMenu,children:e.jsx(Is,{present:i||d.open,children:e.jsx(mo.Slot,{scope:s.__scopeMenu,children:e.jsx($h,{id:h.contentId,"aria-labelledby":h.triggerId,...c,ref:v,align:"start",side:m.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:g=>{m.isUsingKeyboardRef.current&&p.current?.focus(),g.preventDefault()},onCloseAutoFocus:g=>g.preventDefault(),onFocusOutside:be(s.onFocusOutside,g=>{g.target!==h.trigger&&d.onOpenChange(!1)}),onEscapeKeyDown:be(s.onEscapeKeyDown,g=>{m.onClose(),g.preventDefault()}),onKeyDown:be(s.onKeyDown,g=>{const j=g.currentTarget.contains(g.target),b=M3[m.dir].includes(g.key);j&&b&&(d.onOpenChange(!1),h.trigger?.focus(),g.preventDefault())})})})})})});kw.displayName=Cw;function Tw(s){return s?"open":"closed"}function Sd(s){return s==="indeterminate"}function Kh(s){return Sd(s)?"indeterminate":s?"checked":"unchecked"}function X3(s){const a=document.activeElement;for(const l of s)if(l===a||(l.focus(),document.activeElement!==a))return}function K3(s,a){return s.map((l,i)=>s[(a+i)%s.length])}function Q3(s,a,l){const c=a.length>1&&Array.from(a).every(v=>v===a[0])?a[0]:a,d=l?s.indexOf(l):-1;let m=K3(s,Math.max(d,0));c.length===1&&(m=m.filter(v=>v!==l));const p=m.find(v=>v.toLowerCase().startsWith(c.toLowerCase()));return p!==l?p:void 0}function Z3(s,a){const{x:l,y:i}=s;let c=!1;for(let d=0,m=a.length-1;di!=b>i&&l<(j-v)*(i-g)/(b-g)+v&&(c=!c)}return c}function J3(s,a){if(!a)return!1;const l={x:s.clientX,y:s.clientY};return Z3(l,a)}function fo(s){return a=>a.pointerType==="mouse"?s(a):void 0}var e5=ow,t5=qh,s5=dw,n5=uw,a5=Ih,l5=mw,r5=Wd,i5=hw,o5=pw,c5=vw,d5=yw,u5=bw,m5=Nw,f5=Sw,h5=_w,x5=kw,Qh="ContextMenu",[p5]=Dn(Qh,[lw]),Ms=lw(),[g5,Ew]=p5(Qh),Mw=s=>{const{__scopeContextMenu:a,children:l,onOpenChange:i,dir:c,modal:d=!0}=s,[m,h]=x.useState(!1),p=Ms(a),v=ws(i),g=x.useCallback(j=>{h(j),v(j)},[v]);return e.jsx(g5,{scope:a,open:m,onOpenChange:g,modal:d,children:e.jsx(e5,{...p,dir:c,open:m,onOpenChange:g,modal:d,children:l})})};Mw.displayName=Qh;var Dw="ContextMenuTrigger",Ow=x.forwardRef((s,a)=>{const{__scopeContextMenu:l,disabled:i=!1,...c}=s,d=Ew(Dw,l),m=Ms(l),h=x.useRef({x:0,y:0}),p=x.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...h.current})}),v=x.useRef(0),g=x.useCallback(()=>window.clearTimeout(v.current),[]),j=b=>{h.current={x:b.clientX,y:b.clientY},d.onOpenChange(!0)};return x.useEffect(()=>g,[g]),x.useEffect(()=>void(i&&g()),[i,g]),e.jsxs(e.Fragment,{children:[e.jsx(t5,{...m,virtualRef:p}),e.jsx(dt.span,{"data-state":d.open?"open":"closed","data-disabled":i?"":void 0,...c,ref:a,style:{WebkitTouchCallout:"none",...s.style},onContextMenu:i?s.onContextMenu:be(s.onContextMenu,b=>{g(),j(b),b.preventDefault()}),onPointerDown:i?s.onPointerDown:be(s.onPointerDown,ld(b=>{g(),v.current=window.setTimeout(()=>j(b),700)})),onPointerMove:i?s.onPointerMove:be(s.onPointerMove,ld(g)),onPointerCancel:i?s.onPointerCancel:be(s.onPointerCancel,ld(g)),onPointerUp:i?s.onPointerUp:be(s.onPointerUp,ld(g))})]})});Ow.displayName=Dw;var v5="ContextMenuPortal",Aw=s=>{const{__scopeContextMenu:a,...l}=s,i=Ms(a);return e.jsx(s5,{...i,...l})};Aw.displayName=v5;var Rw="ContextMenuContent",zw=x.forwardRef((s,a)=>{const{__scopeContextMenu:l,...i}=s,c=Ew(Rw,l),d=Ms(l),m=x.useRef(!1);return e.jsx(n5,{...d,...i,ref:a,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:h=>{s.onCloseAutoFocus?.(h),!h.defaultPrevented&&m.current&&h.preventDefault(),m.current=!1},onInteractOutside:h=>{s.onInteractOutside?.(h),!h.defaultPrevented&&!c.modal&&(m.current=!0)},style:{...s.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});zw.displayName=Rw;var j5="ContextMenuGroup",y5=x.forwardRef((s,a)=>{const{__scopeContextMenu:l,...i}=s,c=Ms(l);return e.jsx(a5,{...c,...i,ref:a})});y5.displayName=j5;var b5="ContextMenuLabel",Pw=x.forwardRef((s,a)=>{const{__scopeContextMenu:l,...i}=s,c=Ms(l);return e.jsx(l5,{...c,...i,ref:a})});Pw.displayName=b5;var N5="ContextMenuItem",Lw=x.forwardRef((s,a)=>{const{__scopeContextMenu:l,...i}=s,c=Ms(l);return e.jsx(r5,{...c,...i,ref:a})});Lw.displayName=N5;var w5="ContextMenuCheckboxItem",Bw=x.forwardRef((s,a)=>{const{__scopeContextMenu:l,...i}=s,c=Ms(l);return e.jsx(i5,{...c,...i,ref:a})});Bw.displayName=w5;var S5="ContextMenuRadioGroup",_5=x.forwardRef((s,a)=>{const{__scopeContextMenu:l,...i}=s,c=Ms(l);return e.jsx(o5,{...c,...i,ref:a})});_5.displayName=S5;var C5="ContextMenuRadioItem",Uw=x.forwardRef((s,a)=>{const{__scopeContextMenu:l,...i}=s,c=Ms(l);return e.jsx(c5,{...c,...i,ref:a})});Uw.displayName=C5;var k5="ContextMenuItemIndicator",Hw=x.forwardRef((s,a)=>{const{__scopeContextMenu:l,...i}=s,c=Ms(l);return e.jsx(d5,{...c,...i,ref:a})});Hw.displayName=k5;var T5="ContextMenuSeparator",Fw=x.forwardRef((s,a)=>{const{__scopeContextMenu:l,...i}=s,c=Ms(l);return e.jsx(u5,{...c,...i,ref:a})});Fw.displayName=T5;var E5="ContextMenuArrow",M5=x.forwardRef((s,a)=>{const{__scopeContextMenu:l,...i}=s,c=Ms(l);return e.jsx(m5,{...c,...i,ref:a})});M5.displayName=E5;var Yw="ContextMenuSub",qw=s=>{const{__scopeContextMenu:a,children:l,onOpenChange:i,open:c,defaultOpen:d}=s,m=Ms(a),[h,p]=Qa({prop:c,defaultProp:d??!1,onChange:i,caller:Yw});return e.jsx(f5,{...m,open:h,onOpenChange:p,children:l})};qw.displayName=Yw;var D5="ContextMenuSubTrigger",Vw=x.forwardRef((s,a)=>{const{__scopeContextMenu:l,...i}=s,c=Ms(l);return e.jsx(h5,{...c,...i,ref:a})});Vw.displayName=D5;var O5="ContextMenuSubContent",Gw=x.forwardRef((s,a)=>{const{__scopeContextMenu:l,...i}=s,c=Ms(l);return e.jsx(x5,{...c,...i,ref:a,style:{...s.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Gw.displayName=O5;function ld(s){return a=>a.pointerType!=="mouse"?s(a):void 0}var A5=Mw,R5=Ow,z5=Aw,$w=zw,Iw=Pw,Ww=Lw,Xw=Bw,Kw=Uw,Qw=Hw,Zw=Fw,P5=qw,Jw=Vw,e1=Gw;const L5=A5,B5=R5,U5=P5,t1=x.forwardRef(({className:s,inset:a,children:l,...i},c)=>e.jsxs(Jw,{ref:c,className:Z("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",a&&"pl-8",s),...i,children:[l,e.jsx(Al,{className:"ml-auto h-4 w-4"})]}));t1.displayName=Jw.displayName;const s1=x.forwardRef(({className:s,...a},l)=>e.jsx(e1,{ref:l,className:Z("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-context-menu-content-transform-origin]",s),...a}));s1.displayName=e1.displayName;const n1=x.forwardRef(({className:s,...a},l)=>e.jsx(z5,{children:e.jsx($w,{ref:l,className:Z("z-50 max-h-[--radix-context-menu-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-context-menu-content-transform-origin]",s),...a})}));n1.displayName=$w.displayName;const kn=x.forwardRef(({className:s,inset:a,...l},i)=>e.jsx(Ww,{ref:i,className:Z("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a&&"pl-8",s),...l}));kn.displayName=Ww.displayName;const H5=x.forwardRef(({className:s,children:a,checked:l,...i},c)=>e.jsxs(Xw,{ref:c,className:Z("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",s),checked:l,...i,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(Qw,{children:e.jsx(Cl,{className:"h-4 w-4"})})}),a]}));H5.displayName=Xw.displayName;const F5=x.forwardRef(({className:s,children:a,...l},i)=>e.jsxs(Kw,{ref:i,className:Z("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",s),...l,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(Qw,{children:e.jsx(G2,{className:"h-2 w-2 fill-current"})})}),a]}));F5.displayName=Kw.displayName;const Y5=x.forwardRef(({className:s,inset:a,...l},i)=>e.jsx(Iw,{ref:i,className:Z("px-2 py-1.5 text-sm font-semibold text-foreground",a&&"pl-8",s),...l}));Y5.displayName=Iw.displayName;const to=x.forwardRef(({className:s,...a},l)=>e.jsx(Zw,{ref:l,className:Z("-mx-1 my-1 h-px bg-border",s),...a}));to.displayName=Zw.displayName;const Pr=({className:s,...a})=>e.jsx("span",{className:Z("ml-auto text-xs tracking-widest text-muted-foreground",s),...a});Pr.displayName="ContextMenuShortcut";var q5=Symbol("radix.slottable");function V5(s){const a=({children:l})=>e.jsx(e.Fragment,{children:l});return a.displayName=`${s}.Slottable`,a.__radixId=q5,a}var[Xd]=Dn("Tooltip",[Wr]),Kd=Wr(),a1="TooltipProvider",G5=700,th="tooltip.open",[$5,Zh]=Xd(a1),l1=s=>{const{__scopeTooltip:a,delayDuration:l=G5,skipDelayDuration:i=300,disableHoverableContent:c=!1,children:d}=s,m=x.useRef(!0),h=x.useRef(!1),p=x.useRef(0);return x.useEffect(()=>{const v=p.current;return()=>window.clearTimeout(v)},[]),e.jsx($5,{scope:a,isOpenDelayedRef:m,delayDuration:l,onOpen:x.useCallback(()=>{window.clearTimeout(p.current),m.current=!1},[]),onClose:x.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>m.current=!0,i)},[i]),isPointerInTransitRef:h,onPointerInTransitChange:x.useCallback(v=>{h.current=v},[]),disableHoverableContent:c,children:d})};l1.displayName=a1;var ho="Tooltip",[I5,Ro]=Xd(ho),r1=s=>{const{__scopeTooltip:a,children:l,open:i,defaultOpen:c,onOpenChange:d,disableHoverableContent:m,delayDuration:h}=s,p=Zh(ho,s.__scopeTooltip),v=Kd(a),[g,j]=x.useState(null),b=jn(),w=x.useRef(0),S=m??p.disableHoverableContent,C=h??p.delayDuration,N=x.useRef(!1),[T,P]=Qa({prop:i,defaultProp:c??!1,onChange:E=>{E?(p.onOpen(),document.dispatchEvent(new CustomEvent(th))):p.onClose(),d?.(E)},caller:ho}),M=x.useMemo(()=>T?N.current?"delayed-open":"instant-open":"closed",[T]),k=x.useCallback(()=>{window.clearTimeout(w.current),w.current=0,N.current=!1,P(!0)},[P]),D=x.useCallback(()=>{window.clearTimeout(w.current),w.current=0,P(!1)},[P]),A=x.useCallback(()=>{window.clearTimeout(w.current),w.current=window.setTimeout(()=>{N.current=!0,P(!0),w.current=0},C)},[C,P]);return x.useEffect(()=>()=>{w.current&&(window.clearTimeout(w.current),w.current=0)},[]),e.jsx(Ed,{...v,children:e.jsx(I5,{scope:a,contentId:b,open:T,stateAttribute:M,trigger:g,onTriggerChange:j,onTriggerEnter:x.useCallback(()=>{p.isOpenDelayedRef.current?A():k()},[p.isOpenDelayedRef,A,k]),onTriggerLeave:x.useCallback(()=>{S?D():(window.clearTimeout(w.current),w.current=0)},[D,S]),onOpen:k,onClose:D,disableHoverableContent:S,children:l})})};r1.displayName=ho;var sh="TooltipTrigger",i1=x.forwardRef((s,a)=>{const{__scopeTooltip:l,...i}=s,c=Ro(sh,l),d=Zh(sh,l),m=Kd(l),h=x.useRef(null),p=Tt(a,h,c.onTriggerChange),v=x.useRef(!1),g=x.useRef(!1),j=x.useCallback(()=>v.current=!1,[]);return x.useEffect(()=>()=>document.removeEventListener("pointerup",j),[j]),e.jsx(Md,{asChild:!0,...m,children:e.jsx(dt.button,{"aria-describedby":c.open?c.contentId:void 0,"data-state":c.stateAttribute,...i,ref:p,onPointerMove:be(s.onPointerMove,b=>{b.pointerType!=="touch"&&!g.current&&!d.isPointerInTransitRef.current&&(c.onTriggerEnter(),g.current=!0)}),onPointerLeave:be(s.onPointerLeave,()=>{c.onTriggerLeave(),g.current=!1}),onPointerDown:be(s.onPointerDown,()=>{c.open&&c.onClose(),v.current=!0,document.addEventListener("pointerup",j,{once:!0})}),onFocus:be(s.onFocus,()=>{v.current||c.onOpen()}),onBlur:be(s.onBlur,c.onClose),onClick:be(s.onClick,c.onClose)})})});i1.displayName=sh;var Jh="TooltipPortal",[W5,X5]=Xd(Jh,{forceMount:void 0}),o1=s=>{const{__scopeTooltip:a,forceMount:l,children:i,container:c}=s,d=Ro(Jh,a);return e.jsx(W5,{scope:a,forceMount:l,children:e.jsx(Is,{present:l||d.open,children:e.jsx(Td,{asChild:!0,container:c,children:i})})})};o1.displayName=Jh;var Ir="TooltipContent",c1=x.forwardRef((s,a)=>{const l=X5(Ir,s.__scopeTooltip),{forceMount:i=l.forceMount,side:c="top",...d}=s,m=Ro(Ir,s.__scopeTooltip);return e.jsx(Is,{present:i||m.open,children:m.disableHoverableContent?e.jsx(d1,{side:c,...d,ref:a}):e.jsx(K5,{side:c,...d,ref:a})})}),K5=x.forwardRef((s,a)=>{const l=Ro(Ir,s.__scopeTooltip),i=Zh(Ir,s.__scopeTooltip),c=x.useRef(null),d=Tt(a,c),[m,h]=x.useState(null),{trigger:p,onClose:v}=l,g=c.current,{onPointerInTransitChange:j}=i,b=x.useCallback(()=>{h(null),j(!1)},[j]),w=x.useCallback((S,C)=>{const N=S.currentTarget,T={x:S.clientX,y:S.clientY},P=tz(T,N.getBoundingClientRect()),M=sz(T,P),k=nz(C.getBoundingClientRect()),D=lz([...M,...k]);h(D),j(!0)},[j]);return x.useEffect(()=>()=>b(),[b]),x.useEffect(()=>{if(p&&g){const S=N=>w(N,g),C=N=>w(N,p);return p.addEventListener("pointerleave",S),g.addEventListener("pointerleave",C),()=>{p.removeEventListener("pointerleave",S),g.removeEventListener("pointerleave",C)}}},[p,g,w,b]),x.useEffect(()=>{if(m){const S=C=>{const N=C.target,T={x:C.clientX,y:C.clientY},P=p?.contains(N)||g?.contains(N),M=!az(T,m);P?b():M&&(b(),v())};return document.addEventListener("pointermove",S),()=>document.removeEventListener("pointermove",S)}},[p,g,m,v,b]),e.jsx(d1,{...s,ref:d})}),[Q5,Z5]=Xd(ho,{isInside:!1}),J5=V5("TooltipContent"),d1=x.forwardRef((s,a)=>{const{__scopeTooltip:l,children:i,"aria-label":c,onEscapeKeyDown:d,onPointerDownOutside:m,...h}=s,p=Ro(Ir,l),v=Kd(l),{onClose:g}=p;return x.useEffect(()=>(document.addEventListener(th,g),()=>document.removeEventListener(th,g)),[g]),x.useEffect(()=>{if(p.trigger){const j=b=>{b.target?.contains(p.trigger)&&g()};return window.addEventListener("scroll",j,{capture:!0}),()=>window.removeEventListener("scroll",j,{capture:!0})}},[p.trigger,g]),e.jsx(fh,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:d,onPointerDownOutside:m,onFocusOutside:j=>j.preventDefault(),onDismiss:g,children:e.jsxs(hh,{"data-state":p.stateAttribute,...v,...h,ref:a,style:{...h.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[e.jsx(J5,{children:i}),e.jsx(Q5,{scope:l,isInside:!0,children:e.jsx(w2,{id:p.contentId,role:"tooltip",children:c||i})})]})})});c1.displayName=Ir;var u1="TooltipArrow",ez=x.forwardRef((s,a)=>{const{__scopeTooltip:l,...i}=s,c=Kd(l);return Z5(u1,l).isInside?null:e.jsx(xh,{...c,...i,ref:a})});ez.displayName=u1;function tz(s,a){const l=Math.abs(a.top-s.y),i=Math.abs(a.bottom-s.y),c=Math.abs(a.right-s.x),d=Math.abs(a.left-s.x);switch(Math.min(l,i,c,d)){case d:return"left";case c:return"right";case l:return"top";case i:return"bottom";default:throw new Error("unreachable")}}function sz(s,a,l=5){const i=[];switch(a){case"top":i.push({x:s.x-l,y:s.y+l},{x:s.x+l,y:s.y+l});break;case"bottom":i.push({x:s.x-l,y:s.y-l},{x:s.x+l,y:s.y-l});break;case"left":i.push({x:s.x+l,y:s.y-l},{x:s.x+l,y:s.y+l});break;case"right":i.push({x:s.x-l,y:s.y-l},{x:s.x-l,y:s.y+l});break}return i}function nz(s){const{top:a,right:l,bottom:i,left:c}=s;return[{x:c,y:a},{x:l,y:a},{x:l,y:i},{x:c,y:i}]}function az(s,a){const{x:l,y:i}=s;let c=!1;for(let d=0,m=a.length-1;di!=b>i&&l<(j-v)*(i-g)/(b-g)+v&&(c=!c)}return c}function lz(s){const a=s.slice();return a.sort((l,i)=>l.xi.x?1:l.yi.y?1:0),rz(a)}function rz(s){if(s.length<=1)return s.slice();const a=[];for(let i=0;i=2;){const d=a[a.length-1],m=a[a.length-2];if((d.x-m.x)*(c.y-m.y)>=(d.y-m.y)*(c.x-m.x))a.pop();else break}a.push(c)}a.pop();const l=[];for(let i=s.length-1;i>=0;i--){const c=s[i];for(;l.length>=2;){const d=l[l.length-1],m=l[l.length-2];if((d.x-m.x)*(c.y-m.y)>=(d.y-m.y)*(c.x-m.x))l.pop();else break}l.push(c)}return l.pop(),a.length===1&&l.length===1&&a[0].x===l[0].x&&a[0].y===l[0].y?a:a.concat(l)}var iz=l1,oz=r1,cz=i1,dz=o1,m1=c1;const uz=iz,mz=oz,fz=cz,f1=x.forwardRef(({className:s,sideOffset:a=4,...l},i)=>e.jsx(dz,{children:e.jsx(m1,{ref:i,sideOffset:a,className:Z("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",s),...l})}));f1.displayName=m1.displayName;function hz({children:s}){VE();const[a,l]=x.useState(!0),[i,c]=x.useState(!1),[d,m]=x.useState(!1),{theme:h,setTheme:p}=Oh(),v=K_(),g=qn();x.useEffect(()=>{const C=N=>{(N.metaKey||N.ctrlKey)&&N.key==="k"&&(N.preventDefault(),m(!0))};return window.addEventListener("keydown",C),()=>window.removeEventListener("keydown",C)},[]);const j=[{title:"概览",items:[{icon:fd,label:"首页",path:"/"}]},{title:"麦麦配置编辑",items:[{icon:ph,label:"麦麦主程序配置",path:"/config/bot"},{icon:Dy,label:"麦麦模型提供商配置",path:"/config/modelProvider"},{icon:Oy,label:"麦麦模型配置",path:"/config/model"}]},{title:"麦麦资源管理",items:[{icon:gh,label:"表情包管理",path:"/resource/emoji"},{icon:po,label:"表达方式管理",path:"/resource/expression"},{icon:Ay,label:"人物信息管理",path:"/resource/person"}]},{title:"扩展与监控",items:[{icon:pd,label:"插件市场",path:"/plugins"},{icon:$2,label:"插件配置",path:"/plugin-config"},{icon:hd,label:"日志查看器",path:"/logs"}]},{title:"系统",items:[{icon:Tn,label:"系统设置",path:"/settings"}]}],w=h==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":h,S=()=>{localStorage.removeItem("access-token"),g({to:"/auth"})};return e.jsx(uz,{delayDuration:300,children:e.jsxs("div",{className:"flex h-screen overflow-hidden",children:[e.jsxs("aside",{className:Z("fixed inset-y-0 left-0 z-50 flex flex-col border-r bg-card transition-all duration-300 lg:relative lg:z-0","w-64 lg:w-auto",a?"lg:w-64":"lg:w-16",i?"translate-x-0":"-translate-x-full lg:translate-x-0"),children:[e.jsx("div",{className:"flex h-16 items-center border-b px-4",children:e.jsxs("div",{className:Z("relative flex items-center justify-center flex-1 transition-all overflow-hidden","lg:flex-1",!a&&"lg:flex-none lg:w-8"),children:[e.jsxs("div",{className:Z("flex items-baseline gap-2",!a&&"lg:hidden"),children:[e.jsx("span",{className:"font-bold text-xl text-primary-gradient whitespace-nowrap",children:"MaiBot WebUI"}),e.jsx("span",{className:"text-xs text-primary/60 whitespace-nowrap",children:yE()})]}),!a&&e.jsx("span",{className:"hidden lg:block font-bold text-primary-gradient text-2xl",children:"M"})]})}),e.jsx("nav",{className:"flex-1 overflow-y-auto p-4",children:e.jsx("ul",{className:Z("space-y-6",!a&&"lg:space-y-3"),children:j.map((C,N)=>e.jsxs("li",{children:[e.jsx("div",{className:Z("px-3 h-[1.25rem]","mb-2",!a&&"lg:mb-1 lg:invisible"),children:e.jsx("h3",{className:"text-xs font-semibold uppercase tracking-wider text-muted-foreground/60 whitespace-nowrap",children:C.title})}),!a&&N>0&&e.jsx("div",{className:"hidden lg:block mb-2 border-t border-border"}),e.jsx("ul",{className:"space-y-1",children:C.items.map(T=>{const P=v({to:T.path}),M=T.icon,k=e.jsxs(e.Fragment,{children:[P&&e.jsx("div",{className:"absolute left-0 top-1/2 h-8 w-1 -translate-y-1/2 rounded-r-full bg-primary transition-opacity duration-300"}),e.jsxs("div",{className:Z("flex items-center transition-all duration-300",a?"gap-3":"lg:gap-0"),children:[e.jsx(M,{className:Z("h-5 w-5 flex-shrink-0",P&&"text-primary"),strokeWidth:2,fill:"none"}),e.jsx("span",{className:Z("text-sm font-medium whitespace-nowrap transition-all duration-300",P&&"font-semibold",a?"opacity-100 max-w-[200px]":"lg:opacity-0 lg:max-w-0 lg:overflow-hidden"),children:T.label})]})]});return e.jsx("li",{className:"relative",children:e.jsxs(mz,{children:[e.jsx(fz,{asChild:!0,children:e.jsx(Q_,{to:T.path,className:Z("relative flex items-center rounded-lg py-2 transition-all duration-300","hover:bg-accent hover:text-accent-foreground",P?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground",a?"px-3":"lg:px-0 lg:justify-center"),onClick:()=>c(!1),children:k})}),!a&&e.jsx(f1,{side:"right",className:"hidden lg:block",children:e.jsx("p",{children:T.label})})]})},T.path)})})]},C.title))})})]}),i&&e.jsx("div",{className:"fixed inset-0 z-40 bg-black/50 lg:hidden",onClick:()=>c(!1)}),e.jsxs("div",{className:"flex flex-1 flex-col overflow-hidden",children:[e.jsxs("header",{className:"flex h-16 items-center justify-between border-b bg-card/80 backdrop-blur-md px-4 sticky top-0 z-10",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("button",{onClick:()=>c(!i),className:"rounded-lg p-2 hover:bg-accent lg:hidden",children:e.jsx(I2,{className:"h-5 w-5"})}),e.jsx("button",{onClick:()=>l(!a),className:"hidden rounded-lg p-2 hover:bg-accent lg:block",title:a?"收起侧边栏":"展开侧边栏",children:e.jsx(Ol,{className:Z("h-5 w-5 transition-transform",!a&&"rotate-180")})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("button",{onClick:()=>m(!0),className:"relative hidden md:flex items-center w-64 h-9 pl-9 pr-16 bg-background/50 border rounded-md hover:bg-accent/50 transition-colors text-left",children:[e.jsx(Gs,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),e.jsx("span",{className:"text-sm text-muted-foreground",children:"搜索..."}),e.jsxs(nw,{size:"sm",className:"absolute right-2 top-1/2 -translate-y-1/2",children:[e.jsx("span",{className:"text-xs",children:"⌘"}),"K"]})]}),e.jsx(y3,{open:d,onOpenChange:m}),e.jsxs(q,{variant:"ghost",size:"sm",onClick:()=>window.open("https://docs.mai-mai.org","_blank"),className:"gap-2",title:"查看麦麦文档",children:[e.jsx(W2,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:"麦麦文档"})]}),e.jsx("button",{onClick:C=>{lE(w==="dark"?"light":"dark",p,C)},className:"rounded-lg p-2 hover:bg-accent",title:w==="dark"?"切换到浅色模式":"切换到深色模式",children:w==="dark"?e.jsx(Rf,{className:"h-5 w-5"}):e.jsx(zf,{className:"h-5 w-5"})}),e.jsx("div",{className:"h-6 w-px bg-border"}),e.jsxs(q,{variant:"ghost",size:"sm",onClick:S,className:"gap-2",title:"登出系统",children:[e.jsx(sj,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:"登出"})]})]})]}),e.jsxs(L5,{children:[e.jsx(B5,{asChild:!0,children:e.jsx("main",{className:"flex-1 overflow-hidden bg-background",children:s})}),e.jsxs(n1,{className:"w-64",children:[e.jsxs(kn,{onClick:()=>g({to:"/"}),children:[e.jsx(fd,{className:"mr-2 h-4 w-4"}),"首页"]}),e.jsxs(kn,{onClick:()=>g({to:"/settings"}),children:[e.jsx(Tn,{className:"mr-2 h-4 w-4"}),"系统设置"]}),e.jsxs(kn,{onClick:()=>g({to:"/logs"}),children:[e.jsx(hd,{className:"mr-2 h-4 w-4"}),"日志查看器"]}),e.jsx(to,{}),e.jsxs(U5,{children:[e.jsxs(t1,{children:[e.jsx(Ty,{className:"mr-2 h-4 w-4"}),"切换主题"]}),e.jsxs(s1,{className:"w-48",children:[e.jsxs(kn,{onClick:()=>p("light"),disabled:h==="light",children:[e.jsx(Rf,{className:"mr-2 h-4 w-4"}),"浅色",h==="light"&&e.jsx(Pr,{children:"✓"})]}),e.jsxs(kn,{onClick:()=>p("dark"),disabled:h==="dark",children:[e.jsx(zf,{className:"mr-2 h-4 w-4"}),"深色",h==="dark"&&e.jsx(Pr,{children:"✓"})]}),e.jsxs(kn,{onClick:()=>p("system"),disabled:h==="system",children:[e.jsx(Tn,{className:"mr-2 h-4 w-4"}),"跟随系统",h==="system"&&e.jsx(Pr,{children:"✓"})]})]})]}),e.jsx(to,{}),e.jsxs(kn,{onClick:()=>window.location.reload(),children:[e.jsx(X2,{className:"mr-2 h-4 w-4"}),"刷新页面",e.jsx(Pr,{children:"⌘R"})]}),e.jsxs(kn,{onClick:()=>m(!0),children:[e.jsx(Gs,{className:"mr-2 h-4 w-4"}),"搜索",e.jsx(Pr,{children:"⌘K"})]}),e.jsx(to,{}),e.jsxs(kn,{onClick:()=>window.open("https://docs.mai-mai.org","_blank"),children:[e.jsx(so,{className:"mr-2 h-4 w-4"}),"麦麦文档"]}),e.jsx(to,{}),e.jsxs(kn,{onClick:S,className:"text-destructive focus:text-destructive",children:[e.jsx(sj,{className:"mr-2 h-4 w-4"}),"登出系统"]})]})]})]})]})})}const zo=Z_({component:()=>e.jsxs(e.Fragment,{children:[e.jsx(ry,{}),!1]}),beforeLoad:()=>{if(window.location.pathname==="/"&&!L0())throw e2({to:"/auth"})}}),xz=Ts({getParentRoute:()=>zo,path:"/auth",component:GE}),pz=Ts({getParentRoute:()=>zo,path:"/setup",component:d4}),an=Ts({getParentRoute:()=>zo,id:"protected",component:()=>e.jsx(hz,{children:e.jsx(ry,{})})}),gz=Ts({getParentRoute:()=>an,path:"/",component:nE}),vz=Ts({getParentRoute:()=>an,path:"/config/bot",component:tM}),jz=Ts({getParentRoute:()=>an,path:"/config/modelProvider",component:gM}),yz=Ts({getParentRoute:()=>an,path:"/config/model",component:GM}),bz=Ts({getParentRoute:()=>an,path:"/resource/emoji",component:eD}),Nz=Ts({getParentRoute:()=>an,path:"/resource/expression",component:dD}),wz=Ts({getParentRoute:()=>an,path:"/resource/person",component:bD}),Sz=Ts({getParentRoute:()=>an,path:"/logs",component:s3}),_z=Ts({getParentRoute:()=>an,path:"/plugins",component:x3}),Cz=Ts({getParentRoute:()=>an,path:"/plugin-config",component:p3}),kz=Ts({getParentRoute:()=>an,path:"/plugin-mirrors",component:g3}),Tz=Ts({getParentRoute:()=>an,path:"/settings",component:LE}),Ez=Ts({getParentRoute:()=>zo,path:"*",component:H0}),Mz=zo.addChildren([xz,pz,an.addChildren([gz,vz,jz,yz,bz,Nz,wz,_z,Cz,kz,Sz,Tz]),Ez]),Dz=J_({routeTree:Mz,defaultNotFoundComponent:H0});function Oz({children:s,defaultTheme:a="system",storageKey:l="ui-theme",...i}){const[c,d]=x.useState(()=>localStorage.getItem(l)||a);x.useEffect(()=>{const h=window.document.documentElement;if(h.classList.remove("light","dark"),c==="system"){const p=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";h.classList.add(p);return}h.classList.add(c)},[c]),x.useEffect(()=>{const h=localStorage.getItem("accent-color");if(h){const p=document.documentElement,g={blue:{hsl:"221.2 83.2% 53.3%",darkHsl:"217.2 91.2% 59.8%",gradient:null},purple:{hsl:"271 91% 65%",darkHsl:"270 95% 75%",gradient:null},green:{hsl:"142 71% 45%",darkHsl:"142 76% 36%",gradient:null},orange:{hsl:"25 95% 53%",darkHsl:"20 90% 48%",gradient:null},pink:{hsl:"330 81% 60%",darkHsl:"330 85% 70%",gradient:null},red:{hsl:"0 84% 60%",darkHsl:"0 90% 70%",gradient:null},"gradient-sunset":{hsl:"15 95% 60%",darkHsl:"15 95% 65%",gradient:"linear-gradient(135deg, hsl(25 95% 53%) 0%, hsl(330 81% 60%) 100%)"},"gradient-ocean":{hsl:"200 90% 55%",darkHsl:"200 90% 60%",gradient:"linear-gradient(135deg, hsl(221.2 83.2% 53.3%) 0%, hsl(189 94% 43%) 100%)"},"gradient-forest":{hsl:"150 70% 45%",darkHsl:"150 75% 40%",gradient:"linear-gradient(135deg, hsl(142 71% 45%) 0%, hsl(158 64% 52%) 100%)"},"gradient-aurora":{hsl:"310 85% 65%",darkHsl:"310 90% 70%",gradient:"linear-gradient(135deg, hsl(271 91% 65%) 0%, hsl(330 81% 60%) 100%)"},"gradient-fire":{hsl:"15 95% 55%",darkHsl:"15 95% 60%",gradient:"linear-gradient(135deg, hsl(0 84% 60%) 0%, hsl(25 95% 53%) 100%)"},"gradient-twilight":{hsl:"250 90% 60%",darkHsl:"250 95% 65%",gradient:"linear-gradient(135deg, hsl(239 84% 67%) 0%, hsl(271 91% 65%) 100%)"}}[h];g&&(p.style.setProperty("--primary",g.hsl),g.gradient?(p.style.setProperty("--primary-gradient",g.gradient),p.classList.add("has-gradient")):(p.style.removeProperty("--primary-gradient"),p.classList.remove("has-gradient")))}},[]);const m={theme:c,setTheme:h=>{localStorage.setItem(l,h),d(h)}};return e.jsx(r0.Provider,{...i,value:m,children:s})}function Az({children:s,defaultEnabled:a=!0,defaultWavesEnabled:l=!0,storageKey:i="enable-animations",wavesStorageKey:c="enable-waves-background"}){const[d,m]=x.useState(()=>{const g=localStorage.getItem(i);return g!==null?g==="true":a}),[h,p]=x.useState(()=>{const g=localStorage.getItem(c);return g!==null?g==="true":l});x.useEffect(()=>{const g=document.documentElement;d?g.classList.remove("no-animations"):g.classList.add("no-animations"),localStorage.setItem(i,String(d))},[d,i]),x.useEffect(()=>{localStorage.setItem(c,String(h))},[h,c]);const v={enableAnimations:d,setEnableAnimations:m,enableWavesBackground:h,setEnableWavesBackground:p};return e.jsx(i0.Provider,{value:v,children:s})}var ex="ToastProvider",[tx,Rz,zz]=_d("Toast"),[h1]=Dn("Toast",[zz]),[Pz,Qd]=h1(ex),x1=s=>{const{__scopeToast:a,label:l="Notification",duration:i=5e3,swipeDirection:c="right",swipeThreshold:d=50,children:m}=s,[h,p]=x.useState(null),[v,g]=x.useState(0),j=x.useRef(!1),b=x.useRef(!1);return l.trim()||console.error(`Invalid prop \`label\` supplied to \`${ex}\`. Expected non-empty \`string\`.`),e.jsx(tx.Provider,{scope:a,children:e.jsx(Pz,{scope:a,label:l,duration:i,swipeDirection:c,swipeThreshold:d,toastCount:v,viewport:h,onViewportChange:p,onToastAdd:x.useCallback(()=>g(w=>w+1),[]),onToastRemove:x.useCallback(()=>g(w=>w-1),[]),isFocusedToastEscapeKeyDownRef:j,isClosePausedRef:b,children:m})})};x1.displayName=ex;var p1="ToastViewport",Lz=["F8"],nh="toast.viewportPause",ah="toast.viewportResume",g1=x.forwardRef((s,a)=>{const{__scopeToast:l,hotkey:i=Lz,label:c="Notifications ({hotkey})",...d}=s,m=Qd(p1,l),h=Rz(l),p=x.useRef(null),v=x.useRef(null),g=x.useRef(null),j=x.useRef(null),b=Tt(a,j,m.onViewportChange),w=i.join("+").replace(/Key/g,"").replace(/Digit/g,""),S=m.toastCount>0;x.useEffect(()=>{const N=T=>{i.length!==0&&i.every(M=>T[M]||T.code===M)&&j.current?.focus()};return document.addEventListener("keydown",N),()=>document.removeEventListener("keydown",N)},[i]),x.useEffect(()=>{const N=p.current,T=j.current;if(S&&N&&T){const P=()=>{if(!m.isClosePausedRef.current){const A=new CustomEvent(nh);T.dispatchEvent(A),m.isClosePausedRef.current=!0}},M=()=>{if(m.isClosePausedRef.current){const A=new CustomEvent(ah);T.dispatchEvent(A),m.isClosePausedRef.current=!1}},k=A=>{!N.contains(A.relatedTarget)&&M()},D=()=>{N.contains(document.activeElement)||M()};return N.addEventListener("focusin",P),N.addEventListener("focusout",k),N.addEventListener("pointermove",P),N.addEventListener("pointerleave",D),window.addEventListener("blur",P),window.addEventListener("focus",M),()=>{N.removeEventListener("focusin",P),N.removeEventListener("focusout",k),N.removeEventListener("pointermove",P),N.removeEventListener("pointerleave",D),window.removeEventListener("blur",P),window.removeEventListener("focus",M)}}},[S,m.isClosePausedRef]);const C=x.useCallback(({tabbingDirection:N})=>{const P=h().map(M=>{const k=M.ref.current,D=[k,...Kz(k)];return N==="forwards"?D:D.reverse()});return(N==="forwards"?P.reverse():P).flat()},[h]);return x.useEffect(()=>{const N=j.current;if(N){const T=P=>{const M=P.altKey||P.ctrlKey||P.metaKey;if(P.key==="Tab"&&!M){const D=document.activeElement,A=P.shiftKey;if(P.target===N&&A){v.current?.focus();return}const Y=C({tabbingDirection:A?"backwards":"forwards"}),G=Y.findIndex($=>$===D);Mf(Y.slice(G+1))?P.preventDefault():A?v.current?.focus():g.current?.focus()}};return N.addEventListener("keydown",T),()=>N.removeEventListener("keydown",T)}},[h,C]),e.jsxs(S2,{ref:p,role:"region","aria-label":c.replace("{hotkey}",w),tabIndex:-1,style:{pointerEvents:S?void 0:"none"},children:[S&&e.jsx(lh,{ref:v,onFocusFromOutsideViewport:()=>{const N=C({tabbingDirection:"forwards"});Mf(N)}}),e.jsx(tx.Slot,{scope:l,children:e.jsx(dt.ol,{tabIndex:-1,...d,ref:b})}),S&&e.jsx(lh,{ref:g,onFocusFromOutsideViewport:()=>{const N=C({tabbingDirection:"backwards"});Mf(N)}})]})});g1.displayName=p1;var v1="ToastFocusProxy",lh=x.forwardRef((s,a)=>{const{__scopeToast:l,onFocusFromOutsideViewport:i,...c}=s,d=Qd(v1,l);return e.jsx(ky,{tabIndex:0,...c,ref:a,style:{position:"fixed"},onFocus:m=>{const h=m.relatedTarget;!d.viewport?.contains(h)&&i()}})});lh.displayName=v1;var Po="Toast",Bz="toast.swipeStart",Uz="toast.swipeMove",Hz="toast.swipeCancel",Fz="toast.swipeEnd",j1=x.forwardRef((s,a)=>{const{forceMount:l,open:i,defaultOpen:c,onOpenChange:d,...m}=s,[h,p]=Qa({prop:i,defaultProp:c??!0,onChange:d,caller:Po});return e.jsx(Is,{present:l||h,children:e.jsx(Vz,{open:h,...m,ref:a,onClose:()=>p(!1),onPause:ws(s.onPause),onResume:ws(s.onResume),onSwipeStart:be(s.onSwipeStart,v=>{v.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:be(s.onSwipeMove,v=>{const{x:g,y:j}=v.detail.delta;v.currentTarget.setAttribute("data-swipe","move"),v.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${g}px`),v.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${j}px`)}),onSwipeCancel:be(s.onSwipeCancel,v=>{v.currentTarget.setAttribute("data-swipe","cancel"),v.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),v.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),v.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),v.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:be(s.onSwipeEnd,v=>{const{x:g,y:j}=v.detail.delta;v.currentTarget.setAttribute("data-swipe","end"),v.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),v.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),v.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${g}px`),v.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${j}px`),p(!1)})})})});j1.displayName=Po;var[Yz,qz]=h1(Po,{onClose(){}}),Vz=x.forwardRef((s,a)=>{const{__scopeToast:l,type:i="foreground",duration:c,open:d,onClose:m,onEscapeKeyDown:h,onPause:p,onResume:v,onSwipeStart:g,onSwipeMove:j,onSwipeCancel:b,onSwipeEnd:w,...S}=s,C=Qd(Po,l),[N,T]=x.useState(null),P=Tt(a,ae=>T(ae)),M=x.useRef(null),k=x.useRef(null),D=c||C.duration,A=x.useRef(0),E=x.useRef(D),B=x.useRef(0),{onToastAdd:Y,onToastRemove:G}=C,$=ws(()=>{N?.contains(document.activeElement)&&C.viewport?.focus(),m()}),oe=x.useCallback(ae=>{!ae||ae===1/0||(window.clearTimeout(B.current),A.current=new Date().getTime(),B.current=window.setTimeout($,ae))},[$]);x.useEffect(()=>{const ae=C.viewport;if(ae){const me=()=>{oe(E.current),v?.()},R=()=>{const O=new Date().getTime()-A.current;E.current=E.current-O,window.clearTimeout(B.current),p?.()};return ae.addEventListener(nh,R),ae.addEventListener(ah,me),()=>{ae.removeEventListener(nh,R),ae.removeEventListener(ah,me)}}},[C.viewport,D,p,v,oe]),x.useEffect(()=>{d&&!C.isClosePausedRef.current&&oe(D)},[d,D,C.isClosePausedRef,oe]),x.useEffect(()=>(Y(),()=>G()),[Y,G]);const je=x.useMemo(()=>N?C1(N):null,[N]);return C.viewport?e.jsxs(e.Fragment,{children:[je&&e.jsx(Gz,{__scopeToast:l,role:"status","aria-live":i==="foreground"?"assertive":"polite",children:je}),e.jsx(Yz,{scope:l,onClose:$,children:t2.createPortal(e.jsx(tx.ItemSlot,{scope:l,children:e.jsx(_2,{asChild:!0,onEscapeKeyDown:be(h,()=>{C.isFocusedToastEscapeKeyDownRef.current||$(),C.isFocusedToastEscapeKeyDownRef.current=!1}),children:e.jsx(dt.li,{tabIndex:0,"data-state":d?"open":"closed","data-swipe-direction":C.swipeDirection,...S,ref:P,style:{userSelect:"none",touchAction:"none",...s.style},onKeyDown:be(s.onKeyDown,ae=>{ae.key==="Escape"&&(h?.(ae.nativeEvent),ae.nativeEvent.defaultPrevented||(C.isFocusedToastEscapeKeyDownRef.current=!0,$()))}),onPointerDown:be(s.onPointerDown,ae=>{ae.button===0&&(M.current={x:ae.clientX,y:ae.clientY})}),onPointerMove:be(s.onPointerMove,ae=>{if(!M.current)return;const me=ae.clientX-M.current.x,R=ae.clientY-M.current.y,O=!!k.current,L=["left","right"].includes(C.swipeDirection),ee=["left","up"].includes(C.swipeDirection)?Math.min:Math.max,le=L?ee(0,me):0,xe=L?0:ee(0,R),F=ae.pointerType==="touch"?10:2,W={x:le,y:xe},fe={originalEvent:ae,delta:W};O?(k.current=W,rd(Uz,j,fe,{discrete:!1})):ly(W,C.swipeDirection,F)?(k.current=W,rd(Bz,g,fe,{discrete:!1}),ae.target.setPointerCapture(ae.pointerId)):(Math.abs(me)>F||Math.abs(R)>F)&&(M.current=null)}),onPointerUp:be(s.onPointerUp,ae=>{const me=k.current,R=ae.target;if(R.hasPointerCapture(ae.pointerId)&&R.releasePointerCapture(ae.pointerId),k.current=null,M.current=null,me){const O=ae.currentTarget,L={originalEvent:ae,delta:me};ly(me,C.swipeDirection,C.swipeThreshold)?rd(Fz,w,L,{discrete:!0}):rd(Hz,b,L,{discrete:!0}),O.addEventListener("click",ee=>ee.preventDefault(),{once:!0})}})})})}),C.viewport)})]}):null}),Gz=s=>{const{__scopeToast:a,children:l,...i}=s,c=Qd(Po,a),[d,m]=x.useState(!1),[h,p]=x.useState(!1);return Wz(()=>m(!0)),x.useEffect(()=>{const v=window.setTimeout(()=>p(!0),1e3);return()=>window.clearTimeout(v)},[]),h?null:e.jsx(Td,{asChild:!0,children:e.jsx(ky,{...i,children:d&&e.jsxs(e.Fragment,{children:[c.label," ",l]})})})},$z="ToastTitle",y1=x.forwardRef((s,a)=>{const{__scopeToast:l,...i}=s;return e.jsx(dt.div,{...i,ref:a})});y1.displayName=$z;var Iz="ToastDescription",b1=x.forwardRef((s,a)=>{const{__scopeToast:l,...i}=s;return e.jsx(dt.div,{...i,ref:a})});b1.displayName=Iz;var N1="ToastAction",w1=x.forwardRef((s,a)=>{const{altText:l,...i}=s;return l.trim()?e.jsx(_1,{altText:l,asChild:!0,children:e.jsx(sx,{...i,ref:a})}):(console.error(`Invalid prop \`altText\` supplied to \`${N1}\`. Expected non-empty \`string\`.`),null)});w1.displayName=N1;var S1="ToastClose",sx=x.forwardRef((s,a)=>{const{__scopeToast:l,...i}=s,c=qz(S1,l);return e.jsx(_1,{asChild:!0,children:e.jsx(dt.button,{type:"button",...i,ref:a,onClick:be(s.onClick,c.onClose)})})});sx.displayName=S1;var _1=x.forwardRef((s,a)=>{const{__scopeToast:l,altText:i,...c}=s;return e.jsx(dt.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":i||void 0,...c,ref:a})});function C1(s){const a=[];return Array.from(s.childNodes).forEach(i=>{if(i.nodeType===i.TEXT_NODE&&i.textContent&&a.push(i.textContent),Xz(i)){const c=i.ariaHidden||i.hidden||i.style.display==="none",d=i.dataset.radixToastAnnounceExclude==="";if(!c)if(d){const m=i.dataset.radixToastAnnounceAlt;m&&a.push(m)}else a.push(...C1(i))}}),a}function rd(s,a,l,{discrete:i}){const c=l.originalEvent.currentTarget,d=new CustomEvent(s,{bubbles:!0,cancelable:!0,detail:l});a&&c.addEventListener(s,a,{once:!0}),i?Cy(c,d):c.dispatchEvent(d)}var ly=(s,a,l=0)=>{const i=Math.abs(s.x),c=Math.abs(s.y),d=i>c;return a==="left"||a==="right"?d&&i>l:!d&&c>l};function Wz(s=()=>{}){const a=ws(s);oy(()=>{let l=0,i=0;return l=window.requestAnimationFrame(()=>i=window.requestAnimationFrame(a)),()=>{window.cancelAnimationFrame(l),window.cancelAnimationFrame(i)}},[a])}function Xz(s){return s.nodeType===s.ELEMENT_NODE}function Kz(s){const a=[],l=document.createTreeWalker(s,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const c=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||c?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;l.nextNode();)a.push(l.currentNode);return a}function Mf(s){const a=document.activeElement;return s.some(l=>l===a?!0:(l.focus(),document.activeElement!==a))}var Qz=x1,k1=g1,T1=j1,E1=y1,M1=b1,D1=w1,O1=sx;const Zz=Qz,A1=x.forwardRef(({className:s,...a},l)=>e.jsx(k1,{ref:l,className:Z("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",s),...a}));A1.displayName=k1.displayName;const Jz=Jr("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),R1=x.forwardRef(({className:s,variant:a,...l},i)=>e.jsx(T1,{ref:i,className:Z(Jz({variant:a}),s),...l}));R1.displayName=T1.displayName;const e6=x.forwardRef(({className:s,...a},l)=>e.jsx(D1,{ref:l,className:Z("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",s),...a}));e6.displayName=D1.displayName;const z1=x.forwardRef(({className:s,...a},l)=>e.jsx(O1,{ref:l,className:Z("absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",s),"toast-close":"",...a,children:e.jsx(go,{className:"h-4 w-4"})}));z1.displayName=O1.displayName;const P1=x.forwardRef(({className:s,...a},l)=>e.jsx(E1,{ref:l,className:Z("text-sm font-semibold [&+div]:text-xs",s),...a}));P1.displayName=E1.displayName;const L1=x.forwardRef(({className:s,...a},l)=>e.jsx(M1,{ref:l,className:Z("text-sm opacity-90",s),...a}));L1.displayName=M1.displayName;function t6(){const{toasts:s}=Es();return e.jsxs(Zz,{children:[s.map(function({id:a,title:l,description:i,action:c,...d}){return e.jsxs(R1,{...d,children:[e.jsxs("div",{className:"grid gap-1",children:[l&&e.jsx(P1,{children:l}),i&&e.jsx(L1,{children:i})]}),c,e.jsx(z1,{})]},a)}),e.jsx(A1,{})]})}eC.createRoot(document.getElementById("root")).render(e.jsx(x.StrictMode,{children:e.jsx(Oz,{defaultTheme:"system",children:e.jsxs(Az,{children:[e.jsx(s2,{router:Dz}),e.jsx(t6,{})]})})})); diff --git a/webui/dist/assets/index-_P1Qkw5e.css b/webui/dist/assets/index-_P1Qkw5e.css deleted file mode 100644 index 94c218e4..00000000 --- a/webui/dist/assets/index-_P1Qkw5e.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 221.2 83.2% 53.3%;--primary-foreground: 210 40% 98%;--primary-gradient: none;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 221.2 83.2% 53.3%;--radius: .5rem;--chart-1: 221.2 83.2% 53.3%;--chart-2: 160 60% 45%;--chart-3: 30 80% 55%;--chart-4: 280 65% 60%;--chart-5: 340 75% 55%}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 217.2 91.2% 59.8%;--primary-foreground: 222.2 47.4% 11.2%;--primary-gradient: none;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 224.3 76.3% 48%;--chart-1: 217.2 91.2% 59.8%;--chart-2: 160 60% 50%;--chart-3: 30 80% 60%;--chart-4: 280 65% 65%;--chart-5: 340 75% 60%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-1\/4{bottom:25%}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-1\/4{left:25%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-1\.5{right:.375rem}.right-1\/4{right:25%}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-1\/4{top:25%}.top-2{top:.5rem}.top-2\.5{top:.625rem}.top-3{top:.75rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.order-1{order:1}.order-2{order:2}.col-span-2{grid-column:span 2 / span 2}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-mt-2{margin-top:-.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-6{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-auto{aspect-ratio:auto}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-4{width:1rem;height:1rem}.size-\[--cell-size\]{width:var(--cell-size);height:var(--cell-size)}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[--cell-size\]{height:var(--cell-size)}.h-\[1\.25rem\]{height:1.25rem}.h-\[1px\]{height:1px}.h-\[250px\]{height:250px}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-\[calc\(100vh-200px\)\]{height:calc(100vh - 200px)}.h-\[calc\(100vh-240px\)\]{height:calc(100vh - 240px)}.h-\[calc\(100vh-260px\)\]{height:calc(100vh - 260px)}.h-\[calc\(100vh-280px\)\]{height:calc(100vh - 280px)}.h-\[calc\(100vh-4rem\)\]{height:calc(100vh - 4rem)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[--radix-context-menu-content-available-height\]{max-height:var(--radix-context-menu-content-available-height)}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(90vh-120px\)\]{max-height:calc(90vh - 120px)}.max-h-screen{max-height:100vh}.min-h-10{min-height:2.5rem}.min-h-\[100px\]{min-height:100px}.min-h-\[300px\]{min-height:300px}.min-h-\[60px\]{min-height:60px}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/4{width:25%}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[--cell-size\]{width:var(--cell-size)}.w-\[120px\]{width:120px}.w-\[140px\]{width:140px}.w-\[1px\]{width:1px}.w-\[70px\]{width:70px}.w-\[95vw\]{width:95vw}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[--cell-size\]{min-width:var(--cell-size)}.min-w-\[80px\]{min-width:80px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-\[200px\]{max-width:200px}.max-w-\[60px\]{max-width:60px}.max-w-\[95vw\]{max-width:95vw}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\[--radix-context-menu-content-transform-origin\]{transform-origin:var(--radix-context-menu-content-transform-origin)}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[--color-border\]{border-color:var(--color-border)}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-current{border-color:currentColor}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.border-input{border-color:hsl(var(--input))}.border-orange-600{--tw-border-opacity: 1;border-color:rgb(234 88 12 / var(--tw-border-opacity, 1))}.border-primary{border-color:hsl(var(--primary))}.border-primary\/20{border-color:hsl(var(--primary) / .2)}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-background\/50{background-color:hsl(var(--background) / .5)}.bg-background\/95{background-color:hsl(var(--background) / .95)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/50{background-color:#00000080}.bg-black\/80{background-color:#000c}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-blue-900\/20{background-color:#1e3a8a33}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-card\/80{background-color:hsl(var(--card) / .8)}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-800\/20{background-color:#1f293733}.bg-gray-800\/30{background-color:#1f29374d}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-pink-500{--tw-bg-opacity: 1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-900\/20{background-color:#7f1d1d33}.bg-red-900\/30{background-color:#7f1d1d4d}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\/5{background-color:hsl(var(--secondary) / .05)}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.bg-slate-400{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity, 1))}.bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-200{--tw-bg-opacity: 1;background-color:rgb(254 240 138 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-900\/20{background-color:#713f1233}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500{--tw-gradient-from: #22c55e var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from: #f97316 var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/5{--tw-gradient-from: hsl(var(--primary) / .05) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #a855f7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500{--tw-gradient-from: #ef4444 var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-200{--tw-gradient-from: #e2e8f0 var(--tw-gradient-from-position);--tw-gradient-to: rgb(226 232 240 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-300{--tw-gradient-from: #cbd5e1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(203 213 225 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-400{--tw-gradient-from: #94a3b8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(148 163 184 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-background{--tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background)) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-cyan-500{--tw-gradient-to: #06b6d4 var(--tw-gradient-to-position)}.to-emerald-500{--tw-gradient-to: #10b981 var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to: #f97316 var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #ec4899 var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to: #a855f7 var(--tw-gradient-to-position)}.to-secondary\/5{--tw-gradient-to: hsl(var(--secondary) / .05) var(--tw-gradient-to-position)}.to-slate-700{--tw-gradient-to: #334155 var(--tw-gradient-to-position)}.to-slate-800{--tw-gradient-to: #1e293b var(--tw-gradient-to-position)}.to-slate-900{--tw-gradient-to: #0f172a var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-yellow-400{fill:#facc15}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[--cell-size\]{padding-left:var(--cell-size);padding-right:var(--cell-size)}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-16{padding-right:4rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10px\]{font-size:10px}.text-\[150px\]{font-size:150px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-orange-800{--tw-text-opacity: 1;color:rgb(154 52 18 / var(--tw-text-opacity, 1))}.text-orange-900{--tw-text-opacity: 1;color:rgb(124 45 18 / var(--tw-text-opacity, 1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary\/10{color:hsl(var(--primary) / .1)}.text-primary\/30{color:hsl(var(--primary) / .3)}.text-primary\/60{color:hsl(var(--primary) / .6)}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.text-yellow-900{--tw-text-opacity: 1;color:rgb(113 63 18 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.blur-3xl{--tw-blur: blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.text-primary-gradient{color:hsl(var(--primary))}.has-gradient .text-primary-gradient{background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.\[--cell-size\:2rem\]{--cell-size: 2rem}.no-animations *,.no-animations *:before,.no-animations *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.no-animations *:hover{transition-duration:.01ms!important}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:999}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary) / .5)}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-secondary\/90:hover{background-color:hsl(var(--secondary) / .9)}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-green-700:hover{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.hover\:text-orange-700:hover{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity, 1))}.hover\:text-primary\/80:hover{color:hsl(var(--primary) / .8)}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-gray-100:focus{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-red-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color: #dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x: var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x: var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[range-end\=true\]\:rounded-md[data-range-end=true]{border-radius:calc(var(--radius) - 2px)}.data-\[range-middle\=true\]\:rounded-none[data-range-middle=true]{border-radius:0}.data-\[range-start\=true\]\:rounded-md[data-range-start=true]{border-radius:calc(var(--radius) - 2px)}.data-\[selected\=true\]\:rounded-none[data-selected=true]{border-radius:0}.data-\[range-end\=true\]\:bg-primary[data-range-end=true]{background-color:hsl(var(--primary))}.data-\[range-middle\=true\]\:bg-accent[data-range-middle=true]{background-color:hsl(var(--accent))}.data-\[range-start\=true\]\:bg-primary[data-range-start=true],.data-\[selected-single\=true\]\:bg-primary[data-selected-single=true]{background-color:hsl(var(--primary))}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:hsl(var(--muted-foreground))}.data-\[range-end\=true\]\:text-primary-foreground[data-range-end=true]{color:hsl(var(--primary-foreground))}.data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle=true]{color:hsl(var(--accent-foreground))}.data-\[range-start\=true\]\:text-primary-foreground[data-range-start=true],.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single=true]{color:hsl(var(--primary-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=active\]\:duration-300[data-state=active]{transition-duration:.3s}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:relative{position:relative}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:z-10{z-index:10}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:border-ring{border-color:hsl(var(--ring))}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:ring-\[3px\]{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:ring-ring\/50{--tw-ring-color: hsl(var(--ring) / .5)}.dark\:border-blue-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1))}.dark\:border-blue-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(30 58 138 / var(--tw-border-opacity, 1))}.dark\:border-gray-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(17 24 39 / var(--tw-border-opacity, 1))}.dark\:border-yellow-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(113 63 18 / var(--tw-border-opacity, 1))}.dark\:bg-blue-500\/20:is(.dark *){background-color:#3b82f633}.dark\:bg-blue-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity, 1))}.dark\:bg-blue-950\/20:is(.dark *){background-color:#17255433}.dark\:bg-blue-950\/30:is(.dark *){background-color:#1725544d}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800\/30:is(.dark *){background-color:#1f29374d}.dark\:bg-gray-800\/50:is(.dark *){background-color:#1f293780}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900\/30:is(.dark *){background-color:#14532d4d}.dark\:bg-orange-950\/20:is(.dark *){background-color:#43140733}.dark\:bg-red-500\/20:is(.dark *){background-color:#ef444433}.dark\:bg-red-600\/30:is(.dark *){background-color:#dc26264d}.dark\:bg-red-950\/50:is(.dark *){background-color:#450a0a80}.dark\:bg-yellow-500\/20:is(.dark *){background-color:#eab30833}.dark\:bg-yellow-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(113 63 18 / var(--tw-bg-opacity, 1))}.dark\:bg-yellow-950\/30:is(.dark *){background-color:#4220064d}.dark\:text-blue-100:is(.dark *){--tw-text-opacity: 1;color:rgb(219 234 254 / var(--tw-text-opacity, 1))}.dark\:text-blue-200:is(.dark *){--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-cyan-500:is(.dark *){--tw-text-opacity: 1;color:rgb(6 182 212 / var(--tw-text-opacity, 1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-gray-600:is(.dark *){--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-orange-100:is(.dark *){--tw-text-opacity: 1;color:rgb(255 237 213 / var(--tw-text-opacity, 1))}.dark\:text-orange-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 215 170 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-red-500:is(.dark *){--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.dark\:text-yellow-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 240 138 / var(--tw-text-opacity, 1))}.dark\:text-yellow-300:is(.dark *){--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.dark\:text-yellow-500:is(.dark *){--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-gray-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:focus\:bg-gray-800:focus:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}@media(min-width:640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:right-2{right:.5rem}.sm\:right-3{right:.75rem}.sm\:top-2{top:.5rem}.sm\:top-3{top:.75rem}.sm\:top-auto{top:auto}.sm\:order-1{order:1}.sm\:order-2{order:2}.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:mb-3{margin-bottom:.75rem}.sm\:mb-4{margin-bottom:1rem}.sm\:mb-6{margin-bottom:1.5rem}.sm\:ml-1{margin-left:.25rem}.sm\:mr-1{margin-right:.25rem}.sm\:mr-2{margin-right:.5rem}.sm\:mt-0{margin-top:0}.sm\:mt-2{margin-top:.5rem}.sm\:mt-3{margin-top:.75rem}.sm\:mt-6{margin-top:1.5rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:h-10{height:2.5rem}.sm\:h-12{height:3rem}.sm\:h-2{height:.5rem}.sm\:h-24{height:6rem}.sm\:h-3{height:.75rem}.sm\:h-4{height:1rem}.sm\:h-\[300px\]{height:300px}.sm\:h-\[400px\]{height:400px}.sm\:h-\[500px\]{height:500px}.sm\:h-\[calc\(100vh-280px\)\]{height:calc(100vh - 280px)}.sm\:h-\[calc\(100vh-320px\)\]{height:calc(100vh - 320px)}.sm\:w-10{width:2.5rem}.sm\:w-2{width:.5rem}.sm\:w-24{width:6rem}.sm\:w-3{width:.75rem}.sm\:w-4{width:1rem}.sm\:w-\[140px\]{width:140px}.sm\:w-\[160px\]{width:160px}.sm\:w-\[200px\]{width:200px}.sm\:w-\[500px\]{width:500px}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-\[900px\]{max-width:900px}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:flex-1{flex:1 1 0%}.sm\:flex-none{flex:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-0{gap:0px}.sm\:gap-1{gap:.25rem}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:gap-6{gap:1.5rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.sm\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.sm\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:text-left{text-align:left}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-\[200px\]{font-size:200px}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media(min-width:768px){.md\:top-4{top:1rem}.md\:mb-6{margin-bottom:1.5rem}.md\:mb-8{margin-bottom:2rem}.md\:mt-8{margin-top:2rem}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-16{height:4rem}.md\:h-4{height:1rem}.md\:h-8{height:2rem}.md\:h-96{height:24rem}.md\:h-\[500px\]{height:500px}.md\:min-h-\[400px\]{min-height:400px}.md\:w-16{width:4rem}.md\:w-4{width:1rem}.md\:w-8{width:2rem}.md\:w-96{width:24rem}.md\:max-w-\[420px\]{max-width:420px}.md\:max-w-none{max-width:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:gap-2{gap:.5rem}.md\:whitespace-normal{white-space:normal}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xs{font-size:.75rem;line-height:1rem}}@media(min-width:1024px){.lg\:invisible{visibility:hidden}.lg\:relative{position:relative}.lg\:z-0{z-index:0}.lg\:mb-1{margin-bottom:.25rem}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:h-\[calc\(100vh-400px\)\]{height:calc(100vh - 400px)}.lg\:w-16{width:4rem}.lg\:w-64{width:16rem}.lg\:w-8{width:2rem}.lg\:w-\[150px\]{width:150px}.lg\:w-\[180px\]{width:180px}.lg\:w-\[200px\]{width:200px}.lg\:w-\[240px\]{width:240px}.lg\:w-\[80px\]{width:80px}.lg\:w-auto{width:auto}.lg\:max-w-0{max-width:0px}.lg\:flex-1{flex:1 1 0%}.lg\:flex-none{flex:none}.lg\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:justify-center{justify-content:center}.lg\:gap-0{gap:0px}.lg\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.lg\:overflow-hidden{overflow:hidden}.lg\:p-4{padding:1rem}.lg\:p-6{padding:1.5rem}.lg\:px-0{padding-left:0;padding-right:0}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}.lg\:text-sm{font-size:.875rem;line-height:1.25rem}.lg\:opacity-0{opacity:0}}.\[\&\+div\]\:text-xs+div{font-size:.75rem;line-height:1rem}.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y: 2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>span\]\:text-xs>span{font-size:.75rem;line-height:1rem}.\[\&\>span\]\:opacity-70>span{opacity:.7}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y: -3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:hsl(var(--border) / .5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline:2px solid transparent;outline-offset:2px}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline:2px solid transparent;outline-offset:2px}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:invisible svg{visibility:hidden}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent{background-color:transparent} diff --git a/webui/dist/assets/react-vendor-Dtc2IqVY.js b/webui/dist/assets/react-vendor-Dtc2IqVY.js new file mode 100644 index 00000000..087b3f14 --- /dev/null +++ b/webui/dist/assets/react-vendor-Dtc2IqVY.js @@ -0,0 +1 @@ +var ce=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ae(_){return _&&_.__esModule&&Object.prototype.hasOwnProperty.call(_,"default")?_.default:_}var $={exports:{}},P={};var W;function oe(){if(W)return P;W=1;var _=Symbol.for("react.transitional.element"),O=Symbol.for("react.fragment");function v(y,E,g){var R=null;if(g!==void 0&&(R=""+g),E.key!==void 0&&(R=""+E.key),"key"in E){g={};for(var m in E)m!=="key"&&(g[m]=E[m])}else g=E;return E=g.ref,{$$typeof:_,type:y,key:R,ref:E!==void 0?E:null,props:g}}return P.Fragment=O,P.jsx=v,P.jsxs=v,P}var X;function le(){return X||(X=1,$.exports=oe()),$.exports}var k={exports:{}},n={};var F;function ie(){if(F)return n;F=1;var _=Symbol.for("react.transitional.element"),O=Symbol.for("react.portal"),v=Symbol.for("react.fragment"),y=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),g=Symbol.for("react.consumer"),R=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),i=Symbol.for("react.suspense"),t=Symbol.for("react.memo"),c=Symbol.for("react.lazy"),S=Symbol.for("react.activity"),h=Symbol.iterator;function w(e){return e===null||typeof e!="object"?null:(e=h&&e[h]||e["@@iterator"],typeof e=="function"?e:null)}var Y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},U=Object.assign,q={};function C(e,r,o){this.props=e,this.context=r,this.refs=q,this.updater=o||Y}C.prototype.isReactComponent={},C.prototype.setState=function(e,r){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,r,"setState")},C.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function b(){}b.prototype=C.prototype;function N(e,r,o){this.props=e,this.context=r,this.refs=q,this.updater=o||Y}var j=N.prototype=new b;j.constructor=N,U(j,C.prototype),j.isPureReactComponent=!0;var G=Array.isArray;function D(){}var a={H:null,A:null,T:null,S:null},z=Object.prototype.hasOwnProperty;function L(e,r,o){var u=o.ref;return{$$typeof:_,type:e,key:r,ref:u!==void 0?u:null,props:o}}function V(e,r){return L(e.type,r,e.props)}function x(e){return typeof e=="object"&&e!==null&&e.$$typeof===_}function ee(e){var r={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(o){return r[o]})}var B=/\/+/g;function M(e,r){return typeof e=="object"&&e!==null&&e.key!=null?ee(""+e.key):r.toString(36)}function te(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(D,D):(e.status="pending",e.then(function(r){e.status==="pending"&&(e.status="fulfilled",e.value=r)},function(r){e.status==="pending"&&(e.status="rejected",e.reason=r)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function A(e,r,o,u,s){var f=typeof e;(f==="undefined"||f==="boolean")&&(e=null);var l=!1;if(e===null)l=!0;else switch(f){case"bigint":case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case _:case O:l=!0;break;case c:return l=e._init,A(l(e._payload),r,o,u,s)}}if(l)return s=s(e),l=u===""?"."+M(e,0):u,G(s)?(o="",l!=null&&(o=l.replace(B,"$&/")+"/"),A(s,r,o,"",function(ue){return ue})):s!=null&&(x(s)&&(s=V(s,o+(s.key==null||e&&e.key===s.key?"":(""+s.key).replace(B,"$&/")+"/")+l)),r.push(s)),1;l=0;var T=u===""?".":u+":";if(G(e))for(var d=0;d"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(_)}catch(O){console.error(O)}}return _(),I.exports=fe(),I.exports}export{se as a,ye as b,ce as c,ae as g,le as r}; diff --git a/webui/dist/assets/router-BWgTyY51.js b/webui/dist/assets/router-BWgTyY51.js new file mode 100644 index 00000000..78a82272 --- /dev/null +++ b/webui/dist/assets/router-BWgTyY51.js @@ -0,0 +1,2 @@ +import{r as fo,a as ee,g as Ne,b as po}from"./react-vendor-Dtc2IqVY.js";function mo(t,o){for(var e=0;es[n]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var g=fo(),R=ee();const rt=Ne(R),hn=mo({__proto__:null,default:rt},[R]),Yt=new WeakMap,go=new WeakMap,bt={current:[]};let Nt=!1,mt=0;const pt=new Set,Pt=new Map;function Ue(t){for(const o of t){if(bt.current.includes(o))continue;bt.current.push(o),o.recompute();const e=go.get(o);if(e)for(const s of e){const n=Yt.get(s);n?.length&&Ue(n)}}}function yo(t){const o={prevVal:t.prevState,currentVal:t.state};for(const e of t.listeners)e(o)}function vo(t){const o={prevVal:t.prevState,currentVal:t.state};for(const e of t.listeners)e(o)}function Ve(t){if(mt>0&&!Pt.has(t)&&Pt.set(t,t.prevState),pt.add(t),!(mt>0)&&!Nt)try{for(Nt=!0;pt.size>0;){const o=Array.from(pt);pt.clear();for(const e of o){const s=Pt.get(e)??e.prevState;e.prevState=s,yo(e)}for(const e of o){const s=Yt.get(e);s&&(bt.current.push(e),Ue(s))}for(const e of o){const s=Yt.get(e);if(s)for(const n of s)vo(n)}}}finally{Nt=!1,bt.current=[],Pt.clear()}}function gt(t){mt++;try{t()}finally{if(mt--,mt===0){const o=pt.values().next().value;o&&Ve(o)}}}function So(t){return typeof t=="function"}class _o{constructor(o,e){this.listeners=new Set,this.subscribe=s=>{var n,r;this.listeners.add(s);const i=(r=(n=this.options)==null?void 0:n.onSubscribe)==null?void 0:r.call(n,s,this);return()=>{this.listeners.delete(s),i?.()}},this.prevState=o,this.state=o,this.options=e}setState(o){var e,s,n;this.prevState=this.state,(e=this.options)!=null&&e.updateFn?this.state=this.options.updateFn(this.prevState)(o):So(o)?this.state=o(this.prevState):this.state=o,(n=(s=this.options)==null?void 0:s.onUpdate)==null||n.call(s),Ve(this)}}const G="__TSR_index",ve="popstate",Se="beforeunload";function Ro(t){let o=t.getLocation();const e=new Set,s=i=>{o=t.getLocation(),e.forEach(c=>c({location:o,action:i}))},n=i=>{t.notifyOnIndexChange??!0?s(i):o=t.getLocation()},r=async({task:i,navigateOpts:c,...a})=>{if(c?.ignoreBlocker??!1){i();return}const u=t.getBlockers?.()??[],h=a.type==="PUSH"||a.type==="REPLACE";if(typeof document<"u"&&u.length&&h)for(const f of u){const d=Et(a.path,a.state);if(await f.blockerFn({currentLocation:o,nextLocation:d,action:a.type})){t.onBlocked?.();return}}i()};return{get location(){return o},get length(){return t.getLength()},subscribers:e,subscribe:i=>(e.add(i),()=>{e.delete(i)}),push:(i,c,a)=>{const l=o.state[G];c=_e(l+1,c),r({task:()=>{t.pushState(i,c),s({type:"PUSH"})},navigateOpts:a,type:"PUSH",path:i,state:c})},replace:(i,c,a)=>{const l=o.state[G];c=_e(l,c),r({task:()=>{t.replaceState(i,c),s({type:"REPLACE"})},navigateOpts:a,type:"REPLACE",path:i,state:c})},go:(i,c)=>{r({task:()=>{t.go(i),n({type:"GO",index:i})},navigateOpts:c,type:"GO"})},back:i=>{r({task:()=>{t.back(i?.ignoreBlocker??!1),n({type:"BACK"})},navigateOpts:i,type:"BACK"})},forward:i=>{r({task:()=>{t.forward(i?.ignoreBlocker??!1),n({type:"FORWARD"})},navigateOpts:i,type:"FORWARD"})},canGoBack:()=>o.state[G]!==0,createHref:i=>t.createHref(i),block:i=>{if(!t.setBlockers)return()=>{};const c=t.getBlockers?.()??[];return t.setBlockers([...c,i]),()=>{const a=t.getBlockers?.()??[];t.setBlockers?.(a.filter(l=>l!==i))}},flush:()=>t.flush?.(),destroy:()=>t.destroy?.(),notify:s}}function _e(t,o){o||(o={});const e=oe();return{...o,key:e,__TSR_key:e,[G]:t}}function Po(t){const o=typeof document<"u"?window:void 0,e=o.history.pushState,s=o.history.replaceState;let n=[];const r=()=>n,i=v=>n=v,c=(v=>v),a=(()=>Et(`${o.location.pathname}${o.location.search}${o.location.hash}`,o.history.state));if(!o.history.state?.__TSR_key&&!o.history.state?.key){const v=oe();o.history.replaceState({[G]:0,key:v,__TSR_key:v},"")}let l=a(),u,h=!1,f=!1,d=!1,p=!1;const m=()=>l;let y,_;const x=()=>{y&&(S._ignoreSubscribers=!0,(y.isPush?o.history.pushState:o.history.replaceState)(y.state,"",y.href),S._ignoreSubscribers=!1,y=void 0,_=void 0,u=void 0)},P=(v,C,M)=>{const T=c(C);_||(u=l),l=Et(C,M),y={href:T,state:M,isPush:y?.isPush||v==="push"},_||(_=Promise.resolve().then(()=>x()))},L=v=>{l=a(),S.notify({type:v})},E=async()=>{if(f){f=!1;return}const v=a(),C=v.state[G]-l.state[G],M=C===1,T=C===-1,I=!M&&!T||h;h=!1;const Y=I?"GO":T?"BACK":"FORWARD",D=I?{type:"GO",index:C}:{type:T?"BACK":"FORWARD"};if(d)d=!1;else{const X=r();if(typeof document<"u"&&X.length){for(const he of X)if(await he.blockerFn({currentLocation:l,nextLocation:v,action:Y})){f=!0,o.history.go(1),S.notify(D);return}}}l=a(),S.notify(D)},w=v=>{if(p){p=!1;return}let C=!1;const M=r();if(typeof document<"u"&&M.length)for(const T of M){const I=T.enableBeforeUnload??!0;if(I===!0){C=!0;break}if(typeof I=="function"&&I()===!0){C=!0;break}}if(C)return v.preventDefault(),v.returnValue=""},S=Ro({getLocation:m,getLength:()=>o.history.length,pushState:(v,C)=>P("push",v,C),replaceState:(v,C)=>P("replace",v,C),back:v=>(v&&(d=!0),p=!0,o.history.back()),forward:v=>{v&&(d=!0),p=!0,o.history.forward()},go:v=>{h=!0,o.history.go(v)},createHref:v=>c(v),flush:x,destroy:()=>{o.history.pushState=e,o.history.replaceState=s,o.removeEventListener(Se,w,{capture:!0}),o.removeEventListener(ve,E)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:r,setBlockers:i,notifyOnIndexChange:!1});return o.addEventListener(Se,w,{capture:!0}),o.addEventListener(ve,E),o.history.pushState=function(...v){const C=e.apply(o.history,v);return S._ignoreSubscribers||L("PUSH"),C},o.history.replaceState=function(...v){const C=s.apply(o.history,v);return S._ignoreSubscribers||L("REPLACE"),C},S}function Et(t,o){const e=t.indexOf("#"),s=t.indexOf("?"),n=oe();return{href:t,pathname:t.substring(0,e>0?s>0?Math.min(e,s):e:s>0?s:t.length),hash:e>-1?t.substring(e):"",search:s>-1?t.slice(s,e===-1?void 0:e):"",state:o||{[G]:0,key:n,__TSR_key:n}}}function oe(){return(Math.random()+1).toString(36).substring(7)}function Xt(t){return t[t.length-1]}function wo(t){return typeof t=="function"}function Q(t,o){return wo(t)?t(o):t}const xo=Object.prototype.hasOwnProperty;function B(t,o){if(t===o)return t;const e=o,s=we(t)&&we(e);if(!s&&!(Tt(t)&&Tt(e)))return e;const n=s?t:Re(t);if(!n)return e;const r=s?e:Re(e);if(!r)return e;const i=n.length,c=r.length,a=s?new Array(c):{};let l=0;for(let u=0;u"u")return!0;const e=o.prototype;return!(!Pe(e)||!e.hasOwnProperty("isPrototypeOf"))}function Pe(t){return Object.prototype.toString.call(t)==="[object Object]"}function we(t){return Array.isArray(t)&&t.length===Object.keys(t).length}function tt(t,o,e){if(t===o)return!0;if(typeof t!=typeof o)return!1;if(Array.isArray(t)&&Array.isArray(o)){if(t.length!==o.length)return!1;for(let s=0,n=t.length;sn||!tt(t[i],o[i],e)))return!1;return n===r}return!1}function it(t){let o,e;const s=new Promise((n,r)=>{o=n,e=r});return s.status="pending",s.resolve=n=>{s.status="resolved",s.value=n,o(n),t?.(n)},s.reject=n=>{s.status="rejected",e(n)},s}function q(t){return!!(t&&typeof t=="object"&&typeof t.then=="function")}const Lo=Array.from(new Map([["%","%25"],["\\","%5C"]]).values());function xe(t,o=Lo){function e(n,r,i=0){for(let c=i;c{try{return decodeURI(c)}catch{return c}})}}if(t===""||!/%[0-9A-Fa-f]{2}/g.test(t))return t;const s=t.replaceAll(/%[0-9a-f]{2}/g,n=>n.toUpperCase());return e(s,o)}var Co="Invariant failed";function K(t,o){if(!t)throw new Error(Co)}const U=0,ot=1,at=2,ct=3;function z(t){return se(t.filter(o=>o!==void 0).join("/"))}function se(t){return t.replace(/\/{2,}/g,"/")}function ne(t){return t==="/"?t:t.replace(/^\/{1,}/,"")}function J(t){return t==="/"?t:t.replace(/\/{1,}$/,"")}function Ct(t){return J(ne(t))}function It(t,o){return t?.endsWith("/")&&t!=="/"&&t!==`${o}/`?t.slice(0,-1):t}function Mo(t,o,e){return It(t,e)===It(o,e)}function bo(t){const{type:o,value:e}=t;if(o===U)return e;const{prefixSegment:s,suffixSegment:n}=t;if(o===ot){const r=e.substring(1);if(s&&n)return`${s}{$${r}}${n}`;if(s)return`${s}{$${r}}`;if(n)return`{$${r}}${n}`}if(o===ct){const r=e.substring(1);return s&&n?`${s}{-$${r}}${n}`:s?`${s}{-$${r}}`:n?`{-$${r}}${n}`:`{-$${r}}`}if(o===at){if(s&&n)return`${s}{$}${n}`;if(s)return`${s}{$}`;if(n)return`{$}${n}`}return e}function Eo({base:t,to:o,trailingSlash:e="never",parseCache:s}){let n=ut(t,s).slice();const r=ut(o,s);n.length>1&&Xt(n)?.value==="/"&&n.pop();for(let a=0,l=r.length;a1&&(Xt(n).value==="/"?e==="never"&&n.pop():e==="always"&&n.push({type:U,value:"/"}));const i=n.map(bo);return z(i)}const ut=(t,o)=>{if(!t)return[];const e=o?.get(t);if(e)return e;const s=Ao(t);return o?.set(t,s),s},To=/^\$.{1,}$/,Io=/^(.*?)\{(\$[a-zA-Z_$][a-zA-Z0-9_$]*)\}(.*)$/,ko=/^(.*?)\{-(\$[a-zA-Z_$][a-zA-Z0-9_$]*)\}(.*)$/,Oo=/^\$$/,Fo=/^(.*?)\{\$\}(.*)$/;function Ao(t){t=se(t);const o=[];if(t.slice(0,1)==="/"&&(t=t.substring(1),o.push({type:U,value:"/"})),!t)return o;const e=t.split("/").filter(Boolean);return o.push(...e.map(s=>{const n=s.match(Fo);if(n){const c=n[1],a=n[2];return{type:at,value:"$",prefixSegment:c||void 0,suffixSegment:a||void 0}}const r=s.match(ko);if(r){const c=r[1],a=r[2],l=r[3];return{type:ct,value:a,prefixSegment:c||void 0,suffixSegment:l||void 0}}const i=s.match(Io);if(i){const c=i[1],a=i[2],l=i[3];return{type:ot,value:""+a,prefixSegment:c||void 0,suffixSegment:l||void 0}}if(To.test(s)){const c=s.substring(1);return{type:ot,value:"$"+c,prefixSegment:void 0,suffixSegment:void 0}}return Oo.test(s)?{type:at,value:"$",prefixSegment:void 0,suffixSegment:void 0}:{type:U,value:s}})),t.slice(-1)==="/"&&(t=t.substring(1),o.push({type:U,value:"/"})),o}function Ut({path:t,params:o,decodeCharMap:e,parseCache:s}){const n=ut(t,s);function r(l){const u=o[l],h=typeof u=="string";return l==="*"||l==="_splat"?h?encodeURI(u):u:h?Bo(u,e):u}let i=!1;const c={},a=z(n.map(l=>{if(l.type===U)return l.value;if(l.type===at){c._splat=o._splat,c["*"]=o._splat;const u=l.prefixSegment||"",h=l.suffixSegment||"";if(!o._splat)return i=!0,u||h?`${u}${h}`:void 0;const f=r("_splat");return`${u}${f}${h}`}if(l.type===ot){const u=l.value.substring(1);!i&&!(u in o)&&(i=!0),c[u]=o[u];const h=l.prefixSegment||"",f=l.suffixSegment||"";return`${h}${r(u)??"undefined"}${f}`}if(l.type===ct){const u=l.value.substring(1),h=l.prefixSegment||"",f=l.suffixSegment||"";return!(u in o)||o[u]==null?h||f?`${h}${f}`:void 0:(c[u]=o[u],`${h}${r(u)??""}${f}`)}return l.value}));return{usedParams:c,interpolatedPath:a,isMissingParams:i}}function Bo(t,o){let e=encodeURIComponent(t);if(o)for(const[s,n]of o)e=e.replaceAll(s,n);return e}function Zt(t,o,e){const s=Do(t,o,e);if(!(o.to&&!s))return s??{}}function Do(t,{to:o,fuzzy:e,caseSensitive:s},n){const r=o,i=ut(t.startsWith("/")?t:`/${t}`,n),c=ut(r.startsWith("/")?r:`/${r}`,n),a={};return $o(i,c,a,e,s)?a:void 0}function $o(t,o,e,s,n){let r=0,i=0;for(;rm.value)));h&&p.startsWith(h)&&(p=p.slice(h.length)),f&&p.endsWith(f)&&(p=p.slice(0,p.length-f.length)),u=p}else u=decodeURI(z(l.map(h=>h.value)));return e["*"]=u,e._splat=u,!0}if(a.type===U){if(a.value==="/"&&!c?.value){i++;continue}if(c){if(n){if(a.value!==c.value)return!1}else if(a.value.toLowerCase()!==c.value.toLowerCase())return!1;r++,i++;continue}else return!1}if(a.type===ot){if(!c||c.value==="/")return!1;let l="",u=!1;if(a.prefixSegment||a.suffixSegment){const h=a.prefixSegment||"",f=a.suffixSegment||"",d=c.value;if(h&&!d.startsWith(h)||f&&!d.endsWith(f))return!1;let p=d;h&&p.startsWith(h)&&(p=p.slice(h.length)),f&&p.endsWith(f)&&(p=p.slice(0,p.length-f.length)),l=decodeURIComponent(p),u=!0}else l=decodeURIComponent(c.value),u=!0;u&&(e[a.value.substring(1)]=l,r++),i++;continue}if(a.type===ct){if(!c){i++;continue}if(c.value==="/"){i++;continue}let l="",u=!1;if(a.prefixSegment||a.suffixSegment){const h=a.prefixSegment||"",f=a.suffixSegment||"",d=c.value;if((!h||d.startsWith(h))&&(!f||d.endsWith(f))){let p=d;h&&p.startsWith(h)&&(p=p.slice(h.length)),f&&p.endsWith(f)&&(p=p.slice(0,p.length-f.length)),l=decodeURIComponent(p),u=!0}}else{let h=!0;for(let f=i+1;f=o.length)return e["**"]=z(t.slice(r).map(l=>l.value)),!!s&&o[o.length-1]?.value!=="/";if(i=t.length){for(let l=i;l{if(s.isRoot||!s.path)return;const r=ne(s.fullPath);let i=ut(r),c=0;for(;i.length>c+1&&i[c]?.value==="/";)c++;c>0&&(i=i.slice(c));let a=0,l=!1;const u=i.map((h,f)=>{if(h.value==="/")return jo;if(h.type===U)return No;let d;h.type===ot?d=Uo:h.type===ct?(d=Vo,a++):d=Wo;for(let p=f+1;p{const r=Math.min(s.scores.length,n.scores.length);for(let i=0;in.parsed[i].value?1:-1;return s.index-n.index}).map((s,n)=>(s.child.rank=n,s.child))}function Jo({routeTree:t,initRoute:o}){const e={},s={},n=i=>{i.forEach((c,a)=>{o?.(c,a);const l=e[c.id];if(K(!l,`Duplicate routes found with id: ${String(c.id)}`),e[c.id]=c,!c.isRoot&&c.path){const h=J(c.fullPath);(!s[h]||c.fullPath.endsWith("/"))&&(s[h]=c)}const u=c.children;u?.length&&n(u)})};n([t]);const r=qo(Object.values(e));return{routesById:e,routesByPath:s,flatRoutes:r}}function j(t){return!!t?.isNotFound}function Yo(){try{if(typeof window<"u"&&typeof window.sessionStorage=="object")return window.sessionStorage}catch{}}const kt="tsr-scroll-restoration-v1_3",Xo=(t,o)=>{let e;return(...s)=>{e||(e=setTimeout(()=>{t(...s),e=null},o))}};function Zo(){const t=Yo();if(!t)return null;const o=t.getItem(kt);let e=o?JSON.parse(o):{};return{state:e,set:s=>(e=Q(s,e)||e,t.setItem(kt,JSON.stringify(e)))}}const wt=Zo(),Qt=t=>t.state.__TSR_key||t.href;function Qo(t){const o=[];let e;for(;e=t.parentNode;)o.push(`${t.tagName}:nth-child(${Array.prototype.indexOf.call(e.children,t)+1})`),t=e;return`${o.reverse().join(" > ")}`.toLowerCase()}let Ot=!1;function We({storageKey:t,key:o,behavior:e,shouldScrollRestoration:s,scrollToTopSelectors:n,location:r}){let i;try{i=JSON.parse(sessionStorage.getItem(t)||"{}")}catch(l){console.error(l);return}const c=o||window.history.state?.__TSR_key,a=i[c];Ot=!0;t:{if(s&&a&&Object.keys(a).length>0){for(const h in a){const f=a[h];if(h==="window")window.scrollTo({top:f.scrollY,left:f.scrollX,behavior:e});else if(h){const d=document.querySelector(h);d&&(d.scrollLeft=f.scrollX,d.scrollTop=f.scrollY)}}break t}const l=(r??window.location).hash.split("#",2)[1];if(l){const h=window.history.state?.__hashScrollIntoViewOptions??!0;if(h){const f=document.getElementById(l);f&&f.scrollIntoView(h)}break t}const u={top:0,left:0,behavior:e};if(window.scrollTo(u),n)for(const h of n){if(h==="window")continue;const f=typeof h=="function"?h():document.querySelector(h);f&&f.scrollTo(u)}}Ot=!1}function ts(t,o){if(!wt&&!t.isServer||((t.options.scrollRestoration??!1)&&(t.isScrollRestoring=!0),t.isServer||t.isScrollRestorationSetup||!wt))return;t.isScrollRestorationSetup=!0,Ot=!1;const s=t.options.getScrollRestorationKey||Qt;window.history.scrollRestoration="manual";const n=r=>{if(Ot||!t.isScrollRestoring)return;let i="";if(r.target===document||r.target===window)i="window";else{const a=r.target.getAttribute("data-scroll-restoration-id");a?i=`[data-scroll-restoration-id="${a}"]`:i=Qo(r.target)}const c=s(t.state.location);wt.set(a=>{const l=a[c]||={},u=l[i]||={};if(i==="window")u.scrollX=window.scrollX||0,u.scrollY=window.scrollY||0;else if(i){const h=document.querySelector(i);h&&(u.scrollX=h.scrollLeft||0,u.scrollY=h.scrollTop||0)}return a})};typeof document<"u"&&document.addEventListener("scroll",Xo(n,100),!0),t.subscribe("onRendered",r=>{const i=s(r.toLocation);if(!t.resetNextScroll){t.resetNextScroll=!0;return}typeof t.options.scrollRestoration=="function"&&!t.options.scrollRestoration({location:t.latestLocation})||(We({storageKey:kt,key:i,behavior:t.options.scrollRestorationBehavior,shouldScrollRestoration:t.isScrollRestoring,scrollToTopSelectors:t.options.scrollToTopSelectors,location:t.history.location}),t.isScrollRestoring&&wt.set(c=>(c[i]||={},c)))})}function es(t){if(typeof document<"u"&&document.querySelector){const o=t.state.location.state.__hashScrollIntoViewOptions??!0;if(o&&t.state.location.hash!==""){const e=document.getElementById(t.state.location.hash);e&&e.scrollIntoView(o)}}}function os(t,o=String){const e=new URLSearchParams;for(const s in t){const n=t[s];n!==void 0&&e.set(s,o(n))}return e.toString()}function Vt(t){return t?t==="false"?!1:t==="true"?!0:+t*0===0&&+t+""===t?+t:t:""}function ss(t){const o=new URLSearchParams(t),e={};for(const[s,n]of o.entries()){const r=e[s];r==null?e[s]=Vt(n):Array.isArray(r)?r.push(Vt(n)):e[s]=[r,Vt(n)]}return e}const ns=is(JSON.parse),rs=as(JSON.stringify,JSON.parse);function is(t){return o=>{o[0]==="?"&&(o=o.substring(1));const e=ss(o);for(const s in e){const n=e[s];if(typeof n=="string")try{e[s]=t(n)}catch{}}return e}}function as(t,o){const e=typeof o=="function";function s(n){if(typeof n=="object"&&n!==null)try{return t(n)}catch{}else if(e&&typeof n=="string")try{return o(n),t(n)}catch{}return n}return n=>{const r=os(n,s);return r?`?${r}`:""}}const A="__root__";function cs(t){if(t.statusCode=t.statusCode||t.code||307,!t.reloadDocument&&typeof t.href=="string")try{new URL(t.href),t.reloadDocument=!0}catch{}const o=new Headers(t.headers);t.href&&o.get("Location")===null&&o.set("Location",t.href);const e=new Response(null,{status:t.statusCode,headers:o});if(e.options=t,t.throw)throw e;return e}function N(t){return t instanceof Response&&!!t.options}function us(t){const o=new Map;let e,s;const n=r=>{r.next&&(r.prev?(r.prev.next=r.next,r.next.prev=r.prev,r.next=void 0,s&&(s.next=r,r.prev=s)):(r.next.prev=void 0,e=r.next,r.next=void 0,s&&(r.prev=s,s.next=r)),s=r)};return{get(r){const i=o.get(r);if(i)return n(i),i.value},set(r,i){if(o.size>=t&&e){const a=e;o.delete(a.key),a.next&&(e=a.next,a.next.prev=void 0),a===s&&(s=void 0)}const c=o.get(r);if(c)c.value=i,n(c);else{const a={key:r,value:i,prev:s};s&&(s.next=a),s=a,e||(e=a),o.set(r,a)}}}}const Mt=t=>{if(!t.rendered)return t.rendered=!0,t.onReady?.()},At=(t,o)=>!!(t.preload&&!t.router.state.matches.some(e=>e.id===o)),ze=(t,o)=>{const e=t.router.routesById[o.routeId??""]??t.router.routeTree;!e.options.notFoundComponent&&t.router.options?.defaultNotFoundComponent&&(e.options.notFoundComponent=t.router.options.defaultNotFoundComponent),K(e.options.notFoundComponent);const s=t.matches.find(n=>n.routeId===e.id);K(s,"Could not find match for route: "+e.id),t.updateMatch(s.id,n=>({...n,status:"notFound",error:o,isFetching:!1})),o.routerCode==="BEFORE_LOAD"&&e.parentRoute&&(o.routeId=e.parentRoute.id,ze(t,o))},H=(t,o,e)=>{if(!(!N(e)&&!j(e))){if(N(e)&&e.redirectHandled&&!e.options.reloadDocument)throw e;if(o){o._nonReactive.beforeLoadPromise?.resolve(),o._nonReactive.loaderPromise?.resolve(),o._nonReactive.beforeLoadPromise=void 0,o._nonReactive.loaderPromise=void 0;const s=N(e)?"redirected":"notFound";o._nonReactive.error=e,t.updateMatch(o.id,n=>({...n,status:s,isFetching:!1,error:e})),j(e)&&!e.routeId&&(e.routeId=o.routeId),o._nonReactive.loadPromise?.resolve()}throw N(e)?(t.rendered=!0,e.options._fromLocation=t.location,e.redirectHandled=!0,e=t.router.resolveRedirect(e),e):(ze(t,e),e)}},Ke=(t,o)=>{const e=t.router.getMatch(o);return!!(!t.router.isServer&&e._nonReactive.dehydrated||t.router.isServer&&e.ssr===!1)},ht=(t,o,e,s)=>{const{id:n,routeId:r}=t.matches[o],i=t.router.looseRoutesById[r];if(e instanceof Promise)throw e;e.routerCode=s,t.firstBadMatchIndex??=o,H(t,t.router.getMatch(n),e);try{i.options.onError?.(e)}catch(c){e=c,H(t,t.router.getMatch(n),e)}t.updateMatch(n,c=>(c._nonReactive.beforeLoadPromise?.resolve(),c._nonReactive.beforeLoadPromise=void 0,c._nonReactive.loadPromise?.resolve(),{...c,error:e,status:"error",isFetching:!1,updatedAt:Date.now(),abortController:new AbortController}))},ls=(t,o,e,s)=>{const n=t.router.getMatch(o),r=t.matches[e-1]?.id,i=r?t.router.getMatch(r):void 0;if(t.router.isShell()){n.ssr=s.id===A;return}if(i?.ssr===!1){n.ssr=!1;return}const c=d=>d===!0&&i?.ssr==="data-only"?"data-only":d,a=t.router.options.defaultSsr??!0;if(s.options.ssr===void 0){n.ssr=c(a);return}if(typeof s.options.ssr!="function"){n.ssr=c(s.options.ssr);return}const{search:l,params:u}=n,h={search:xt(l,n.searchError),params:xt(u,n.paramsError),location:t.location,matches:t.matches.map(d=>({index:d.index,pathname:d.pathname,fullPath:d.fullPath,staticData:d.staticData,id:d.id,routeId:d.routeId,search:xt(d.search,d.searchError),params:xt(d.params,d.paramsError),ssr:d.ssr}))},f=s.options.ssr(h);if(q(f))return f.then(d=>{n.ssr=c(d??a)});n.ssr=c(f??a)},He=(t,o,e,s)=>{if(s._nonReactive.pendingTimeout!==void 0)return;const n=e.options.pendingMs??t.router.options.defaultPendingMs;if(!!(t.onReady&&!t.router.isServer&&!At(t,o)&&(e.options.loader||e.options.beforeLoad||Je(e))&&typeof n=="number"&&n!==1/0&&(e.options.pendingComponent??t.router.options?.defaultPendingComponent))){const i=setTimeout(()=>{Mt(t)},n);s._nonReactive.pendingTimeout=i}},hs=(t,o,e)=>{const s=t.router.getMatch(o);if(!s._nonReactive.beforeLoadPromise&&!s._nonReactive.loaderPromise)return;He(t,o,e,s);const n=()=>{const r=t.router.getMatch(o);r.preload&&(r.status==="redirected"||r.status==="notFound")&&H(t,r,r.error)};return s._nonReactive.beforeLoadPromise?s._nonReactive.beforeLoadPromise.then(n):n()},fs=(t,o,e,s)=>{const n=t.router.getMatch(o),r=n._nonReactive.loadPromise;n._nonReactive.loadPromise=it(()=>{r?.resolve()});const{paramsError:i,searchError:c}=n;i&&ht(t,e,i,"PARSE_PARAMS"),c&&ht(t,e,c,"VALIDATE_SEARCH"),He(t,o,s,n);const a=new AbortController,l=t.matches[e-1]?.id,f={...(l?t.router.getMatch(l):void 0)?.context??t.router.options.context??void 0,...n.__routeContext};let d=!1;const p=()=>{d||(d=!0,t.updateMatch(o,S=>({...S,isFetching:"beforeLoad",fetchCount:S.fetchCount+1,abortController:a,context:f})))},m=()=>{n._nonReactive.beforeLoadPromise?.resolve(),n._nonReactive.beforeLoadPromise=void 0,t.updateMatch(o,S=>({...S,isFetching:!1}))};if(!s.options.beforeLoad){gt(()=>{p(),m()});return}n._nonReactive.beforeLoadPromise=it();const{search:y,params:_,cause:x}=n,P=At(t,o),L={search:y,abortController:a,params:_,preload:P,context:f,location:t.location,navigate:S=>t.router.navigate({...S,_fromLocation:t.location}),buildLocation:t.router.buildLocation,cause:P?"preload":x,matches:t.matches,...t.router.options.additionalContext},E=S=>{if(S===void 0){gt(()=>{p(),m()});return}(N(S)||j(S))&&(p(),ht(t,e,S,"BEFORE_LOAD")),gt(()=>{p(),t.updateMatch(o,v=>({...v,__beforeLoadContext:S,context:{...v.context,...S}})),m()})};let w;try{if(w=s.options.beforeLoad(L),q(w))return p(),w.catch(S=>{ht(t,e,S,"BEFORE_LOAD")}).then(E)}catch(S){p(),ht(t,e,S,"BEFORE_LOAD")}E(w)},ds=(t,o)=>{const{id:e,routeId:s}=t.matches[o],n=t.router.looseRoutesById[s],r=()=>{if(t.router.isServer){const a=ls(t,e,o,n);if(q(a))return a.then(c)}return c()},i=()=>fs(t,e,o,n),c=()=>{if(Ke(t,e))return;const a=hs(t,e,n);return q(a)?a.then(i):i()};return r()},yt=(t,o,e)=>{const s=t.router.getMatch(o);if(!s||!e.options.head&&!e.options.scripts&&!e.options.headers)return;const n={matches:t.matches,match:s,params:s.params,loaderData:s.loaderData};return Promise.all([e.options.head?.(n),e.options.scripts?.(n),e.options.headers?.(n)]).then(([r,i,c])=>{const a=r?.meta,l=r?.links,u=r?.scripts,h=r?.styles;return{meta:a,links:l,headScripts:u,headers:c,scripts:i,styles:h}})},Ge=(t,o,e,s)=>{const n=t.matchPromises[e-1],{params:r,loaderDeps:i,abortController:c,cause:a}=t.router.getMatch(o);let l=t.router.options.context??{};for(let h=0;h<=e;h++){const f=t.matches[h];if(!f)continue;const d=t.router.getMatch(f.id);d&&(l={...l,...d.__routeContext??{},...d.__beforeLoadContext??{}})}const u=At(t,o);return{params:r,deps:i,preload:!!u,parentMatchPromise:n,abortController:c,context:l,location:t.location,navigate:h=>t.router.navigate({...h,_fromLocation:t.location}),cause:u?"preload":a,route:s,...t.router.options.additionalContext}},be=async(t,o,e,s)=>{try{const n=t.router.getMatch(o);try{(!t.router.isServer||n.ssr===!0)&&qe(s);const r=s.options.loader?.(Ge(t,o,e,s)),i=s.options.loader&&q(r);if(!!(i||s._lazyPromise||s._componentsPromise||s.options.head||s.options.scripts||s.options.headers||n._nonReactive.minPendingPromise)&&t.updateMatch(o,h=>({...h,isFetching:"loader"})),s.options.loader){const h=i?await r:r;H(t,t.router.getMatch(o),h),h!==void 0&&t.updateMatch(o,f=>({...f,loaderData:h}))}s._lazyPromise&&await s._lazyPromise;const a=yt(t,o,s),l=a?await a:void 0,u=n._nonReactive.minPendingPromise;u&&await u,s._componentsPromise&&await s._componentsPromise,t.updateMatch(o,h=>({...h,error:void 0,status:"success",isFetching:!1,updatedAt:Date.now(),...l}))}catch(r){let i=r;const c=n._nonReactive.minPendingPromise;c&&await c,j(r)&&await s.options.notFoundComponent?.preload?.(),H(t,t.router.getMatch(o),r);try{s.options.onError?.(r)}catch(u){i=u,H(t,t.router.getMatch(o),u)}const a=yt(t,o,s),l=a?await a:void 0;t.updateMatch(o,u=>({...u,error:i,status:"error",isFetching:!1,...l}))}}catch(n){const r=t.router.getMatch(o);if(r){const i=yt(t,o,s);if(i){const c=await i;t.updateMatch(o,a=>({...a,...c}))}r._nonReactive.loaderPromise=void 0}H(t,r,n)}},ps=async(t,o)=>{const{id:e,routeId:s}=t.matches[o];let n=!1,r=!1;const i=t.router.looseRoutesById[s];if(Ke(t,e)){if(t.router.isServer){const l=yt(t,e,i);if(l){const u=await l;t.updateMatch(e,h=>({...h,...u}))}return t.router.getMatch(e)}}else{const l=t.router.getMatch(e);if(l._nonReactive.loaderPromise){if(l.status==="success"&&!t.sync&&!l.preload)return l;await l._nonReactive.loaderPromise;const u=t.router.getMatch(e),h=u._nonReactive.error||u.error;h&&H(t,u,h)}else{const u=Date.now()-l.updatedAt,h=At(t,e),f=h?i.options.preloadStaleTime??t.router.options.defaultPreloadStaleTime??3e4:i.options.staleTime??t.router.options.defaultStaleTime??0,d=i.options.shouldReload,p=typeof d=="function"?d(Ge(t,e,o,i)):d,m=!!h&&!t.router.state.matches.some(P=>P.id===e),y=t.router.getMatch(e);y._nonReactive.loaderPromise=it(),m!==y.preload&&t.updateMatch(e,P=>({...P,preload:m}));const{status:_,invalid:x}=y;if(n=_==="success"&&(x||(p??u>f)),!(h&&i.options.preload===!1))if(n&&!t.sync)r=!0,(async()=>{try{await be(t,e,o,i);const P=t.router.getMatch(e);P._nonReactive.loaderPromise?.resolve(),P._nonReactive.loadPromise?.resolve(),P._nonReactive.loaderPromise=void 0}catch(P){N(P)&&await t.router.navigate(P.options)}})();else if(_!=="success"||n&&t.sync)await be(t,e,o,i);else{const P=yt(t,e,i);if(P){const L=await P;t.updateMatch(e,E=>({...E,...L}))}}}}const c=t.router.getMatch(e);r||(c._nonReactive.loaderPromise?.resolve(),c._nonReactive.loadPromise?.resolve()),clearTimeout(c._nonReactive.pendingTimeout),c._nonReactive.pendingTimeout=void 0,r||(c._nonReactive.loaderPromise=void 0),c._nonReactive.dehydrated=void 0;const a=r?c.isFetching:!1;return a!==c.isFetching||c.invalid!==!1?(t.updateMatch(e,l=>({...l,isFetching:a,invalid:!1})),t.router.getMatch(e)):c};async function Ee(t){const o=Object.assign(t,{matchPromises:[]});!o.router.isServer&&o.router.state.matches.some(e=>e._forcePending)&&Mt(o);try{for(let n=0;n{const{id:e,...s}=o.options;Object.assign(t.options,s),t._lazyLoaded=!0,t._lazyPromise=void 0}):t._lazyLoaded=!0),!t._componentsLoaded&&t._componentsPromise===void 0){const o=()=>{const e=[];for(const s of Ye){const n=t.options[s]?.preload;n&&e.push(n())}if(e.length)return Promise.all(e).then(()=>{t._componentsLoaded=!0,t._componentsPromise=void 0});t._componentsLoaded=!0,t._componentsPromise=void 0};t._componentsPromise=t._lazyPromise?t._lazyPromise.then(o):o()}return t._componentsPromise}function xt(t,o){return o?{status:"error",error:o}:{status:"success",value:t}}function Je(t){for(const o of Ye)if(t.options[o]?.preload)return!0;return!1}const Ye=["component","errorComponent","pendingComponent","notFoundComponent"];function ms(t){return{input:({url:o})=>{for(const e of t)o=Xe(e,o);return o},output:({url:o})=>{for(let e=t.length-1;e>=0;e--)o=Ze(t[e],o);return o}}}function gs(t){const o=Ct(t.basepath),e=`/${o}`,s=`${e}/`,n=t.caseSensitive?e:e.toLowerCase(),r=t.caseSensitive?s:s.toLowerCase();return{input:({url:i})=>{const c=t.caseSensitive?i.pathname:i.pathname.toLowerCase();return c===n?i.pathname="/":c.startsWith(r)&&(i.pathname=i.pathname.slice(e.length)),i},output:({url:i})=>(i.pathname=z(["/",o,i.pathname]),i)}}function Xe(t,o){const e=t?.input?.({url:o});if(e){if(typeof e=="string")return new URL(e);if(e instanceof URL)return e}return o}function Ze(t,o){const e=t?.output?.({url:o});if(e){if(typeof e=="string")return new URL(e);if(e instanceof URL)return e}return o}function et(t){const o=t.resolvedLocation,e=t.location,s=o?.pathname!==e.pathname,n=o?.href!==e.href,r=o?.hash!==e.hash;return{fromLocation:o,toLocation:e,pathChanged:s,hrefChanged:n,hashChanged:r}}class ys{constructor(o){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this.resetNextScroll=!0,this.shouldViewTransition=void 0,this.isViewTransitionTypesSupported=void 0,this.subscribers=new Set,this.isScrollRestoring=!1,this.isScrollRestorationSetup=!1,this.startTransition=e=>e(),this.update=e=>{e.notFoundRoute&&console.warn("The notFoundRoute API is deprecated and will be removed in the next major version. See https://tanstack.com/router/v1/docs/framework/react/guide/not-found-errors#migrating-from-notfoundroute for more info.");const s=this.options,n=this.basepath??s?.basepath??"/",r=this.basepath===void 0,i=s?.rewrite;this.options={...s,...e},this.isServer=this.options.isServer??typeof document>"u",this.pathParamsDecodeCharMap=this.options.pathParamsAllowedCharacters?new Map(this.options.pathParamsAllowedCharacters.map(f=>[encodeURIComponent(f),f])):void 0,(!this.history||this.options.history&&this.options.history!==this.history)&&(this.options.history?this.history=this.options.history:this.isServer||(this.history=Po())),this.origin=this.options.origin,this.origin||(!this.isServer&&window?.origin&&window.origin!=="null"?this.origin=window.origin:this.origin="http://localhost"),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree&&(this.routeTree=this.options.routeTree,this.buildRouteTree()),!this.__store&&this.latestLocation&&(this.__store=new _o(Ss(this.latestLocation),{onUpdate:()=>{this.__store.state={...this.state,cachedMatches:this.state.cachedMatches.filter(f=>!["redirected"].includes(f.status))}}}),ts(this));let c=!1;const a=this.options.basepath??"/",l=this.options.rewrite;if(r||n!==a||i!==l){this.basepath=a;const f=[];Ct(a)!==""&&f.push(gs({basepath:a})),l&&f.push(l),this.rewrite=f.length===0?void 0:f.length===1?f[0]:ms(f),this.history&&this.updateLatestLocation(),c=!0}c&&this.__store&&(this.__store.state={...this.state,location:this.latestLocation}),typeof window<"u"&&"CSS"in window&&typeof window.CSS?.supports=="function"&&(this.isViewTransitionTypesSupported=window.CSS.supports("selector(:active-view-transition-type(a)"))},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{const{routesById:e,routesByPath:s,flatRoutes:n}=Jo({routeTree:this.routeTree,initRoute:(i,c)=>{i.init({originalIndex:c})}});this.routesById=e,this.routesByPath=s,this.flatRoutes=n;const r=this.options.notFoundRoute;r&&(r.init({originalIndex:99999999999}),this.routesById[r.id]=r)},this.subscribe=(e,s)=>{const n={eventType:e,fn:s};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{this.subscribers.forEach(s=>{s.eventType===e.type&&s.fn(e)})},this.parseLocation=(e,s)=>{const n=({href:a,state:l})=>{const u=new URL(a,this.origin),h=Xe(this.rewrite,u),f=this.options.parseSearch(h.search),d=this.options.stringifySearch(f);h.search=d;const p=h.href.replace(h.origin,""),{pathname:m,hash:y}=h;return{href:p,publicHref:a,url:h.href,pathname:xe(m),searchStr:d,search:B(s?.search,f),hash:y.split("#").reverse()[0]??"",state:B(s?.state,l)}},r=n(e),{__tempLocation:i,__tempKey:c}=r.state;if(i&&(!c||c===this.tempLocationKey)){const a=n(i);return a.state.key=r.state.key,a.state.__TSR_key=r.state.__TSR_key,delete a.state.__tempLocation,{...a,maskedLocation:r}}return r},this.resolvePathWithBase=(e,s)=>Eo({base:e,to:se(s),trailingSlash:this.options.trailingSlash,parseCache:this.parsePathnameCache}),this.matchRoutes=(e,s,n)=>typeof e=="string"?this.matchRoutesInternal({pathname:e,search:s},n):this.matchRoutesInternal(e,s),this.parsePathnameCache=us(1e3),this.getMatchedRoutes=(e,s)=>_s({pathname:e,routePathname:s,caseSensitive:this.options.caseSensitive,routesByPath:this.routesByPath,routesById:this.routesById,flatRoutes:this.flatRoutes,parseCache:this.parsePathnameCache}),this.cancelMatch=e=>{const s=this.getMatch(e);s&&(s.abortController.abort(),clearTimeout(s._nonReactive.pendingTimeout),s._nonReactive.pendingTimeout=void 0)},this.cancelMatches=()=>{const e=this.state.matches.filter(r=>r.status==="pending"),s=this.state.matches.filter(r=>r.isFetching==="loader");new Set([...this.state.pendingMatches??[],...e,...s]).forEach(r=>{this.cancelMatch(r.id)})},this.buildLocation=e=>{const s=(r={})=>{const i=r._fromLocation||this.pendingBuiltLocation||this.latestLocation,c=this.matchRoutes(i,{_buildLocation:!0}),a=Xt(c);r.from;const l=r.unsafeRelative==="path"?i.pathname:r.from??a.fullPath,u=this.resolvePathWithBase(l,"."),h=a.search,f={...a.params},d=r.to?this.resolvePathWithBase(u,`${r.to}`):this.resolvePathWithBase(u,"."),p=r.params===!1||r.params===null?{}:(r.params??!0)===!0?f:Object.assign(f,Q(r.params,f)),m=Ut({path:d,params:p,parseCache:this.parsePathnameCache}).interpolatedPath,y=this.matchRoutes(m,void 0,{_buildLocation:!0}).map(M=>this.looseRoutesById[M.routeId]);if(Object.keys(p).length>0)for(const M of y){const T=M.options.params?.stringify??M.options.stringifyParams;T&&Object.assign(p,T(p))}const _=e.leaveParams?d:xe(Ut({path:d,params:p,decodeCharMap:this.pathParamsDecodeCharMap,parseCache:this.parsePathnameCache}).interpolatedPath);let x=h;if(e._includeValidateSearch&&this.options.search?.strict){const M={};y.forEach(T=>{if(T.options.validateSearch)try{Object.assign(M,te(T.options.validateSearch,{...M,...x}))}catch{}}),x=M}x=Rs({search:x,dest:r,destRoutes:y,_includeValidateSearch:e._includeValidateSearch}),x=B(h,x);const P=this.options.stringifySearch(x),L=r.hash===!0?i.hash:r.hash?Q(r.hash,i.hash):void 0,E=L?`#${L}`:"";let w=r.state===!0?i.state:r.state?Q(r.state,i.state):{};w=B(i.state,w);const S=`${_}${P}${E}`,v=new URL(S,this.origin),C=Ze(this.rewrite,v);return{publicHref:C.pathname+C.search+C.hash,href:S,url:C.href,pathname:_,search:x,searchStr:P,state:w,hash:L??"",unmaskOnReload:r.unmaskOnReload}},n=(r={},i)=>{const c=s(r);let a=i?s(i):void 0;if(!a){let l={};const u=this.options.routeMasks?.find(h=>{const f=Zt(c.pathname,{to:h.from,caseSensitive:!1,fuzzy:!1},this.parsePathnameCache);return f?(l=f,!0):!1});if(u){const{from:h,...f}=u;i={from:e.from,...f,params:l},a=s(i)}}return a&&(c.maskedLocation=a),c};return e.mask?n(e,{from:e.from,...e.mask}):n(e)},this.commitLocation=({viewTransition:e,ignoreBlocker:s,...n})=>{const r=()=>{const a=["key","__TSR_key","__TSR_index","__hashScrollIntoViewOptions"];a.forEach(u=>{n.state[u]=this.latestLocation.state[u]});const l=tt(n.state,this.latestLocation.state);return a.forEach(u=>{delete n.state[u]}),l},i=J(this.latestLocation.href)===J(n.href),c=this.commitLocationPromise;if(this.commitLocationPromise=it(()=>{c?.resolve()}),i&&r())this.load();else{let{maskedLocation:a,hashScrollIntoView:l,...u}=n;a&&(u={...a,state:{...a.state,__tempKey:void 0,__tempLocation:{...u,search:u.searchStr,state:{...u.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(u.unmaskOnReload??this.options.unmaskOnReload??!1)&&(u.state.__tempKey=this.tempLocationKey)),u.state.__hashScrollIntoViewOptions=l??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=e,this.history[n.replace?"replace":"push"](u.publicHref,u.state,{ignoreBlocker:s})}return this.resetNextScroll=n.resetScroll??!0,this.history.subscribers.size||this.load(),this.commitLocationPromise},this.buildAndCommitLocation=({replace:e,resetScroll:s,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,href:c,...a}={})=>{if(c){const h=this.history.location.state.__TSR_index,f=Et(c,{__TSR_index:e?h:h+1});a.to=f.pathname,a.search=this.options.parseSearch(f.search),a.hash=f.hash.slice(1)}const l=this.buildLocation({...a,_includeValidateSearch:!0});this.pendingBuiltLocation=l;const u=this.commitLocation({...l,viewTransition:r,replace:e,resetScroll:s,hashScrollIntoView:n,ignoreBlocker:i});return Promise.resolve().then(()=>{this.pendingBuiltLocation===l&&(this.pendingBuiltLocation=void 0)}),u},this.navigate=({to:e,reloadDocument:s,href:n,...r})=>{if(!s&&n)try{new URL(`${n}`),s=!0}catch{}return s?(n||(n=this.buildLocation({to:e,...r}).url),r.replace?window.location.replace(n):window.location.href=n,Promise.resolve()):this.buildAndCommitLocation({...r,href:n,to:e,_isNavigate:!0})},this.beforeLoad=()=>{if(this.cancelMatches(),this.updateLatestLocation(),this.isServer){const s=this.buildLocation({to:this.latestLocation.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0}),n=r=>{try{return encodeURI(decodeURI(r))}catch{return r}};if(Ct(n(this.latestLocation.href))!==Ct(n(s.href))){let r=s.url;throw this.origin&&r.startsWith(this.origin)&&(r=r.replace(this.origin,"")||"/"),cs({href:r})}}const e=this.matchRoutes(this.latestLocation);this.__store.setState(s=>({...s,status:"pending",statusCode:200,isLoading:!0,location:this.latestLocation,pendingMatches:e,cachedMatches:s.cachedMatches.filter(n=>!e.some(r=>r.id===n.id))}))},this.load=async e=>{let s,n,r;for(r=new Promise(c=>{this.startTransition(async()=>{try{this.beforeLoad();const a=this.latestLocation,l=this.state.resolvedLocation;this.state.redirect||this.emit({type:"onBeforeNavigate",...et({resolvedLocation:l,location:a})}),this.emit({type:"onBeforeLoad",...et({resolvedLocation:l,location:a})}),await Ee({router:this,sync:e?.sync,matches:this.state.pendingMatches,location:a,updateMatch:this.updateMatch,onReady:async()=>{this.startTransition(()=>{this.startViewTransition(async()=>{let u=[],h=[],f=[];gt(()=>{this.__store.setState(d=>{const p=d.matches,m=d.pendingMatches||d.matches;return u=p.filter(y=>!m.some(_=>_.id===y.id)),h=m.filter(y=>!p.some(_=>_.id===y.id)),f=m.filter(y=>p.some(_=>_.id===y.id)),{...d,isLoading:!1,loadedAt:Date.now(),matches:m,pendingMatches:void 0,cachedMatches:[...d.cachedMatches,...u.filter(y=>y.status!=="error")]}}),this.clearExpiredCache()}),[[u,"onLeave"],[h,"onEnter"],[f,"onStay"]].forEach(([d,p])=>{d.forEach(m=>{this.looseRoutesById[m.routeId].options[p]?.(m)})})})})}})}catch(a){N(a)?(s=a,this.isServer||this.navigate({...s.options,replace:!0,ignoreBlocker:!0})):j(a)&&(n=a),this.__store.setState(l=>({...l,statusCode:s?s.status:n?404:l.matches.some(u=>u.status==="error")?500:200,redirect:s}))}this.latestLoadPromise===r&&(this.commitLocationPromise?.resolve(),this.latestLoadPromise=void 0,this.commitLocationPromise=void 0),c()})}),this.latestLoadPromise=r,await r;this.latestLoadPromise&&r!==this.latestLoadPromise;)await this.latestLoadPromise;let i;this.hasNotFoundMatch()?i=404:this.__store.state.matches.some(c=>c.status==="error")&&(i=500),i!==void 0&&this.__store.setState(c=>({...c,statusCode:i}))},this.startViewTransition=e=>{const s=this.shouldViewTransition??this.options.defaultViewTransition;if(delete this.shouldViewTransition,s&&typeof document<"u"&&"startViewTransition"in document&&typeof document.startViewTransition=="function"){let n;if(typeof s=="object"&&this.isViewTransitionTypesSupported){const r=this.latestLocation,i=this.state.resolvedLocation,c=typeof s.types=="function"?s.types(et({resolvedLocation:i,location:r})):s.types;if(c===!1){e();return}n={update:e,types:c}}else n=e;document.startViewTransition(n)}else e()},this.updateMatch=(e,s)=>{this.startTransition(()=>{const n=this.state.pendingMatches?.some(r=>r.id===e)?"pendingMatches":this.state.matches.some(r=>r.id===e)?"matches":this.state.cachedMatches.some(r=>r.id===e)?"cachedMatches":"";n&&this.__store.setState(r=>({...r,[n]:r[n]?.map(i=>i.id===e?s(i):i)}))})},this.getMatch=e=>{const s=n=>n.id===e;return this.state.cachedMatches.find(s)??this.state.pendingMatches?.find(s)??this.state.matches.find(s)},this.invalidate=e=>{const s=n=>e?.filter?.(n)??!0?{...n,invalid:!0,...e?.forcePending||n.status==="error"?{status:"pending",error:void 0}:void 0}:n;return this.__store.setState(n=>({...n,matches:n.matches.map(s),cachedMatches:n.cachedMatches.map(s),pendingMatches:n.pendingMatches?.map(s)})),this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.resolveRedirect=e=>{if(!e.options.href){const s=this.buildLocation(e.options);let n=s.url;this.origin&&n.startsWith(this.origin)&&(n=n.replace(this.origin,"")||"/"),e.options.href=s.href,e.headers.set("Location",n)}return e.headers.get("Location")||e.headers.set("Location",e.options.href),e},this.clearCache=e=>{const s=e?.filter;s!==void 0?this.__store.setState(n=>({...n,cachedMatches:n.cachedMatches.filter(r=>!s(r))})):this.__store.setState(n=>({...n,cachedMatches:[]}))},this.clearExpiredCache=()=>{const e=s=>{const n=this.looseRoutesById[s.routeId];if(!n.options.loader)return!0;const r=(s.preload?n.options.preloadGcTime??this.options.defaultPreloadGcTime:n.options.gcTime??this.options.defaultGcTime)??300*1e3;return s.status==="error"?!0:Date.now()-s.updatedAt>=r};this.clearCache({filter:e})},this.loadRouteChunk=qe,this.preloadRoute=async e=>{const s=this.buildLocation(e);let n=this.matchRoutes(s,{throwOnError:!0,preload:!0,dest:e});const r=new Set([...this.state.matches,...this.state.pendingMatches??[]].map(c=>c.id)),i=new Set([...r,...this.state.cachedMatches.map(c=>c.id)]);gt(()=>{n.forEach(c=>{i.has(c.id)||this.__store.setState(a=>({...a,cachedMatches:[...a.cachedMatches,c]}))})});try{return n=await Ee({router:this,matches:n,location:s,preload:!0,updateMatch:(c,a)=>{r.has(c)?n=n.map(l=>l.id===c?a(l):l):this.updateMatch(c,a)}}),n}catch(c){if(N(c))return c.options.reloadDocument?void 0:await this.preloadRoute({...c.options,_fromLocation:s});j(c)||console.error(c);return}},this.matchRoute=(e,s)=>{const n={...e,to:e.to?this.resolvePathWithBase(e.from||"",e.to):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n);if(s?.pending&&this.state.status!=="pending")return!1;const c=(s?.pending===void 0?!this.state.isLoading:s.pending)?this.latestLocation:this.state.resolvedLocation||this.state.location,a=Zt(c.pathname,{...s,to:r.pathname},this.parsePathnameCache);return!a||e.params&&!tt(a,e.params,{partial:!0})?!1:a&&(s?.includeSearch??!0)?tt(c.search,r.search,{partial:!0})?a:!1:a},this.hasNotFoundMatch=()=>this.__store.state.matches.some(e=>e.status==="notFound"||e.globalNotFound),this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...o,caseSensitive:o.caseSensitive??!1,notFoundMode:o.notFoundMode??"fuzzy",stringifySearch:o.stringifySearch??rs,parseSearch:o.parseSearch??ns}),typeof document<"u"&&(self.__TSR_ROUTER__=this)}isShell(){return!!this.options.isShell}isPrerendering(){return!!this.options.isPrerendering}get state(){return this.__store.state}get looseRoutesById(){return this.routesById}matchRoutesInternal(o,e){const{foundRoute:s,matchedRoutes:n,routeParams:r}=this.getMatchedRoutes(o.pathname,e?.dest?.to);let i=!1;(s?s.path!=="/"&&r["**"]:J(o.pathname))&&(this.options.notFoundRoute?n.push(this.options.notFoundRoute):i=!0);const c=(()=>{if(i){if(this.options.notFoundMode!=="root")for(let u=n.length-1;u>=0;u--){const h=n[u];if(h.children)return h.id}return A}})(),a=[],l=u=>u?.id?u.context??this.options.context??void 0:this.options.context??void 0;return n.forEach((u,h)=>{const f=a[h-1],[d,p,m]=(()=>{const I=f?.search??o.search,Y=f?._strictSearch??void 0;try{const D=te(u.options.validateSearch,{...I})??void 0;return[{...I,...D},{...Y,...D},void 0]}catch(D){let X=D;if(D instanceof Ft||(X=new Ft(D.message,{cause:D})),e?.throwOnError)throw X;return[I,{},X]}})(),y=u.options.loaderDeps?.({search:d})??"",_=y?JSON.stringify(y):"",{interpolatedPath:x,usedParams:P}=Ut({path:u.fullPath,params:r,decodeCharMap:this.pathParamsDecodeCharMap}),L=u.id+x+_,E=this.getMatch(L),w=this.state.matches.find(I=>I.routeId===u.id),S=E?._strictParams??P;let v;if(!E){const I=u.options.params?.parse??u.options.parseParams;if(I)try{Object.assign(S,I(S))}catch(Y){if(v=new vs(Y.message,{cause:Y}),e?.throwOnError)throw v}}Object.assign(r,S);const C=w?"stay":"enter";let M;if(E)M={...E,cause:C,params:w?B(w.params,r):r,_strictParams:S,search:B(w?w.search:E.search,d),_strictSearch:p};else{const I=u.options.loader||u.options.beforeLoad||u.lazyFn||Je(u)?"pending":"success";M={id:L,index:h,routeId:u.id,params:w?B(w.params,r):r,_strictParams:S,pathname:x,updatedAt:Date.now(),search:w?B(w.search,d):d,_strictSearch:p,searchError:void 0,status:I,isFetching:!1,error:void 0,paramsError:v,__routeContext:void 0,_nonReactive:{loadPromise:it()},__beforeLoadContext:void 0,context:{},abortController:new AbortController,fetchCount:0,cause:C,loaderDeps:w?B(w.loaderDeps,y):y,invalid:!1,preload:!1,links:void 0,scripts:void 0,headScripts:void 0,meta:void 0,staticData:u.options.staticData||{},fullPath:u.fullPath}}e?.preload||(M.globalNotFound=c===u.id),M.searchError=m;const T=l(f);M.context={...T,...M.__routeContext,...M.__beforeLoadContext},a.push(M)}),a.forEach((u,h)=>{const f=this.looseRoutesById[u.routeId];if(!this.getMatch(u.id)&&e?._buildLocation!==!0){const p=a[h-1],m=l(p);if(f.options.context){const y={deps:u.loaderDeps,params:u.params,context:m??{},location:o,navigate:_=>this.navigate({..._,_fromLocation:o}),buildLocation:this.buildLocation,cause:u.cause,abortController:u.abortController,preload:!!u.preload,matches:a};u.__routeContext=f.options.context(y)??void 0}u.context={...m,...u.__routeContext,...u.__beforeLoadContext}}}),a}}class Ft extends Error{}class vs extends Error{}function Ss(t){return{loadedAt:0,isLoading:!1,isTransitioning:!1,status:"idle",resolvedLocation:void 0,location:t,matches:[],pendingMatches:[],cachedMatches:[],statusCode:200}}function te(t,o){if(t==null)return{};if("~standard"in t){const e=t["~standard"].validate(o);if(e instanceof Promise)throw new Ft("Async validation not supported");if(e.issues)throw new Ft(JSON.stringify(e.issues,void 0,2),{cause:e});return e.value}return"parse"in t?t.parse(o):typeof t=="function"?t(o):{}}function _s({pathname:t,routePathname:o,caseSensitive:e,routesByPath:s,routesById:n,flatRoutes:r,parseCache:i}){let c={};const a=J(t),l=d=>Zt(a,{to:d.fullPath,caseSensitive:d.options?.caseSensitive??e,fuzzy:!0},i);let u=o!==void 0?s[o]:void 0;if(u)c=l(u);else{let d;for(const p of r){const m=l(p);if(m)if(p.path!=="/"&&m["**"])d||(d={foundRoute:p,routeParams:m});else{u=p,c=m;break}}!u&&d&&(u=d.foundRoute,c=d.routeParams)}let h=u||n[A];const f=[h];for(;h.parentRoute;)h=h.parentRoute,f.push(h);return f.reverse(),{matchedRoutes:f,routeParams:c,foundRoute:u}}function Rs({search:t,dest:o,destRoutes:e,_includeValidateSearch:s}){const n=e.reduce((c,a)=>{const l=[];if("search"in a.options)a.options.search?.middlewares&&l.push(...a.options.search.middlewares);else if(a.options.preSearchFilters||a.options.postSearchFilters){const u=({search:h,next:f})=>{let d=h;"preSearchFilters"in a.options&&a.options.preSearchFilters&&(d=a.options.preSearchFilters.reduce((m,y)=>y(m),h));const p=f(d);return"postSearchFilters"in a.options&&a.options.postSearchFilters?a.options.postSearchFilters.reduce((m,y)=>y(m),p):p};l.push(u)}if(s&&a.options.validateSearch){const u=({search:h,next:f})=>{const d=f(h);try{return{...d,...te(a.options.validateSearch,d)??void 0}}catch{return d}};l.push(u)}return c.concat(l)},[])??[],r=({search:c})=>o.search?o.search===!0?c:Q(o.search,c):{};n.push(r);const i=(c,a)=>{if(c>=n.length)return a;const l=n[c];return l({search:a,next:h=>i(c+1,h)})};return i(0,t)}const Ps="Error preloading route! ☝️";class Qe{constructor(o){if(this.init=e=>{this.originalIndex=e.originalIndex;const s=this.options,n=!s?.path&&!s?.id;this.parentRoute=this.options.getParentRoute?.(),n?this._path=A:this.parentRoute||K(!1);let r=n?A:s?.path;r&&r!=="/"&&(r=ne(r));const i=s?.id||r;let c=n?A:z([this.parentRoute.id===A?"":this.parentRoute.id,i]);r===A&&(r="/"),c!==A&&(c=z(["/",c]));const a=c===A?"/":z([this.parentRoute.fullPath,r]);this._path=r,this._id=c,this._fullPath=a,this._to=a},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e=="object"&&e!==null&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.options=o||{},this.isRoot=!o?.getParentRoute,o?.id&&o?.path)throw new Error("Route cannot have both an 'id' and a 'path' option.")}get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}}class ws extends Qe{constructor(o){super(o)}}function re(t){const o=t.errorComponent??Bt;return g.jsx(xs,{getResetKey:t.getResetKey,onCatch:t.onCatch,children:({error:e,reset:s})=>e?R.createElement(o,{error:e,reset:s}):t.children})}class xs extends R.Component{constructor(){super(...arguments),this.state={error:null}}static getDerivedStateFromProps(o){return{resetKey:o.getResetKey()}}static getDerivedStateFromError(o){return{error:o}}reset(){this.setState({error:null})}componentDidUpdate(o,e){e.error&&e.resetKey!==this.state.resetKey&&this.reset()}componentDidCatch(o,e){this.props.onCatch&&this.props.onCatch(o,e)}render(){return this.props.children({error:this.state.resetKey!==this.props.getResetKey()?null:this.state.error,reset:()=>{this.reset()}})}}function Bt({error:t}){const[o,e]=R.useState(!1);return g.jsxs("div",{style:{padding:".5rem",maxWidth:"100%"},children:[g.jsxs("div",{style:{display:"flex",alignItems:"center",gap:".5rem"},children:[g.jsx("strong",{style:{fontSize:"1rem"},children:"Something went wrong!"}),g.jsx("button",{style:{appearance:"none",fontSize:".6em",border:"1px solid currentColor",padding:".1rem .2rem",fontWeight:"bold",borderRadius:".25rem"},onClick:()=>e(s=>!s),children:o?"Hide Error":"Show Error"})]}),g.jsx("div",{style:{height:".25rem"}}),o?g.jsx("div",{children:g.jsx("pre",{style:{fontSize:".7em",border:"1px solid red",borderRadius:".25rem",padding:".3rem",color:"red",overflow:"auto"},children:t.message?g.jsx("code",{children:t.message}):null})}):null]})}function Ls({children:t,fallback:o=null}){return Cs()?g.jsx(rt.Fragment,{children:t}):g.jsx(rt.Fragment,{children:o})}function Cs(){return rt.useSyncExternalStore(Ms,()=>!0,()=>!1)}function Ms(){return()=>{}}var Wt={exports:{}},zt={},Kt={exports:{}},Ht={};var Te;function bs(){if(Te)return Ht;Te=1;var t=ee();function o(h,f){return h===f&&(h!==0||1/h===1/f)||h!==h&&f!==f}var e=typeof Object.is=="function"?Object.is:o,s=t.useState,n=t.useEffect,r=t.useLayoutEffect,i=t.useDebugValue;function c(h,f){var d=f(),p=s({inst:{value:d,getSnapshot:f}}),m=p[0].inst,y=p[1];return r(function(){m.value=d,m.getSnapshot=f,a(m)&&y({inst:m})},[h,d,f]),n(function(){return a(m)&&y({inst:m}),h(function(){a(m)&&y({inst:m})})},[h]),i(d),d}function a(h){var f=h.getSnapshot;h=h.value;try{var d=f();return!e(h,d)}catch{return!0}}function l(h,f){return f()}var u=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?l:c;return Ht.useSyncExternalStore=t.useSyncExternalStore!==void 0?t.useSyncExternalStore:u,Ht}var Ie;function Es(){return Ie||(Ie=1,Kt.exports=bs()),Kt.exports}var ke;function Ts(){if(ke)return zt;ke=1;var t=ee(),o=Es();function e(l,u){return l===u&&(l!==0||1/l===1/u)||l!==l&&u!==u}var s=typeof Object.is=="function"?Object.is:e,n=o.useSyncExternalStore,r=t.useRef,i=t.useEffect,c=t.useMemo,a=t.useDebugValue;return zt.useSyncExternalStoreWithSelector=function(l,u,h,f,d){var p=r(null);if(p.current===null){var m={hasValue:!1,value:null};p.current=m}else m=p.current;p=c(function(){function _(w){if(!x){if(x=!0,P=w,w=f(w),d!==void 0&&m.hasValue){var S=m.value;if(d(S,w))return L=S}return L=w}if(S=L,s(P,w))return S;var v=f(w);return d!==void 0&&d(S,v)?(P=w,S):(P=w,L=v)}var x=!1,P,L,E=h===void 0?null:h;return[function(){return _(u())},E===null?void 0:function(){return _(E())}]},[u,h,f,d]);var y=n(l,p[0],p[1]);return i(function(){m.hasValue=!0,m.value=y},[y]),a(y),y},zt}var Oe;function Is(){return Oe||(Oe=1,Wt.exports=Ts()),Wt.exports}var ks=Is();function Os(t,o=s=>s,e={}){const s=e.equal??Fs;return ks.useSyncExternalStoreWithSelector(t.subscribe,()=>t.state,()=>t.state,o,s)}function Fs(t,o){if(Object.is(t,o))return!0;if(typeof t!="object"||t===null||typeof o!="object"||o===null)return!1;if(t instanceof Map&&o instanceof Map){if(t.size!==o.size)return!1;for(const[s,n]of t)if(!o.has(s)||!Object.is(n,o.get(s)))return!1;return!0}if(t instanceof Set&&o instanceof Set){if(t.size!==o.size)return!1;for(const s of t)if(!o.has(s))return!1;return!0}if(t instanceof Date&&o instanceof Date)return t.getTime()===o.getTime();const e=Fe(t);if(e.length!==Fe(o).length)return!1;for(let s=0;s"u"?Gt:window.__TSR_ROUTER_CONTEXT__?window.__TSR_ROUTER_CONTEXT__:(window.__TSR_ROUTER_CONTEXT__=Gt,Gt)}function F(t){const o=R.useContext(to());return t?.warn,o}function O(t){const o=F({warn:t?.router===void 0}),e=t?.router||o,s=R.useRef(void 0);return Os(e.__store,n=>{if(t?.select){if(t.structuralSharing??e.options.defaultStructuralSharing){const r=B(s.current,t.select(n));return s.current=r,r}return t.select(n)}return n})}const Dt=R.createContext(void 0),As=R.createContext(void 0);function V(t){const o=R.useContext(t.from?As:Dt);return O({select:s=>{const n=s.matches.find(r=>t.from?t.from===r.routeId:r.id===o);if(K(!((t.shouldThrow??!0)&&!n),`Could not find ${t.from?`an active match from "${t.from}"`:"a nearest match!"}`),n!==void 0)return t.select?t.select(n):n},structuralSharing:t.structuralSharing})}function ie(t){return V({from:t.from,strict:t.strict,structuralSharing:t.structuralSharing,select:o=>t.select?t.select(o.loaderData):o.loaderData})}function ae(t){const{select:o,...e}=t;return V({...e,select:s=>o?o(s.loaderDeps):s.loaderDeps})}function ce(t){return V({from:t.from,shouldThrow:t.shouldThrow,structuralSharing:t.structuralSharing,strict:t.strict,select:o=>{const e=t.strict===!1?o.params:o._strictParams;return t.select?t.select(e):e}})}function ue(t){return V({from:t.from,strict:t.strict,shouldThrow:t.shouldThrow,structuralSharing:t.structuralSharing,select:o=>t.select?t.select(o.search):o.search})}function le(t){const o=F();return R.useCallback(e=>o.navigate({...e,from:e.from??t?.from}),[t?.from,o])}var eo=po();const fn=Ne(eo),Lt=typeof window<"u"?R.useLayoutEffect:R.useEffect;function qt(t){const o=R.useRef({value:t,prev:null}),e=o.current.value;return t!==e&&(o.current={value:t,prev:e}),o.current.prev}function Bs(t,o,e={},s={}){R.useEffect(()=>{if(!t.current||s.disabled||typeof IntersectionObserver!="function")return;const n=new IntersectionObserver(([r])=>{o(r)},e);return n.observe(t.current),()=>{n.disconnect()}},[o,e,s.disabled,t])}function Ds(t){const o=R.useRef(null);return R.useImperativeHandle(t,()=>o.current,[]),o}function $s(t,o){const e=F(),[s,n]=R.useState(!1),r=R.useRef(!1),i=Ds(o),{activeProps:c,inactiveProps:a,activeOptions:l,to:u,preload:h,preloadDelay:f,hashScrollIntoView:d,replace:p,startTransition:m,resetScroll:y,viewTransition:_,children:x,target:P,disabled:L,style:E,className:w,onClick:S,onFocus:v,onMouseEnter:C,onMouseLeave:M,onTouchStart:T,ignoreBlocker:I,params:Y,search:D,hash:X,state:he,mask:ro,reloadDocument:rn,unsafeRelative:an,from:cn,_fromLocation:un,...fe}=t,io=O({select:b=>b.location.search,structuralSharing:!0}),de=t.from,lt=R.useMemo(()=>({...t,from:de}),[e,io,de,t._fromLocation,t.hash,t.to,t.search,t.params,t.state,t.mask,t.unsafeRelative]),W=R.useMemo(()=>e.buildLocation({...lt}),[e,lt]),vt=R.useMemo(()=>{if(L)return;let b=W.maskedLocation?W.maskedLocation.url:W.url,k=!1;return e.origin&&(b.startsWith(e.origin)?b=e.history.createHref(b.replace(e.origin,""))||"/":k=!0),{href:b,external:k}},[L,W.maskedLocation,W.url,e.origin,e.history]),St=R.useMemo(()=>{if(vt?.external)return vt.href;try{return new URL(u),u}catch{}},[u,vt]),st=t.reloadDocument||St?!1:h??e.options.defaultPreload,$t=f??e.options.defaultPreloadDelay??0,jt=O({select:b=>{if(St)return!1;if(l?.exact){if(!Mo(b.location.pathname,W.pathname,e.basepath))return!1}else{const k=It(b.location.pathname,e.basepath),$=It(W.pathname,e.basepath);if(!(k.startsWith($)&&(k.length===$.length||k[$.length]==="/")))return!1}return(l?.includeSearch??!0)&&!tt(b.location.search,W.search,{partial:!l?.exact,ignoreUndefined:!l?.explicitUndefined})?!1:l?.includeHash?b.location.hash===W.hash:!0}}),Z=R.useCallback(()=>{e.preloadRoute({...lt}).catch(b=>{console.warn(b),console.warn(Ps)})},[e,lt]),ao=R.useCallback(b=>{b?.isIntersecting&&Z()},[Z]);Bs(i,ao,Ws,{disabled:!!L||st!=="viewport"}),R.useEffect(()=>{r.current||!L&&st==="render"&&(Z(),r.current=!0)},[L,Z,st]);const co=b=>{const k=b.currentTarget.getAttribute("target"),$=P!==void 0?P:k;if(!L&&!zs(b)&&!b.defaultPrevented&&(!$||$==="_self")&&b.button===0){b.preventDefault(),eo.flushSync(()=>{n(!0)});const ye=e.subscribe("onResolved",()=>{ye(),n(!1)});e.navigate({...lt,replace:p,resetScroll:y,hashScrollIntoView:d,startTransition:m,viewTransition:_,ignoreBlocker:I})}};if(St)return{...fe,ref:i,href:St,...x&&{children:x},...P&&{target:P},...L&&{disabled:L},...E&&{style:E},...w&&{className:w},...S&&{onClick:S},...v&&{onFocus:v},...C&&{onMouseEnter:C},...M&&{onMouseLeave:M},...T&&{onTouchStart:T}};const pe=b=>{L||st&&Z()},uo=pe,lo=b=>{if(!(L||!st))if(!$t)Z();else{const k=b.target;if(ft.has(k))return;const $=setTimeout(()=>{ft.delete(k),Z()},$t);ft.set(k,$)}},ho=b=>{if(L||!st||!$t)return;const k=b.target,$=ft.get(k);$&&(clearTimeout($),ft.delete(k))},_t=jt?Q(c,{})??js:Jt,Rt=jt?Jt:Q(a,{})??Jt,me=[w,_t.className,Rt.className].filter(Boolean).join(" "),ge=(E||_t.style||Rt.style)&&{...E,..._t.style,...Rt.style};return{...fe,..._t,...Rt,href:vt?.href,ref:i,onClick:dt([S,co]),onFocus:dt([v,pe]),onMouseEnter:dt([C,lo]),onMouseLeave:dt([M,ho]),onTouchStart:dt([T,uo]),disabled:!!L,target:P,...ge&&{style:ge},...me&&{className:me},...L&&Ns,...jt&&Us,...s&&Vs}}const Jt={},js={className:"active"},Ns={role:"link","aria-disabled":!0},Us={"data-status":"active","aria-current":"page"},Vs={"data-transitioning":"transitioning"},ft=new WeakMap,Ws={rootMargin:"100px"},dt=t=>o=>{for(const e of t)if(e){if(o.defaultPrevented)return;e(o)}},oo=R.forwardRef((t,o)=>{const{_asChild:e,...s}=t,{type:n,ref:r,...i}=$s(s,o),c=typeof s.children=="function"?s.children({isActive:i["data-status"]==="active"}):s.children;return e===void 0&&delete i.disabled,R.createElement(e||"a",{...i,ref:r},c)});function zs(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}class Ks extends Qe{constructor(o){super(o),this.useMatch=e=>V({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>V({...e,from:this.id,select:s=>e?.select?e.select(s.context):s.context}),this.useSearch=e=>ue({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>ce({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>ae({...e,from:this.id}),this.useLoaderData=e=>ie({...e,from:this.id}),this.useNavigate=()=>le({from:this.fullPath}),this.Link=rt.forwardRef((e,s)=>g.jsx(oo,{ref:s,from:this.fullPath,...e})),this.$$typeof=Symbol.for("react.memo")}}function Hs(t){return new Ks(t)}class Gs extends ws{constructor(o){super(o),this.useMatch=e=>V({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>V({...e,from:this.id,select:s=>e?.select?e.select(s.context):s.context}),this.useSearch=e=>ue({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>ce({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>ae({...e,from:this.id}),this.useLoaderData=e=>ie({...e,from:this.id}),this.useNavigate=()=>le({from:this.fullPath}),this.Link=rt.forwardRef((e,s)=>g.jsx(oo,{ref:s,from:this.fullPath,...e})),this.$$typeof=Symbol.for("react.memo")}}function dn(t){return new Gs(t)}function Ae(t){return typeof t=="object"?new Be(t,{silent:!0}).createRoute(t):new Be(t,{silent:!0}).createRoute}class Be{constructor(o,e){this.path=o,this.createRoute=s=>{this.silent;const n=Hs(s);return n.isRoot=!1,n},this.silent=e?.silent}}class De{constructor(o){this.useMatch=e=>V({select:e?.select,from:this.options.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>V({from:this.options.id,select:s=>e?.select?e.select(s.context):s.context}),this.useSearch=e=>ue({select:e?.select,structuralSharing:e?.structuralSharing,from:this.options.id}),this.useParams=e=>ce({select:e?.select,structuralSharing:e?.structuralSharing,from:this.options.id}),this.useLoaderDeps=e=>ae({...e,from:this.options.id}),this.useLoaderData=e=>ie({...e,from:this.options.id}),this.useNavigate=()=>{const e=F();return le({from:e.routesById[this.options.id].fullPath})},this.options=o,this.$$typeof=Symbol.for("react.memo")}}function $e(t){return typeof t=="object"?new De(t):o=>new De({id:t,...o})}function qs(){const t=F(),o=R.useRef({router:t,mounted:!1}),[e,s]=R.useState(!1),{hasPendingMatches:n,isLoading:r}=O({select:h=>({isLoading:h.isLoading,hasPendingMatches:h.matches.some(f=>f.status==="pending")}),structuralSharing:!0}),i=qt(r),c=r||e||n,a=qt(c),l=r||n,u=qt(l);return t.startTransition=h=>{s(!0),R.startTransition(()=>{h(),s(!1)})},R.useEffect(()=>{const h=t.history.subscribe(t.load),f=t.buildLocation({to:t.latestLocation.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});return J(t.latestLocation.href)!==J(f.href)&&t.commitLocation({...f,replace:!0}),()=>{h()}},[t,t.history]),Lt(()=>{if(typeof window<"u"&&t.ssr||o.current.router===t&&o.current.mounted)return;o.current={router:t,mounted:!0},(async()=>{try{await t.load()}catch(f){console.error(f)}})()},[t]),Lt(()=>{i&&!r&&t.emit({type:"onLoad",...et(t.state)})},[i,t,r]),Lt(()=>{u&&!l&&t.emit({type:"onBeforeRouteMount",...et(t.state)})},[l,u,t]),Lt(()=>{a&&!c&&(t.emit({type:"onResolved",...et(t.state)}),t.__store.setState(h=>({...h,status:"idle",resolvedLocation:h.location})),es(t))},[c,a,t]),null}function Js(t){const o=O({select:e=>`not-found-${e.location.pathname}-${e.status}`});return g.jsx(re,{getResetKey:()=>o,onCatch:(e,s)=>{if(j(e))t.onCatch?.(e,s);else throw e},errorComponent:({error:e})=>{if(j(e))return t.fallback?.(e);throw e},children:t.children})}function Ys(){return g.jsx("p",{children:"Not Found"})}function nt(t){return g.jsx(g.Fragment,{children:t.children})}function so(t,o,e){return o.options.notFoundComponent?g.jsx(o.options.notFoundComponent,{data:e}):t.options.defaultNotFoundComponent?g.jsx(t.options.defaultNotFoundComponent,{data:e}):g.jsx(Ys,{})}function Xs({children:t}){const o=F();return o.isServer?g.jsx("script",{nonce:o.options.ssr?.nonce,className:"$tsr",dangerouslySetInnerHTML:{__html:[t].filter(Boolean).join(` +`)+";$_TSR.c()"}}):null}function Zs(){const t=F();if(!t.isScrollRestoring||!t.isServer||typeof t.options.scrollRestoration=="function"&&!t.options.scrollRestoration({location:t.latestLocation}))return null;const e=(t.options.getScrollRestorationKey||Qt)(t.latestLocation),s=e!==Qt(t.latestLocation)?e:void 0,n={storageKey:kt,shouldScrollRestoration:!0};return s&&(n.key=s),g.jsx(Xs,{children:`(${We.toString()})(${JSON.stringify(n)})`})}const no=R.memo(function({matchId:o}){const e=F(),s=O({select:_=>{const x=_.matches.find(P=>P.id===o);return K(x),{routeId:x.routeId,ssr:x.ssr,_displayPending:x._displayPending}},structuralSharing:!0}),n=e.routesById[s.routeId],r=n.options.pendingComponent??e.options.defaultPendingComponent,i=r?g.jsx(r,{}):null,c=n.options.errorComponent??e.options.defaultErrorComponent,a=n.options.onCatch??e.options.defaultOnCatch,l=n.isRoot?n.options.notFoundComponent??e.options.notFoundRoute?.options.component:n.options.notFoundComponent,u=s.ssr===!1||s.ssr==="data-only",h=(!n.isRoot||n.options.wrapInSuspense||u)&&(n.options.wrapInSuspense??r??(n.options.errorComponent?.preload||u))?R.Suspense:nt,f=c?re:nt,d=l?Js:nt,p=O({select:_=>_.loadedAt}),m=O({select:_=>{const x=_.matches.findIndex(P=>P.id===o);return _.matches[x-1]?.routeId}}),y=n.isRoot?n.options.shellComponent??nt:nt;return g.jsxs(y,{children:[g.jsx(Dt.Provider,{value:o,children:g.jsx(h,{fallback:i,children:g.jsx(f,{getResetKey:()=>p,errorComponent:c||Bt,onCatch:(_,x)=>{if(j(_))throw _;a?.(_,x)},children:g.jsx(d,{fallback:_=>{if(!l||_.routeId&&_.routeId!==s.routeId||!_.routeId&&!n.isRoot)throw _;return R.createElement(l,_)},children:u||s._displayPending?g.jsx(Ls,{fallback:i,children:g.jsx(je,{matchId:o})}):g.jsx(je,{matchId:o})})})})}),m===A&&e.options.scrollRestoration?g.jsxs(g.Fragment,{children:[g.jsx(Qs,{}),g.jsx(Zs,{})]}):null]})});function Qs(){const t=F(),o=R.useRef(void 0);return g.jsx("script",{suppressHydrationWarning:!0,ref:e=>{e&&(o.current===void 0||o.current.href!==t.latestLocation.href)&&(t.emit({type:"onRendered",...et(t.state)}),o.current=t.latestLocation)}},t.latestLocation.state.__TSR_key)}const je=R.memo(function({matchId:o}){const e=F(),{match:s,key:n,routeId:r}=O({select:a=>{const l=a.matches.find(p=>p.id===o),u=l.routeId,f=(e.routesById[u].options.remountDeps??e.options.defaultRemountDeps)?.({routeId:u,loaderDeps:l.loaderDeps,params:l._strictParams,search:l._strictSearch});return{key:f?JSON.stringify(f):void 0,routeId:u,match:{id:l.id,status:l.status,error:l.error,_forcePending:l._forcePending,_displayPending:l._displayPending}}},structuralSharing:!0}),i=e.routesById[r],c=R.useMemo(()=>{const a=i.options.component??e.options.defaultComponent;return a?g.jsx(a,{},n):g.jsx(tn,{})},[n,i.options.component,e.options.defaultComponent]);if(s._displayPending)throw e.getMatch(s.id)?._nonReactive.displayPendingPromise;if(s._forcePending)throw e.getMatch(s.id)?._nonReactive.minPendingPromise;if(s.status==="pending"){const a=i.options.pendingMinMs??e.options.defaultPendingMinMs;if(a){const l=e.getMatch(s.id);if(l&&!l._nonReactive.minPendingPromise&&!e.isServer){const u=it();l._nonReactive.minPendingPromise=u,setTimeout(()=>{u.resolve(),l._nonReactive.minPendingPromise=void 0},a)}}throw e.getMatch(s.id)?._nonReactive.loadPromise}if(s.status==="notFound")return K(j(s.error)),so(e,i,s.error);if(s.status==="redirected")throw K(N(s.error)),e.getMatch(s.id)?._nonReactive.loadPromise;if(s.status==="error"){if(e.isServer){const a=(i.options.errorComponent??e.options.defaultErrorComponent)||Bt;return g.jsx(a,{error:s.error,reset:void 0,info:{componentStack:""}})}throw s.error}return c}),tn=R.memo(function(){const o=F(),e=R.useContext(Dt),s=O({select:l=>l.matches.find(u=>u.id===e)?.routeId}),n=o.routesById[s],r=O({select:l=>{const h=l.matches.find(f=>f.id===e);return K(h),h.globalNotFound}}),i=O({select:l=>{const u=l.matches,h=u.findIndex(f=>f.id===e);return u[h+1]?.id}}),c=o.options.defaultPendingComponent?g.jsx(o.options.defaultPendingComponent,{}):null;if(r)return so(o,n,void 0);if(!i)return null;const a=g.jsx(no,{matchId:i});return s===A?g.jsx(R.Suspense,{fallback:c,children:a}):a});function en(){const t=F(),e=t.routesById[A].options.pendingComponent??t.options.defaultPendingComponent,s=e?g.jsx(e,{}):null,n=t.isServer||typeof document<"u"&&t.ssr?nt:R.Suspense,r=g.jsxs(n,{fallback:s,children:[!t.isServer&&g.jsx(qs,{}),g.jsx(on,{})]});return t.options.InnerWrap?g.jsx(t.options.InnerWrap,{children:r}):r}function on(){const t=F(),o=O({select:n=>n.matches[0]?.id}),e=O({select:n=>n.loadedAt}),s=o?g.jsx(no,{matchId:o}):null;return g.jsx(Dt.Provider,{value:o,children:t.options.disableGlobalCatchBoundary?s:g.jsx(re,{getResetKey:()=>e,errorComponent:Bt,onCatch:n=>{n.message||n.toString()},children:s})})}function pn(){const t=F();return O({select:o=>[o.location.href,o.resolvedLocation?.href,o.status],structuralSharing:!0}),R.useCallback(o=>{const{pending:e,caseSensitive:s,fuzzy:n,includeSearch:r,...i}=o;return t.matchRoute(i,{pending:e,caseSensitive:s,fuzzy:n,includeSearch:r})},[t])}const mn=t=>new sn(t);class sn extends ys{constructor(o){super(o)}}typeof globalThis<"u"?(globalThis.createFileRoute=Ae,globalThis.createLazyFileRoute=$e):typeof window<"u"&&(window.createFileRoute=Ae,window.createLazyFileRoute=$e);function nn({router:t,children:o,...e}){Object.keys(e).length>0&&t.update({...t.options,...e,context:{...t.options.context,...e.context}});const s=to(),n=g.jsx(s.Provider,{value:t,children:o});return t.options.Wrap?g.jsx(t.options.Wrap,{children:n}):n}function gn({router:t,...o}){return g.jsx(nn,{router:t,...o,children:g.jsx(en,{})})}export{oo as L,tn as O,rt as R,hn as a,eo as b,fn as c,pn as d,dn as e,Hs as f,mn as g,cs as h,K as i,g as j,gn as k,R as r,le as u}; diff --git a/webui/dist/assets/ui-vendor-nTGLnMlb.js b/webui/dist/assets/ui-vendor-nTGLnMlb.js new file mode 100644 index 00000000..0fcce437 --- /dev/null +++ b/webui/dist/assets/ui-vendor-nTGLnMlb.js @@ -0,0 +1,45 @@ +import{r as a,j as x,R as we,a as Vt,b as at,c as yr}from"./router-BWgTyY51.js";function k(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}function wr(e,t){const n=a.createContext(t),o=i=>{const{children:c,...s}=i,l=a.useMemo(()=>s,Object.values(s));return x.jsx(n.Provider,{value:l,children:c})};o.displayName=e+"Provider";function r(i){const c=a.useContext(n);if(c)return c;if(t!==void 0)return t;throw new Error(`\`${i}\` must be used within \`${e}\``)}return[o,r]}function Ve(e,t=[]){let n=[];function o(i,c){const s=a.createContext(c),l=n.length;n=[...n,c];const u=p=>{const{scope:h,children:m,...w}=p,f=h?.[e]?.[l]||s,g=a.useMemo(()=>w,Object.values(w));return x.jsx(f.Provider,{value:g,children:m})};u.displayName=i+"Provider";function d(p,h){const m=h?.[e]?.[l]||s,w=a.useContext(m);if(w)return w;if(c!==void 0)return c;throw new Error(`\`${p}\` must be used within \`${i}\``)}return[u,d]}const r=()=>{const i=n.map(c=>a.createContext(c));return function(s){const l=s?.[e]||i;return a.useMemo(()=>({[`__scope${e}`]:{...s,[e]:l}}),[s,l])}};return r.scopeName=e,[o,xr(r,...t)]}function xr(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const o=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(i){const c=o.reduce((s,{useScope:l,scopeName:u})=>{const p=l(i)[`__scope${u}`];return{...s,...p}},{});return a.useMemo(()=>({[`__scope${t.scopeName}`]:c}),[c])}};return n.scopeName=t.scopeName,n}function sn(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function _e(...e){return t=>{let n=!1;const o=e.map(r=>{const i=sn(r,t);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let r=0;r{const{children:i,...c}=o,s=a.Children.toArray(i),l=s.find(Cr);if(l){const u=l.props.children,d=s.map(p=>p===l?a.Children.count(u)>1?a.Children.only(null):a.isValidElement(u)?u.props.children:null:p);return x.jsx(t,{...c,ref:r,children:a.isValidElement(u)?a.cloneElement(u,void 0,d):null})}return x.jsx(t,{...c,ref:r,children:i})});return n.displayName=`${e}.Slot`,n}function Sr(e){const t=a.forwardRef((n,o)=>{const{children:r,...i}=n;if(a.isValidElement(r)){const c=Rr(r),s=Er(i,r.props);return r.type!==a.Fragment&&(s.ref=o?_e(o,c):c),a.cloneElement(r,s)}return a.Children.count(r)>1?a.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var br=Symbol("radix.slottable");function Cr(e){return a.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===br}function Er(e,t){const n={...t};for(const o in t){const r=e[o],i=t[o];/^on[A-Z]/.test(o)?r&&i?n[o]=(...s)=>{const l=i(...s);return r(...s),l}:r&&(n[o]=r):o==="style"?n[o]={...r,...i}:o==="className"&&(n[o]=[r,i].filter(Boolean).join(" "))}return{...e,...n}}function Rr(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Pr(e){const t=e+"CollectionProvider",[n,o]=Ve(t),[r,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),c=f=>{const{scope:g,children:y}=f,v=we.useRef(null),S=we.useRef(new Map).current;return x.jsx(r,{scope:g,itemMap:S,collectionRef:v,children:y})};c.displayName=t;const s=e+"CollectionSlot",l=cn(s),u=we.forwardRef((f,g)=>{const{scope:y,children:v}=f,S=i(s,y),b=H(g,S.collectionRef);return x.jsx(l,{ref:b,children:v})});u.displayName=s;const d=e+"CollectionItemSlot",p="data-radix-collection-item",h=cn(d),m=we.forwardRef((f,g)=>{const{scope:y,children:v,...S}=f,b=we.useRef(null),C=H(g,b),R=i(d,y);return we.useEffect(()=>(R.itemMap.set(b,{ref:b,...S}),()=>void R.itemMap.delete(b))),x.jsx(h,{[p]:"",ref:C,children:v})});m.displayName=d;function w(f){const g=i(e+"CollectionConsumer",f);return we.useCallback(()=>{const v=g.collectionRef.current;if(!v)return[];const S=Array.from(v.querySelectorAll(`[${p}]`));return Array.from(g.itemMap.values()).sort((R,E)=>S.indexOf(R.ref.current)-S.indexOf(E.ref.current))},[g.collectionRef,g.itemMap])}return[{Provider:c,Slot:u,ItemSlot:m},w,o]}var K=globalThis?.document?a.useLayoutEffect:()=>{},Ar=Vt[" useId ".trim().toString()]||(()=>{}),Or=0;function Te(e){const[t,n]=a.useState(Ar());return K(()=>{n(o=>o??String(Or++))},[e]),t?`radix-${t}`:""}function Tr(e){const t=Nr(e),n=a.forwardRef((o,r)=>{const{children:i,...c}=o,s=a.Children.toArray(i),l=s.find(Dr);if(l){const u=l.props.children,d=s.map(p=>p===l?a.Children.count(u)>1?a.Children.only(null):a.isValidElement(u)?u.props.children:null:p);return x.jsx(t,{...c,ref:r,children:a.isValidElement(u)?a.cloneElement(u,void 0,d):null})}return x.jsx(t,{...c,ref:r,children:i})});return n.displayName=`${e}.Slot`,n}function Nr(e){const t=a.forwardRef((n,o)=>{const{children:r,...i}=n;if(a.isValidElement(r)){const c=Mr(r),s=_r(i,r.props);return r.type!==a.Fragment&&(s.ref=o?_e(o,c):c),a.cloneElement(r,s)}return a.Children.count(r)>1?a.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Ir=Symbol("radix.slottable");function Dr(e){return a.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Ir}function _r(e,t){const n={...t};for(const o in t){const r=e[o],i=t[o];/^on[A-Z]/.test(o)?r&&i?n[o]=(...s)=>{const l=i(...s);return r(...s),l}:r&&(n[o]=r):o==="style"?n[o]={...r,...i}:o==="className"&&(n[o]=[r,i].filter(Boolean).join(" "))}return{...e,...n}}function Mr(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Lr=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],M=Lr.reduce((e,t)=>{const n=Tr(`Primitive.${t}`),o=a.forwardRef((r,i)=>{const{asChild:c,...s}=r,l=c?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),x.jsx(l,{...s,ref:i})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});function kr(e,t){e&&at.flushSync(()=>e.dispatchEvent(t))}function xe(e){const t=a.useRef(e);return a.useEffect(()=>{t.current=e}),a.useMemo(()=>(...n)=>t.current?.(...n),[])}var jr=Vt[" useInsertionEffect ".trim().toString()]||K;function et({prop:e,defaultProp:t,onChange:n=()=>{},caller:o}){const[r,i,c]=Fr({defaultProp:t,onChange:n}),s=e!==void 0,l=s?e:r;{const d=a.useRef(e!==void 0);a.useEffect(()=>{const p=d.current;p!==s&&console.warn(`${o} is changing from ${p?"controlled":"uncontrolled"} to ${s?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=s},[s,o])}const u=a.useCallback(d=>{if(s){const p=Wr(d)?d(e):d;p!==e&&c.current?.(p)}else i(d)},[s,e,i,c]);return[l,u]}function Fr({defaultProp:e,onChange:t}){const[n,o]=a.useState(e),r=a.useRef(n),i=a.useRef(t);return jr(()=>{i.current=t},[t]),a.useEffect(()=>{r.current!==n&&(i.current?.(n),r.current=n)},[n,r]),[n,o,i]}function Wr(e){return typeof e=="function"}var $r=a.createContext(void 0);function Br(e){const t=a.useContext($r);return e||t||"ltr"}function Vr(e,t){return a.useReducer((n,o)=>t[n][o]??n,e)}var He=e=>{const{present:t,children:n}=e,o=Hr(t),r=typeof n=="function"?n({present:o.isPresent}):a.Children.only(n),i=H(o.ref,Ur(r));return typeof n=="function"||o.isPresent?a.cloneElement(r,{ref:i}):null};He.displayName="Presence";function Hr(e){const[t,n]=a.useState(),o=a.useRef(null),r=a.useRef(e),i=a.useRef("none"),c=e?"mounted":"unmounted",[s,l]=Vr(c,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return a.useEffect(()=>{const u=ze(o.current);i.current=s==="mounted"?u:"none"},[s]),K(()=>{const u=o.current,d=r.current;if(d!==e){const h=i.current,m=ze(u);e?l("MOUNT"):m==="none"||u?.display==="none"?l("UNMOUNT"):l(d&&h!==m?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,l]),K(()=>{if(t){let u;const d=t.ownerDocument.defaultView??window,p=m=>{const f=ze(o.current).includes(CSS.escape(m.animationName));if(m.target===t&&f&&(l("ANIMATION_END"),!r.current)){const g=t.style.animationFillMode;t.style.animationFillMode="forwards",u=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=g)})}},h=m=>{m.target===t&&(i.current=ze(o.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{d.clearTimeout(u),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:a.useCallback(u=>{o.current=u?getComputedStyle(u):null,n(u)},[])}}function ze(e){return e?.animationName||"none"}function Ur(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function an(e,[t,n]){return Math.min(n,Math.max(t,e))}var zr=Symbol.for("react.lazy"),tt=Vt[" use ".trim().toString()];function Kr(e){return typeof e=="object"&&e!==null&&"then"in e}function Dn(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===zr&&"_payload"in e&&Kr(e._payload)}function _n(e){const t=Yr(e),n=a.forwardRef((o,r)=>{let{children:i,...c}=o;Dn(i)&&typeof tt=="function"&&(i=tt(i._payload));const s=a.Children.toArray(i),l=s.find(Gr);if(l){const u=l.props.children,d=s.map(p=>p===l?a.Children.count(u)>1?a.Children.only(null):a.isValidElement(u)?u.props.children:null:p);return x.jsx(t,{...c,ref:r,children:a.isValidElement(u)?a.cloneElement(u,void 0,d):null})}return x.jsx(t,{...c,ref:r,children:i})});return n.displayName=`${e}.Slot`,n}var wa=_n("Slot");function Yr(e){const t=a.forwardRef((n,o)=>{let{children:r,...i}=n;if(Dn(r)&&typeof tt=="function"&&(r=tt(r._payload)),a.isValidElement(r)){const c=Zr(r),s=qr(i,r.props);return r.type!==a.Fragment&&(s.ref=o?_e(o,c):c),a.cloneElement(r,s)}return a.Children.count(r)>1?a.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Xr=Symbol("radix.slottable");function Gr(e){return a.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Xr}function qr(e,t){const n={...t};for(const o in t){const r=e[o],i=t[o];/^on[A-Z]/.test(o)?r&&i?n[o]=(...s)=>{const l=i(...s);return r(...s),l}:r&&(n[o]=r):o==="style"?n[o]={...r,...i}:o==="className"&&(n[o]=[r,i].filter(Boolean).join(" "))}return{...e,...n}}function Zr(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Mn(e){const t=a.useRef({value:e,previous:e});return a.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function Ln(e){const[t,n]=a.useState(void 0);return K(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const o=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;const i=r[0];let c,s;if("borderBoxSize"in i){const l=i.borderBoxSize,u=Array.isArray(l)?l[0]:l;c=u.inlineSize,s=u.blockSize}else c=e.offsetWidth,s=e.offsetHeight;n({width:c,height:s})});return o.observe(e,{box:"border-box"}),()=>o.unobserve(e)}else n(void 0)},[e]),t}var Qr=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Jr=Qr.reduce((e,t)=>{const n=_n(`Primitive.${t}`),o=a.forwardRef((r,i)=>{const{asChild:c,...s}=r,l=c?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),x.jsx(l,{...s,ref:i})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{}),ei="Label",kn=a.forwardRef((e,t)=>x.jsx(Jr.label,{...e,ref:t,onMouseDown:n=>{n.target.closest("button, input, select, textarea")||(e.onMouseDown?.(n),!n.defaultPrevented&&n.detail>1&&n.preventDefault())}}));kn.displayName=ei;var xa=kn;function ti(e,t=globalThis?.document){const n=xe(e);a.useEffect(()=>{const o=r=>{r.key==="Escape"&&n(r)};return t.addEventListener("keydown",o,{capture:!0}),()=>t.removeEventListener("keydown",o,{capture:!0})},[n,t])}var ni="DismissableLayer",Dt="dismissableLayer.update",oi="dismissableLayer.pointerDownOutside",ri="dismissableLayer.focusOutside",ln,jn=a.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),lt=a.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:i,onInteractOutside:c,onDismiss:s,...l}=e,u=a.useContext(jn),[d,p]=a.useState(null),h=d?.ownerDocument??globalThis?.document,[,m]=a.useState({}),w=H(t,E=>p(E)),f=Array.from(u.layers),[g]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),y=f.indexOf(g),v=d?f.indexOf(d):-1,S=u.layersWithOutsidePointerEventsDisabled.size>0,b=v>=y,C=si(E=>{const O=E.target,_=[...u.branches].some(I=>I.contains(O));!b||_||(r?.(E),c?.(E),E.defaultPrevented||s?.())},h),R=ci(E=>{const O=E.target;[...u.branches].some(I=>I.contains(O))||(i?.(E),c?.(E),E.defaultPrevented||s?.())},h);return ti(E=>{v===u.layers.size-1&&(o?.(E),!E.defaultPrevented&&s&&(E.preventDefault(),s()))},h),a.useEffect(()=>{if(d)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(ln=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),un(),()=>{n&&u.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=ln)}},[d,h,n,u]),a.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),un())},[d,u]),a.useEffect(()=>{const E=()=>m({});return document.addEventListener(Dt,E),()=>document.removeEventListener(Dt,E)},[]),x.jsx(M.div,{...l,ref:w,style:{pointerEvents:S?b?"auto":"none":void 0,...e.style},onFocusCapture:k(e.onFocusCapture,R.onFocusCapture),onBlurCapture:k(e.onBlurCapture,R.onBlurCapture),onPointerDownCapture:k(e.onPointerDownCapture,C.onPointerDownCapture)})});lt.displayName=ni;var ii="DismissableLayerBranch",Fn=a.forwardRef((e,t)=>{const n=a.useContext(jn),o=a.useRef(null),r=H(t,o);return a.useEffect(()=>{const i=o.current;if(i)return n.branches.add(i),()=>{n.branches.delete(i)}},[n.branches]),x.jsx(M.div,{...e,ref:r})});Fn.displayName=ii;function si(e,t=globalThis?.document){const n=xe(e),o=a.useRef(!1),r=a.useRef(()=>{});return a.useEffect(()=>{const i=s=>{if(s.target&&!o.current){let l=function(){Wn(oi,n,u,{discrete:!0})};const u={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",r.current),r.current=l,t.addEventListener("click",r.current,{once:!0})):l()}else t.removeEventListener("click",r.current);o.current=!1},c=window.setTimeout(()=>{t.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(c),t.removeEventListener("pointerdown",i),t.removeEventListener("click",r.current)}},[t,n]),{onPointerDownCapture:()=>o.current=!0}}function ci(e,t=globalThis?.document){const n=xe(e),o=a.useRef(!1);return a.useEffect(()=>{const r=i=>{i.target&&!o.current&&Wn(ri,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",r),()=>t.removeEventListener("focusin",r)},[t,n]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function un(){const e=new CustomEvent(Dt);document.dispatchEvent(e)}function Wn(e,t,n,{discrete:o}){const r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),o?kr(r,i):r.dispatchEvent(i)}var Sa=lt,ba=Fn,Ct="focusScope.autoFocusOnMount",Et="focusScope.autoFocusOnUnmount",fn={bubbles:!1,cancelable:!0},ai="FocusScope",Ht=a.forwardRef((e,t)=>{const{loop:n=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:i,...c}=e,[s,l]=a.useState(null),u=xe(r),d=xe(i),p=a.useRef(null),h=H(t,f=>l(f)),m=a.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;a.useEffect(()=>{if(o){let f=function(S){if(m.paused||!s)return;const b=S.target;s.contains(b)?p.current=b:ue(p.current,{select:!0})},g=function(S){if(m.paused||!s)return;const b=S.relatedTarget;b!==null&&(s.contains(b)||ue(p.current,{select:!0}))},y=function(S){if(document.activeElement===document.body)for(const C of S)C.removedNodes.length>0&&ue(s)};document.addEventListener("focusin",f),document.addEventListener("focusout",g);const v=new MutationObserver(y);return s&&v.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",f),document.removeEventListener("focusout",g),v.disconnect()}}},[o,s,m.paused]),a.useEffect(()=>{if(s){pn.add(m);const f=document.activeElement;if(!s.contains(f)){const y=new CustomEvent(Ct,fn);s.addEventListener(Ct,u),s.dispatchEvent(y),y.defaultPrevented||(li(mi($n(s)),{select:!0}),document.activeElement===f&&ue(s))}return()=>{s.removeEventListener(Ct,u),setTimeout(()=>{const y=new CustomEvent(Et,fn);s.addEventListener(Et,d),s.dispatchEvent(y),y.defaultPrevented||ue(f??document.body,{select:!0}),s.removeEventListener(Et,d),pn.remove(m)},0)}}},[s,u,d,m]);const w=a.useCallback(f=>{if(!n&&!o||m.paused)return;const g=f.key==="Tab"&&!f.altKey&&!f.ctrlKey&&!f.metaKey,y=document.activeElement;if(g&&y){const v=f.currentTarget,[S,b]=ui(v);S&&b?!f.shiftKey&&y===b?(f.preventDefault(),n&&ue(S,{select:!0})):f.shiftKey&&y===S&&(f.preventDefault(),n&&ue(b,{select:!0})):y===v&&f.preventDefault()}},[n,o,m.paused]);return x.jsx(M.div,{tabIndex:-1,...c,ref:h,onKeyDown:w})});Ht.displayName=ai;function li(e,{select:t=!1}={}){const n=document.activeElement;for(const o of e)if(ue(o,{select:t}),document.activeElement!==n)return}function ui(e){const t=$n(e),n=dn(t,e),o=dn(t.reverse(),e);return[n,o]}function $n(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function dn(e,t){for(const n of e)if(!fi(n,{upTo:t}))return n}function fi(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function di(e){return e instanceof HTMLInputElement&&"select"in e}function ue(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&di(e)&&t&&e.select()}}var pn=pi();function pi(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=mn(e,t),e.unshift(t)},remove(t){e=mn(e,t),e[0]?.resume()}}}function mn(e,t){const n=[...e],o=n.indexOf(t);return o!==-1&&n.splice(o,1),n}function mi(e){return e.filter(t=>t.tagName!=="A")}var hi="Portal",Ut=a.forwardRef((e,t)=>{const{container:n,...o}=e,[r,i]=a.useState(!1);K(()=>i(!0),[]);const c=n||r&&globalThis?.document?.body;return c?yr.createPortal(x.jsx(M.div,{...o,ref:t}),c):null});Ut.displayName=hi;var Rt=0;function Bn(){a.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??hn()),document.body.insertAdjacentElement("beforeend",e[1]??hn()),Rt++,()=>{Rt===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),Rt--}},[])}function hn(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var ne=function(){return ne=Object.assign||function(t){for(var n,o=1,r=arguments.length;o"u")return Di;var t=_i(e),n=document.documentElement.clientWidth,o=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,o-n+t[2]-t[0])}},Li=zn(),Ne="data-scroll-locked",ki=function(e,t,n,o){var r=e.left,i=e.top,c=e.right,s=e.gap;return n===void 0&&(n="margin"),` + .`.concat(vi,` { + overflow: hidden `).concat(o,`; + padding-right: `).concat(s,"px ").concat(o,`; + } + body[`).concat(Ne,`] { + overflow: hidden `).concat(o,`; + overscroll-behavior: contain; + `).concat([t&&"position: relative ".concat(o,";"),n==="margin"&&` + padding-left: `.concat(r,`px; + padding-top: `).concat(i,`px; + padding-right: `).concat(c,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(s,"px ").concat(o,`; + `),n==="padding"&&"padding-right: ".concat(s,"px ").concat(o,";")].filter(Boolean).join(""),` + } + + .`).concat(Ze,` { + right: `).concat(s,"px ").concat(o,`; + } + + .`).concat(Qe,` { + margin-right: `).concat(s,"px ").concat(o,`; + } + + .`).concat(Ze," .").concat(Ze,` { + right: 0 `).concat(o,`; + } + + .`).concat(Qe," .").concat(Qe,` { + margin-right: 0 `).concat(o,`; + } + + body[`).concat(Ne,`] { + `).concat(yi,": ").concat(s,`px; + } +`)},vn=function(){var e=parseInt(document.body.getAttribute(Ne)||"0",10);return isFinite(e)?e:0},ji=function(){a.useEffect(function(){return document.body.setAttribute(Ne,(vn()+1).toString()),function(){var e=vn()-1;e<=0?document.body.removeAttribute(Ne):document.body.setAttribute(Ne,e.toString())}},[])},Fi=function(e){var t=e.noRelative,n=e.noImportant,o=e.gapMode,r=o===void 0?"margin":o;ji();var i=a.useMemo(function(){return Mi(r)},[r]);return a.createElement(Li,{styles:ki(i,!t,r,n?"":"!important")})},_t=!1;if(typeof window<"u")try{var Ke=Object.defineProperty({},"passive",{get:function(){return _t=!0,!0}});window.addEventListener("test",Ke,Ke),window.removeEventListener("test",Ke,Ke)}catch{_t=!1}var Pe=_t?{passive:!1}:!1,Wi=function(e){return e.tagName==="TEXTAREA"},Kn=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Wi(e)&&n[t]==="visible")},$i=function(e){return Kn(e,"overflowY")},Bi=function(e){return Kn(e,"overflowX")},yn=function(e,t){var n=t.ownerDocument,o=t;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var r=Yn(e,o);if(r){var i=Xn(e,o),c=i[1],s=i[2];if(c>s)return!0}o=o.parentNode}while(o&&o!==n.body);return!1},Vi=function(e){var t=e.scrollTop,n=e.scrollHeight,o=e.clientHeight;return[t,n,o]},Hi=function(e){var t=e.scrollLeft,n=e.scrollWidth,o=e.clientWidth;return[t,n,o]},Yn=function(e,t){return e==="v"?$i(t):Bi(t)},Xn=function(e,t){return e==="v"?Vi(t):Hi(t)},Ui=function(e,t){return e==="h"&&t==="rtl"?-1:1},zi=function(e,t,n,o,r){var i=Ui(e,window.getComputedStyle(t).direction),c=i*o,s=n.target,l=t.contains(s),u=!1,d=c>0,p=0,h=0;do{if(!s)break;var m=Xn(e,s),w=m[0],f=m[1],g=m[2],y=f-g-i*w;(w||y)&&Yn(e,s)&&(p+=y,h+=w);var v=s.parentNode;s=v&&v.nodeType===Node.DOCUMENT_FRAGMENT_NODE?v.host:v}while(!l&&s!==document.body||l&&(t.contains(s)||t===s));return(d&&Math.abs(p)<1||!d&&Math.abs(h)<1)&&(u=!0),u},Ye=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},wn=function(e){return[e.deltaX,e.deltaY]},xn=function(e){return e&&"current"in e?e.current:e},Ki=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Yi=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},Xi=0,Ae=[];function Gi(e){var t=a.useRef([]),n=a.useRef([0,0]),o=a.useRef(),r=a.useState(Xi++)[0],i=a.useState(zn)[0],c=a.useRef(e);a.useEffect(function(){c.current=e},[e]),a.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(r));var f=gi([e.lockRef.current],(e.shards||[]).map(xn),!0).filter(Boolean);return f.forEach(function(g){return g.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),f.forEach(function(g){return g.classList.remove("allow-interactivity-".concat(r))})}}},[e.inert,e.lockRef.current,e.shards]);var s=a.useCallback(function(f,g){if("touches"in f&&f.touches.length===2||f.type==="wheel"&&f.ctrlKey)return!c.current.allowPinchZoom;var y=Ye(f),v=n.current,S="deltaX"in f?f.deltaX:v[0]-y[0],b="deltaY"in f?f.deltaY:v[1]-y[1],C,R=f.target,E=Math.abs(S)>Math.abs(b)?"h":"v";if("touches"in f&&E==="h"&&R.type==="range")return!1;var O=yn(E,R);if(!O)return!0;if(O?C=E:(C=E==="v"?"h":"v",O=yn(E,R)),!O)return!1;if(!o.current&&"changedTouches"in f&&(S||b)&&(o.current=C),!C)return!0;var _=o.current||C;return zi(_,g,f,_==="h"?S:b)},[]),l=a.useCallback(function(f){var g=f;if(!(!Ae.length||Ae[Ae.length-1]!==i)){var y="deltaY"in g?wn(g):Ye(g),v=t.current.filter(function(C){return C.name===g.type&&(C.target===g.target||g.target===C.shadowParent)&&Ki(C.delta,y)})[0];if(v&&v.should){g.cancelable&&g.preventDefault();return}if(!v){var S=(c.current.shards||[]).map(xn).filter(Boolean).filter(function(C){return C.contains(g.target)}),b=S.length>0?s(g,S[0]):!c.current.noIsolation;b&&g.cancelable&&g.preventDefault()}}},[]),u=a.useCallback(function(f,g,y,v){var S={name:f,delta:g,target:y,should:v,shadowParent:qi(y)};t.current.push(S),setTimeout(function(){t.current=t.current.filter(function(b){return b!==S})},1)},[]),d=a.useCallback(function(f){n.current=Ye(f),o.current=void 0},[]),p=a.useCallback(function(f){u(f.type,wn(f),f.target,s(f,e.lockRef.current))},[]),h=a.useCallback(function(f){u(f.type,Ye(f),f.target,s(f,e.lockRef.current))},[]);a.useEffect(function(){return Ae.push(i),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:h}),document.addEventListener("wheel",l,Pe),document.addEventListener("touchmove",l,Pe),document.addEventListener("touchstart",d,Pe),function(){Ae=Ae.filter(function(f){return f!==i}),document.removeEventListener("wheel",l,Pe),document.removeEventListener("touchmove",l,Pe),document.removeEventListener("touchstart",d,Pe)}},[]);var m=e.removeScrollBar,w=e.inert;return a.createElement(a.Fragment,null,w?a.createElement(i,{styles:Yi(r)}):null,m?a.createElement(Fi,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function qi(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Zi=Ri(Un,Gi);var zt=a.forwardRef(function(e,t){return a.createElement(ut,ne({},e,{ref:t,sideCar:Zi}))});zt.classNames=ut.classNames;var Qi=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Oe=new WeakMap,Xe=new WeakMap,Ge={},Tt=0,Gn=function(e){return e&&(e.host||Gn(e.parentNode))},Ji=function(e,t){return t.map(function(n){if(e.contains(n))return n;var o=Gn(n);return o&&e.contains(o)?o:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},es=function(e,t,n,o){var r=Ji(t,Array.isArray(e)?e:[e]);Ge[n]||(Ge[n]=new WeakMap);var i=Ge[n],c=[],s=new Set,l=new Set(r),u=function(p){!p||s.has(p)||(s.add(p),u(p.parentNode))};r.forEach(u);var d=function(p){!p||l.has(p)||Array.prototype.forEach.call(p.children,function(h){if(s.has(h))d(h);else try{var m=h.getAttribute(o),w=m!==null&&m!=="false",f=(Oe.get(h)||0)+1,g=(i.get(h)||0)+1;Oe.set(h,f),i.set(h,g),c.push(h),f===1&&w&&Xe.set(h,!0),g===1&&h.setAttribute(n,"true"),w||h.setAttribute(o,"true")}catch(y){console.error("aria-hidden: cannot operate on ",h,y)}})};return d(t),s.clear(),Tt++,function(){c.forEach(function(p){var h=Oe.get(p)-1,m=i.get(p)-1;Oe.set(p,h),i.set(p,m),h||(Xe.has(p)||p.removeAttribute(o),Xe.delete(p)),m||p.removeAttribute(n)}),Tt--,Tt||(Oe=new WeakMap,Oe=new WeakMap,Xe=new WeakMap,Ge={})}},qn=function(e,t,n){n===void 0&&(n="data-aria-hidden");var o=Array.from(Array.isArray(e)?e:[e]),r=Qi(e);return r?(o.push.apply(o,Array.from(r.querySelectorAll("[aria-live], script"))),es(o,r,n,"aria-hidden")):function(){return null}};function ts(e){const t=ns(e),n=a.forwardRef((o,r)=>{const{children:i,...c}=o,s=a.Children.toArray(i),l=s.find(rs);if(l){const u=l.props.children,d=s.map(p=>p===l?a.Children.count(u)>1?a.Children.only(null):a.isValidElement(u)?u.props.children:null:p);return x.jsx(t,{...c,ref:r,children:a.isValidElement(u)?a.cloneElement(u,void 0,d):null})}return x.jsx(t,{...c,ref:r,children:i})});return n.displayName=`${e}.Slot`,n}function ns(e){const t=a.forwardRef((n,o)=>{const{children:r,...i}=n;if(a.isValidElement(r)){const c=ss(r),s=is(i,r.props);return r.type!==a.Fragment&&(s.ref=o?_e(o,c):c),a.cloneElement(r,s)}return a.Children.count(r)>1?a.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var os=Symbol("radix.slottable");function rs(e){return a.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===os}function is(e,t){const n={...t};for(const o in t){const r=e[o],i=t[o];/^on[A-Z]/.test(o)?r&&i?n[o]=(...s)=>{const l=i(...s);return r(...s),l}:r&&(n[o]=r):o==="style"?n[o]={...r,...i}:o==="className"&&(n[o]=[r,i].filter(Boolean).join(" "))}return{...e,...n}}function ss(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var ft="Dialog",[Zn,Ca]=Ve(ft),[cs,te]=Zn(ft),Qn=e=>{const{__scopeDialog:t,children:n,open:o,defaultOpen:r,onOpenChange:i,modal:c=!0}=e,s=a.useRef(null),l=a.useRef(null),[u,d]=et({prop:o,defaultProp:r??!1,onChange:i,caller:ft});return x.jsx(cs,{scope:t,triggerRef:s,contentRef:l,contentId:Te(),titleId:Te(),descriptionId:Te(),open:u,onOpenChange:d,onOpenToggle:a.useCallback(()=>d(p=>!p),[d]),modal:c,children:n})};Qn.displayName=ft;var Jn="DialogTrigger",eo=a.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=te(Jn,n),i=H(t,r.triggerRef);return x.jsx(M.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":Xt(r.open),...o,ref:i,onClick:k(e.onClick,r.onOpenToggle)})});eo.displayName=Jn;var Kt="DialogPortal",[as,to]=Zn(Kt,{forceMount:void 0}),no=e=>{const{__scopeDialog:t,forceMount:n,children:o,container:r}=e,i=te(Kt,t);return x.jsx(as,{scope:t,forceMount:n,children:a.Children.map(o,c=>x.jsx(He,{present:n||i.open,children:x.jsx(Ut,{asChild:!0,container:r,children:c})}))})};no.displayName=Kt;var nt="DialogOverlay",oo=a.forwardRef((e,t)=>{const n=to(nt,e.__scopeDialog),{forceMount:o=n.forceMount,...r}=e,i=te(nt,e.__scopeDialog);return i.modal?x.jsx(He,{present:o||i.open,children:x.jsx(us,{...r,ref:t})}):null});oo.displayName=nt;var ls=ts("DialogOverlay.RemoveScroll"),us=a.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=te(nt,n);return x.jsx(zt,{as:ls,allowPinchZoom:!0,shards:[r.contentRef],children:x.jsx(M.div,{"data-state":Xt(r.open),...o,ref:t,style:{pointerEvents:"auto",...o.style}})})}),Se="DialogContent",ro=a.forwardRef((e,t)=>{const n=to(Se,e.__scopeDialog),{forceMount:o=n.forceMount,...r}=e,i=te(Se,e.__scopeDialog);return x.jsx(He,{present:o||i.open,children:i.modal?x.jsx(fs,{...r,ref:t}):x.jsx(ds,{...r,ref:t})})});ro.displayName=Se;var fs=a.forwardRef((e,t)=>{const n=te(Se,e.__scopeDialog),o=a.useRef(null),r=H(t,n.contentRef,o);return a.useEffect(()=>{const i=o.current;if(i)return qn(i)},[]),x.jsx(io,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:k(e.onCloseAutoFocus,i=>{i.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:k(e.onPointerDownOutside,i=>{const c=i.detail.originalEvent,s=c.button===0&&c.ctrlKey===!0;(c.button===2||s)&&i.preventDefault()}),onFocusOutside:k(e.onFocusOutside,i=>i.preventDefault())})}),ds=a.forwardRef((e,t)=>{const n=te(Se,e.__scopeDialog),o=a.useRef(!1),r=a.useRef(!1);return x.jsx(io,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{e.onCloseAutoFocus?.(i),i.defaultPrevented||(o.current||n.triggerRef.current?.focus(),i.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:i=>{e.onInteractOutside?.(i),i.defaultPrevented||(o.current=!0,i.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const c=i.target;n.triggerRef.current?.contains(c)&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&r.current&&i.preventDefault()}})}),io=a.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:i,...c}=e,s=te(Se,n),l=a.useRef(null),u=H(t,l);return Bn(),x.jsxs(x.Fragment,{children:[x.jsx(Ht,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:i,children:x.jsx(lt,{role:"dialog",id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":Xt(s.open),...c,ref:u,onDismiss:()=>s.onOpenChange(!1)})}),x.jsxs(x.Fragment,{children:[x.jsx(ps,{titleId:s.titleId}),x.jsx(hs,{contentRef:l,descriptionId:s.descriptionId})]})]})}),Yt="DialogTitle",so=a.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=te(Yt,n);return x.jsx(M.h2,{id:r.titleId,...o,ref:t})});so.displayName=Yt;var co="DialogDescription",ao=a.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=te(co,n);return x.jsx(M.p,{id:r.descriptionId,...o,ref:t})});ao.displayName=co;var lo="DialogClose",uo=a.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=te(lo,n);return x.jsx(M.button,{type:"button",...o,ref:t,onClick:k(e.onClick,()=>r.onOpenChange(!1))})});uo.displayName=lo;function Xt(e){return e?"open":"closed"}var fo="DialogTitleWarning",[Ea,po]=wr(fo,{contentName:Se,titleName:Yt,docsSlug:"dialog"}),ps=({titleId:e})=>{const t=po(fo),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users. + +If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component. + +For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return a.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},ms="DialogDescriptionWarning",hs=({contentRef:e,descriptionId:t})=>{const o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${po(ms).contentName}}.`;return a.useEffect(()=>{const r=e.current?.getAttribute("aria-describedby");t&&r&&(document.getElementById(t)||console.warn(o))},[o,e,t]),null},Ra=Qn,Pa=eo,Aa=no,Oa=oo,Ta=ro,Na=so,Ia=ao,Da=uo;const gs=["top","right","bottom","left"],de=Math.min,G=Math.max,ot=Math.round,qe=Math.floor,re=e=>({x:e,y:e}),vs={left:"right",right:"left",bottom:"top",top:"bottom"},ys={start:"end",end:"start"};function Mt(e,t,n){return G(e,de(t,n))}function ce(e,t){return typeof e=="function"?e(t):e}function ae(e){return e.split("-")[0]}function Me(e){return e.split("-")[1]}function Gt(e){return e==="x"?"y":"x"}function qt(e){return e==="y"?"height":"width"}const ws=new Set(["top","bottom"]);function oe(e){return ws.has(ae(e))?"y":"x"}function Zt(e){return Gt(oe(e))}function xs(e,t,n){n===void 0&&(n=!1);const o=Me(e),r=Zt(e),i=qt(r);let c=r==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[i]>t.floating[i]&&(c=rt(c)),[c,rt(c)]}function Ss(e){const t=rt(e);return[Lt(e),t,Lt(t)]}function Lt(e){return e.replace(/start|end/g,t=>ys[t])}const Sn=["left","right"],bn=["right","left"],bs=["top","bottom"],Cs=["bottom","top"];function Es(e,t,n){switch(e){case"top":case"bottom":return n?t?bn:Sn:t?Sn:bn;case"left":case"right":return t?bs:Cs;default:return[]}}function Rs(e,t,n,o){const r=Me(e);let i=Es(ae(e),n==="start",o);return r&&(i=i.map(c=>c+"-"+r),t&&(i=i.concat(i.map(Lt)))),i}function rt(e){return e.replace(/left|right|bottom|top/g,t=>vs[t])}function Ps(e){return{top:0,right:0,bottom:0,left:0,...e}}function mo(e){return typeof e!="number"?Ps(e):{top:e,right:e,bottom:e,left:e}}function it(e){const{x:t,y:n,width:o,height:r}=e;return{width:o,height:r,top:n,left:t,right:t+o,bottom:n+r,x:t,y:n}}function Cn(e,t,n){let{reference:o,floating:r}=e;const i=oe(t),c=Zt(t),s=qt(c),l=ae(t),u=i==="y",d=o.x+o.width/2-r.width/2,p=o.y+o.height/2-r.height/2,h=o[s]/2-r[s]/2;let m;switch(l){case"top":m={x:d,y:o.y-r.height};break;case"bottom":m={x:d,y:o.y+o.height};break;case"right":m={x:o.x+o.width,y:p};break;case"left":m={x:o.x-r.width,y:p};break;default:m={x:o.x,y:o.y}}switch(Me(t)){case"start":m[c]-=h*(n&&u?-1:1);break;case"end":m[c]+=h*(n&&u?-1:1);break}return m}const As=async(e,t,n)=>{const{placement:o="bottom",strategy:r="absolute",middleware:i=[],platform:c}=n,s=i.filter(Boolean),l=await(c.isRTL==null?void 0:c.isRTL(t));let u=await c.getElementRects({reference:e,floating:t,strategy:r}),{x:d,y:p}=Cn(u,o,l),h=o,m={},w=0;for(let f=0;f({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:r,rects:i,platform:c,elements:s,middlewareData:l}=t,{element:u,padding:d=0}=ce(e,t)||{};if(u==null)return{};const p=mo(d),h={x:n,y:o},m=Zt(r),w=qt(m),f=await c.getDimensions(u),g=m==="y",y=g?"top":"left",v=g?"bottom":"right",S=g?"clientHeight":"clientWidth",b=i.reference[w]+i.reference[m]-h[m]-i.floating[w],C=h[m]-i.reference[m],R=await(c.getOffsetParent==null?void 0:c.getOffsetParent(u));let E=R?R[S]:0;(!E||!await(c.isElement==null?void 0:c.isElement(R)))&&(E=s.floating[S]||i.floating[w]);const O=b/2-C/2,_=E/2-f[w]/2-1,I=de(p[y],_),j=de(p[v],_),F=I,L=E-f[w]-j,N=E/2-f[w]/2+O,V=Mt(F,N,L),T=!l.arrow&&Me(r)!=null&&N!==V&&i.reference[w]/2-(NN<=0)){var j,F;const N=(((j=i.flip)==null?void 0:j.index)||0)+1,V=E[N];if(V&&(!(p==="alignment"?v!==oe(V):!1)||I.every(A=>oe(A.placement)===v?A.overflows[0]>0:!0)))return{data:{index:N,overflows:I},reset:{placement:V}};let T=(F=I.filter(D=>D.overflows[0]<=0).sort((D,A)=>D.overflows[1]-A.overflows[1])[0])==null?void 0:F.placement;if(!T)switch(m){case"bestFit":{var L;const D=(L=I.filter(A=>{if(R){const W=oe(A.placement);return W===v||W==="y"}return!0}).map(A=>[A.placement,A.overflows.filter(W=>W>0).reduce((W,X)=>W+X,0)]).sort((A,W)=>A[1]-W[1])[0])==null?void 0:L[0];D&&(T=D);break}case"initialPlacement":T=s;break}if(r!==T)return{reset:{placement:T}}}return{}}}};function En(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Rn(e){return gs.some(t=>e[t]>=0)}const Ns=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:o="referenceHidden",...r}=ce(e,t);switch(o){case"referenceHidden":{const i=await $e(t,{...r,elementContext:"reference"}),c=En(i,n.reference);return{data:{referenceHiddenOffsets:c,referenceHidden:Rn(c)}}}case"escaped":{const i=await $e(t,{...r,altBoundary:!0}),c=En(i,n.floating);return{data:{escapedOffsets:c,escaped:Rn(c)}}}default:return{}}}}},ho=new Set(["left","top"]);async function Is(e,t){const{placement:n,platform:o,elements:r}=e,i=await(o.isRTL==null?void 0:o.isRTL(r.floating)),c=ae(n),s=Me(n),l=oe(n)==="y",u=ho.has(c)?-1:1,d=i&&l?-1:1,p=ce(t,e);let{mainAxis:h,crossAxis:m,alignmentAxis:w}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return s&&typeof w=="number"&&(m=s==="end"?w*-1:w),l?{x:m*d,y:h*u}:{x:h*u,y:m*d}}const Ds=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:r,y:i,placement:c,middlewareData:s}=t,l=await Is(t,e);return c===((n=s.offset)==null?void 0:n.placement)&&(o=s.arrow)!=null&&o.alignmentOffset?{}:{x:r+l.x,y:i+l.y,data:{...l,placement:c}}}}},_s=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:r}=t,{mainAxis:i=!0,crossAxis:c=!1,limiter:s={fn:g=>{let{x:y,y:v}=g;return{x:y,y:v}}},...l}=ce(e,t),u={x:n,y:o},d=await $e(t,l),p=oe(ae(r)),h=Gt(p);let m=u[h],w=u[p];if(i){const g=h==="y"?"top":"left",y=h==="y"?"bottom":"right",v=m+d[g],S=m-d[y];m=Mt(v,m,S)}if(c){const g=p==="y"?"top":"left",y=p==="y"?"bottom":"right",v=w+d[g],S=w-d[y];w=Mt(v,w,S)}const f=s.fn({...t,[h]:m,[p]:w});return{...f,data:{x:f.x-n,y:f.y-o,enabled:{[h]:i,[p]:c}}}}}},Ms=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:o,placement:r,rects:i,middlewareData:c}=t,{offset:s=0,mainAxis:l=!0,crossAxis:u=!0}=ce(e,t),d={x:n,y:o},p=oe(r),h=Gt(p);let m=d[h],w=d[p];const f=ce(s,t),g=typeof f=="number"?{mainAxis:f,crossAxis:0}:{mainAxis:0,crossAxis:0,...f};if(l){const S=h==="y"?"height":"width",b=i.reference[h]-i.floating[S]+g.mainAxis,C=i.reference[h]+i.reference[S]-g.mainAxis;mC&&(m=C)}if(u){var y,v;const S=h==="y"?"width":"height",b=ho.has(ae(r)),C=i.reference[p]-i.floating[S]+(b&&((y=c.offset)==null?void 0:y[p])||0)+(b?0:g.crossAxis),R=i.reference[p]+i.reference[S]+(b?0:((v=c.offset)==null?void 0:v[p])||0)-(b?g.crossAxis:0);wR&&(w=R)}return{[h]:m,[p]:w}}}},Ls=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,o;const{placement:r,rects:i,platform:c,elements:s}=t,{apply:l=()=>{},...u}=ce(e,t),d=await $e(t,u),p=ae(r),h=Me(r),m=oe(r)==="y",{width:w,height:f}=i.floating;let g,y;p==="top"||p==="bottom"?(g=p,y=h===(await(c.isRTL==null?void 0:c.isRTL(s.floating))?"start":"end")?"left":"right"):(y=p,g=h==="end"?"top":"bottom");const v=f-d.top-d.bottom,S=w-d.left-d.right,b=de(f-d[g],v),C=de(w-d[y],S),R=!t.middlewareData.shift;let E=b,O=C;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(O=S),(o=t.middlewareData.shift)!=null&&o.enabled.y&&(E=v),R&&!h){const I=G(d.left,0),j=G(d.right,0),F=G(d.top,0),L=G(d.bottom,0);m?O=w-2*(I!==0||j!==0?I+j:G(d.left,d.right)):E=f-2*(F!==0||L!==0?F+L:G(d.top,d.bottom))}await l({...t,availableWidth:O,availableHeight:E});const _=await c.getDimensions(s.floating);return w!==_.width||f!==_.height?{reset:{rects:!0}}:{}}}};function dt(){return typeof window<"u"}function Le(e){return go(e)?(e.nodeName||"").toLowerCase():"#document"}function q(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function se(e){var t;return(t=(go(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function go(e){return dt()?e instanceof Node||e instanceof q(e).Node:!1}function J(e){return dt()?e instanceof Element||e instanceof q(e).Element:!1}function ie(e){return dt()?e instanceof HTMLElement||e instanceof q(e).HTMLElement:!1}function Pn(e){return!dt()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof q(e).ShadowRoot}const ks=new Set(["inline","contents"]);function Ue(e){const{overflow:t,overflowX:n,overflowY:o,display:r}=ee(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!ks.has(r)}const js=new Set(["table","td","th"]);function Fs(e){return js.has(Le(e))}const Ws=[":popover-open",":modal"];function pt(e){return Ws.some(t=>{try{return e.matches(t)}catch{return!1}})}const $s=["transform","translate","scale","rotate","perspective"],Bs=["transform","translate","scale","rotate","perspective","filter"],Vs=["paint","layout","strict","content"];function Qt(e){const t=Jt(),n=J(e)?ee(e):e;return $s.some(o=>n[o]?n[o]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||Bs.some(o=>(n.willChange||"").includes(o))||Vs.some(o=>(n.contain||"").includes(o))}function Hs(e){let t=pe(e);for(;ie(t)&&!De(t);){if(Qt(t))return t;if(pt(t))return null;t=pe(t)}return null}function Jt(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const Us=new Set(["html","body","#document"]);function De(e){return Us.has(Le(e))}function ee(e){return q(e).getComputedStyle(e)}function mt(e){return J(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function pe(e){if(Le(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Pn(e)&&e.host||se(e);return Pn(t)?t.host:t}function vo(e){const t=pe(e);return De(t)?e.ownerDocument?e.ownerDocument.body:e.body:ie(t)&&Ue(t)?t:vo(t)}function Be(e,t,n){var o;t===void 0&&(t=[]),n===void 0&&(n=!0);const r=vo(e),i=r===((o=e.ownerDocument)==null?void 0:o.body),c=q(r);if(i){const s=kt(c);return t.concat(c,c.visualViewport||[],Ue(r)?r:[],s&&n?Be(s):[])}return t.concat(r,Be(r,[],n))}function kt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function yo(e){const t=ee(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const r=ie(e),i=r?e.offsetWidth:n,c=r?e.offsetHeight:o,s=ot(n)!==i||ot(o)!==c;return s&&(n=i,o=c),{width:n,height:o,$:s}}function en(e){return J(e)?e:e.contextElement}function Ie(e){const t=en(e);if(!ie(t))return re(1);const n=t.getBoundingClientRect(),{width:o,height:r,$:i}=yo(t);let c=(i?ot(n.width):n.width)/o,s=(i?ot(n.height):n.height)/r;return(!c||!Number.isFinite(c))&&(c=1),(!s||!Number.isFinite(s))&&(s=1),{x:c,y:s}}const zs=re(0);function wo(e){const t=q(e);return!Jt()||!t.visualViewport?zs:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Ks(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==q(e)?!1:t}function be(e,t,n,o){t===void 0&&(t=!1),n===void 0&&(n=!1);const r=e.getBoundingClientRect(),i=en(e);let c=re(1);t&&(o?J(o)&&(c=Ie(o)):c=Ie(e));const s=Ks(i,n,o)?wo(i):re(0);let l=(r.left+s.x)/c.x,u=(r.top+s.y)/c.y,d=r.width/c.x,p=r.height/c.y;if(i){const h=q(i),m=o&&J(o)?q(o):o;let w=h,f=kt(w);for(;f&&o&&m!==w;){const g=Ie(f),y=f.getBoundingClientRect(),v=ee(f),S=y.left+(f.clientLeft+parseFloat(v.paddingLeft))*g.x,b=y.top+(f.clientTop+parseFloat(v.paddingTop))*g.y;l*=g.x,u*=g.y,d*=g.x,p*=g.y,l+=S,u+=b,w=q(f),f=kt(w)}}return it({width:d,height:p,x:l,y:u})}function ht(e,t){const n=mt(e).scrollLeft;return t?t.left+n:be(se(e)).left+n}function xo(e,t){const n=e.getBoundingClientRect(),o=n.left+t.scrollLeft-ht(e,n),r=n.top+t.scrollTop;return{x:o,y:r}}function Ys(e){let{elements:t,rect:n,offsetParent:o,strategy:r}=e;const i=r==="fixed",c=se(o),s=t?pt(t.floating):!1;if(o===c||s&&i)return n;let l={scrollLeft:0,scrollTop:0},u=re(1);const d=re(0),p=ie(o);if((p||!p&&!i)&&((Le(o)!=="body"||Ue(c))&&(l=mt(o)),ie(o))){const m=be(o);u=Ie(o),d.x=m.x+o.clientLeft,d.y=m.y+o.clientTop}const h=c&&!p&&!i?xo(c,l):re(0);return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-l.scrollLeft*u.x+d.x+h.x,y:n.y*u.y-l.scrollTop*u.y+d.y+h.y}}function Xs(e){return Array.from(e.getClientRects())}function Gs(e){const t=se(e),n=mt(e),o=e.ownerDocument.body,r=G(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),i=G(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let c=-n.scrollLeft+ht(e);const s=-n.scrollTop;return ee(o).direction==="rtl"&&(c+=G(t.clientWidth,o.clientWidth)-r),{width:r,height:i,x:c,y:s}}const An=25;function qs(e,t){const n=q(e),o=se(e),r=n.visualViewport;let i=o.clientWidth,c=o.clientHeight,s=0,l=0;if(r){i=r.width,c=r.height;const d=Jt();(!d||d&&t==="fixed")&&(s=r.offsetLeft,l=r.offsetTop)}const u=ht(o);if(u<=0){const d=o.ownerDocument,p=d.body,h=getComputedStyle(p),m=d.compatMode==="CSS1Compat"&&parseFloat(h.marginLeft)+parseFloat(h.marginRight)||0,w=Math.abs(o.clientWidth-p.clientWidth-m);w<=An&&(i-=w)}else u<=An&&(i+=u);return{width:i,height:c,x:s,y:l}}const Zs=new Set(["absolute","fixed"]);function Qs(e,t){const n=be(e,!0,t==="fixed"),o=n.top+e.clientTop,r=n.left+e.clientLeft,i=ie(e)?Ie(e):re(1),c=e.clientWidth*i.x,s=e.clientHeight*i.y,l=r*i.x,u=o*i.y;return{width:c,height:s,x:l,y:u}}function On(e,t,n){let o;if(t==="viewport")o=qs(e,n);else if(t==="document")o=Gs(se(e));else if(J(t))o=Qs(t,n);else{const r=wo(e);o={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return it(o)}function So(e,t){const n=pe(e);return n===t||!J(n)||De(n)?!1:ee(n).position==="fixed"||So(n,t)}function Js(e,t){const n=t.get(e);if(n)return n;let o=Be(e,[],!1).filter(s=>J(s)&&Le(s)!=="body"),r=null;const i=ee(e).position==="fixed";let c=i?pe(e):e;for(;J(c)&&!De(c);){const s=ee(c),l=Qt(c);!l&&s.position==="fixed"&&(r=null),(i?!l&&!r:!l&&s.position==="static"&&!!r&&Zs.has(r.position)||Ue(c)&&!l&&So(e,c))?o=o.filter(d=>d!==c):r=s,c=pe(c)}return t.set(e,o),o}function ec(e){let{element:t,boundary:n,rootBoundary:o,strategy:r}=e;const c=[...n==="clippingAncestors"?pt(t)?[]:Js(t,this._c):[].concat(n),o],s=c[0],l=c.reduce((u,d)=>{const p=On(t,d,r);return u.top=G(p.top,u.top),u.right=de(p.right,u.right),u.bottom=de(p.bottom,u.bottom),u.left=G(p.left,u.left),u},On(t,s,r));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function tc(e){const{width:t,height:n}=yo(e);return{width:t,height:n}}function nc(e,t,n){const o=ie(t),r=se(t),i=n==="fixed",c=be(e,!0,i,t);let s={scrollLeft:0,scrollTop:0};const l=re(0);function u(){l.x=ht(r)}if(o||!o&&!i)if((Le(t)!=="body"||Ue(r))&&(s=mt(t)),o){const m=be(t,!0,i,t);l.x=m.x+t.clientLeft,l.y=m.y+t.clientTop}else r&&u();i&&!o&&r&&u();const d=r&&!o&&!i?xo(r,s):re(0),p=c.left+s.scrollLeft-l.x-d.x,h=c.top+s.scrollTop-l.y-d.y;return{x:p,y:h,width:c.width,height:c.height}}function Nt(e){return ee(e).position==="static"}function Tn(e,t){if(!ie(e)||ee(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return se(e)===n&&(n=n.ownerDocument.body),n}function bo(e,t){const n=q(e);if(pt(e))return n;if(!ie(e)){let r=pe(e);for(;r&&!De(r);){if(J(r)&&!Nt(r))return r;r=pe(r)}return n}let o=Tn(e,t);for(;o&&Fs(o)&&Nt(o);)o=Tn(o,t);return o&&De(o)&&Nt(o)&&!Qt(o)?n:o||Hs(e)||n}const oc=async function(e){const t=this.getOffsetParent||bo,n=this.getDimensions,o=await n(e.floating);return{reference:nc(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function rc(e){return ee(e).direction==="rtl"}const ic={convertOffsetParentRelativeRectToViewportRelativeRect:Ys,getDocumentElement:se,getClippingRect:ec,getOffsetParent:bo,getElementRects:oc,getClientRects:Xs,getDimensions:tc,getScale:Ie,isElement:J,isRTL:rc};function Co(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function sc(e,t){let n=null,o;const r=se(e);function i(){var s;clearTimeout(o),(s=n)==null||s.disconnect(),n=null}function c(s,l){s===void 0&&(s=!1),l===void 0&&(l=1),i();const u=e.getBoundingClientRect(),{left:d,top:p,width:h,height:m}=u;if(s||t(),!h||!m)return;const w=qe(p),f=qe(r.clientWidth-(d+h)),g=qe(r.clientHeight-(p+m)),y=qe(d),S={rootMargin:-w+"px "+-f+"px "+-g+"px "+-y+"px",threshold:G(0,de(1,l))||1};let b=!0;function C(R){const E=R[0].intersectionRatio;if(E!==l){if(!b)return c();E?c(!1,E):o=setTimeout(()=>{c(!1,1e-7)},1e3)}E===1&&!Co(u,e.getBoundingClientRect())&&c(),b=!1}try{n=new IntersectionObserver(C,{...S,root:r.ownerDocument})}catch{n=new IntersectionObserver(C,S)}n.observe(e)}return c(!0),i}function cc(e,t,n,o){o===void 0&&(o={});const{ancestorScroll:r=!0,ancestorResize:i=!0,elementResize:c=typeof ResizeObserver=="function",layoutShift:s=typeof IntersectionObserver=="function",animationFrame:l=!1}=o,u=en(e),d=r||i?[...u?Be(u):[],...Be(t)]:[];d.forEach(y=>{r&&y.addEventListener("scroll",n,{passive:!0}),i&&y.addEventListener("resize",n)});const p=u&&s?sc(u,n):null;let h=-1,m=null;c&&(m=new ResizeObserver(y=>{let[v]=y;v&&v.target===u&&m&&(m.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var S;(S=m)==null||S.observe(t)})),n()}),u&&!l&&m.observe(u),m.observe(t));let w,f=l?be(e):null;l&&g();function g(){const y=be(e);f&&!Co(f,y)&&n(),f=y,w=requestAnimationFrame(g)}return n(),()=>{var y;d.forEach(v=>{r&&v.removeEventListener("scroll",n),i&&v.removeEventListener("resize",n)}),p?.(),(y=m)==null||y.disconnect(),m=null,l&&cancelAnimationFrame(w)}}const ac=Ds,lc=_s,uc=Ts,fc=Ls,dc=Ns,Nn=Os,pc=Ms,mc=(e,t,n)=>{const o=new Map,r={platform:ic,...n},i={...r.platform,_c:o};return As(e,t,{...r,platform:i})};var hc=typeof document<"u",gc=function(){},Je=hc?a.useLayoutEffect:gc;function st(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,o,r;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(o=n;o--!==0;)if(!st(e[o],t[o]))return!1;return!0}if(r=Object.keys(e),n=r.length,n!==Object.keys(t).length)return!1;for(o=n;o--!==0;)if(!{}.hasOwnProperty.call(t,r[o]))return!1;for(o=n;o--!==0;){const i=r[o];if(!(i==="_owner"&&e.$$typeof)&&!st(e[i],t[i]))return!1}return!0}return e!==e&&t!==t}function Eo(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function In(e,t){const n=Eo(e);return Math.round(t*n)/n}function It(e){const t=a.useRef(e);return Je(()=>{t.current=e}),t}function vc(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:o=[],platform:r,elements:{reference:i,floating:c}={},transform:s=!0,whileElementsMounted:l,open:u}=e,[d,p]=a.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[h,m]=a.useState(o);st(h,o)||m(o);const[w,f]=a.useState(null),[g,y]=a.useState(null),v=a.useCallback(A=>{A!==R.current&&(R.current=A,f(A))},[]),S=a.useCallback(A=>{A!==E.current&&(E.current=A,y(A))},[]),b=i||w,C=c||g,R=a.useRef(null),E=a.useRef(null),O=a.useRef(d),_=l!=null,I=It(l),j=It(r),F=It(u),L=a.useCallback(()=>{if(!R.current||!E.current)return;const A={placement:t,strategy:n,middleware:h};j.current&&(A.platform=j.current),mc(R.current,E.current,A).then(W=>{const X={...W,isPositioned:F.current!==!1};N.current&&!st(O.current,X)&&(O.current=X,at.flushSync(()=>{p(X)}))})},[h,t,n,j,F]);Je(()=>{u===!1&&O.current.isPositioned&&(O.current.isPositioned=!1,p(A=>({...A,isPositioned:!1})))},[u]);const N=a.useRef(!1);Je(()=>(N.current=!0,()=>{N.current=!1}),[]),Je(()=>{if(b&&(R.current=b),C&&(E.current=C),b&&C){if(I.current)return I.current(b,C,L);L()}},[b,C,L,I,_]);const V=a.useMemo(()=>({reference:R,floating:E,setReference:v,setFloating:S}),[v,S]),T=a.useMemo(()=>({reference:b,floating:C}),[b,C]),D=a.useMemo(()=>{const A={position:n,left:0,top:0};if(!T.floating)return A;const W=In(T.floating,d.x),X=In(T.floating,d.y);return s?{...A,transform:"translate("+W+"px, "+X+"px)",...Eo(T.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:W,top:X}},[n,s,T.floating,d.x,d.y]);return a.useMemo(()=>({...d,update:L,refs:V,elements:T,floatingStyles:D}),[d,L,V,T,D])}const yc=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:o,padding:r}=typeof e=="function"?e(n):e;return o&&t(o)?o.current!=null?Nn({element:o.current,padding:r}).fn(n):{}:o?Nn({element:o,padding:r}).fn(n):{}}}},wc=(e,t)=>({...ac(e),options:[e,t]}),xc=(e,t)=>({...lc(e),options:[e,t]}),Sc=(e,t)=>({...pc(e),options:[e,t]}),bc=(e,t)=>({...uc(e),options:[e,t]}),Cc=(e,t)=>({...fc(e),options:[e,t]}),Ec=(e,t)=>({...dc(e),options:[e,t]}),Rc=(e,t)=>({...yc(e),options:[e,t]});var Pc="Arrow",Ro=a.forwardRef((e,t)=>{const{children:n,width:o=10,height:r=5,...i}=e;return x.jsx(M.svg,{...i,ref:t,width:o,height:r,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:x.jsx("polygon",{points:"0,0 30,0 15,10"})})});Ro.displayName=Pc;var Ac=Ro,tn="Popper",[Po,Ao]=Ve(tn),[Oc,Oo]=Po(tn),To=e=>{const{__scopePopper:t,children:n}=e,[o,r]=a.useState(null);return x.jsx(Oc,{scope:t,anchor:o,onAnchorChange:r,children:n})};To.displayName=tn;var No="PopperAnchor",Io=a.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:o,...r}=e,i=Oo(No,n),c=a.useRef(null),s=H(t,c),l=a.useRef(null);return a.useEffect(()=>{const u=l.current;l.current=o?.current||c.current,u!==l.current&&i.onAnchorChange(l.current)}),o?null:x.jsx(M.div,{...r,ref:s})});Io.displayName=No;var nn="PopperContent",[Tc,Nc]=Po(nn),Do=a.forwardRef((e,t)=>{const{__scopePopper:n,side:o="bottom",sideOffset:r=0,align:i="center",alignOffset:c=0,arrowPadding:s=0,avoidCollisions:l=!0,collisionBoundary:u=[],collisionPadding:d=0,sticky:p="partial",hideWhenDetached:h=!1,updatePositionStrategy:m="optimized",onPlaced:w,...f}=e,g=Oo(nn,n),[y,v]=a.useState(null),S=H(t,P=>v(P)),[b,C]=a.useState(null),R=Ln(b),E=R?.width??0,O=R?.height??0,_=o+(i!=="center"?"-"+i:""),I=typeof d=="number"?d:{top:0,right:0,bottom:0,left:0,...d},j=Array.isArray(u)?u:[u],F=j.length>0,L={padding:I,boundary:j.filter(Dc),altBoundary:F},{refs:N,floatingStyles:V,placement:T,isPositioned:D,middlewareData:A}=vc({strategy:"fixed",placement:_,whileElementsMounted:(...P)=>cc(...P,{animationFrame:m==="always"}),elements:{reference:g.anchor},middleware:[wc({mainAxis:r+O,alignmentAxis:c}),l&&xc({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?Sc():void 0,...L}),l&&bc({...L}),Cc({...L,apply:({elements:P,rects:U,availableWidth:Y,availableHeight:$})=>{const{width:B,height:z}=U.reference,Z=P.floating.style;Z.setProperty("--radix-popper-available-width",`${Y}px`),Z.setProperty("--radix-popper-available-height",`${$}px`),Z.setProperty("--radix-popper-anchor-width",`${B}px`),Z.setProperty("--radix-popper-anchor-height",`${z}px`)}}),b&&Rc({element:b,padding:s}),_c({arrowWidth:E,arrowHeight:O}),h&&Ec({strategy:"referenceHidden",...L})]}),[W,X]=Lo(T),ge=xe(w);K(()=>{D&&ge?.()},[D,ge]);const je=A.arrow?.x,Fe=A.arrow?.y,le=A.arrow?.centerOffset!==0,[Re,ve]=a.useState();return K(()=>{y&&ve(window.getComputedStyle(y).zIndex)},[y]),x.jsx("div",{ref:N.setFloating,"data-radix-popper-content-wrapper":"",style:{...V,transform:D?V.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Re,"--radix-popper-transform-origin":[A.transformOrigin?.x,A.transformOrigin?.y].join(" "),...A.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:x.jsx(Tc,{scope:n,placedSide:W,onArrowChange:C,arrowX:je,arrowY:Fe,shouldHideArrow:le,children:x.jsx(M.div,{"data-side":W,"data-align":X,...f,ref:S,style:{...f.style,animation:D?void 0:"none"}})})})});Do.displayName=nn;var _o="PopperArrow",Ic={top:"bottom",right:"left",bottom:"top",left:"right"},Mo=a.forwardRef(function(t,n){const{__scopePopper:o,...r}=t,i=Nc(_o,o),c=Ic[i.placedSide];return x.jsx("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[c]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:x.jsx(Ac,{...r,ref:n,style:{...r.style,display:"block"}})})});Mo.displayName=_o;function Dc(e){return e!==null}var _c=e=>({name:"transformOrigin",options:e,fn(t){const{placement:n,rects:o,middlewareData:r}=t,c=r.arrow?.centerOffset!==0,s=c?0:e.arrowWidth,l=c?0:e.arrowHeight,[u,d]=Lo(n),p={start:"0%",center:"50%",end:"100%"}[d],h=(r.arrow?.x??0)+s/2,m=(r.arrow?.y??0)+l/2;let w="",f="";return u==="bottom"?(w=c?p:`${h}px`,f=`${-l}px`):u==="top"?(w=c?p:`${h}px`,f=`${o.floating.height+l}px`):u==="right"?(w=`${-l}px`,f=c?p:`${m}px`):u==="left"&&(w=`${o.floating.width+l}px`,f=c?p:`${m}px`),{data:{x:w,y:f}}}});function Lo(e){const[t,n="center"]=e.split("-");return[t,n]}var Mc=To,Lc=Io,kc=Do,jc=Mo;function Fc(e){const t=Wc(e),n=a.forwardRef((o,r)=>{const{children:i,...c}=o,s=a.Children.toArray(i),l=s.find(Bc);if(l){const u=l.props.children,d=s.map(p=>p===l?a.Children.count(u)>1?a.Children.only(null):a.isValidElement(u)?u.props.children:null:p);return x.jsx(t,{...c,ref:r,children:a.isValidElement(u)?a.cloneElement(u,void 0,d):null})}return x.jsx(t,{...c,ref:r,children:i})});return n.displayName=`${e}.Slot`,n}function Wc(e){const t=a.forwardRef((n,o)=>{const{children:r,...i}=n;if(a.isValidElement(r)){const c=Hc(r),s=Vc(i,r.props);return r.type!==a.Fragment&&(s.ref=o?_e(o,c):c),a.cloneElement(r,s)}return a.Children.count(r)>1?a.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var $c=Symbol("radix.slottable");function Bc(e){return a.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===$c}function Vc(e,t){const n={...t};for(const o in t){const r=e[o],i=t[o];/^on[A-Z]/.test(o)?r&&i?n[o]=(...s)=>{const l=i(...s);return r(...s),l}:r&&(n[o]=r):o==="style"?n[o]={...r,...i}:o==="className"&&(n[o]=[r,i].filter(Boolean).join(" "))}return{...e,...n}}function Hc(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var ko=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Uc="VisuallyHidden",jo=a.forwardRef((e,t)=>x.jsx(M.span,{...e,ref:t,style:{...ko,...e.style}}));jo.displayName=Uc;var _a=jo,zc=[" ","Enter","ArrowUp","ArrowDown"],Kc=[" ","Enter"],Ce="Select",[gt,vt,Yc]=Pr(Ce),[ke]=Ve(Ce,[Yc,Ao]),yt=Ao(),[Xc,me]=ke(Ce),[Gc,qc]=ke(Ce),Fo=e=>{const{__scopeSelect:t,children:n,open:o,defaultOpen:r,onOpenChange:i,value:c,defaultValue:s,onValueChange:l,dir:u,name:d,autoComplete:p,disabled:h,required:m,form:w}=e,f=yt(t),[g,y]=a.useState(null),[v,S]=a.useState(null),[b,C]=a.useState(!1),R=Br(u),[E,O]=et({prop:o,defaultProp:r??!1,onChange:i,caller:Ce}),[_,I]=et({prop:c,defaultProp:s,onChange:l,caller:Ce}),j=a.useRef(null),F=g?w||!!g.closest("form"):!0,[L,N]=a.useState(new Set),V=Array.from(L).map(T=>T.props.value).join(";");return x.jsx(Mc,{...f,children:x.jsxs(Xc,{required:m,scope:t,trigger:g,onTriggerChange:y,valueNode:v,onValueNodeChange:S,valueNodeHasChildren:b,onValueNodeHasChildrenChange:C,contentId:Te(),value:_,onValueChange:I,open:E,onOpenChange:O,dir:R,triggerPointerDownPosRef:j,disabled:h,children:[x.jsx(gt.Provider,{scope:t,children:x.jsx(Gc,{scope:e.__scopeSelect,onNativeOptionAdd:a.useCallback(T=>{N(D=>new Set(D).add(T))},[]),onNativeOptionRemove:a.useCallback(T=>{N(D=>{const A=new Set(D);return A.delete(T),A})},[]),children:n})}),F?x.jsxs(ar,{"aria-hidden":!0,required:m,tabIndex:-1,name:d,autoComplete:p,value:_,onChange:T=>I(T.target.value),disabled:h,form:w,children:[_===void 0?x.jsx("option",{value:""}):null,Array.from(L)]},V):null]})})};Fo.displayName=Ce;var Wo="SelectTrigger",$o=a.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:o=!1,...r}=e,i=yt(n),c=me(Wo,n),s=c.disabled||o,l=H(t,c.onTriggerChange),u=vt(n),d=a.useRef("touch"),[p,h,m]=ur(f=>{const g=u().filter(S=>!S.disabled),y=g.find(S=>S.value===c.value),v=fr(g,f,y);v!==void 0&&c.onValueChange(v.value)}),w=f=>{s||(c.onOpenChange(!0),m()),f&&(c.triggerPointerDownPosRef.current={x:Math.round(f.pageX),y:Math.round(f.pageY)})};return x.jsx(Lc,{asChild:!0,...i,children:x.jsx(M.button,{type:"button",role:"combobox","aria-controls":c.contentId,"aria-expanded":c.open,"aria-required":c.required,"aria-autocomplete":"none",dir:c.dir,"data-state":c.open?"open":"closed",disabled:s,"data-disabled":s?"":void 0,"data-placeholder":lr(c.value)?"":void 0,...r,ref:l,onClick:k(r.onClick,f=>{f.currentTarget.focus(),d.current!=="mouse"&&w(f)}),onPointerDown:k(r.onPointerDown,f=>{d.current=f.pointerType;const g=f.target;g.hasPointerCapture(f.pointerId)&&g.releasePointerCapture(f.pointerId),f.button===0&&f.ctrlKey===!1&&f.pointerType==="mouse"&&(w(f),f.preventDefault())}),onKeyDown:k(r.onKeyDown,f=>{const g=p.current!=="";!(f.ctrlKey||f.altKey||f.metaKey)&&f.key.length===1&&h(f.key),!(g&&f.key===" ")&&zc.includes(f.key)&&(w(),f.preventDefault())})})})});$o.displayName=Wo;var Bo="SelectValue",Vo=a.forwardRef((e,t)=>{const{__scopeSelect:n,className:o,style:r,children:i,placeholder:c="",...s}=e,l=me(Bo,n),{onValueNodeHasChildrenChange:u}=l,d=i!==void 0,p=H(t,l.onValueNodeChange);return K(()=>{u(d)},[u,d]),x.jsx(M.span,{...s,ref:p,style:{pointerEvents:"none"},children:lr(l.value)?x.jsx(x.Fragment,{children:c}):i})});Vo.displayName=Bo;var Zc="SelectIcon",Ho=a.forwardRef((e,t)=>{const{__scopeSelect:n,children:o,...r}=e;return x.jsx(M.span,{"aria-hidden":!0,...r,ref:t,children:o||"▼"})});Ho.displayName=Zc;var Qc="SelectPortal",Uo=e=>x.jsx(Ut,{asChild:!0,...e});Uo.displayName=Qc;var Ee="SelectContent",zo=a.forwardRef((e,t)=>{const n=me(Ee,e.__scopeSelect),[o,r]=a.useState();if(K(()=>{r(new DocumentFragment)},[]),!n.open){const i=o;return i?at.createPortal(x.jsx(Ko,{scope:e.__scopeSelect,children:x.jsx(gt.Slot,{scope:e.__scopeSelect,children:x.jsx("div",{children:e.children})})}),i):null}return x.jsx(Yo,{...e,ref:t})});zo.displayName=Ee;var Q=10,[Ko,he]=ke(Ee),Jc="SelectContentImpl",ea=Fc("SelectContent.RemoveScroll"),Yo=a.forwardRef((e,t)=>{const{__scopeSelect:n,position:o="item-aligned",onCloseAutoFocus:r,onEscapeKeyDown:i,onPointerDownOutside:c,side:s,sideOffset:l,align:u,alignOffset:d,arrowPadding:p,collisionBoundary:h,collisionPadding:m,sticky:w,hideWhenDetached:f,avoidCollisions:g,...y}=e,v=me(Ee,n),[S,b]=a.useState(null),[C,R]=a.useState(null),E=H(t,P=>b(P)),[O,_]=a.useState(null),[I,j]=a.useState(null),F=vt(n),[L,N]=a.useState(!1),V=a.useRef(!1);a.useEffect(()=>{if(S)return qn(S)},[S]),Bn();const T=a.useCallback(P=>{const[U,...Y]=F().map(z=>z.ref.current),[$]=Y.slice(-1),B=document.activeElement;for(const z of P)if(z===B||(z?.scrollIntoView({block:"nearest"}),z===U&&C&&(C.scrollTop=0),z===$&&C&&(C.scrollTop=C.scrollHeight),z?.focus(),document.activeElement!==B))return},[F,C]),D=a.useCallback(()=>T([O,S]),[T,O,S]);a.useEffect(()=>{L&&D()},[L,D]);const{onOpenChange:A,triggerPointerDownPosRef:W}=v;a.useEffect(()=>{if(S){let P={x:0,y:0};const U=$=>{P={x:Math.abs(Math.round($.pageX)-(W.current?.x??0)),y:Math.abs(Math.round($.pageY)-(W.current?.y??0))}},Y=$=>{P.x<=10&&P.y<=10?$.preventDefault():S.contains($.target)||A(!1),document.removeEventListener("pointermove",U),W.current=null};return W.current!==null&&(document.addEventListener("pointermove",U),document.addEventListener("pointerup",Y,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",U),document.removeEventListener("pointerup",Y,{capture:!0})}}},[S,A,W]),a.useEffect(()=>{const P=()=>A(!1);return window.addEventListener("blur",P),window.addEventListener("resize",P),()=>{window.removeEventListener("blur",P),window.removeEventListener("resize",P)}},[A]);const[X,ge]=ur(P=>{const U=F().filter(B=>!B.disabled),Y=U.find(B=>B.ref.current===document.activeElement),$=fr(U,P,Y);$&&setTimeout(()=>$.ref.current.focus())}),je=a.useCallback((P,U,Y)=>{const $=!V.current&&!Y;(v.value!==void 0&&v.value===U||$)&&(_(P),$&&(V.current=!0))},[v.value]),Fe=a.useCallback(()=>S?.focus(),[S]),le=a.useCallback((P,U,Y)=>{const $=!V.current&&!Y;(v.value!==void 0&&v.value===U||$)&&j(P)},[v.value]),Re=o==="popper"?jt:Xo,ve=Re===jt?{side:s,sideOffset:l,align:u,alignOffset:d,arrowPadding:p,collisionBoundary:h,collisionPadding:m,sticky:w,hideWhenDetached:f,avoidCollisions:g}:{};return x.jsx(Ko,{scope:n,content:S,viewport:C,onViewportChange:R,itemRefCallback:je,selectedItem:O,onItemLeave:Fe,itemTextRefCallback:le,focusSelectedItem:D,selectedItemText:I,position:o,isPositioned:L,searchRef:X,children:x.jsx(zt,{as:ea,allowPinchZoom:!0,children:x.jsx(Ht,{asChild:!0,trapped:v.open,onMountAutoFocus:P=>{P.preventDefault()},onUnmountAutoFocus:k(r,P=>{v.trigger?.focus({preventScroll:!0}),P.preventDefault()}),children:x.jsx(lt,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:i,onPointerDownOutside:c,onFocusOutside:P=>P.preventDefault(),onDismiss:()=>v.onOpenChange(!1),children:x.jsx(Re,{role:"listbox",id:v.contentId,"data-state":v.open?"open":"closed",dir:v.dir,onContextMenu:P=>P.preventDefault(),...y,...ve,onPlaced:()=>N(!0),ref:E,style:{display:"flex",flexDirection:"column",outline:"none",...y.style},onKeyDown:k(y.onKeyDown,P=>{const U=P.ctrlKey||P.altKey||P.metaKey;if(P.key==="Tab"&&P.preventDefault(),!U&&P.key.length===1&&ge(P.key),["ArrowUp","ArrowDown","Home","End"].includes(P.key)){let $=F().filter(B=>!B.disabled).map(B=>B.ref.current);if(["ArrowUp","End"].includes(P.key)&&($=$.slice().reverse()),["ArrowUp","ArrowDown"].includes(P.key)){const B=P.target,z=$.indexOf(B);$=$.slice(z+1)}setTimeout(()=>T($)),P.preventDefault()}})})})})})})});Yo.displayName=Jc;var ta="SelectItemAlignedPosition",Xo=a.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:o,...r}=e,i=me(Ee,n),c=he(Ee,n),[s,l]=a.useState(null),[u,d]=a.useState(null),p=H(t,E=>d(E)),h=vt(n),m=a.useRef(!1),w=a.useRef(!0),{viewport:f,selectedItem:g,selectedItemText:y,focusSelectedItem:v}=c,S=a.useCallback(()=>{if(i.trigger&&i.valueNode&&s&&u&&f&&g&&y){const E=i.trigger.getBoundingClientRect(),O=u.getBoundingClientRect(),_=i.valueNode.getBoundingClientRect(),I=y.getBoundingClientRect();if(i.dir!=="rtl"){const B=I.left-O.left,z=_.left-B,Z=E.left-z,ye=E.width+Z,xt=Math.max(ye,O.width),St=window.innerWidth-Q,bt=an(z,[Q,Math.max(Q,St-xt)]);s.style.minWidth=ye+"px",s.style.left=bt+"px"}else{const B=O.right-I.right,z=window.innerWidth-_.right-B,Z=window.innerWidth-E.right-z,ye=E.width+Z,xt=Math.max(ye,O.width),St=window.innerWidth-Q,bt=an(z,[Q,Math.max(Q,St-xt)]);s.style.minWidth=ye+"px",s.style.right=bt+"px"}const j=h(),F=window.innerHeight-Q*2,L=f.scrollHeight,N=window.getComputedStyle(u),V=parseInt(N.borderTopWidth,10),T=parseInt(N.paddingTop,10),D=parseInt(N.borderBottomWidth,10),A=parseInt(N.paddingBottom,10),W=V+T+L+A+D,X=Math.min(g.offsetHeight*5,W),ge=window.getComputedStyle(f),je=parseInt(ge.paddingTop,10),Fe=parseInt(ge.paddingBottom,10),le=E.top+E.height/2-Q,Re=F-le,ve=g.offsetHeight/2,P=g.offsetTop+ve,U=V+T+P,Y=W-U;if(U<=le){const B=j.length>0&&g===j[j.length-1].ref.current;s.style.bottom="0px";const z=u.clientHeight-f.offsetTop-f.offsetHeight,Z=Math.max(Re,ve+(B?Fe:0)+z+D),ye=U+Z;s.style.height=ye+"px"}else{const B=j.length>0&&g===j[0].ref.current;s.style.top="0px";const Z=Math.max(le,V+f.offsetTop+(B?je:0)+ve)+Y;s.style.height=Z+"px",f.scrollTop=U-le+f.offsetTop}s.style.margin=`${Q}px 0`,s.style.minHeight=X+"px",s.style.maxHeight=F+"px",o?.(),requestAnimationFrame(()=>m.current=!0)}},[h,i.trigger,i.valueNode,s,u,f,g,y,i.dir,o]);K(()=>S(),[S]);const[b,C]=a.useState();K(()=>{u&&C(window.getComputedStyle(u).zIndex)},[u]);const R=a.useCallback(E=>{E&&w.current===!0&&(S(),v?.(),w.current=!1)},[S,v]);return x.jsx(oa,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:m,onScrollButtonChange:R,children:x.jsx("div",{ref:l,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:b},children:x.jsx(M.div,{...r,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...r.style}})})})});Xo.displayName=ta;var na="SelectPopperPosition",jt=a.forwardRef((e,t)=>{const{__scopeSelect:n,align:o="start",collisionPadding:r=Q,...i}=e,c=yt(n);return x.jsx(kc,{...c,...i,ref:t,align:o,collisionPadding:r,style:{boxSizing:"border-box",...i.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});jt.displayName=na;var[oa,on]=ke(Ee,{}),Ft="SelectViewport",Go=a.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:o,...r}=e,i=he(Ft,n),c=on(Ft,n),s=H(t,i.onViewportChange),l=a.useRef(0);return x.jsxs(x.Fragment,{children:[x.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),x.jsx(gt.Slot,{scope:n,children:x.jsx(M.div,{"data-radix-select-viewport":"",role:"presentation",...r,ref:s,style:{position:"relative",flex:1,overflow:"hidden auto",...r.style},onScroll:k(r.onScroll,u=>{const d=u.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:h}=c;if(h?.current&&p){const m=Math.abs(l.current-d.scrollTop);if(m>0){const w=window.innerHeight-Q*2,f=parseFloat(p.style.minHeight),g=parseFloat(p.style.height),y=Math.max(f,g);if(y0?b:0,p.style.justifyContent="flex-end")}}}l.current=d.scrollTop})})})]})});Go.displayName=Ft;var qo="SelectGroup",[ra,ia]=ke(qo),sa=a.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e,r=Te();return x.jsx(ra,{scope:n,id:r,children:x.jsx(M.div,{role:"group","aria-labelledby":r,...o,ref:t})})});sa.displayName=qo;var Zo="SelectLabel",Qo=a.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e,r=ia(Zo,n);return x.jsx(M.div,{id:r.id,...o,ref:t})});Qo.displayName=Zo;var ct="SelectItem",[ca,Jo]=ke(ct),er=a.forwardRef((e,t)=>{const{__scopeSelect:n,value:o,disabled:r=!1,textValue:i,...c}=e,s=me(ct,n),l=he(ct,n),u=s.value===o,[d,p]=a.useState(i??""),[h,m]=a.useState(!1),w=H(t,v=>l.itemRefCallback?.(v,o,r)),f=Te(),g=a.useRef("touch"),y=()=>{r||(s.onValueChange(o),s.onOpenChange(!1))};if(o==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return x.jsx(ca,{scope:n,value:o,disabled:r,textId:f,isSelected:u,onItemTextChange:a.useCallback(v=>{p(S=>S||(v?.textContent??"").trim())},[]),children:x.jsx(gt.ItemSlot,{scope:n,value:o,disabled:r,textValue:d,children:x.jsx(M.div,{role:"option","aria-labelledby":f,"data-highlighted":h?"":void 0,"aria-selected":u&&h,"data-state":u?"checked":"unchecked","aria-disabled":r||void 0,"data-disabled":r?"":void 0,tabIndex:r?void 0:-1,...c,ref:w,onFocus:k(c.onFocus,()=>m(!0)),onBlur:k(c.onBlur,()=>m(!1)),onClick:k(c.onClick,()=>{g.current!=="mouse"&&y()}),onPointerUp:k(c.onPointerUp,()=>{g.current==="mouse"&&y()}),onPointerDown:k(c.onPointerDown,v=>{g.current=v.pointerType}),onPointerMove:k(c.onPointerMove,v=>{g.current=v.pointerType,r?l.onItemLeave?.():g.current==="mouse"&&v.currentTarget.focus({preventScroll:!0})}),onPointerLeave:k(c.onPointerLeave,v=>{v.currentTarget===document.activeElement&&l.onItemLeave?.()}),onKeyDown:k(c.onKeyDown,v=>{l.searchRef?.current!==""&&v.key===" "||(Kc.includes(v.key)&&y(),v.key===" "&&v.preventDefault())})})})})});er.displayName=ct;var We="SelectItemText",tr=a.forwardRef((e,t)=>{const{__scopeSelect:n,className:o,style:r,...i}=e,c=me(We,n),s=he(We,n),l=Jo(We,n),u=qc(We,n),[d,p]=a.useState(null),h=H(t,y=>p(y),l.onItemTextChange,y=>s.itemTextRefCallback?.(y,l.value,l.disabled)),m=d?.textContent,w=a.useMemo(()=>x.jsx("option",{value:l.value,disabled:l.disabled,children:m},l.value),[l.disabled,l.value,m]),{onNativeOptionAdd:f,onNativeOptionRemove:g}=u;return K(()=>(f(w),()=>g(w)),[f,g,w]),x.jsxs(x.Fragment,{children:[x.jsx(M.span,{id:l.textId,...i,ref:h}),l.isSelected&&c.valueNode&&!c.valueNodeHasChildren?at.createPortal(i.children,c.valueNode):null]})});tr.displayName=We;var nr="SelectItemIndicator",or=a.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e;return Jo(nr,n).isSelected?x.jsx(M.span,{"aria-hidden":!0,...o,ref:t}):null});or.displayName=nr;var Wt="SelectScrollUpButton",rr=a.forwardRef((e,t)=>{const n=he(Wt,e.__scopeSelect),o=on(Wt,e.__scopeSelect),[r,i]=a.useState(!1),c=H(t,o.onScrollButtonChange);return K(()=>{if(n.viewport&&n.isPositioned){let s=function(){const u=l.scrollTop>0;i(u)};const l=n.viewport;return s(),l.addEventListener("scroll",s),()=>l.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),r?x.jsx(sr,{...e,ref:c,onAutoScroll:()=>{const{viewport:s,selectedItem:l}=n;s&&l&&(s.scrollTop=s.scrollTop-l.offsetHeight)}}):null});rr.displayName=Wt;var $t="SelectScrollDownButton",ir=a.forwardRef((e,t)=>{const n=he($t,e.__scopeSelect),o=on($t,e.__scopeSelect),[r,i]=a.useState(!1),c=H(t,o.onScrollButtonChange);return K(()=>{if(n.viewport&&n.isPositioned){let s=function(){const u=l.scrollHeight-l.clientHeight,d=Math.ceil(l.scrollTop)l.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),r?x.jsx(sr,{...e,ref:c,onAutoScroll:()=>{const{viewport:s,selectedItem:l}=n;s&&l&&(s.scrollTop=s.scrollTop+l.offsetHeight)}}):null});ir.displayName=$t;var sr=a.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:o,...r}=e,i=he("SelectScrollButton",n),c=a.useRef(null),s=vt(n),l=a.useCallback(()=>{c.current!==null&&(window.clearInterval(c.current),c.current=null)},[]);return a.useEffect(()=>()=>l(),[l]),K(()=>{s().find(d=>d.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[s]),x.jsx(M.div,{"aria-hidden":!0,...r,ref:t,style:{flexShrink:0,...r.style},onPointerDown:k(r.onPointerDown,()=>{c.current===null&&(c.current=window.setInterval(o,50))}),onPointerMove:k(r.onPointerMove,()=>{i.onItemLeave?.(),c.current===null&&(c.current=window.setInterval(o,50))}),onPointerLeave:k(r.onPointerLeave,()=>{l()})})}),aa="SelectSeparator",cr=a.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e;return x.jsx(M.div,{"aria-hidden":!0,...o,ref:t})});cr.displayName=aa;var Bt="SelectArrow",la=a.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e,r=yt(n),i=me(Bt,n),c=he(Bt,n);return i.open&&c.position==="popper"?x.jsx(jc,{...r,...o,ref:t}):null});la.displayName=Bt;var ua="SelectBubbleInput",ar=a.forwardRef(({__scopeSelect:e,value:t,...n},o)=>{const r=a.useRef(null),i=H(o,r),c=Mn(t);return a.useEffect(()=>{const s=r.current;if(!s)return;const l=window.HTMLSelectElement.prototype,d=Object.getOwnPropertyDescriptor(l,"value").set;if(c!==t&&d){const p=new Event("change",{bubbles:!0});d.call(s,t),s.dispatchEvent(p)}},[c,t]),x.jsx(M.select,{...n,style:{...ko,...n.style},ref:i,defaultValue:t})});ar.displayName=ua;function lr(e){return e===""||e===void 0}function ur(e){const t=xe(e),n=a.useRef(""),o=a.useRef(0),r=a.useCallback(c=>{const s=n.current+c;t(s),(function l(u){n.current=u,window.clearTimeout(o.current),u!==""&&(o.current=window.setTimeout(()=>l(""),1e3))})(s)},[t]),i=a.useCallback(()=>{n.current="",window.clearTimeout(o.current)},[]);return a.useEffect(()=>()=>window.clearTimeout(o.current),[]),[n,r,i]}function fr(e,t,n){const r=t.length>1&&Array.from(t).every(u=>u===t[0])?t[0]:t,i=n?e.indexOf(n):-1;let c=fa(e,Math.max(i,0));r.length===1&&(c=c.filter(u=>u!==n));const l=c.find(u=>u.textValue.toLowerCase().startsWith(r.toLowerCase()));return l!==n?l:void 0}function fa(e,t){return e.map((n,o)=>e[(t+o)%e.length])}var Ma=Fo,La=$o,ka=Vo,ja=Ho,Fa=Uo,Wa=zo,$a=Go,Ba=Qo,Va=er,Ha=tr,Ua=or,za=rr,Ka=ir,Ya=cr,wt="Checkbox",[da]=Ve(wt),[pa,rn]=da(wt);function ma(e){const{__scopeCheckbox:t,checked:n,children:o,defaultChecked:r,disabled:i,form:c,name:s,onCheckedChange:l,required:u,value:d="on",internal_do_not_use_render:p}=e,[h,m]=et({prop:n,defaultProp:r??!1,onChange:l,caller:wt}),[w,f]=a.useState(null),[g,y]=a.useState(null),v=a.useRef(!1),S=w?!!c||!!w.closest("form"):!0,b={checked:h,disabled:i,setChecked:m,control:w,setControl:f,name:s,form:c,value:d,hasConsumerStoppedPropagationRef:v,required:u,defaultChecked:fe(r)?!1:r,isFormControl:S,bubbleInput:g,setBubbleInput:y};return x.jsx(pa,{scope:t,...b,children:va(p)?p(b):o})}var dr="CheckboxTrigger",pr=a.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...o},r)=>{const{control:i,value:c,disabled:s,checked:l,required:u,setControl:d,setChecked:p,hasConsumerStoppedPropagationRef:h,isFormControl:m,bubbleInput:w}=rn(dr,e),f=H(r,d),g=a.useRef(l);return a.useEffect(()=>{const y=i?.form;if(y){const v=()=>p(g.current);return y.addEventListener("reset",v),()=>y.removeEventListener("reset",v)}},[i,p]),x.jsx(M.button,{type:"button",role:"checkbox","aria-checked":fe(l)?"mixed":l,"aria-required":u,"data-state":vr(l),"data-disabled":s?"":void 0,disabled:s,value:c,...o,ref:f,onKeyDown:k(t,y=>{y.key==="Enter"&&y.preventDefault()}),onClick:k(n,y=>{p(v=>fe(v)?!0:!v),w&&m&&(h.current=y.isPropagationStopped(),h.current||y.stopPropagation())})})});pr.displayName=dr;var ha=a.forwardRef((e,t)=>{const{__scopeCheckbox:n,name:o,checked:r,defaultChecked:i,required:c,disabled:s,value:l,onCheckedChange:u,form:d,...p}=e;return x.jsx(ma,{__scopeCheckbox:n,checked:r,defaultChecked:i,disabled:s,required:c,onCheckedChange:u,name:o,form:d,value:l,internal_do_not_use_render:({isFormControl:h})=>x.jsxs(x.Fragment,{children:[x.jsx(pr,{...p,ref:t,__scopeCheckbox:n}),h&&x.jsx(gr,{__scopeCheckbox:n})]})})});ha.displayName=wt;var mr="CheckboxIndicator",ga=a.forwardRef((e,t)=>{const{__scopeCheckbox:n,forceMount:o,...r}=e,i=rn(mr,n);return x.jsx(He,{present:o||fe(i.checked)||i.checked===!0,children:x.jsx(M.span,{"data-state":vr(i.checked),"data-disabled":i.disabled?"":void 0,...r,ref:t,style:{pointerEvents:"none",...e.style}})})});ga.displayName=mr;var hr="CheckboxBubbleInput",gr=a.forwardRef(({__scopeCheckbox:e,...t},n)=>{const{control:o,hasConsumerStoppedPropagationRef:r,checked:i,defaultChecked:c,required:s,disabled:l,name:u,value:d,form:p,bubbleInput:h,setBubbleInput:m}=rn(hr,e),w=H(n,m),f=Mn(i),g=Ln(o);a.useEffect(()=>{const v=h;if(!v)return;const S=window.HTMLInputElement.prototype,C=Object.getOwnPropertyDescriptor(S,"checked").set,R=!r.current;if(f!==i&&C){const E=new Event("click",{bubbles:R});v.indeterminate=fe(i),C.call(v,fe(i)?!1:i),v.dispatchEvent(E)}},[h,f,i,r]);const y=a.useRef(fe(i)?!1:i);return x.jsx(M.input,{type:"checkbox","aria-hidden":!0,defaultChecked:c??y.current,required:s,disabled:l,name:u,value:d,form:p,...t,tabIndex:-1,ref:w,style:{...t.style,...g,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});gr.displayName=hr;function va(e){return typeof e=="function"}function fe(e){return e==="indeterminate"}function vr(e){return fe(e)?"indeterminate":e?"checked":"unchecked"}export{ha as $,Ha as A,Ya as B,Ta as C,Ia as D,Ma as E,ka as F,_e as G,Ut as H,ja as I,Ao as J,qn as K,Ba as L,zt as M,Bn as N,Oa as O,M as P,Ht as Q,xa as R,wa as S,Na as T,lt as U,$a as V,Ea as W,kc as X,Mc as Y,Lc as Z,jc as _,Pr as a,ga as a0,kr as a1,_a as a2,ba as a3,jo as a4,Sa as a5,k as b,Ve as c,H as d,Br as e,et as f,xe as g,He as h,K as i,an as j,_n as k,Mn as l,Ln as m,Aa as n,Da as o,Ra as p,Pa as q,Ca as r,La as s,za as t,Te as u,Ka as v,Fa as w,Wa as x,Va as y,Ua as z}; diff --git a/webui/dist/index.html b/webui/dist/index.html index 24c2fbec..cbf594de 100644 --- a/webui/dist/index.html +++ b/webui/dist/index.html @@ -5,8 +5,13 @@ MaiBot Dashboard - - + + + + + + +